@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Fraunces-italic-bf1253.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 600;
  font-display: swap;
  src: url(/fonts/Fraunces-normal-39ce20.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inter-normal-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/Inter-normal-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inter-normal-567244.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-480c06.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/fonts/JetBrainsMono-normal-480c06.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
:root{
  --ink:#111B2B; --ink-2:#2A3446; --muted:#5C6473; --line:#E2DBCF;
  --bone:#F4EFE7; --paper:#FBF8F3; --white:#FFFFFF;
  --signal:#F26B3A; --signal-d:#E35D2E; --signal-t:#FCE3D8; --signal-text:#B5441A; --signal-em:#D8552A;
  --opt:#CFE6D6; --opt-d:#24613F; --norm:#E6DFD3; --flag:#E4573D; --amber:#E69A2E;
  --serif:"Fraunces", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  --r:22px; --max:1240px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bone);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:2px;background:var(--signal);border-radius:2px}
h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.012em;margin:0;font-variation-settings:"opsz" 72}
h2{font-size:clamp(34px,4.2vw,56px);line-height:1.04}
h3{font-size:22px;line-height:1.2;font-variation-settings:"opsz" 30}
p{margin:0}
.lead{font-size:19px;line-height:1.6;color:var(--ink-2)}
.btn{display:inline-flex;align-items:center;gap:10px;height:54px;padding:0 26px;border-radius:999px;font:600 15px/1 var(--sans);text-decoration:none;transition:transform .2s ease, background .2s ease}
.btn-primary{background:var(--signal);color:var(--ink);box-shadow:0 10px 24px -10px rgba(242,107,58,.8)}
.btn-primary:hover{background:var(--signal-d);transform:translateY(-1px)}
.btn-ghost{color:var(--ink);padding:0 6px}
.btn-ghost span{border-bottom:1.5px solid var(--ink)}
.btn-dark{background:var(--ink);color:#fff}

/* header */
.hdr{position:sticky;top:0;z-index:30;background:rgba(244,239,231,.86);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid transparent;transition:border-color .2s}
.hdr.scrolled{border-bottom-color:var(--line)}
.hdr .wrap{display:flex;align-items:center;height:78px;gap:40px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 25px/1 var(--serif);letter-spacing:-.03em;font-variation-settings:"opsz" 60}
.logo svg{width:34px;height:34px}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{text-decoration:none;font-size:15px;color:var(--ink-2)}
.nav a:hover{color:var(--ink)}
.hdr-cta{display:flex;align-items:center;gap:18px}
.hdr-cta .login{font-size:15px;text-decoration:none;color:var(--ink-2)}
.hdr .btn{height:44px;padding:0 20px;font-size:14px}
.burger{display:none;margin-left:auto;background:none;border:0;width:44px;height:44px;padding:10px;cursor:pointer}
.burger span{display:block;height:2px;background:var(--ink);margin:6px 0;border-radius:2px}

/* hero */
.hero{padding:56px 0 88px}
.hero .wrap{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center}
.hero h1{font-size:clamp(46px,6vw,82px);line-height:1;letter-spacing:-.022em;font-variation-settings:"opsz" 96}
.hero h1 .kick{display:flex;align-items:center;gap:10px;font:500 12px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:26px}
.hero h1 .kick::before{content:"";width:22px;height:2px;background:var(--signal);border-radius:2px}
.hero h1 em{font-style:italic;color:var(--signal-em);font-weight:400}
.hero .lead{margin:28px 0 36px;max-width:520px}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.micro{display:flex;gap:22px;flex-wrap:wrap;margin-top:34px;font-size:14px;color:var(--muted)}
.micro span{display:flex;align-items:center;gap:8px}
.micro svg{width:16px;height:16px;color:var(--opt-d)}
.hero-media{position:relative}
.hero-photo{border-radius:28px;overflow:hidden;aspect-ratio:4/5;background:#ddd}
.hero-photo img{width:100%;height:100%;object-fit:cover}
.readout{position:absolute;left:-56px;bottom:-48px;width:min(420px,88%);background:var(--paper);border-radius:20px;padding:22px 22px 18px;box-shadow:0 2px 3px rgba(17,27,43,.06),0 18px 40px -12px rgba(17,27,43,.28),0 40px 80px -30px rgba(17,27,43,.25)}
.readout-hd{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px}
.readout-hd b{font:600 15px/1.2 var(--sans)}
.readout-hd small{font:500 11px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.mk{display:grid;grid-template-columns:1fr auto;gap:6px 12px;padding:12px 0;border-top:1px solid var(--line)}
.mk-name{font-size:14px;font-weight:600}
.mk-name small{font-weight:400;color:var(--muted);margin-left:6px}
.mk-val{font:500 14px/1.3 var(--mono);text-align:right}
.mk .rb{grid-column:1/-1}
.tag{display:inline-block;font:600 10.5px/1 var(--sans);letter-spacing:.04em;text-transform:uppercase;padding:5px 8px;border-radius:999px;margin-left:8px;vertical-align:1px}
.tag.ok{background:var(--opt);color:var(--opt-d)}
.tag.warn{background:#F9E6C6;color:#8A5A12}
.tag.flag{background:#F9D8D1;color:#A8321F}
.readout-ft{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:12px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-2)}
.readout-ft b{color:var(--signal-text)}
.sample{position:absolute;top:18px;right:18px;background:rgba(17,27,43,.72);color:#fff;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;border-radius:999px;backdrop-filter:blur(6px)}

/* range bar - the signature */
.rb{position:relative;height:18px}
.rb i{position:absolute;top:7px;height:4px;border-radius:4px}
.rb .track{left:0;right:0;background:#EFEAE2}
.rb .norm{background:#D6CCBB}
.rb .opt{top:5px;height:8px;background:var(--opt)}
.rb .you{top:2px;width:14px;height:14px;margin-left:-7px;border-radius:50%;background:var(--ink);border:3px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink)}
.rb.warn .you{background:var(--amber);box-shadow:0 0 0 1.5px var(--amber)}
.rb.flag .you{background:var(--flag);box-shadow:0 0 0 1.5px var(--flag)}
.rb.ok .you{background:var(--opt-d);box-shadow:0 0 0 1.5px var(--opt-d)}

/* trust */
.trust{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper)}
.trust .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.trust div{display:flex;gap:14px;align-items:center;padding:26px 20px;font-size:15px;font-weight:500}
.trust div+div{border-left:1px solid var(--line)}
.trust svg{flex:none;width:36px;height:36px;padding:8px;border-radius:12px;background:var(--bone);color:var(--ink)}

section{padding:120px 0}
.sec-hd{max-width:760px;margin-bottom:56px}
.sec-hd h2{margin:18px 0 20px}

/* gap / compare */
.gap .wrap{display:grid;grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}
.gap .body p+p{margin-top:16px}
.compare{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line)}
.compare-row{display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--line)}
.compare-row:first-child{border-top:0}
.compare-row>div{padding:18px 22px;font-size:15px}
.compare-row>div:first-child{font:500 12px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);align-self:center}
.compare-row.head>div{font:600 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink)}
.compare-row>div:last-child{background:#FFF6F1;font-weight:500}
.compare-row.head>div:last-child{background:var(--ink);color:#fff}
.compare-row.head>div:nth-child(2){color:var(--muted)}

/* normal vs optimal */
.nvo{background:var(--ink);color:#fff}
.nvo .eyebrow{color:#A9B1BF}
.nvo .lead{color:#C9CFD9}
.nvo-demo{background:#18253A;border:1px solid #26344B;border-radius:28px;padding:56px 56px 44px}
.nvo-top{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;gap:24px;flex-wrap:wrap}
.nvo-top h3{font-size:30px}
.nvo-top .v{font:500 44px/1 var(--mono);letter-spacing:-.02em}
.nvo-top .v small{font-size:16px;color:#A9B1BF;margin-left:6px}
.bigbar{position:relative;height:120px}
.bigbar .scale{position:absolute;left:0;right:0;top:52px;height:6px;border-radius:6px;background:#2B3A52}
.bigbar .n{position:absolute;top:44px;height:22px;border-radius:12px;background:rgba(230,223,211,.3)}
.bigbar .o{position:absolute;top:40px;height:30px;border-radius:16px;background:var(--opt)}
.bigbar .y{position:absolute;top:31px;width:48px;height:48px;margin-left:-24px;border-radius:50%;background:var(--amber);border:6px solid #18253A;box-shadow:0 0 0 2px var(--amber)}
.bigbar .lbl{position:absolute;font:500 12px/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#A9B1BF;white-space:nowrap}
.bigbar .lbl.top{top:0}
.bigbar .lbl.bot{top:92px}
.bigbar .lbl b{display:block;color:#fff;font-weight:500}
.nvo-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.nvo-card{border-radius:18px;padding:24px;background:#1E2C43;border:1px solid #2B3A52}
.nvo-card .dot{width:14px;height:14px;border-radius:50%;margin-bottom:18px}
.nvo-card h3{font-size:20px;margin-bottom:8px}
.nvo-card p{font-size:15px;color:#C9CFD9}
.nvo-note{margin-top:22px;font-size:13px;color:#8E97A7}

/* steps */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.step{background:var(--paper);border-radius:var(--r);overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column}
.step-img{aspect-ratio:4/3;overflow:hidden}
.step-img img{width:100%;height:100%;object-fit:cover}
.step-body{padding:24px 24px 28px}
.step-n{font:500 12px/1 var(--mono);letter-spacing:.12em;color:var(--signal-text);margin-bottom:14px;display:block}
.step h3{margin-bottom:10px}
.step p{font-size:15px;color:var(--ink-2)}
.step.noimg .step-img{background:var(--ink);display:flex;align-items:center;justify-content:center}

/* measure */
.measure{background:var(--paper)}
.measure .top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:48px;flex-wrap:wrap}
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.cat{background:var(--paper);padding:28px 26px 30px;min-height:210px;display:flex;flex-direction:column}
.cat .n{font:500 12px/1 var(--mono);color:var(--muted);letter-spacing:.08em}
.cat h3{margin:18px 0 10px;font-size:21px}
.cat p{font-size:14px;color:var(--muted);line-height:1.55}
.cat svg{width:26px;height:26px;color:var(--signal)}
.cat-hd{display:flex;justify-content:space-between;align-items:center}
.addons{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;align-items:center;font-size:14px;color:var(--muted)}
.chip{border:1px solid var(--line);background:var(--bone);border-radius:999px;padding:8px 14px;color:var(--ink);font-weight:500}

/* who */
.who .wrap{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.who-photo{border-radius:28px;overflow:hidden;aspect-ratio:1/1}
.who-photo img{width:100%;height:100%;object-fit:cover}
.who-list{list-style:none;padding:0;margin:36px 0 0}
.who-list li{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-top:1px solid var(--line);font-size:17px}
.who-list li:last-child{border-bottom:1px solid var(--line)}
.who-list .ix{font:500 13px/1.9 var(--mono);color:var(--signal-text)}

/* doctor */
.doc{padding-top:0}
.doc-card{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);border-radius:28px;overflow:hidden;border:1px solid var(--line)}
.doc-card .txt{padding:64px}
.doc-card blockquote{margin:22px 0 22px;font:400 34px/1.2 var(--serif);letter-spacing:-.02em;font-variation-settings:"opsz" 80}
.doc-card .img{min-height:100%}
.doc-card .img img{width:100%;height:100%;object-fit:cover;object-position:60% 15%}
.checks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.checks li{display:flex;gap:12px;font-size:16px}
.checks svg{flex:none;width:22px;height:22px;color:var(--opt-d);margin-top:1px}

/* include */
.incl .box{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:28px;overflow:hidden;background:var(--signal-t)}
.incl .l{padding:64px 64px 0;display:flex;flex-direction:column}
.incl .l .tubes{margin:40px -64px 0;flex:1;min-height:220px;overflow:hidden}
.incl .l .tubes img{width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.incl .r{background:var(--paper);padding:56px;display:flex;flex-direction:column;justify-content:center}
.incl ul{list-style:none;padding:0;margin:0}
.incl li{display:flex;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px dashed #D9CFC2;font-size:16px}
.incl li span:last-child{font:500 13px/1.6 var(--mono);color:var(--muted)}
.incl .r .btn{margin-top:30px;justify-content:center}
.incl .r small{display:block;text-align:center;margin-top:14px;color:var(--muted);font-size:13px}

/* faq */
.faq .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:72px}
details{border-top:1px solid var(--line);padding:6px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;font:500 20px/1.35 var(--serif);font-variation-settings:"opsz" 30}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--line);position:relative;background:var(--paper)}
summary .pm::before,summary .pm::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink);transform:translate(-50%,-50%)}
summary .pm::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s}
details[open] summary .pm::after{transform:translate(-50%,-50%) rotate(0)}
details p{padding:0 60px 22px 0;color:var(--ink-2)}

/* final */
.final{background:var(--ink);color:#fff;padding:0;overflow:hidden}
.final .wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center;padding-top:110px;padding-bottom:110px;position:relative}
.final h2{font-size:clamp(38px,4.8vw,64px)}
.final h2 em{font-style:italic;color:var(--signal);font-weight:400}
.final p{color:#C9CFD9;margin-top:22px;font-size:18px}
.final .acts{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.final .acts small{color:#8E97A7}
.final-bar{position:absolute;left:32px;right:32px;bottom:44px}

/* footer */
.ftr{background:#0B1320;color:#A9B1BF;padding:72px 0 40px;font-size:14px}
.ftr .grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.ftr .logo{color:#fff}
.ftr .fh{margin:0 0 16px;color:#fff;font:600 13px/1 var(--sans);letter-spacing:.06em;text-transform:uppercase}
.ftr a{display:block;text-decoration:none;margin:8px 0}
.ftr a:hover{color:#fff}
.ftr .legal{margin-top:56px;padding-top:24px;border-top:1px solid #1E2A3C;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;font-size:12.5px;line-height:1.6}
.ftr .legal p{max-width:760px}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease, transform .7s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

/* responsive */
@media (max-width:1100px){
  .nav{display:none}
  .hdr-cta .login{display:none}
  .hero .wrap,.gap .wrap,.who .wrap,.faq .wrap,.final .wrap{grid-template-columns:1fr;gap:48px}
  .readout{left:20px}
  .steps{grid-template-columns:repeat(2,1fr)}
  .cats{grid-template-columns:repeat(2,1fr)}
  .doc-card,.incl .box{grid-template-columns:1fr}
  .doc-card .img{aspect-ratio:16/10}
  .trust .wrap{grid-template-columns:repeat(2,1fr)}
  .trust div:nth-child(3){border-left:0}
  .trust div:nth-child(n+3){border-top:1px solid var(--line)}
  .ftr .grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .wrap{padding:0 20px}
  .hdr .wrap{height:66px}
  .hdr-cta{margin-left:auto}
  .hdr .btn{height:40px;padding:0 16px;font-size:13px}
  .logo{font-size:22px}.logo svg{width:30px;height:30px}
  .hero{padding:28px 0 72px}
  .hero h1{font-size:44px}
  .hero h1 .kick{font-size:10.5px;margin-bottom:18px}
  .hero .lead{font-size:17px;margin:20px 0 26px}
  .btn{height:50px;padding:0 22px}
  .micro{gap:10px 18px;margin-top:24px;font-size:13px}
  .hero-photo{aspect-ratio:4/4.4}
  .readout{position:relative;left:auto;bottom:auto;width:auto;margin:-80px 14px 0}
  section{padding:80px 0}
  .trust .wrap{grid-template-columns:1fr}
  .trust div{padding:16px 0}
  .trust div+div{border-left:0;border-top:1px solid var(--line)}
  .compare-row{grid-template-columns:.9fr 1fr 1fr}
  .compare-row>div{padding:14px 12px;font-size:13.5px}
  .compare-row>div:first-child{font-size:10.5px}
  .nvo-demo{padding:30px 20px 26px;border-radius:20px}
  .nvo-top h3{font-size:22px}.nvo-top .v{font-size:32px}
  .bigbar .lbl{font-size:10px}
  .nvo-cards{grid-template-columns:1fr}
  .steps,.cats{grid-template-columns:1fr}
  .cat{min-height:0}
  .doc-card .txt,.incl .r{padding:32px 24px}
  .incl .l{padding:32px 24px 0}.incl .l .tubes{margin:28px -24px 0}
  .doc-card blockquote{font-size:26px}
  details p{padding-right:0}
  summary{font-size:18px}
  .final .wrap{padding-top:80px;padding-bottom:120px}
  .ftr .grid{grid-template-columns:1fr}
}
