@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@300;400;500;600;700&display=swap');

:root,
[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);
  --radius-sm:14px;
  --radius-md:20px;
  --radius-lg:28px;
  --radius-pill:999px;
}

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:.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(23,23,19,.82) !important;
  border-bottom:1px solid rgba(241,235,223,.08) !important;
  backdrop-filter:blur(16px) !important;
  -webkit-backdrop-filter:blur(16px) !important;
  min-height:64px;
}

.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:84dvh !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(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,.protocol-name{
  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,.protocol-tagline,.protocol-who-text,.protocol-info-text{
  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(35,35,31,.88) !important;
  border:1px solid rgba(241,235,223,.10) !important;
  border-radius:24px !important;
  box-shadow:var(--shadow);
  overflow:hidden;
}
.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(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(241,235,223,.12) !important;
  background:rgba(35,35,31,.7) !important;
  color:var(--text-soft) !important;
  font-size:12px !important;
  letter-spacing:.04em !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.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,.protocols-grid{gap:20px !important;}
.prod-card,.rel-card,.contact-card,.value-card,.ingr-card,.who-card,.info-card,.protocol-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;}
.protocol-card{background:var(--card) !important;border:1px solid var(--line) !important;border-radius:var(--radius-md) !important;box-shadow:var(--shadow);padding:28px !important;}
.protocol-name{font-size:clamp(34px,4vw,48px) !important;margin-bottom:8px;color:var(--text) !important;}
.protocol-tagline{font-family:'Work Sans','Helvetica Neue',sans-serif !important;font-style:normal !important;font-size:16px !important;line-height:1.65 !important;}
.protocol-who,.protocol-cta{border-top:1px solid var(--line) !important;}
.protocol-who{border-bottom:1px solid var(--line) !important;padding:16px 0 !important;}
.protocol-products,.protocol-info{padding:10px 0 !important;}
.protocol-products-title,.protocol-who-title,.protocol-info-label{font-size:11px !important;letter-spacing:.14em !important;text-transform:uppercase;color:var(--ch) !important;}
.protocol-product{font-size:15px !important;line-height:1.7 !important;color:var(--text) !important;}
.protocol-product a{color:var(--ch) !important;}
.protocol-product a:hover{color:var(--text) !important;}
.protocol-who-text,.protocol-info-text{font-size:15px !important;line-height:1.7 !important;}
.btn-protocol{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-height:48px !important;border-radius:999px !important;border:1px solid rgba(var(--ch-rgb),.22) !important;background:rgba(var(--ch-rgb),.06) !important;color:var(--ch) !important;padding:0 20px !important;letter-spacing:.06em !important;}
.btn-protocol:hover{background:rgba(var(--ch-rgb),.12) !important;border-color:rgba(var(--ch-rgb),.30) !important;color:var(--text) !important;}

.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);}

.mobile-menu-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;
  height:38px;
  border-radius:999px;
  border:1px solid rgba(241,235,223,.1);
  background:rgba(35,35,31,.84);
  color:var(--text);
}
.theme-toggle{display:none !important;}
.nav-tools{display:flex;align-items:center;gap:8px;}
.mobile-menu{
  position:fixed;
  inset:76px 16px auto 16px;
  z-index:300;
  background:rgba(35,35,31,.98);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
  padding:16px;
  display:none;
}
.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,.protocols-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(34px,10vw,54px) !important;max-width:100%;word-break:break-word;overflow-wrap:break-word;}
  .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;}
}

/* === PRODUCTION POLISH === */

/* Smooth image loading */
img {
  transition: opacity 0.3s ease;
}

/* Better focus states for accessibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--ch) !important;
  outline-offset: 2px;
}

/* Smooth scroll for anchor links */
html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Improve text rendering */
body {
  text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}

/* Better card hover transitions */
.prod-card,
.rel-card,
.protocol-card,
.faq-item,
.who-card,
.ingr-card,
.info-card,
.value-card {
  transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important;
}

.prod-card:hover,
.rel-card:hover,
.protocol-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 24px 56px rgba(0,0,0,.35) !important;
}

/* Hero image fade-in */
.hero-img img {
  animation: heroFadeIn 0.8s ease-out both;
}

@keyframes heroFadeIn {
  from { opacity: 0; transform: scale(1.08); }
  to { opacity: 0.34; transform: scale(1.06); }
}

/* Polished CTA strip */
.cta-strip {
  background: linear-gradient(135deg, var(--ch), var(--accent-deep)) !important;
  border-radius: var(--radius-lg) !important;
  margin: 0 clamp(16px, 3vw, 32px) !important;
}

.cta-strip h2 {
  color: #fffdf8 !important;
}

.cta-strip p {
  color: rgba(255,253,248,.72) !important;
}

.cta-strip a {
  background: rgba(255,253,248,.96) !important;
  color: var(--text) !important;
}

.cta-strip a:hover {
  background: #fffdf8 !important;
}

/* Better product image styling */
.prod-img,
.prod-img-wrap img {
  opacity: 1 !important;
  transition: transform 0.4s ease;
}

.prod-card:hover .prod-img {
  transform: scale(1.03);
}

.prod-img-wrap {
  overflow: hidden;
}

.prod-img-wrap:hover img {
  transform: scale(1.03);
}

/* Footer copyright year update */
.ft-loc {
  opacity: 0.65;
}

/* Button cursor */
button, .btn-primary, .btn-secondary, .btn-call, .btn-call-lg, .btn-view, .btn-protocol, .chip, .cat-btn, .search-btn {
  cursor: pointer !important;
}

/* Ingredient card hover */
.ingr-card:hover {
  border-color: rgba(var(--ch-rgb), .28) !important;
}

/* Selection color */
::selection {
  background: rgba(var(--ch-rgb), .2);
  color: var(--text);
}

/* Category page hero h1 fix */
.hero h1 {
  font-family: 'Zodiak', Georgia, serif !important;
  color: var(--text) !important;
  font-size: clamp(36px, 7vw, 64px) !important;
  letter-spacing: -0.02em !important;
  line-height: 1.08 !important;
  text-transform: none !important;
}

.hero p {
  color: var(--text-soft) !important;
  font-size: clamp(16px, 2.5vw, 19px) !important;
  line-height: 1.65 !important;
  max-width: 36rem;
}

/* Print styles */
@media print {
  .spine, nav, .mobile-menu, .theme-toggle, .mobile-menu-toggle, .nav-tools { display: none !important; }
  body, .page-wrap { padding: 0 !important; }
  .hero { min-height: auto !important; }
}
