/* ===== FEATURES PAGE ===== */
.feat-hero{position:relative;padding:180px 24px 90px;text-align:center;}
.feat-hero .h1{max-width:1000px;margin:0 auto;}
.feat-nav{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:50px;}
.feat-nav a{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--mid);border:1px solid var(--edge2);padding:11px 18px;transition:.3s;cursor:none;}
.feat-nav a:hover{color:var(--chrome);border-color:var(--ice);background:rgba(143,212,232,.05);}

.feat-block{position:relative;padding:110px 0;}
.fb-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.feat-block.flip .fb-grid{direction:rtl;}
.feat-block.flip .fb-grid>*{direction:ltr;}
@media(max-width:860px){.fb-grid{grid-template-columns:1fr;gap:40px;}.feat-block.flip .fb-grid{direction:ltr;}}
.fb-num{font-family:var(--mono);font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ice);margin-bottom:20px;}
.fb-list{list-style:none;margin-top:28px;display:flex;flex-direction:column;gap:14px;}
.fb-list li{font-family:var(--body);font-size:14.5px;color:var(--silver);font-weight:300;display:flex;align-items:flex-start;gap:14px;line-height:1.5;}
.fb-list li::before{content:'';width:16px;height:1px;background:var(--ice);margin-top:11px;flex:0 0 auto;}
.fb-visual{position:relative;min-height:420px;border:1px solid var(--edge);overflow:hidden;
  background:
    linear-gradient(rgba(143,212,232,.03) 1px,transparent 1px) 0 0/100% 40px,
    linear-gradient(90deg,rgba(143,212,232,.03) 1px,transparent 1px) 0 0/40px 100%,
    radial-gradient(60% 60% at 50% 50%,rgba(143,212,232,.05),transparent 70%),
    linear-gradient(160deg,rgba(255,255,255,.02),transparent);}
.fb-visual::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 60px rgba(0,0,0,.5);}
.fb-visual .scene-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:1;}

/* secondary grid */
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:60px;}
@media(max-width:860px){.fgrid{grid-template-columns:1fr;}}
.fcard{padding:34px 28px;transition:transform .4s,border-color .4s;cursor:none;}
.fcard:hover{transform:translateY(-5px);}
.fc-ico{width:48px;height:48px;margin-bottom:20px;}
.fc-ico svg{width:100%;height:100%;overflow:visible;}
.fc-ico *{stroke:var(--silver);stroke-width:1.4;fill:none;transition:stroke .4s;}
.fcard:hover .fc-ico *{stroke:var(--ice);}
.fcard h4{font-family:var(--display);font-weight:500;font-size:20px;text-transform:uppercase;}
.fcard p{color:var(--mid);font-size:14px;margin-top:12px;line-height:1.6;font-weight:300;}

/* shared CTA (also in home.css but redefined for standalone) */
.cta-strip .cta-inner{padding:80px 48px;text-align:center;position:relative;overflow:hidden;}
.cta-inner .qwm2{position:absolute;right:-90px;bottom:-90px;width:340px;height:340px;opacity:.05;}
.cta-inner::after{content:'';position:absolute;left:50%;top:-40%;width:520px;height:520px;transform:translateX(-50%);background:radial-gradient(circle,var(--ice-dim),transparent 66%);opacity:.3;pointer-events:none;}

/* ===== SCROLL ANCHOR OFFSET (nav is fixed) ===== */
#coach,#nutrition,#future,#builder,#health,#identity{scroll-margin-top:90px;}

/* ===== MOBILE FIXES ===== */
@media(max-width:860px){
  .feat-block{padding:70px 0;}
  .fb-visual{min-height:300px;}
  .feat-hero{padding:140px 22px 60px;}
  .feat-nav{margin-top:34px;gap:8px;}
  .feat-nav a{padding:9px 13px;font-size:10px;}
}
@media(max-width:560px){
  .fb-visual{min-height:240px;}
  .fb-list li{font-size:13.5px;}
}

/* ===== INSTRUMENT PANELS (replace abstract canvases) ===== */
.panel{position:relative;width:100%;min-height:420px;border:1px solid var(--edge);overflow:hidden;padding:26px;
  background:
    linear-gradient(rgba(143,212,232,.025) 1px,transparent 1px) 0 0/100% 34px,
    linear-gradient(90deg,rgba(143,212,232,.025) 1px,transparent 1px) 0 0/34px 100%,
    radial-gradient(80% 60% at 50% 0,rgba(143,212,232,.06),transparent 70%),
    linear-gradient(160deg,#0c0e13,#08090c);}
.panel::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 70px rgba(0,0,0,.6);}
.tick{position:absolute;width:14px;height:14px;border-color:var(--ice-dim);z-index:2;}
.tick.tl{top:10px;left:10px;border-top:1px solid;border-left:1px solid;}
.tick.tr{top:10px;right:10px;border-top:1px solid;border-right:1px solid;}
.tick.bl{bottom:10px;left:10px;border-bottom:1px solid;border-left:1px solid;}
.tick.br{bottom:10px;right:10px;border-bottom:1px solid;border-right:1px solid;}
.p-head{display:flex;justify-content:space-between;align-items:center;position:relative;margin-bottom:22px;}
.p-title{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--ice);}
.p-live{font-family:var(--mono);font-size:9px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);display:flex;align-items:center;gap:6px;}
.p-live .dot{width:5px;height:5px;border-radius:50%;background:var(--ice);box-shadow:0 0 8px var(--ice);animation:blink 1.6s infinite;}
@keyframes blink{50%{opacity:.3;}}

/* readiness ring + signals */
.readout{display:flex;gap:24px;align-items:center;position:relative;margin-bottom:22px;}
@media(max-width:520px){.readout{flex-direction:column;gap:18px;}}
.ring{position:relative;width:120px;height:120px;flex:0 0 auto;}
.ring svg{transform:rotate(-90deg);}
.ring .rv{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ring .rv .n{font-family:var(--display);font-weight:300;font-size:38px;line-height:1;color:var(--chrome);}
.ring .rv .l{font-family:var(--mono);font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--dim);margin-top:2px;}
.signals{flex:1;display:flex;flex-direction:column;gap:11px;width:100%;}
.sig .sl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.05em;color:var(--mid);margin-bottom:5px;}
.sig .sl b{color:var(--silver);font-weight:400;}
.sig .bar{height:4px;background:rgba(255,255,255,.06);position:relative;overflow:hidden;}
.sig .bar span{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,var(--ice),var(--ice-bright));box-shadow:0 0 8px var(--ice-dim);width:0;transition:width 1.4s cubic-bezier(.2,.7,.2,1);}
.panel.in .sig .bar span{width:var(--w);}
.verdict{position:relative;border-top:1px solid var(--edge);padding-top:18px;}
.verdict .vt{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim);margin-bottom:8px;}
.verdict .vmain{font-family:var(--display);font-weight:300;font-size:20px;text-transform:uppercase;color:var(--chrome);line-height:1.15;}
.verdict .vmain b{color:var(--ice);font-weight:500;}
.verdict .vsub{font-size:12px;color:var(--mid);margin-top:6px;font-weight:300;line-height:1.5;}

/* nutrition panel */
.macro-row{display:flex;gap:14px;margin-bottom:20px;position:relative;}
.macro{flex:1;border:1px solid var(--edge);padding:14px;text-align:center;background:rgba(255,255,255,.015);}
.macro .mv{font-family:var(--display);font-weight:300;font-size:26px;color:var(--chrome);}
.macro .ml{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:4px;}
.macro .mbar{height:3px;background:rgba(255,255,255,.06);margin-top:10px;position:relative;overflow:hidden;}
.macro .mbar span{position:absolute;left:0;top:0;height:100%;background:var(--ice);width:0;transition:width 1.4s ease;}
.panel.in .macro .mbar span{width:var(--w);}
.meal-list{position:relative;display:flex;flex-direction:column;gap:10px;}
.meal{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--edge);padding:12px 14px;background:rgba(255,255,255,.01);}
.meal .mn{font-size:13px;color:var(--silver);font-weight:300;}
.meal .ms{font-family:var(--mono);font-size:10px;color:var(--ice);letter-spacing:.05em;}
.meal .score{font-family:var(--mono);font-size:9px;color:var(--dim);}

/* future panel */
.proj-head{display:flex;justify-content:space-between;align-items:baseline;position:relative;margin-bottom:20px;}
.proj-head .ph-day{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--mid);}
.proj-graph{position:relative;height:130px;border-bottom:1px solid var(--edge);border-left:1px solid var(--edge);margin-bottom:20px;}
.proj-graph svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;}
.proj-graph .gl{stroke:var(--ice);stroke-width:1.5;fill:none;stroke-dasharray:400;stroke-dashoffset:400;}
.panel.in .proj-graph .gl{animation:draw 2s ease forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.proj-graph .gfill{fill:url(#gf);opacity:0;transition:opacity 1s .8s;}
.panel.in .proj-graph .gfill{opacity:.5;}
.proj-stats{display:flex;gap:20px;position:relative;}
.pstat{flex:1;}
.pstat .pv{font-family:var(--display);font-weight:300;font-size:28px;color:var(--chrome);}
.pstat .pv .ice-text{font-weight:500;}
.pstat .pl{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-top:4px;}
