/* NUMRA FIT — scene-based, monochrome. One idea per screen, huge lowercase type,
   capsule imagery, a quiet fixed frame (logo / menu / scroll progress). */
@font-face{font-family:Inter;src:url('assets/inter-variable.ttf') format('truetype');font-weight:100 900;font-style:normal;font-display:swap}

:root{
  --light:#F7F7F7;--dark:#000;--ink:#000;--white:#fff;
  --mute-l:#666;--mute-d:#9A9A9A;--line-l:#00000026;--line-d:#ffffff2e;
  --gut:clamp(1.25rem,3vw,2.75rem);
  --ease:cubic-bezier(.2,.7,.2,1);
  --font:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --h-xl:clamp(3rem,15.5vw,15.625rem);--h-l:clamp(2.75rem,9.2vw,9.375rem);--h-m:clamp(1.875rem,5.2vw,5.25rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{overflow-x:clip}
body{margin:0;font-family:var(--font);font-size:1rem;line-height:1.55;background:var(--light);color:var(--ink);-webkit-font-smoothing:antialiased;font-synthesis:none}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
h1,h2,h3{font-weight:500;letter-spacing:-.065em;line-height:.92;text-wrap:balance}
:focus-visible{outline:2px solid currentColor;outline-offset:0.25rem;border-radius:0.25rem}
.skip-link{position:fixed;left:1rem;top:-5rem;z-index:200;background:#000;color:#fff;padding:0.75rem 1.25rem;border-radius:62.4375rem}
.skip-link:focus{top:1rem}

.light{background:var(--light);color:var(--ink);--mute:var(--mute-l);--line:var(--line-l)}
.dark{background:var(--dark);color:var(--white);--mute:var(--mute-d);--line:var(--line-d)}
.mute{color:var(--mute)}
.small{font-size:clamp(0.875rem,1.15vw,1.0625rem);line-height:1.55}
.note{font-size:0.8125rem;line-height:1.6;color:var(--mute);max-width:60ch}

/* buttons: plain pills, no arrows */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:0 1.625rem;border-radius:62.4375rem;font-size:0.875rem;font-weight:500;letter-spacing:-.01em;border:1px solid transparent;transition:background .2s,color .2s,transform .2s var(--ease)}
.btn:active{transform:scale(.97)}
.btn-dark{background:#000;color:#fff}.btn-dark:hover{background:#2a2a2a}
.btn-light{background:#fff;color:#000}.btn-light:hover{background:#dcdcdc}
.dark .btn-dark{background:#fff;color:#000}
.dark :focus-visible,.hud :focus-visible{outline-color:#fff}
.icon{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* fixed frame: inverts over light and dark scenes */
.hud{position:fixed;left:0;right:0;z-index:60;display:flex;justify-content:space-between;align-items:center;padding:0 var(--gut);color:#fff;mix-blend-mode:difference;pointer-events:none}
.hud>*{pointer-events:auto}
.hud-top{top:0;height:4.5rem}
.hud-bottom{bottom:0;height:3.25rem;font-size:0.75rem;pointer-events:none}
.hud-bottom>*{pointer-events:none}
.hud-bottom{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.hud-mid{justify-self:center}
.hud-progress{justify-self:end;display:flex;align-items:center;gap:0.75rem}
.hud-progress .bar{display:block;width:clamp(3.75rem,9vw,8.125rem);height:1px;background:#fff5;position:relative}
.hud-progress .bar b{position:absolute;inset:0;background:#fff;transform:scaleX(0);transform-origin:left}
.hud-progress #pct{min-width:3ch;text-align:right;font-variant-numeric:tabular-nums}
.hud-logo{display:inline-flex;align-items:center;gap:0.625rem;min-height:2.75rem}
.hud-logo img{width:6rem;height:auto}
.hud-logo span{font-size:0.9375rem;font-weight:500;padding-left:0.625rem;border-left:1px solid #fff6;line-height:1.2}
.hud-actions{display:flex;align-items:center;gap:clamp(0.5rem,2vw,1.25rem)}
.hud-lang{min-height:2.75rem;padding:0 0.375rem;font-size:0.875rem;font-weight:500;color:#fff}
.hud-lang:hover{opacity:.6}
.hud-menu{display:inline-flex;align-items:center;gap:0.625rem;min-height:2.75rem;padding:0 0.25rem;font-size:0.875rem;font-weight:500}
.hud-menu i{width:1.25rem;height:0.5rem;border-block:1.5px solid #fff;display:block}

/* scenes */
.scene{position:relative}
.hero{min-height:100svh;padding:6rem var(--gut) 7.5rem;display:flex;align-items:center;overflow:hidden}
.hero h1{font-size:var(--h-xl);line-height:.86;letter-spacing:-.07em;position:relative;z-index:2;color:#fff;mix-blend-mode:difference;margin-left:-.04em}
.hero .ln{display:block;overflow:hidden;padding:.08em .14em .14em 0;margin:-.08em -.14em -.14em 0}
.hero .ln>span{display:block}
.pill{border-radius:62.4375rem;overflow:hidden;background:#222}
.pill img{width:100%;height:100%;object-fit:cover}
.hero-pill{position:absolute;z-index:1;right:9vw;top:50%;transform:translateY(-50%);width:min(30vw,28.75rem);aspect-ratio:1/1.7}
.hero-pill img{object-position:63% 30%}
.hero-copy{position:absolute;left:var(--gut);bottom:4.875rem;max-width:30ch;z-index:2;color:var(--mute)}
.hero-cta{position:absolute;left:50%;bottom:4.375rem;transform:translateX(-50%);z-index:2}
.hero-cta:active{transform:translateX(-50%) scale(.97)}

/* statement: words light up with scroll */
.pin-words{height:260vh}
.stage{position:sticky;top:0;height:100svh;overflow:hidden;background:inherit}
.pin-words .stage{display:grid;place-items:center;padding:0 var(--gut)}
.words{font-size:var(--h-m);font-weight:500;letter-spacing:-.05em;line-height:1.08;text-align:center;max-width:17em;text-wrap:pretty}
.js .words .w{opacity:.18;transition:opacity .3s}
.js .words .w.lit{opacity:1}

/* how it works: pinned, three steps */
.pin-steps{height:400vh}
.pin-steps .stage{padding:0 var(--gut)}
.count{position:absolute;left:var(--gut);top:6rem;font-size:0.8125rem;font-variant-numeric:tabular-nums;color:var(--mute)}
.step-words{position:absolute;left:var(--gut);top:50%;transform:translateY(-52%);z-index:2;display:grid;color:#fff;mix-blend-mode:difference}
.step{grid-area:1/1;font-size:var(--h-xl);line-height:.86;letter-spacing:-.07em;opacity:0;transform:translateY(2.25rem);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.step.on{opacity:1;transform:none}
.step-pill{position:absolute;z-index:1;right:9vw;top:50%;transform:translateY(-50%);width:min(30vw,28.75rem);aspect-ratio:1/1.7}
.step-pill .si{position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.step-pill .si.on{opacity:1}
.step-copy{position:absolute;left:var(--gut);bottom:4.875rem;max-width:30ch;display:grid;color:var(--mute)}
.sc{grid-area:1/1;opacity:0;transition:opacity .4s}
.sc.on{opacity:1}

/* app */
.app{padding:clamp(6.25rem,14vw,12.5rem) var(--gut) clamp(6.25rem,12vw,10rem);display:grid;grid-template-columns:1.1fr .9fr;grid-template-areas:"h p" "l p" "c p";align-content:center;column-gap:var(--gut);row-gap:2.25rem}
.app h2{grid-area:h;font-size:var(--h-l);align-self:end}
.app-list{grid-area:l;display:grid;gap:0.625rem;color:var(--mute);align-self:start}
.app-list li{padding-left:1.375rem;position:relative}
.app-list li::before{content:'';position:absolute;left:0;top:.7em;width:0.625rem;height:1px;background:currentColor}
.app-cta{grid-area:c;justify-self:start}
.phone{grid-area:p;justify-self:center;align-self:center;width:min(19.375rem,100%);background:#0d0d0d;border:1px solid #333;outline:0.3125rem solid #1a1a1a;border-radius:2.125rem;padding:1.375rem 1.25rem 0;color:#fff;box-shadow:0 2.5rem 5.625rem #000a;transform:rotate(calc(-9deg + var(--p,0) * 14deg))}
.ph-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.625rem}
.ph-top img{width:4.375rem}
.ph-demo{font-size:0.5625rem;letter-spacing:.1em;border:1px solid #444;border-radius:0.375rem;padding:3px 0.375rem;color:#aaa}
.ph-label{font-size:0.6875rem;color:#8a8d8e}
.ph-title{font-size:1.625rem;line-height:1.1;font-weight:500;letter-spacing:-.04em;margin:0.5rem 0 1.25rem}
.ph-week{display:flex;justify-content:space-between;align-items:center;gap:0.75rem;padding-bottom:1.125rem;margin-bottom:1.125rem;border-bottom:1px solid #2a2a2a}
.ph-week span{font-size:0.6875rem;color:#9a9d9e;display:block;margin-bottom:0.25rem}
.ph-week strong{font-size:1.625rem;font-weight:500;letter-spacing:-.04em;line-height:1}
.ph-week strong small{font-size:0.875rem;color:#888;font-weight:400}
.dots{display:flex;gap:0.3125rem}
.dots i{width:1.5rem;height:1.5rem;border-radius:50%;background:#e8e8e8;color:#000;display:grid;place-items:center}
.dots i:last-child{background:none;border:1px dashed #666}
.dots .icon{width:0.75rem;height:0.75rem;stroke-width:2.2}
.ph-next{display:flex;align-items:center;gap:0.75rem;padding:0.75rem;background:#1b1b1b;border:1px solid #2c2c2c;border-radius:0.875rem;margin-bottom:1.25rem}
.ph-next>div{flex:1;display:grid;gap:2px;min-width:0}
.ph-next small{font-size:0.625rem;color:#8b9092}
.ph-next strong{font-size:0.875rem;font-weight:500}
.ph-next div span{font-size:0.6875rem;color:#9a9fa0}
.ph-ico{width:2.25rem;height:2.25rem;border-radius:0.625rem;background:#2b2b2b;display:grid;place-items:center;color:#ddd}
.ph-next>.icon{width:1rem;height:1rem;color:#8a9092}
.ph-chart>div{display:flex;justify-content:space-between;font-size:0.75rem;color:#c4c4c4}
.ph-chart small{font-size:0.6875rem;color:#888}
.ph-chart svg{width:100%;height:auto;margin-top:0.75rem}
.ph-chart p{font-size:0.625rem;color:#888;margin:0.375rem 0 1rem}
.ph-tabs{display:flex;justify-content:space-around;border-top:1px solid #2a2a2a;padding:0.875rem 0 1rem;color:#777}
.ph-tabs i{display:flex}.ph-tabs .on{color:#fff}
.ph-tabs .icon{width:1.25rem;height:1.25rem;stroke-width:1.5}

/* pricing: three capsules that rise into place */
.pricing{min-height:100svh;padding:clamp(6.25rem,12vw,10.625rem) var(--gut) clamp(6.25rem,11vw,9.375rem)}
.plans-top{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--gut);flex-wrap:wrap;margin-bottom:clamp(2.5rem,5vw,4.5rem)}
.plans-top h2{font-size:var(--h-l)}
.plans-ctrl{display:grid;gap:1.125rem;justify-items:start;max-width:34ch;color:var(--mute)}
.toggle{display:inline-flex;border:1px solid #000;border-radius:62.4375rem;padding:3px}
.toggle button{min-height:2.625rem;padding:0 1.25rem;border-radius:62.4375rem;font-size:0.875rem;font-weight:500;color:#000;transition:background .2s,color .2s}
.toggle button[aria-pressed="true"]{background:#000;color:#fff}
.capsules{display:flex;justify-content:center;align-items:stretch;gap:clamp(0.75rem,1.6vw,1.5rem)}
.cap{flex:0 1 23.75rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0.75rem;padding:clamp(4rem,6.4vw,6.25rem) clamp(1.5rem,2.4vw,2.5rem) clamp(3.75rem,5.4vw,5.5rem);border-radius:62.4375rem;background:#fff;border:1px solid var(--line);translate:0 0;transform:translateY(var(--ry,0));opacity:var(--ro,1);transition:translate .35s var(--ease)}
.cap:hover{translate:0 -0.5rem}
.plan-tabs{display:none;gap:0.375rem;margin-bottom:1.25rem}
.plan-tab{flex:1;min-height:3rem;border:1px solid #000;border-radius:62.4375rem;font-size:0.9375rem;font-weight:500;transition:background .2s,color .2s}
.plan-tab[aria-pressed="true"]{background:#000;color:#fff}
.emblem{width:3rem;height:3rem;margin-bottom:2px}
.cap h3{font-size:clamp(1.625rem,2.5vw,2.5rem);line-height:1}
.cap-desc{color:var(--mute);max-width:22ch}
.amount{white-space:nowrap;font-size:clamp(2.75rem,4.6vw,4.75rem);font-weight:500;letter-spacing:-.06em;line-height:1;font-variant-numeric:tabular-nums;margin:0.5rem 0 0.375rem}
.per{font-size:0.9375rem;letter-spacing:0;color:var(--mute);font-weight:400}
.cap ul{flex:1;display:grid;gap:0.375rem;align-content:start;color:var(--mute);margin-bottom:0.75rem}
.cap .btn{width:100%;max-width:13.125rem}
.cap-main{background:#000;color:#fff;border-color:#000;--mute:var(--mute-d)}
.cap-main .btn{background:#fff;color:#000}
.cap-main .btn:hover{background:#dcdcdc}
.tag{font-size:0.75rem;font-weight:500;border:1px solid currentColor;border-radius:62.4375rem;padding:3px 0.75rem;margin-bottom:0.25rem}
.pricing .note{text-align:center;margin:clamp(2rem,4vw,3.5rem) auto 0}

/* finder: goals beside a capsule that follows the choice */
.finder{min-height:100svh;padding:clamp(6.25rem,12vw,10rem) var(--gut) clamp(5.625rem,10vw,8.125rem);display:flex;flex-direction:column;justify-content:center;gap:clamp(1.5rem,3vw,2.75rem);overflow:hidden}
.finder-q{font-size:var(--h-m);color:var(--mute);letter-spacing:-.05em;line-height:1;position:relative;z-index:2}
.goals{display:grid;justify-items:start;position:relative;z-index:2;color:#fff;mix-blend-mode:difference}
.goal{font-size:clamp(2.75rem,9vw,9.375rem);font-weight:500;letter-spacing:-.07em;line-height:.98;text-align:left;color:#555;transition:color .25s;padding:0;margin-left:-.04em}
.goal:hover{color:#aaa}
.goal:focus-visible{outline:none;border-radius:0;text-decoration:underline;text-decoration-thickness:.035em;text-underline-offset:.1em}
.goal[aria-pressed="true"]{color:#fff}
.finder-pill{position:absolute;z-index:1;right:9vw;top:46%;transform:translateY(-50%);width:min(24vw,22.5rem);aspect-ratio:1/1.65}
.fi{position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease)}
.fi.on{opacity:1}
.recommend{display:grid;grid-template-columns:1.4fr 1fr auto;gap:var(--gut);align-items:end;border-top:1px solid var(--line);padding-top:1.75rem;position:relative;z-index:2}
.rec-main{display:grid;gap:0.625rem}
.rec-main h3{font-size:clamp(1.75rem,3.2vw,3rem);line-height:1}
.rec-main #recText{color:var(--mute);max-width:44ch}
.rec-meta{display:flex;gap:clamp(1.25rem,3vw,3rem)}
.rec-meta dt{font-size:0.75rem;color:var(--mute);margin-bottom:0.25rem}
.rec-meta dd{font-size:clamp(1.125rem,1.6vw,1.5rem);font-weight:500;letter-spacing:-.03em;white-space:nowrap}
.recommend.swap{animation:swap .25s var(--ease)}
@keyframes swap{from{opacity:.3;transform:translateY(0.375rem)}to{opacity:1;transform:none}}

/* faq: questions as big type */
.faq-scene{min-height:100svh;padding:clamp(6.25rem,12vw,10.625rem) var(--gut) clamp(5.625rem,10vw,8.75rem)}
.faq-scene h2{font-size:var(--h-l);margin-bottom:clamp(2.5rem,5vw,5rem)}
.faq{border-top:1px solid #000}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;min-height:clamp(5.25rem,9vw,8.25rem);padding:1.125rem 0;font-size:clamp(1.5rem,3.6vw,3.625rem);font-weight:500;letter-spacing:-.055em;line-height:1.02;transition:opacity .2s}
.faq summary::-webkit-details-marker{display:none}
.faq:hover summary{opacity:.4}.faq summary:hover,.faq details[open] summary{opacity:1}
.plus{position:relative;flex-shrink:0;width:clamp(2.5rem,4vw,3.75rem);aspect-ratio:1;border:1px solid #000;border-radius:50%;transition:transform .3s var(--ease),background .2s}
.plus::before,.plus::after{content:'';position:absolute;left:50%;top:50%;width:38%;height:1.5px;background:#000;transform:translate(-50%,-50%);transition:background .2s}
.plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .plus{transform:rotate(45deg);background:#000}
.faq details[open] .plus::before,.faq details[open] .plus::after{background:#fff}
.faq details p{color:var(--mute);padding:0 clamp(0px,8vw,8.75rem) clamp(1.75rem,3vw,2.75rem) 0;max-width:52ch;font-size:clamp(1.0625rem,1.5vw,1.375rem);line-height:1.55}

/* finale: dark, pill fields */
.finale{min-height:100svh;padding:clamp(6.875rem,12vw,10.625rem) var(--gut) clamp(4.375rem,8vw,6.875rem);display:grid;grid-template-columns:1fr minmax(20rem,33.75rem);gap:var(--gut);align-items:center}
.finale h2{font-size:var(--h-l)}
.form{display:grid;gap:1.375rem}
.form .mute{max-width:40ch}
.field{display:grid;gap:0.5rem}
.field label{font-size:0.8125rem;color:var(--mute);padding-left:0.375rem}
.field input,.field select{min-height:3.75rem;padding:0 1.75rem;border:1px solid #ffffff55;border-radius:62.4375rem;background:transparent;color:#fff;font-size:1.0625rem;appearance:none;transition:border-color .2s,box-shadow .2s}
.field select option{color:#000;background:#fff}
.field input:hover,.field select:hover{border-color:#ffffffaa}
.field input:focus,.field select:focus{outline:none;border-color:#fff;box-shadow:0 0 0 3px #ffffff33}
.field input[aria-invalid="true"]{border-color:#FF8A80}
.field select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.5rem center;background-size:1.25rem;padding-right:3.5rem}
.err{font-size:0.8125rem;color:#FF8A80;padding-left:0.375rem}
.err:empty{display:none}
.form .btn{justify-self:start;min-width:13.75rem;min-height:3.5rem}
.result{display:grid;gap:0.625rem;padding-top:0.75rem;border-top:1px solid var(--line)}
.result[hidden]{display:none}
.result p{font-weight:500;display:flex;gap:0.5rem;align-items:center}
.result textarea{width:100%;resize:vertical;border:1px solid #ffffff55;border-radius:1.25rem;padding:1rem;background:#0d0d0d;color:#fff;font-size:0.875rem;line-height:1.6}

/* footer */
.footer{padding:clamp(3.5rem,7vw,7rem) var(--gut) calc(5rem + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:3rem var(--gut);align-items:start}
.foot-lead{font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:500;letter-spacing:-.045em;line-height:1.08;max-width:14em;margin-bottom:1.75rem;text-wrap:balance}
.foot-col{display:grid;gap:.125rem;align-content:start}
.foot-h{font-size:.8125rem;font-weight:400;letter-spacing:0;line-height:1.4;color:var(--mute);margin-bottom:.75rem}
.foot-col a{font-size:1rem;width:max-content;max-width:100%;min-height:2.5rem;padding:.25em 0;display:inline-flex;align-items:center;background:linear-gradient(currentColor,currentColor) 0 calc(100% - .45em)/0 1px no-repeat;transition:background-size .3s var(--ease)}
.foot-col a:hover{background-size:100% 1px}
.lang-switch{display:inline-flex;background:#ffffff1f;border-radius:62.4375rem;padding:.1875rem;width:max-content}
.lang-opt{min-height:2.5rem;padding:0 1.25rem;border-radius:62.4375rem;font-size:.875rem;font-weight:500;color:#fff;transition:background .2s,color .2s}
.lang-opt[aria-pressed="true"]{background:#fff;color:#000}
.foot-note{margin-top:1rem;max-width:26ch}
.footer-mark{--w:clamp(9rem,24vw,20rem);display:flex;align-items:center;gap:calc(var(--w) * .09);margin:clamp(3rem,6vw,6rem) 0 clamp(1.75rem,3vw,2.75rem)}
.footer-mark img{width:var(--w);height:auto}
.footer-mark .fit{font-size:calc(var(--w) * .21);font-weight:500;letter-spacing:-.04em;line-height:1.1;padding-left:calc(var(--w) * .09);border-left:2px solid #ffffff59}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.25rem;flex-wrap:wrap;padding-top:1.25rem;border-top:1px solid var(--line)}
.foot-top{display:inline-flex;align-items:center;gap:.75rem;min-height:3rem;font-weight:500}
.foot-top i{width:2.5rem;height:2.5rem;border:1px solid #ffffff55;border-radius:50%;position:relative;transition:background .2s}
.foot-top i::before{content:'';position:absolute;left:50%;top:52%;width:.5rem;height:.5rem;border-left:1.5px solid #fff;border-top:1.5px solid #fff;transform:translate(-50%,-50%) rotate(45deg);transition:border-color .2s}
.foot-top:hover i{background:#fff}.foot-top:hover i::before{border-color:#000}

/* menu: full screen, image capsule follows the link you point at */
html.menu-open,body.menu-open{overflow:hidden}
.mobile-drawer{position:fixed;inset:0;margin:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;background:#000;color:#fff;padding:0 var(--gut) max(1.5rem,env(safe-area-inset-bottom));overflow:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .55s var(--ease)}
.mobile-drawer[open]{display:flex;flex-direction:column}
.mobile-drawer.is-open{clip-path:inset(0)}
.mobile-drawer::backdrop{background:#000}
.drawer-top{height:4.5rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.drawer-title{font-size:0.875rem;color:var(--mute-d)}
.drawer-close{display:inline-flex;align-items:center;gap:0.625rem;min-height:2.75rem;padding:0 0.25rem;font-size:0.875rem;font-weight:500}
.drawer-close i{position:relative;width:1.125rem;height:1.125rem}
.drawer-close i::before,.drawer-close i::after{content:'';position:absolute;left:0;top:50%;width:100%;height:1.5px;background:#fff;transform:rotate(45deg)}
.drawer-close i::after{transform:rotate(-45deg)}
.drawer-main{flex:1;display:flex;align-items:center;position:relative;min-height:0}
.drawer-links{display:grid;position:relative;z-index:2;mix-blend-mode:difference;color:#fff}
.drawer-links a{display:flex;align-items:flex-start;gap:clamp(0.75rem,1.6vw,1.5rem);font-size:clamp(2.125rem,min(9.2vh,7.4vw),7rem);font-weight:500;letter-spacing:-.065em;line-height:1.04;transition:opacity .25s}
.drawer-links:hover a,.drawer-links:focus-within a{opacity:.28}
.drawer-links a:hover,.drawer-links a:focus-visible{opacity:1}
.drawer-links .n{font-size:0.8125rem;letter-spacing:0;font-weight:400;margin-top:.9em;min-width:2ch;font-variant-numeric:tabular-nums;opacity:.7}
.drawer-links .t{display:block;overflow:hidden;padding:.12em .16em .14em 0;margin:-.12em -.16em -.14em 0}
.drawer-links .t>span{display:block;transform:translateY(105%);transition:transform .7s var(--ease)}
.is-open .drawer-links .t>span{transform:none}
.is-open .drawer-links a:nth-child(2) .t>span{transition-delay:.04s}.is-open .drawer-links a:nth-child(3) .t>span{transition-delay:.08s}.is-open .drawer-links a:nth-child(4) .t>span{transition-delay:.12s}.is-open .drawer-links a:nth-child(5) .t>span{transition-delay:.16s}.is-open .drawer-links a:nth-child(6) .t>span{transition-delay:.2s}.is-open .drawer-links a:nth-child(7) .t>span{transition-delay:.24s}
.drawer-links a[aria-current="true"] .t>span::after{content:'';display:inline-block;width:.13em;height:.13em;border-radius:50%;background:currentColor;margin-left:.16em;vertical-align:.12em}
.drawer-pill{position:absolute;z-index:1;right:9vw;top:50%;transform:translateY(-50%);width:min(24vw,22.5rem);aspect-ratio:1/1.65}
.di{position:absolute;inset:0;opacity:0;transition:opacity .45s var(--ease)}
.di.on{opacity:1}
.drawer-bottom{flex-shrink:0;padding-top:1.25rem;display:flex;justify-content:space-between;align-items:center}
.lang{min-height:2.75rem;padding:0 0.75rem;font-size:0.8125rem;font-weight:500;color:#fff;border-radius:62.4375rem;margin-left:-0.75rem}
.lang:hover{background:#ffffff1f}

/* one orchestrated moment: hero lines rise on load */
@media(prefers-reduced-motion:no-preference){
  .js .hero .ln>span{animation:rise 1s var(--ease) both}
  .js .hero .ln:nth-child(2)>span{animation-delay:.12s}
  .js .hero-pill{animation:pillIn 1.2s var(--ease) .2s both}
  @keyframes rise{from{transform:translateY(105%)}to{transform:none}}
  @keyframes pillIn{from{clip-path:inset(100% 0 0 0 round 62.4375rem)}to{clip-path:inset(0 round 62.4375rem)}}
}

/* tablet / phone */
@media(max-width:62.5em){
  .capsules{gap:0.75rem}
  .cap{padding-inline:1.25rem}
  .cap ul{font-size:0.875rem}
}
@media(max-width:56.25em){
  .foot-grid{grid-template-columns:1fr 1fr 1fr}.foot-brand{grid-column:1/-1}
  .app{grid-template-columns:1fr;grid-template-areas:"h" "p" "l" "c";row-gap:2.5rem}
  .app h2{align-self:start}
  .finale{grid-template-columns:1fr;align-items:start}
  .recommend{grid-template-columns:1fr;align-items:start}
  .rec-meta{flex-wrap:wrap}
}
@media(max-width:43.75em){
  :root{--h-xl:17.5vw}
  .hud-bottom{grid-template-columns:1fr 1fr}
  .hud-mid{display:none}
  .hud-values{font-size:0.6875rem}
  .hud-top{height:4rem}
  .hero{align-items:flex-start;padding-top:7.5rem;min-height:100svh}
  .hero-pill{right:-6vw;top:auto;bottom:9.375rem;transform:none;width:62vw}
  .hero-copy{bottom:7.625rem;max-width:24ch;left:var(--gut)}
  .hero-cta{bottom:4.25rem}
  .step-pill{right:-6vw;top:auto;bottom:9.375rem;transform:none;width:60vw}
  .step-words{top:34%}
  .step-copy{bottom:7rem;max-width:26ch}
  .count{top:5.25rem}
  .pin-steps{height:340vh}
  .pin-words{height:220vh}
  .finder{min-height:auto;justify-content:flex-start;padding-top:6.5rem;padding-bottom:7.5rem;gap:1.625rem}
  .cap{padding-bottom:1.5rem}
  /* plans: tabs + one card */
  .plan-tabs{display:flex}
  .capsules{display:block}
  .cap{display:none;width:100%;border-radius:2.25rem;align-items:flex-start;text-align:left;gap:0.625rem;padding:2rem 1.5rem 1.5rem;--ry:0px!important;--ro:1!important}
  .cap.on{display:flex;animation:swap .3s var(--ease)}
  .cap .btn{max-width:none;min-height:3.375rem}
  .cap-desc{max-width:none}
  .cap ul{width:100%;gap:0;margin:0.5rem 0 1.25rem;border-top:1px solid var(--line)}
  .cap li{display:flex;align-items:center;gap:0.75rem;padding:0.8125rem 0;border-bottom:1px solid var(--line);color:inherit;font-size:0.9375rem}
  .cap li::before{content:'';width:0.875rem;height:0.5rem;border-left:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg) translateY(-2px);flex-shrink:0}
  .amount{font-size:clamp(3.25rem,16vw,4.5rem);margin:0.875rem 0 0.25rem}
  .cap .tag{margin-bottom:0}
  /* footer */
  .footer{padding-top:3rem}
  .foot-grid{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}
  .foot-brand{grid-column:1/-1}
  .foot-lead{font-size:clamp(2rem,9.6vw,2.75rem);margin-bottom:1.5rem}
  .foot-brand .btn{width:100%;min-height:3.5rem}
  .foot-col a{font-size:1.0625rem;min-height:2.75rem}
  .foot-col:last-child{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;padding-top:1.5rem;border-top:1px solid var(--line)}
  .foot-col:last-child .foot-h{margin:0}
  .foot-note{flex-basis:100%;margin-top:.5rem;max-width:none}
  .footer-mark{margin:3rem 0 1.5rem}
  .foot-bottom{flex-wrap:nowrap;align-items:center;padding-top:1rem}
  .foot-bottom p{font-size:.75rem;line-height:1.5;max-width:24ch}
  .foot-top span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  .foot-top i{width:3rem;height:3rem}
  .finder-pill{position:relative;right:auto;top:auto;bottom:auto;transform:none;width:100%;aspect-ratio:16/10}
  .goals{mix-blend-mode:normal}
  .goal{font-size:clamp(2.5rem,12.4vw,4.5rem)}
  .finale .form{gap:1.125rem}
  .drawer-top{height:4rem}
  .drawer-pill{display:none}
  .drawer-links a{font-size:clamp(2.125rem,min(9vh,13vw),5.25rem)}
  .faq details p{padding-right:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .pin-words,.pin-steps{height:auto}
  .stage{position:static;height:auto}
  .pin-words .stage{padding:clamp(6.25rem,14vw,12.5rem) var(--gut)}
  .js .words .w{opacity:1}
  .pin-steps .stage{padding:7.5rem var(--gut);display:grid;gap:3rem}
  .count,.step-pill{display:none}
  .step-words,.step-copy{position:static;transform:none;display:grid;gap:2.5rem;mix-blend-mode:normal;color:inherit}
  .step{grid-area:auto;opacity:1;transform:none;font-size:var(--h-l)}
  .sc{grid-area:auto;opacity:1}
  .phone{transform:none}
  .cap{transform:none;opacity:1}
  .drawer-links .t>span{transform:none}
}
