/* Drip & Define: warm editorial contrast, restrained metallic accents. */
:root {
  --cream: #f5f1e8;
  --cream-deep: #eae4d7;
  --sage: #747e67;
  --ink: #46503e;
  --olive: #424e35;
  --gold: #7d653f;
  --champagne: #b9a174;
  --line: #59624f33;
  --radius: 24px;
  --gutter: clamp(20px,2.8vw,44px);
}
body { background: #fffefa; -webkit-font-smoothing: antialiased; }
body.home { background: #f5f2ec; }
::selection { background: #d5c7aa; color: #303b28; }
.site-header,.home .site-header { background: #fffefaed; backdrop-filter: blur(20px); }
.site-header .site-nav { font-size: 13px; gap: 27px; }
.site-header .header-action .header-book { background: var(--olive); border-color: var(--olive); color: #fffdf6; font-size: 12px; letter-spacing: .015em; }
.site-header .header-action .header-book:hover { background: #303d26; border-color: #303d26; }
.care-nav { background: #f3efe6; border-top-color: #59624f26; }
.care-nav a { font-size: 12px; letter-spacing: .075em; }
.site-header .site-nav > .service-mega-menu > .services-mega-panel { background: #fffefa; box-shadow: 0 20px 45px #28331f17; border-color: #59624f2e; border-top-color: var(--olive); }
.site-header .nav-about > .subnav { background: #fffefa; }
.eyebrow { letter-spacing: .18em; }
.section > .eyebrow,.location-copy > .eyebrow,.reg-heading > .eyebrow,.plain-hero > .eyebrow { display: flex; align-items: center; gap: 12px; }
.section > .eyebrow::before,.location-copy > .eyebrow::before,.reg-heading > .eyebrow::before,.plain-hero > .eyebrow::before { content: ''; width: 28px; height: 1px; background: var(--champagne); flex: 0 0 auto; }
.hero { border: 1px solid #59624f1a; border-radius: 28px; box-shadow: 0 18px 44px #26331c10; }
.hero-content .eyebrow { font-size: 12px; letter-spacing: .21em; }
.home .hero h1 { font-size: clamp(42px,4.6vw,68px); line-height: 1.1; letter-spacing: -.045em; }
.home .hero-content .lead { font-size: 16px; line-height: 1.75; max-width: 520px; }
.home .hero-content .circle-button { width: 148px; height: 148px; font-size: 14px; border-color: #ffffff9c; background: #ffffff0a; backdrop-filter: blur(7px); }
.home .hero-content .circle-button:hover { background: #fffefa; color: var(--ink); }
.button { font-size: 14px; letter-spacing: .005em; }
.button.solid { background: var(--olive); border-color: var(--olive); }
.button.solid:hover { background: #303d26; border-color: #303d26; }
.home .concern-grid { column-gap: 24px; row-gap: 12px; }
.home .concern-link { border: 1px solid #59624f29; border-radius: 16px; background: #fffefa; }
.home .concern-link:hover { border-color: var(--champagne); color: var(--ink); }
.home .concern-link .concern-text { font-size: 20px; letter-spacing: -.025em; }
.service-panel { background-color: var(--olive); border: 1px solid #ffffff1f; }
.glass-card { background: #ffffff0f; border-color: #ffffff57; box-shadow: inset 0 1px 0 #ffffff16; backdrop-filter: blur(14px); }
.glass-card:hover { background: #ffffff24; border-color: #dbc8a1b3; }
.glass-card h3 { font-size: 23px; }
.glass-card p { font-size: 14px; line-height: 1.75; }
.soft-panel { background: #ece9df; border: 1px solid #59624f20; }
.step { border-top: 1px solid #b9a17480; padding-top: 18px; }
.step-number { color: var(--gold); }
.location-grid { gap: clamp(32px,5vw,74px); }
.home .location-art .small-photo { border: 6px solid #f5f2ec; border-radius: 20px; box-shadow: 0 16px 30px #28331f1f; }
.photo-cta.has-photo { border: 1px solid #59624f1f; border-radius: 26px; }
.regenerative-page .reg-treatment { background: #fffefa; border-color: #59624f33; box-shadow: 0 3px 10px #26331c05; }
.regenerative-page .reg-treatment-body > .reg-book { background: var(--olive); border-color: var(--olive); color: #fffdf6; }
.regenerative-page .reg-treatment-body > .reg-book:hover { background: #303d26; border-color: #303d26; }
.regenerative-page .reg-concern,.regenerative-page .reg-plan-card { background: #f5f1e8; border-color: #59624f29; }
.regenerative-page .reg-final-cta { background: #f0ebdf; border-color: #b9a17480; border-left: 3px solid var(--champagne); }
.regenerative-page .reg-safety { background: #3b4831; }
.wellness-pathway { border-color: #59624f33; }
.wellness-pathway--sage { background: #424e35; }
.risk-copy,.plain-hero { background: #f1ede3; border: 1px solid #59624f20; }
.booking-choice,.map-card { background: #fffefa; border-color: #59624f33; }
.faq-item summary { line-height: 1.45; }
.faq-item[open] { border-top-color: var(--champagne); }
input:focus,textarea:focus,select:focus { border-bottom-color: var(--gold); }
.site-footer { background: #efebe2; border-top: 1px solid #59624f26; border-radius: 26px 26px 0 0; }
.footer-grid .eyebrow { color: #6e5b3e; }
.footer-links a:hover { color: #7d653f; }
@media (hover:hover) and (pointer:fine) {
  .regenerative-page .reg-treatment:hover,.regenerative-page .reg-concern:hover,.wellness-pathway:hover,.booking-choice:hover { border-color: #b9a174b3; box-shadow: 0 12px 28px #28331f0d; }
}
@media (max-width:1180px) {
  .js .site-header .site-nav { background: #fffefa; gap: 0; }
}
@media (max-width:680px) {
  :root { --gutter: 16px; --radius: 18px; }
  .hero { border-radius: 20px; }
  .home .hero h1 { font-size: clamp(36px,9.6vw,42px); }
  .home .concern-link .concern-text { font-size: 17px; }
  .home .location-art .small-photo { border-width: 4px; border-radius: 15px; }
  .care-nav a { font-size: 11px; letter-spacing: .035em; }
}
