:root{
  --cream:#F0EBDD;
  --green:#1E3A2A;
  --terracotta:#C77E5F;
  --sage:#7A9B6D;
  --charcoal:#2E2B26;
  --paper:#FBF7ED;
  --line:rgba(46,43,38,.16);
  --shadow:0 24px 80px rgba(30,58,42,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--charcoal);font-family:"Nunito", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:"Fraunces", Georgia, serif;color:var(--green);line-height:1.02;margin:0 0 16px}
h1{font-size:clamp(2.8rem,7vw,6.5rem);letter-spacing:-.02em}
h2{font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:400;letter-spacing:-.015em;line-height:1.2}
h3{font-size:1.6rem}
p{margin:0 0 18px}
.site-header{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;padding:16px 28px;background:rgba(240,235,221,.88);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand img{width:180px}
.nav{display:flex;gap:22px;font-size:.95rem}
.nav a{text-decoration:none}
.nav a:hover{color:var(--terracotta)}
.cart-link{text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:var(--paper)}
.cart-link span{display:inline-grid;place-items:center;background:var(--terracotta);color:white;border-radius:999px;min-width:22px;height:22px;margin-left:4px;font-size:.8rem}
.mobile-toggle{display:none;background:none;border:0;font-size:1.5rem}
.hero{min-height:70vh;position:relative;display:grid;place-items:center;margin:28px 4vw;border-radius:34px;border:1px solid rgba(240,235,221,.5);background:
  linear-gradient(115deg,rgba(30,58,42,.86),rgba(30,58,42,.16)),
  radial-gradient(circle at 78% 28%,rgba(199,126,95,.4),transparent 24%),
  linear-gradient(135deg,#1E3A2A,#7A9B6D 52%,#F0EBDD);
overflow:hidden}
.hero:after{content:"";position:absolute;right:-9vw;bottom:-10vw;width:46vw;height:46vw;background:url(leaf-mark.svg) center/contain no-repeat;opacity:.12;transform:rotate(-24deg)}
.hero-content{position:relative;z-index:2;text-align:center;max-width:980px;padding:72px 28px;color:var(--paper)}
.hero-logo{width:min(520px,74vw);margin:0 auto 28px;filter:drop-shadow(0 12px 34px rgba(0,0,0,.18))}
.hero h1{color:var(--paper)}
.hero-copy{font-size:clamp(1.1rem,2.3vw,1.55rem);max-width:760px;margin:0 auto 28px}
.eyebrow,.section-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;font-weight:800;color:var(--terracotta)}
.hero .eyebrow{color:#F0EBDD}
.button{border:0;border-radius:999px;padding:13px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;cursor:pointer;transition:.2s ease;white-space:nowrap}
.button:hover{transform:translateY(-1px)}
.button-primary{background:var(--terracotta);color:white;box-shadow:0 12px 30px rgba(199,126,95,.28)}
.button-light{background:var(--paper);color:var(--green);border:1px solid var(--line)}
.button-ghost{background:transparent;border:1px solid var(--line);color:var(--green)}
.button-wide{width:100%;margin-top:10px}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.section{padding:84px 7vw}
.intro{max-width:1100px;margin:auto;text-align:center}
.product-trio,.shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.product-card,.shop-card,.checkout-card,.checkout-pivot,.cart-summary,.contact-card form,.faq-list details,.article-grid article{background:var(--paper);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow);padding:24px}
.product-card{display:grid;gap:18px}
.product-card img,.shop-card img{background:linear-gradient(135deg,rgba(122,155,109,.15),rgba(199,126,95,.13));border-radius:22px;padding:18px;aspect-ratio:1.25;object-fit:contain;width:100%}
.feature-card{grid-column:span 1}
.badge{display:inline-flex;border:1px solid rgba(199,126,95,.36);color:var(--terracotta);border-radius:999px;padding:6px 10px;font-size:.75rem;font-weight:900;margin-bottom:12px;background:rgba(199,126,95,.08)}
.manifesto{padding:105px 7vw;background:var(--green);color:var(--paper);text-align:center}
.manifesto h2{color:var(--paper)}
.manifesto p{max-width:780px;margin:auto;font-size:1.2rem}
.manifesto-inner{max-width:980px;margin:auto}
.leaf-divider{width:54px;margin:0 auto 24px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.image-panel{min-height:420px;border-radius:34px;background:
  radial-gradient(circle at 20% 20%,rgba(240,235,221,.9),transparent 22%),
  linear-gradient(135deg,rgba(122,155,109,.75),rgba(199,126,95,.72)),
  url(leaf-mark.svg);display:grid;place-items:end;padding:24px;color:white;font-weight:900;box-shadow:var(--shadow)}
.proof{text-align:center}
.press-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.press-grid span{border:1px solid var(--line);border-radius:18px;padding:20px;background:var(--paper);font-family:"Fraunces", Georgia, serif;color:var(--green);font-size:1.4rem}
.email-footer{margin:40px 7vw 84px;background:var(--green);border-radius:34px;padding:44px;color:var(--paper);display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}
.email-footer h2{color:var(--paper)}
.inline-form{display:flex;gap:10px}
input,textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:14px 16px;background:white;color:var(--charcoal);font:inherit}
label{display:grid;gap:8px;font-weight:800;margin-bottom:16px}
.checkbox{display:flex;align-items:center;font-weight:600}.checkbox input{width:auto}
.form-note{font-weight:800;color:var(--sage)}
.site-footer{padding:34px 7vw;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:flex-start;gap:30px}
.site-footer img{width:150px}.site-footer p{font-size:.9rem;margin:0}
.page-hero{padding:90px 7vw 56px;max-width:1120px}.page-hero.compact{padding-bottom:24px}.page-hero h1{font-size:clamp(2rem,4vw,3.4rem);font-weight:400;letter-spacing:-.02em;line-height:1.12}
.shop-grid{padding:20px 7vw 90px}
.card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.pdp{display:grid;grid-template-columns:1.1fr .9fr;gap:54px;padding:80px 7vw;align-items:center}
.gallery{background:var(--paper);border-radius:34px;border:1px solid var(--line);padding:30px;box-shadow:var(--shadow)}
.gallery img{background:linear-gradient(135deg,rgba(122,155,109,.12),rgba(199,126,95,.14));border-radius:26px;padding:28px;width:100%}
.thumb-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.thumb-row span{height:72px;background:var(--cream);border:1px solid var(--line);border-radius:16px}
.price{font-size:1.7rem;font-weight:900;color:var(--green)}
.leaf-list{padding:0;list-style:none}.leaf-list li{margin:10px 0;padding-left:28px;position:relative}.leaf-list li:before{content:"";position:absolute;left:0;top:.35em;width:16px;height:16px;background:url(leaf-mark.svg) center/contain no-repeat}
.fine-print{font-size:.88rem;color:rgba(46,43,38,.75);margin-top:14px}
.details-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:10px}
.details-grid div{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:24px}
.cart-layout{display:grid;grid-template-columns:1fr 360px;gap:28px;padding:20px 7vw 90px}
.cart-row{display:grid;grid-template-columns:96px 1fr auto;gap:18px;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:16px;margin-bottom:12px}
.cart-row img{background:var(--cream);border-radius:16px;padding:10px}
.qty-controls{display:flex;align-items:center;gap:10px}.qty-controls button{border:1px solid var(--line);background:white;border-radius:999px;width:30px;height:30px}
.cart-summary{height:max-content;position:sticky;top:110px}
.summary-row{display:flex;justify-content:space-between;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0;margin:16px 0}
.checkout{display:grid;grid-template-columns:1fr .8fr;gap:28px;padding:80px 7vw}
.checkout-pivot img,.confirmation img{width:58px}
.hidden{display:none}
.confirmation{text-align:center;max-width:820px;margin:80px auto;padding:50px;background:var(--paper);border-radius:34px;border:1px solid var(--line);box-shadow:var(--shadow)}
.confirmation img{margin:0 auto 18px}.confirmation h1{font-size:clamp(3rem,7vw,5.6rem)}
.referral-box{display:flex;gap:10px;margin:24px auto;max-width:620px}
.reserved-items{margin:24px auto;text-align:left;max-width:620px}
.reserved-items .cart-row{grid-template-columns:70px 1fr auto}
.faq-list{max-width:860px;margin:0 auto 90px;padding:0 7vw}
.faq-list details{margin-bottom:12px}.faq-list summary{font-weight:900;color:var(--green);cursor:pointer;font-size:1.15rem}
.article-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.contact-card{max-width:760px;margin:0 auto 90px;padding:0 7vw}
.age-gate{position:fixed;inset:0;background:rgba(30,58,42,.92);z-index:100;display:none;place-items:center;padding:20px}
.age-gate.show{display:grid}
.age-card{max-width:520px;background:var(--paper);border-radius:34px;padding:38px;text-align:center;box-shadow:0 40px 120px rgba(0,0,0,.32)}
.age-leaf{width:54px;margin:0 auto 14px}.age-actions{display:flex;gap:12px;justify-content:center;margin:22px 0;flex-wrap:wrap}
@media(max-width:860px){
  .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--paper);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}.mobile-toggle{display:block}.brand img{width:145px}
  .product-trio,.shop-grid,.split,.pdp,.details-grid,.cart-layout,.checkout,.email-footer,.article-grid{grid-template-columns:1fr}
  .hero{min-height:60vh}.site-footer{display:block}.site-footer img{margin-bottom:18px}.press-grid{grid-template-columns:1fr 1fr}.inline-form,.referral-box{display:grid}
}