:root{--green:#183b2b;--deep:#102a20;--sage:#dce5d5;--cream:#f5f0e6;--sand:#e9dfce;--ink:#263329;--muted:#697469;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fbfaf6;font-family:var(--sans);font-size:15px;line-height:1.65}.announcement{background:var(--green);color:#f7f2e7;text-align:center;padding:8px 16px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}.site-header{height:86px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;background:#fbfaf6;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:8px;color:var(--green);text-decoration:none;font-family:var(--serif);font-size:25px;line-height:.9;letter-spacing:.06em;font-weight:600}.brand small{display:block;font:10px var(--sans);letter-spacing:.42em;margin-top:7px}.brand-leaf{font-size:28px}.nav{display:flex;gap:30px}.nav a,.header-cta{color:var(--ink);text-decoration:none;font-size:12px;letter-spacing:.04em}.nav a:hover,.header-cta:hover{color:#8b6b3d}.header-cta{border-bottom:1px solid #a9ad9e;padding:8px 0}.header-cta span{margin-left:12px}.menu-toggle{display:none;border:0;background:none;font-size:24px;color:var(--green)}.hero{height:min(760px,78vw);min-height:590px;position:relative;overflow:hidden;background:#344331}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,30,20,.72) 0%,rgba(10,30,20,.38) 45%,rgba(10,30,20,.04) 100%)}.hero-copy{position:absolute;left:9%;top:50%;transform:translateY(-50%);max-width:560px;color:#fffaf0}.eyebrow,.section-kicker{font-size:10px;letter-spacing:.22em;font-weight:700}.eyebrow.light{color:#e4d5b9}.hero h1{font:clamp(44px,6.2vw,82px)/1.08 var(--serif);font-weight:500;margin:22px 0}.hero h1 em,h2 em{font-weight:400}.hero-intro{font-size:16px;max-width:390px;color:#f1eee5;margin:0 0 30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;text-decoration:none;padding:15px 20px;min-width:190px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;transition:.2s}.button span{font-size:18px}.button-light{background:#f4eddf;color:var(--green)}.button-light:hover{background:#fff}.button-dark{background:var(--green);color:#fffaf0}.button-dark:hover{background:#2d5a40}.hero-note{position:absolute;right:6%;bottom:30px;color:#f4eddf;font-size:9px;letter-spacing:.2em;writing-mode:vertical-rl}.section-wrap{max-width:1160px;margin:auto;padding-left:7vw;padding-right:7vw}.intro{text-align:center;padding-top:112px;padding-bottom:105px}.section-kicker{color:#8c7047}.intro h2,.ingredients h2,.contact h2{font:clamp(36px,4.5vw,58px)/1.18 var(--serif);font-weight:500;color:var(--green);margin:18px 0}.intro-text{max-width:570px;margin:22px auto;color:#687267;font-size:14px}.ornament{color:#9b8055;font-size:24px;margin-top:32px}.product-section{display:grid;grid-template-columns:1fr 1fr;background:var(--cream);min-height:620px}.product-photo{min-height:620px;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.product-copy{padding:90px clamp(40px,8vw,130px);align-self:center}.product-copy h2{font:clamp(42px,5vw,65px)/1.08 var(--serif);color:var(--green);font-weight:500;margin:20px 0}.product-copy>p{color:#697469;max-width:420px;font-size:14px}.product-points{list-style:none;padding:18px 0 24px;margin:0}.product-points li{border-bottom:1px solid #d7d0c2;padding:12px 0;font-size:13px}.product-points li span{color:#a18a61;margin-right:18px;font-size:10px}.small-note{font-size:10px!important;margin-top:16px}.ingredients{padding-top:110px;padding-bottom:115px}.ingredients-heading{display:flex;justify-content:space-between;align-items:end;gap:50px}.ingredients-heading>p{max-width:360px;color:#697469;font-size:14px;margin-bottom:25px}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:48px}.ingredient-grid article{border-top:1px solid #c9c2b2;padding:26px 20px 18px 0}.ingredient-symbol{font-size:28px;color:#8a7048}.ingredient-grid h3{font:23px var(--serif);color:var(--green);font-weight:500;margin:15px 0 8px}.ingredient-grid p{font-size:13px;color:#697469;max-width:270px;margin:0}.quote-band{background:var(--green);color:#f5efe2;text-align:center;padding:78px 20px}.quote-band p{font:clamp(30px,4vw,48px)/1.3 var(--serif);margin:0 0 22px}.quote-band span{font-size:9px;letter-spacing:.25em}.contact{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:110px;padding-bottom:110px;align-items:center}.contact>div:first-child>p{max-width:390px;color:#697469;font-size:14px}.contact-card{background:var(--cream);padding:45px;text-align:center}.contact-leaf{font-size:35px;color:#8b7049}.contact-card h3{font:28px var(--serif);color:var(--green);font-weight:500;margin:8px 0}.contact-card p{font-size:12px;color:#697469;margin:0 0 25px}.contact-card small{display:block;margin-top:15px;font-size:10px;color:#7b8178}.footer{background:#102a20;color:#e9e2d4;display:flex;align-items:center;justify-content:space-between;padding:35px 7vw;gap:25px}.footer-brand{color:#f5efe2;font-size:20px}.footer-brand .brand-leaf{font-size:24px}.footer p{font:italic 15px var(--serif);color:#d7d0c1}.copyright{font-size:10px;color:#b9c1b6}
@media(max-width:800px){.site-header{height:72px;padding:0 22px}.menu-toggle{display:block;order:3}.header-cta{display:none}.nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fbfaf6;padding:20px 25px 26px;flex-direction:column;gap:18px;border-top:1px solid #eee8dc}.nav.open{display:flex}.hero{height:690px;min-height:0}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(10,30,20,.72),rgba(10,30,20,.22))}.hero-copy{left:7%;right:7%;top:52%}.hero h1{font-size:clamp(43px,11vw,68px)}.hero-intro{font-size:14px;max-width:310px}.hero-note{right:18px}.intro{padding-top:78px;padding-bottom:75px}.product-section{grid-template-columns:1fr}.product-photo{min-height:440px;height:440px}.product-copy{padding:62px 8vw 70px}.ingredients{padding-top:78px;padding-bottom:80px}.ingredients-heading{display:block}.ingredients-heading>p{margin-top:15px}.ingredient-grid{grid-template-columns:1fr;gap:10px;margin-top:30px}.ingredient-grid article{padding:20px 0}.contact{grid-template-columns:1fr;gap:35px;padding-top:75px;padding-bottom:75px}.contact-card{padding:35px 22px}.footer{flex-direction:column;text-align:center;padding:35px 20px;gap:10px}.footer p{margin:8px 0}.copyright{margin-top:8px}}

.contact-details{display:grid;gap:9px;margin-top:20px;font-size:12px}
.contact-details a{color:var(--green);text-decoration:none;border-bottom:1px solid #d7d0c2;padding-bottom:7px}
.contact-details a:hover{color:#8b6b3d}
.campaign-section{background:#f5f0e6;padding:45px 7vw;text-align:center}
.campaign-section img{display:block;width:min(100%,850px);height:auto;margin:0 auto;box-shadow:0 18px 55px rgba(25,45,30,.12)}
@media(max-width:800px){.campaign-section{padding:28px 18px}}

.product-price{margin:22px 0 16px;color:var(--green)}.product-price strong{font-family:"Playfair Display",serif;font-size:38px;font-weight:600}.product-price span{font-size:14px;color:#756f60}

.product-tagline{font:italic 18px var(--serif)!important;color:#8c7047!important;margin:-6px 0 14px}
.details-link{display:inline-block;margin-left:22px;color:var(--green);font-size:12px;letter-spacing:.04em;text-decoration:none;border-bottom:1px solid #a9ad9e;padding:4px 0}
.details-link:hover{color:#8b6b3d}
.details{padding-top:110px;padding-bottom:110px}
.details-intro{text-align:center;max-width:680px;margin:0 auto 60px}
.details h2{font:clamp(36px,4.5vw,58px)/1.18 var(--serif);font-weight:500;color:var(--green);margin:18px 0}
.details-intro p{color:#697469;font-size:14px}
.details-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start}
.details-side{display:grid;gap:28px}
.details-block{background:var(--cream);padding:36px 38px}
.details-block h3{font:26px var(--serif);color:var(--green);font-weight:500;margin:0 0 18px}
.ingredient-list,.feature-list{list-style:none;padding:0;margin:0}
.ingredient-list li{border-bottom:1px solid #d7d0c2;padding:12px 0;font-size:13px}
.ingredient-list li strong{display:block;color:var(--green);font-weight:600;font-size:14px}
.ingredient-list li span{color:#697469}
.details-note{font-size:13px;color:#8c7047;font-style:italic;margin:18px 0 0}
.feature-list li{position:relative;padding:8px 0 8px 26px;font-size:13px;border-bottom:1px solid #d7d0c2}
.feature-list li::before{content:"✿";position:absolute;left:0;color:#a18a61}
.steps-list{list-style:none;counter-reset:step;padding:0;margin:0}
.steps-list li{counter-increment:step;position:relative;padding:8px 0 8px 36px;font-size:13px;border-bottom:1px solid #d7d0c2}
.steps-list li::before{content:"0" counter(step);position:absolute;left:0;top:10px;color:#a18a61;font-size:10px;letter-spacing:.05em}
.spec-list{margin:0}
.spec-list div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d7d0c2;padding:10px 0;font-size:13px}
.spec-list dt{color:#8c7047;font-weight:600;flex-shrink:0}
.spec-list dd{margin:0;text-align:right;color:var(--ink)}
.details-closing{text-align:center;margin-top:60px}
.details-closing p{font:clamp(22px,2.6vw,30px)/1.3 var(--serif);color:var(--green);margin:0 0 12px}
.details-closing span{font-size:10px;letter-spacing:.22em;color:#8c7047;font-weight:700;text-transform:uppercase}
@media(max-width:800px){.details{padding-top:78px;padding-bottom:80px}.details-intro{margin-bottom:40px}.details-grid{grid-template-columns:1fr;gap:20px}.details-side{gap:20px}.details-block{padding:28px 22px}.details-link{display:block;margin:16px 0 0;width:max-content}.details-closing{margin-top:44px}}
.shipping-note{margin:-8px 0 18px;font-size:14px;color:#756f60}.shipping-note strong{color:var(--green);font-weight:600}

/* ---------- Logo ---------- */
[hidden]{display:none!important}
.brand-logo{width:64px;height:64px;border-radius:50%;object-fit:cover;box-shadow:0 4px 14px rgba(24,59,43,.18);flex-shrink:0}
.site-header .brand{gap:12px}
.footer-brand{display:block}
.footer-logo{display:block;width:110px;height:110px;border-radius:50%;box-shadow:0 0 0 3px rgba(233,226,212,.15)}

/* ---------- Header actions & cart button ---------- */
.header-actions{display:flex;align-items:center;gap:22px}
.cart-button{position:relative;border:0;background:none;color:var(--green);cursor:pointer;padding:6px;display:flex}
.cart-button:hover{color:#8b6b3d}
.cart-count{position:absolute;top:-2px;right:-6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#b89458;color:#fff;font-size:10px;font-weight:700;line-height:18px;text-align:center;transform:scale(0);transition:transform .2s}
.cart-count.has-items{transform:scale(1)}
button.button{border:0;cursor:pointer;font-family:var(--sans)}
button.button:disabled{opacity:.6;cursor:wait}
.button-outline{background:transparent;color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}
.button-outline:hover{background:var(--green);color:#fffaf0}
.button.full{width:100%}
.text-button{background:none;border:0;padding:6px 0;color:var(--green);font:12px var(--sans);letter-spacing:.04em;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.text-button:hover{color:#8b6b3d}

/* ---------- Products ---------- */
.products{padding-top:100px;padding-bottom:100px}
.products-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:44px}
.products-heading h2{font:clamp(36px,4.5vw,58px)/1.18 var(--serif);font-weight:500;color:var(--green);margin:18px 0 0}
.products-heading>p{max-width:340px;color:#697469;font-size:14px;margin:0 0 8px}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:28px;align-items:start}
.product-card{background:var(--cream);display:flex;flex-direction:column;transition:box-shadow .25s,transform .25s}
.product-card:hover{box-shadow:0 18px 45px rgba(25,45,30,.1);transform:translateY(-2px)}
.card-media{position:relative;aspect-ratio:4/3.4;overflow:hidden;background:var(--sand)}
.card-media img{width:100%;height:100%;object-fit:cover;display:block}
.card-tag{position:absolute;top:14px;left:14px;background:var(--green);color:#f5efe2;font-size:9px;letter-spacing:.18em;text-transform:uppercase;padding:6px 10px}
.card-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1}
.card-body h3{font:25px/1.2 var(--serif);color:var(--green);font-weight:500;margin:0 0 8px}
.card-meta{color:var(--green);margin-bottom:10px}.card-meta strong{font:600 24px var(--serif)}.card-meta span{font-size:13px;color:#756f60}
.card-summary{font-size:13px;color:#697469;margin:0 0 8px}
.card-more{font-size:13px;color:#4f5a50;border-top:1px solid #d7d0c2;margin-top:6px;padding-top:6px}
.card-more p{margin:8px 0}
.card-highlights{list-style:none;padding:0;margin:10px 0 4px}
.card-highlights li{position:relative;padding:4px 0 4px 22px}
.card-highlights li::before{content:"✿";position:absolute;left:0;color:#a18a61}
.show-more{align-self:flex-start;background:none;border:0;padding:4px 0;margin:2px 0 4px;color:#8c7047;font:600 12px var(--sans);letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.show-more span{font-size:11px;margin-left:4px}
.show-more:hover{color:var(--green)}
.card-actions{display:flex;gap:12px;align-items:stretch;margin-top:auto;padding-top:16px}
.card-actions .button{flex:1;min-width:0;gap:12px}
.coming-soon{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#8c7047;padding:14px 0}
.qty{display:flex;align-items:center;border:1px solid #c9c2b2;background:#fbfaf6}
.qty button{width:34px;height:100%;min-height:44px;border:0;background:none;font-size:17px;color:var(--green);cursor:pointer}
.qty button:hover{background:var(--sand)}
.qty input{width:34px;border:0;background:none;text-align:center;font:600 14px var(--sans);color:var(--ink);-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty.small{display:inline-flex;margin-top:8px}
.qty.small button{min-height:30px;width:30px;font-size:15px}
.qty.small span{min-width:26px;text-align:center;font-size:13px;font-weight:600}

/* ---------- Cart drawer ---------- */
.no-scroll{overflow:hidden}
.overlay{position:fixed;inset:0;background:rgba(16,42,32,.45);z-index:40;opacity:0;transition:opacity .25s}
.overlay.show{opacity:1}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:#fbfaf6;z-index:50;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .28s ease;box-shadow:-10px 0 40px rgba(16,42,32,.15)}
.cart-drawer.open{transform:none}
.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:22px 26px;border-bottom:1px solid #e6dfd1}
.drawer-head h3{font:26px var(--serif);color:var(--green);font-weight:500;margin:0}
.icon-close{border:0;background:none;font-size:30px;line-height:1;color:var(--green);cursor:pointer;padding:0 4px}
.cart-items{flex:1;overflow-y:auto;padding:8px 26px}
.cart-empty{text-align:center;padding:60px 0;color:#697469}
.cart-line{display:grid;grid-template-columns:64px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid #e6dfd1;font-size:13px}
.cart-line img{width:64px;height:64px;object-fit:cover;background:var(--sand)}
.cart-line-info strong{display:block;color:var(--green);font-weight:600;line-height:1.3}
.cart-line-info span{color:#756f60;font-size:12px}
.cart-line-end{text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between}
.cart-line-end strong{color:var(--green)}
.text-button.remove{font-size:11px;color:#8c7047}
.cart-foot{padding:20px 26px 24px;border-top:1px solid #e6dfd1;background:var(--cream)}
.cart-row{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:14px}
.cart-row.small{font-size:12px;color:#697469}
.cart-row.total{border-top:1px solid #d7d0c2;margin-top:8px;padding-top:12px;font-size:16px;color:var(--green)}
.cart-row.total strong{font:600 20px var(--serif)}
.free-ship-hint{font-size:12px;color:#8c7047;margin:2px 0 4px;min-height:0}
.free-ship-hint:empty{display:none}
.cart-foot .button{margin:16px 0 6px}
.cart-foot .text-button{display:block;margin:0 auto}

/* ---------- Checkout ---------- */
.checkout{position:fixed;inset:0;z-index:60;background:rgba(16,42,32,.55);display:flex;align-items:flex-start;justify-content:center;padding:40px 18px;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.checkout.open{opacity:1;visibility:visible}
.checkout-panel{position:relative;background:#fbfaf6;width:min(980px,100%);padding:44px clamp(22px,4vw,48px);margin:auto 0}
.checkout-close{position:absolute;top:16px;right:18px}
.checkout-step h3{font:clamp(28px,3.4vw,38px)/1.2 var(--serif);color:var(--green);font-weight:500;margin:10px 0 26px}
.checkout-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:36px;align-items:start}
.checkout-form{display:grid;gap:14px}
.checkout-form label{display:grid;gap:6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#6b675b;font-weight:600}
.checkout-form input,.checkout-form textarea{font:15px var(--sans);color:var(--ink);background:#fff;border:1px solid #d7d0c2;padding:12px 14px;border-radius:0;width:100%;text-transform:none;letter-spacing:0;font-weight:400}
.checkout-form input:focus,.checkout-form textarea:focus{outline:2px solid #b89458;outline-offset:-1px;border-color:transparent}
.checkout-form textarea{resize:vertical}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-row.three{grid-template-columns:1.2fr 1fr .8fr}
.hidden-field{position:absolute;left:-9999px}
.form-error{color:#a33a2a;font-size:13px;margin:0}
.checkout-form .button{margin-top:6px}
.order-summary{background:var(--cream);padding:24px 24px 20px}
.order-summary h4{font:20px var(--serif);color:var(--green);font-weight:500;margin:0 0 6px}
.order-summary .cart-line{grid-template-columns:52px 1fr auto}
.order-summary .cart-line img{width:52px;height:52px}
.checkout-step[data-step="done"]{text-align:center;max-width:560px;margin:0 auto;padding:10px 0}
.done-mark{width:62px;height:62px;border-radius:50%;background:var(--green);color:#fffaf0;font-size:28px;line-height:62px;margin:0 auto 18px}
.done-text{color:#4f5a50;font-size:14px}
.done-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:24px 0 14px}

/* ---------- Toast ---------- */
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,20px);background:var(--green);color:#fffaf0;padding:12px 20px;font-size:13px;z-index:70;opacity:0;pointer-events:none;transition:.25s;box-shadow:0 10px 30px rgba(16,42,32,.25)}
.toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:800px){
  .brand-logo{width:52px;height:52px}
  .site-header .brand{font-size:21px}
  .header-actions{order:2;margin-left:auto;margin-right:14px;gap:0}
  .products{padding-top:72px;padding-bottom:72px}
  .products-heading{display:block;margin-bottom:30px}.products-heading>p{margin-top:12px}
  .product-grid{grid-template-columns:1fr;gap:22px}
  .checkout{padding:0}
  .checkout-panel{min-height:100%;padding:56px 20px 34px}
  .checkout-grid{grid-template-columns:1fr;gap:26px}
  .order-summary{order:-1}
  .form-row,.form-row.three{grid-template-columns:1fr}
  .footer-logo{width:96px;height:96px;margin:0 auto}
}
