.screen-pad{width:min(1260px,100%);margin:0 auto}.narrow{width:min(740px,100%);margin:0 auto}.centered{min-height:calc(100dvh - 150px);display:grid;place-items:center}.section-title{margin:0;font-family:var(--serif);font-size:var(--type-h2);font-weight:400;line-height:1.02;letter-spacing:-.025em}.lead{color:var(--muted);font-size:17px;line-height:1.65}.action-row{display:flex;gap:10px;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px}.field label,.safety-screening legend{font-size:var(--label-fs);text-transform:uppercase;letter-spacing:var(--label-ls);color:var(--muted);font-weight:var(--label-fw)}.safety-screening{border:0;min-width:0;margin:0;padding:0;gap:9px}.safety-screening legend{padding:0;margin-bottom:2px}.safety-screening label{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-size:12px;line-height:1.45;text-transform:none;letter-spacing:0;font-weight:500;color:var(--text)}.safety-screening input{margin-top:3px;accent-color:var(--accent);flex:0 0 auto}.input,.select{height:var(--input-h)}.input,.textarea,.select{width:100%;min-height:var(--input-h);border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:var(--radius-inner);padding:12px var(--input-pad);outline:0}.textarea{min-height:108px;resize:vertical}.input:focus,.textarea:focus,.select:focus{border-color:var(--accent-strong);box-shadow:0 0 0 3px var(--accent-soft)}
/* landing */.landing{min-height:calc(100dvh - 126px);display:grid;grid-template-columns:minmax(0,.9fr) minmax(430px,1.1fr);align-items:center;gap:clamp(34px,6vw,92px)}.landing-copy h1{margin:15px 0 20px;font-family:var(--serif);font-size:clamp(61px,6.8vw,112px);font-weight:400;line-height:.83;letter-spacing:-.057em}.landing-copy h1 em{font-style:normal;color:var(--accent)}.landing-copy>p{max-width:650px;margin:0;color:var(--muted);font-size:clamp(16px,1.3vw,21px);line-height:1.65}.landing-actions{margin-top:30px;display:flex;gap:10px;flex-wrap:wrap}.trust-row{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:var(--muted);font-size:11px}.trust-row span{display:flex;align-items:center;gap:7px}.trust-row .icon{width:15px;color:var(--accent)}.landing-visual{min-height:620px;position:relative;display:grid;place-items:center}.ambient-ring{position:absolute;width:86%;aspect-ratio:1;border-radius:50%;border:1px solid var(--accent-strong);box-shadow:inset 0 0 110px var(--accent-soft),0 0 80px rgba(0,0,0,.5);opacity:.42}.future-stage{position:relative;width:min(620px,100%);height:min(74dvh,720px);border:1px solid var(--line-strong);border-radius:var(--radius-card);background:linear-gradient(170deg,rgba(255,255,255,.055),rgba(0,0,0,.16)),radial-gradient(circle at 50% 32%,var(--accent-soft),transparent 39%),#0d0a09;overflow:hidden;box-shadow:0 35px 110px rgba(0,0,0,.5)}html[data-presentation="masculine"] .future-stage{background:linear-gradient(160deg,rgba(255,255,255,.035),rgba(0,0,0,.3)),radial-gradient(circle at 50% 30%,var(--accent-soft),transparent 36%),#0a0707}.stage-divider{position:absolute;top:7%;bottom:7%;left:50%;width:2px;background:linear-gradient(transparent,var(--accent),var(--accent),transparent);box-shadow:0 0 22px var(--accent)}.stage-label{position:absolute;bottom:22px;text-transform:uppercase;letter-spacing:.16em;border:1px solid var(--line);background:rgba(8,7,6,.68);border-radius:999px;padding:8px 11px}.stage-label.left{left:22px}.stage-label.right{right:22px}.stage-callout{position:absolute;right:-10px;bottom:11%;padding:14px 16px;border:1px solid var(--line);background:rgba(11,8,7,.74);backdrop-filter:blur(20px);border-radius:var(--radius-inner);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:3px}.stage-callout span{letter-spacing:.18em;color:var(--accent)}.stage-callout b{font-size:12px}
/* mode */.mode-gate{height:100dvh;display:grid;place-items:center;background:radial-gradient(circle at 50% 20%,rgba(190,75,75,.15),transparent 35%),#080606;padding:28px}.mode-gate-inner{width:min(920px,100%);text-align:center}.mode-gate h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,6vw,76px);line-height:.95;letter-spacing:-.045em;margin:18px 0 30px}.mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.mode-card{position:relative;min-height:270px;border:1px solid var(--line);border-radius:var(--radius-card);background:rgba(255,255,255,.035);padding:var(--card-pad);text-align:left;cursor:pointer;overflow:hidden;color:var(--text)}.mode-card:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 25%,var(--modeGlow),transparent 40%);pointer-events:none}.mode-card>*{position:relative;z-index:1}.mode-card span{font-size:var(--label-fs);font-weight:var(--label-fw);text-transform:uppercase;letter-spacing:var(--label-ls);color:var(--muted)}.mode-card b{display:block;margin-top:58px;font-family:var(--serif);font-weight:400;font-size:44px}.mode-card small{display:block;margin-top:8px;color:var(--muted)}.mode-card .icon{position:absolute;right:28px;bottom:28px}.mode-card.fem{--modeGlow:rgba(239,120,134,.26)}.mode-card.masc{--modeGlow:rgba(215,45,45,.24)}
/* capture */.flow-screen{min-height:calc(100dvh - 142px);display:flex;flex-direction:column;justify-content:center;gap:18px}.flow-screen h1{margin:6px 0 0;font-family:var(--serif);font-size:clamp(46px,5.3vw,78px);font-weight:400;line-height:.92;letter-spacing:-.05em}.capture-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}.capture-well{min-height:490px;border:1px solid var(--line-strong);border-radius:var(--r3);background:radial-gradient(circle at 50% 35%,var(--accent-soft),transparent 36%),rgba(255,255,255,.025);display:grid;place-items:center;overflow:hidden;position:relative}.capture-well img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.capture-guide{width:48%;height:76%;border:1px dashed var(--accent-strong);border-radius:48% 48% 18% 18%/20% 20% 10% 10%;display:grid;place-items:center;color:var(--muted);font-size:12px}.capture-side{display:flex;flex-direction:column;gap:12px}.capture-tip{padding:var(--card-pad)}.capture-tip b{display:block;margin-bottom:5px}.capture-tip p{margin:0;color:var(--muted);line-height:1.5;font-size:13px}.privacy-line{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:11px;line-height:1.5}.privacy-line .icon{width:16px;color:var(--accent)}
/* generation / comparison */.generation-stage{min-height:calc(100dvh - 160px);display:grid;place-items:center;text-align:center}.generation-copy{max-width:560px}.generation-copy h1{font-family:var(--serif);font-weight:400;font-size:55px;margin:18px 0 12px}.generation-copy p{color:var(--muted);line-height:1.6}.generation-track{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.generation-track span{padding:11px 8px;border:1px solid var(--line);border-radius:999px;color:var(--muted)}.generation-track .done{border-color:var(--accent-strong);color:var(--text);background:var(--accent-soft)}.future-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;min-height:calc(100dvh - 164px)}.compare-card{position:relative;min-height:620px;border-radius:var(--r3);overflow:hidden;border:1px solid var(--line-strong);background:#0a0808}.compare-layer{position:absolute;inset:0}.compare-layer img{width:100%;height:100%;object-fit:cover}.compare-layer.current{clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.compare-layer.future{clip-path:inset(0 0 0 var(--split,50%))}.compare-divider{position:absolute;z-index:5;top:0;bottom:0;left:var(--split,50%);width:2px;background:linear-gradient(transparent,var(--accent) 10%,var(--accent) 90%,transparent);box-shadow:0 0 20px var(--accent)}.compare-range{position:absolute;z-index:6;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare-label{position:absolute;z-index:7;bottom:18px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(8,7,6,.72);text-transform:uppercase;letter-spacing:.12em}.compare-label.a{left:18px}.compare-label.b{right:18px}.empty-image{width:100%;height:100%;display:grid;place-items:center;background:radial-gradient(circle,var(--accent-soft),transparent 42%);color:var(--muted);font-size:12px}.future-panel{display:flex;flex-direction:column;gap:12px}.future-panel h1{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4vw,65px);line-height:.93;margin:7px 0 4px}.variant-list{display:flex;flex-direction:column;gap:9px}.variant{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;width:100%;padding:10px;border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(255,255,255,.035);cursor:pointer;text-align:left}.variant.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent-strong)}.variant-thumb{width:56px;height:67px;border-radius:11px;overflow:hidden;background:rgba(255,255,255,.06)}.variant-thumb img{width:100%;height:100%;object-fit:cover}.variant b{display:block}.variant small{color:var(--muted)}.variant .icon{color:var(--accent)}
/* refine / checkout / lock */.refine-layout,.unlock-layout,.lock-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:24px;align-items:stretch}.preview-tile{min-height:570px;border-radius:var(--r3);overflow:hidden;border:1px solid var(--line-strong);background:radial-gradient(circle at 50% 35%,var(--accent-soft),transparent 42%),#0d0a09;position:relative}.preview-tile img{width:100%;height:100%;object-fit:cover}.preview-overlay{position:absolute;left:18px;right:18px;bottom:18px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(8,7,6,.72);backdrop-filter:blur(18px)}.control-stack{display:flex;flex-direction:column;gap:var(--gap-cards)}.control-card{padding:var(--card-pad)}.control-card h2{font-family:var(--serif);font-weight:400;margin:3px 0 12px;font-size:var(--type-h2);line-height:1.02}.control-card fieldset{min-width:0;margin:0;border:0}.control-card legend{width:100%;padding:0}.control-heading{display:block;margin:3px 0 12px;font-family:var(--serif);font-size:var(--type-h2);font-weight:400;line-height:1.02}.control-card .range-row>label,.control-card>label{display:block;margin:0 0 7px;font-size:var(--label-fs);text-transform:uppercase;letter-spacing:var(--label-ls);color:var(--muted);font-weight:var(--label-fw)}.pill-row{display:flex;flex-wrap:wrap;gap:8px}.choice-pill{border:1px solid var(--x-hair-strong);background:rgba(255,236,226,.05);border-radius:var(--radius-pill);padding:0 var(--chip-pad);min-height:var(--chip-h);min-width:44px;cursor:pointer;color:var(--x-ink-2);font-size:var(--chip-fs);font-weight:var(--chip-fw);line-height:1.2}.choice-pill.active{border-color:var(--accent);color:white;background:var(--accent-soft)}.range-row{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:10px;align-items:center}.range-row input{accent-color:var(--accent)}.range-row output{font-variant-numeric:tabular-nums;text-align:right;color:var(--text);font-weight:750}.checkout-card,.lock-card{padding:var(--card-pad);display:flex;flex-direction:column;gap:var(--space-4)}.checkout-card h1,.lock-card h1{font-family:var(--serif);font-weight:400;font-size:52px;line-height:.93;margin:4px 0}.feature-list{display:grid;gap:8px}.feature-list span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:13px}.feature-list .icon{width:16px;color:var(--accent)}.price-block{display:flex;align-items:flex-end;gap:8px;padding:20px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.price-block strong{font-size:42px;letter-spacing:-.04em}.price-block span{color:var(--muted);margin-bottom:7px}.lock-seal{width:96px;height:96px;border-radius:50%;display:grid;place-items:center;margin:0 auto;background:radial-gradient(circle,var(--accent-soft),transparent 70%);border:1px solid var(--accent-strong);box-shadow:0 0 70px var(--accent-soft)}.lock-seal .icon{width:36px;height:36px;color:var(--accent)}
/* member home */.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(310px,.8fr);gap:var(--gap-cards)}.mission-card{padding:var(--card-pad);min-height:350px;display:flex;flex-direction:column}.mission-card h2{font-family:var(--serif);font-weight:400;font-size:43px;margin:10px 0 6px;line-height:.96}.mission-card>p{color:var(--muted);line-height:1.55;max-width:620px}.mission-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:auto}.meta-pill{display:inline-flex;align-items:center;min-height:var(--tag-h);border:1px solid var(--x-hair-strong);border-radius:var(--radius-pill);padding:0 var(--tag-pad);font-size:var(--tag-fs);font-weight:var(--tag-fw);line-height:1.1;color:var(--x-ink-2)}.future-mini{min-height:350px;position:relative;overflow:hidden}.future-mini img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.future-placeholder{position:absolute;inset:0;overflow:hidden;background:radial-gradient(circle at 50% 30%,var(--accent-soft),transparent 35%),linear-gradient(155deg,#211617,#090706)}.future-placeholder i{position:absolute}.future-placeholder i:before{content:"";position:absolute;box-shadow:0 0 52px var(--accent-soft)}.future-mini-overlay{position:absolute;left:16px;right:16px;bottom:16px;padding:14px;border-radius:var(--radius-inner);background:rgba(8,7,6,.76);border:1px solid var(--line);backdrop-filter:blur(18px)}.future-mini-overlay span{text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.future-mini-overlay b,.future-mini-overlay a{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;font-weight:800}.future-mini-overlay a .icon{width:17px;color:var(--accent)}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-tiles)}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-cards)}.quick-card{padding:var(--card-pad);min-height:170px;display:flex;flex-direction:column;justify-content:space-between}.quick-card .icon{color:var(--accent);width:24px;height:24px}.quick-card h3{margin:15px 0 4px;font-size:18px}.quick-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
/* workout */.workout-layout{display:grid;gap:var(--gap-cards)}.exercise-list{display:flex;flex-direction:column;gap:9px}.exercise-row{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:13px;border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(255,255,255,.028);cursor:pointer}.exercise-row.active{border-color:var(--accent-strong);background:var(--accent-soft)}.exercise-index{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.06);font-weight:800}.exercise-row small{display:block;color:var(--muted);margin-top:4px}.exercise-state{color:var(--muted);text-transform:uppercase;letter-spacing:.12em}.exercise-panel{padding:var(--card-pad);display:flex;flex-direction:column;gap:var(--space-4)}.exercise-panel h2{font-family:var(--serif);font-size:38px;font-weight:400;margin:0}.set-grid{display:grid;gap:8px}.set-row{display:grid;grid-template-columns:48px 1fr 1fr auto;gap:8px;align-items:center}.set-row input{width:100%;height:var(--input-h);border:1px solid var(--line);background:rgba(255,255,255,.04);border-radius:var(--radius-inner);padding:0 var(--input-pad)}.set-check{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:50%;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer}
/* nutrition */.nutrition-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-tiles)}.meal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-cards)}.meal-card{padding:var(--card-pad)}.meal-card-header{display:flex;justify-content:space-between;gap:12px}.meal-card h3{margin:4px 0;font-size:var(--type-list);font-weight:700;line-height:1.25}.meal-card p{margin:0;color:var(--muted);font-size:12px}.meal-actions{display:flex;gap:7px;margin-top:15px}
/* check-in / progress */.checkin-layout{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);gap:var(--gap-cards)}.checkin-photo{min-height:520px;border:1px solid var(--line);border-radius:var(--r3);display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,var(--accent-soft),transparent 45%)}.checkin-photo img{width:100%;height:100%;object-fit:cover}.checkin-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);padding:var(--card-pad)}.checkin-fields .full{grid-column:1/-1}.twin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-cards)}.twin-card{min-height:410px;position:relative;overflow:hidden}.twin-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.twin-card .empty-image{position:absolute;inset:0}.twin-caption{position:absolute;left:14px;right:14px;bottom:14px;padding:12px;background:rgba(8,7,6,.78);border:1px solid var(--line);border-radius:var(--radius-inner)}.twin-caption span{text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.twin-caption b{display:block;margin-top:3px}.progress-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap-tiles)}.history-strip{display:flex;gap:8px;overflow:auto;padding-bottom:7px}.history-thumb{flex:0 0 112px;height:148px;border-radius:var(--radius-inner);border:1px solid var(--line);overflow:hidden;position:relative;background:rgba(255,255,255,.04)}.history-thumb img{width:100%;height:100%;object-fit:cover}.history-thumb span{position:absolute;left:7px;bottom:7px;background:rgba(8,7,6,.8);border-radius:999px;padding:5px 7px}
/* coach */.coach-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:var(--gap-cards);min-height:calc(100dvh - 170px)}.chat-card{display:grid;grid-template-rows:auto 1fr auto auto;min-height:620px}.chat-header{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.coach-avatar{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,var(--accent-soft),transparent 70%);border:1px solid var(--accent-strong);font-family:var(--serif);font-size:22px}.chat-feed{padding:18px;overflow:auto;display:flex;flex-direction:column;gap:11px}.bubble{max-width:82%;padding:12px 14px;border-radius:17px;line-height:1.5;font-size:13px}.bubble.user{align-self:flex-end;background:var(--accent);border-bottom-right-radius:5px}.bubble.coach{align-self:flex-start;background:rgba(255,255,255,.055);border:1px solid var(--line);border-bottom-left-radius:5px}.coach-audio-state{display:flex;align-items:center;gap:10px;padding:10px 13px;border-top:1px solid var(--line);background:rgba(255,255,255,.025)}.coach-audio-state[hidden]{display:none}.coach-audio-state .button{min-height:var(--control-h-sm);padding-inline:var(--control-pad-sm);font-size:var(--control-fs-sm)}.coach-audio-error{color:#ffd2d2;font-size:12px;line-height:1.4}.chat-compose{padding:13px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:8px}.chat-compose textarea{min-height:48px;max-height:120px;resize:none}.round-button{width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.05);display:grid;place-items:center;cursor:pointer}.round-button.recording{background:var(--accent);box-shadow:0 0 30px var(--accent-soft)}.coach-context{padding:var(--card-pad);align-self:start}.coach-context h2{font-family:var(--serif);font-weight:400;font-size:var(--type-h2);line-height:1.02;margin:6px 0 15px}.context-list{display:grid;gap:8px}.context-list div{padding:11px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;font-size:12px}.context-list span{color:var(--muted)}
/* extended */.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:grid;grid-template-columns:58px 1fr;gap:14px;position:relative}.timeline-item:before{content:"";position:absolute;left:28px;top:44px;bottom:-12px;width:1px;background:var(--line)}.timeline-item:last-child:before{display:none}.timeline-dot{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line);background:rgba(255,255,255,.04);font-size:11px;font-weight:800}.timeline-item.current .timeline-dot{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 28px var(--accent-soft)}.timeline-body{padding:var(--card-pad);margin-bottom:var(--gap-cards)}.timeline-body h3{margin:2px 0 6px;font-size:18px}.timeline-body p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.review-grid,.membership-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap-cards)}.review-card,.membership-card,.settings-card{padding:var(--card-pad)}.review-card h2,.membership-card h2,.settings-card h2{font-family:var(--serif);font-weight:400;font-size:var(--type-h2);line-height:1.02;margin:5px 0 12px}.film-player{aspect-ratio:16/9;border-radius:var(--r3);overflow:hidden;border:1px solid var(--line);background:#050505;display:grid;place-items:center}.film-player video{width:100%;height:100%;object-fit:cover}.film-placeholder{text-align:center;color:var(--muted)}.film-placeholder .icon{width:54px;height:54px;color:var(--accent);margin-bottom:12px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-cards)}.product-card{padding:var(--card-pad)}.product-art{height:150px;border-radius:var(--radius-inner);background:radial-gradient(circle,var(--accent-soft),transparent 60%),rgba(255,255,255,.035);display:grid;place-items:center}.product-art .icon{width:38px;height:38px;color:var(--accent)}.product-card h3{margin:15px 0 5px}.product-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.5}.profile-row{display:grid;grid-template-columns:160px 1fr;gap:18px;align-items:start}.profile-avatar{width:160px;border-radius:50%;border:1px solid var(--accent-strong);background:radial-gradient(circle,var(--accent-soft),transparent 70%);display:grid;place-items:center;font-family:var(--serif);font-size:48px}.settings-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.settings-fields .full{grid-column:1/-1}.presentation-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.presentation-choice{border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(255,255,255,.035);padding:var(--space-3) var(--space-4);text-align:left;cursor:pointer}.presentation-choice.active{border-color:var(--accent);background:var(--accent-soft)}

/* mirror */.mirror-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);gap:var(--gap-cards)}.camera-stage{min-height:650px;position:relative;border:1px solid var(--line-strong);border-radius:var(--r3);overflow:hidden;background:#060606}.camera-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.mirror-output{z-index:2;opacity:0;transition:opacity .4s}.mirror-output.active{opacity:1}.camera-gridlines{position:absolute;z-index:4;inset:0;background:linear-gradient(to right,transparent 33%,rgba(255,255,255,.08) 33%,rgba(255,255,255,.08) 33.2%,transparent 33.2%,transparent 66%,rgba(255,255,255,.08) 66%,rgba(255,255,255,.08) 66.2%,transparent 66.2%),linear-gradient(to bottom,transparent 33%,rgba(255,255,255,.08) 33%,rgba(255,255,255,.08) 33.2%,transparent 33.2%,transparent 66%,rgba(255,255,255,.08) 66%,rgba(255,255,255,.08) 66.2%,transparent 66.2%);pointer-events:none}.camera-status{position:absolute;z-index:5;left:15px;top:15px;padding:8px 10px;border-radius:999px;background:rgba(6,6,6,.7);border:1px solid var(--line);display:flex;align-items:center;gap:7px}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--faint)}.live-dot.active{background:var(--good);box-shadow:0 0 12px var(--good)}.camera-empty{position:absolute;z-index:6;inset:0;display:grid;place-items:center;align-content:center;text-align:center;padding:30px;background:radial-gradient(circle at 50% 45%,var(--accent-soft),transparent 42%)}.camera-empty .icon{width:54px;height:54px;color:var(--accent)}.camera-empty h2{font-family:var(--serif);font-weight:400;font-size:38px;margin:14px 0 6px}.camera-empty p{color:var(--muted);max-width:480px;line-height:1.55}.mirror-controls{padding:var(--card-pad);align-self:start}.mirror-controls h2{font-family:var(--serif);font-size:var(--type-h2);line-height:1.02;font-weight:400;margin:6px 0 14px}.usage-meter{margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.usage-line{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.usage-bar{height:6px;border-radius:999px;background:rgba(255,255,255,.08);margin-top:8px;overflow:hidden}.usage-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--warm));width:0}
html[data-presentation="masculine"] .landing{grid-template-columns:minmax(430px,1.06fr) minmax(0,.94fr)}
html[data-presentation="masculine"] .landing-copy h1{font-size:clamp(58px,6.25vw,104px);line-height:.87}

html[data-presentation="masculine"] .hero-grid>.glass-card:first-child{order:2}
html[data-presentation="masculine"] .hero-grid>.glass-card:last-child{order:1}


html[data-presentation="feminine"] .future-mini:after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,transparent 55%,rgba(239,120,134,.14));pointer-events:none}

/* recovery + history + privacy */
.recovery-screen{min-height:calc(100dvh - 120px);display:grid;place-items:center}.recovery-card{max-width:720px;padding:clamp(26px,4vw,46px)}.recovery-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin:20px 0 10px;background:var(--accent-soft);border:1px solid var(--accent-strong);box-shadow:0 0 54px var(--accent-soft)}.recovery-icon .icon{width:31px;height:31px;color:var(--accent)}.recovery-card h1{font-family:var(--serif);font-size:clamp(42px,5vw,72px);line-height:.94;font-weight:400;letter-spacing:-.04em;margin:8px 0 14px}.history-ledgers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-cards)}.ledger-list{display:flex;flex-direction:column;gap:2px}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:12px}.ledger-row>div{display:flex;align-items:center;gap:10px;min-width:0}.ledger-row .icon{color:var(--accent);width:var(--icon-sm);height:var(--icon-sm)}.ledger-row span{display:flex;flex-direction:column;gap:2px;min-width:0}.ledger-row b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ledger-row small{color:var(--muted)}.ledger-row strong{font-size:11px;color:var(--muted);font-weight:750}.danger-zone{margin-top:8px}.danger-zone .glass-card{border-color:rgba(255,116,116,.22)}.button--danger{box-shadow:none}.presentation-choice small{display:block;color:var(--muted);margin-top:5px;line-height:1.35}.presentation-choice b{display:block}

:focus-visible{outline:2px solid color-mix(in srgb,var(--accent) 75%,white);outline-offset:3px}button:focus:not(:focus-visible),a:focus:not(:focus-visible),input:focus:not(:focus-visible),textarea:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
@media(max-width:760px){.history-ledgers{grid-template-columns:1fr}.recovery-screen{min-height:calc(100dvh - 88px)}.recovery-card{padding:24px}.recovery-card h1{font-size:48px}}

/* Settings keeps the coach identity visible without making it part of user media. */
.profile-details{display:grid;gap:var(--gap-cards);min-width:0}
.coach-preferences-card{display:flex;align-items:center;gap:14px;padding:var(--card-pad);border:1px solid var(--gm-hairline,var(--line));border-radius:var(--radius-card);background:linear-gradient(120deg,rgba(255,255,255,.06),rgba(255,255,255,.018));min-width:0}
.coach-preferences-card img{width:76px;height:76px;flex:0 0 auto;object-fit:cover;border-radius:var(--radius-inner);border:1px solid var(--accent-strong)}
.coach-preferences-card h2{margin:3px 0 3px;font:400 var(--type-h3)/1.05 var(--serif)}
.coach-preferences-card p{margin:0;font-size:12px;line-height:1.45}
.history-thumb-empty{width:100%;height:100%;display:grid;place-items:center;color:var(--muted);font-size:11px;background:radial-gradient(circle,var(--accent-soft),transparent 58%)}
@media(max-width:760px){.coach-preferences-card img{width:64px;height:64px}}

/* Future Mirror complete controls */
.mirror-badge{position:absolute;z-index:6;right:15px;top:15px;padding:8px 10px;border:1px solid var(--accent-strong);background:rgba(7,5,5,.74);backdrop-filter:blur(18px);border-radius:999px;font-weight:900;letter-spacing:.14em;color:var(--accent)}
.camera-empty small{margin-top:10px;display:block}.mirror-section>label{display:block;margin-bottom:9px;font-weight:var(--label-fw);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--muted)}.mirror-choice-group{display:flex;gap:7px;flex-wrap:wrap}.mirror-footer-link{margin-top:7px}.usage-meter small{display:block;margin-top:8px;line-height:1.45}.record-chip{position:absolute;z-index:7;left:15px;bottom:15px;padding:8px 10px;border-radius:999px;background:rgba(8,6,6,.72);border:1px solid rgba(255,90,90,.32);font-weight:850;letter-spacing:.12em;text-transform:uppercase;display:flex;gap:7px;align-items:center}.record-chip .icon{width:12px;color:#ff6767}
@media(max-width:760px){.mirror-save-row{grid-template-columns:1fr}.mirror-controls{padding:18px}.mirror-choice-group{flex-wrap:wrap;overflow:visible;padding-bottom:0;scrollbar-width:none}.mirror-choice-group::-webkit-scrollbar{display:none}.mirror-choice-group .choice-pill{white-space:nowrap;min-height:44px}.mirror-start-mode{justify-content:center}}
/* Golden-master media seams: coded slots, never rasterized UI. */
.stage-figures{position:absolute;inset:0;overflow:hidden}
.stage-figure{position:absolute;top:0;bottom:0;width:50%;overflow:hidden}
.stage-figure.current{left:0}
.stage-figure.future{right:0}
.stage-figure img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}
.stage-figures:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,4,.08),rgba(8,5,4,.42));pointer-events:none}
.coach-avatar{overflow:hidden;padding:0}
.coach-avatar img{width:100%;height:100%;object-fit:cover;display:block}
html[data-lockedtfin-demo="true"] .coach-avatar{background:none}
.progress-trend{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:var(--card-pad-compact);border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(255,255,255,.025)}
.progress-trend .eyebrow{margin:0;color:var(--accent)}
.progress-trend b{text-transform:capitalize}
.progress-trend small{flex-basis:100%;color:var(--muted);font-size:11px}
.commitment-card{display:grid;grid-template-columns:1fr 1fr;gap:2px;min-height:620px;border:1px solid var(--line-strong);border-radius:var(--r3);overflow:hidden;background:#0a0808}
.commitment-pane{position:relative;min-height:300px;overflow:hidden;background:radial-gradient(circle,var(--accent-soft),transparent 48%),#0b0807}
.commitment-pane img{width:100%;height:100%;display:block;object-fit:cover}
.commitment-pane:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,5,4,.02),rgba(8,5,4,.52));pointer-events:none}
.commitment-pane .empty-image{height:100%;min-height:300px}
.commitment-pane>span{position:absolute;z-index:1;left:14px;bottom:14px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:rgba(8,7,6,.74);text-transform:uppercase;letter-spacing:.12em}
@media(max-width:760px){.commitment-card{min-height:430px}.commitment-pane{min-height:260px}.commitment-pane .empty-image{min-height:260px}}
/* reveal */
.reveal-layout{min-height:calc(100dvh - 150px);display:grid;grid-template-columns:minmax(360px,1.08fr) minmax(320px,.92fr);gap:clamp(24px,4vw,58px);align-items:center}
.reveal-visual{position:relative;min-height:640px;border:1px solid var(--line-strong);border-radius:var(--r3);overflow:hidden;background:radial-gradient(circle at 50% 34%,var(--accent-soft),transparent 42%),#0c0908;box-shadow:0 40px 120px rgba(0,0,0,.46)}
.reveal-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.reveal-glow{position:absolute;inset:auto 8% -18% 8%;height:46%;border-radius:50%;background:radial-gradient(circle,var(--accent-soft),transparent 68%);filter:blur(28px);pointer-events:none}
.reveal-stamp{position:absolute;left:18px;right:18px;bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(8,7,6,.72);backdrop-filter:blur(22px)}
.reveal-stamp span{text-transform:uppercase;letter-spacing:.16em;color:var(--accent)}.reveal-stamp b{font-family:var(--serif);font-size:25px;font-weight:400}
.reveal-copy{display:flex;flex-direction:column;gap:16px}.reveal-copy h1{font-family:var(--serif);font-weight:400;font-size:clamp(60px,6.6vw,104px);line-height:.86;letter-spacing:-.055em;margin:0}.reveal-copy .lead{max-width:590px;margin:0}
.reveal-summary{display:grid;gap:9px;padding:8px 0}.reveal-summary span{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:12px}.reveal-summary .icon{width:17px;color:var(--accent)}

@media(max-width:760px){.reveal-layout{grid-template-columns:1fr;min-height:auto;gap:18px}.reveal-copy{order:-1}.reveal-copy h1{font-size:56px}.reveal-visual{min-height:510px}.reveal-stamp{left:12px;right:12px;bottom:12px;padding:13px 14px}.reveal-stamp b{font-size:21px}}

/* Demo visual slots: only enabled after an authenticated demo bootstrap. */
html[data-lockedtfin-demo="true"] .future-placeholder{background-image:linear-gradient(180deg,rgba(9,7,6,.04),rgba(9,7,6,.5)),var(--demo-futureUrl);background-size:cover;background-position:center}
html[data-lockedtfin-demo="true"] .future-placeholder i{display:none}
html[data-lockedtfin-demo="true"] .twin-card:nth-child(1) .empty-image,html[data-lockedtfin-demo="true"] .twin-card:nth-child(2) .empty-image,html[data-lockedtfin-demo="true"] .twin-card:nth-child(3) .empty-image{color:transparent;background-size:cover;background-position:center}
html[data-lockedtfin-demo="true"] .twin-card:nth-child(1) .empty-image{background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.38)),var(--demo-day1Url)}
html[data-lockedtfin-demo="true"] .twin-card:nth-child(2) .empty-image{background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.38)),var(--demo-todayUrl)}
html[data-lockedtfin-demo="true"] .twin-card:nth-child(3) .empty-image{background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.38)),var(--demo-futureUrl)}
html[data-lockedtfin-demo="true"] .coach-avatar{font-size:0;background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.22)),var(--demo-coachUrl);background-size:cover;background-position:center}
html:not([data-lockedtfin-demo="true"]) .twin-card:nth-child(1) .empty-image,html:not([data-lockedtfin-demo="true"]) .twin-card:nth-child(2) .empty-image{color:var(--muted);background-size:cover;background-position:center}
html:not([data-lockedtfin-demo="true"]) .twin-card:nth-child(1) .empty-image{background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.38)),var(--member-day1-url)}
html:not([data-lockedtfin-demo="true"]) .twin-card:nth-child(2) .empty-image{background-image:linear-gradient(180deg,rgba(9,7,6,.02),rgba(9,7,6,.38)),var(--member-today-url)}

/* Semantic group labels keep the compact customer forms visually aligned with
   their native field labels after moving non-form choices to labelled groups. */
.field-label{display:block;font-size:var(--label-fs);text-transform:uppercase;letter-spacing:var(--label-ls);color:var(--muted);font-weight:var(--label-fw)}
.mirror-section{border:0;min-width:0;margin:0;padding:14px 0;border-top:1px solid var(--line)}
.mirror-section>legend{display:block;margin:0 0 9px;padding:0;font-weight:var(--label-fw);letter-spacing:var(--label-ls);text-transform:uppercase;color:var(--muted)}
.demo-media-badge{position:absolute;z-index:3;top:14px;left:14px}

/* Media-first member hero. The image is a semantic provider/user slot: when
   no approved URL exists the truthful Future Form placeholder remains. The
   mission copy floats into the same visual rhythm as the Golden Master
   references without rasterising their UI or importing their people. */
.hero-grid--media-first{grid-template-columns:minmax(300px,.86fr) minmax(0,1.14fr);align-items:stretch}
.hero-grid--media-first>.glass-card:first-child{order:2}
.hero-grid--media-first>.glass-card:last-child{order:1}
.hero-grid--media-first>.glass-card:first-child,.hero-grid--media-first>.glass-card:last-child{min-width:0}
.hero-grid--media-first>.glass-card:first-child .mission-card{height:100%;justify-content:center;min-height:430px}
.hero-grid--media-first>.glass-card:last-child{min-height:430px}
.hero-grid--media-first>.glass-card:last-child .future-mini{height:100%;min-height:430px}
.hero-grid--media-first .future-mini-overlay{background:linear-gradient(180deg,rgba(8,7,6,.35),rgba(8,7,6,.86));border-color:rgba(255,255,255,.18);box-shadow:0 12px 36px rgba(0,0,0,.25)}
.hero-grid--media-first .future-mini-overlay b{font-family:var(--serif);font-size:24px;font-weight:400;letter-spacing:-.025em}
.hero-grid--media-first .mission-card h2{max-width:520px}
.hero-grid--media-first .mission-card>p{max-width:430px}
.hero-grid--media-first .mission-card .action-row{margin-top:26px}
.hero-grid--media-first .mission-card .button--primary{box-shadow:0 15px 45px var(--accent-soft),inset 0 1px 0 rgba(255,255,255,.38)}
.journey-rail{display:grid;grid-template-columns:auto minmax(24px,1fr) auto minmax(24px,1fr) auto;align-items:center;gap:10px;margin:-3px 0 16px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-card);background:linear-gradient(105deg,rgba(255,255,255,.04),rgba(255,255,255,.015));box-shadow:0 14px 36px rgba(0,0,0,.14)}
.journey-step{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted)}
.journey-step__icon{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid var(--line-strong);border-radius:50%;color:var(--faint);background:rgba(8,7,6,.48)}
.journey-step__icon .icon{width:var(--icon-sm);height:var(--icon-sm)}
.journey-step b,.journey-step small{display:block;white-space:nowrap}
.journey-step b{font-size:11px;letter-spacing:.02em;color:var(--text)}
.journey-step small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.1}
.journey-step--active .journey-step__icon{border-color:var(--accent-strong);color:var(--accent);background:var(--accent-soft);box-shadow:0 0 22px var(--accent-soft)}
.journey-step--active b{color:var(--accent)}
.journey-step--future .journey-step__icon{color:var(--muted)}
.journey-rail__line{height:1px;background:linear-gradient(90deg,var(--accent-strong),var(--line));opacity:.75}
.journey-rail__line:last-of-type{background:linear-gradient(90deg,var(--line),var(--line-strong))}
html[data-presentation="feminine"] .hero-grid--media-first>.glass-card:last-child{border-color:rgba(239,120,134,.38);box-shadow:0 30px 100px rgba(239,120,134,.12)}
html[data-presentation="masculine"] .hero-grid--media-first>.glass-card:last-child{border-color:rgba(177,103,76,.34)}
.exercise-media-slot{position:relative;margin:-2px -2px 2px;min-height:148px;border:1px solid var(--line-strong);border-radius:var(--radius-inner);overflow:hidden;background:radial-gradient(circle at 50% 28%,var(--accent-soft),transparent 54%),#0b0807}
.exercise-media-slot img{display:block;width:100%;height:148px;object-fit:cover;object-position:center 35%}
.exercise-media-slot figcaption{position:absolute;left:10px;bottom:10px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(8,7,6,.76);letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.exercise-media-slot--empty{min-height:58px;display:flex;align-items:center;gap:9px;padding:12px;color:var(--muted);font-size:11px;line-height:1.4}
.exercise-media-slot--empty .icon{width:16px;color:var(--accent)}
.nutrition-visual-slot{display:grid;grid-template-columns:112px 1fr;align-items:center;gap:16px;min-height:132px;padding:10px 16px 10px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-card);background:linear-gradient(135deg,rgba(255,255,255,.06),rgba(255,255,255,.02));overflow:hidden}
.nutrition-visual-slot img{width:112px;height:112px;object-fit:cover;border-radius:var(--radius-inner);border:1px solid var(--accent-strong)}
.nutrition-visual-slot h2{font-family:var(--serif);font-weight:400;font-size:var(--type-h3);line-height:1.05;margin:5px 0 4px}.nutrition-visual-slot p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;max-width:540px}
.nutrition-visual-slot--empty{grid-template-columns:82px 1fr;min-height:132px}.nutrition-visual-slot--empty .future-placeholder--small{position:relative;width:82px;height:108px;min-height:0;border-radius:var(--radius-inner);overflow:hidden}.nutrition-visual-slot--empty .future-placeholder--small i{transform:translateX(-50%) scale(.68);transform-origin:center}.nutrition-visual-slot--empty .button{margin-top:10px}
.future-form-unavailable{display:flex;align-items:center;gap:14px;height:100%;min-height:210px;padding:24px;background:linear-gradient(145deg,rgba(25,17,15,.88),rgba(10,8,8,.95));color:var(--text)}.future-form-unavailable .future-placeholder--small{position:relative;flex:0 0 92px;width:92px;height:150px;border-radius:var(--radius-inner);overflow:hidden}.future-form-unavailable .future-placeholder--small i{transform:translateX(-50%) scale(.72);transform-origin:center}.future-form-unavailable b{display:block;font-family:var(--serif);font-size:var(--type-h3);font-weight:400}.future-form-unavailable p{margin:6px 0 0;color:var(--muted);line-height:1.45}.future-form-unavailable .button{margin-top:12px}
.meal-media{display:block;width:100%;height:126px;object-fit:cover;border-radius:var(--radius-inner);margin-bottom:14px;border:1px solid var(--line-strong)}

@media(max-width:760px){
  .hero-grid--media-first{display:grid;grid-template-columns:1fr;gap:0;margin-inline:-1px}
  .hero-grid--media-first>.glass-card:last-child{order:1;z-index:1}
  .hero-grid--media-first>.glass-card:last-child .future-mini{aspect-ratio:auto}
  .hero-grid--media-first>.glass-card:first-child{order:2;margin:-58px 10px 0;z-index:2;background:linear-gradient(145deg,rgba(31,24,23,.97),rgba(10,8,8,.97));box-shadow:var(--shadow-raised)}
  .hero-grid--media-first .mission-card .action-row{margin-top:15px}
  .hero-grid--media-first .future-mini-overlay{left:12px;right:12px;top:12px;bottom:auto;padding:12px 13px}
  .hero-grid--media-first .future-mini-overlay b{font-size:21px}
  .exercise-media-slot{min-height:126px;margin:0 0 2px}
  .exercise-media-slot img{height:126px}
  .exercise-media-slot--empty{min-height:54px}
  .nutrition-visual-slot{grid-template-columns:84px 1fr;min-height:100px;gap:12px;padding:8px 12px 8px 8px}
  .nutrition-visual-slot img{width:84px;height:84px}
  .nutrition-visual-slot p{font-size:11px}
  .nutrition-visual-slot--empty{grid-template-columns:64px 1fr;min-height:112px}.nutrition-visual-slot--empty .future-placeholder--small{width:64px;height:84px}.nutrition-visual-slot--empty h2{font-size:19px}
  .future-form-unavailable{min-height:180px;padding:16px;gap:10px}.future-form-unavailable .future-placeholder--small{flex-basis:64px;width:64px;height:116px}.future-form-unavailable b{font-size:19px}
  .meal-media{height:112px;margin-bottom:12px}
  .quick-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(214px,76vw);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;padding:1px 2px 8px;margin-right:-13px;scrollbar-width:none}
  .quick-grid::-webkit-scrollbar{display:none}
  .quick-grid>.glass-card{scroll-snap-align:start}
  .quick-grid .quick-card{min-height:132px}
}

/* The journey rail is a three-stop thumb-zone affordance on phones. Keep
   each stop inside its own equal column; connectors are decorative and must
   never consume label width or create horizontal overflow. */
@media(max-width:760px){
  .journey-rail{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 7px;overflow:hidden}
  .journey-step{position:relative;z-index:1;display:flex;min-width:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;text-align:center}
  .journey-step__icon{flex:0 0 28px;width:28px;height:28px}
  .journey-step>span:last-child{display:block;width:100%;min-width:0;max-width:100%}
  .journey-step b{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal;line-height:1.1}
  .journey-step small{display:block;max-width:100%;overflow-wrap:anywhere;white-space:normal;color:var(--muted);line-height:1.15}
  .journey-rail__line{position:absolute;z-index:0;top:22px;width:calc(33.333% - 36px)}
  .journey-rail>.journey-rail__line:first-of-type{left:calc(16.666% + 18px)}
  .journey-rail>.journey-rail__line:last-of-type{right:calc(16.666% + 18px)}
}

/* Short iOS/WebKit viewports need a tighter first fold: keep the two primary
   mission actions above the fixed floating rail without changing the taller
   phone composition. */
@media (max-width:760px) and (max-height:720px){
  .hero-grid--media-first>.glass-card:last-child,
  .hero-grid--media-first>.glass-card:last-child .future-mini{min-height:300px}
  .hero-grid--media-first>.glass-card:first-child{margin-top:-46px}
}

/* Authenticated payoff surfaces: use only server-authorized receipts and
   keep the visual proof compact enough to stay above the mobile rail. */
.roadmap-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:-10px}
.review-receipt-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0 4px}
.review-receipt-metrics span{display:flex;flex-direction:column;gap:3px;min-width:92px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-inner);background:rgba(255,255,255,.035)}
.review-receipt-metrics b{font-size:19px;letter-spacing:-.03em}
.review-receipt-metrics small{text-transform:uppercase;letter-spacing:var(--label-ls-tight);font-weight:var(--label-fw);color:var(--muted)}
.review-media-receipt{margin:18px 0 4px}
.review-media-receipt__images{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-tiles)}
.review-media-receipt__images>div{position:relative;min-width:0;aspect-ratio:3/4;border-radius:var(--radius-inner);overflow:hidden;border:1px solid var(--line-strong);background:#0b0807}
.review-media-receipt__images img{width:100%;height:100%;object-fit:cover;display:block}
.review-media-receipt__images span{position:absolute;left:8px;right:8px;bottom:8px;padding:6px 8px;border-radius:999px;background:rgba(8,7,6,.78);color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-media-receipt figcaption{margin-top:8px;line-height:1.45;color:var(--muted)}
.coach-assurance{display:flex;align-items:center;gap:13px;padding:var(--card-pad)}.coach-assurance img{width:48px;height:48px;flex:0 0 48px;object-fit:cover;border-radius:50%;border:1px solid var(--accent-strong)}.coach-assurance b{display:block;margin-top:4px;font-size:15px}.coach-assurance p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}

/* No-member-media state: an abstract light sculpture keeps the slot premium
   without implying a synthetic person or borrowing a Golden Master subject. */
.future-placeholder i{left:50%;bottom:8%;width:72%;height:62%;transform:translateX(-50%);border:1px solid color-mix(in srgb,var(--accent) 48%,transparent);border-radius:30px 30px 10px 10px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.015) 42%,rgba(0,0,0,.28)),repeating-linear-gradient(90deg,transparent 0 18%,rgba(255,255,255,.035) 18.2% 18.6%,transparent 18.8% 36%),radial-gradient(circle at 50% 20%,var(--accent-soft),transparent 52%);box-shadow:inset 0 0 70px rgba(255,255,255,.035),0 0 80px var(--accent-soft);opacity:.86}
.future-placeholder i:before{left:11%;top:14%;width:78%;height:1px;aspect-ratio:auto;transform:none;border-radius:999px;background:linear-gradient(90deg,transparent,var(--accent),transparent);box-shadow:0 42px 0 color-mix(in srgb,var(--accent) 32%,transparent),0 84px 0 color-mix(in srgb,var(--accent) 18%,transparent)}
.future-placeholder i:after{content:"";position:absolute;left:50%;top:7%;bottom:7%;width:1px;transform:translateX(-50%);background:linear-gradient(transparent,var(--accent),transparent);box-shadow:0 0 24px var(--accent)}

/* Film / transition surfaces: make owned stills feel like a deliberate
   editorial sequence without implying that a video exists. */
.film-stills{display:grid;grid-template-columns:1fr 42px 1fr;align-items:stretch;width:100%;height:100%;margin:0;position:relative;background:#090706}.film-stills>div:not(.film-still-divider){min-width:0;position:relative;overflow:hidden}.film-stills img{display:block;width:100%;height:100%;object-fit:cover}.film-stills span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(8,7,6,.78);letter-spacing:.08em;text-transform:uppercase;color:#fff}.film-still-divider{display:grid;place-items:center;color:var(--accent);background:linear-gradient(180deg,transparent,var(--accent-soft),transparent)}.film-still-divider .icon{width:22px;height:22px;filter:drop-shadow(0 0 12px var(--accent))}.film-still-empty{height:100%;display:grid;place-items:center;padding:22px;text-align:center;color:var(--muted);background:radial-gradient(circle at 50% 40%,var(--accent-soft),transparent 60%)}.film-player > .film-still-empty{width:100%;height:100%;box-sizing:border-box}.film-note{margin:10px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.phase-complete-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
@media (max-width:760px){.film-stills{grid-template-columns:1fr 30px 1fr}.film-stills span{left:8px;bottom:8px;padding:5px 7px}.film-note{font-size:11px}.phase-complete-meta{margin-bottom:10px}}

/* Every authorized image has a truthful, geometry-preserving failure state.
   Provider URLs can expire after render; a broken browser image must never be
   mistaken for a completed or measured result. */
.owned-media-fallback{display:grid;place-items:center;box-sizing:border-box;padding:18px;text-align:center;color:var(--muted);font-size:11px;line-height:1.4;background:radial-gradient(circle at 50% 40%,var(--accent-soft),transparent 60%),#0b0807}
.future-mini>.owned-media-fallback{position:absolute;inset:0;width:100%;height:100%;font-size:12px}
.twin-card>.owned-media-fallback{position:absolute;inset:0;width:100%;height:100%;min-height:100%}
.history-thumb>.owned-media-fallback{width:100%;height:100%}
.exercise-media-slot>.owned-media-fallback{width:100%;height:148px;min-height:148px;border-radius:inherit}
.nutrition-visual-slot>.owned-media-fallback{width:112px;height:112px;border-radius:var(--radius-inner);border:1px solid var(--accent-strong)}
.meal-card>.owned-media-fallback{width:100%;height:126px;margin-bottom:14px;border-radius:var(--radius-inner);border:1px solid var(--line-strong)}
.coach-avatar>.owned-media-fallback{width:100%;height:100%;min-width:46.25px;min-height:46.25px;border-radius:inherit;padding:3px;overflow:hidden;overflow-wrap:anywhere;font-size:0;line-height:1.1}
.coach-preferences-card>.owned-media-fallback{width:76px;height:76px;flex:0 0 76px;border-radius:var(--radius-inner)}
.coach-assurance>.owned-media-fallback{width:48px;height:48px;min-width:48.25px;min-height:48.25px;flex:0 0 48.25px;border-radius:50%;padding:3px;overflow:hidden;overflow-wrap:anywhere;font-size:0;line-height:1.1}
.coach-avatar>.owned-media-fallback::before,.coach-assurance>.owned-media-fallback::before{content:"?";font-family:var(--serif);font-size:21px;color:var(--accent);line-height:1}
.review-media-receipt__images>div>.owned-media-fallback{position:absolute;inset:0;width:100%;height:100%}
.media-unavailable .twin-caption,.media-unavailable .future-mini-overlay{z-index:2}
.media-unavailable .demo-media-badge{display:none}
.future-mini-overlay a{min-height:44px;padding:8px 10px;margin-inline:-10px;border-radius:10px}
@media(max-width:760px){.exercise-media-slot>.owned-media-fallback{height:126px;min-height:126px}.nutrition-visual-slot>.owned-media-fallback{width:84px;height:84px}.meal-card>.owned-media-fallback{height:112px;margin-bottom:12px}.coach-preferences-card>.owned-media-fallback{width:64px;height:64px;flex-basis:64px}}
.variant-thumb-empty{width:100%;height:100%;display:grid;place-items:center;padding:5px;color:var(--muted);line-height:1.1;text-align:center;background:radial-gradient(circle,var(--accent-soft),transparent 62%)}
.public-media-empty{text-align:center;padding:18px}
.compare-card.is-incomplete .compare-divider,.compare-card.is-incomplete .compare-label{visibility:hidden;pointer-events:none}
.compare-status{position:absolute;z-index:8;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:var(--muted);font-size:12px;line-height:1.45;background:radial-gradient(circle at 50% 40%,var(--accent-soft),transparent 52%),rgba(8,7,6,.5)}
.compare-status[hidden]{display:none}

/* The empty Future Form still gets a composed focal point: a soft orbit and
   light spine signal a destination without pretending a generated person
   exists. Approved user/provider media continues to replace this whole slot. */
.future-placeholder:before{content:"";position:absolute;left:50%;top:18%;width:68%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 62%,transparent);border-radius:50%;transform:translateX(-50%) rotate(-12deg);box-shadow:0 0 60px var(--accent-soft),inset 0 0 32px rgba(255,255,255,.035);opacity:.72}
.future-placeholder:after{content:"";position:absolute;left:50%;top:7%;width:2px;height:86%;transform:translateX(-50%);background:linear-gradient(transparent,var(--accent-strong),transparent);box-shadow:0 0 24px var(--accent-soft);opacity:.5}
.future-mini>.future-media-empty{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 50% 35%,var(--accent-soft),transparent 42%),linear-gradient(155deg,#211617,#090706)}
.future-mini>.future-media-empty:before{content:"";position:absolute;left:50%;top:18%;width:56%;aspect-ratio:1;border:1px solid color-mix(in srgb,var(--accent) 58%,transparent);border-radius:50%;transform:translateX(-50%) rotate(-12deg);box-shadow:0 0 48px var(--accent-soft),inset 0 0 24px rgba(255,255,255,.035);opacity:.78}
.future-mini>.future-media-empty:after{content:"";position:absolute;left:50%;top:9%;width:2px;height:82%;transform:translateX(-50%);background:linear-gradient(transparent,var(--accent-strong),transparent);box-shadow:0 0 20px var(--accent-soft);opacity:.55}
@media(prefers-reduced-motion:reduce){.future-placeholder:before{transform:translateX(-50%)}}

/* Legibility floor: context that carries state, identity, or navigation is
   readable at the smallest supported phone size. Tiny type remains reserved
   for non-semantic decoration, never for status or milestone meaning. */
.stage-label,.stage-callout span,.future-mini-overlay span,.twin-caption span,.history-thumb span,.exercise-state,.generation-track span,.compare-label,.film-stills span,.camera-status,.mirror-badge,.mirror-section>label,.mirror-section>legend,.record-chip,.demo-media-badge,.commitment-pane>span,.reveal-stamp span,.review-receipt-metrics small,.review-media-receipt__images span,.review-media-receipt figcaption,.exercise-media-slot figcaption,.variant-thumb-empty,.nutrition-visual-slot--empty p,.future-form-unavailable p,.history-thumb>.owned-media-fallback,.nutrition-visual-slot>.owned-media-fallback,.coach-preferences-card>.owned-media-fallback,.review-media-receipt__images>div>.owned-media-fallback{font-size:11px}
/* Media captions share the label voice: one weight and tracking for every
   uppercase caption painted over photography or inside a stage. */
.stage-label,.stage-callout span,.future-mini-overlay span,.twin-caption span,.history-thumb span,.exercise-state,.compare-label,.film-stills span,.camera-status,.mirror-badge,.record-chip,.commitment-pane>span,.reveal-stamp span,.exercise-media-slot figcaption{font-weight:var(--label-fw);letter-spacing:var(--label-ls)}
/* Caption chips over media share one tag geometry. */
.stage-label,.compare-label,.commitment-pane>span,.film-stills span,.history-thumb span,.exercise-media-slot figcaption,.review-media-receipt__images span,.camera-status,.mirror-badge,.record-chip{display:inline-flex;align-items:center;min-height:var(--tag-h);padding:0 var(--tag-pad);line-height:1.1}
/* try before account */.capture-try{margin:10px 0 0;color:var(--text);font-size:13px;font-weight:600;line-height:1.45}.capture-try::before{content:"";display:inline-block;width:7px;height:7px;margin:0 8px 1px 0;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent-soft)}.capture-try[hidden]{display:none}.future-trial-note{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;margin-top:10px}.future-trial-note p{margin:0;color:var(--muted);font-size:12px;line-height:1.45;flex:1 1 220px}.future-trial-note .button{min-height:var(--control-h-sm);padding-inline:var(--control-pad-sm);font-size:var(--control-fs-sm)}.unlock-account{display:grid;gap:8px;margin-bottom:14px;padding:var(--card-pad-compact);border:1px solid var(--line-strong);border-radius:var(--radius-inner);background:var(--accent-soft)}.unlock-account[hidden]{display:none}.auth-card{padding:var(--card-pad);display:flex;flex-direction:column;gap:14px}.unlock-account b{font-size:15px}.unlock-account p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.unlock-account .button{justify-self:start}
