:root{
  --ink:#243028;
  --ink-2:#445047;
  --muted:#707a73;
  --paper:#fffdfb;
  --cream:#f7eeea;
  --cream-2:#fbf5f2;
  --pink:#f4d9de;
  --pink-2:#fdecef;
  --rose:#ba1d51;
  --rose-dark:#8c123b;
  --green:#31573f;
  --green-2:#4f7458;
  --line:#e7ddd9;
  --white:#fff;
  --max:1240px;
  --radius:28px;
  --shadow:0 25px 80px rgba(45,37,38,.12);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:16px;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{display:block;max-width:100%}
a{color:inherit}
button{font:inherit}
.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}
.kicker{
  margin:0 0 15px;
  color:var(--green);
  font-size:12px;
  letter-spacing:.22em;
  line-height:1.2;
  font-weight:900;
}
.kicker.light{color:#dfece1}
.btn{
  min-height:56px;
  padding:0 22px;
  border-radius:999px;
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-size:14px;
  font-weight:800;
  transition:transform .2s ease,box-shadow .2s ease,background .2s ease;
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--rose);color:#fff;box-shadow:0 13px 28px rgba(186,29,81,.18)}
.btn-ghost{background:transparent;color:var(--green);border:1px solid rgba(49,87,63,.32)}
.btn-dark{background:var(--ink);color:#fff;margin-top:28px}
.btn-light{background:#fff;color:var(--green);box-shadow:0 15px 30px rgba(0,0,0,.12)}
.btn-outline-light{color:#fff;background:transparent;border:1px solid rgba(255,255,255,.32)}

.announce{background:var(--green);color:#fff}
.announce-inner{
  min-height:42px;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:24px;
  font-size:12px;
}
.announce a{text-decoration:none;font-weight:800}
.announce a:hover{text-decoration:underline}

.header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,253,251,.95);
  border-bottom:1px solid rgba(231,221,217,.88);
  backdrop-filter:blur(15px);
}
.nav{
  min-height:94px;
  display:grid;
  grid-template-columns:210px 1fr auto;
  gap:28px;
  align-items:center;
}
.brand{display:flex;align-items:center;text-decoration:none}
.brand img{
  width:130px;
  height:74px;
  object-fit:contain;
  object-position:left center;
}
.nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
}
.nav-links a{
  position:relative;
  text-decoration:none;
  color:var(--ink-2);
  font-size:14px;
  font-weight:700;
}
.nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-10px;
  width:0;
  height:2px;
  background:var(--rose);
  transition:width .2s ease;
}
.nav-links a:hover{color:var(--rose-dark)}
.nav-links a:hover::after{width:100%}
.header-cta{
  min-height:50px;
  padding:0 21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--rose);
  color:#fff;
  border-radius:999px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
  box-shadow:0 12px 28px rgba(186,29,81,.17);
}
.menu-toggle{
  display:none;
  width:46px;height:46px;
  border-radius:50%;
  border:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  cursor:pointer;
}
.mobile-nav{
  display:none;
  border-top:1px solid var(--line);
  background:rgba(255,253,251,.98);
  padding:6px 20px 18px;
}
.mobile-nav a{
  display:block;
  padding:13px 0;
  border-bottom:1px solid var(--line);
  text-decoration:none;
  font-weight:700;
}
.mobile-nav .mobile-order{
  background:var(--rose);
  color:#fff;
  border-radius:999px;
  border:0;
  text-align:center;
  margin-top:10px;
}

.hero{background:var(--cream);padding:26px 0 0}
.hero-grid{
  min-height:710px;
  display:grid;
  grid-template-columns:.78fr 1.22fr;
  overflow:hidden;
  border-radius:0 0 34px 34px;
}
.hero-copy{
  padding:74px 74px 86px;
  display:flex;
  justify-content:center;
  flex-direction:column;
}
.hero h1{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:clamp(80px,7.5vw,112px);
  line-height:.86;
  letter-spacing:-.055em;
  font-weight:600;
}
.hero h1 em{color:var(--rose-dark);font-style:italic;font-weight:500}
.hero-sub{
  margin:5px 0 0;
  font-family:"Cormorant Garamond",Georgia,serif;
  color:var(--rose-dark);
  font-size:clamp(40px,4.5vw,62px);
  line-height:1;
  font-style:italic;
}
.hero-text{
  max-width:560px;
  margin:28px 0 0;
  font-size:18px;
  line-height:1.75;
  color:var(--muted);
}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.hero-points{
  margin-top:23px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 19px;
  color:var(--ink-2);
  font-size:12px;
  font-weight:700;
}
.hero-visual{
  position:relative;
  min-height:710px;
  overflow:hidden;
  background:#f2d4da;
}
.hero-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.hero-visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(247,238,234,.06),transparent 33%),linear-gradient(0deg,rgba(27,31,26,.1),transparent 25%);
  pointer-events:none;
}
.hero-overlay-card{
  position:absolute;
  left:26px;
  bottom:26px;
  width:min(310px,calc(100% - 52px));
  padding:22px 22px 20px;
  border-radius:21px;
  color:var(--ink);
  background:rgba(255,253,251,.89);
  border:1px solid rgba(255,255,255,.95);
  backdrop-filter:blur(10px);
  box-shadow:0 17px 40px rgba(33,29,29,.13);
}
.hero-overlay-card .mini{
  display:block;
  color:var(--green);
  font-size:9px;
  letter-spacing:.16em;
  font-weight:900;
}
.hero-overlay-card strong{
  display:block;
  margin:7px 0 3px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:28px;
  line-height:1;
}
.hero-overlay-card span:last-child{color:var(--muted);font-size:11px}

.brand-strip{background:var(--rose);color:#fff}
.strip-items{
  min-height:54px;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:14px 24px;
  font-size:11px;
  font-weight:900;
  letter-spacing:.14em;
}
.strip-items i{font-style:normal;opacity:.75}

.section{padding:112px 0}
.story{background:var(--paper)}
.story-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:90px;
  align-items:start;
}
.story h2,.section-head h2,.ingredients-top h2,.ritual-heading h2,.future-card h2,.community h2,.faq-grid h2,.join-card h2{
  margin:0;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  line-height:1.02;
  letter-spacing:-.035em;
}
.story h2{font-size:clamp(50px,5.5vw,76px)}
.story h2 em,.ingredients-top h2 em,.future-card h2 em{font-style:italic;color:var(--rose-dark);font-weight:500}
.story-copy{padding-top:8px}
.story-copy .lead{
  color:var(--ink);
  font-size:22px;
  line-height:1.65;
  margin:0 0 21px;
}
.story-copy p:not(.lead){color:var(--muted);font-size:16px;max-width:720px}
.inline-link{
  display:inline-block;
  margin-top:17px;
  color:var(--green);
  text-decoration:none;
  font-size:14px;
  font-weight:900;
}
.inline-link:hover{text-decoration:underline}

.shop{background:var(--cream)}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:36px;
}
.section-head h2{font-size:clamp(48px,5vw,72px)}
.section-head>p{max-width:450px;margin:0;color:var(--muted);font-size:15px}
.product-card{
  margin-top:44px;
  display:grid;
  grid-template-columns:1.03fr .97fr;
  background:#fff;
  border:1px solid var(--line);
  border-radius:34px;
  overflow:hidden;
  box-shadow:var(--shadow);
}
.product-image{
  position:relative;
  min-height:670px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:35px;
  background:radial-gradient(circle at center,#fff 0,#fff6f6 37%,transparent 65%),linear-gradient(145deg,#efdfe0,#f9e8ea 56%,#eee6db);
}
.product-image::before{
  content:"";
  position:absolute;
  width:63%;
  aspect-ratio:1;
  border:1px solid rgba(186,29,81,.12);
  border-radius:50%;
}
.product-image img{
  position:relative;
  z-index:1;
  width:min(94%,620px);
  max-height:615px;
  object-fit:contain;
  filter:drop-shadow(0 25px 26px rgba(52,37,37,.16));
}
.product-badge{
  position:absolute;
  top:24px;
  left:24px;
  z-index:2;
  background:rgba(255,255,255,.89);
  border:1px solid rgba(255,255,255,.97);
  border-radius:999px;
  padding:9px 12px;
  font-size:10px;
  letter-spacing:.12em;
  font-weight:900;
  color:var(--green);
}
.product-info{padding:64px 60px;display:flex;justify-content:center;flex-direction:column}
.product-kicker{
  margin:0;
  color:var(--rose-dark);
  font-size:11px;
  font-weight:900;
  letter-spacing:.18em;
}
.product-info h3{
  margin:13px 0 8px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:58px;
  line-height:.95;
  font-weight:600;
  letter-spacing:-.035em;
}
.ingredients-line{margin:0;color:var(--muted);font-size:13px}
.price{margin-top:29px;display:flex;flex-wrap:wrap;align-items:baseline;gap:11px}
.price strong{font-size:33px;line-height:1}
.price span{color:#8b928e;font-size:12px;text-decoration:line-through}
.price b{
  color:var(--rose-dark);
  background:var(--pink-2);
  border-radius:999px;
  padding:6px 10px;
  font-size:9px;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.product-intro{margin:24px 0 0;color:var(--muted);font-size:16px}
.product-facts{
  display:grid;
  gap:11px;
  margin-top:23px;
  padding:20px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.product-facts div{display:flex;align-items:center;gap:11px}
.product-facts span{
  width:24px;height:24px;border-radius:50%;
  background:var(--pink-2);
  color:var(--rose-dark);
  display:grid;place-items:center;
  font-size:9px;font-weight:900;
}
.product-facts strong{font-size:13px}
.action-row{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-top:26px}
.text-link{color:var(--green);font-size:13px;font-weight:900;text-decoration:none}
.text-link:hover{text-decoration:underline}
.fine-print{color:#8d948f;font-size:10px;margin:19px 0 0;line-height:1.6}

.ingredients{background:var(--paper)}
.ingredients-top{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:40px;
}
.ingredients-top h2{font-size:clamp(50px,5.5vw,75px)}
.ingredients-top>p{max-width:470px;margin:0;color:var(--muted);font-size:15px}
.ingredient-grid{
  margin-top:44px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.ingredient-grid article{
  min-height:248px;
  padding:29px 24px;
  background:var(--cream-2);
  border:1px solid var(--line);
  border-radius:22px;
  transition:transform .22s ease,box-shadow .22s ease;
}
.ingredient-grid article:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(44,37,38,.07)}
.ingredient-grid span{font-size:10px;letter-spacing:.14em;color:var(--rose);font-weight:900}
.ingredient-grid h3{margin:19px 0 8px;font-family:"Cormorant Garamond",Georgia,serif;font-size:33px;line-height:1;font-weight:600}
.ingredient-grid p{margin:0;color:var(--muted);font-size:13px}
.ingredient-note{margin:20px 0 0;color:#8d948f;font-size:10px}

.ritual{background:var(--pink)}
.ritual-heading{text-align:center;max-width:800px;margin:0 auto}
.ritual-heading h2{font-size:clamp(52px,6vw,80px)}
.ritual-heading p:last-child{margin:18px auto 0;color:var(--muted);font-size:16px;max-width:610px}
.ritual-grid{margin-top:45px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ritual-grid article{
  padding:32px;
  border-radius:25px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(186,29,81,.12);
}
.ritual-grid .step{font-size:10px;letter-spacing:.14em;font-weight:900;color:var(--rose-dark)}
.ritual-grid h3{margin:14px 0 8px;font-family:"Cormorant Garamond",Georgia,serif;font-size:33px;line-height:1;font-weight:600}
.ritual-grid p{margin:0;color:var(--muted);font-size:14px}

.future{background:var(--paper)}
.future-card{
  padding:62px;
  border-radius:33px;
  background:linear-gradient(135deg,#f5e1e5 0%,#faf0ed 50%,#e9f0e7 100%);
  display:grid;
  grid-template-columns:1.08fr .92fr;
  align-items:center;
  gap:50px;
  overflow:hidden;
}
.future-card h2{font-size:clamp(50px,5.5vw,75px)}
.future-card>div:first-child>p:not(.kicker){max-width:650px;color:var(--muted);font-size:16px;margin:20px 0 0}
.future-art{min-height:305px;position:relative;display:grid;place-items:center}
.future-art strong{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:57px;
  color:var(--rose-dark);
  font-weight:600;
  position:relative;
  z-index:2;
}
.orbit{position:absolute;border:1px solid rgba(186,29,81,.18);border-radius:50%}
.orbit-a{width:280px;height:280px}
.orbit-b{width:185px;height:185px}
.label{position:absolute;color:var(--green);font-size:9px;font-weight:900;letter-spacing:.14em}
.l1{top:19px;left:39%}.l2{right:5%;top:49%}.l3{bottom:18px;left:35%}.l4{left:4%;top:49%}

.community{background:var(--green);color:#fff}
.community-grid{display:grid;grid-template-columns:1.16fr .84fr;gap:60px;align-items:center}
.community h2{font-size:clamp(56px,6vw,82px)}
.community-copy{color:rgba(255,255,255,.76);font-size:17px;max-width:680px;margin:20px 0 0}
.community-actions{display:grid;gap:12px}

.faq{background:var(--cream)}
.faq-grid{display:grid;grid-template-columns:.74fr 1.26fr;gap:85px;align-items:start}
.faq-grid h2{font-size:clamp(52px,5.2vw,72px)}
.faq-grid>div:first-child>p:last-child{color:var(--muted);max-width:520px;font-size:15px}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:20px 0}
.faq-list summary{list-style:none;cursor:pointer;position:relative;padding-right:38px;font-size:16px;font-weight:800}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{content:"+";position:absolute;right:0;top:-4px;color:var(--rose);font-size:22px;transition:transform .2s ease}
.faq-list details[open] summary::after{transform:rotate(45deg)}
.faq-list details p{margin:12px 0 0;color:var(--muted);font-size:14px}
.faq-list a{color:var(--green);font-weight:800}

.join{padding:62px 0;background:var(--paper)}
.join-card{
  padding:39px 43px;
  border-radius:27px;
  background:var(--cream-2);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.join-card h2{font-size:46px}
.join-card>div>p:last-child{margin:9px 0 0;color:var(--muted);font-size:14px}

.footer{background:#1e2a22;color:#cfdad2;padding:68px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.45fr 1fr 1fr 1.2fr;gap:45px}
.footer-brand img{width:120px;height:82px;object-fit:contain;object-position:left}
.footer-brand p{margin:15px 0 0;color:#9caaa1;font-size:12px}
.footer-grid h3{margin:0 0 11px;color:#f2cbd2;font-size:10px;letter-spacing:.14em;text-transform:uppercase}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:7px}
.footer-grid a,.footer-grid span{font-size:12px;color:#cfdad2;text-decoration:none}
.footer-grid a:hover{text-decoration:underline;color:#fff}
.footer-bottom{
  margin-top:44px;
  padding-top:19px;
  border-top:1px solid rgba(255,255,255,.10);
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:#7d8d83;
  font-size:9px;
}

.float-wa{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:95;
  width:58px;height:58px;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  display:grid;
  place-items:center;
  text-decoration:none;
  box-shadow:0 15px 34px rgba(0,0,0,.22);
}
.float-wa svg{width:28px;height:28px;fill:currentColor}

@media (max-width:1100px){
  .nav{grid-template-columns:190px 1fr auto}
  .nav-links{gap:20px}
  .hero-grid{grid-template-columns:.84fr 1.16fr}
  .hero-copy{padding:58px 45px 68px}
  .hero h1{font-size:78px}
  .hero-sub{font-size:46px}
  .product-info{padding:48px}
  .product-info h3{font-size:50px}
  .future-card{padding:50px}
}
@media (max-width:900px){
  .nav{grid-template-columns:1fr auto}
  .nav-links,.header-cta{display:none}
  .menu-toggle{display:block;justify-self:end}
  .mobile-nav.open{display:block}
  .hero-grid{grid-template-columns:1fr}
  .hero-copy{padding:70px 50px 62px}
  .hero h1{font-size:90px}
  .hero-sub{font-size:55px}
  .hero-visual{min-height:520px}
  .story-grid,.community-grid,.faq-grid,.future-card{grid-template-columns:1fr}
  .section-head,.ingredients-top,.join-card{display:block}
  .section-head>p,.ingredients-top>p{margin-top:18px}
  .product-card{grid-template-columns:1fr}
  .product-image{min-height:560px}
  .product-info{padding:49px}
  .ingredient-grid{grid-template-columns:repeat(2,1fr)}
  .ritual-grid{grid-template-columns:1fr}
  .future-art{min-height:260px}
  .join-card .btn{margin-top:23px}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  .footer-brand{grid-column:1 / -1}
}
@media (max-width:620px){
  .wrap{width:calc(100% - 26px)}
  .announce-inner{min-height:38px;font-size:10px;text-align:center}
  .announce-inner>span{display:none}
  .brand img{width:105px;height:66px}
  .nav{min-height:82px}
  .hero{padding-top:0}
  .hero-grid{border-radius:0}
  .hero-copy{padding:54px 22px 50px}
  .hero h1{font-size:65px}
  .hero-sub{font-size:42px}
  .hero-text{font-size:15px;line-height:1.65}
  .hero-actions{display:grid}
  .hero-actions .btn{width:100%}
  .hero-points{font-size:10px;gap:8px 12px}
  .hero-visual{min-height:365px}
  .hero-overlay-card{left:14px;bottom:14px;width:calc(100% - 28px);padding:18px}
  .hero-overlay-card strong{font-size:25px}
  .strip-items{font-size:9px;gap:8px 13px}
  .strip-items span:nth-of-type(n+4){display:none}
  .section{padding:80px 0}
  .story h2,.section-head h2,.ingredients-top h2,.future-card h2,.community h2,.faq-grid h2{font-size:49px}
  .story-copy .lead{font-size:20px}
  .product-image{min-height:420px;padding:18px}
  .product-image::before{width:75%}
  .product-info{padding:35px 23px}
  .product-info h3{font-size:43px}
  .action-row{display:grid}
  .action-row .btn{width:100%}
  .ingredient-grid{grid-template-columns:1fr}
  .ingredient-grid article{min-height:auto}
  .ritual-heading h2{font-size:51px}
  .future-card{padding:38px 24px}
  .future-art{min-height:220px}
  .orbit-a{width:225px;height:225px}
  .orbit-b{width:150px;height:150px}
  .label{font-size:8px}
  .community h2{font-size:54px}
  .community-actions{margin-top:24px}
  .faq-grid{gap:34px}
  .join-card{padding:29px 24px}
  .join-card h2{font-size:39px}
  .join-card .btn{width:100%}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-brand{grid-column:1 / -1}
  .footer-bottom{display:block}
  .footer-bottom span{display:block}
  .footer-bottom span+span{margin-top:8px}
  .float-wa{width:54px;height:54px;right:15px;bottom:15px}
}
@media (max-width:390px){
  .hero h1{font-size:58px}
  .hero-sub{font-size:38px}
  .story h2,.section-head h2,.ingredients-top h2,.future-card h2,.community h2,.faq-grid h2{font-size:45px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important}
}
