:root{--paper:#f8f7f2;--ink:#19231f;--muted:#66736b;--green:#345446;--lime:#d6e88b;--line:#dedfd6;--orange:#e79468;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}.announcement{height:34px;background:var(--green);color:#f8f7f2;text-align:center;font-size:11px;letter-spacing:.07em;display:flex;justify-content:center;align-items:center;gap:15px}.announcement span{color:var(--lime)}.site-header{height:82px;padding:0 6.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font:800 31px var(--display);letter-spacing:-2.6px;color:var(--ink);text-decoration:none}.wordmark span{color:var(--orange)}.main-nav{display:flex;gap:37px}.main-nav a,.footer-links a{font-size:12px;color:var(--ink);text-decoration:none}.main-nav a:hover,.footer-links a:hover{color:var(--green)}.header-actions{display:flex;align-items:center;gap:23px}.icon-btn,.menu-toggle{border:0;background:none;font-size:26px;color:var(--ink);cursor:pointer}.bag-btn{border:0;background:none;font:600 12px var(--sans);cursor:pointer}.bag-btn span{background:var(--lime);border-radius:50%;padding:4px 7px;margin-left:7px}.menu-toggle{display:none}.hero{min-height:608px;padding:46px 8.5% 50px;display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.hero-copy{padding:15px 0 0}.eyebrow{font-size:9px;letter-spacing:.17em;font-weight:700;color:var(--green);margin:0 0 23px}.hero h1{font:500 clamp(51px,6.1vw,85px)/.99 var(--display);letter-spacing:-.075em;margin:0 0 24px}.hero h1 em,.section-heading h2 em,.story-copy h2 em{font-family:var(--serif);font-weight:400;letter-spacing:-.055em;color:var(--green)}.hero-sub{font-size:14px;line-height:1.8;color:var(--muted);max-width:390px;margin:0 0 30px}.button{height:49px;display:inline-flex;align-items:center;justify-content:center;gap:32px;padding:0 21px;text-decoration:none;border:0;font:600 11px var(--sans);cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--green);color:white}.button-dark:hover{background:#263e34}.button span{font-size:16px}.hero-note{margin-top:48px;display:flex;align-items:center;gap:15px;color:var(--muted);font-size:9px;line-height:1.45;letter-spacing:.04em}.spark{font-size:26px;color:var(--orange)}.note-line{width:54px;height:1px;background:#bdc3b5}.hero-note span:last-child{letter-spacing:.14em}.hero-visual{position:relative;max-width:480px;width:100%;justify-self:end}.hero-photo{height:480px;overflow:hidden;position:relative;background:#e4dfd4}.hero-photo img,.story-image img,.product-image img{width:100%;height:100%;object-fit:cover;display:block}.hero-photo img{object-position:center 35%}.image-tag{position:absolute;bottom:20px;left:20px;background:var(--lime);padding:11px 13px;font-size:9px;line-height:1.4;font-weight:700;letter-spacing:.08em}.hero-sticker{position:absolute;left:-35px;top:41px;background:var(--orange);width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;font-size:11px;line-height:1.3;letter-spacing:.08em;font-weight:700;transform:rotate(-12deg)}.hero-sticker span{font-size:16px}.hero-caption{position:absolute;right:0;bottom:-24px;color:var(--muted);font-size:9px;letter-spacing:.08em}.trust-strip{height:70px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:9%;font-size:10px;letter-spacing:.06em;color:var(--green)}.trust-strip span{color:var(--orange);font-size:15px;margin-right:8px}.shop-section{padding:100px 7% 110px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:15px}.section-heading h2,.story-copy h2{font:500 clamp(32px,4.3vw,54px)/1.1 var(--display);letter-spacing:-.065em;margin:0}.text-link{font-size:11px;text-decoration:none;color:var(--ink);border-bottom:1px solid #79877e;padding-bottom:8px}.text-link span{margin-left:15px;font-size:15px}.shop-toolbar{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);margin-bottom:25px}.filters{display:flex;gap:28px}.filter{border:0;background:none;color:#879087;font:500 10px var(--sans);padding:13px 0 14px;cursor:pointer;border-bottom:1px solid transparent}.filter.active{border-bottom-color:var(--green);color:var(--green)}.filter span{font-size:8px;color:#9ea79b;margin-left:5px}.sort-label{font-size:9px;color:#7d877e}.sort-label select{border:0;background:transparent;color:var(--ink);font:500 10px var(--sans);padding:5px;outline:none}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.product-card{min-width:0;position:relative}.product-image{height:clamp(210px,27vw,355px);background:#ece9e1;overflow:hidden;position:relative}.product-image img{transition:transform .45s}.product-card:hover .product-image img{transform:scale(1.045)}.product-badge{position:absolute;top:12px;left:12px;background:var(--lime);padding:7px 9px;text-transform:uppercase;font-size:8px;font-weight:700;letter-spacing:.09em}.quick-add{position:absolute;bottom:12px;right:12px;border:0;background:var(--paper);width:36px;height:36px;border-radius:50%;font-size:21px;cursor:pointer;transition:background .2s}.quick-add:hover{background:var(--lime)}.product-info{padding:14px 2px}.product-meta{display:flex;justify-content:space-between;gap:5px}.product-title{font-size:12px;font-weight:600;margin:0}.product-category{font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:#899188;margin:7px 0 11px}.product-price{font-size:11px}.product-price del{font-size:10px;color:#9da39c;margin-left:7px}.story{background:#eceee6;display:grid;grid-template-columns:1.05fr 1fr;min-height:510px;align-items:center;padding:55px 10%;gap:12%}.story-image{height:390px;position:relative;max-width:480px}.story-image img{object-position:center}.round-stamp{position:absolute;right:-35px;bottom:25px;width:103px;height:103px;border-radius:50%;background:var(--lime);display:grid;place-content:center;text-align:center;font-size:9px;line-height:1.3;letter-spacing:.1em;font-weight:700;transform:rotate(8deg)}.round-stamp span{font-size:14px;color:var(--green)}.story-copy .eyebrow{margin-bottom:19px}.story-copy h2{margin-bottom:22px}.story-copy>p:not(.eyebrow){font-size:12px;line-height:1.9;color:var(--muted);max-width:375px;margin-bottom:28px}.newsletter{padding:73px 10%;background:var(--lime);display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.newsletter .eyebrow{margin-bottom:12px}.newsletter h2{font:600 28px var(--display);letter-spacing:-.05em;margin:0 0 8px}.newsletter p:not(.eyebrow){font-size:10px;color:#526247;margin:0}.newsletter form{width:min(380px,43%);display:flex;border-bottom:1px solid var(--green);z-index:1}.newsletter input{flex:1;min-width:0;border:0;background:transparent;height:46px;outline:none;font:11px var(--sans)}.newsletter input::placeholder{color:#657357}.newsletter form button{border:0;background:transparent;font:600 10px var(--sans);cursor:pointer;white-space:nowrap}.newsletter form button span{margin-left:12px;font-size:15px}.newsletter-spark{position:absolute;font-size:190px;color:#c6d977;right:42%;top:-68px;opacity:.6}footer{padding:43px 7% 28px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:center;row-gap:27px}footer .wordmark{font-size:25px}footer>p{font:italic 14px var(--serif);color:var(--green)}.footer-links{justify-self:center;display:flex;gap:26px}footer small{grid-column:1/-1;border-top:1px solid var(--line);padding-top:19px;font-size:9px;color:#8d968c}.cart-backdrop,.modal-backdrop{position:fixed;inset:0;background:#101a1680;opacity:0;visibility:hidden;transition:opacity .25s;z-index:10}.cart-backdrop.open,.modal-backdrop.open{opacity:1;visibility:visible}.cart-drawer{position:fixed;z-index:11;right:0;top:0;height:100dvh;width:min(440px,100%);background:var(--paper);padding:33px 30px;transform:translateX(100%);transition:transform .3s;display:flex;flex-direction:column}.cart-drawer.open{transform:translateX(0)}.drawer-head{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.drawer-head .eyebrow{margin:0 0 9px}.drawer-head h2{margin:0;font:600 24px var(--display);letter-spacing:-.04em}.drawer-head h2 span{font-size:13px;color:#8b948c}.close-drawer{border:0;background:none;font-size:28px;cursor:pointer;align-self:start}.cart-items{overflow:auto;flex:1}.empty-bag{font:italic 16px var(--serif);color:var(--muted);padding:40px 0}.cart-row{display:grid;grid-template-columns:75px 1fr auto;gap:14px;padding:17px 0;border-bottom:1px solid var(--line);align-items:center}.cart-row img{width:75px;height:88px;object-fit:cover}.cart-row h3{font-size:11px;margin:0 0 7px}.cart-row p{font-size:10px;color:var(--muted);margin:0}.qty{display:flex;align-items:center;gap:9px;margin-top:12px}.qty button{width:23px;height:23px;border:1px solid var(--line);background:transparent;cursor:pointer}.remove-item{font-size:9px;color:#8c928b;display:block;text-decoration:underline;margin-top:9px;cursor:pointer}.cart-bottom{padding-top:18px}.subtotal{display:flex;justify-content:space-between;font-size:12px}.shipping-note{font-size:9px;color:var(--muted);margin:10px 0 18px}.checkout-button{width:100%;justify-content:space-between}.modal-backdrop{z-index:20;display:grid;place-items:center;padding:20px}.checkout-modal{position:relative;background:var(--paper);width:min(520px,100%);max-height:92dvh;overflow:auto;padding:39px 42px}.modal-close{position:absolute;right:24px;top:22px}.checkout-modal .eyebrow{margin-bottom:12px}.checkout-modal h2{font:600 27px var(--display);letter-spacing:-.055em;margin:0 0 10px}.form-intro{font-size:11px;line-height:1.7;color:var(--muted);margin:0 0 22px}.checkout-modal form>label,.form-grid label{display:block;font-size:10px;font-weight:600;margin-bottom:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.checkout-modal input:not([type=hidden]),.checkout-modal textarea{display:block;width:100%;border:1px solid var(--line);background:#fffefa;margin-top:7px;padding:12px;font:11px var(--sans);outline-color:var(--green);resize:vertical}.checkout-modal input{height:42px}.optional{font-weight:400;color:#899188}.submit-order{width:100%;justify-content:space-between;margin-top:5px}.privacy-note{font-size:9px;text-align:center;color:#879087}.order-success{text-align:center;padding:20px 0}.success-mark{display:grid;place-items:center;margin:0 auto 17px;width:48px;height:48px;border-radius:50%;background:var(--lime);font-size:24px}.order-success h3{font:600 24px var(--display)}.order-success p{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:24px}.toast{position:fixed;bottom:25px;left:50%;z-index:30;transform:translate(-50%,20px);opacity:0;background:var(--green);color:white;padding:12px 18px;font-size:11px;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}.hidden,.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:900px){.hero{padding-left:6%;padding-right:6%;gap:5%;min-height:530px}.hero-photo{height:410px}.product-grid{grid-template-columns:repeat(2,1fr);gap:25px 15px}.product-image{height:clamp(280px,48vw,440px)}.shop-section{padding-left:6%;padding-right:6%}.story{padding-left:7%;padding-right:7%;gap:8%}.story-image{height:330px}.trust-strip{gap:5%}.filters{gap:15px}}
@media(max-width:620px){.announcement{font-size:8px;gap:8px}.site-header{height:66px;padding:0 5%}.wordmark{font-size:27px}.main-nav{display:none;position:absolute;top:100px;left:0;right:0;background:var(--paper);z-index:4;padding:20px;flex-direction:column;gap:18px;border-bottom:1px solid var(--line)}.main-nav.mobile-open{display:flex}.header-actions{gap:15px}.search-toggle{display:none}.menu-toggle{display:block;font-size:19px}.hero{display:flex;flex-direction:column;padding:51px 6% 56px;gap:34px;align-items:stretch}.hero h1{font-size:59px}.hero-sub{font-size:12px}.hero-note{margin-top:29px}.hero-visual{width:87%;justify-self:auto;align-self:flex-end}.hero-photo{height:370px}.hero-sticker{left:-29px;width:77px;height:77px;font-size:9px}.trust-strip{height:auto;padding:17px 5%;gap:15px;justify-content:space-between;font-size:8px}.trust-strip span{font-size:12px;margin-right:4px}.shop-section{padding:67px 5% 75px}.section-heading{margin-bottom:24px}.section-heading h2{font-size:34px}.section-heading>.text-link{font-size:9px}.shop-toolbar{align-items:flex-end;gap:10px;overflow:auto}.filters{gap:18px;white-space:nowrap}.filter{font-size:9px}.sort-label{display:none}.product-grid{gap:20px 11px}.product-image{height:clamp(205px,64vw,340px)}.product-title{font-size:10px}.product-category{font-size:7px}.product-price{font-size:10px}.product-price del{font-size:9px}.product-badge{top:8px;left:8px;font-size:7px;padding:6px 7px}.quick-add{width:32px;height:32px;bottom:8px;right:8px}.story{display:flex;flex-direction:column;gap:40px;padding:52px 7% 55px;align-items:stretch}.story-image{height:300px;width:90%}.round-stamp{right:-33px;width:88px;height:88px;font-size:8px}.story-copy h2{font-size:39px}.newsletter{padding:46px 7%;display:block}.newsletter h2{font-size:25px}.newsletter form{width:100%;margin-top:23px}.newsletter-spark{font-size:120px;right:-15px;top:-40px}.newsletter>div:first-child{position:relative;z-index:1}footer{padding:34px 7% 23px;grid-template-columns:1fr 1fr;gap:15px}footer>p{justify-self:end;font-size:12px}.footer-links{grid-column:1/-1;justify-self:start;gap:20px}.footer-links a{font-size:10px}footer small{margin-top:12px}.checkout-modal{padding:34px 23px}.checkout-modal h2{font-size:24px}.form-grid{grid-template-columns:1fr;gap:0}.cart-drawer{padding:27px 22px}}

/* ---- Shop additions (catalogue API, product, policy pages) ---- */
.skip-link{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:50;font-size:12px}.skip-link:focus{left:8px}
:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.store-notice{background:#fff8e6;border:1px solid #ecd9a8;color:#5b4a1d;font-size:12px;line-height:1.6;padding:12px 16px;margin:0 0 24px}
.state-msg{grid-column:1/-1;font:italic 16px var(--serif);color:var(--muted);padding:30px 0}
.product-link{color:inherit;text-decoration:none;display:block}
.product-link .quick-add{display:grid;place-items:center}
.sample-tag{font-size:9px;color:#8d968c;margin-left:6px}
.remove-item{border:0;background:none;padding:0;text-align:left}
.checkout-button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.checkout-note{font-size:10px;line-height:1.6;color:var(--muted);margin:10px 0 0}
.pdp{padding:50px 7% 80px;display:grid;grid-template-columns:1.1fr 1fr;gap:6%;align-items:start}
.pdp-gallery{display:grid;gap:12px}.pdp-gallery img{width:100%;max-height:640px;object-fit:cover;background:#ece9e1}
.pdp-noimg{height:400px;display:grid;place-items:center;background:#ece9e1;color:var(--muted)}
.pdp-info h1{font:600 clamp(30px,3.6vw,46px)/1.1 var(--display);letter-spacing:-.05em;margin:0 0 14px}
.pdp-price{font-size:20px;font-weight:600;margin:0 0 18px}
.pdp-desc{font-size:14px;line-height:1.8;color:#3b4740;margin:0 0 20px}
.pdp-facts{border-top:1px solid var(--line);margin:0 0 22px}.pdp-facts div{display:grid;grid-template-columns:150px 1fr;gap:10px;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}.pdp-facts dt{color:var(--muted)}.pdp-facts dd{margin:0}
.pdp .button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.sample-banner,.placeholder-box{background:#fff1e8;border:1px solid #f1c7ad;color:#6d3416;padding:12px 15px;font-size:13px;line-height:1.6;margin:0 0 18px}
.pdp-empty{grid-column:1/-1;text-align:center;padding:60px 0}
.policy{max-width:760px;margin:0 auto;padding:50px 6% 80px}
.policy h1{font:600 clamp(30px,4vw,44px)/1.1 var(--display);letter-spacing:-.05em;margin:0 0 18px}
.policy-body{font-size:15px;line-height:1.8}
.policy-meta{font-size:12px;color:var(--muted)}
.policy-outline{font-size:15px;line-height:2}.policy-outline .needs{font-size:11px;color:#b0562a;margin-left:6px}
.newsletter p a{color:inherit}
@media(max-width:780px){.pdp{grid-template-columns:1fr;gap:28px;padding:30px 5% 60px}.pdp-facts div{grid-template-columns:120px 1fr}}
.nl-consent{flex-basis:100%;display:flex;gap:8px;align-items:flex-start;font-size:10px;color:#526247;padding:8px 0 4px;cursor:pointer}.nl-consent input{height:auto;flex:none;margin:1px 0 0}
.newsletter form{flex-wrap:wrap}
