:root{
  --oat:#FBFAF6;--olive:#343C2F;--moss:#637152;--terra:#B96E50;--sage:#DCE2D2;--sand:#E6D5BE;
  --serif:"Besley","URW Bookman","Bookman Old Style",Georgia,serif;
  --sans:"Nimbus Sans","Helvetica Neue",Helvetica,Arial,sans-serif;
  --r:12px;--max:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--oat);color:var(--olive);font-family:var(--sans);font-size:20px;line-height:1.55}
img{max-width:100%;display:block;height:auto}
a{color:var(--olive);text-underline-offset:3px}
a:hover{color:var(--moss)}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px;border-radius:4px}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.12;margin:0 0 16px;letter-spacing:-.01em}
h1{font-size:56px}h2{font-size:40px}h3{font-size:24px}h4{font-size:19px}
p{margin:0 0 16px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:760px}
section{padding:64px 0}
.sage{background:#EEF2E9}.sand{background:#fff;border-top:1px solid rgba(52,60,47,.1);border-bottom:1px solid rgba(52,60,47,.1)}.dark{background:var(--olive);color:var(--oat)}
.dark a{color:var(--oat)}
.eyebrow{font-family:var(--sans);font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--terra);margin-bottom:16px;font-weight:700}
.dark .eyebrow{color:var(--sand)}
.lead{font-size:22px;max-width:640px}
.small{font-size:15px;line-height:1.5}
.muted{opacity:.78}

/* header */
.bar{background:var(--olive);color:var(--oat);text-align:center;font-size:15px;padding:8px 16px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:var(--oat);padding:8px 16px;z-index:99}
header.site{position:sticky;top:0;z-index:20;background:rgba(251,250,246,.96);backdrop-filter:blur(6px);border-bottom:1px solid rgba(52,60,47,.12)}
header.site .wrap{display:flex;align-items:center;gap:24px;min-height:72px}
.logo{font-family:var(--serif);font-weight:800;font-size:26px;text-decoration:none;color:var(--olive);letter-spacing:-.02em;white-space:nowrap}
nav.main{display:flex;gap:24px;margin-left:auto;align-items:center}
nav.main a{text-decoration:none;font-size:17px}
.cart-link{position:relative;font-weight:700}
.cart-count{background:var(--terra);color:#fff;border-radius:99px;font-size:12px;padding:1px 7px;margin-left:4px;vertical-align:2px}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid var(--olive);border-radius:var(--r);min-height:48px;padding:0 16px;font:inherit;font-size:16px;color:var(--olive)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:var(--r);background:var(--moss);color:var(--oat);font:700 17px var(--sans);text-decoration:none;border:0;cursor:pointer}
.btn:hover{background:var(--olive);color:var(--oat)}
.btn.ghost{background:transparent;color:var(--olive);border:1.5px solid var(--olive)}
.btn.ghost:hover{background:var(--olive);color:var(--oat)}
.btn.wide{width:100%}
.dark .btn{background:var(--oat);color:var(--olive)}

/* hero */
.hero{padding:48px 0 64px}
.hero .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.hero img,.round{border-radius:var(--r)}
.hero .cta{display:flex;gap:16px;flex-wrap:wrap;margin-top:24px}
.loop{display:block;width:180px;height:24px;margin-top:24px;color:var(--terra)}

.marquee{background:var(--moss);color:var(--oat);padding:14px 0;font-size:16px}
.marquee ul{list-style:none;margin:0;padding:0;display:flex;gap:16px 40px;flex-wrap:wrap;justify-content:center}
.marquee li::before{content:"•";margin-right:10px;color:var(--sand)}

.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.card{background:#FFFFFF;border:1px solid rgba(52,60,47,.12);border-radius:var(--r);padding:24px}
.sage .card,.sand .card{background:var(--oat)}
.card h3{margin-bottom:8px}
.card.link{text-decoration:none;display:block;overflow:hidden;padding:0}
.card.link img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card.link .body{padding:20px 24px 24px}
.card.link .arrow{color:var(--terra);font-weight:700}
.step-n{font-family:var(--serif);font-size:40px;color:var(--terra);line-height:1}

/* product */
.buy{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.buy img{border-radius:var(--r);background:var(--sand)}
.packs{display:grid;gap:12px;margin:24px 0;border:0;padding:0}
.packs legend{font-weight:700;margin-bottom:8px;padding:0}
.pack{display:flex;align-items:center;gap:16px;border:1.5px solid rgba(52,60,47,.3);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:#FFFFFF;min-height:48px}
.pack:has(input:checked){border-color:var(--moss);box-shadow:0 0 0 2px var(--moss) inset}
.pack input{width:20px;height:20px;accent-color:var(--moss)}
.pack .p-price{margin-left:auto;font-weight:700}
.tag{background:var(--terra);color:#fff;font-size:12px;font-weight:700;border-radius:99px;padding:2px 10px;margin-left:8px;text-transform:uppercase;letter-spacing:.06em}
.spec{width:100%;border-collapse:collapse;font-size:17px;margin:16px 0}
.spec th,.spec td{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(52,60,47,.15);vertical-align:top}
.spec th{width:38%;font-weight:700}
.notice{border-left:4px solid var(--terra);background:#FFFFFF;padding:16px 20px;border-radius:0 var(--r) var(--r) 0;font-size:17px;margin:24px 0}
.dark .notice{background:rgba(251,250,246,.08)}

/* faq */
details{border-bottom:1px solid rgba(52,60,47,.2);padding:16px 0}
summary{font-family:var(--serif);font-size:22px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;min-height:48px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--terra);font-size:28px;line-height:1}
details[open] summary::after{content:"\2212"}
details p{margin-top:8px}

/* article */
.article{padding:48px 0 64px}
.article h1{font-size:48px}
.article h2{font-size:30px;margin-top:40px}
.article h3{margin-top:28px}
.article ul,.article ol{padding-left:24px;margin:0 0 16px}
.article li{margin-bottom:8px}
.article .meta{font-size:15px;opacity:.75;margin-bottom:24px}
.article img.cover{border-radius:var(--r);margin:24px 0;aspect-ratio:16/9;object-fit:cover;width:100%}
.crumbs{font-size:15px;margin-bottom:16px}

/* forms */
label{display:block;font-weight:700;font-size:16px;margin:16px 0 6px}
input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;min-height:48px;border:1.5px solid rgba(52,60,47,.4);border-radius:var(--r);padding:10px 14px;font:inherit;font-size:18px;background:#fff;color:var(--olive)}
textarea{min-height:120px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:17px;margin:16px 0}
.check input{width:22px;height:22px;margin-top:3px;flex:none;accent-color:var(--moss)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.summary{background:#FFFFFF;border:1px solid rgba(52,60,47,.15);border-radius:var(--r);padding:24px}
.line{display:flex;justify-content:space-between;gap:16px;padding:8px 0}
.line.total{border-top:1px solid rgba(52,60,47,.2);margin-top:8px;padding-top:16px;font-weight:700;font-size:22px}
.qty{display:inline-flex;align-items:center;border:1.5px solid rgba(52,60,47,.3);border-radius:var(--r)}
.qty button{width:44px;height:44px;border:0;background:none;font-size:20px;cursor:pointer;color:var(--olive)}
.msg{padding:12px 16px;border-radius:var(--r);background:var(--sage);margin:16px 0}
.msg.err{background:#F3D9CF}

footer.site{background:var(--olive);color:var(--oat);padding:56px 0 32px;font-size:16px}
footer.site a{color:var(--oat);text-decoration:none}
footer.site a:hover{text-decoration:underline}
footer.site .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px}
footer.site h4{font-family:var(--sans);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--sand)}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:8px}
footer.site .fine{border-top:1px solid rgba(251,250,246,.2);margin-top:40px;padding-top:24px;font-size:14px;opacity:.85}

@media (max-width:900px){
  body{font-size:18px}
  h1{font-size:40px}h2{font-size:30px}.article h1{font-size:36px}
  section{padding:48px 0}
  .hero .wrap,.grid2,.buy,.row2{grid-template-columns:1fr}
  .grid3,.grid4{grid-template-columns:1fr 1fr}
  footer.site .cols{grid-template-columns:1fr 1fr}
  .menu-btn{display:block}
  nav.main{display:none;position:absolute;top:72px;left:0;right:0;background:var(--oat);flex-direction:column;align-items:flex-start;padding:16px 24px 24px;border-bottom:1px solid rgba(52,60,47,.15)}
  nav.main.open{display:flex}
  nav.main a{min-height:44px;display:flex;align-items:center}
}
@media (max-width:560px){.grid3,.grid4{grid-template-columns:1fr}.wrap{padding:0 16px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* ===== e-commerce layer ===== */
.center{text-align:center}.center .lead{margin-left:auto;margin-right:auto}
.btn.big{min-height:56px;font-size:18px;padding:0 28px}
.btn:disabled{opacity:.6}
.sec-head{margin-bottom:32px;max-width:720px}
nav.main a[href="/bpc-157"]{font-weight:700}
svg{flex:none}

.hero2{position:relative;padding:0;min-height:620px;display:flex;align-items:center;overflow:hidden}
.hero2-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero2::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,250,246,.96) 0%,rgba(251,250,246,.92) 34%,rgba(251,250,246,0) 58%)}
.hero2 .wrap{position:relative;z-index:1;width:100%;padding-top:56px;padding-bottom:56px}
.hero2-card{max-width:600px}
.hero2 .cta{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 20px}
.trust3{list-style:none;margin:12px 0;padding:0;display:flex;gap:8px 20px;flex-wrap:wrap;font-size:16px;font-weight:700}
.trust3 li{display:flex;align-items:center;gap:6px}
.trust3 svg,.ticks svg,.cmp svg{width:18px;height:18px;color:var(--moss)}

.stats{background:var(--olive);color:var(--oat);padding:28px 0}
.stats ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.stats strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.1}
.stats span{font-size:15px;opacity:.85}
.stats svg{width:26px;height:26px;color:var(--sand);margin:0 auto 6px;display:block}

.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:stretch}
.pcard{position:relative;background:#FFFFFF;border:1.5px solid rgba(52,60,47,.15);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.pcard.best{border-color:var(--moss);box-shadow:0 0 0 2px var(--moss),0 14px 30px rgba(52,60,47,.12)}
.pcard img{aspect-ratio:1/1;object-fit:cover;width:100%;background:var(--sand)}
.pc-body{padding:20px 24px 24px;display:flex;flex-direction:column;flex:1}
.pc-body .eyebrow{margin-bottom:6px}.pc-body h3{margin-bottom:6px}
.pc-price{margin:0;font-size:20px}.pc-price strong{font-family:var(--serif);font-size:32px;font-weight:500}.pc-price s{opacity:.55}
.save,.ribbon{background:var(--terra);color:#fff;font-size:12px;font-weight:700;border-radius:99px;padding:3px 10px;text-transform:uppercase;letter-spacing:.06em}
.save{margin-left:10px;vertical-align:5px}
.ribbon{position:absolute;top:14px;left:14px;z-index:1}
.ticks{list-style:none;margin:16px 0;padding:0;font-size:16px}
.ticks li{display:flex;gap:8px;align-items:flex-start;margin-bottom:8px}.ticks svg{margin-top:3px}
.ticks.lg{font-size:19px}.ticks.lg li{margin-bottom:12px}
.pc-body .btn{margin-top:auto}
.notice.center{max-width:720px;margin:32px auto 0;border-left:0;border-radius:var(--r);text-align:center}
.notice.small{font-size:15px}

.tablewrap{overflow-x:auto;border-radius:var(--r);border:1px solid rgba(52,60,47,.15);background:#FFFFFF}
.cmp{width:100%;border-collapse:collapse;font-size:17px;min-width:640px}
.cmp th,.cmp td{padding:14px 18px;text-align:left;border-bottom:1px solid rgba(52,60,47,.12);vertical-align:top}
.cmp thead th{font-family:var(--serif);font-weight:500;font-size:19px}
.cmp tbody th{font-weight:700;width:22%}
.cmp .us{background:var(--olive);color:var(--oat);width:36%}
.cmp td.us svg{color:var(--sand);vertical-align:-3px;margin-right:6px}
.cmp tr:last-child td,.cmp tr:last-child th{border-bottom:0}
.cmp+p{margin-top:12px}.tablewrap+p{margin-top:12px}
.promise{background:var(--oat)}.promise .btn{margin-top:8px}

/* product page */
.pdp{padding:32px 0 56px}
.pdp-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start}
.gallery{position:sticky;top:96px}
.g-main img{border-radius:var(--r);background:var(--sand);width:100%;aspect-ratio:1/1;object-fit:cover}
.g-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0}
.g-thumb{padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;cursor:pointer;background:none}
.g-thumb.on{border-color:var(--moss)}.g-thumb img{width:100%;aspect-ratio:1/1;object-fit:cover}
.buybox h1{font-size:48px;margin-bottom:8px}.buybox .eyebrow{margin-bottom:8px}
.pdp-sub{font-size:19px;margin-bottom:12px}
.pdp-price{margin:0 0 4px}.pdp-price strong{font-family:var(--serif);font-size:36px;font-weight:500;margin-right:8px}
.tiers{border:0;padding:0;margin:20px 0 16px;display:grid;gap:10px}
.tiers legend{font-weight:700;padding:0;margin-bottom:8px}
.tier{display:flex;align-items:center;gap:14px;border:1.5px solid rgba(52,60,47,.25);border-radius:var(--r);padding:14px 16px;cursor:pointer;background:#FFFFFF;margin:0;font-weight:400}
.tier:has(input:checked){border-color:var(--moss);box-shadow:0 0 0 2px var(--moss) inset;background:#fff}
.tier input{width:20px;height:20px;accent-color:var(--moss);flex:none}
.t-main{display:flex;flex-direction:column}.t-name{font-weight:700;font-size:18px}.t-sub{font-size:14px;opacity:.8}
.t-price{margin-left:auto;font-weight:700;font-size:19px;white-space:nowrap}.t-price s{font-weight:400;opacity:.5;font-size:15px}
.btn-price{margin-left:6px;font-weight:400}
.assure{list-style:none;margin:16px 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;font-size:14px;line-height:1.3}
.assure li{display:flex;gap:8px;align-items:flex-start;font-weight:700}.assure small{font-weight:400;opacity:.8}
.assure svg{width:22px;height:22px;color:var(--moss)}
.acc{margin-top:16px;border-top:1px solid rgba(52,60,47,.2)}
.acc summary{font-family:var(--sans);font-weight:700;font-size:17px}.acc details p{font-size:16px}

/* sticky bar */
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(251,250,246,.98);border-top:1px solid rgba(52,60,47,.2);box-shadow:0 -6px 20px rgba(52,60,47,.1);padding:10px 0}
.sticky-buy .wrap{display:flex;align-items:center;gap:14px}
.sticky-buy img{border-radius:8px;width:48px;height:48px;object-fit:cover}
.sticky-buy div{line-height:1.25;font-size:16px}
.sticky-buy .btn{margin-left:auto;white-space:nowrap}
body:has(.sticky-buy){padding-bottom:0}

/* drawer */
.drawer-bg{position:fixed;inset:0;background:rgba(52,60,47,.45);z-index:40;opacity:0;transition:opacity .2s}
.drawer-bg.open{opacity:1}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--oat);z-index:41;padding:24px;overflow-y:auto;transform:translateX(100%);transition:transform .2s;box-shadow:-10px 0 30px rgba(52,60,47,.2)}
.drawer.open{transform:none}
.d-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.d-head h2{font-size:28px;margin:0}
.d-close{background:none;border:0;font-size:36px;line-height:1;cursor:pointer;color:var(--olive);width:48px;height:48px}
.ship-bar{background:var(--sage);border-radius:var(--r);padding:12px 16px;margin-bottom:16px}.ship-bar p{margin:0 0 8px}
.bar-track{height:8px;background:rgba(52,60,47,.15);border-radius:99px;overflow:hidden}.bar-fill{height:100%;background:var(--moss);border-radius:99px;transition:width .3s}
.line.item{align-items:center;border-bottom:1px solid rgba(52,60,47,.15);padding-bottom:16px;margin-bottom:8px}
.line.item img{border-radius:8px;width:64px;height:64px;object-fit:cover}.line.item>div:nth-child(2){flex:1}
.qty span{min-width:32px;text-align:center;display:inline-block}
.save-line{color:var(--terra);font-weight:700}

/* quiz */
.quiz-sec{padding:48px 0 72px}
.quiz{background:#FFFFFF;border:1px solid rgba(52,60,47,.15);border-radius:var(--r);padding:40px}
.quiz h2:focus,.quiz h2:focus-visible{outline:none}
.q-prog{margin-bottom:24px}.q-prog p{margin:8px 0 0}
.q-opts{display:grid;gap:12px;margin:24px 0}
.q-opt{text-align:left;min-height:56px;padding:14px 20px;border:1.5px solid rgba(52,60,47,.3);border-radius:var(--r);background:#fff;font:inherit;font-size:19px;color:var(--olive);cursor:pointer}
.q-opt:hover{border-color:var(--moss);box-shadow:0 0 0 2px var(--moss) inset}
.q-back{background:none;border:0;font:inherit;font-size:16px;color:var(--olive);text-decoration:underline;cursor:pointer;padding:8px 0}
.quiz h3{margin-top:32px}
.q-reads{display:grid;gap:12px}.q-reads .card{text-decoration:none;display:block;background:#fff}
.q-pack{display:flex;align-items:center;gap:16px;background:var(--sage);border-radius:var(--r);padding:16px;flex-wrap:wrap}
.q-pack img{border-radius:10px;width:96px;height:96px;object-fit:cover}.q-pack .btn{margin-left:auto}
.q-email{margin-top:24px}.q-em-row{display:flex;gap:12px;flex-wrap:wrap}.q-em-row input{flex:1;min-width:220px}

@media (max-width:900px){
  .hero2{min-height:0;display:block}
  .hero2-bg{position:static;height:260px}
  .hero2::after{display:none}
  .hero2 .wrap{padding-top:28px;padding-bottom:40px}
  .hero2 .btn.big{width:100%}
  .stats ul{grid-template-columns:1fr 1fr;gap:20px 12px}.stats strong{font-size:24px}
  .pcards,.pdp-grid{grid-template-columns:1fr}
  .gallery{position:static}
  .buybox h1{font-size:36px}
  .assure{grid-template-columns:1fr}
  .quiz{padding:24px 20px}
  .sticky-buy div{font-size:14px}.sticky-buy img{display:none}
}
@media (prefers-reduced-motion:reduce){.drawer,.drawer-bg{transition:none}}

/* trust row: centred, icon above label */
.trust3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;text-align:center;margin:20px 0 0;max-width:520px;font-size:15px;line-height:1.25}
.trust3 li{flex-direction:column;align-items:center;gap:8px}
.trust3 svg{width:28px;height:28px;color:var(--moss)}
@media (max-width:900px){.trust3{max-width:none;margin-left:auto;margin-right:auto}}

/* ===== lighter palette + mobile header and hero ===== */
.sage .card,.sand .card{background:#fff}
.bar-short{display:none}
.cart-icon{display:none;position:relative;color:var(--olive);padding:8px}
.cart-icon .cart-count{position:absolute;top:0;right:-4px;margin:0}
.menu-btn{border:0;padding:8px;min-height:44px;line-height:0}
.hero2 picture{display:contents}
.q-upsell{margin-top:16px;display:grid;gap:10px}.q-upsell p{margin:0}
.q-up{display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:1.5px solid rgba(52,60,47,.25);border-radius:var(--r);background:#fff;padding:12px 16px;font:inherit;color:var(--olive);cursor:pointer;min-height:56px}
.q-up:hover{border-color:var(--moss);box-shadow:0 0 0 2px var(--moss) inset}
.q-up .save{margin:0;white-space:nowrap}
@media (max-width:900px){
  .bar{font-size:14px;padding:7px 12px}.bar-long{display:none}.bar-short{display:inline}
  header.site .wrap{display:grid;grid-template-columns:48px 1fr 48px;min-height:60px;gap:0}
  .menu-btn{display:block;margin:0;justify-self:start}
  header.site .logo{justify-self:center;font-size:24px}
  .cart-icon{display:block;justify-self:end}
  nav.main{top:60px}
  nav.main .cart-link{display:none}
  .hero2-bg{height:auto;aspect-ratio:4/5;width:100%;object-fit:cover;object-position:center 60%}
  .hero2 .wrap{padding-top:24px;padding-bottom:36px}
  .hero2 .eyebrow{font-size:12px;margin-bottom:10px}
  .hero2 h1{font-size:38px}
  .hero2 .lead{font-size:18px}
  .hero2 .cta{flex-direction:column;gap:6px;margin:20px 0 8px}
  .hero2 .btn.big{border-radius:99px;min-height:58px}
  .hero2 .quiz-cta{border:0;min-height:44px;text-decoration:underline;font-weight:400;background:none}
  .hero2 .quiz-cta:hover{background:none;color:var(--moss)}
  .trust3{margin-top:12px}
}

/* ===== product gallery slides ===== */
.g-stage{position:relative;border-radius:var(--r);overflow:hidden;background:#fff;border:1px solid rgba(52,60,47,.12)}
.g-slide{aspect-ratio:1/1;container-type:inline-size}
.g-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:var(--olive);font-size:28px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(52,60,47,.2)}
.g-nav.prev{left:10px}.g-nav.next{right:10px}
.g-thumbs{display:flex;gap:10px;overflow-x:auto;margin:12px 0;padding-bottom:4px;grid-template-columns:none}
.g-thumb{flex:0 0 76px;width:76px;height:76px;background:#EEF2E9}
.g-thumb img{height:100%}
.g-thumb span{display:flex;align-items:center;justify-content:center;height:100%;padding:4px;font:700 11px/1.15 var(--sans);color:var(--olive);text-align:center}
.sl{width:100%;height:100%;position:relative;overflow:hidden;font-size:3.4cqw;line-height:1.35;color:var(--olive)}
.sl h2{font-size:6.6cqw;margin:0 0 3cqw;line-height:1.08}
.sl p{margin:0}
.sl-photo img,.sl-hero>img{width:100%;height:100%;object-fit:cover}
.sl-hero-txt{position:absolute;left:5cqw;top:24cqw;max-width:56cqw}
.sl-hero-txt h2{font-size:7cqw}
.sl-hero-txt p{font-size:3.4cqw}
.sl-chip{position:absolute;left:5cqw;bottom:5cqw;background:var(--olive);color:var(--oat);font-weight:700;font-size:2.8cqw;letter-spacing:.06em;text-transform:uppercase;padding:1.6cqw 3cqw;border-radius:1.6cqw}
.pchoice{position:absolute;left:5cqw;top:5cqw;display:flex;align-items:center;gap:2.4cqw;background:rgba(255,255,255,.95);border-radius:2.4cqw;padding:2cqw 3cqw;text-decoration:none;color:var(--olive);max-width:72cqw;box-shadow:0 1px 6px rgba(52,60,47,.15)}
.pc-l{position:relative;display:flex;align-items:center;justify-content:center;width:22cqw;flex:none;padding-right:2.4cqw;border-right:1px solid rgba(52,60,47,.2)}
.pc-l svg{position:absolute;inset:0;width:100%;height:100%;color:var(--olive)}
.pc-l span{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-size:2.9cqw;line-height:1.1;padding:1cqw 0}
.pc-l b{font-weight:500}
.pc-r{font-size:2.5cqw;line-height:1.25}
.pc-r strong{color:var(--terra)}
.sl-stats,.sl-list,.sl-save{padding:7cqw;background:#fff}
.sl-grid{display:grid;grid-template-columns:1fr 1fr;gap:5cqw 6cqw;margin-top:5cqw}
.sl-grid span{display:block;font-family:var(--serif);font-size:4.2cqw}
.sl-grid b{display:block;font-family:var(--serif);font-weight:500;font-size:11cqw;line-height:1;border-bottom:1px solid var(--olive);padding-bottom:2cqw;margin-bottom:2cqw}
.sl-grid p{font-size:3.1cqw}
.sl-list{background:#EEF2E9;text-align:center}
.sl-list>img{width:26cqw;height:26cqw;object-fit:cover;border-radius:3cqw;margin:0 auto 3cqw}
.sl-list ul{list-style:none;margin:0;padding:4cqw 5cqw;background:#fff;border:1px solid rgba(52,60,47,.25);border-radius:3cqw;text-align:left}
.sl-list li{display:flex;align-items:center;gap:2cqw;padding:1.5cqw 0;font-size:3.2cqw}
.sl-list li svg{width:4cqw;height:4cqw;color:var(--moss)}
.sl-list li span{flex:1}
.sl-list li em{font-style:normal;font-size:2.6cqw;letter-spacing:.08em;text-transform:uppercase}
.sl-foot{display:flex;justify-content:space-between;margin-top:3cqw;padding:3cqw 5cqw;background:#fff;border:1px solid rgba(52,60,47,.25);border-radius:3cqw;font-size:3.2cqw}
.sl-cmp{padding:6cqw;background:#EEF2E9;display:flex;flex-direction:column}
.sl-cmp-head{display:grid;grid-template-columns:1fr 1fr;background:var(--olive);color:var(--oat);border-radius:3cqw 3cqw 0 0;font-family:var(--serif)}
.sl-cmp-head b{font-weight:500;font-size:4.2cqw;padding:4cqw;text-align:center}
.sl-cmp ul{list-style:none;margin:0;padding:0;flex:1;display:grid;grid-auto-rows:1fr;border:1px solid var(--olive);border-top:0;border-radius:0 0 3cqw 3cqw;overflow:hidden}
.sl-cmp li{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(52,60,47,.25)}
.sl-cmp li span{display:flex;align-items:center;gap:2cqw;padding:0 3.5cqw;font-size:3.2cqw;font-weight:700}
.sl-cmp .y{background:#fff}.sl-cmp .n{background:#DDE3DA;font-weight:400;opacity:.85}
.sl-cmp .y svg{width:5cqw;height:5cqw;padding:.8cqw;border-radius:50%;background:var(--moss);color:#fff;flex:none}
.sl-steps{display:grid;grid-template-columns:1fr 1fr;gap:4cqw;padding:6cqw;background:#EEF2E9}
.sl-steps figure{margin:0;display:flex;flex-direction:column;min-height:0}
.sl-steps img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2.4cqw;border:1px solid rgba(52,60,47,.3)}
.sl-steps figcaption{font-family:var(--serif);font-size:3.3cqw;line-height:1.2;text-align:center;padding-top:2cqw}
.sl-save{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.sl-pill{background:var(--sage);border-radius:99px;padding:1.4cqw 4cqw;font-weight:700;font-size:2.6cqw;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4cqw}
.sl-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:3cqw;width:100%;margin:3cqw 0 4cqw}
.sl-tiers div{border:1px solid rgba(52,60,47,.3);border-radius:3cqw;padding:4cqw 2cqw;display:flex;flex-direction:column;align-items:center}
.sl-tiers div.best{background:var(--olive);color:var(--oat);border-color:var(--olive)}
.sl-tiers span{font-size:3.2cqw;font-weight:700}
.sl-tiers b{font-family:var(--serif);font-weight:500;font-size:10cqw;line-height:1.1}
.sl-tiers em{font-style:normal;font-size:2.8cqw}
.sl-tiers small{margin-top:2cqw;font-size:2.6cqw;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--terra)}
.sl-tiers .best small{color:var(--sand)}
@media (max-width:900px){.g-stage{border-radius:0;margin:0 -16px;border-left:0;border-right:0}.pdp{padding-top:0}}
/* gallery fixes */
.pc-l{width:30cqw;padding-right:0;margin-right:1cqw;border-right:0}
.pc-l svg{inset:0}
.pc-l span{font-size:2.7cqw;padding:1.2cqw 0}
.pc-r{border-left:1px solid rgba(52,60,47,.2);padding-left:2.6cqw}
.pchoice{max-width:80cqw}
.sl-hero::after{content:"";position:absolute;left:0;top:0;width:70%;height:66%;background:radial-gradient(ellipse at 0% 30%,rgba(255,255,255,.9) 0%,rgba(255,255,255,.7) 45%,rgba(255,255,255,0) 75%);pointer-events:none}
.sl-hero .pchoice,.sl-hero-txt,.sl-chip{z-index:1}
.sl-hero-txt{top:23cqw;max-width:52cqw}
.sl-hero-txt h2{font-size:6.2cqw}
.sl-hero-txt p{font-size:3.1cqw;font-weight:700}
.sl-grid b{font-size:8.4cqw;white-space:nowrap}
/* stop the thumbnail strip widening the gallery on small screens */
.pdp-grid>*{min-width:0}
.gallery{min-width:0;max-width:100%}
.g-thumbs{max-width:100%}

/* ===== order enquiry flow ===== */
.deliv{display:grid;grid-template-columns:1fr auto;align-items:end;gap:2px 12px;background:#F4F6F0;border:1px solid rgba(52,60,47,.15);border-radius:var(--r);padding:14px 18px;margin:4px 0 14px}
.deliv-l{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;grid-column:1}
.deliv-t{font-family:var(--serif);font-weight:500;font-size:34px;line-height:1;grid-column:2;grid-row:1 / span 2}
.deliv-s{grid-column:1;opacity:.8}
.buy-btns{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px}
.wa-btn{background:#1FA855;border:0}.wa-btn:hover{background:#178A45}
.wa-btn[hidden]{display:none}
.pay-note{margin:12px 0 0}
.modal-bg{position:fixed;inset:0;background:rgba(52,60,47,.5);z-index:50}
.modal{position:fixed;z-index:51;left:50%;top:50%;transform:translate(-50%,-50%);width:min(520px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;background:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 60px rgba(52,60,47,.35)}
.modal h2{font-size:30px;margin:0 40px 8px 0}
.modal .d-close{position:absolute;top:10px;right:10px}
.om-line{display:flex;align-items:center;gap:14px;border:1px solid rgba(52,60,47,.2);border-radius:var(--r);padding:12px 14px;margin-top:8px}
.om-line>div:first-child{flex:1}
.om-total{text-align:right;margin:8px 0 0}
.modal textarea{min-height:84px}
.modal label{margin-top:12px}
@media (max-width:560px){.buy-btns{grid-auto-flow:row}.modal{padding:22px 18px}}

/* ===== home hero: badge and headline ===== */
.hero2-over{display:none}
.hero2-badge{container-type:inline-size;max-width:430px;margin-bottom:20px}
.hero2-badge .pchoice{position:static;display:inline-flex;max-width:none;box-shadow:0 1px 6px rgba(52,60,47,.12);border:1px solid rgba(52,60,47,.1)}
@media (max-width:900px){
  .hero2-media{position:relative}
  .hero2-bg{aspect-ratio:2/3;object-position:center top}
  .hero2-over{display:block;position:absolute;inset:0;container-type:inline-size;pointer-events:none}
  .hero2-over::before{content:"";position:absolute;left:0;right:0;top:0;height:46cqw;background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.82) 55%,rgba(255,255,255,0) 100%)}
  .hero2-over .pchoice{pointer-events:auto;left:50%;top:4cqw;transform:translateX(-50%);width:max-content;max-width:92cqw}
  .hero2-ov-h{position:absolute;left:0;right:0;top:20cqw;margin:0;text-align:center;color:var(--olive)}
  .hero2-ov-h b{display:block;font-family:var(--serif);font-weight:500;font-size:7cqw;line-height:1.1}
  .hero2-ov-h span{display:block;font-size:3.5cqw;font-weight:700;margin-top:1cqw}
  .hero2-badge,.hero2 .hero2-card>.eyebrow{display:none}
}

/* delivery options */
.ships{border:0;padding:0;margin:0 0 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ships legend{font-weight:700;padding:0;margin-bottom:8px;font-size:16px}
.ship{display:flex;align-items:center;gap:10px;border:1.5px solid rgba(52,60,47,.25);border-radius:var(--r);padding:10px 12px;cursor:pointer;background:#fff;margin:0;font-weight:400;font-size:15px;line-height:1.25}
.ship:has(input:checked){border-color:var(--moss);box-shadow:0 0 0 2px var(--moss) inset}
.ship input{width:18px;height:18px;accent-color:var(--moss);flex:none}
.ship b{display:block}.ship small{opacity:.75}
.ship .t-price{font-size:16px}
.om-ships{margin-top:12px}
@media (max-width:560px){.ships{grid-template-columns:1fr}}
