:root{
  --wine:#5b1724;
  --wine-2:#3f0f19;
  --green:#143c31;
  --green-2:#0d2c24;
  --cream:#f2eadb;
  --paper:#f8f4ec;
  --ink:#201b18;
  --muted:#766c65;
  --line:rgba(32,27,24,.16);
  --gold:#b99458;
  --white:#fffdf8;
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.site-grain{position:fixed;inset:0;z-index:99;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.6'/%3E%3C/svg%3E")}

.site-header{position:fixed;z-index:60;left:0;right:0;top:0;height:96px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;color:var(--white);transition:.35s ease}
.site-header.scrolled,.site-header.solid{height:78px;background:rgba(63,15,25,.94);backdrop-filter:blur(14px);box-shadow:0 10px 40px rgba(30,8,13,.12)}
.wordmark{display:inline-flex;flex-direction:column;width:max-content;line-height:.72;letter-spacing:.08em;font-size:18px;font-weight:600;position:relative;padding-left:28px}
.wordmark-leaf{position:absolute;left:0;top:3px;font-size:19px;color:#d7b985;line-height:1}
.wordmark strong+strong{margin-top:7px}
.main-nav{display:flex;gap:34px;font-size:13px;letter-spacing:.04em}
.main-nav a{opacity:.82;transition:.25s}
.main-nav a:hover{opacity:1}
.header-cta{justify-self:end;border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:11px 18px;font-size:13px;transition:.25s}
.header-cta:hover{background:var(--white);color:var(--wine)}
.menu-toggle{display:none}

.hero{min-height:100vh;background:var(--wine);color:var(--white);display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.92fr);position:relative;overflow:hidden;padding:150px 5vw 110px;gap:5vw;align-items:center}
.hero:before{content:"";position:absolute;width:660px;height:660px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-230px;top:-180px}
.hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:34%;bottom:-250px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:11px;font-weight:600;margin:0 0 24px;color:var(--gold)}
.hero h1,.section-head h2,.principles h2,.ritual h2,.reviews-title h2,.final-cta h2,.detail-copy h1{font-family:'Playfair Display',serif;font-weight:600;line-height:.96;letter-spacing:-.035em}
.hero h1{font-size:clamp(62px,7.5vw,126px);max-width:850px;margin:0 0 30px}
.hero-text{font-size:18px;line-height:1.7;max-width:610px;color:rgba(255,255,255,.78);margin-bottom:38px}
.hero-actions{display:flex;align-items:center;gap:28px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;padding:0 23px;font-size:13px;font-weight:600;transition:.25s}
.button-primary{background:var(--green);color:var(--white)}
.button-primary:hover{background:#1d4d40;transform:translateY(-1px)}
.button-cream{background:var(--cream);color:var(--wine)}
.button-cream:hover{background:#fff6e7;transform:translateY(-1px)}
.text-link{font-size:13px;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:5px}
.text-link span,.product-bottom a span,.kit-card a span{margin-left:6px}
.hero-visual{position:relative;z-index:2}
.hero-photo-wrap{position:relative;width:min(100%,680px);margin-left:auto;border-radius:200px 200px 28px 28px;overflow:hidden;background:#c8ad8e;box-shadow:0 40px 90px rgba(24,5,10,.3)}
.hero-photo{width:100%;height:min(66vh,760px);object-fit:cover;filter:saturate(.92) contrast(1.02)}
.hero-stamp{position:absolute;right:25px;top:25px;width:102px;height:102px;border-radius:50%;background:var(--cream);color:var(--wine);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(8deg);box-shadow:0 10px 25px rgba(0,0,0,.15)}
.hero-stamp b{font-family:'Playfair Display',serif;font-size:40px;line-height:.8}.hero-stamp small{text-transform:uppercase;font-size:9px;letter-spacing:.18em;margin-top:9px}
.hero-note{position:absolute;left:-36px;bottom:30px;background:var(--paper);color:var(--ink);padding:18px 24px;border-radius:16px;display:flex;gap:16px;align-items:flex-start;box-shadow:0 18px 45px rgba(0,0,0,.16)}
.hero-note span{font-size:10px;color:var(--wine);font-weight:700}.hero-note p{margin:0;line-height:1.45;font-size:13px}
.hero-marquee{position:absolute;bottom:0;left:0;right:0;height:52px;border-top:1px solid rgba(255,255,255,.12);display:flex;align-items:center;overflow:hidden;white-space:nowrap;color:rgba(255,255,255,.28);font-size:10px;letter-spacing:.22em}
.hero-marquee span{display:inline-block;min-width:max-content;animation:marquee 20s linear infinite;padding-right:10px}
@keyframes marquee{to{transform:translateX(-100%)}}

.principles{padding:130px 5vw 145px;background:var(--paper)}
.section-label{display:flex;align-items:center;gap:18px;text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--muted);margin-bottom:65px}.section-label i{height:1px;background:var(--line);flex:1}
.principles-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:10vw;align-items:start}
.principles h2{font-size:clamp(48px,5.7vw,86px);margin:0;max-width:760px}
.principles-body>p{font-family:'Playfair Display',serif;font-size:26px;line-height:1.42;margin:34px 0 55px;color:#50463f}
.facts{border-top:1px solid var(--line)}
.facts article{display:grid;grid-template-columns:42px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:21px 0;gap:14px}.facts strong{font-size:10px;color:var(--wine)}.facts span{font-size:14px;font-weight:600}.facts small{color:var(--muted);font-size:12px}

.flavours{padding:130px 5vw 150px;background:#e9dfcf}
.section-head{display:grid;grid-template-columns:1fr 420px;gap:60px;align-items:end;margin-bottom:75px}.section-head h2{font-size:clamp(50px,6vw,92px);margin:0}.section-head h2 em,.reviews-title h2 em{font-weight:600;color:var(--wine)}.section-head>p{font-size:16px;line-height:1.7;color:#6a5e56;margin:0 0 8px}
.product-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.product-card{background:var(--paper);border-radius:var(--radius);overflow:hidden;min-width:0}
.product-image{position:relative;height:560px;overflow:hidden;background:#d2c2ae}.product-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}.product-card:hover .product-image img{transform:scale(1.035)}
.product-index{position:absolute;left:22px;top:20px;width:38px;height:38px;border-radius:50%;background:rgba(248,244,236,.9);display:grid;place-items:center;font-size:10px;font-weight:700}.product-badge{position:absolute;right:18px;bottom:18px;background:var(--green);color:white;border-radius:999px;padding:10px 14px;font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.product-info{padding:28px 30px 30px}.product-meta{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.12em}.product-info h3{font-family:'Playfair Display',serif;font-size:37px;margin:10px 0 9px}.product-info p{color:#6b625d;font-size:14px;line-height:1.6;max-width:520px;min-height:45px}.product-bottom{margin-top:26px;padding-top:20px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.product-bottom strong{font-size:18px}.product-bottom a{font-size:12px;font-weight:600;color:var(--wine)}

.ritual{display:grid;grid-template-columns:1.02fr .98fr;min-height:800px;background:var(--green);color:var(--white)}.ritual-photo{position:relative;min-height:760px;overflow:hidden}.ritual-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.82) contrast(1.04)}.photo-caption{position:absolute;left:28px;bottom:26px;background:rgba(255,255,255,.85);color:var(--green);padding:10px 14px;border-radius:999px;font-size:9px;text-transform:uppercase;letter-spacing:.12em}.ritual-copy{display:flex;flex-direction:column;justify-content:center;padding:100px 8vw}.ritual-copy h2{font-size:clamp(50px,5.8vw,86px);margin:0 0 28px}.ritual-copy>p{color:rgba(255,255,255,.68);font-size:16px;line-height:1.7;max-width:560px}.steps{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid rgba(255,255,255,.16)}.steps li{display:grid;grid-template-columns:36px 1fr;gap:15px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.16);align-items:start}.steps b{width:28px;height:28px;border:1px solid rgba(255,255,255,.26);border-radius:50%;display:grid;place-items:center;font-size:10px}.steps span{font-size:13px;color:rgba(255,255,255,.68);line-height:1.5}.steps strong{color:white;font-weight:600}

.kits{background:var(--wine);color:var(--white);padding:130px 5vw 145px}.section-head.light>p{color:rgba(255,255,255,.6)}.section-head.light h2 em{color:#d4b47f}.kit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.kit-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:34px;position:relative;min-height:430px;display:flex;flex-direction:column}.kit-card.highlight{background:var(--cream);color:var(--ink);transform:translateY(-14px);box-shadow:0 24px 55px rgba(0,0,0,.2)}.kit-ribbon{position:absolute;right:18px;top:18px;background:var(--green);color:white;border-radius:999px;padding:8px 12px;text-transform:uppercase;letter-spacing:.11em;font-size:8px}.kit-kicker{font-size:10px!important;text-transform:uppercase;letter-spacing:.14em;color:#c9a875!important}.kit-card h3{font-family:'Playfair Display',serif;font-size:39px;margin:10px 0}.kit-card>p{font-size:13px;line-height:1.6;color:rgba(255,255,255,.63)}.kit-card.highlight>p{color:#665c55}.kit-price{display:flex;align-items:end;gap:10px;margin:15px 0 20px}.kit-price strong{font-size:26px}.kit-price span{text-transform:uppercase;font-size:9px;letter-spacing:.12em;color:inherit;opacity:.55;margin-bottom:4px}.kit-card ul{padding:20px 0 0;margin:0 0 26px;border-top:1px solid currentColor;opacity:.65;list-style:none}.kit-card li{font-size:12px;margin:8px 0}.kit-card li:before{content:'—';margin-right:8px}.kit-card>a{margin-top:auto;font-size:12px;font-weight:600;border-top:1px solid currentColor;padding-top:18px;display:flex;justify-content:space-between}

.testimonials{padding:135px 5vw 145px;background:var(--paper);display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.reviews-title{position:sticky;top:120px;height:max-content}.reviews-title h2{font-size:clamp(52px,5.5vw,84px);margin:0}.reviews-track{display:grid;gap:16px}.review{margin:0;padding:38px 38px 36px;border:1px solid var(--line);border-radius:24px;background:#fffaf2}.stars{letter-spacing:.08em;color:var(--wine);font-size:11px}.review h3{font-family:'Playfair Display',serif;font-size:31px;margin:16px 0 14px}.review p{font-family:'Playfair Display',serif;font-size:22px;line-height:1.45;color:#544b45;margin:0}.review cite{display:block;font-style:normal;font-size:10px;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);margin-top:22px}

.final-cta{position:relative;min-height:680px;background:var(--green);color:var(--white);display:grid;place-items:center;text-align:center;overflow:hidden;padding:80px 20px}.final-inner{position:relative;z-index:2;max-width:850px}.final-cta h2{font-size:clamp(62px,7vw,108px);margin:0 0 26px}.final-inner>p:not(.eyebrow){color:rgba(255,255,255,.7);font-size:17px;margin:0 auto 30px;max-width:580px}.cta-orbit{position:absolute;width:610px;height:610px;border:1px solid rgba(255,255,255,.13);border-radius:50%;display:grid;place-items:center;color:rgba(255,255,255,.18);font-size:10px;letter-spacing:.24em;animation:spin 24s linear infinite}.cta-orbit span{transform:translateY(-300px)}@keyframes spin{to{transform:rotate(360deg)}}

.site-footer{background:#191713;color:#eee7dc;padding:58px 5vw 26px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;align-items:start}.footer-brand{display:flex;gap:12px;align-items:flex-start;line-height:.9;letter-spacing:.08em}.footer-brand span{color:#b99458}.site-footer>p{max-width:420px;color:#a9a198;font-size:13px;line-height:1.7;margin:0}.footer-links{display:flex;justify-content:flex-end;gap:22px;font-size:12px}.site-footer>small{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.1);padding-top:22px;color:#7f7871;font-size:10px}.site-footer.compact{grid-template-columns:1fr auto;align-items:center}.site-footer.compact small{grid-column:auto;border:0;padding:0}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:none}

.product-page{background:#ece2d2}.product-detail{padding:145px 5vw 110px;min-height:calc(100vh - 150px)}.back-link{display:inline-block;font-size:12px;color:var(--muted);margin-bottom:30px}.detail-grid{display:grid;grid-template-columns:1fr .86fr;gap:8vw;align-items:center}.detail-image{position:relative;border-radius:32px 190px 32px 32px;overflow:hidden;background:#d4c3ab;max-height:750px}.detail-image img{width:100%;height:750px;object-fit:cover}.detail-image span{position:absolute;bottom:20px;left:20px;border-radius:999px;background:var(--green);color:white;padding:10px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.detail-copy h1{font-size:clamp(60px,7vw,108px);margin:0 0 24px}.detail-description{font-family:'Playfair Display',serif;font-size:25px;line-height:1.5;color:#594e46;max-width:600px}.detail-price{font-size:28px;font-weight:600;margin:30px 0 22px}.detail-notes{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}.detail-notes span{border:1px solid var(--line);border-radius:999px;padding:9px 12px;font-size:10px;color:var(--muted)}

@media(max-width:1050px){
 .site-header{grid-template-columns:1fr auto}.main-nav{position:fixed;inset:78px 16px auto;background:var(--wine-2);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:24px;display:none;flex-direction:column;gap:18px}.main-nav.open{display:flex}.header-cta{margin-right:44px}.menu-toggle{display:flex;position:absolute;right:5vw;width:30px;height:30px;border:0;background:none;padding:0;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:18px;height:1px;background:white}
 .hero{grid-template-columns:1fr 1fr;gap:35px}.hero h1{font-size:70px}.hero-note{left:10px}.principles-grid{gap:6vw}.product-image{height:450px}.ritual-copy{padding:80px 6vw}.kit-grid{grid-template-columns:1fr}.kit-card.highlight{transform:none}.testimonials{grid-template-columns:1fr}.reviews-title{position:static}.detail-image img{height:620px}
}
@media(max-width:760px){
 .site-header{height:78px;padding:0 20px}.site-header.scrolled{height:68px}.header-cta{display:none}.menu-toggle{right:20px}.main-nav{inset:68px 12px auto}
 .hero{min-height:auto;grid-template-columns:1fr;padding:125px 20px 88px;gap:45px}.hero h1{font-size:clamp(58px,18vw,78px)}.hero-text{font-size:16px}.hero-visual{width:92%;margin-left:auto}.hero-photo{height:56vh;min-height:430px}.hero-photo-wrap{border-radius:120px 120px 24px 24px}.hero-stamp{width:82px;height:82px}.hero-stamp b{font-size:32px}.hero-note{left:-8%;bottom:20px;padding:13px 16px}.hero-marquee{height:40px}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}
 .principles,.flavours,.kits,.testimonials{padding:90px 20px}.section-label{margin-bottom:45px}.principles-grid,.section-head{grid-template-columns:1fr;gap:30px}.principles h2,.section-head h2,.reviews-title h2{font-size:51px}.principles-body>p{font-size:22px;margin-top:8px}.facts article{grid-template-columns:32px 1fr}.facts small{grid-column:2}
 .section-head{margin-bottom:48px}.product-stage{grid-template-columns:1fr}.product-image{height:480px}.product-info{padding:24px}.product-info h3{font-size:34px}
 .ritual{grid-template-columns:1fr}.ritual-photo{min-height:480px}.ritual-copy{padding:85px 20px}.ritual-copy h2{font-size:52px}
 .kit-card{padding:28px;min-height:390px}.testimonials{gap:45px}.review{padding:28px}.review p{font-size:20px}.final-cta{min-height:580px}.final-cta h2{font-size:58px}.cta-orbit{width:480px;height:480px}.cta-orbit span{transform:translateY(-235px)}
 .site-footer{grid-template-columns:1fr;padding:48px 20px 24px}.footer-links{justify-content:flex-start;flex-wrap:wrap}.site-footer>small{grid-column:1}.site-footer.compact{grid-template-columns:1fr}
 .product-detail{padding:115px 20px 80px}.detail-grid{grid-template-columns:1fr;gap:45px}.detail-image{border-radius:24px 100px 24px 24px}.detail-image img{height:520px}.detail-copy h1{font-size:61px}.detail-description{font-size:21px}
}
