/* ZAOLI — VEROVITA-inspired Eastern herbal cold-process redesign */
:root {
  --cream: #F7F1E6;
  --cream-deep: #EFE6D6;
  --soft-yellow: #E8D59A;
  --terracotta: #C47854;
  --sage: #8A9A78;
  --ink: #2A261F;
  --ink-soft: #4A453C;
  --muted: #7A7368;
  --line: #D9CFBE;
  --white: #FBF7F0; /* soft cream-white, never harsh #fff */
  --paper: var(--cream);
  --paper-deep: var(--cream-deep);
  --olive: var(--sage);
  --terracotta-deep: #A86442;
  --max: 1180px;
  --narrow: 720px;
  --ease: cubic-bezier(.22,1,.36,1);
  --serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;
  --sans: "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.65;color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--terracotta);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--ink)}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.15;letter-spacing:-0.02em;margin:0 0 .6em}
h1{font-size:clamp(2.4rem,6vw,4.2rem)}
h2{font-size:clamp(1.75rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.25rem,2vw,1.5rem)}
p{margin:0 0 1em;color:var(--ink-soft)}
.lede{font-size:clamp(1.1rem,2vw,1.3rem);max-width:38em;color:var(--ink-soft)}
.eyebrow{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--terracotta);margin-bottom:.85rem}
.wrap{width:min(100% - 2.5rem,var(--max));margin-inline:auto}
.wrap-narrow{width:min(100% - 2.5rem,var(--narrow));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:40;background:rgba(247,241,230,.94);backdrop-filter:blur(10px);border-bottom:1px solid transparent}
.site-header.is-scrolled{border-bottom-color:var(--line)}
.header-inner{width:min(100% - 2rem,var(--max));margin:0 auto;display:flex;align-items:center;justify-content:space-between;min-height:4.25rem;gap:1rem}
.logo{text-decoration:none;color:var(--ink);display:flex;align-items:baseline;gap:.55rem}
.logo-mark{font-family:var(--serif);font-size:1.35rem;letter-spacing:.12em}
.logo-sub{font-size:.85rem;color:var(--muted)}
.site-nav{display:flex;gap:1.75rem;align-items:center}
.site-nav a{text-decoration:none;color:var(--ink-soft);font-size:.82rem;letter-spacing:.06em;text-transform:uppercase}
.site-nav a:hover,.site-nav a.is-active{color:var(--ink)}
.nav-toggle{display:none;background:none;border:0;padding:.5rem;cursor:pointer;flex-direction:column;gap:6px}
.nav-toggle span{display:block;width:22px;height:1.5px;background:var(--ink)}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.9rem 1.6rem;border:1px solid var(--ink);background:var(--ink);color:var(--cream);
  font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;cursor:pointer;
  transition:background .25s,color .25s,border-color .25s
}
.btn:hover{background:transparent;color:var(--ink)}
.btn-soft{
  background:var(--soft-yellow);border-color:var(--soft-yellow);color:var(--ink)
}
.btn-soft:hover{background:transparent;border-color:var(--ink);color:var(--ink)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.75rem}
.hero{display:grid;gap:0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.hero{grid-template-columns:1.05fr .95fr;min-height:min(88vh,820px)}}
.hero-copy{padding:clamp(2.5rem,6vw,5.5rem) clamp(1.25rem,4vw,4rem);display:flex;flex-direction:column;justify-content:center;background:var(--cream)}
.hero-copy .tagline{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.4rem);color:var(--sage);margin:.5rem 0 1.25rem}
.hero-media{position:relative;background:var(--cream-deep);min-height:52vw}
@media(min-width:900px){.hero-media{min-height:100%}}
.hero-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.section{padding:clamp(3.5rem,8vw,7rem) 0}
.section-head{max-width:36em;margin-bottom:2.5rem}
.section-muted{background:var(--cream-deep)}
.product-grid{display:grid;gap:1.75rem 1.25rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:800px){.product-grid{grid-template-columns:repeat(3,1fr);gap:2.5rem 1.75rem}}
.product-card{text-decoration:none;color:inherit;display:block}
.product-card .thumb{
  display:block;position:relative;aspect-ratio:4/5;overflow:hidden;
  background:var(--cream-deep);margin-bottom:1rem;width:100%
}
.product-card .thumb img,.product-card img{
  width:100%;height:100%;object-fit:cover;object-position:center;
  display:block;transition:transform .7s var(--ease)
}
.product-card .thumb img{position:absolute;inset:0}
.product-card:hover img{transform:scale(1.04)}
.product-card h3{font-size:1.15rem;margin:0 0 .2rem;color:var(--ink)}
.product-card .cn{font-size:.9rem;color:var(--muted);margin:0 0 .45rem}
.product-card .short{font-size:.88rem;color:var(--ink-soft);margin:0}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;align-items:center}
.filters label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-right:.35rem}
.filter-btn{border:1px solid var(--line);background:transparent;color:var(--ink-soft);padding:.45rem .85rem;font-size:.78rem;cursor:pointer;letter-spacing:.04em;font-family:inherit}
.filter-btn.is-on,.filter-btn:hover{border-color:var(--ink);color:var(--ink);background:var(--white)}
.product-card.is-hidden{display:none}
.split{display:grid;gap:2rem}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr;gap:3.5rem;align-items:center}.split.reverse .split-media{order:2}}
.split-media{aspect-ratio:5/4;overflow:hidden;background:var(--cream-deep)}
.split-media img{width:100%;height:100%;object-fit:cover}
.capsule{background:var(--white);border-left:3px solid var(--terracotta);padding:1.25rem 1.5rem;margin:1.5rem 0 2rem;font-size:1.02rem;color:var(--ink);max-width:42em}
.pdp-hero{display:grid;gap:0;border-bottom:1px solid var(--line)}
@media(min-width:900px){.pdp-hero{grid-template-columns:1.1fr .9fr}}
.pdp-gallery{background:var(--cream-deep)}
.pdp-gallery .main-shot{aspect-ratio:1;overflow:hidden}
.pdp-gallery .main-shot img{width:100%;height:100%;object-fit:cover}
.thumbs{display:flex;gap:.5rem;padding:.75rem;flex-wrap:wrap}
.thumbs button{border:1px solid transparent;padding:0;background:none;cursor:pointer;width:72px;height:72px;overflow:hidden}
.thumbs button.is-on{border-color:var(--ink)}
.thumbs img{width:100%;height:100%;object-fit:cover}
.pdp-info{padding:clamp(2rem,5vw,4rem) clamp(1.25rem,4vw,3.5rem);display:flex;flex-direction:column;justify-content:center}
.pdp-info .cn-title{color:var(--muted);font-size:1.1rem;margin:-.4rem 0 1rem}
.meta-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 1.25rem}
.chip{font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);padding:.3rem .6rem;color:var(--ink-soft)}
.pdp-body{padding:clamp(2.5rem,6vw,4.5rem) 0}
.pdp-sections{display:grid;gap:2.5rem}
@media(min-width:800px){.pdp-sections{grid-template-columns:1.2fr .8fr;gap:3rem}}
.list-clean{list-style:none;padding:0;margin:0 0 1.5rem}
.list-clean li{padding:.65rem 0;border-bottom:1px solid var(--line);color:var(--ink-soft);padding-left:1.1rem;position:relative}
.list-clean li::before{content:"";position:absolute;left:0;top:1.15rem;width:5px;height:5px;border-radius:50%;background:var(--sage)}
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.1rem;color:var(--ink);list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";float:right;color:var(--muted)}
.faq details[open] summary::after{content:"–"}
.faq p{margin:.75rem 0 .25rem}
.form-card{background:var(--white);padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--line);max-width:560px}
.form-row{margin-bottom:1.1rem}
.form-row label{display:block;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.form-row input,.form-row select,.form-row textarea{width:100%;padding:.75rem .85rem;border:1px solid var(--line);background:var(--cream);color:var(--ink);font:inherit}
.form-row textarea{min-height:140px;resize:vertical}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:1px solid var(--terracotta);border-color:var(--terracotta)}
.mailto-fallback{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line);font-size:.92rem}
.glossary{display:grid;gap:1rem}
@media(min-width:700px){.glossary{grid-template-columns:1fr 1fr}}
.glossary-item{padding:1.25rem 1.35rem;background:var(--white);border:1px solid var(--line)}
.glossary-item h3{font-size:1.15rem;margin-bottom:.2rem}
.glossary-item .cn{color:var(--muted);font-size:.9rem;margin-bottom:.6rem}
.glossary-item p{margin:0;font-size:.92rem}
.stat-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin:2rem 0}
@media(min-width:700px){.stat-grid{grid-template-columns:repeat(4,1fr)}}
.stat{padding:1.25rem;background:var(--white);border-top:2px solid var(--sage)}
.stat strong{display:block;font-family:var(--serif);font-size:1.35rem;color:var(--ink);margin-bottom:.35rem}
.stat span{font-size:.82rem;color:var(--muted)}
.steps{counter-reset:step;display:grid;gap:1.25rem}
@media(min-width:800px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{padding:1.5rem 1.35rem;background:var(--white);border:1px solid var(--line)}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);font-family:var(--serif);font-size:1.5rem;color:var(--terracotta);display:block;margin-bottom:.75rem}
.cta-band{background:var(--ink);color:var(--cream);padding:clamp(3rem,7vw,5rem) 0;text-align:center}
.cta-band h2{color:var(--cream)}
.cta-band p{color:rgba(247,241,230,.75);margin-inline:auto;max-width:32em}
.cta-band .btn{background:var(--soft-yellow);color:var(--ink);border-color:var(--soft-yellow)}
.cta-band .btn:hover{background:transparent;color:var(--cream);border-color:var(--cream)}
.cta-band .btn-ghost{color:var(--cream);border-color:rgba(247,241,230,.4);background:transparent}
.cta-band .btn-ghost:hover{border-color:var(--cream)}
.site-footer{border-top:1px solid var(--line);padding:3rem 0 2rem;background:var(--cream-deep)}
.footer-grid{width:min(100% - 2.5rem,var(--max));margin:0 auto 2rem;display:grid;gap:2rem}
@media(min-width:700px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr}}
.footer-brand{font-family:var(--serif);font-size:1.3rem;color:var(--ink);margin:0 0 .4rem}
.footer-tag{font-style:italic;font-family:var(--serif);color:var(--sage);margin:0 0 .6rem}
.footer-place{font-size:.88rem}
.footer-label{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.75rem}
.site-footer a{display:block;text-decoration:none;color:var(--ink-soft);font-size:.92rem;margin-bottom:.4rem}
.site-footer a:hover{color:var(--ink)}
.footer-note{width:min(100% - 2.5rem,var(--max));margin:0 auto;font-size:.78rem;color:var(--muted);border-top:1px solid var(--line);padding-top:1.25rem}
.breadcrumb{font-size:.78rem;color:var(--muted);margin-bottom:1.25rem}
.breadcrumb a{color:var(--muted);text-decoration:none}
.breadcrumb a:hover{color:var(--ink)}
.related{margin-top:3rem}
.related .product-grid{margin-top:1.5rem}
.center-page{min-height:60vh;display:grid;place-items:center;text-align:center;padding:3rem 1.5rem}
@media(max-width:760px){
  .nav-toggle{display:flex}
  .site-nav{display:none;position:absolute;left:0;right:0;top:100%;flex-direction:column;gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:.5rem 1.25rem 1.25rem}
  .site-nav.is-open{display:flex}
  .site-nav a{padding:.75rem 0;border-bottom:1px solid var(--line);width:100%}
  .product-grid{gap:1.25rem .85rem}
  .btn{width:100%}
  .btn-row .btn{width:auto;flex:1 1 auto;min-width:140px}
}

/* B2B / SOP modules */
.site-nav{gap:1.1rem;flex-wrap:wrap;justify-content:flex-end}
.site-nav a.nav-cta{
  background:var(--ink);color:var(--cream)!important;padding:.45rem .85rem;
  letter-spacing:.08em
}
.site-nav a.nav-cta:hover{background:var(--terracotta);color:var(--cream)!important}
.module{padding:clamp(2.5rem,6vw,4.5rem) 0;border-top:1px solid var(--line)}
.module:first-of-type{border-top:0}
.apps-grid{display:grid;gap:1rem;grid-template-columns:1fr 1fr}
@media(min-width:800px){.apps-grid{grid-template-columns:repeat(4,1fr)}}
.app-card{padding:1.25rem;background:var(--white);border:1px solid var(--line)}
.app-card h3{font-size:1.05rem;margin-bottom:.4rem}
.oem-block{
  display:grid;gap:1.5rem;padding:clamp(1.5rem,4vw,2.5rem);
  background:var(--cream-deep);border:1px solid var(--line);
}
@media(min-width:800px){.oem-block{grid-template-columns:1.4fr 1fr;align-items:center}}
.trust-row{display:grid;gap:1rem}
@media(min-width:700px){.trust-row{grid-template-columns:repeat(3,1fr)}}
.trust-row figure{margin:0;background:var(--cream-deep)}
.trust-row img{aspect-ratio:4/3;width:100%;object-fit:cover}
.trust-row figcaption{font-size:.78rem;color:var(--muted);padding:.6rem .2rem}
.internal-links{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}
.internal-links a{font-size:.92rem}
.end-cta{
  background:var(--ink);color:var(--cream);padding:clamp(2.5rem,6vw,4rem);
  text-align:center;margin-top:2rem
}
.end-cta h2{color:var(--cream)}
.end-cta p{color:rgba(247,241,230,.75);max-width:34em;margin-inline:auto}
.cat-hero{
  display:grid;gap:1.5rem;padding:clamp(2.5rem,6vw,4.5rem) 0 2rem;
  border-bottom:1px solid var(--line)
}
@media(min-width:900px){
  .cat-hero{grid-template-columns:1.1fr .9fr;align-items:center;gap:3rem}
}
.cat-hero-media{aspect-ratio:5/4;overflow:hidden;background:var(--cream-deep)}
.cat-hero-media img{width:100%;height:100%;object-fit:cover}
.specs-table{width:100%;border-collapse:collapse;font-size:.92rem;margin:1rem 0 1.5rem}
.specs-table th,.specs-table td{text-align:left;padding:.65rem 0;border-bottom:1px solid var(--line);vertical-align:top}
.specs-table th{width:36%;color:var(--muted);font-weight:500;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.footer-grid{grid-template-columns:1.2fr 1fr 1fr 1fr}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .site-nav{gap:0}
  .site-nav a.nav-cta{display:inline-block;margin-top:.5rem;text-align:center}
}

/* —— VEROVITA homepage modules —— */
.story-strip{
  display:grid;gap:0;min-height:min(70vh,640px);
  background:var(--cream-deep);border-bottom:1px solid var(--line)
}
@media(min-width:900px){.story-strip{grid-template-columns:1.15fr .85fr}}
.story-strip-media{position:relative;min-height:48vw;background:var(--cream)}
@media(min-width:900px){.story-strip-media{min-height:100%}}
.story-strip-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.story-strip-copy{
  padding:clamp(2.5rem,6vw,4.5rem) clamp(1.5rem,4vw,3.5rem);
  display:flex;flex-direction:column;justify-content:center;background:var(--cream)
}
.story-strip-copy h2{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.85rem,3.8vw,2.85rem);letter-spacing:-0.02em;margin:0 0 1rem
}
.story-strip-copy p{max-width:28em}

.craft-video{
  display:grid;gap:2rem;align-items:center;
  padding:clamp(3.5rem,8vw,6.5rem) 0;background:var(--cream)
}
@media(min-width:900px){.craft-video{grid-template-columns:1.05fr .95fr;gap:3.5rem}}
.craft-video-frame{
  position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--cream-deep);
  border:1px solid var(--line)
}
.craft-video-frame img{width:100%;height:100%;object-fit:cover}
.craft-play{
  position:absolute;inset:0;display:grid;place-items:center;
  text-decoration:none;background:rgba(42,38,31,.18);transition:background .3s
}
.craft-play:hover{background:rgba(42,38,31,.28)}
.craft-play-btn{
  width:4.25rem;height:4.25rem;border-radius:50%;
  background:var(--soft-yellow);border:1px solid var(--line);
  display:grid;place-items:center;box-shadow:0 8px 28px rgba(42,38,31,.18)
}
.craft-play-btn::after{
  content:"";display:block;width:0;height:0;margin-left:4px;
  border-style:solid;border-width:10px 0 10px 16px;
  border-color:transparent transparent transparent var(--ink)
}
.craft-video-copy h2{margin-bottom:.85rem}
.craft-video-copy .lede{margin-bottom:0}

.apps-grid .app-card a{color:var(--terracotta);font-size:.88rem}
.apps-grid .app-card a:hover{color:var(--ink)}

/* —— TOC platform extensions —— */
.footer-toc{grid-template-columns:1.3fr 1fr 1fr 1.1fr .9fr !important;gap:1.75rem}
@media(max-width:1100px){.footer-toc{grid-template-columns:1fr 1fr 1fr !important}}
@media(max-width:700px){.footer-toc{grid-template-columns:1fr 1fr !important}}

.pillar-grid{grid-template-columns:1fr 1fr !important}
@media(min-width:900px){.pillar-grid{grid-template-columns:repeat(3,1fr) !important}}

.ritual-nav{display:flex;flex-wrap:wrap;gap:.6rem;margin:1.25rem 0 2rem}
.ritual-nav a{
  font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;
  border:1px solid var(--line);padding:.45rem .9rem;color:var(--ink-soft);background:var(--white)
}
.ritual-nav a:hover{border-color:var(--ink);color:var(--ink)}
.ritual-block{margin-bottom:2.75rem;padding-bottom:2rem;border-bottom:1px solid var(--line)}
.ritual-block:last-child{border-bottom:0;margin-bottom:0}
.ritual-head{max-width:40em;margin-bottom:1.25rem}
.ritual-head h3{margin-bottom:.35rem}

.entity-grid{display:grid;gap:1rem;grid-template-columns:1fr}
@media(min-width:700px){.entity-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.entity-grid{grid-template-columns:repeat(3,1fr)}}
.entity-card{
  display:block;text-decoration:none;color:inherit;padding:1.35rem 1.4rem;
  background:var(--white);border:1px solid var(--line);transition:border-color .25s
}
.entity-card:hover{border-color:var(--ink)}
.entity-card h3{font-size:1.1rem;margin:0 0 .25rem;color:var(--ink)}
.entity-card .cn{color:var(--muted);font-size:.88rem;margin:0 0 .6rem}
.entity-card p{margin:0;font-size:.9rem;color:var(--ink-soft)}
.entity-links{font-size:.9rem;margin:0 0 1.5rem}
.entity-links a{margin-right:.75rem}

.guide-grid{display:grid;gap:1.5rem}
@media(min-width:800px){.guide-grid{grid-template-columns:1fr}}
.guide-card{
  padding:clamp(1.5rem,3vw,2.25rem);background:var(--white);border:1px solid var(--line)
}
.guide-card h3{margin:.25rem 0 .5rem}
.guide-card h3 a{text-decoration:none;color:var(--ink)}
.guide-card h3 a:hover{color:var(--terracotta)}
.guide-prose .guide-section{margin-bottom:2rem}
.guide-prose .guide-section h2{font-size:clamp(1.25rem,2vw,1.55rem)}

/* —— Luxury strengthen 2026-10-29 —— */
.luxury-hero .main-shot{aspect-ratio:4/5}
@media(min-width:900px){
  .luxury-hero{min-height:min(86vh,900px)}
  .luxury-hero .main-shot{aspect-ratio:auto;height:100%;min-height:640px}
  .luxury-hero .main-shot img{object-fit:cover}
}
.hero-narrative{
  font-size:1.02rem;color:var(--ink-soft);max-width:38em;margin:0 0 0.25rem;line-height:1.7
}
.module-airy{padding:clamp(3rem,7vw,5.5rem) 0}
.wrap-prose{max-width:720px}
.wrap-prose .lede{margin-bottom:1.25rem}
.oem-block-lux{
  background:var(--white);border:1px solid var(--line);
  box-shadow:0 1px 0 rgba(42,38,31,.04)
}
.rfq-mini{
  margin-top:1.25rem;padding:1.25rem 1.35rem;background:var(--cream);
  border:1px solid var(--line)
}
.rfq-mini .btn{margin-top:.75rem}
.story-aside{
  font-family:var(--serif);font-style:italic;color:var(--sage);
  font-size:1.05rem;margin:0 0 1.25rem;max-width:28em
}
.story-strip-alt{background:var(--cream);border-top:1px solid var(--line)}
@media(min-width:900px){
  .story-strip{min-height:min(72vh,680px)}
  .story-strip-alt .story-strip-copy{padding-left:clamp(2rem,5vw,4.5rem)}
}
.pillar-grid .app-card{
  min-height:11.5rem;display:flex;flex-direction:column;justify-content:space-between
}
.pillar-grid .app-card p{flex:1}
.rfq-legend{
  font-size:.88rem;color:var(--ink-soft);margin:0 0 1.25rem;line-height:1.55;
  padding:0.9rem 1rem;background:var(--cream);border-left:3px solid var(--sage)
}
.rfq-legend code{font-size:.82em;background:var(--cream-deep);padding:.1em .35em}
.guide-prose .guide-section{margin-bottom:2.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.guide-prose .guide-section:last-of-type{border-bottom:0}
.guide-card{padding:clamp(1.75rem,3.5vw,2.5rem)}
.cat-hero .capsule{margin-top:1.25rem}
.trust-row{gap:1.15rem}
@media(min-width:900px){.trust-row{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
.pdp-info{padding:clamp(2.5rem,6vw,5rem) clamp(1.5rem,4vw,4rem)}
.capsule{letter-spacing:0.005em}
.end-cta{margin-top:0;border-top:1px solid rgba(247,241,230,.12)}

/* —— DTC homepage redesign 2026-10-29 —— */
:root {
  --season-spring: #7A9B7A;
  --season-summer: #5F7F6A;
  --season-autumn: #B86B45;
  --season-winter: #7A5E6E;
  --deep-ink: #1E1B16;
}
.announce-bar{
  background:var(--season-autumn);color:var(--cream);
  text-align:center;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.55rem 1rem
}
.announce-bar p{margin:0;color:inherit}
.dtc-header .header-inner{gap:1.25rem}
.header-tools{display:flex;align-items:center;gap:1rem;margin-left:auto}
.tool-link{
  text-decoration:none;color:var(--ink-soft);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase
}
.tool-link:hover{color:var(--ink)}
.tool-cart .cart-count{
  display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;
  margin-left:.25rem;border-radius:999px;background:var(--ink);color:var(--cream);
  font-size:.65rem
}
.dtc-header .site-nav{margin-left:0}
@media(min-width:900px){
  .dtc-header .logo{order:0}
  .dtc-header .site-nav{flex:1;justify-content:center}
  .dtc-header .header-tools{margin-left:0}
}
@media(max-width:760px){
  .header-tools{gap:.65rem}
  .tool-link:not(.tool-cart){display:none}
  .announce-bar{font-size:.65rem;letter-spacing:.08em}
}

/* Hero DTC */
.hero-dtc{
  position:relative;min-height:min(92vh,900px);display:grid;align-items:end;
  color:var(--cream);overflow:hidden;border-bottom:1px solid var(--line)
}
.hero-dtc-bg{position:absolute;inset:0}
.hero-dtc-bg img{
  width:100%;height:100%;object-fit:cover;
  filter:saturate(1.05) contrast(1.06);
  animation:kenburns 22s ease-in-out infinite alternate
}
@keyframes kenburns{
  from{transform:scale(1)}
  to{transform:scale(1.08)}
}
.hero-dtc-overlay{
  position:absolute;inset:0;
  /* Local left+bottom scrim only — keep photo clean, keep h1/.hero-lede readable */
  background:
    linear-gradient(90deg,rgba(28,24,18,.55) 0%,rgba(28,24,18,.22) 38%,rgba(28,24,18,0) 62%),
    linear-gradient(0deg,rgba(28,24,18,.45) 0%,rgba(28,24,18,.12) 28%,rgba(28,24,18,0) 52%);
  pointer-events:none
}
.hero-dtc-inner{
  position:relative;z-index:2;padding:clamp(3rem,10vw,7rem) 0 clamp(3rem,8vw,5rem);
  max-width:40rem
}
.hero-dtc h1{color:var(--cream);max-width:12ch;text-shadow:0 2px 18px rgba(28,24,18,.4)}
.hero-lede{
  font-size:clamp(1.05rem,2vw,1.25rem);color:rgba(247,241,230,.96);
  max-width:32em;margin:0 0 .5rem;
  text-shadow:0 1px 12px rgba(28,24,18,.35)
}
.hero-dtc .eyebrow{color:var(--soft-yellow)}
.btn-on-dark{color:var(--cream)!important;border-color:rgba(247,241,230,.45)!important}
.btn-on-dark:hover{border-color:var(--cream)!important;background:rgba(247,241,230,.08)!important;color:var(--cream)!important}
.season-dots{display:flex;gap:.5rem;margin-top:2rem}
.season-dot{
  width:2.25rem;height:2.25rem;border-radius:999px;border:1px solid rgba(247,241,230,.4);
  background:transparent;color:var(--cream);font-size:.75rem;cursor:pointer;font-family:inherit
}
.season-dot.is-on,.season-dot:hover{background:rgba(247,241,230,.18);border-color:var(--cream)}
body[data-season="spring"] .announce-bar{background:var(--season-spring)}
body[data-season="summer"] .announce-bar{background:var(--season-summer)}
body[data-season="autumn"] .announce-bar{background:var(--season-autumn)}
body[data-season="winter"] .announce-bar{background:var(--season-winter)}

/* Multi-bar */
.multi-bar-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.multi-bar-grid{grid-template-columns:1.1fr .9fr;gap:3.5rem}}
.multi-bar-media{aspect-ratio:4/3;overflow:hidden;background:var(--cream-deep)}
.multi-bar-media img{width:100%;height:100%;object-fit:cover}

/* Collection tiles */
.collection-tiles{
  display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)
}
@media(min-width:700px){.collection-tiles{grid-template-columns:repeat(3,1fr)}}
.collection-tile{
  position:relative;aspect-ratio:4/5;overflow:hidden;text-decoration:none;color:var(--cream);
  background:var(--cream-deep)
}
.collection-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.collection-tile:hover img{transform:scale(1.05)}
.collection-tile span{
  position:absolute;left:1rem;bottom:1rem;z-index:2;
  font-family:var(--serif);font-size:1.25rem;letter-spacing:.02em;
  text-shadow:0 1px 12px rgba(0,0,0,.35)
}
.collection-tile::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(to top,rgba(30,27,22,.55),transparent 45%)
}

/* Bundles */
.bundle-split{display:grid;gap:2.5rem}
.bundle-card{
  display:grid;gap:1.5rem;background:var(--white);border:1px solid var(--line);
  padding:clamp(1rem,3vw,1.5rem)
}
@media(min-width:860px){
  .bundle-card{grid-template-columns:1.05fr .95fr;align-items:center;gap:2rem}
  .bundle-card-alt .bundle-media{order:2}
}
.bundle-media{aspect-ratio:4/3;overflow:hidden;background:var(--cream-deep)}
.bundle-media img{width:100%;height:100%;object-fit:cover}
.price-row{font-size:1.15rem;color:var(--ink);margin:0 0 .5rem}
.price-row s{color:var(--muted);margin-right:.5rem;font-size:.95rem}
.btn-sm{padding:.65rem 1.1rem;font-size:.72rem}
.dtc-card h3 a{text-decoration:none;color:var(--ink)}
.dtc-card h3 a:hover{color:var(--terracotta)}
.dtc-card .btn{width:100%;margin-top:.75rem}

/* Craft BTS */
.center-head{text-align:center;margin-inline:auto}
.center-head .lede{margin-inline:auto}
.craft-video-wide{max-width:100%;aspect-ratio:16/9}
.craft-bts .craft-video-frame{margin-top:1rem}
.video-placeholder-note{
  position:absolute;left:1rem;bottom:1rem;z-index:2;margin:0;
  font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cream);background:rgba(30,27,22,.45);padding:.35rem .65rem
}

/* SoapScription */
.soap-scription{
  background:var(--deep-ink);color:var(--cream);
  padding:clamp(3.5rem,8vw,6.5rem) 0
}
.soap-scription .on-dark .eyebrow{color:var(--soft-yellow)}
.soap-scription .on-dark h2{color:var(--cream)}
.soap-scription .on-dark .lede{color:rgba(247,241,230,.75)}
.tier-grid{display:grid;gap:1rem;margin-top:2rem}
@media(min-width:800px){.tier-grid{grid-template-columns:repeat(3,1fr);gap:1.25rem}}
.tier-card{
  position:relative;padding:1.75rem 1.5rem;border:1px solid rgba(247,241,230,.18);
  background:rgba(247,241,230,.04);text-align:center
}
.tier-card h3{color:var(--cream);margin-bottom:.35rem}
.tier-card p{color:rgba(247,241,230,.7)}
.tier-price{font-family:var(--serif);font-size:2rem;color:var(--cream)!important;margin:.5rem 0}
.tier-price span{font-size:.9rem;color:rgba(247,241,230,.55)}
.tier-card.is-popular{
  background:rgba(232,213,154,.12);border-color:var(--soft-yellow)
}
.tier-badge{
  position:absolute;top:.85rem;right:.85rem;font-size:.65rem;letter-spacing:.1em;
  text-transform:uppercase;background:var(--soft-yellow);color:var(--ink);
  padding:.25rem .5rem
}
.subscribe-note{
  text-align:center;margin:1.75rem 0 0;font-size:.82rem;color:rgba(247,241,230,.55)
}

/* Reviews */
.review-grid{display:grid;gap:1.25rem}
@media(min-width:800px){.review-grid{grid-template-columns:repeat(3,1fr)}}
.review-card{
  margin:0;padding:1.5rem;background:var(--white);border:1px solid var(--line);
  display:flex;flex-direction:column;gap:.85rem
}
.review-card .stars{color:var(--terracotta);letter-spacing:.1em;font-size:.9rem}
.review-card blockquote{
  margin:0;font-family:var(--serif);font-size:1.05rem;color:var(--ink-soft);line-height:1.55;flex:1
}
.review-card figcaption{display:flex;align-items:center;gap:.75rem}
.review-card figcaption img{
  width:48px;height:48px;border-radius:50%;object-fit:cover
}
.review-card figcaption span{display:flex;flex-direction:column;font-size:.88rem}
.review-card figcaption em{font-style:normal;color:var(--muted);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}
.rating-pill{
  display:inline-flex;align-items:center;gap:.5rem;margin:2rem auto 0;
  padding:.55rem 1rem;border-radius:999px;background:var(--cream-deep);
  border:1px solid var(--line);font-size:.88rem;color:var(--ink-soft);
  width:fit-content
}
#love .wrap{display:flex;flex-direction:column;align-items:stretch}
#love .rating-pill{align-self:center}

/* Journal */
.journal-grid{display:grid;gap:1.25rem}
@media(min-width:800px){.journal-grid{grid-template-columns:repeat(3,1fr)}}
.journal-card{
  display:flex;flex-direction:column;text-decoration:none;color:inherit;
  background:var(--white);border:1px solid var(--line);overflow:hidden
}
.journal-card img{aspect-ratio:16/10;width:100%;object-fit:cover}
.journal-card > div{padding:1.25rem 1.35rem 1.5rem}
.journal-card h3{font-size:1.2rem;margin:.2rem 0 .5rem;color:var(--ink)}
.journal-card .read-more{
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--terracotta)
}

/* Human nature */
.human-nature-grid{display:grid;gap:2rem;align-items:center}
@media(min-width:900px){.human-nature-grid{grid-template-columns:.9fr 1.1fr;gap:3.5rem}}
.human-nature-copy{
  padding:clamp(1.5rem,4vw,2.5rem);background:var(--cream-deep);border:1px solid var(--line)
}
.human-nature-media{aspect-ratio:4/3;overflow:hidden;background:var(--cream-deep)}
.human-nature-media img{width:100%;height:100%;object-fit:cover}

/* Footer DTC */
.footer-dtc{grid-template-columns:1.4fr 1fr 1fr 1fr !important}
@media(max-width:900px){.footer-dtc{grid-template-columns:1fr 1fr !important}}
.footer-subscribe{margin-top:1.25rem}
.footer-subscribe label{
  display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:.45rem
}
.footer-subscribe-row{display:flex;flex-wrap:wrap;gap:.5rem}
.footer-subscribe input{
  flex:1 1 160px;padding:.75rem .85rem;border:1px solid var(--line);
  background:var(--cream);font:inherit;color:var(--ink)
}
.social-placeholder{font-size:.82rem;color:var(--muted)}
.form-hint{font-size:.82rem;color:var(--sage);margin:.5rem 0 0}

/* Email popup */
.email-popup[hidden],.cart-drawer[hidden]{display:none!important}
.email-popup{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:1rem}
.email-popup-backdrop,.cart-drawer-backdrop{
  position:absolute;inset:0;background:rgba(30,27,22,.45)
}
.email-popup-panel{
  position:relative;z-index:2;width:min(100%,720px);background:var(--cream);
  border:1px solid var(--line);box-shadow:0 24px 60px rgba(30,27,22,.25)
}
.email-popup-grid{display:grid}
@media(min-width:700px){.email-popup-grid{grid-template-columns:1.05fr .95fr}}
.email-popup-copy{padding:clamp(1.5rem,4vw,2.25rem)}
.email-popup-copy h2{font-size:clamp(1.5rem,3vw,2rem)}
.email-popup-copy form{display:grid;gap:.65rem;margin:1.25rem 0 .75rem}
.email-popup-copy input{
  padding:.85rem;border:1px solid var(--line);background:var(--white);font:inherit
}
.email-popup-media{display:none;background:var(--cream-deep)}
@media(min-width:700px){
  .email-popup-media{display:block}
  .email-popup-media img{width:100%;height:100%;object-fit:cover}
}
.email-popup-x{
  position:absolute;top:.5rem;right:.65rem;z-index:3;border:0;background:transparent;
  font-size:1.75rem;line-height:1;cursor:pointer;color:var(--ink);padding:.25rem .5rem
}
.popup-dismiss{
  border:0;background:none;color:var(--muted);font:inherit;font-size:.82rem;
  text-decoration:underline;cursor:pointer;padding:0
}
.visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);border:0
}

/* Cart drawer */
.cart-drawer{position:fixed;inset:0;z-index:90;display:block}
.cart-drawer-panel{
  position:absolute;top:0;right:0;height:100%;width:min(100%,380px);
  background:var(--cream);border-left:1px solid var(--line);
  display:flex;flex-direction:column;box-shadow:-12px 0 40px rgba(30,27,22,.15)
}
.cart-drawer-head,.cart-drawer-foot{padding:1.25rem 1.35rem;border-bottom:1px solid var(--line)}
.cart-drawer-foot{border-bottom:0;border-top:1px solid var(--line);margin-top:auto}
.cart-drawer-head{display:flex;justify-content:space-between;align-items:center}
.cart-drawer-head h2{margin:0;font-size:1.25rem}
.cart-drawer-head button,.cart-drawer-foot .btn{cursor:pointer}
.cart-drawer-head button{border:0;background:none;font-size:1.75rem;line-height:1;color:var(--ink)}
.cart-drawer-body{padding:1.25rem 1.35rem;overflow:auto;flex:1}
.cart-line{display:flex;justify-content:space-between;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--line);font-size:.92rem}
.cart-empty{color:var(--muted)}
.cart-note{font-size:.78rem;color:var(--muted)}
.cart-total{font-size:1rem;margin:0 0 .75rem}
