/* Separate gender and age decisions; direct measurement inputs. */
body[data-stage=landing] #header .back{display:none}
.gender-entry{text-align:center;max-width:700px;padding-top:28px}
.gender-entry h1{font-size:40px;line-height:1.1;letter-spacing:-1.5px;max-width:620px;margin:0 auto;animation:nf-part .5s var(--ease) both}
.gender-prompt{font:750 23px/1.2 var(--sans);letter-spacing:-.6px;margin:28px 0 18px;animation:nf-part .5s var(--ease) .08s both}
.gender-options{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:14px;max-width:450px;margin:0 auto}
.gender-option{display:flex;flex-direction:column;align-items:center;min-width:0;padding:0;overflow:hidden;border:1px solid #ddd;border-radius:10px;background:#f5f5f5;color:#111;font-size:17px;font-weight:700;animation:nf-card .5s var(--ease) calc(var(--index)*80ms + 120ms) both;transition:background .2s,border-color .2s,transform .2s,box-shadow .2s}
.gender-portrait{display:grid;place-items:center;height:130px;width:100%;font-size:70px}
.gender-symbol{display:block;width:80px;height:96px;filter:drop-shadow(0 3px 1px #00000016)}
[data-gender=female] .gender-symbol{color:#fa22a5}
[data-gender=male] .gender-symbol{color:#2d5afb}
.gender-caption{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;padding:10px;background:#111;color:#fff}
.gender-check{display:flex}.gender-check svg{width:17px;height:17px}
.gender-option:hover{border-color:#111;transform:translateY(-3px);box-shadow:0 6px 0 -3px #eee}
.gender-option:active{transform:scale(.98)}.gender-option.selected{border-color:#111;animation:nf-selected .28s var(--ease) both}
.gender-options:has(.selected) .gender-option:not(.selected){opacity:.45}
.age-entry{max-width:640px;padding:20px 24px 24px}
.age-entry .age-prompt{font:800 32px/1.12 var(--sans);letter-spacing:-1px;margin:0 0 22px}
.age-entry .age-options{max-width:500px;gap:12px}
.age-entry .age-photo{height:clamp(185px,calc((100svh - 240px)/2),315px)!important;aspect-ratio:auto}
.age-entry .age-caption{min-height:32px;padding:4px 10px;font-size:15px;gap:8px;line-height:1.4}
.age-entry .age-caption svg{width:14px;height:14px}
.measure-manual{display:grid;justify-items:center;gap:8px;margin-top:20px}
.measure-manual label{font-size:14px;font-weight:600;color:#444}
.measure-input-wrap{display:flex;align-items:center;width:180px;min-height:48px;border:1px solid #aaa;border-radius:4px;background:#fff;transition:border-color .2s,box-shadow .2s}
.measure-input-wrap:focus-within{border-color:#111;box-shadow:0 0 0 2px #1111110d}
.measure-input-wrap input{width:100%;min-width:0;height:48px;padding:8px 12px;border:0;border-radius:4px;background:transparent;color:#111;font-size:20px;font-weight:650;text-align:right;outline:none;box-shadow:none}
.measure-input-wrap span{padding:0 14px 0 2px;color:#777;font-size:14px}
.measure-input-wrap:has(input[aria-invalid=true]){border-color:#dc2626}
.measure-manual>p{font-size:11px;color:#777}
body[data-stage=loading] .flow{padding-top:24px;min-height:0}
body[data-stage=bmi] .bmi-screen{padding-top:26px;min-height:0}
body[data-stage=bmi] .bmi-screen>.stage{min-height:0}
@media(max-width:680px){
 #header .header-inner,#header .flow-header .header-inner{height:64px;justify-content:flex-start}
 #header .brand{width:84px;height:60px;min-height:60px}
 #header .brand .brand-image{left:-12px;top:-26px;width:108px;height:108px}
 #header .flow-header .back{left:auto;right:43px;width:42px;height:44px}
 #header .flow-header .back>span{display:none}
 #header .flow-header .exit{right:-4px}
 body[data-stage=landing] #header .back{display:none}
 .gender-entry{padding:22px 20px}
 .gender-entry h1{font-size:29px;line-height:1.12;letter-spacing:-1px}
 .gender-prompt{font-size:21px;margin:24px 0 18px}
 .gender-options{gap:12px;max-width:390px}
 .gender-portrait{height:120px;font-size:66px}
 .age-entry{height:calc(100svh - 106px);max-height:800px;min-height:0;padding:12px 18px 14px}
 .age-entry>.stage{height:100%;display:flex;flex-direction:column}
 .age-entry .age-prompt{font-size:28px;line-height:1.1;margin:0 0 16px}
 .age-entry .age-options{flex:1;min-height:0;width:100%;max-width:440px;grid-template-rows:repeat(2,minmax(0,1fr));margin:0 auto;gap:10px}
 .age-entry .age-option{display:flex;flex-direction:column;min-height:0}
 .age-entry .age-photo{flex:1;min-height:0;height:auto!important}
 .age-entry .age-caption{flex:none;min-height:32px;font-size:14px}
 .measure-card{margin:20px 0}.measure-manual{margin-top:16px}
 .measure-ruler,.ruler-strip{height:106px}
 body[data-stage=loading] .flow{padding-top:12px}
 body[data-stage=loading] .loading.stage{padding-top:16px}
 body[data-stage=loading] .loading-orbit{margin-bottom:22px}
 body[data-stage=loading] .loading-profile{margin-top:18px;padding:15px 18px}
 body[data-stage=loading] .loading-list{margin:18px auto 20px;gap:14px}
 body[data-stage=bmi] .bmi-screen{padding:20px 18px}
 body[data-stage=bmi] .bmi-screen .stage-heading{margin-bottom:18px}
 body[data-stage=bmi] .bmi-value-card{margin-top:18px}
}
@media(max-width:359px){.gender-entry h1{font-size:26px}.gender-prompt{font-size:20px}.gender-portrait{height:100px;font-size:60px}.age-entry .age-prompt{font-size:25px}}
@media(max-width:680px) and (max-height:700px){
 body[data-stage=bmi] .bmi-screen{padding:14px 16px}
 .bmi-screen .stage-heading h1{font-size:24px;line-height:1.08}
 .bmi-screen .stage-heading>p:last-child{font-size:11px;margin-top:8px}
 body[data-stage=bmi] .bmi-screen .stage-heading{margin-bottom:12px}
 body[data-stage=bmi] .bmi-value-card{padding:15px 10px 13px;margin:14px 0}
 .bmi-value-card>p:first-child{font-size:12px}.bmi-value{margin:9px 0}.bmi-value #bmi-number{font-size:46px;min-width:135px}
 .bmi-band-result{margin-top:10px}.bmi-formula{font-size:10px}
 .bmi-category{min-height:115px;padding:10px 3px 20px;gap:7px}
 .bmi-orb{width:28px;height:28px}.bmi-category>strong{font-size:9px;min-height:23px}
 .bmi-note{font-size:9px;line-height:1.45;margin:17px 2px 18px}
 .bmi-screen .btn{min-height:52px;padding:12px}
}
@media(prefers-reduced-motion:reduce){.gender-option{animation:none;transition:none}.gender-option:hover{transform:none}}

/* Nutrition and reported sensations; no medical inference. */
.gender-lead{font-size:15px;line-height:1.5;color:#666;max-width:420px;margin:18px auto 0;animation:nf-part .5s var(--ease) .06s both}
.bmi-relato{margin-top:14px;padding-top:12px;border-top:1px solid #ddd;text-align:left}
.bmi-relato>p{display:flex;justify-content:space-between;gap:10px;font-size:11px;line-height:1.4;color:#666}
.bmi-relato strong{color:#111}.relato-meter{display:flex;gap:5px;margin:8px 0;height:7px}
.relato-meter span{flex:1;background:#e2e2e2;border-radius:3px}.relato-meter .is-current{background:#245dff}
.bmi-relato small{display:block;font-size:9px;line-height:1.4;color:#777}
.digestive-summary{padding:22px;border:1px solid #ddd;margin:24px 0;background:#fff;border-radius:5px}
.digestive-summary h2{font-size:25px;margin:10px 0 20px;line-height:1.15}
.digestive-summary dl{display:grid;gap:13px}.digestive-summary dl>div{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.digestive-summary dt{font-size:12px;color:#777}.digestive-summary dd{font-size:13px;font-weight:600;margin:0}
.digestive-note{font-size:11px;line-height:1.5;color:#777;margin-top:18px}
.solution-bridge{max-width:640px;margin:0 auto 30px;padding:22px;border:1px solid #d9e5dc;border-radius:5px;background:#fff}
.solution-bridge h3{font-size:22px;line-height:1.2;margin-bottom:12px}.solution-bridge>p{font-size:14px;color:#666;line-height:1.6}
.solution-bridge ul{padding-left:18px;display:grid;gap:10px;font-size:14px;margin:18px 0}
.solution-bridge .solution-note{font-size:11px;color:#777}
.daily-equivalent{font-size:11px;line-height:1.5;color:#777;margin-top:9px}.essential-plan .daily-equivalent{grid-column:1/-1;font-size:10px;margin-top:0}
.final-premium .daily-equivalent{color:#cbd5d0}
@media(max-width:680px){.gender-lead{font-size:13px;max-width:310px;margin-top:14px}.gender-prompt{margin-top:20px}.digestive-summary{padding:18px}.digestive-summary h2{font-size:23px}.solution-bridge{padding:20px}.digestive-summary dl>div{grid-template-columns:1fr;gap:3px}}
@media(max-width:680px) and (max-height:700px){
 .gender-entry{padding-top:16px}.gender-entry h1{font-size:25px}.gender-prompt{margin:18px 0 14px}.gender-portrait{height:100px}
 .bmi-relato{margin-top:9px;padding-top:8px}.bmi-relato>p{font-size:10px}.bmi-relato small{font-size:8px}.relato-meter{margin:6px 0;height:6px}
 .bmi-screen .stage-heading h1{font-size:22px}.bmi-value-card>p:first-child{font-size:11px}.bmi-value #bmi-number{font-size:40px;min-width:118px}
 body[data-stage=bmi] .bmi-value-card{padding:11px 10px;margin:10px 0}.bmi-value{margin:7px 0}.bmi-band-result{margin-top:7px}
 .bmi-category{min-height:98px;gap:5px;padding-top:8px}.bmi-category>strong{font-size:8px;min-height:21px}.bmi-orb{width:25px;height:25px}
 .bmi-screen .bmi-note{font-size:8px;margin:12px 2px 14px}.bmi-spectrum{margin-top:14px}
}

.digestive-lead{font-size:14px;line-height:1.6;color:#555;margin:-4px 0 20px}.solution-bridge .solution-note{font-size:12px;line-height:1.6}.solution-note strong{color:#111}
