/* ============ TRIAD TRANSITION ============ */
.triad{padding:64px 0; text-align:center; background:linear-gradient(180deg, var(--fit-bg), #100f0c 60%, var(--lib-bg)); color:var(--fit-ink);}
.triad-row{display:flex; justify-content:center; gap:0; flex-wrap:wrap;}
.triad-row span{font-family:"Anton",sans-serif; font-size:clamp(1.6rem,4vw,2.6rem); padding:0 28px; letter-spacing:0.02em;}
.triad-row span:not(:last-child){border-right:1px solid var(--fit-line);}
.triad-row .t2{color:var(--fit-accent);}
.triad-row .t3{color:var(--lib-accent);}

/* ============ FITNESS CARDS ============ */
.gym-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--fit-line); border:1px solid var(--fit-line);}
.gym-card{background:var(--fit-card); padding:30px 26px; min-height:220px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden;}
.gym-card::before{content:""; position:absolute; inset:0; opacity:0; background:radial-gradient(120% 100% at 15% 100%, rgba(200,242,74,0.16), transparent 60%); transition:opacity .4s;}
.gym-card:hover::before, .gym-card:focus-within::before{opacity:1;}
.gym-card .idx{font-family:"Space Mono",monospace; font-size:0.7rem; color:var(--fit-faint); position:relative;}
.gym-card h3{font-family:"Anton",sans-serif; font-size:1.5rem; margin-top:auto; position:relative;}
.gym-card p{color:var(--fit-dim); font-size:0.86rem; margin:10px 0 0; position:relative; max-height:0; opacity:0; overflow:hidden; transition:max-height .4s var(--ease), opacity .3s;}
.gym-card:hover p, .gym-card:focus-within p{max-height:100px; opacity:1;}
@media(max-width:900px){ .gym-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .gym-grid{grid-template-columns:1fr;} }

.bridge-link{
  margin-top:36px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
  padding:22px 28px; border:1px solid var(--fit-line-strong); border-radius:100px;
}
.bridge-link p{margin:0; font-size:0.95rem;}
.bridge-link a{font-family:"Space Mono",monospace; font-size:0.74rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--fit-accent); white-space:nowrap;}
.bridge-link.paper{border-color:var(--lib-line-strong);}
.bridge-link.paper a{color:var(--lib-accent);}

.nutri-strip{
  margin-top:0; padding:40px 0; text-align:center;
}
.nutri-strip p.serif{font-size:1.5rem; max-width:24ch; margin:0 auto;}
.nutri-strip a{display:inline-flex; margin-top:16px; font-family:"Space Mono",monospace; font-size:0.76rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--fit-accent); gap:8px;}

/* ============ LIBRARY INTRO ============ */
.lib-word{font-family:"Anton",sans-serif; font-size:clamp(2.8rem,7vw,5.2rem); letter-spacing:0.01em;}
.lib-sub{font-family:"Fraunces",serif; font-style:italic; font-size:clamp(1.2rem,2.4vw,1.7rem); color:var(--lib-dim); margin-top:14px; max-width:44ch;}
.lib-desc{margin-top:22px; max-width:56ch; color:var(--lib-dim); font-size:1.02rem;}

.cat-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--lib-line); border:1px solid var(--lib-line); margin-top:56px;}
.cat-card{background:var(--lib-card); padding:34px 30px; cursor:pointer; transition:background .3s;}
.cat-card:hover{background:var(--lib-raised);}
.cat-card .cn{font-family:"Space Mono",monospace; font-size:0.68rem; color:var(--lib-faint);}
.cat-card h3{font-family:"Fraunces",serif; font-weight:600; font-size:1.5rem; margin-top:10px;}
.cat-card p{color:var(--lib-dim); font-size:0.88rem; margin-top:8px;}
@media(max-width:820px){ .cat-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .cat-grid{grid-template-columns:1fr;} }

/* ============ FEATURED ARTICLE ============ */
.feature-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}
.feature-visual{aspect-ratio:4/5; border-radius:var(--radius); border:1px solid var(--lib-line); background:linear-gradient(155deg, #ece3d1, #f9f5eb 55%, #e3d7bd); position:relative; overflow:hidden;}
.feature-visual svg{position:absolute; inset:0; width:100%; height:100%;}
.feature-text .kicker{font-family:"Space Mono",monospace; font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--lib-accent);}
.feature-text h3{font-family:"Fraunces",serif; font-weight:600; font-size:clamp(2rem,4.2vw,3.2rem); margin-top:16px; line-height:1.04;}
.feature-text p.quote{font-family:"Fraunces",serif; font-style:italic; font-size:1.2rem; color:var(--lib-dim); margin-top:20px; max-width:42ch;}
.feature-meta{display:flex; align-items:center; gap:16px; margin-top:24px; font-family:"Space Mono",monospace; font-size:0.74rem; color:var(--lib-faint); text-transform:uppercase;}
.feature-text .read{margin-top:30px; display:inline-flex; gap:8px; font-family:"Space Mono",monospace; font-weight:700; font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--lib-ink); border-bottom:1px solid var(--lib-ink); padding-bottom:3px;}
@media(max-width:840px){ .feature-grid{grid-template-columns:1fr;} }

/* ============ SEARCH / ARTICLES ============ */
.search-box{position:relative; margin-bottom:28px;}
.search-box input{
  width:100%; background:var(--lib-card); border:1px solid var(--lib-line-strong); border-radius:100px;
  padding:18px 26px; font-family:"Space Grotesk",sans-serif; font-size:1rem; color:var(--lib-ink);
}
.search-box input::placeholder{color:var(--lib-faint);}
.search-box input:focus{outline:none; border-color:var(--lib-accent);}
.filter-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:44px;}
.filter-btn{padding:10px 18px; border-radius:100px; border:1px solid var(--lib-line-strong); background:none; color:var(--lib-dim); font-family:"Space Mono",monospace; font-size:0.7rem; letter-spacing:0.06em; text-transform:uppercase; transition:background .3s,color .3s,border-color .3s;}
.filter-btn.active,.filter-btn:hover{background:var(--lib-ink); color:var(--lib-card); border-color:var(--lib-ink);}

.article-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:26px;}
.article-card{border:1px solid var(--lib-line); border-radius:var(--radius); overflow:hidden; background:var(--lib-card); display:flex; flex-direction:column; transition:opacity .3s, transform .3s;}
.article-card.hide{display:none;}
.article-visual{aspect-ratio:16/10; background:var(--avgrad); position:relative;}
.article-body{padding:24px; display:flex; flex-direction:column; gap:10px; flex:1;}
.article-meta{font-family:"Space Mono",monospace; font-size:0.68rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--lib-accent);}
.article-body h4{font-family:"Fraunces",serif; font-weight:600; font-size:1.22rem; line-height:1.15;}
.article-body p{color:var(--lib-dim); font-size:0.88rem; margin:0;}
.article-foot{display:flex; justify-content:space-between; align-items:center; margin-top:auto; padding-top:8px; font-family:"Space Mono",monospace; font-size:0.72rem; color:var(--lib-faint);}
.article-foot .read{color:var(--lib-ink); font-weight:700;}
.no-results{padding:60px 0; text-align:center; color:var(--lib-dim); display:none;}
.no-results.show{display:block;}
@media(max-width:900px){ .article-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .article-grid{grid-template-columns:1fr;} }

/* ============ PHYSICAL LIBRARY ============ */
.two-rooms{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--fit-line);}
.room-panel{padding:60px 44px; min-height:360px; display:flex; flex-direction:column; justify-content:flex-end;}
.room-panel.dark{background:linear-gradient(155deg, #17181a, #0a0b0c); color:var(--fit-ink); border-right:1px solid var(--fit-line);}
.room-panel.paper{background:linear-gradient(155deg, #f9f5eb, #ece3d1); color:var(--lib-ink);}
.room-panel .rk{font-family:"Space Mono",monospace; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase;}
.room-panel.dark .rk{color:var(--fit-accent);}
.room-panel.paper .rk{color:var(--lib-accent);}
.room-panel h4{font-family:"Anton",sans-serif; font-size:2rem; margin-top:12px;}
.room-panel.paper h4{font-family:"Fraunces",serif; font-weight:600; text-transform:none; font-size:2.1rem;}
.room-panel p{margin-top:12px; max-width:34ch; font-size:0.92rem;}
.room-panel.dark p{color:var(--fit-dim);}
.room-panel.paper p{color:var(--lib-dim);}
@media(max-width:800px){ .two-rooms{grid-template-columns:1fr;} .room-panel.dark{border-right:none; border-bottom:1px solid var(--fit-line);} }

/* ============ FINAL CTA ============ */
.final-cta{text-align:center; padding:150px 0; background:radial-gradient(ellipse 70% 70% at 50% 30%, rgba(200,242,74,0.08), transparent 65%), var(--fit-bg); border-top:1px solid var(--fit-line);}
.final-cta h2{font-size:clamp(2.6rem,6.4vw,5rem);}
.final-cta h2 .a1{color:var(--fit-accent);}
.final-cta h2 .a2{color:var(--lib-accent);}
.final-cta .cta-row{display:flex; gap:16px; justify-content:center; margin-top:40px; flex-wrap:wrap;}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--fit-line); padding:70px 0 34px; background:var(--fit-bg);}
.foot-grid{display:grid; grid-template-columns:1.4fr repeat(4,1fr); gap:32px;}
.foot-brand .word{font-family:"Anton",sans-serif; font-size:1.15rem; text-transform:uppercase;}
.foot-brand .word .a1{color:var(--fit-accent);} .foot-brand .word .a2{color:var(--lib-accent);}
.foot-brand p{color:var(--fit-dim); margin-top:14px; max-width:32ch; font-size:0.9rem;}
.foot-col h5{font-family:"Space Mono",monospace; font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--fit-faint); margin-bottom:16px;}
.foot-col ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px; font-size:0.9rem; color:var(--fit-dim);}
.foot-col ul a:hover{color:var(--fit-accent);}
.foot-bottom{margin-top:60px; padding-top:24px; border-top:1px solid var(--fit-line); display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-family:"Space Mono",monospace; font-size:0.72rem; color:var(--fit-faint);}
@media(max-width:900px){ .foot-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:560px){ .foot-grid{grid-template-columns:1fr;} }
