@import url('https://api.fontshare.com/v2/css?f[]=zodiak@400,500,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&display=swap');

:root{
  --bg:#f7f1e7;
  --bg-alt:#efe6d8;
  --card:#fffdf8;
  --card-soft:#faf5ec;
  --text:#2f2a24;
  --text-soft:#6f685d;
  --line:rgba(92,105,76,.16);
  --line-strong:rgba(92,105,76,.28);
  --ch:#6f8360;
  --ch-rgb:111,131,96;
  --accent:#c48f63;
  --accent-rgb:196,143,99;
  --accent-deep:#a86f43;
  --shadow:0 18px 44px rgba(89,72,50,.10);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-pill:999px;
}

[data-theme='dark']{
  --bg:#171713;
  --bg-alt:#1d1d19;
  --card:#23231f;
  --card-soft:#2a2a24;
  --text:#f1ebdf;
  --text-soft:rgba(241,235,223,.70);
  --line:rgba(241,235,223,.10);
  --line-strong:rgba(111,131,96,.35);
  --ch:#a7bb95;
  --ch-rgb:167,187,149;
  --accent:#d3a279;
  --accent-rgb:211,162,121;
  --accent-deep:#e6b78e;
  --shadow:0 20px 48px rgba(0,0,0,.28);
}

html{background:var(--bg);}
body{
  background:linear-gradient(180deg,var(--bg) 0%, var(--bg-alt) 100%) !important;
  color:var(--text) !important;
  font-family:'Work Sans','Helvetica Neue',sans-serif !important;
  line-height:1.6;
}
body::after{opacity:.012 !important;mix-blend-mode:multiply;}
[data-theme='dark'] body::after{opacity:.02 !important;mix-blend-mode:screen;}

img{border-radius:inherit;}
a,button,input,textarea,select{font-family:inherit;}

a{color:inherit;}

.spine{background:linear-gradient(180deg,#8ea07b 0%, #6f8360 100%) !important;box-shadow:0 0 0 1px rgba(255,255,255,.06) inset;}
nav{
  background:rgba(247,241,231,.86) !important;
  border-bottom:1px solid rgba(111,131,96,.12) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  min-height:64px;
}
[data-theme='dark'] nav{background:rgba(23,23,19,.82) !important;border-bottom-color:rgba(241,235,223,.08) !important;}

.nav-logo,.nav-logo-text,.nav-logo-text b,.nav-link,.ft-link,.ft-logo,.ft-loc,.search-label,.sec-label,.contact-label,.prod-cat,.rel-cat,.dave-role,.dave-box-label,.hero-eyebrow{
  color:var(--text-soft) !important;
}
.nav-logo-text b,.nav-logo b,.sec-label,.contact-label,.prod-cat,.rel-cat,.dave-role,.dave-box-label,.hero-eyebrow{color:var(--ch) !important;}
.nav-logo-text,.nav-logo{
  font-size:12px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase;
}
.nav-link,.ft-link{
  font-size:12px !important;
  letter-spacing:.08em !important;
  color:var(--text-soft) !important;
}
.nav-link:hover,.ft-link:hover,.breadcrumb a:hover,.btn-maps:hover,.map-link:hover,.btn-view:hover{color:var(--ch) !important;}
.nav-pill{
  background:rgba(var(--ch-rgb),.08) !important;
  border:1px solid rgba(var(--ch-rgb),.18) !important;
  color:var(--ch) !important;
  min-height:36px;
}
.nav-dot{background:var(--accent) !important;}
.container{padding-inline:clamp(18px,4vw,34px) !important;}
.section,.section-alt,.dave-strip,.info-section,.story,.timeline-section{padding-block:clamp(56px,9vw,96px) !important;}
.page-wrap{padding-top:64px !important;}

.hero{min-height:60dvh !important;align-items:flex-end !important;--hero-shift:0px;--hero-content-shift:0px;}
.hero-img{will-change:transform;transform:translate3d(0,var(--hero-shift),0);}
.hero-img img{opacity:.34 !important;filter:saturate(.88) brightness(1.04);transform:scale(1.06);will-change:transform;}
.hero-content .container{transform:translate3d(0,var(--hero-content-shift),0);will-change:transform;}
.hero-img::after{background:linear-gradient(to bottom,rgba(247,241,231,.20) 0%, rgba(247,241,231,.86) 58%, rgba(247,241,231,.97) 100%) !important;}
[data-theme='dark'] .hero-img::after{background:linear-gradient(to bottom,rgba(23,23,19,.14) 0%, rgba(23,23,19,.72) 58%, rgba(23,23,19,.92) 100%) !important;}
.hero-content{padding:56px 0 40px !important;}
.hero-eyebrow,.sec-label,.contact-label,.search-label,.prod-cat,.rel-cat,.breadcrumb{font-size:11px !important;letter-spacing:.14em !important;text-transform:uppercase;}
.hero-title,.sec-title,.hero-h1,.prod-title,.contact-title,.rel-name,.prod-name,.value-title,.tl-title,.map-address,.cta-strip h2{
  font-family:'Zodiak',Georgia,serif !important;
  color:var(--text) !important;
  letter-spacing:-.02em !important;
  text-transform:none !important;
  line-height:1.02 !important;
}
[data-theme='dark'] .hero-title,[data-theme='dark'] .sec-title,[data-theme='dark'] .hero-h1,[data-theme='dark'] .prod-title,[data-theme='dark'] .contact-title,[data-theme='dark'] .rel-name,[data-theme='dark'] .prod-name,[data-theme='dark'] .value-title,[data-theme='dark'] .tl-title,[data-theme='dark'] .map-address,[data-theme='dark'] .cta-strip h2{color:var(--text) !important;}
.hero-title{font-size:clamp(42px,12vw,78px) !important;max-width:10ch;}
.hero-title span,.hero-h1 span{color:var(--ch) !important;}
.hero-subtitle,.hero-lead,.hero-sub,.sec-sub,.prod-desc,.contact-desc,.faq-a,.dave-text,.story-text p,.value-text,.tl-text,.map-city,.hero-sub,.badge-text span,.stat-lbl,.ft-loc,.ft-logo,.ft-link,.hero-subtitle,.hero-sub,.who-list li,.ingr-desc{
  color:var(--text-soft) !important;
}
.hero-subtitle,.hero-sub,.hero-lead{font-family:'Work Sans','Helvetica Neue',sans-serif !important;font-style:normal !important;font-size:clamp(17px,4.4vw,20px) !important;max-width:34rem !important;margin-bottom:32px !important;}

.search-bar{
  background:rgba(255,253,248,.82) !important;
  border:1px solid rgba(111,131,96,.16) !important;
  border-radius:24px !important;
  box-shadow:var(--shadow);
  overflow:hidden;
}
[data-theme='dark'] .search-bar{background:rgba(35,35,31,.88) !important;border-color:rgba(241,235,223,.10) !important;}
.search-bar:focus-within{border-color:rgba(var(--ch-rgb),.45) !important;box-shadow:0 0 0 5px rgba(var(--ch-rgb),.12) !important;}
.mic-btn,.search-btn{min-height:58px !important;}
.mic-btn{position:relative;padding-inline:18px !important;color:var(--text-soft) !important;border-right:1px solid var(--line) !important;animation:micBreathe 2.8s ease-in-out infinite;}
.mic-btn svg{position:relative;z-index:1;}
.mic-btn.unsupported{animation:none !important;opacity:.7;}
.mic-btn.unsupported:hover{color:var(--text-soft) !important;}
.voice-status{
  margin-top:10px;
  min-height:18px;
  font-size:12px;
  letter-spacing:.02em;
  color:var(--text-soft);
}
.voice-status.is-listening{color:var(--accent-deep);}
.voice-status.is-error{color:var(--accent-deep);}
@keyframes micBreathe{
  0%,100%{background:rgba(var(--ch-rgb),.03);color:var(--text-soft);box-shadow:inset 0 0 0 0 rgba(var(--accent-rgb),0);}
  50%{background:rgba(var(--accent-rgb),.10);color:var(--accent-deep);box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.14), 0 0 0 6px rgba(var(--accent-rgb),.05);}
}
.mic-btn.active{animation:micActive 1.1s ease-in-out infinite !important;background:rgba(var(--accent-rgb),.16) !important;color:var(--accent-deep) !important;}
@keyframes micActive{
  0%,100%{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.16),0 0 0 0 rgba(var(--accent-rgb),.16);}
  50%{box-shadow:inset 0 0 0 1px rgba(var(--accent-rgb),.22),0 0 0 8px rgba(var(--accent-rgb),.08);}
}
.search-input{
  font-size:16px !important;
  padding:18px 16px !important;
  color:var(--text) !important;
}
.search-input::placeholder{color:rgba(111,104,93,.72) !important;}
[data-theme='dark'] .search-input::placeholder{color:rgba(241,235,223,.42) !important;}
.search-btn,.btn-call,.btn-primary,.form-submit,.hero-cta,.cta-strip a,.btn-call-lg{
  background:var(--ch) !important;
  color:#fffdf8 !important;
  border-radius:999px !important;
  padding-inline:24px !important;
  letter-spacing:.06em !important;
  box-shadow:none !important;
}
.search-btn:hover,.btn-call:hover,.btn-primary:hover,.form-submit:hover,.hero-cta:hover,.cta-strip a:hover,.btn-call-lg:hover{background:var(--accent-deep) !important;opacity:1 !important;}
.btn-secondary{
  border:1px solid rgba(var(--ch-rgb),.22) !important;
  color:var(--ch) !important;
  border-radius:999px !important;
  background:rgba(var(--ch-rgb),.06) !important;
}

.search-chips,.cat-strip,.chips,.trust-row,.hero-stats{gap:12px !important;}
.chip,.cat-btn,.chips .chip{
  min-height:44px;
  padding:10px 16px !important;
  border-radius:999px !important;
  border:1px solid rgba(var(--ch-rgb),.18) !important;
  background:rgba(255,253,248,.72) !important;
  color:var(--text-soft) !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
[data-theme='dark'] .chip,[data-theme='dark'] .cat-btn,[data-theme='dark'] .chips .chip{background:rgba(35,35,31,.7) !important;border-color:rgba(241,235,223,.12) !important;}
.chip:hover,.cat-btn:hover,.cat-btn.active,.faq-q:hover{background:rgba(var(--ch-rgb),.10) !important;border-color:rgba(var(--ch-rgb),.28) !important;color:var(--text) !important;}

.dave-card,.dave-box,.contact-card,.info-card,.value-card,.faq-item,.who-card,.ingr-card,.rel-card,.prod-card,.hero-img-frame,.family-frame,.prod-img-wrap,.map-placeholder{
  background:var(--card) !important;
  border:1px solid var(--line) !important;
  border-radius:var(--radius-md) !important;
  box-shadow:var(--shadow);
}
.dave-card,.dave-box{border-left:none !important;}
.dave-hd{background:rgba(var(--ch-rgb),.06) !important;border-bottom:1px solid var(--line) !important;padding:16px 18px !important;}
.dave-name,.who-card-title,.badge-text strong,.faq-q,.contact-title,.prod-price,.hero-quote,.dave-quote{color:var(--text) !important;}
.dave-quote,.badge-text strong,.family-tag p,.hero-eyebrow,.section-eyebrow{font-family:'Zodiak',Georgia,serif !important;font-style:normal !important;}
.recs{gap:10px !important;}
.rec{
  border:1px solid var(--line) !important;
  border-radius:18px !important;
  background:var(--card-soft) !important;
  padding:14px 16px !important;
}
.rec:hover{background:rgba(var(--ch-rgb),.08) !important;border-color:var(--line-strong) !important;}
.rec-name,.ingr-name{font-family:'Work Sans','Helvetica Neue',sans-serif !important;font-size:18px !important;letter-spacing:0 !important;color:var(--text) !important;text-transform:none !important;}
.rec-tag,.prod-badge,.trust-item,.contact-desc strong{color:var(--ch) !important;}
.prod-badge{
  background:rgba(var(--ch-rgb),.10) !important;
  color:var(--ch) !important;
  border-radius:999px !important;
  padding:6px 12px !important;
}

.prod-grid,.related-grid,.ingr-grid,.who-grid,.contact-grid,.info-grid,.values-grid{gap:20px !important;}
.prod-card,.rel-card,.contact-card,.value-card,.ingr-card,.who-card,.info-card{overflow:hidden;}
.prod-info,.rel-card,.contact-card,.value-card,.ingr-card,.who-card,.info-card{padding:22px !important;}
.prod-img,.dave-photo,.hero-img-frame img,.family-frame img,.prod-img-wrap img{border-radius:0 !important;}
.prod-img,.prod-img-wrap img{background:var(--card-soft);}
.prod-name{font-size:clamp(28px,6vw,36px) !important;margin-bottom:4px;}
.prod-desc,.rel-desc,.contact-desc,.ingr-desc,.who-list li{font-size:15px !important;line-height:1.7 !important;}
.prod-footer{border-top:1px solid var(--line) !important;padding-top:16px !important;}
.prod-price{font-family:'Work Sans','Helvetica Neue',sans-serif !important;font-size:18px !important;font-weight:700 !important;}
.btn-view,.btn-maps,.map-link,.rel-arrow{font-size:12px !important;letter-spacing:.08em !important;color:var(--ch) !important;text-transform:uppercase;}

.dave-strip,.section-alt,.cta-strip,footer{background:transparent !important;}
.dave-grid,.hero-inner,.story-grid,.prod-hero{gap:clamp(28px,5vw,72px) !important;}
.dave-photo,.hero-img-frame img{aspect-ratio:4/5;object-fit:cover;}
.btn-call{min-height:54px;border-radius:999px !important;}
.trust-item::before,.who-list li::before{color:var(--ch) !important;}

.breadcrumb{color:var(--text-soft) !important;border-bottom:1px solid var(--line) !important;padding-block:16px !important;}
.breadcrumb span{color:var(--text) !important;}
.faq-list{gap:14px !important;}
.faq-q{padding:18px 20px !important;background:var(--card) !important;}
.faq-a{padding:0 20px 20px !important;background:var(--card) !important;border-top:none !important;}
.faq-item.open .faq-a{display:block;}
.form-input,.form-textarea{
  background:var(--card-soft) !important;
  border:1px solid var(--line) !important;
  border-radius:16px !important;
  color:var(--text) !important;
  font-size:16px !important;
  padding:14px 16px !important;
}
.form-input:focus,.form-textarea:focus{border-color:rgba(var(--ch-rgb),.45) !important;box-shadow:0 0 0 4px rgba(var(--ch-rgb),.10) !important;}
.hours-table tr{border-bottom:1px solid var(--line) !important;}
.hours-table td{font-size:15px !important;color:var(--text-soft) !important;}
.hours-table td:first-child{color:var(--text) !important;}
.map-placeholder{min-height:260px !important;background:linear-gradient(180deg,rgba(var(--ch-rgb),.08),rgba(var(--ch-rgb),.03)) !important;}

footer{
  margin-top:24px;
  border-top:1px solid var(--line) !important;
  padding-block:22px 30px !important;
}
.ft-inner{row-gap:12px !important;}
.pc-attribution{font-size:12px;color:var(--text-soft);text-decoration:none;}
.pc-attribution:hover{color:var(--ch);}

.theme-toggle,.mobile-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(var(--ch-rgb),.18);
  background:rgba(255,253,248,.7);
  color:var(--text);
}
[data-theme='dark'] .theme-toggle,[data-theme='dark'] .mobile-menu-toggle{background:rgba(35,35,31,.84);border-color:rgba(241,235,223,.1);}
.nav-tools{display:flex;align-items:center;gap:8px;}
.mobile-menu{
  position:fixed;
  inset:76px 16px auto 16px;
  z-index:300;
  background:rgba(255,253,248,.98);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:16px;
  display:none;
}
[data-theme='dark'] .mobile-menu{background:rgba(35,35,31,.98);}
.mobile-menu.open{display:block;}
.mobile-menu a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:10px 12px;
  border-radius:14px;
  text-decoration:none;
  color:var(--text);
}
.mobile-menu a + a{margin-top:6px;}
.mobile-menu a:hover{background:rgba(var(--ch-rgb),.08);}

@media (max-width: 900px){
  .nav-r .nav-link{display:none !important;}
  .nav-pill{display:none !important;}
  .prod-grid,.related-grid,.values-grid,.contact-grid{grid-template-columns:1fr !important;}
  .ingr-grid,.who-grid,.info-grid,.story-grid,.hero-inner,.prod-hero,.dave-grid{grid-template-columns:1fr !important;}
  .hero{min-height:auto !important;}
  .hero-content{padding-top:44px !important;}
  .hero-subtitle,.hero-lead{max-width:none !important;}
}

@media (prefers-reduced-motion: reduce){
  .hero-img,.hero-content .container,.mic-btn{transform:none !important;animation:none !important;}
}

@media (max-width: 768px){
  .spine{display:none !important;}
  nav{left:0 !important;padding:0 16px !important;height:64px !important;}
  .page-wrap,body{padding-left:0 !important;}
  .page-wrap{padding-top:64px !important;}
  .hero-img{position:relative !important;height:30vh;min-height:180px;}
  .hero{display:block !important;min-height:auto !important;}
  .hero-content{margin-top:-22px;position:relative;z-index:2;padding:0 0 20px !important;}
  .hero .container{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:20px 18px 18px !important;box-shadow:var(--shadow);transform:none !important;}
  .hero-title{font-size:clamp(38px,12vw,54px) !important;max-width:11ch;}
  .search-bar{flex-wrap:wrap;align-items:stretch;}
  .mic-btn{width:58px;justify-content:center;border-right:1px solid var(--line) !important;}
  .search-input{min-width:0;width:calc(100% - 58px);}
  .search-btn{width:100%;border-radius:0 0 24px 24px !important;}
  .search-chips,.cat-strip{gap:10px !important;}
  .chip,.cat-btn{font-size:13px !important;padding:10px 14px !important;}
  .section,.section-alt,.dave-strip,.info-section{padding-block:42px !important;}
  .prod-info,.rel-card,.contact-card,.value-card,.ingr-card,.who-card,.info-card{padding:18px !important;}
  .faq-q{font-size:16px !important;line-height:1.4;}
  .btn-call,.btn-primary,.btn-secondary,.btn-call-lg,.hero-cta,.cta-strip a{width:100%;justify-content:center;min-height:52px;}
  .ft-links{flex-wrap:wrap;justify-content:center;gap:14px !important;}
  body[data-page='contact'] section[style*='overflow:hidden'] > div[style*='height:400px']{height:220px !important;}
  body[data-page='contact'] section[style*='overflow:hidden'] img{filter:brightness(.62) saturate(.9);}
  body[data-page='contact'] section[style*='overflow:hidden'] .sec-title,
  body[data-page='contact'] section[style*='overflow:hidden'] p,
  body[data-page='contact'] section[style*='overflow:hidden'] .sec-label{color:#fffdf8 !important;text-shadow:0 2px 20px rgba(0,0,0,.35);}
  body[data-page='contact'] section[style*='overflow:hidden'] .container{padding-bottom:22px !important;}
  body[data-page='anxio-calm'] .prod-hero,
  body[data-page='ashwagandha'] .prod-hero,
  body[data-page='cbd-magnesium'] .prod-hero,
  body[data-page='protodopholis'] .prod-hero,
  body[data-page='rejuvazyme'] .prod-hero,
  body[data-page='triple-blend-magnesium'] .prod-hero{display:flex !important;flex-direction:column-reverse !important;gap:20px !important;padding-top:26px !important;}
  body[data-page='anxio-calm'] .prod-img-wrap,
  body[data-page='ashwagandha'] .prod-img-wrap,
  body[data-page='cbd-magnesium'] .prod-img-wrap,
  body[data-page='protodopholis'] .prod-img-wrap,
  body[data-page='rejuvazyme'] .prod-img-wrap,
  body[data-page='triple-blend-magnesium'] .prod-img-wrap{aspect-ratio:1.08 / 1 !important;}
}

/* Headspace fix */
.hero{min-height:60dvh !important;}
