:root{
  --kraft:#EFE3C7;
  --kraft-deep:#DDC79C;
  --forest:#1B4332;
  --forest-deep:#0E2B20;
  --gold:#B7862C;
  --gold-light:#D9AF5E;
  --gold-gradient: linear-gradient(135deg, #E4C583 0%, #B7862C 45%, #8C6318 100%);
  --leaf-red:#9C3B34;
  --ink:#2A2318;
  --cream:#FBF7EC;
  --line: rgba(27,67,50,0.18);
  --shadow: 0 20px 40px -18px rgba(14,43,32,0.35);
  --shadow-soft: 0 12px 28px -16px rgba(14,43,32,0.22);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--kraft); color:var(--ink); font-family:'Jost', sans-serif; font-weight:400; line-height:1.6; -webkit-font-smoothing:antialiased;}
h1,h2,h3,.display{font-family:'Fraunces', serif; font-weight:600; letter-spacing:-0.01em; color:var(--forest-deep);}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1180px; margin:0 auto; padding:0 32px;}
::selection{background:var(--gold); color:var(--cream);}
body::before{content:""; position:fixed; inset:0; background-image:radial-gradient(rgba(42,35,24,0.05) 1px, transparent 1px); background-size:3px 3px; pointer-events:none; z-index:1000; opacity:0.5;}

header{position:sticky; top:0; z-index:200; background:rgba(239,227,199,0.92); backdrop-filter:blur(8px); border-bottom:1px solid var(--line); transition:box-shadow 0.4s ease;}
header.scrolled{box-shadow:0 8px 24px -12px rgba(14,43,32,0.25);}
nav{display:flex; align-items:center; justify-content:space-between; padding:18px 32px; max-width:1180px; margin:0 auto;}
.logo{display:flex; align-items:center; gap:10px;}
.logo-mark{width:30px; height:30px; flex-shrink:0;}
.custom-logo-link img{max-height:34px; width:auto;}
.logo-text{font-family:'Fraunces',serif; font-weight:600; font-size:1.3rem; color:var(--forest-deep); letter-spacing:-0.01em;}
.logo-sub{font-size:0.62rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); margin-top:-2px;}
.nav-links{display:flex; gap:36px; align-items:center; list-style:none;}
.nav-links li{position:relative;}
.nav-links a{font-size:0.92rem; letter-spacing:0.02em; position:relative; padding:4px 0;}
.nav-links a::after{content:""; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gold); transition:width 0.3s ease;}
.nav-links a:hover::after{width:100%;}
.nav-cta{background:var(--forest); color:var(--cream) !important; padding:10px 22px; border-radius:2px; font-size:0.85rem; letter-spacing:0.03em; transition:background 0.25s ease;}
.nav-cta:hover{background:var(--forest-deep);}
.nav-cta::after{display:none;}
.burger{display:none; font-size:1.4rem; background:none; border:none; color:var(--forest-deep); cursor:pointer;}
.cart-contents{display:flex; align-items:center; gap:6px;}
.cart-count{background:var(--gold); color:var(--forest-deep); font-size:0.68rem; border-radius:50%; width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center;}

.hero{position:relative; display:grid; grid-template-columns:1.05fr 0.95fr; align-items:center; max-width:1180px; margin:0 auto; padding:70px 32px 40px; gap:40px;}
.hero-eyebrow{display:inline-flex; align-items:center; gap:10px; font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:22px;}
.hero-eyebrow .rule{width:34px; height:1px; background:var(--gold-gradient);}
.hero h1{font-size:clamp(2.6rem, 4.6vw, 4.1rem); line-height:1.03; margin-bottom:22px;}
.hero h1 em{font-style:italic; color:var(--leaf-red); font-weight:500;}
.hero p.lede{font-size:1.08rem; color:#4A4030; max-width:440px; margin-bottom:34px;}
.hero-ctas{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:38px;}
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 30px; font-size:0.85rem; letter-spacing:0.04em; border-radius:2px; cursor:pointer; border:1px solid transparent; transition:transform 0.35s cubic-bezier(.2,.7,.3,1), box-shadow 0.35s ease, color 0.35s ease; position:relative; overflow:hidden; z-index:1;}
.btn-primary{background:var(--forest); color:var(--cream);}
.btn-primary::before{content:""; position:absolute; inset:0; background:var(--gold-gradient); transform:scaleX(0); transform-origin:left; transition:transform 0.45s cubic-bezier(.2,.7,.3,1); z-index:-1;}
.btn-primary:hover{transform:translateY(-2px); box-shadow:var(--shadow); color:var(--forest-deep);}
.btn-primary:hover::before{transform:scaleX(1);}
.btn-ghost{border-color:var(--forest); color:var(--forest-deep);}
.btn-ghost::before{content:""; position:absolute; inset:0; background:var(--forest); transform:scaleX(0); transform-origin:left; transition:transform 0.4s cubic-bezier(.2,.7,.3,1); z-index:-1;}
.btn-ghost:hover{color:var(--cream);}
.btn-ghost:hover::before{transform:scaleX(1);}
.hero-trust{display:flex; gap:26px; flex-wrap:wrap;}
.hero-trust span{font-size:0.78rem; color:#5B5140; display:flex; align-items:center; gap:7px;}
.hero-trust svg{width:14px; height:14px; color:var(--forest);}
.hero-art{position:relative;}
.hero-art .frame{position:relative; border-radius:4px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);}
.hero-art img{width:100%; height:auto; display:block;}
.badge-seal{position:absolute; bottom:-26px; left:-26px; width:110px; height:110px; border-radius:50%; background:var(--forest); color:var(--cream); display:flex; align-items:center; justify-content:center; text-align:center; font-family:'Fraunces',serif; font-size:0.68rem; line-height:1.25; padding:10px; box-shadow:var(--shadow); animation:spin-slow 26s linear infinite; border:2px solid transparent; background-image:linear-gradient(var(--forest), var(--forest)), var(--gold-gradient); background-origin:border-box; background-clip:padding-box, border-box;}
@keyframes spin-slow{from{transform:rotate(0)} to{transform:rotate(360deg)}}
.badge-seal .core{animation:spin-slow-rev 26s linear infinite;}
@keyframes spin-slow-rev{from{transform:rotate(0)} to{transform:rotate(-360deg)}}
@media (prefers-reduced-motion: reduce){.badge-seal, .badge-seal .core{animation:none;}}

.tagline-marquee{background:var(--forest); border-top:1px solid rgba(251,247,236,0.12); border-bottom:1px solid rgba(251,247,236,0.12); overflow:hidden; padding:16px 0;}
.marquee-track{display:flex; width:max-content; animation:marquee 32s linear infinite;}
.marquee-set{display:flex; align-items:center; flex-shrink:0;}
.marquee-set span{font-family:'Fraunces',serif; font-weight:600; font-size:1.05rem; letter-spacing:0.12em; color:var(--cream); text-transform:uppercase; white-space:nowrap; padding:0 18px;}
.marquee-set .dot{color:var(--gold); font-size:0.8rem; padding:0 4px;}
@keyframes marquee{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.marquee-track{animation:none;}}

.leaf-divider{display:flex; align-items:center; justify-content:center; gap:14px; padding:6px 0 46px;}
.leaf-divider .rule{height:1px; width:70px; background:var(--line);}
.leaf-divider svg{width:20px; height:20px;}

.features{background:var(--forest-deep); padding:44px 0;}
.features .wrap{display:grid; grid-template-columns:repeat(5,1fr); gap:24px;}
.feature{text-align:center; color:var(--cream);}
.feature svg{width:26px; height:26px; margin:0 auto 12px; color:var(--gold);}
.feature span{font-size:0.78rem; letter-spacing:0.02em; color:#D9CFB8;}

.section{padding:90px 0;}
.section-head{text-align:center; max-width:620px; margin:0 auto 56px;}
.section-head .eyebrow{font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:14px; display:block;}
.section-head h2{font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:14px;}
.section-head p{color:#5B5140; font-size:1rem;}

.grid, ul.products{display:grid !important; grid-template-columns:repeat(3, 1fr); gap:28px; list-style:none;}
.card, ul.products li.product{background:var(--cream); border:1px solid var(--line); border-radius:3px; overflow:hidden; transition:transform 0.4s cubic-bezier(.2,.7,.3,1), box-shadow 0.4s cubic-bezier(.2,.7,.3,1); display:flex; flex-direction:column; box-shadow:var(--shadow-soft); position:relative;}
.card::after{content:""; position:absolute; top:0; left:0; right:0; height:2px; background:var(--gold-gradient); transform:scaleX(0); transform-origin:left; transition:transform 0.45s cubic-bezier(.2,.7,.3,1); z-index:3;}
.card:hover::after{transform:scaleX(1);}
.card:hover{transform:translateY(-7px); box-shadow:var(--shadow);}
.card-top{height:170px; position:relative; display:flex; align-items:flex-end; justify-content:flex-start; background: var(--swatch, var(--forest)); background-size:cover; background-position:center 15%; overflow:hidden;}
.card-top::before{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(14,43,32,0) 40%, rgba(14,43,32,0.55) 100%);}
.card-top .leaf-mono{width:22px; height:22px; opacity:0.95; position:relative; margin:0 0 12px 14px; z-index:2;}
.card-body{padding:22px 22px 24px; display:flex; flex-direction:column; gap:10px; flex:1;}
.card-eyebrow{font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold);}
.card-body h3{font-size:1.28rem;}
.card-body .latin{font-size:0.78rem; font-style:italic; color:#8A7F68; margin-top:-6px;}
.card-body p{font-size:0.88rem; color:#5B5140; flex:1;}
.sizes-row{display:flex; gap:8px; margin-top:6px;}
.size-pill{flex:1; text-align:center; border:1px solid var(--line); border-radius:2px; padding:9px 6px; cursor:pointer; font-size:0.78rem; transition:all 0.2s ease; background:transparent;}
.size-pill.active{background:var(--forest); color:var(--cream); border-color:var(--forest);}
.size-pill:hover:not(.active){border-color:var(--forest);}
.card-foot{display:flex; align-items:center; justify-content:space-between; margin-top:8px; padding-top:14px; border-top:1px dashed var(--line);}
.price, ul.products li.product .price{font-family:'Fraunces',serif; font-size:1.35rem; color:var(--forest-deep); position:relative; padding-bottom:3px;}
.price::after{content:""; position:absolute; left:0; bottom:0; width:22px; height:1.5px; background:var(--gold-gradient);}
.price small{font-family:'Jost',sans-serif; font-size:0.7rem; color:#8A7F68; font-weight:400;}
.add-btn, a.add_to_cart_button, a.ajax_add_to_cart{position:relative; overflow:hidden; background:transparent; border:1px solid var(--forest); color:var(--forest-deep); padding:9px 16px; font-size:0.78rem; letter-spacing:0.03em; border-radius:2px; cursor:pointer; transition:color 0.4s ease; z-index:1; display:inline-block;}
.add-btn::before, a.add_to_cart_button::before{content:""; position:absolute; inset:0; background:var(--forest); transform:scaleX(0); transform-origin:right; transition:transform 0.4s cubic-bezier(.2,.7,.3,1); z-index:-1;}
.add-btn:hover, a.add_to_cart_button:hover{color:var(--cream);}
.add-btn:hover::before, a.add_to_cart_button:hover::before{transform:scaleX(1); transform-origin:left;}

.showcase{background:var(--cream); padding:70px 0;}
.showcase-frame{border-radius:4px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);}
.showcase-caption{text-align:center; margin-top:22px; font-size:0.85rem; color:#8A7F68; letter-spacing:0.04em;}

.sizes-section{background:var(--forest-deep); padding:80px 0; color:var(--cream);}
.sizes-section .section-head h2{color:var(--cream);}
.sizes-section .section-head p{color:#C9BFA8;}
.sizes-visual{border-radius:4px; overflow:hidden; box-shadow:var(--shadow);}

.certs{padding:60px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.certs .wrap{display:grid; grid-template-columns:repeat(5,1fr); gap:20px; text-align:center;}
.certs svg{width:24px; height:24px; color:var(--forest); margin:0 auto 10px;}
.certs span{font-size:0.76rem; letter-spacing:0.03em; color:#5B5140;}

.story{padding:100px 0;}
.story .about-top{display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center; margin-bottom:70px;}
.about-art .frame{border-radius:4px; overflow:hidden; box-shadow:var(--shadow); border:1px solid var(--line);}
.story .story-copy p{color:#5B5140; margin-bottom:16px; font-size:0.98rem;}
.story .story-copy strong{color:var(--forest-deep); font-weight:500;}
.story .story-copy .eyebrow{font-size:0.72rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:14px;}
.signature{font-family:'Fraunces',serif; font-style:italic; color:var(--forest-deep) !important; font-size:1rem; margin-top:-4px;}
.reg-address{margin-top:26px; padding-top:20px; border-top:1px dashed var(--line); font-size:0.8rem; color:#8A7F68; letter-spacing:0.01em;}
.reg-address strong{color:#5B5140; font-weight:500;}
.promise-quote{font-family:'Fraunces',serif; font-size:1.6rem; line-height:1.4; color:var(--forest-deep); font-weight:500; font-style:italic; border-left:2px solid var(--gold); padding-left:26px; max-width:760px; margin:0 auto 70px;}
.stats-row{display:grid; grid-template-columns:repeat(4,1fr); gap:24px; border-top:1px solid var(--line); padding-top:44px;}
.stat{text-align:center;}
.stat .num{display:block; font-family:'Fraunces',serif; font-size:2rem; color:var(--forest-deep); font-weight:600;}
.stat .lbl{display:block; font-size:0.8rem; color:#8A7F68; letter-spacing:0.03em; margin-top:6px;}

.vision{background:var(--forest-deep); color:var(--cream); padding:110px 0; text-align:center; position:relative; overflow:hidden;}
.vision::before{content:""; position:absolute; top:-40%; right:-10%; width:60%; height:180%; background:radial-gradient(circle, rgba(183,134,44,0.14) 0%, transparent 70%); pointer-events:none;}
.vision .eyebrow{font-size:0.72rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold); display:block; margin-bottom:26px;}
.vision-statement{font-family:'Fraunces',serif; font-weight:600; color:var(--cream); font-size:clamp(1.9rem, 3.6vw, 3.1rem); line-height:1.18; max-width:920px; margin:0 auto 28px; letter-spacing:-0.01em; position:relative;}
.vision-statement::before{content:"\201C"; position:absolute; top:-90px; left:50%; transform:translateX(-50%); font-family:'Fraunces',serif; font-size:11rem; color:rgba(183,134,44,0.14); font-weight:600; pointer-events:none; line-height:1;}
.vision-sub{max-width:600px; margin:0 auto; color:#C9BFA8; font-size:1.02rem; position:relative;}

.pack-standards{padding:90px 0; background:var(--cream);}
.pack-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:26px;}
.pack-item{background:var(--kraft); border:1px solid var(--line); border-radius:4px; padding:30px 24px; text-align:left; transition:transform 0.3s ease, box-shadow 0.3s ease;}
.pack-item:hover{transform:translateY(-5px); box-shadow:var(--shadow);}
.pack-item svg{width:26px; height:26px; color:var(--forest); margin-bottom:16px;}
.pack-item h4{font-family:'Fraunces',serif; font-size:1.05rem; font-weight:600; color:var(--forest-deep); margin-bottom:10px;}
.pack-item p{font-size:0.85rem; color:#5B5140;}

.cta-band{background:var(--forest); color:var(--cream); padding:70px 0; text-align:center;}
.cta-band h2{color:var(--cream); font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:14px;}
.cta-band p{color:#D9CFB8; margin-bottom:30px;}
.cta-form{display:flex; justify-content:center; gap:10px; max-width:420px; margin:0 auto; flex-wrap:wrap;}
.cta-form input{flex:1; min-width:220px; padding:13px 16px; border:1px solid rgba(251,247,236,0.3); background:rgba(251,247,236,0.06); color:var(--cream); border-radius:2px; font-family:'Jost',sans-serif;}
.cta-form input::placeholder{color:#B9AF97;}
.cta-form button{background:var(--gold); color:var(--forest-deep); border:none; padding:13px 24px; border-radius:2px; font-size:0.85rem; letter-spacing:0.03em; cursor:pointer; transition:opacity .25s ease;}
.cta-form button:hover{opacity:0.88;}

footer{background:var(--forest-deep); color:#C9BFA8; padding:64px 0 28px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px; margin-bottom:50px;}
.footer-brand .logo-text{color:var(--cream);}
.footer-brand p{margin-top:14px; font-size:0.88rem; max-width:280px; color:#AFA48C;}
.footer-col h4{font-family:'Fraunces',serif; color:var(--cream); font-weight:500; font-size:0.95rem; margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col a{display:block; font-size:0.85rem; margin-bottom:10px; color:#AFA48C; transition:color .2s ease;}
.footer-col a:hover{color:var(--cream);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; border-top:1px solid rgba(201,191,168,0.15); padding-top:24px; font-size:0.78rem; color:#8B8168;}
.disclaimer{margin-top:14px; font-size:0.68rem; color:#6E6552; line-height:1.6; max-width:820px;}

.woocommerce ul.products li.product .price ins{color:var(--forest-deep); text-decoration:none;}
.woocommerce ul.products li.product .price del{color:#8A7F68; opacity:.6;}
.woocommerce div.product p.price, .woocommerce div.product span.price{color:var(--forest-deep); font-family:'Fraunces',serif;}
.woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit{background:var(--forest); color:var(--cream); border-radius:2px; font-family:'Jost',sans-serif;}
.woocommerce a.button:hover, .woocommerce button.button:hover{background:var(--forest-deep); color:var(--cream);}

@media (max-width: 880px){
  .hero{grid-template-columns:1fr; padding-top:40px;}
  .hero-art{order:-1;}
  .badge-seal{display:none;}
  .features .wrap{grid-template-columns:repeat(2,1fr); row-gap:30px;}
  .grid, ul.products{grid-template-columns:repeat(2,1fr) !important;}
  .certs .wrap{grid-template-columns:repeat(2,1fr); row-gap:26px;}
  .story .about-top{grid-template-columns:1fr; gap:34px;}
  .stats-row{grid-template-columns:repeat(2,1fr); row-gap:30px;}
  .promise-quote{font-size:1.3rem;}
  .pack-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr; row-gap:34px;}
  .nav-links{display:none;}
  .nav-links.open{display:flex; flex-direction:column; align-items:flex-start; gap:0; position:absolute; top:100%; left:0; right:0; background:var(--kraft); border-bottom:1px solid var(--line); padding:8px 32px 20px; box-shadow:var(--shadow-soft);}
  .nav-links.open li{width:100%;}
  .nav-links.open a{width:100%; padding:12px 0; border-bottom:1px solid var(--line); display:block;}
  .nav-links.open a.nav-cta{margin-top:14px; text-align:center; border-bottom:none;}
  .burger{display:block;}
}
@media (max-width: 560px){
  .grid, ul.products{grid-template-columns:1fr !important;}
  .footer-grid{grid-template-columns:1fr;}
  .pack-grid{grid-template-columns:1fr;}
}

.reveal{opacity:0; transform:translateY(24px); transition:opacity 0.8s cubic-bezier(.2,.7,.3,1), transform 0.8s cubic-bezier(.2,.7,.3,1);}
.reveal.in-view{opacity:1; transform:translateY(0);}
.reveal-stagger .card, .reveal-stagger .pack-item{opacity:0; transform:translateY(20px); transition:opacity 0.7s cubic-bezier(.2,.7,.3,1), transform 0.7s cubic-bezier(.2,.7,.3,1);}
.reveal-stagger.in-view .card, .reveal-stagger.in-view .pack-item{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal, .reveal-stagger .card, .reveal-stagger .pack-item{opacity:1 !important; transform:none !important; transition:none !important;}
}
