:root{
  --ground:#0a0e1a; --ground2:#131a2c; --ink:#ede8de; --paper:#e8e6e0; --paper2:#dfddd6; --navy:#0a0e1a;
  --r:#9a5bb0; --c:#1ba3b8; --m:#84b93f;
  --serif:"Fraunces",Georgia,serif; --sans:"Geist",system-ui,sans-serif;
  --small:clamp(.8125rem,.79rem + .1vw,.875rem);
  --body:clamp(1.0625rem,1rem + .25vw,1.1875rem);
  --head:clamp(2.1rem,1.2rem + 3.4vw,4.6rem);
  --display:clamp(3.4rem,1rem + 8.2vw,9.6rem);
  --gut:clamp(16px,2.4vw,32px);
}
*{box-sizing:border-box}
html{background:var(--ground);color:var(--ink);-webkit-text-size-adjust:100%}
html.lenis{height:auto}.lenis.lenis-smooth{scroll-behavior:auto}
body{margin:0;background:transparent;font-family:var(--sans);font-size:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:300;margin:0;letter-spacing:-.03em;line-height:1;font-variation-settings:"opsz" 144}
p{margin:0}
sup{font-size:.6em;line-height:0}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.body{max-width:34em}
.small{font-size:var(--small);line-height:1.5;max-width:40em}
.micro{font-size:var(--small);margin-top:14px}

.field{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}

/* buttons: flat, square */
.btn{display:inline-block;background:var(--ink);color:var(--navy);text-decoration:none;font-weight:500;padding:17px 26px;border-radius:0;line-height:1.2;transition:background .2s}
.btn:hover{background:#fff}
.btn-small{padding:11px 18px;font-size:var(--small)}
.btn-dark{background:var(--navy);color:var(--ink)}
.btn-dark:hover{background:#1d2540}
.btn-wide{display:block;text-align:center}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;gap:32px;padding:14px var(--gut);transition:background .3s}
.nav.solid{background:var(--ground)}
.wordmark{font-family:var(--serif);font-size:1.6rem;letter-spacing:-.03em;text-decoration:none;margin-right:auto}
.nav-links{display:flex;gap:28px}
.nav-links a{text-decoration:none;font-size:var(--small)}
.nav-links a:hover{text-decoration:underline}

section{padding:clamp(110px,14vw,220px) var(--gut)}

/* hero */
.hero{min-height:100svh;display:grid;grid-template-columns:5fr 7fr;align-items:center;gap:var(--gut);padding-top:110px;padding-bottom:80px}
.hero h1{font-size:var(--display);line-height:.9;letter-spacing:-.045em}
.lede{margin:32px 0 36px;max-width:28em}
.hero-art img{width:100%;max-width:810px;margin-left:auto}

/* decline */
.decline{padding-top:0;padding-bottom:clamp(110px,14vw,220px)}
.decline-pin{min-height:100svh;display:grid;grid-template-columns:5fr 6fr;gap:var(--gut);align-items:center}
.decline h2{font-size:var(--head);max-width:9em}
.decline .body{margin:28px 0 48px}
.readout{margin-bottom:28px;font-family:var(--serif);font-size:var(--head);letter-spacing:-.03em;line-height:1.05}
.readout .age{opacity:.55}
.readout .ratio{font-variant-numeric:tabular-nums}
.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:clamp(8px,1.4vw,18px);width:min(100%,560px,66svh);justify-self:end}
.dot{aspect-ratio:1;border-radius:50%;background:#262e45;position:relative;overflow:hidden}
.dot i{position:absolute;inset:0;background:var(--ink);border-radius:50%;opacity:var(--o,1);transition:opacity .15s}
.decline-close{font-family:var(--serif);font-size:var(--head);letter-spacing:-.03em;line-height:1.05;max-width:16em;margin-top:clamp(80px,10vw,160px)}

/* journey */
.journey{padding:0}
.journey-pin{height:100svh;position:relative;overflow:hidden}
.stages{position:absolute;left:var(--gut);top:0;bottom:0;width:min(36%,520px);display:grid;align-items:center}
.stage{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity .45s,visibility .45s;display:grid;grid-template-columns:auto 1fr;column-gap:24px;align-items:end}
.stage.on{opacity:1;visibility:visible}
.letter{font-family:var(--serif);font-size:var(--display);line-height:.8;color:var(--c);letter-spacing:-.04em}
.stage h2{font-size:var(--head);padding-bottom:.08em}
.bottle{grid-column:1/-1;width:clamp(110px,10vw,150px);aspect-ratio:250/594;overflow:hidden;margin:28px 0 20px}
.bottle img{width:324%;max-width:none;transform:translateX(var(--x))}
.product{grid-column:1/-1;font-weight:500;margin-bottom:10px}
.product span{font-weight:400;margin-left:10px}
.stage .body,.stage .small{grid-column:1/-1}
.stage .small{margin-top:14px}
.journey-labels{position:absolute;left:0;right:0;height:1.5em;font-size:var(--small);pointer-events:none}
.journey-labels span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.journey.static .journey-pin{height:auto;overflow:visible;padding:clamp(110px,14vw,220px) var(--gut)}
.journey.static .stages{position:static;width:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gut)}
.journey.static .stage{opacity:1;visibility:visible;grid-area:auto}
.journey.static .journey-labels{display:none}

/* honest */
.honest{background:var(--ground2)}
.honest h2{font-size:var(--display);max-width:11em;line-height:.95}
.honest .body{margin:36px 0 72px}
.compare{width:100%;max-width:1000px;margin-left:auto;border-collapse:collapse;font-size:var(--body)}
.compare th,.compare td{text-align:left;padding:20px 16px 20px 0;vertical-align:top;border-bottom:1px solid #2a3350}
.compare thead th{font-family:var(--serif);font-weight:300;font-size:1.6rem;letter-spacing:-.02em}
.compare tbody th{font-weight:400;width:22%}
.compare td:last-child{color:#fff}

/* bundle */
.bundle{background:var(--paper);color:var(--navy);display:grid;grid-template-columns:7fr 5fr;gap:var(--gut);align-items:center}
.bundle h2{font-size:var(--head)}
.bundle .body{margin:24px 0 36px}

/* shop */
.shop{background:var(--paper2);color:var(--navy)}
.shop h2{font-size:var(--head);margin-bottom:64px}
.rows{list-style:none;margin:0;padding:0}
.rows li{display:grid;grid-template-columns:90px minmax(180px,1.1fr) 2fr 110px 150px;gap:var(--gut);align-items:center;padding:26px 0;min-height:120px}
.rows li:nth-child(odd){background:#d5d2ca;margin:0 calc(var(--gut) * -1);padding-left:var(--gut);padding-right:var(--gut)}
.rows h3{grid-column:2;font-size:1.75rem;letter-spacing:-.02em;line-height:1.1}
.rows img{grid-column:1;grid-row:1;height:110px;width:auto;margin:0 auto}
.rows p:not(.price){grid-column:3}
.price{grid-column:4;font-variant-numeric:tabular-nums;font-weight:500}
.add{grid-column:5;background:var(--navy);color:var(--ink);text-decoration:none;text-align:center;padding:13px 16px;font-size:var(--small);font-weight:500}
.add:hover{background:#1d2540}
.out .add{background:transparent;color:var(--navy)}
.out h3,.out p{opacity:.6}

/* science */
.science{display:grid;grid-template-columns:5fr 6fr;gap:var(--gut)}
.science h2{font-size:var(--head);max-width:8em}
.science .body{margin-top:28px}
.science-lists{display:grid;grid-template-columns:1fr 1fr;gap:var(--gut);align-self:end}
.science h3{font-family:var(--sans);font-weight:500;font-size:var(--body);letter-spacing:0;margin-bottom:16px}
.science ul{list-style:none;padding:0;margin:0}
.science li a{display:block;padding:10px 0;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#4a5578}
.science li a:hover{text-decoration-color:var(--ink)}

/* years */
.years{background:var(--ground2)}
.years h2{font-size:var(--head);max-width:10em;margin-bottom:80px}
.timeline{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gut)}
.year{font-family:var(--serif);font-size:var(--head);letter-spacing:-.03em;line-height:1;margin-bottom:20px}

/* final */
.final{min-height:80svh;display:flex;flex-direction:column;justify-content:center}
.final h2{font-size:var(--display);max-width:10em;line-height:.95}
.final .body{margin:32px 0 40px}
.final .btn{align-self:flex-start}

/* footer */
.foot{padding:80px var(--gut) 60px}
.foot-links{display:flex;gap:28px;margin-bottom:28px}
.fine{font-size:var(--small);max-width:46em;margin-bottom:10px}
.foot-mark{font-family:var(--serif);font-weight:300;font-size:21.5vw;letter-spacing:-.06em;line-height:.8;margin-top:60px;white-space:nowrap}

.buybar{display:none}
.ribbon{position:fixed;left:0;right:0;bottom:0;z-index:30;text-align:center;font-size:.8125rem;padding:5px;background:rgba(10,14,26,.94);color:#cfc9bd;letter-spacing:.02em}

@media (max-width:860px){
  .nav-links{display:none}
  .hero{grid-template-columns:1fr;min-height:auto;padding-top:96px;gap:8px}
  .hero-art{order:-1}
  .hero-art img{max-width:440px;margin:0 auto}
  .lede{margin:22px 0 26px}
  .decline-pin{grid-template-columns:1fr;min-height:100svh;align-content:center;padding-top:72px;padding-bottom:70px;gap:28px}
  .decline .readout{margin-bottom:14px}
  .dots{justify-self:start;width:min(100%,34svh);gap:6px}
  .decline .body{margin:20px 0 28px}
  .stages{left:var(--gut);right:var(--gut);width:auto;top:auto;bottom:0;height:56%;align-items:start;background:var(--ground);padding-top:22px}
  .stage{column-gap:14px}
  .decline-close{font-size:1.5rem;line-height:1.25}
  .journey-labels{display:none}
  .letter{font-size:4.2rem}
  .bottle{position:absolute;right:0;top:0;margin:0;width:62px}
  .stage .small{display:none}
  .product{margin-top:16px}
  .compare thead th{font-size:1.15rem}
  .compare th,.compare td{padding:14px 10px 14px 0;font-size:.95rem}
  .bundle{grid-template-columns:1fr}
  .rows li{grid-template-columns:1fr auto;gap:6px 16px;padding:22px 0}
  .rows li:nth-child(odd){padding-left:var(--gut);padding-right:var(--gut)}
  .rows img{display:none}
  .rows h3{grid-column:1;font-size:1.45rem}
  .rows p:not(.price){grid-column:1/-1;grid-row:2}
  .price{grid-column:2;grid-row:1}
  .add{grid-column:1/-1;grid-row:3;margin-top:10px}
  .science{grid-template-columns:1fr;gap:56px}
  .science-lists{grid-template-columns:1fr;gap:40px}
  .timeline{grid-template-columns:1fr;gap:48px}
  .buybar{display:block;position:fixed;left:0;right:0;bottom:24px;z-index:25;padding:0 12px;transform:translateY(140%);transition:transform .3s}
  .buybar.show{transform:none}
  .foot{padding-bottom:90px}
}
@media (max-width:860px){.journey.static .stages{grid-template-columns:1fr}.journey.static .bottle{position:static;width:110px;margin:20px 0}}
