:root {
  --ink: #321723;
  --ink-soft: #68515a;
  --burgundy: #8f2440;
  --rose: #d96b81;
  --coral: #ef7a63;
  --gold: #dba242;
  --plum: #765090;
  --teal: #4d7f7a;
  --cream: #f7eee8;
  --cream-deep: #eeded5;
  --paper: #fffaf7;
  --line: rgba(50,23,35,.14);
  --shadow: 0 26px 80px rgba(74,41,52,.11);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); line-height:1.55; }
img { display:block; max-width:100%; }
a { color:inherit; }
button,input,textarea { font:inherit; }
.shell { width:min(1180px, calc(100% - 40px)); margin:0 auto; }
.hidden { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(1px,1px,1px,1px)!important; }
.skip-link { position:fixed; left:16px; top:12px; transform:translateY(-150%); background:var(--ink); color:white; padding:10px 14px; border-radius:8px; z-index:1000; }
.skip-link:focus { transform:none; }
.site-header { position:sticky; top:0; z-index:100; backdrop-filter:blur(16px); background:rgba(255,250,247,.9); border-bottom:1px solid rgba(50,23,35,.07); }
.nav-wrap { min-height:76px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:28px; }
.wordmark { font-size:1.5rem; letter-spacing:.42em; text-decoration:none; font-weight:500; }
.wordmark-gradient { background:linear-gradient(90deg,#d84a6b,#cf5592,#69438b); -webkit-background-clip:text; background-clip:text; color:transparent; }
.nav { display:flex; gap:24px; font-size:.78rem; text-transform:uppercase; letter-spacing:.13em; }
.nav a { text-decoration:none; opacity:.72; }
.nav a:hover { opacity:1; }
.nav-cta { justify-self:end; font-size:.78rem; text-transform:uppercase; letter-spacing:.11em; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:4px; }
.hero { min-height:590px; display:grid; grid-template-columns:1.12fr .58fr; align-items:center; gap:80px; padding:84px 0 68px; }
.eyebrow,.section-kicker { text-transform:uppercase; letter-spacing:.18em; font-size:.74rem; font-weight:700; color:var(--burgundy); }
.hero h1,h2,.why-card h3,.founder-card blockquote { font-family:var(--serif); font-weight:400; }
.hero h1 { font-size:clamp(4rem,7.7vw,7.4rem); line-height:.9; letter-spacing:-.055em; margin:18px 0 28px; }
.lede { font-size:clamp(1.08rem,2vw,1.34rem); color:var(--ink-soft); max-width:650px; }
.hero-meta { display:flex; flex-wrap:wrap; gap:12px 28px; margin:28px 0; font-size:.9rem; }
.hero-meta span + span::before { content:'•'; margin-right:28px; color:var(--rose); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 24px; border:1px solid var(--ink); text-decoration:none; text-transform:uppercase; letter-spacing:.11em; font-size:.78rem; font-weight:700; cursor:pointer; transition:.2s; }
.button.primary { background:var(--ink); color:#fff; }
.button:hover { transform:translateY(-1px); }
.microcopy { color:#8c737c; font-size:.78rem; margin-top:16px; max-width:520px; }
.hero-seal { justify-self:center; width:min(360px,100%); position:relative; }
.hero-seal img { width:100%; border-radius:50%; box-shadow:0 24px 70px rgba(107,62,82,.10); opacity:.94; }
.seal-caption { position:absolute; left:15%; right:15%; bottom:20%; padding:6px 4px; text-align:center; background:rgba(250,241,235,.94); color:var(--ink); text-transform:uppercase; letter-spacing:.14em; font-size:.52rem; font-weight:650; }
.banner-section { padding:0 0 110px; }
.wide-image { border-radius:34px; overflow:hidden; background:#eadbd0; box-shadow:var(--shadow); border:1px solid rgba(143,36,64,.08); }
.wide-image img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.section { padding:110px 0 48px; }
.intro-grid { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:end; margin-top:20px; }
.intro h2,.manifesto h2,.access-copy h2,.development-grid h2,.faq h2 { font-size:clamp(3rem,6vw,6rem); line-height:.95; letter-spacing:-.045em; margin:0; font-weight:400; font-family:var(--serif); }
.intro-grid p { max-width:540px; color:var(--ink-soft); font-size:1.06rem; }
.bottle-strip { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; padding-bottom:88px; }
.bottle-image { background:var(--cream); overflow:hidden; aspect-ratio:.8; border-radius:20px; }
.bottle-image img { width:100%; height:100%; object-fit:cover; object-position:center 45%; transition:transform .45s ease; }
.bottle-card:hover img { transform:scale(1.025); }
.bottle-copy { padding:16px 2px 4px; border-top:2px solid var(--accent,var(--burgundy)); }
.bottle-copy span { text-transform:uppercase; letter-spacing:.15em; font-size:.68rem; opacity:.7; }
.bottle-copy h3 { margin:5px 0 0; font-family:var(--serif); font-size:1.65rem; font-weight:400; }
.bottle-copy p { margin:0; color:var(--ink-soft); font-size:.9rem; }
.why-section { border-top:1px solid var(--line); padding-bottom:120px; }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:34px; margin-top:44px; }
.why-card { padding:28px 28px 34px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.48); }
.why-line { display:block; width:52px; height:2px; background:linear-gradient(90deg,var(--rose),var(--gold),var(--plum)); margin-bottom:38px; }
.why-card h3 { font-size:2.35rem; margin:0 0 12px; }
.why-card p { color:var(--ink-soft); margin:0; }
.manifesto { background:var(--ink); color:#f9eee9; padding:122px 0; }
.manifesto .eyebrow { color:#e7a7b4; }
.manifesto-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:100px; }
.manifesto-copy { padding-top:42px; font-size:1.1rem; color:#e5d6d8; }
.manifesto-copy p { padding-bottom:21px; border-bottom:1px solid rgba(255,255,255,.12); }
.manifesto-copy .manifesto-end { border:0; font-family:var(--serif); font-size:1.75rem; color:#fff; }
.founder-section { padding:112px 0; }
.founder-card { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; padding:70px; border-radius:28px; background:linear-gradient(135deg,#f8ebe5,#fff9f5 58%,#f2e9ee); border:1px solid rgba(143,36,64,.08); box-shadow:0 22px 70px rgba(77,37,54,.06); }
.founder-card .section-kicker { grid-column:1/-1; margin-bottom:-22px; }
.founder-card blockquote { margin:0; font-size:clamp(2.8rem,5vw,5rem); line-height:1; letter-spacing:-.035em; }
.founder-copy { color:var(--ink-soft); font-size:1.03rem; }
.founder-copy p:first-child { margin-top:0; }
.signature { margin-top:34px; font-family:var(--serif); font-size:1.35rem; color:var(--ink); font-style:italic; }
.signature strong { font-style:normal; font-weight:400; }
.development-section { padding:0 0 112px; }
.development-grid { display:grid; grid-template-columns:1fr 1fr; gap:88px; align-items:start; border-top:1px solid var(--line); padding-top:68px; }
.development-grid h2 { font-size:clamp(2.6rem,4.8vw,4.7rem); }
.development-copy { color:var(--ink-soft); font-size:1.04rem; padding-top:10px; }
.status-row { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:32px; }
.status-row span { border-top:1px solid var(--line); padding-top:13px; font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; color:#927a83; }
.status-row .done,.status-row .active { color:var(--ink); border-color:var(--burgundy); }
.status-row .active::after { content:' · now'; color:var(--burgundy); }
.early-access { background:var(--cream); padding:124px 0; }
.access-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:86px; align-items:start; }
.access-copy > p { color:var(--ink-soft); max-width:520px; }
.price-card { margin-top:42px; border-top:1px solid var(--ink); border-bottom:1px solid var(--ink); padding:22px 0; display:grid; gap:5px; }
.price-card span { text-transform:uppercase; letter-spacing:.15em; font-size:.72rem; }
.price-card strong { font-family:var(--serif); font-size:2rem; font-weight:400; }
.price-card div { margin-top:12px; }
.price-card b { font-size:1.5rem; margin-left:8px; }
.price-note { font-size:.74rem!important; color:#947985!important; }
.price-note code { background:rgba(255,255,255,.55); padding:2px 5px; }
.waitlist-form { background:var(--paper); padding:42px; box-shadow:var(--shadow); border-radius:24px; }
.waitlist-form label,.waitlist-form legend { font-weight:650; font-size:.82rem; }
.waitlist-form label > span { font-weight:400; opacity:.55; }
.field-row { display:grid; gap:18px; margin-bottom:18px; }
.field-row.two { grid-template-columns:1fr 1fr; }
input[type=text],input[type=tel],input[type=email],textarea { width:100%; border:0; border-bottom:1px solid rgba(50,23,35,.35); background:transparent; padding:12px 0; outline:none; color:var(--ink); border-radius:0; }
input:focus,textarea:focus { border-color:var(--burgundy); }
fieldset { margin:28px 0; border:0; padding:0; }
legend { margin-bottom:12px; }
.choice-grid { display:grid; gap:10px; }
.flavour-choices { grid-template-columns:repeat(3,1fr); }
.intent-choices { grid-template-columns:repeat(3,1fr); }
.choice-grid label { cursor:pointer; }
.choice-grid input { position:absolute; opacity:0; pointer-events:none; }
.choice-grid label > span { min-height:62px; display:flex; flex-direction:column; justify-content:center; gap:2px; border:1px solid var(--line); border-radius:12px; padding:10px 12px; font-weight:650; opacity:1; transition:.2s; }
.choice-grid small { color:var(--ink-soft); font-weight:400; }
.choice-grid input:checked + span { border-color:var(--ink); background:var(--cream); box-shadow:inset 0 0 0 1px var(--ink); }
.consent { display:flex; gap:10px; align-items:flex-start; font-weight:400!important; margin:20px 0; }
.consent input { margin-top:4px; }
.button.full { width:100%; border:0; }
.form-note { font-size:.72rem; color:#8e747d; margin-bottom:0; }
.faq { padding:112px 0 120px; }
.faq-grid { display:grid; grid-template-columns:.75fr 1.25fr; gap:90px; margin-top:20px; }
.faq h2 { font-size:clamp(3rem,5vw,5rem); }
.faq-list details { border-top:1px solid var(--line); padding:22px 0; }
.faq-list details:last-child { border-bottom:1px solid var(--line); }
.faq-list summary { cursor:pointer; font-family:var(--serif); font-size:1.45rem; list-style:none; display:flex; justify-content:space-between; gap:20px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:'+'; font-family:var(--sans); font-size:1.1rem; color:var(--burgundy); }
.faq-list details[open] summary::after { content:'–'; }
.faq-list p { color:var(--ink-soft); max-width:700px; }
.site-footer { background:#1f0f16; color:#e9dde0; padding:54px 0 24px; }
.footer-grid-v2 { display:grid; grid-template-columns:150px 1fr .45fr; gap:38px; align-items:center; }
.footer-seal-wrap { position:relative; width:120px; }
.footer-seal { width:120px; border-radius:50%; opacity:.9; }
.footer-caption { font-size:.20rem; padding:2px 1px; bottom:20%; background:rgba(247,239,232,.95); }
.footer-wordmark { color:#fff; margin-bottom:10px; }
.site-footer p { margin:0 0 16px; color:#bbaeb2; }
.footer-ritual { font-size:.7rem; letter-spacing:.12em; line-height:1.8; color:#bbaeb2; }
.footer-links { display:flex; gap:18px; justify-self:end; font-size:.78rem; }
.footer-bottom { display:flex; justify-content:space-between; border-top:1px solid rgba(255,255,255,.11); margin-top:36px; padding-top:18px; color:#998b90; font-size:.72rem; }
.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.bottle-image img{transition:none}}
@media (max-width:920px){
  .nav { display:none; }
  .nav-wrap { grid-template-columns:1fr auto; }
  .nav-cta { grid-column:2; }
  .hero { grid-template-columns:1fr; min-height:auto; padding-top:68px; gap:42px; }
  .hero-seal { width:240px; justify-self:start; }
  .hero h1 { font-size:clamp(3.8rem,15vw,6.5rem); }
  .intro-grid,.manifesto-grid,.access-grid,.founder-card,.development-grid,.faq-grid { grid-template-columns:1fr; gap:42px; }
  .bottle-strip { overflow-x:auto; grid-template-columns:repeat(5,minmax(220px,1fr)); scroll-snap-type:x mandatory; padding-bottom:50px; }
  .bottle-card { scroll-snap-align:start; }
  .why-grid { grid-template-columns:1fr; }
  .manifesto { padding:88px 0; }
  .manifesto-copy { padding-top:0; }
  .founder-card { padding:48px; }
  .development-section { padding-bottom:90px; }
  .status-row { grid-template-columns:1fr 1fr; }
  .early-access { padding:90px 0; }
  .footer-grid-v2 { grid-template-columns:110px 1fr; }
  .footer-links { grid-column:1/-1; justify-self:start; }
}
@media (max-width:620px){
  .shell { width:min(100% - 28px,1180px); }
  .site-header .shell { width:min(100% - 24px,1180px); }
  .nav-wrap { min-height:64px; }
  .wordmark { letter-spacing:.3em; font-size:1.25rem; }
  .nav-cta { font-size:.68rem; }
  .hero { padding:52px 0 44px; }
  .hero h1 { font-size:clamp(3.5rem,17vw,5.2rem); }
  .hero-meta { display:grid; gap:6px; }
  .hero-meta span + span::before { display:none; }
  .hero-seal { width:190px; }
  .banner-section { padding-bottom:72px; }
  .wide-image { border-radius:22px; }
  .wide-image img { aspect-ratio:1.18; object-position:center; }
  .section { padding-top:82px; }
  .intro h2,.manifesto h2,.access-copy h2,.development-grid h2,.faq h2 { font-size:clamp(3rem,14vw,4.5rem); }
  .bottle-strip { width:100%; padding-left:14px; padding-right:14px; }
  .founder-section { padding:84px 0; }
  .founder-card { padding:34px 24px; border-radius:22px; }
  .founder-card blockquote { font-size:clamp(2.7rem,12vw,4rem); }
  .status-row { grid-template-columns:1fr; }
  .waitlist-form { padding:28px 20px; }
  .field-row.two,.flavour-choices { grid-template-columns:1fr 1fr; }
  .intent-choices { grid-template-columns:1fr; }
  .faq { padding:86px 0 96px; }
  .footer-grid-v2 { grid-template-columns:1fr; }
  .footer-seal { width:95px; }
  .footer-links { grid-column:auto; }
  .footer-bottom { gap:20px; }
}

/* V3 brand, conversion and mobile refinements */
.header-brand { display:inline-flex; flex-direction:column; align-items:flex-start; gap:5px; text-decoration:none; width:max-content; }
.header-brand .wordmark { font-size:1.78rem; font-weight:650; letter-spacing:.34em; line-height:1; }
.rhythm-dots { display:flex; align-items:center; gap:5px; padding-left:2px; }
.rhythm-dots i { display:block; width:5px; height:5px; border-radius:50%; background:#a51f3d; }
.rhythm-dots i:nth-child(2){background:#ef7a63}.rhythm-dots i:nth-child(3){background:#dba242}.rhythm-dots i:nth-child(4){background:#765090}.rhythm-dots i:nth-child(5){background:#4d7f7a}

.waitlist-form > label:not(.consent) { display:block; margin-bottom:22px; }
.waitlist-form input[type=text], .waitlist-form input[type=tel] { margin-top:4px; }
.footer-bottom-v3 { align-items:flex-start; line-height:1.6; }
.footer-bottom-v3 strong { color:#ded0d4; font-weight:600; }

.thanks-page { min-height:100vh; display:grid; place-items:center; text-align:center; padding-top:60px; padding-bottom:60px; }
.thanks-card { max-width:690px; }
.thanks-brand { margin:0 auto 42px; align-items:center; }
.thanks-card h1 { font-family:var(--serif); font-size:clamp(3rem,9vw,6.4rem); line-height:.95; font-weight:400; letter-spacing:-.04em; margin:16px 0; }
.thanks-card > p:not(.eyebrow):not(.signature) { color:var(--ink-soft); font-size:1.08rem; }
.thanks-card .button { margin-top:22px; }

@media (max-width:620px){
  .header-brand .wordmark { font-size:1.42rem; letter-spacing:.28em; }
  .rhythm-dots { gap:4px; }
  .rhythm-dots i { width:4px; height:4px; }

  /* Preserve the complete five-bottle banner on phones. */
  .wide-image { padding:6px; background:#f3e7df; border-radius:22px; }
  .wide-image img { width:100%; height:auto; aspect-ratio:auto; object-fit:contain; object-position:center; border-radius:17px; }

  .banner-section { padding-bottom:64px; }
  .intent-choices { grid-template-columns:1fr; }
  .waitlist-form { padding:28px 20px; }
  .footer-bottom-v3 { flex-direction:column; }
}
