/* ============================================================
   Jacob AcuBalance v27 — Design System
   jacobclinic.com
   ============================================================ */

/* --- 1. TOKENS -------------------------------------------- */
:root {
  --cream:        #f7f2e8;
  --cream2:       #fffaf0;
  --green:        #073f35;
  --green2:       #0d6b55;
  --navy:         #0b3159;
  --gold:         #b5832f;
  --soft-gold:    #b88a3a;
  --burgundy:     #8b1e2d;
  --ink:          #18221f;
  --muted:        #5d6863;
  --line:         #e6dccb;
  --white:        #fffdf8;
  --sage:         #e8f0ec;
  --sage2:        #d4e6db;
  --green-light:  #f0f7f4;
  --gold-light:   #fdf6e8;
  --shadow-soft:  0 4px 24px rgba(7,63,53,.07);
  --shadow-med:   0 12px 48px rgba(7,63,53,.11);
  --shadow-str:   0 24px 72px rgba(7,63,53,.16);
  --r-sm: 12px;
  --r-md: 20px;
  --r-lg: 32px;
  --r-xl: 48px;
}

/* --- 2. RESET & BASE -------------------------------------- */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: Outfit, Arial, sans-serif;
  color: var(--ink);
  background: var(--white);
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

img { max-width: 100%; display: block; }
a { color: inherit; }

/* --- 3. LAYOUT -------------------------------------------- */
.container {
  width: min(1120px, calc(100% - 40px));
  margin: auto;
}

/* --- 4. TOPBAR -------------------------------------------- */
.topbar {
  background: var(--green);
  color: #fff;
  font-size: .88rem;
  letter-spacing: .01em;
}
.topbar .container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding: 9px 0;
}
.topbar a { text-decoration: none; color: rgba(255,255,255,.9); transition: color .2s; }
.topbar a:hover { color: #fff; }

/* --- 5. NAV ----------------------------------------------- */
nav {
  position: sticky;
  top: 0;
  background: rgba(255,253,248,.96);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  z-index: 100;
  border-bottom: 1px solid var(--line);
  transition: box-shadow .3s ease, background .3s ease;
}
nav.scrolled { box-shadow: 0 4px 32px rgba(7,63,53,.10); }

.nav-inner {
  height: 88px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.brand-row {
  display: flex;
  align-items: center;
  gap: 13px;
  text-decoration: none;
}
.brand-row img { width: 58px; height: 58px; object-fit: contain; }
.brand-text strong {
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.48rem;
  color: var(--green);
  line-height: 1;
}
.brand-text span {
  font-size: .7rem;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
  list-style: none;
}
.nav-links a {
  text-decoration: none;
  font-weight: 700;
  font-size: .92rem;
  color: var(--green);
  position: relative;
  padding-bottom: 2px;
}
.nav-links a::after {
  content: '';
  position: absolute;
  bottom: -2px; left: 0;
  width: 0; height: 2px;
  background: var(--gold);
  transition: width .25s ease;
}
.nav-links a:hover::after { width: 100%; }

.nav-cta {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  min-width: 112px;
  padding: 9px 18px;
  background: var(--green);
  color: #fff !important;
  font-weight: 800;
  font-size: .9rem;
  line-height: 1.08;
  text-align: center;
  white-space: normal !important;
  text-decoration: none;
  border: 1px solid transparent;
  box-shadow: 0 8px 24px rgba(7,63,53,.18);
  transition: all .25s ease;
}
.nav-cta:hover { background: var(--green2); transform: translateY(-1px); box-shadow: 0 12px 32px rgba(7,63,53,.22); }
.nav-cta::after { display: none !important; }

.mobile-toggle {
  display: none;
  border: 0;
  background: none;
  font-size: 1.6rem;
  color: var(--green);
  cursor: pointer;
  padding: 4px;
}

/* --- 6. BUTTONS ------------------------------------------- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 14px 28px;
  font-weight: 800;
  font-size: .95rem;
  text-decoration: none;
  border: 1px solid transparent;
  transition: all .25s ease;
  cursor: pointer;
}
.btn.primary {
  background: var(--green);
  color: #fff !important;
  box-shadow: 0 10px 28px rgba(7,63,53,.18);
}
.btn.primary:hover { background: var(--green2); transform: translateY(-2px); box-shadow: 0 16px 40px rgba(7,63,53,.22); }
.btn.secondary {
  background: #fff;
  color: var(--green);
  border-color: var(--line);
}
.btn.secondary:hover { border-color: var(--green); transform: translateY(-2px); box-shadow: var(--shadow-soft); }

/* --- 7. TYPOGRAPHY ---------------------------------------- */
h1, h2, h3 {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--green);
  line-height: 1.06;
  margin-bottom: 16px;
}
h1 { font-size: clamp(2.8rem, 5.5vw, 5rem); }
h2 { font-size: clamp(1.7rem, 3vw, 2.6rem); }
h3 { font-size: 1.4rem; }
.section-head h2 { font-size: clamp(1.6rem, 2.8vw, 2.4rem); max-width: 680px; margin-left: auto; margin-right: auto; }

.eyebrow {
  text-transform: uppercase;
  letter-spacing: .22em;
  color: var(--green);
  font-size: .74rem;
  font-weight: 900;
  margin-bottom: 14px;
}

/* --- 8. HERO ---------------------------------------------- */
.hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(105deg, #fffdf4 0%, #fff8e8 45%, #f2ede0 100%);
  padding: 68px 0 56px;
  min-height: calc(100vh - 88px);
}
.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 10% 15%, rgba(255,255,255,.95), transparent 35%),
    radial-gradient(circle at 85% 10%, rgba(13,107,85,.07), transparent 30%);
  pointer-events: none;
}
.hero .container { position: relative; }

.hero-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}
.hero-copy { padding: 24px 0; }

.hero h1 {
  font-size: clamp(2.8rem, 5.5vw, 5rem);
  letter-spacing: -.03em;
  line-height: 1.0;
  margin-bottom: 22px;
}
.hero .eyebrow {
  color: var(--green);
  font-size: .9rem;
  letter-spacing: .26em;
  margin-bottom: 28px;
}
.gold-rule { width: 52px; height: 2px; background: var(--soft-gold); margin: 0 0 26px; }

.hero p.lead {
  font-family: 'Playfair Display', Georgia, serif;
  color: var(--burgundy);
  font-size: clamp(1.7rem, 3vw, 3rem);
  line-height: 1.15;
  font-weight: 700;
  max-width: 640px;
  margin-bottom: 20px;
}
.hero-body {
  font-size: 1.06rem;
  color: #24302d;
  line-height: 1.78;
  max-width: 600px;
}
.hero-actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 36px; }

/* Hero visual */
.hero-visual { position: relative; min-height: 580px; }
.hero-visual img {
  width: 100%;
  height: 580px;
  object-fit: cover;
  object-position: center 5%;
  border-radius: 16px;
  box-shadow: var(--shadow-str);
}
.credential-card {
  position: relative;
  z-index: 2;
  margin-top: 14px;
  width: 100%;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(230,220,203,.9);
  border-left: 4px solid var(--gold);
  border-radius: 10px;
  padding: 18px 24px;
  box-shadow: var(--shadow-med);
}
.credential-card h3 { font-size: 1.5rem; margin-bottom: 6px; }
.credential-card .credential-name { font-size: 1.5rem; margin-bottom: 6px; font-weight: 700; line-height: 1.2; }
.credential-card p { margin: 3px 0; color: #26312e; font-size: .9rem; line-height: 1.5; }

/* Trust bar */
.trust-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  background: rgba(255,255,255,.9);
  border: 1px solid var(--line);
  border-radius: 18px;
  margin-top: 36px;
  box-shadow: var(--shadow-med);
  backdrop-filter: blur(12px);
  overflow: hidden;
}
.trust-pill--highlight {
  background: linear-gradient(135deg, #f0f7f4, #e8f5ee);
  border-right: 1px solid var(--sage2) !important;
}
.trust-pill--highlight strong { color: var(--green2); }
.trust-icon--gold { background: var(--gold-light) !important; border-color: #eadbc1 !important; font-size: 1.4rem; }
/* Nav highlight link */
.nav-links .nav-highlight {
  color: #fff !important;
  font-weight: 900 !important;
  background: var(--burgundy);
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid var(--burgundy);
  font-size: .84rem !important;
  letter-spacing: .01em;
  transition: all .2s ease;
}
.nav-links .nav-highlight:hover { background: #6f1724; }
.nav-links .nav-highlight::after { display: none !important; }
.trust-pill {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 26px 30px;
  border-right: 1px solid var(--line);
  transition: background .2s ease;
}
.trust-pill:last-child { border-right: 0; }
.trust-pill:hover { background: var(--green-light); }
.trust-icon {
  width: 54px; height: 54px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--gold-light);
  border: 1px solid #eadbc1;
  color: var(--soft-gold);
  font-size: 1.45rem;
  flex-shrink: 0;
}
.trust-pill strong { display: block; color: #112d27; font-weight: 800; font-size: .96rem; }
.trust-pill span { display: block; color: var(--muted); font-size: .88rem; }

/* Scroll indicator */
.scroll-indicator {
  display: flex;
  justify-content: center;
  margin-top: 48px;
}
.scroll-indicator span {
  display: block;
  width: 28px; height: 28px;
  border-right: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
  transform: rotate(45deg);
  opacity: .5;
  animation: bounce 2s infinite;
}
@keyframes bounce {
  0%, 100% { transform: rotate(45deg) translateY(0); opacity: .4; }
  50% { transform: rotate(45deg) translateY(6px); opacity: .8; }
}

/* --- 9. SECTIONS ------------------------------------------ */
section { padding: 64px 0; }
.section-head { text-align: center; margin: 0 auto 36px; max-width: 820px; }
.section-head p { font-size: 1.16rem; color: var(--muted); margin-top: 16px; }

.soft  { background: var(--cream); }
.sage  { background: var(--sage); }
.light { background: var(--green-light); }

/* --- 10. CARDS -------------------------------------------- */
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 30px;
  box-shadow: var(--shadow-soft);
  transition: transform .22s ease, box-shadow .22s ease;
  position: relative;
  overflow: hidden;
}
.card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .3s ease;
}
.card:hover { transform: translateY(-5px); box-shadow: var(--shadow-med); }
.card:hover::before { transform: scaleX(1); }

.card.feature { background: linear-gradient(180deg, #fff, var(--cream2)); }

.icon {
  width: 54px; height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: var(--gold-light);
  border: 1px solid #eadbc1;
  color: var(--green);
  font-size: 1.8rem;
  margin-bottom: 18px;
}
.card h3 { font-size: 1.35rem; margin-bottom: 10px; }
.card p, .card ul { color: var(--muted); }
.card ul { padding-left: 18px; margin: 12px 0 0; }
.card ul li { margin-bottom: 4px; }

/* Category color pills for blog */
.post-meta {
  display: inline-block;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .14em;
  color: var(--gold);
  font-weight: 900;
  margin-bottom: 10px;
  padding: 4px 10px;
  background: var(--gold-light);
  border-radius: 999px;
  border: 1px solid #eadbc1;
}

.more {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 18px;
  color: var(--navy);
  text-decoration: none;
  font-weight: 900;
  text-transform: uppercase;
  font-size: .76rem;
  letter-spacing: .08em;
  transition: gap .2s ease;
}
.more:hover { gap: 8px; }

/* --- 11. GRIDS -------------------------------------------- */
.grid-5 { display: grid; grid-template-columns: repeat(5,1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.grid-2 { display: grid; grid-template-columns: repeat(2,1fr); gap: 28px; }
.blog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
/* Programs 6-card 2×3 grid */
.grid-programs { display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }

/* --- 12. PHILOSOPHY BAND ---------------------------------- */
.philosophy {
  background: linear-gradient(110deg, var(--green), #0a5547);
  color: #fff;
  padding: 88px 0;
}
.philosophy h2 { color: #fff; }
.philosophy p { color: rgba(255,255,255,.82); font-size: 1.1rem; line-height: 1.8; }
.quote {
  font-family: 'Playfair Display';
  font-size: clamp(1.9rem, 4vw, 3.8rem);
  line-height: 1.12;
  color: #fff;
  font-style: italic;
}

/* --- 13. CTA BAND ----------------------------------------- */
.cta-band {
  background: linear-gradient(110deg, var(--navy), var(--green));
  color: #fff;
  text-align: center;
  padding: 80px 0;
}
.cta-band h2 { color: #fff; margin-bottom: 14px; }
.cta-band p { color: rgba(255,255,255,.8); font-size: 1.1rem; margin-bottom: 32px; }

/* --- 14. LOCATIONS ---------------------------------------- */
.locations { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.loc {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 26px;
  transition: box-shadow .2s ease;
}
.loc:hover { box-shadow: var(--shadow-med); }
.loc h3 { font-size: 1.2rem; margin-bottom: 8px; }
.loc p { color: var(--muted); font-size: .95rem; }

/* --- 15. PAGE HERO (inner pages) -------------------------- */
.page-hero {
  background: linear-gradient(135deg, var(--cream), #fff);
  padding: 40px 0;
  border-bottom: 1px solid var(--line);
}
.breadcrumb { font-size: .84rem; color: var(--muted); margin-bottom: 14px; }
.breadcrumb a { text-decoration: none; color: var(--muted); }
.breadcrumb a:hover { color: var(--green); }

/* --- 16. PROSE LAYOUT (service pages) -------------------- */
.layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 36px; }
.prose {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 40px;
  box-shadow: var(--shadow-soft);
}
.prose h2 { font-size: 1.9rem; margin-top: 36px; margin-bottom: 14px; }
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { color: var(--muted); line-height: 1.8; margin-bottom: 14px; }
.prose ul { padding-left: 20px; }
.prose ul li { margin-bottom: 6px; }

.sidebox {
  position: sticky;
  top: 108px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 26px;
  box-shadow: var(--shadow-soft);
}
.sidebox h3 { font-size: 1.2rem; margin-bottom: 12px; }
.sidebox p { color: var(--muted); font-size: .94rem; margin-bottom: 10px; }
.sidebox hr { border: 0; border-top: 1px solid var(--line); margin: 18px 0; }

.notice {
  background: var(--gold-light);
  border-left: 4px solid var(--gold);
  padding: 16px 20px;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  color: #5a3d10;
  font-size: .94rem;
  margin: 24px 0;
  line-height: 1.7;
}

/* --- 17. ABOUT PAGE --------------------------------------- */
.about-grid { display: grid; grid-template-columns: 1fr .7fr; gap: 48px; align-items: start; }
.about-photo {
  border-radius: var(--r-lg);
  overflow: hidden;
  box-shadow: var(--shadow-str);
}
.about-photo img { width: 100%; aspect-ratio: 3/4; object-fit: cover; object-position: top; }
.credential-list { list-style: none; padding: 0; margin: 20px 0; }
.credential-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: .96rem;
}
.credential-list li:last-child { border-bottom: 0; }
.credential-list .badge {
  display: inline-block;
  background: var(--green);
  color: #fff;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
  margin-top: 2px;
  flex-shrink: 0;
}

/* --- 18. CONTACT PAGE ------------------------------------- */
.booking-placeholder {
  background: var(--sage);
  border: 1px dashed var(--sage2);
  border-radius: var(--r-lg);
  padding: 36px 40px;
  margin-bottom: 36px;
  position: relative;
}
.booking-placeholder .coming-soon {
  position: absolute;
  top: 20px; right: 20px;
  background: var(--gold);
  color: #fff;
  font-size: .7rem;
  font-weight: 900;
  letter-spacing: .1em;
  padding: 4px 12px;
  border-radius: 999px;
  text-transform: uppercase;
}
.booking-placeholder h2 { font-size: 1.6rem; margin-bottom: 10px; }
.booking-placeholder p { color: var(--muted); }

/* --- 19. DISCLAIMER / NOTICE PAGES ------------------------ */
.legal-page { max-width: 760px; margin: 0 auto; }
.legal-page h2 { font-size: 1.5rem; margin-top: 36px; margin-bottom: 12px; color: var(--green); }
.legal-page p, .legal-page li { color: var(--muted); line-height: 1.82; margin-bottom: 12px; font-size: .97rem; }
.legal-page ul { padding-left: 20px; }
.legal-highlight {
  background: var(--green-light);
  border: 1px solid var(--sage2);
  border-radius: var(--r-sm);
  padding: 20px 24px;
  margin: 24px 0;
}
.legal-highlight p { margin-bottom: 4px; color: var(--ink); }

/* --- 20. KOREAN LANDING PAGE ------------------------------ */
.korean-hero {
  background: linear-gradient(135deg, var(--cream), var(--cream2));
  padding: 80px 0;
  text-align: center;
  border-bottom: 1px solid var(--line);
}
.korean-hero h1 {
  font-family: 'Noto Sans KR', Outfit, sans-serif;
  font-size: clamp(2.2rem, 5vw, 4rem);
  font-weight: 700;
  color: var(--green);
  line-height: 1.3;
  margin-bottom: 16px;
}
.korean-hero .sub { color: var(--muted); font-size: 1.1rem; margin-bottom: 8px; }
.korean-hero .locations-pill {
  display: inline-block;
  background: var(--green);
  color: #fff;
  border-radius: 999px;
  padding: 6px 20px;
  font-size: .88rem;
  font-weight: 700;
  letter-spacing: .04em;
  margin-top: 12px;
}
.kakao-cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #FEE500;
  color: #3A1D1D;
  border-radius: 8px;
  padding: 14px 28px;
  font-weight: 800;
  font-size: 1rem;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(254,229,0,.4);
  transition: all .25s ease;
}
.kakao-cta:hover { transform: translateY(-2px); box-shadow: 0 10px 28px rgba(254,229,0,.5); }
.kakao-icon { width: 24px; height: 24px; }
.korean-disclaimer {
  font-size: .82rem;
  color: var(--muted);
  text-align: center;
  margin-top: 40px;
  padding: 16px 20px;
  background: var(--cream);
  border-radius: var(--r-sm);
  border: 1px solid var(--line);
  font-family: 'Noto Sans KR', sans-serif;
}

/* --- 21. BLOG --------------------------------------------- */
.article-list { display: grid; gap: 20px; }
.article-row {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  padding: 26px 30px;
  transition: transform .2s ease, box-shadow .2s ease;
}
.article-row:hover { transform: translateY(-3px); box-shadow: var(--shadow-med); }
.article-row h3 { margin-bottom: 8px; font-size: 1.3rem; }
.article-row p { color: var(--muted); font-size: .95rem; }

/* --- 22. FOOTER ------------------------------------------- */
footer {
  background: #0a2e28;
  color: #fff;
  padding: 52px 0 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 40px;
}
footer h3 {
  font-size: 1rem;
  color: #fff;
  margin-bottom: 14px;
  font-family: 'Playfair Display', serif;
}
footer a, footer p { color: rgba(255,255,255,.68); text-decoration: none; font-size: .9rem; line-height: 1.8; }
footer a:hover { color: rgba(255,255,255,.95); }
.footer-divider { border: 0; border-top: 1px solid rgba(181,131,47,.3); margin: 0; }
.footer-bottom {
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.footer-bottom p, .footer-bottom a { font-size: .8rem; color: rgba(255,255,255,.45); }
.footer-bottom a:hover { color: rgba(255,255,255,.7); }
.footer-social { display: flex; gap: 12px; }
.footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: .8rem;
  color: rgba(255,255,255,.65) !important;
  transition: all .2s ease;
  text-decoration: none;
}
.footer-social a:hover { background: rgba(255,255,255,.15); color: #fff !important; }
.legal {
  font-size: .76rem;
  color: rgba(255,255,255,.38);
  line-height: 1.7;
  padding: 14px 0;
  border-top: 1px solid rgba(255,255,255,.08);
}
.footer-location-secondary { margin-top: 10px; }
.footer-license { margin-top: 10px; }
.footer-legal-links {
  display: block;
  font-size: .84rem;
  line-height: 1.75;
  color: rgba(255,255,255,.72);
}
.footer-legal-links a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* --- 22A. NOTICE OF PRIVACY PRACTICES --------------------- */
.npp-hero { padding-bottom: 58px; }
.npp-section { padding-top: 64px; }
.npp-document { max-width: 860px; }
.npp-document h2 {
  border-bottom: 1px solid rgba(38, 92, 78, .22);
  padding-bottom: 8px;
}
.npp-document h3 {
  color: var(--green);
  font-family: 'Outfit', sans-serif;
  font-size: 1.04rem;
  margin: 22px 0 6px;
}
.npp-document address {
  color: var(--muted);
  font-style: normal;
  line-height: 1.82;
}
.npp-required-notice {
  background: #eef5f1;
  border: 2px solid var(--green);
  border-radius: var(--r-md);
  color: var(--green);
  font-size: 1rem;
  line-height: 1.65;
  margin-bottom: 34px;
  padding: 22px 24px;
  text-align: center;
  text-transform: uppercase;
}
.npp-contact {
  background: #f7f9f7;
  border-left: 4px solid var(--gold);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 20px 22px;
}
.npp-print-note { margin-top: 28px; }
.npp-print-button {
  background: var(--green);
  border: 0;
  border-radius: 999px;
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-weight: 700;
  padding: 12px 20px;
}
.npp-print-button:hover,
.npp-print-button:focus-visible { background: var(--green-dark); }

@media print {
  .topbar,
  nav,
  footer,
  .mobile-action-bar,
  .npp-print-note,
  .breadcrumb { display: none !important; }
  .page-hero,
  .npp-section { padding: 0; }
  .page-hero { background: #fff; color: #000; }
  .page-hero h1,
  .page-hero p,
  .legal-page h2,
  .npp-document h3 { color: #000; }
  .npp-document { max-width: none; }
  .npp-required-notice,
  .npp-contact {
    background: #fff;
    border-color: #000;
    color: #000;
  }
  a { color: #000; text-decoration: none; }
}

/* --- 23. BACK TO TOP -------------------------------------- */
.back-to-top {
  position: fixed;
  bottom: 32px; right: 32px;
  width: 44px; height: 44px;
  background: var(--green);
  color: #fff;
  border: none;
  border-radius: 999px;
  font-size: 1.2rem;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(7,63,53,.3);
  opacity: 0;
  transform: translateY(12px);
  transition: all .3s ease;
  z-index: 50;
  display: grid;
  place-items: center;
}
.back-to-top.visible { opacity: 1; transform: translateY(0); }
.back-to-top:hover { background: var(--green2); transform: translateY(-2px); }

/* --- 24. FAQ (service pages) ------------------------------ */
.faq { margin-top: 24px; }
.faq details {
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  margin-bottom: 10px;
  overflow: hidden;
}
.faq summary {
  padding: 16px 20px;
  font-weight: 700;
  color: var(--green);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; font-size: 1.4rem; color: var(--gold); }
.faq details[open] summary::after { content: '−'; }
.faq details[open] { background: var(--green-light); }
.faq details p { padding: 0 20px 16px; color: var(--muted); line-height: 1.75; }

/* --- 25. RESPONSIVE --------------------------------------- */
@media (max-width: 1000px) {
  .hero-grid, .layout, .grid-2, .footer-grid, .locations, .about-grid {
    grid-template-columns: 1fr;
  }
  .grid-5, .grid-3, .blog-grid { grid-template-columns: 1fr 1fr; }
  .grid-programs { grid-template-columns: 1fr 1fr; }
  .sidebox { position: static; }
  .trust-bar { grid-template-columns: 1fr 1fr; }
  .trust-pill { border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-pill:last-child { border-bottom: 0; }
  .trust-pill:nth-child(odd) { border-right: 1px solid var(--line); }
  .hero { min-height: auto; padding-top: 52px; }
  .hero-visual { min-height: auto; }
  .hero-visual img { height: auto; max-height: 560px; }
  .credential-card { left: 18px; right: 18px; bottom: 18px; width: auto; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .about-photo { max-width: 380px; }
}

@media (max-width: 720px) {
  .topbar .container { flex-direction: column; text-align: center; gap: 4px; font-size: .82rem; }
  .nav-inner { height: 74px; }
  .nav-links {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 74px;
    background: var(--white);
    padding: 20px 24px;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    gap: 6px;
    box-shadow: 0 12px 32px rgba(7,63,53,.12);
  }
  .nav-links.open { display: flex; }
  .nav-links a::after { display: none; }
  .mobile-toggle { display: block; }
  .brand-row img { width: 46px; height: 46px; }
  .brand-text strong { font-size: 1.1rem; }
  .grid-5, .grid-3, .blog-grid, .grid-programs { grid-template-columns: 1fr; }
  section { padding: 48px 0; }
  .page-hero { padding: 32px 0; }
  .prose { padding: 26px 22px; }
  .hero { padding: 48px 0 36px; }
  .hero h1 { font-size: clamp(2.4rem, 11vw, 3.8rem); }
  .hero p.lead { font-size: clamp(1.25rem, 6vw, 1.9rem); }
  .hero-visual img { border-radius: 14px; }
  .credential-card {
    position: relative;
    left: auto; right: auto; bottom: auto;
    width: 62%;
    justify-self: stretch;
    background: transparent;
    border: 0;
    box-shadow: none;
    margin: -32px 12px 0;
    padding: 18px 20px;
    border-radius: 10px;
  }
  .credential-card h3 { font-size: 1.45rem; }
  .trust-bar { grid-template-columns: 1fr; margin-top: 24px; }
  .trust-pill { border-right: 0 !important; padding: 20px; }
  .trust-pill:nth-child(odd) { border-right: 0 !important; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .back-to-top { bottom: 20px; right: 20px; width: 40px; height: 40px; }
  .footer-grid { grid-template-columns: 1fr; }
  .locations { grid-template-columns: 1fr; }
  .booking-placeholder { padding: 26px 22px; }
  .booking-placeholder .coming-soon { position: static; display: inline-block; margin-bottom: 14px; }
}

/* --- 26. BLOG ARTICLE ENHANCED STYLES -------------------- */
.blog-article h2 {
  font-size: clamp(1.4rem, 2.5vw, 1.9rem);
  margin-top: 40px;
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 2px solid var(--line);
}
.blog-article h3 {
  font-size: 1.15rem;
  margin-top: 28px;
  margin-bottom: 10px;
  color: var(--green2);
}
.blog-article p { color: #2e3d38; line-height: 1.85; margin-bottom: 18px; font-size: 1.02rem; }
.blog-article ul, .blog-article ol {
  padding-left: 22px;
  margin-bottom: 20px;
  color: #2e3d38;
}
.blog-article ul li, .blog-article ol li {
  margin-bottom: 8px;
  line-height: 1.78;
  font-size: 1.02rem;
}
.blog-article .lead-para {
  font-size: 1.15rem;
  color: var(--green);
  font-weight: 500;
  line-height: 1.78;
  border-left: 4px solid var(--gold);
  padding-left: 20px;
  margin-bottom: 28px;
}
/* In-article image */
.article-img {
  width: 100%;
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 32px 0;
  box-shadow: var(--shadow-med);
  background: var(--cream);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.article-img-inner {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--cream), var(--green-light));
  padding: 40px 24px;
  min-height: 200px;
}
.article-img-icon { font-size: 4.5rem; }
.article-img-caption {
  width: 100%;
  background: rgba(7,63,53,.04);
  padding: 12px 20px;
  font-size: .84rem;
  color: var(--muted);
  font-style: italic;
  text-align: center;
  border-top: 1px solid var(--line);
}
/* Key takeaway box */
.key-takeaway {
  background: var(--green-light);
  border: 1px solid var(--sage2);
  border-radius: var(--r-md);
  padding: 22px 26px;
  margin: 28px 0;
}
.key-takeaway strong {
  display: block;
  color: var(--green);
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.key-takeaway ul { margin-bottom: 0; padding-left: 18px; }
.key-takeaway ul li { color: var(--ink); font-size: .97rem; }
/* Pull quote */
.pull-quote {
  font-family: 'Playfair Display', serif;
  font-size: clamp(1.2rem, 2.5vw, 1.55rem);
  color: var(--green);
  line-height: 1.4;
  font-style: italic;
  text-align: center;
  padding: 28px 32px;
  margin: 32px 0;
  border-top: 2px solid var(--gold);
  border-bottom: 2px solid var(--gold);
}
/* Reading time badge */
.read-time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .8rem;
  color: var(--muted);
  background: var(--cream);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 12px;
  margin-bottom: 22px;
}


/* --- EDDM / APPOINTMENT TRACKING ENHANCEMENTS ------------ */
.booking-actions-card { overflow: hidden; }
.booking-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 22px; }
.booking-actions .btn { min-width: 130px; justify-content: center; }
.small-note { font-size: .9rem; margin-top: 14px; color: var(--muted); }
.appointment-form-card {
  background: rgba(255,255,255,.74);
  border: 1px solid var(--line);
  border-radius: var(--r-lg);
  padding: 24px 38px 34px;
  box-shadow: var(--shadow-soft);
  margin-bottom: 38px;
}
.eyebrow.compact { margin-bottom: 8px; font-size: .72rem; color: var(--gold-dark); }
.form-intro { color: var(--muted); margin-bottom: 22px; }
.appointment-form { display: grid; gap: 16px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.appointment-form label { display: grid; gap: 7px; color: var(--ink); font-weight: 700; font-size: .92rem; }
.appointment-form input,
.appointment-form select,
.appointment-form textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 16px;
  padding: 13px 15px; background: #fff; color: var(--ink);
  font: inherit; outline: none; transition: border-color .2s ease, box-shadow .2s ease;
}
.appointment-form input:focus,
.appointment-form select:focus,
.appointment-form textarea:focus { border-color: var(--green); box-shadow: 0 0 0 4px rgba(7,63,53,.08); }
.appointment-form textarea { resize: vertical; min-height: 120px; }
.form-privacy { color: var(--muted); font-size: .85rem; line-height: 1.6; }
.honeypot { position:absolute !important; left:-9999px !important; opacity:0 !important; }
.eddm-strip {
  background: linear-gradient(135deg, var(--green), var(--green2));
  color: #fff; border-radius: var(--r-lg); padding: 28px 34px;
  margin: 26px 0 36px; display: flex; align-items: center; justify-content: space-between; gap: 20px;
  box-shadow: var(--shadow-med);
}
.eddm-strip h2 { color: #fff; margin-bottom: 6px; font-size: clamp(1.4rem, 2.5vw, 2rem); }
.eddm-strip p { color: rgba(255,255,255,.82); margin: 0; }
.eddm-strip .btn { background: #fff; color: var(--green); border-color: #fff; }
.eddm-programs { margin-top: 28px; }
.tracking-note {
  background: var(--cream2); border-left: 4px solid var(--gold); padding: 18px 20px;
  border-radius: 0 16px 16px 0; color: var(--muted); font-size: .95rem;
}
@media (max-width: 760px) {
  .booking-actions .btn { width: 100%; }
  .appointment-form-card { padding: 26px 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .eddm-strip { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
  .eddm-strip .btn { width: 100%; justify-content: center; }
}

/* ============================================================
   Jacob AcuBalance v28 — Premium Recovery Brand Upgrade
   ============================================================ */
.skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.skip-link:focus{left:18px;top:18px;width:auto;height:auto;background:#fff;color:var(--green);padding:10px 14px;border-radius:8px;z-index:9999;box-shadow:var(--shadow-med)}
.hero-premium{background:linear-gradient(115deg,#fffaf0 0%,#f7f0e2 54%,#ebe4d5 100%);padding-top:56px}.hero-premium:after{content:'';position:absolute;right:-8%;top:10%;width:42vw;height:42vw;background:radial-gradient(circle,rgba(139,30,45,.08),transparent 64%);pointer-events:none}.hero-premium .hero-grid{align-items:center;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:64px}.hero-premium h1{font-size:clamp(3.1rem,5.0vw,4.6rem);line-height:.98;letter-spacing:-.055em;margin-bottom:28px;color:var(--burgundy)}.philosophy-lead{color:#0f7d7a!important;font-size:clamp(1.75rem,3.2vw,3.25rem)!important;font-weight:700;letter-spacing:-.025em;margin:0 0 24px!important}.philosophy-lead span{display:inline-block}.micro-cta{margin-top:18px;color:var(--muted);font-size:.95rem}.micro-cta a{color:var(--burgundy);font-weight:800;text-decoration:none;border-bottom:1px solid rgba(139,30,45,.25)}.hero-frame{min-height:unset}.image-shell{position:relative;background:#fff;border:1px solid rgba(230,220,203,.95);border-radius:32px;padding:16px;box-shadow:0 34px 90px rgba(7,63,53,.17);overflow:hidden}.image-shell:before{content:'';position:absolute;inset:0;background:linear-gradient(145deg,rgba(181,131,47,.18),transparent 32%,rgba(7,63,53,.08));pointer-events:none;z-index:2;border-radius:32px}.hero-frame .image-shell img{width:100%;height:min(68vh,660px);min-height:520px;object-fit:cover;object-position:center 10%;border-radius:22px;box-shadow:none;filter:saturate(.98) contrast(1.02)}.hero-frame .premium-card{position:absolute;left:32px;right:32px;bottom:28px;margin:0;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border:1px solid rgba(230,220,203,.95);border-left:4px solid var(--burgundy);box-shadow:0 18px 44px rgba(7,63,53,.18)}.trust-bar-premium{grid-template-columns:repeat(4,1fr);margin-top:54px;border-radius:24px}.trust-bar-premium .trust-pill{padding:26px 24px}.trust-bar-premium .trust-icon{background:var(--gold-light);color:var(--burgundy)}
.story-section{background:#fffdf8}.split-story{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start}.story-kicker h2,.split-story h2{font-size:clamp(2rem,3.5vw,3.35rem);letter-spacing:-.025em}.story-copy p,.split-story p{color:var(--muted);font-size:1.09rem;line-height:1.86;margin-bottom:18px}.recovery-factors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:54px}.recovery-factors article{padding:28px;background:linear-gradient(180deg,#fff,#fff8ec);border:1px solid var(--line);border-radius:28px;box-shadow:var(--shadow-soft)}.recovery-factors span{display:block;color:var(--green);font-weight:900;letter-spacing:.16em;font-size:.74rem;margin-bottom:18px}.recovery-factors h3{font-size:1.45rem}.recovery-factors p{color:var(--muted);font-size:.96rem;line-height:1.72}.balance-map{position:relative;overflow:hidden}.flow-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:16px;margin-top:38px}.flow-step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px 22px;box-shadow:var(--shadow-soft);min-height:142px}.flow-step strong{display:block;font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.35rem;margin-bottom:8px}.flow-step span{display:block;color:var(--muted);font-size:.93rem;line-height:1.5}.flow-arrow{font-size:2rem;color:var(--gold);font-weight:300}.center-note{margin:34px auto 0;text-align:center;color:var(--burgundy);font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.55rem,2.4vw,2.35rem);font-style:italic}.program-showcase{background:#fffdf8}.program-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:22px}.program-card{grid-column:span 2;display:flex;flex-direction:column;min-height:360px;padding:30px;border-radius:32px;text-decoration:none;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow-soft);position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.program-card:nth-child(4){grid-column:2/span 2}.program-card:nth-child(5){grid-column:4/span 2}.program-card:before{content:'';position:absolute;inset:auto 0 0;height:5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.3s}.program-card:hover{transform:translateY(-7px);box-shadow:var(--shadow-med);border-color:#ddcaa9}.program-card:hover:before{transform:scaleX(1)}.program-card small{color:var(--green);text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:.72rem;margin:8px 0 14px}.program-card h3{font-size:1.62rem;line-height:1.1}.program-card p{color:var(--muted);line-height:1.72}.program-card em{margin-top:auto;color:var(--green);font-style:normal;font-weight:900;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.program-icon{width:60px;height:60px;border-radius:18px;display:grid;place-items:center;background:var(--gold-light);border:1px solid #eadbc1;font-size:1.8rem}/* Program cards share one white surface; the gold hover bar is the only color cue. */.approach-section .approach-list{display:grid;gap:16px}.approach-list div{background:rgba(255,255,255,.78);border:1px solid rgba(230,220,203,.8);border-radius:22px;padding:22px 24px;box-shadow:var(--shadow-soft)}.approach-list span{display:inline-flex;width:34px;height:34px;border-radius:999px;align-items:center;justify-content:center;background:var(--green);color:#fff;font-size:.78rem;font-weight:900;margin-right:12px}.approach-list strong{color:var(--green);font-weight:900}.approach-list p{margin:10px 0 0 46px;font-size:.98rem}.about-premium{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:center}.about-premium .about-photo{border-radius:32px;box-shadow:var(--shadow-str);max-height:560px}.about-premium .about-photo img{height:560px;object-fit:cover;object-position:center 10%}.about-copy h2{font-size:clamp(2rem,3.5vw,3.35rem)}.about-copy p{color:var(--muted);font-size:1.08rem;line-height:1.86;margin-bottom:16px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;position:relative}.timeline div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow-soft)}.timeline span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:var(--burgundy);color:#fff;font-weight:900;margin-bottom:15px}.timeline strong{display:block;color:var(--green);font-size:1.05rem;margin-bottom:8px}.timeline p{color:var(--muted);font-size:.92rem;line-height:1.6}.library-categories{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:-18px 0 34px}.library-categories a{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 16px;text-decoration:none;color:var(--green);font-weight:800;font-size:.88rem;box-shadow:var(--shadow-soft)}.library-categories a:hover{border-color:var(--gold);color:var(--burgundy)}.featured-blog .card{min-height:260px}.location-cards{display:grid;grid-template-columns:1fr;gap:18px}.location-cards .loc{max-width:580px}.premium-cta{background:radial-gradient(circle at 15% 20%,rgba(181,131,47,.25),transparent 30%),linear-gradient(115deg,var(--green),#072e29 55%,var(--navy));}.premium-cta .eyebrow{color:#e6c37d}.premium-cta .btn.primary{background:var(--gold);color:var(--green)!important;box-shadow:0 10px 28px rgba(0,0,0,.28)}.premium-cta .btn.primary:hover{filter:brightness(1.08);transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.32)}.hero-actions .btn.secondary{background:#F3EAD5;color:#0B4035!important;border-color:#D8C59C}.hero-actions .btn.secondary .nav-star{color:#95702D;margin-left:.3em}.hero-actions .btn.secondary:hover{background:#EBDDBE;border-color:#D8C59C;transform:translateY(-2px);box-shadow:var(--shadow-soft)}.cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.light-btn{background:rgba(255,255,255,.12)!important;color:#fff!important;border-color:rgba(255,255,255,.26)!important}.light-btn:hover{background:rgba(255,255,255,.2)!important;border-color:rgba(255,255,255,.45)!important}.footer-quote{font-family:'Playfair Display',Georgia,serif;color:#f5d98a!important;font-size:1.4rem!important;line-height:1.25!important;margin-bottom:16px}.reveal-up{animation:revealUp .7s ease both}.reveal-up:nth-child(2){animation-delay:.12s}@keyframes revealUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* Recovery Library upgrade */
.library-hero{background:linear-gradient(120deg,#fffaf0,#f1eadb);position:relative;overflow:hidden}.library-hero:after{content:'';position:absolute;right:-10%;top:-20%;width:46vw;height:46vw;background:radial-gradient(circle,rgba(139,30,45,.08),transparent 62%)}.library-layout{display:grid;grid-template-columns:280px 1fr;gap:32px}.library-sidebar{position:sticky;top:108px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;box-shadow:var(--shadow-soft)}.library-sidebar h3{font-size:1.2rem}.library-sidebar a{display:block;text-decoration:none;color:var(--green);font-weight:800;padding:10px 0;border-bottom:1px solid var(--line)}.library-sidebar a:last-child{border-bottom:0}.article-list.premium-list{display:grid;gap:18px}.premium-list .article-row{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft);transition:.22s}.premium-list .article-row:hover{transform:translateY(-4px);box-shadow:var(--shadow-med)}.premium-list h3 a{text-decoration:none;color:var(--green)}.premium-list h3 a:hover{color:var(--burgundy)}.article-row p{color:var(--muted)}

@media (max-width: 1020px){.hero-premium .hero-grid,.split-story,.about-premium{grid-template-columns:1fr;gap:36px}.hero-premium .hero-grid{grid-template-columns:1fr}.hero-frame .image-shell img{height:560px}.trust-bar-premium{grid-template-columns:repeat(2,1fr)}.recovery-factors{grid-template-columns:repeat(2,1fr)}.flow-map{grid-template-columns:1fr}.flow-arrow{transform:rotate(90deg);text-align:center}.program-cards{grid-template-columns:1fr 1fr}.program-card,.program-card:nth-child(4),.program-card:nth-child(5){grid-column:auto}.timeline{grid-template-columns:1fr 1fr}.library-layout{grid-template-columns:1fr}.library-sidebar{position:static}.location-cards{grid-template-columns:1fr}}
@media (max-width: 720px){.container{width:min(100% - 28px,1120px)}.topbar .container{flex-direction:column;gap:4px;text-align:center}.hero-premium{padding:54px 0 38px;min-height:auto}.hero-premium h1{font-size:clamp(2.6rem,15vw,4.5rem)}.philosophy-lead{font-size:clamp(1.55rem,8vw,2.2rem)!important}.hero-frame .image-shell{padding:10px;border-radius:24px}.hero-frame .image-shell img{height:380px;min-height:320px;border-radius:18px}.hero-frame .premium-card{position:relative;left:auto;right:auto;bottom:auto;margin:12px 0 0}.trust-bar-premium,.recovery-factors,.program-cards,.timeline,.blog-grid,.location-cards{grid-template-columns:1fr}.trust-pill{border-right:0!important;border-bottom:1px solid var(--line)}.trust-pill:last-child{border-bottom:0}.program-card{min-height:auto}.program-card:nth-child(4),.program-card:nth-child(5){grid-column:auto}.about-premium .about-photo img{height:460px}.cta-actions{flex-direction:column}.cta-actions .btn{width:100%}.flow-step{min-height:auto}.section-head{text-align:left}.section-head h2{margin-left:0;margin-right:0}.library-categories{justify-content:flex-start}}

/* Pain signal education article */
.pain-signal-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 88% 36%,rgba(57,140,255,.28),transparent 22%),linear-gradient(118deg,#17385e 0%,#1b416d 64%,#0b2c4e 100%);color:#fff;padding:82px 0 76px;border-top:8px solid #2e67e8}
.pain-signal-hero:after{content:'';position:absolute;width:420px;height:420px;right:-95px;top:-90px;border:1px solid rgba(132,191,255,.22);border-radius:50%;box-shadow:0 0 0 38px rgba(132,191,255,.06),0 0 0 78px rgba(132,191,255,.04),0 0 0 120px rgba(132,191,255,.025)}
.pain-signal-hero .container{position:relative;z-index:1}.pain-signal-hero h1{max-width:850px;color:#fff;font-size:clamp(2.65rem,5.4vw,5.15rem);line-height:1.02;letter-spacing:-.04em}.pain-signal-hero p{max-width:720px;color:#a9d2ff;font-size:1.22rem}.pain-signal-hero .breadcrumb,.pain-signal-hero .breadcrumb a{color:rgba(255,255,255,.72)}
.pain-story{background:linear-gradient(180deg,#f7f9fc 0,#fff 520px)}.pain-story .blog-article{max-width:780px}.pain-story .read-time{display:flex;gap:10px;align-items:center;color:#5d7083;font-weight:700;font-size:.83rem;letter-spacing:.02em}
.mini-label{display:block;color:#2d64df;text-transform:uppercase;letter-spacing:.15em;font-size:.72rem;font-weight:900;margin-bottom:8px}
.signal-principle{display:grid;grid-template-columns:140px 1fr;gap:28px;align-items:center;margin:34px 0 46px;padding:30px;border-radius:26px;border:1px solid #c9dcff;background:#fff;box-shadow:0 18px 50px rgba(31,68,113,.09)}
.signal-principle h2{margin:0 0 8px;font-size:1.7rem}.signal-principle p{margin:0}.signal-rings{width:118px;height:118px;position:relative;display:grid;place-items:center}.signal-rings i{position:absolute;border:2px solid #2e67e8;border-radius:50%;inset:8px}.signal-rings i:nth-child(2){inset:25px;opacity:.72}.signal-rings i:nth-child(3){inset:42px;opacity:.48}.signal-rings span{width:20px;height:20px;border-radius:50%;background:#099b73;box-shadow:0 0 0 10px rgba(9,155,115,.12)}
.signal-compare{display:grid;grid-template-columns:1fr 46px 1fr;align-items:stretch;margin:30px 0 12px}.signal-panel{overflow:hidden;border-radius:24px;background:#fff;border:1px solid #dde5ee;box-shadow:0 12px 34px rgba(22,52,86,.08)}.signal-panel header{display:flex;align-items:center;gap:14px;padding:20px 22px;color:#fff}.signal-panel header>span{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:.82rem;font-weight:900}.signal-panel small{display:block;text-transform:uppercase;letter-spacing:.16em;font-weight:800;opacity:.76}.signal-panel h3{color:#fff;margin:2px 0 0;font-size:1.18rem}.before-panel header{background:#df3f48}.after-panel header{background:#079a72}.signal-panel ul{list-style:none;padding:18px 20px 20px;margin:0}.signal-panel li{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 0;border-bottom:1px solid #edf0f4;color:#26394e}.signal-panel li:last-child{border-bottom:0}.signal-panel li span:before{content:'';display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:10px;background:#9da9b6}.signal-panel b{font-size:.67rem;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:5px 8px;white-space:nowrap;background:#edf0f3;color:#657180}.signal-panel .signal-loud span:before{background:#ef3d45}.signal-panel .signal-loud b{background:#fde7e7;color:#bb2530}.signal-panel .signal-better span:before{background:#079a72}.signal-panel .signal-better b{background:#d9f5eb;color:#057454}.signal-panel .signal-new span:before{background:#f4a10d}.signal-panel .signal-new b{background:#fff0cc;color:#9e6500}.signal-arrow{display:grid;place-items:center;color:#2e67e8;font-size:2rem}.figure-note{color:#72808c!important;font-size:.82rem!important;text-align:center;margin-bottom:36px!important}
.signal-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0 38px}.signal-steps>div{padding:22px;border:1px solid #dce5ef;border-radius:22px;background:#fff}.signal-steps span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#2e67e8;color:#fff;font-weight:900;margin-bottom:16px}.signal-steps>div:nth-child(2) span{background:#079a72}.signal-steps>div:nth-child(3) span{background:#e99200}.signal-steps h3{font-size:1.12rem;margin-bottom:8px}.signal-steps p{font-size:.91rem;margin:0;line-height:1.65}
.action-list{counter-reset:none}.action-list li{margin-bottom:14px;padding-left:4px}.safety-card{margin:38px 0;padding:30px;border-radius:26px;background:linear-gradient(145deg,#fff9ec,#fff);border:1px solid #efcc81;border-left:6px solid #e99a08}.safety-card h2{margin:0 0 12px}.safety-card p{margin:0}.article-sources{margin-top:34px;padding-top:24px;border-top:1px solid #dce3e8}.article-sources h3{font-size:1.12rem;margin-bottom:12px}.article-sources p{font-size:.88rem;margin-bottom:8px}.article-sources a{color:#1f5ec8}.pain-sidebox .btn.secondary{border-color:#bfd2ee;background:#f5f9ff;color:#154f9e}.pain-sidebox{top:126px}
@media (max-width:900px){.signal-compare{grid-template-columns:1fr}.signal-arrow{transform:rotate(90deg);height:46px}.signal-steps{grid-template-columns:1fr}.pain-signal-hero:after{opacity:.45}}
@media (max-width:620px){.pain-signal-hero{padding:60px 0 54px}.pain-signal-hero h1{font-size:clamp(2.55rem,13vw,3.65rem)}.signal-principle{grid-template-columns:1fr;padding:24px}.signal-rings{width:92px;height:92px}.signal-panel li{align-items:flex-start;flex-direction:column;gap:6px}.signal-panel b{margin-left:20px}.safety-card{padding:24px}.pain-story .read-time{align-items:flex-start;flex-direction:column;gap:3px}.pain-story .read-time span{display:none}}


/* v29 — Messaging compliance, privacy, accessibility */
.sms-consent-box{border:1px solid rgba(7,63,53,.22);background:#f6faf7;border-radius:18px;padding:18px 20px;margin:2px 0 4px}.sms-consent-box legend{font-weight:800;color:var(--green);padding:0 8px}.sms-consent-box .consent-check{display:grid;grid-template-columns:22px 1fr;gap:11px;align-items:start;font-weight:500;line-height:1.55}.sms-consent-box input[type="checkbox"]{width:20px;height:20px;margin-top:2px;accent-color:var(--green)}.sms-consent-box p{margin:10px 0 0 33px;color:var(--muted);font-size:.8rem;line-height:1.55}.sms-consent-box a,.footer-legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}.footer-legal-links{font-size:.84rem;line-height:1.75;color:rgba(255,255,255,.72)}
@media(max-width:720px){.sms-consent-box p{margin-left:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* --- Header consistency refinement (2026-07) -------------- */
.brand-text { min-width: max-content; }
.brand-text span { display: block; white-space: nowrap; }
.nav-links { white-space: nowrap; }
.nav-links a { white-space: nowrap; }
@media (max-width: 1080px) {
  .nav-links { gap: 18px; }
  .nav-links a { font-size: .86rem; }
  .nav-cta { min-width: 104px; padding: 8px 14px; }
  .brand-text strong { font-size: 1.3rem; }
}
@media (max-width: 920px) {
  .nav-inner { height: 74px; }
  .nav-links {
    display: none;
    position: absolute;
    left: 0; right: 0; top: 74px;
    background: var(--white);
    padding: 20px 24px;
    flex-direction: column;
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    gap: 6px;
    box-shadow: 0 12px 32px rgba(7,63,53,.12);
    white-space: normal;
  }
  .nav-links.open { display: flex; }
  .nav-links a { white-space: normal; }
  .nav-links a::after { display: none; }
  .mobile-toggle { display: block; }
}


/* 2026-07 profile composition refinement
   Keeps the practitioner portrait visually clean and places credentials in a
   dedicated panel beneath the image on every screen size. */
.hero-frame {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 14px;
  overflow: hidden;
  border: 1px solid rgba(230, 220, 203, .95);
  border-radius: 32px;
  background: rgba(255, 253, 248, .96);
  box-shadow: 0 34px 90px rgba(7, 63, 53, .17);
}
.hero-frame .image-shell {
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 22px 22px 12px 12px;
  background: #f2ede3;
  box-shadow: none;
}
.hero-frame .image-shell::before {
  border-radius: 22px 22px 12px 12px;
}
.hero-frame .image-shell img {
  min-height: 500px;
  border-radius: 22px 22px 12px 12px;
}
.hero-frame .premium-card {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  width: auto;
  margin: 0;
  padding: 24px 28px 25px;
  border: 0;
  border-top: 3px solid var(--burgundy);
  border-left: 0;
  border-radius: 0 0 18px 18px;
  background: #fffdf8;
  box-shadow: none;
  backdrop-filter: none;
}
.hero-frame .premium-card h3 {
  margin: 0 0 7px;
  font-size: clamp(1.55rem, 2vw, 1.95rem);
  line-height: 1.15;
}
.hero-frame .premium-card p {
  margin: 3px 0;
  line-height: 1.45;
}

/* Keep header and hero proportions balanced at laptop widths. */
@media (min-width: 1021px) and (max-width: 1280px) {
  .hero-premium .hero-grid { gap: 44px; grid-template-columns: minmax(0, .98fr) minmax(390px, 1.02fr); }
  .hero-premium h1 { font-size: clamp(3.1rem, 5.0vw, 4.2rem); }
  .philosophy-lead { font-size: clamp(1.7rem, 2.8vw, 2.65rem)!important; }
}

@media (max-width: 720px) {
  .hero-frame { padding: 10px; border-radius: 24px; }
  .hero-frame .image-shell,
  .hero-frame .image-shell::before,
  .hero-frame .image-shell img { border-radius: 18px 18px 10px 10px; }
  .hero-frame .premium-card { margin: 0; padding: 21px 20px 22px; border-radius: 0 0 15px 15px; }
}

/* 2026-07-10 hero top-spacing correction
   The visible gap was created by both the hero section padding and the
   nested hero-copy padding. Override both so the first content starts
   noticeably closer to the header on desktop. */
@media (min-width: 1021px) {
  .hero.hero-premium {
    padding-top: 28px;
  }
  .hero-premium .hero-copy {
    padding-top: 0;
  }
}

/* First Visit Experience — consolidated treatment process */
.first-visit-section{position:relative;overflow:hidden}
.first-visit-section:before{content:'';position:absolute;inset:-18% auto auto -12%;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(184,138,58,.12),transparent 68%);pointer-events:none}
.first-visit-head{position:relative;z-index:1;max-width:900px}
.first-visit-head h2{max-width:840px}
.first-visit-steps{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.first-visit-steps:before{content:'';position:absolute;left:8%;right:8%;top:37px;height:1px;background:linear-gradient(90deg,transparent,rgba(184,138,58,.5) 10%,rgba(184,138,58,.5) 90%,transparent);z-index:-1}
.first-visit-card{background:rgba(255,255,255,.9);border:1px solid rgba(230,220,203,.92);border-radius:28px;padding:28px 26px 30px;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;min-height:310px}
.first-visit-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-med);border-color:#dcc69d}
.step-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.step-number{color:var(--soft-gold);font-size:.78rem;font-weight:900;letter-spacing:.17em}
.step-icon{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#fff8e9,#efe2c7);border:1px solid #ead8b7;color:var(--green);font-size:1.22rem;font-weight:800}
.first-visit-card h3{font-size:1.52rem;margin-bottom:12px;color:var(--green)}
.first-visit-card p{color:var(--muted);font-size:.97rem;line-height:1.72;margin:0}
.first-visit-note{position:relative;z-index:1;margin-top:28px;padding:25px 28px;border-radius:24px;background:linear-gradient(115deg,rgba(255,255,255,.86),rgba(255,249,236,.9));border:1px solid rgba(221,202,169,.9);display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow-soft)}
.first-visit-note p{margin:0;max-width:690px;color:var(--muted);line-height:1.72}
.first-visit-note strong{color:var(--green)}
.first-visit-actions{display:flex;flex-direction:column;align-items:flex-start;gap:11px;flex:0 0 auto}
.first-visit-actions .btn{white-space:nowrap}
.text-link{color:var(--green);font-weight:800;text-decoration:none;font-size:.92rem}
.text-link:hover{color:var(--burgundy);text-decoration:underline}

@media (max-width:1020px){
  .first-visit-steps{grid-template-columns:repeat(2,1fr)}
  .first-visit-steps:before{display:none}
  .first-visit-card{min-height:270px}
  .first-visit-note{align-items:flex-start;flex-direction:column}
}
@media (max-width:720px){
  .first-visit-steps{grid-template-columns:1fr}
  .first-visit-card{min-height:auto;padding:24px}
  .step-top{margin-bottom:20px}
  .first-visit-note{padding:22px}
  .first-visit-actions,.first-visit-actions .btn{width:100%}
  .first-visit-actions .btn{text-align:center}
}


/* JAB Studio-powered patient reviews */
.patient-experiences{background:#f6f2e9;position:relative;overflow:hidden}
.patient-experiences:before{content:"";position:absolute;right:-180px;top:-220px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(181,131,47,.10),transparent 68%);pointer-events:none}
.reviews-head{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:30px}
.reviews-head>div:first-child{max-width:720px}
.reviews-summary{display:grid;grid-template-columns:auto auto;align-items:baseline;column-gap:10px;row-gap:2px;flex:0 0 auto;padding:16px 20px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.78);box-shadow:var(--shadow-soft)}
.reviews-summary .review-stars{grid-column:1/-1}
.reviews-summary strong{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--green)}
.reviews-summary span:last-child{font-size:.88rem;color:var(--muted)}
.review-stars{color:#b7832f;letter-spacing:.08em;font-size:1rem;white-space:nowrap}
.review-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.patient-review-card{display:flex;flex-direction:column;min-height:310px;padding:26px;border:1px solid rgba(221,202,169,.85);border-radius:26px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft)}
.review-card-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.review-card-top time{color:var(--muted);font-size:.8rem;white-space:nowrap}
.patient-review-card blockquote{margin:25px 0 28px;color:var(--ink);font-family:'Playfair Display',serif;font-size:1.12rem;line-height:1.72;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
.patient-review-card footer{margin-top:auto;padding-top:18px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:15px}
.patient-review-card footer strong{color:var(--green)}
.patient-review-card footer span{color:var(--muted);font-size:.78rem}
.reviews-actions{position:relative;z-index:1;margin-top:28px;text-align:center}
@media(max-width:1020px){.review-grid{grid-template-columns:1fr 1fr}.patient-review-card:last-child:nth-child(odd){grid-column:1/-1}.reviews-head{align-items:flex-start}}
@media(max-width:720px){.reviews-head{display:block}.reviews-summary{margin-top:20px;width:max-content;max-width:100%}.review-grid{grid-template-columns:1fr}.patient-review-card:last-child:nth-child(odd){grid-column:auto}.patient-review-card{min-height:auto;padding:22px}.patient-review-card blockquote{-webkit-line-clamp:9}}


/* Safe Google reviews invitation: no patient testimonial text is republished */
.google-review-invitation{position:relative;z-index:1;max-width:760px;margin:0 auto;text-align:center;padding:54px 42px;border:1px solid rgba(221,202,169,.85);border-radius:30px;background:rgba(255,255,255,.9);box-shadow:var(--shadow-soft)}
.google-review-invitation .eyebrow{margin-bottom:14px}
.google-rating-line{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 14px;color:var(--green)}
.google-rating-line>span:first-child{font-family:'Playfair Display',serif;font-size:clamp(2.3rem,5vw,3.5rem);line-height:1}
.google-rating-line .review-stars{font-size:clamp(1.15rem,3vw,1.65rem)}
.google-review-invitation p{margin:0 auto 28px;color:var(--muted);font-size:1.08rem}
@media(max-width:720px){.google-review-invitation{padding:40px 22px;border-radius:24px}.google-rating-line{flex-direction:column;gap:8px}}


/* Priority 1–2 conversion and content refinement */
.compact-story{padding-bottom:76px}
.compact-story .split-story{margin-bottom:34px}
.compact-factors article{padding:24px 22px;min-height:0}
.compact-factors article p{margin-bottom:0}

/* Homepage polish 2026-10-24: concerns checklist, quote cards, screen-reader text */
.concerns-list{list-style:none;margin:0 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 28px}
.concerns-list li{position:relative;padding-left:26px;color:var(--muted);font-size:1.09rem;line-height:1.6}
.concerns-list li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}
.patient-quotes{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 28px;text-align:left}
.patient-quotes blockquote{margin:0;padding:22px 22px 18px;border:1px solid rgba(221,202,169,.85);border-radius:20px;background:rgba(255,255,255,.92);box-shadow:var(--shadow-soft)}
.patient-quotes blockquote p{margin:0 0 14px;color:var(--ink);font-family:'Playfair Display',Georgia,serif;font-size:1.05rem;line-height:1.65}
.patient-quotes blockquote cite{display:block;color:var(--muted);font-size:.85rem;font-style:normal}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:720px){.concerns-list{grid-template-columns:1fr}.patient-quotes{grid-template-columns:1fr}}
.needle-free-spotlight{padding:0 0 92px;background:var(--ivory)}
.spotlight-stack{display:grid;gap:22px}
.needle-free-panel{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:34px 38px;border:1px solid rgba(221,202,169,.9);border-radius:28px;background:linear-gradient(120deg,#fffdf8,#f2eadb);box-shadow:var(--shadow-soft)}
.golf-performance-panel{background:linear-gradient(120deg,#edf6f1,#fffdf8);border-color:rgba(111,151,132,.42)}
.needle-free-mark{width:62px;height:62px;border-radius:20px;display:grid;place-items:center;background:var(--green);color:#fff;font-size:1.45rem}
.needle-free-panel h2{margin:2px 0 8px;font-size:clamp(1.8rem,3vw,2.7rem)}
.needle-free-panel p{margin:0;color:var(--muted);max-width:700px}
.mobile-action-bar{display:none}
@media(max-width:820px){
  body{padding-bottom:72px}
  .mobile-action-bar{position:fixed;z-index:1100;left:0;right:0;bottom:0;display:grid;grid-template-columns:.85fr 1.15fr;gap:8px;padding:9px max(10px,env(safe-area-inset-left)) calc(9px + env(safe-area-inset-bottom));background:rgba(255,253,248,.96);border-top:1px solid var(--line);box-shadow:0 -10px 28px rgba(31,78,74,.12);backdrop-filter:blur(12px)}
  .mobile-action-bar a{min-height:48px;display:grid;place-items:center;border-radius:14px;text-decoration:none;font-weight:800;font-size:.9rem;border:1px solid var(--green);color:var(--green)}
  .mobile-action-bar a:last-child{background:var(--green);color:white}
  .back-to-top{bottom:86px}
  .needle-free-panel{grid-template-columns:auto 1fr;padding:28px 24px}
  .needle-free-panel .btn{grid-column:1/-1;text-align:center}
}
@media(max-width:600px){
  .compact-factors{grid-template-columns:1fr 1fr}
  .needle-free-panel{grid-template-columns:1fr;text-align:center}
  .needle-free-mark{margin:0 auto}
}


/* 2026-07 local SEO, accessibility, and performance refinements */
.availability-badge{display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 12px;border:1px solid rgba(138,101,24,.28);border-radius:999px;background:rgba(248,246,242,.82);color:#6f5217;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.availability-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#557567;box-shadow:0 0 0 4px rgba(85,117,103,.12)}
.program-icon svg,.program-svg svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.location-icon{display:inline-block;width:17px;height:17px;margin-right:8px;vertical-align:-2px;border:1.8px solid currentColor;border-radius:50% 50% 50% 0;transform:rotate(-45deg);position:relative}
.location-icon::after{content:"";position:absolute;width:4px;height:4px;border:1.5px solid currentColor;border-radius:50%;left:4.5px;top:4.5px}
@media(max-width:760px){.flow-map{grid-template-columns:1fr!important}.flow-arrow{transform:rotate(90deg);margin:2px auto}}

.contact-section { padding-top: 32px; }

/* Appointment request checklists (contact form, Oct 25 2026) */
.form-checklist { border: 0; padding: 0; margin: 0; display: grid; gap: 12px; }
.form-checklist legend { font-weight: 800; color: var(--green); padding: 0; font-size: 1rem; }
.checklist-title { font-weight: 700; font-size: .92rem; color: var(--ink); }
.checklist { display: flex; flex-wrap: wrap; gap: 10px 20px; align-items: center; }
.appointment-form .checklist label { display: flex; flex-direction: row; align-items: center; gap: 7px; font-weight: 500; }
.appointment-form .checklist input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--green); flex: none; }
.check-other { display: flex; align-items: center; gap: 7px; }
.appointment-form .check-other input[type="text"] { min-width: 160px; flex: 1; }

/* Reviews hero: button beside the summary text (Oct 25 2026) */
.reviews-hero-row { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.reviews-hero-text { flex: 1; min-width: 260px; }
.reviews-hero-row .btn { flex: none; white-space: nowrap; }

/* Top-menu Reviews emphasis (Oct 25 2026): bold + star rating, no pill */
/* Top-menu Reviews pill (Oct 25 2026): cream-gold background, dark green text, dark gold star, subtle gold border */
.nav-links a.nav-reviews,
.hero-care-links a,
.appointment-reviews {
  color: #0B4035 !important;
  font-weight: 800 !important;
  background: #F3EAD5;
  padding: 5px 12px;
  border-radius: 999px;
  border: 1px solid #D8C59C;
  font-size: .84rem !important;
  letter-spacing: .01em;
  transition: all .2s ease;
}
.nav-links a.nav-reviews:hover,
.hero-care-links a:hover,
.appointment-reviews:hover { background: #EBDDBE; }
.nav-links a.nav-reviews::after { display: none !important; }
.nav-links a.nav-reviews .nav-star,
.appointment-reviews .nav-star { color: #95702D; }
.appointment-reviews {
  display: inline-block;
  padding: 8px 14px;
  margin-bottom: 12px;
}
.appointment-form-card .form-intro a { text-decoration: underline; }


/* Homepage refinement: preserve the existing hero; organize the sections below it. */
.home-refined section[id]{scroll-margin-top:100px}
.home-refined .program-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px}
.home-refined .program-card{grid-column:span 2;display:flex;flex-direction:column;padding:28px;border-radius:20px;min-width:0}
.home-refined .program-card:nth-child(n+4){grid-column:span 3}
.home-refined .program-card em{margin-top:auto;padding-top:20px}
.home-refined .program-card h3{font-size:clamp(1.35rem,2vw,1.8rem);line-height:1.25}
.home-refined .program-card p{line-height:1.7}
.home-refined .compact-factors article{border-top:2px solid var(--gold);padding:24px;border-radius:0 0 16px 16px;background:#fffdf8}
.home-refined .faq-list{max-width:860px;margin:28px auto 0;border-top:1px solid var(--line)}
.home-refined .faq-item{border-bottom:1px solid var(--line);padding:0 4px}
.home-refined .faq-item summary{cursor:pointer;list-style:none;position:relative;padding:23px 38px 23px 0;font-weight:600;color:var(--green);font-size:1.06rem;line-height:1.5}
.home-refined .faq-item summary::-webkit-details-marker{display:none}
.home-refined .faq-item summary::after{content:'+';position:absolute;right:5px;top:22px;font-size:1.3rem}
.home-refined .faq-item[open] summary::after{content:'−'}
.home-refined .faq-answer{padding:0 28px 20px 0;max-width:740px;line-height:1.75}
.home-refined .faq-answer p{margin:0;color:var(--muted)}
.home-refined .featured-blog{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-refined .spotlight-stack{gap:16px}
.home-refined .needle-free-panel{box-shadow:none;border-radius:20px}
.home-refined :is(a,button,summary):focus-visible{outline:3px solid #95702d;outline-offset:5px}
@media(max-width:820px){
 .home-refined .program-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-refined .program-card,.home-refined .program-card:nth-child(n+4){grid-column:auto}
 .home-refined .program-card:last-child{grid-column:1/-1}
 .home-refined .first-visit-head{max-width:100%}
}
@media(max-width:540px){
 .home-refined .program-cards,.home-refined .featured-blog,.home-refined .compact-factors{grid-template-columns:1fr}
 .home-refined .program-card:last-child{grid-column:auto}
 .home-refined .program-card{padding:25px}
 .home-refined .compact-factors{gap:14px}
 .home-refined .compact-factors article{padding:20px}
 .home-refined .faq-item summary{font-size:1rem;padding-block:20px}
 .home-refined .first-visit-actions{display:flex;flex-direction:column;align-items:stretch;gap:16px}
 .home-refined .first-visit-actions .text-link{text-align:center;line-height:1.6}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 .home-refined *{animation:none!important;transition:none!important}
 .home-refined .reveal-up{opacity:1;transform:none}
}

/* Community video: portrait thumbnail links to the verified YouTube page. */
.community-video{background:#f2eee5;padding:72px 0}
.community-grid{display:grid;grid-template-columns:1fr minmax(240px,320px);gap:16px 72px;align-items:center;max-width:1060px}
.community-copy h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.16;max-width:520px;margin:12px 0 20px}
.community-copy p{max-width:520px;line-height:1.8;color:var(--muted)}
.community-copy a{color:var(--green);font-weight:600;text-underline-offset:4px}
.community-caption{font-size:.87rem}
.community-player{position:relative;aspect-ratio:9/16;overflow:hidden;border-radius:22px;background:#183d34;box-shadow:var(--shadow-soft);width:100%}
.community-play{display:block;width:100%;height:100%;padding:0;border:0;cursor:pointer;background:#183d34;color:#fff;position:absolute;inset:0;font:inherit}
.community-play img{display:block;width:100%;height:100%;object-fit:contain;opacity:.82}
.community-play-label{position:absolute;left:16px;right:16px;bottom:24px;border:1px solid #ffffff80;border-radius:50px;padding:14px 8px;background:#183d34e8;display:flex;gap:12px;justify-content:center;align-items:center;font-weight:600}
.community-play:hover .community-play-label{background:#0d2f28}
.community-play:focus-visible{outline:4px solid var(--gold);outline-offset:-6px}
.community-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.community-privacy{grid-column:2;font-size:.76rem;color:var(--muted);text-align:center;margin:0;line-height:1.6}
@media(max-width:700px){.community-grid{grid-template-columns:1fr;gap:20px}.community-copy{text-align:center}.community-copy p,.community-copy h2{margin-left:auto;margin-right:auto}.community-player{max-width:300px;margin:0 auto}.community-privacy{grid-column:1}.community-video{padding:48px 0}}

.community-play{text-decoration:none}.community-video{scroll-margin-top:110px}

.community-video-stack{width:100%;display:grid;gap:16px;justify-items:center}.community-youtube{width:100%;box-sizing:border-box;text-align:center}@media(max-width:700px){.community-video-stack{max-width:300px;margin:0 auto}}

/* Phase 2: compact introduction and a clearer path from assessment to a visit. */
.home-refined .hero.hero-premium{padding-top:30px;padding-bottom:28px;min-height:0}
.home-refined .hero-premium h1{font-size:clamp(2.65rem,4.3vw,3.7rem);line-height:1.05;margin-top:14px;margin-bottom:18px}
.home-refined .philosophy-lead{font-size:clamp(1.45rem,2.4vw,2rem)!important;line-height:1.25;margin-bottom:18px}
.home-refined .hero-body{font-size:1rem;line-height:1.65;margin-bottom:20px}
.home-refined .hero-frame .image-shell img{height:390px;min-height:0;object-fit:cover;object-position:center 30%}
.home-refined .hero-frame .premium-card{padding:15px 20px}
.home-refined .hero-grid{gap:40px;align-items:center}
.home-refined .hero-actions{margin-top:18px}
.home-refined .micro-cta{margin-top:8px;margin-bottom:0;font-size:.85rem}
.approach-intro{max-width:680px;line-height:1.8;color:var(--muted)}
.home-refined .compact-factors article{background:transparent;border-radius:0;box-shadow:none;padding:20px 10px}
.home-refined .about-preview,.home-refined .library-preview{padding:60px 0}
.care-extras{padding:36px 0;background:var(--ivory)}
.care-extra-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:18px}
.care-extra-links a{display:flex;flex-direction:column;gap:9px;border-top:1px solid var(--line);padding-top:18px;color:var(--green);text-decoration:none}
.care-extra-links span{font-size:.92rem;line-height:1.65;color:var(--muted)}
.request-next{background:var(--gold-light);padding:18px;border-radius:12px;line-height:1.7}
@media(min-width:1021px) and (max-height:800px){.home-refined .hero-frame .image-shell img{height:320px}.home-refined .hero-premium h1{font-size:3.1rem}.home-refined .hero.hero-premium{padding-top:20px}}
@media(max-width:1020px) and (min-width:761px){.home-refined .hero-premium .hero-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:26px}.home-refined .hero-frame .image-shell img{height:340px}}
@media(max-width:760px){.home-refined .hero.hero-premium{padding-top:26px}.home-refined .hero-premium h1{font-size:clamp(2.5rem,10vw,3.4rem)}.home-refined .hero-frame .image-shell img{height:350px}.care-extra-links{grid-template-columns:1fr;gap:18px}.home-refined .about-preview,.home-refined .library-preview{padding:42px 0}}
.home-refined .hero-frame .image-shell img{object-fit:contain;background:#fff;object-position:center}

/* Original clinic photography: responsive and reserved layout space. */
.clinic-photo-intro{margin:30px 0 18px}.clinic-photo-intro h3{font-size:1.5rem;color:var(--green);margin-bottom:8px}.clinic-photo-intro p{color:var(--muted)}
.clinic-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:38px}
.clinic-photo-grid figure,.arrival-photo-grid figure{margin:0;min-width:0}
.clinic-photo-grid img,.arrival-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:16px}
.clinic-photo-grid figcaption,.arrival-photo-grid figcaption{padding:12px 2px;font-size:.9rem;line-height:1.6;color:var(--muted)}
.arrival-photos{margin-top:28px}.arrival-photos p{line-height:1.7;color:var(--muted)}.arrival-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
@media(max-width:700px){.clinic-photo-grid,.arrival-photo-grid{grid-template-columns:1fr}.clinic-photo-grid{gap:20px}}

/* Compact thumbnails with a keyboard-accessible enlarged view. */
.clinic-photo-grid{grid-template-columns:repeat(3,minmax(0,220px));justify-content:start;gap:22px}
.arrival-photo-grid{grid-template-columns:repeat(2,minmax(0,200px))}
.clinic-photo-open{display:block;position:relative;border-radius:12px;overflow:hidden;color:white}
.clinic-photo-grid img,.arrival-photo-grid img{border-radius:12px;aspect-ratio:4/3;object-fit:cover}
.photo-enlarge-hint{position:absolute;bottom:8px;right:8px;background:#173e35e8;color:#fff;border-radius:20px;padding:5px 9px;font-size:.72rem}
.clinic-photo-open:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.clinic-photo-grid figcaption,.arrival-photo-grid figcaption{font-size:.82rem;padding:9px 0}
.clinic-photo-dialog{position:fixed;inset:0;margin:auto;box-sizing:border-box;width:min(1000px,94vw);max-height:90vh;max-height:90dvh;overflow:auto;border:0;border-radius:18px;padding:16px;background:#fffdf8;color:var(--ink);box-shadow:0 20px 80px #0006}
.clinic-photo-dialog::backdrop{background:rgba(9,26,23,.82)}
.clinic-photo-dialog img{display:block;max-width:100%;width:auto;max-height:72vh;object-fit:contain;margin:8px auto}
.clinic-photo-dialog p{text-align:center;font-size:.95rem;margin:14px 0 2px}
.photo-dialog-close{display:block;margin-left:auto;min-height:44px;padding:8px 16px;background:var(--green);color:white;border:0;border-radius:9px;font:inherit;cursor:pointer}
@media(max-width:540px){.clinic-photo-grid,.arrival-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.clinic-photo-dialog{padding:12px}.photo-enlarge-hint{font-size:.65rem;padding:4px 7px}}

@media(min-width:701px){.clinic-photo-grid{grid-template-columns:repeat(4,minmax(0,220px))}}

.community-event-photos{max-width:260px;margin-top:22px}.community-event-photos figure{margin:0}.community-event-photos img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.community-event-photos figcaption{font-size:.82rem;line-height:1.6;color:var(--muted);padding-top:10px}@media(max-width:700px){.community-event-photos{margin:22px auto 0}}

.community-event-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:420px}.community-event-pair .clinic-photo-open{aspect-ratio:4/3}.community-event-pair img{height:100%;object-fit:cover}

.home-refined .about-premium .office-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:20px}

.home-refined .hero-frame .image-shell img{object-fit:contain;object-position:center;background:#fff}

/* Keep the entire extended portrait visible at its intrinsic ratio. */
.home-refined .hero-frame .image-shell img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:4/3;object-fit:contain;border-radius:0}

/* Original portrait: intrinsic proportions, no generated extension or crop. */
.home-refined .hero-visual.hero-frame{width:100%;max-width:440px;justify-self:center}
.home-refined .hero-frame .image-shell img{display:block;width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:18px 18px 0 0;filter:none}
.home-refined .hero-premium h1{font-size:clamp(3.1rem,4.7vw,4rem);line-height:1.04}
@media(min-width:1021px) and (max-height:800px){.home-refined .hero-visual.hero-frame{max-width:370px}.home-refined .hero-premium h1{font-size:3.45rem}}
@media(max-width:760px){.home-refined .hero-visual.hero-frame{max-width:380px}.home-refined .hero-premium h1{font-size:clamp(2.75rem,10.8vw,3.6rem)}}
.home-refined .hero-frame .premium-card .credential-name{font-size:18px;line-height:1.35}

/* Six care areas share equal weight on desktop; two columns on tablet. */
.home-refined .program-card:nth-child(n+4){grid-column:span 2}
.home-refined .program-card.fertility{background:linear-gradient(145deg,#fffdfa,#f5eee7)}
@media(max-width:820px){.home-refined .program-card:nth-child(n+4),.home-refined .program-card:last-child{grid-column:auto}}
@media(min-width:901px){.clinic-photo-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}}
@media(min-width:541px) and (max-width:900px){.clinic-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Keep the Suite G map unobstructed in the first clinic photograph. */
#clinic-space > figure:first-child .photo-enlarge-hint{left:8px;right:auto}

/* Persistent and complex concerns: complementary homepage section */
.complex-care-highlight{background:linear-gradient(135deg,var(--cream2),var(--green-light));padding:76px 0}
.complex-care-layout{display:grid;gap:26px}
.complex-care-intro{max-width:760px}
.complex-care-highlight h2{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.17;margin:12px 0 18px}
.complex-care-highlight .complex-care-lead{font-size:1.14rem;color:var(--ink);line-height:1.75;margin:0}
.complex-care-reviews{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.complex-care-panel{margin:0;padding:28px;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-soft)}
.complex-care-panel h3{font-family:'Playfair Display',Georgia,serif;color:var(--green);font-size:1.35rem;margin:0 0 12px}
.complex-care-panel blockquote{margin:0 0 12px;color:var(--ink);line-height:1.65}
.complex-care-panel blockquote p{margin:0}
.complex-care-panel figcaption{color:var(--muted);font-size:.92rem;line-height:1.5}
.complex-care-actions{display:flex;align-items:center;gap:14px 22px;flex-wrap:wrap}
.complex-care-review-link{color:var(--green);font-weight:700;text-decoration:underline;text-underline-offset:.2em}
@media(max-width:760px){
  .complex-care-highlight{padding:52px 0}
  .complex-care-reviews{grid-template-columns:1fr;gap:12px}
  .complex-care-panel{padding:22px}
  .complex-care-actions .btn{width:100%;text-align:center}
}

/* Homepage design inspired by the Restore Your Balance reference. */
.home-refined {
  --home-ivory: #faf7ef;
  --home-forest: #153723;
  --home-wine: #780e2b;
  --home-gold: #856c26;
  --home-scenery: url("./home-mountain-landscape.svg");
  background: var(--home-ivory);
}
.site-header {background:#fcf9f2;--home-wine:#780e2b;--home-forest:#153723;--home-gold:#856c26}
.site-header .brand-text strong {font-family:'Playfair Display',Georgia,serif;color:var(--home-wine);font-size:clamp(1.25rem,2.2vw,2rem);letter-spacing:-.035em}
.site-header .brand-text strong span {display:inline;color:var(--home-gold);font:inherit;letter-spacing:inherit;text-transform:none}
.site-header .brand-text > span {color:var(--home-forest);font:italic 600 1rem 'Playfair Display',Georgia,serif;letter-spacing:0;text-transform:none}
.site-header .nav-links {gap:clamp(12px,1.7vw,25px)}
.site-header .nav-links a {color:var(--home-forest)}
.home-refined .hero-actions .btn.primary,
.home-refined .premium-cta .btn.primary {background:var(--home-wine);color:#fff!important;border:1px solid var(--home-wine);border-radius:12px;box-shadow:none}
.home-refined .hero-actions .btn.primary:hover,
.home-refined .premium-cta .btn.primary:hover {background:#5b0c22}
.home-refined .hero.hero-premium {padding:0;background:#f5eee1}
.home-refined .hero-premium::after {display:none}
.home-refined .hero-premium .hero-grid {grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0}
.home-refined .hero-copy {position:relative;z-index:1;padding:clamp(26px,3.25vw,55px) 10px clamp(26px,3.25vw,55px) 0}
.home-refined .hero-visual.hero-frame {border-radius:0;overflow:hidden}
.home-refined .hero-premium h1 {color:var(--burgundy);font-size:clamp(2.8rem,4.7vw,4rem);letter-spacing:-.055em}
.home-refined .philosophy-lead {color:var(--home-forest)!important;font-size:clamp(1.22rem,2vw,1.8rem)!important;font-weight:500}
.home-refined .hero-body {max-width:49ch}
.home-refined .hero-actions .btn.secondary,
.home-refined .complex-care-actions .btn.secondary {background:transparent;border:1px solid var(--home-forest);color:var(--home-forest)!important;border-radius:12px}
.home-refined .hero-actions .btn.secondary:hover,
.home-refined .complex-care-actions .btn.secondary:hover {background:#e7eadc}
.home-refined .hero-visual.hero-frame {align-self:stretch;position:relative;width:100%;max-width:none;min-height:0}
.home-refined .hero-frame .image-shell {position:absolute;inset:0 0 0 4%;border:0;border-radius:0;padding:0;box-shadow:none;background:#f5eee1}
.home-refined .hero-frame .image-shell::before {inset:0;border-radius:0;background:linear-gradient(90deg,#f5eee1,transparent 25%)}
.home-refined .hero-frame .image-shell img {height:100%;object-fit:cover;object-position:center 35%;border-radius:0;background:none}
.home-refined .hero-frame .premium-card {position:absolute;z-index:3;inset:auto 20px 20px auto;width:auto;max-width:calc(100% - 40px);border:0;border-radius:12px;padding:10px 15px;background:#fcf9f2eb;box-shadow:none}
.home-refined .hero-frame .premium-card p {margin:0;font-size:.82rem}
.hero-values {display:flex;flex-wrap:wrap;gap:8px 19px;margin:18px 0 5px;padding:0;list-style:none;color:var(--home-forest);font-size:.9rem}
.hero-values li::before {content:'✓';margin-right:6px;color:#4c622f;font-weight:700}
.hero-values a {color:inherit;text-underline-offset:.2em}
.home-refined .complex-care-highlight {padding:26px 0 0;background:transparent}
.home-refined .complex-care-layout {
  grid-template-columns: 30% minmax(0, 1fr);
  gap: 0;
  background: #e9ebdb;
  border-radius: 26px;
  overflow: hidden;
}
.complex-care-scenery {
  background: linear-gradient(90deg, transparent 71%, #e9ebdb),
    url("./assets/clinic/complex-care-sunrise.webp") 56% center / cover;
}
.complex-care-content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(170px, 30%);
  gap: 14px 20px;
  padding: clamp(22px, 2.4vw, 34px);
}
.home-refined .complex-care-intro {grid-column:1/-1;max-width:none}
.home-refined .complex-care-highlight .complex-care-reviews {margin:14px auto 0}
.home-refined .complex-care-highlight h2 {color:var(--home-wine);margin:4px 0;font-size:clamp(1.8rem,3.1vw,2.55rem)}
.complex-care-subtitle {margin:0 0 12px;color:var(--home-forest);font:italic 600 clamp(1.1rem,2vw,1.5rem) 'Playfair Display',Georgia,serif}
.home-refined .complex-care-highlight .complex-care-lead {font-size:1rem;line-height:1.55}
.complex-care-checklist {grid-column:1;grid-row:2;align-self:center;margin:0;padding:0;list-style:none;color:var(--home-forest)}
.complex-care-checklist li {display:flex;gap:9px;align-items:flex-start;margin:4px 0}
.complex-care-checklist li::before {
  content:'✓';color:#fff;background:#486038;
  display:grid;place-items:center;flex:0 0 20px;
  width:20px;height:20px;border-radius:50%;
  margin-top:calc((1.75em - 20px) / 2);
  font-size:inherit;line-height:1;font-weight:700;
}
.home-refined .complex-care-actions {grid-column:2;align-self:center;flex-direction:column;gap:6px}
.home-refined .complex-care-actions .btn {width:100%;white-space:normal;text-align:center;line-height:1.3;padding:11px 13px}
.home-refined .complex-care-panel {padding:13px 15px;background:#fbf9f2c9;border-radius:14px;box-shadow:none}
.home-refined .complex-care-panel h3 {font-size:1.05rem;margin-bottom:4px}
.home-refined .complex-care-panel blockquote {margin-bottom:4px}
.home-refined .program-showcase {background:transparent;padding:40px 0 18px}
.home-refined .program-showcase .section-head {margin:0 auto 24px}
.home-refined .program-showcase h2 {display:flex;justify-content:center;align-items:center;gap:clamp(10px,3vw,30px);color:var(--home-forest)}
.home-refined .program-showcase h2::before,.home-refined .program-showcase h2::after {content:'';width:clamp(20px,10vw,160px);height:1px;background:#9c955e}
.home-refined .premium-programs {grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.home-refined .premium-programs .program-card {grid-column:auto;align-items:center;text-align:center;min-height:0;padding:18px 12px;background:#f2eee0;border-color:transparent;border-radius:22px;box-shadow:none}
.home-refined .premium-programs .program-card:hover {border-color:#a49969;transform:translateY(-3px)}
.home-refined .premium-programs .program-icon {width:44px;height:44px;background:none;border:0;color:#526039}
.home-refined .premium-programs .program-card small {margin:4px 0 8px;text-transform:none;letter-spacing:0;font:700 clamp(1rem,1.55vw,1.36rem)/1.15 'Playfair Display',Georgia,serif;color:var(--home-forest)}
.home-refined .premium-programs .program-card h3 {font:500 .93rem/1.35 Outfit,sans-serif;margin:0;color:#374733}
.home-refined .premium-programs .program-card p {display:none}
.home-refined .premium-programs .program-card em {text-transform:none;letter-spacing:0;padding-top:9px;font-size:.78rem}
.home-review-strip {padding:18px 0 35px}
.home-review-strip .container {display:flex;justify-content:space-between;align-items:center;gap:14px 24px;flex-wrap:wrap;border-bottom:1px solid #dcd5bf;padding-bottom:20px}
.home-review-strip strong {font-family:'Playfair Display',Georgia,serif;color:var(--home-forest);margin-right:12px}
.home-review-strip .review-stars {color:#8a651b;margin-right:7px}
.home-review-strip a {color:var(--home-forest);font-weight:700;text-underline-offset:.2em}
.home-refined .premium-cta {background:linear-gradient(#173c29dc,#0b271dee),var(--home-scenery) center 63%/cover}
.home-refined .premium-cta h2 {font-style:italic;margin:0 0 10px}
.home-refined .hero-actions .btn.primary::before,
.home-refined .premium-cta .btn.primary::before {
  content:"";width:1.05em;height:1.05em;margin-right:.55em;background:currentColor;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4m10-4v4M3 10h18m-13 5h1m3 0h1m3 0h1'/%3E%3C/svg%3E") center/contain no-repeat;
}
.home-refined .premium-cta .eyebrow {color:#faf3df;margin-bottom:14px}
@media (max-width: 1040px) {
  .home-refined .premium-programs {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 760px) {
  .home-refined .hero-premium .hero-grid {grid-template-columns:1fr}
  .home-refined .hero-copy {padding:30px 0 22px}
  .home-refined .hero-premium h1 {font-size:clamp(2.4rem,10vw,4.15rem)}
  .home-refined .hero-visual.hero-frame {height:clamp(260px,68vw,420px)}
  .home-refined .hero-frame .image-shell::before {background:linear-gradient(#f5eee1,transparent 18%)}
  .home-refined .hero-frame .image-shell {inset:0}
  .home-refined .hero-frame .image-shell img {object-position:center 22%}
  .home-refined .complex-care-layout, .complex-care-content {grid-template-columns:1fr}
  .complex-care-content {padding:12px 20px 22px}
  .complex-care-scenery {height:145px;background-image:linear-gradient(transparent 56%,#e9ebdb),url("./assets/clinic/complex-care-sunrise.webp");background-position:center 44%}
  .complex-care-checklist,.home-refined .complex-care-actions {grid-column:1;grid-row:auto}
  .home-refined .complex-care-actions {align-items:flex-start}
  .home-refined .complex-care-reviews {grid-template-columns:1fr}
  .home-refined .premium-programs {grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Consultation image blends into the existing text and booking controls. */
.home-refined .consultation-hero .hero-grid {
  position: relative;
  isolation: isolate;
}
.home-refined .consultation-hero .hero-copy,
.home-refined .consultation-hero .hero-visual {
  animation: none;
}
.home-refined .consultation-hero .hero-visual {
  z-index: 0;
}
.home-refined .consultation-hero .image-shell {
  inset: 0;
}
.home-refined .consultation-hero .image-shell img {
  object-position: 64% center;
}
@media (min-width: 761px) {
  .home-refined .consultation-hero .hero-visual.hero-frame {
    position: absolute;
    inset: 0 0 0 auto;
    width: 62%;
    justify-self: stretch;
    background: transparent;
    border: 0;
    box-shadow: none;
  }
  .home-refined .consultation-hero .image-shell::before {
    display: none;
  }
  .home-refined .consultation-hero .image-shell {
    -webkit-mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .22) 16%, #000 48%);
    mask-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, .22) 16%, #000 48%);
  }
}
@media (max-width: 760px) {
  .home-refined .consultation-hero .hero-visual.hero-frame {
    height: clamp(245px, 66vw, 440px);
  }
  .home-refined .consultation-hero .image-shell img {
    object-position: 64% 36%;
  }
}

.home-refined .hero-actions .btn.hero-reviews {background:#f3ead5;border-color:#d8c59c}
.home-refined .hero-actions .btn.hero-reviews:hover {background:#ebddbe}

/* Homepage reading order: care, first visit, patient voices, and directions. */
.home-refined .program-showcase {padding:58px 0}
.home-refined .premium-programs {grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.home-refined .premium-programs .program-card {
  align-items:flex-start;
  text-align:left;
  padding:20px 24px;
}
.home-refined .premium-programs .program-card h3 {
  font:700 clamp(1.1rem,1.8vw,1.4rem)/1.2 'Playfair Display',Georgia,serif;
  margin:5px 0 7px;
  color:var(--home-forest);
}
.home-refined .premium-programs .program-card p {display:block;margin:0 0 6px;font-size:.95rem;line-height:1.5}
.home-refined #how-it-works {scroll-margin-top:100px}
.home-refined .patient-experiences {padding:54px 0;background:var(--home-ivory)}
.home-refined .google-review-invitation {
  max-width:none;
  padding:clamp(22px,4vw,46px);
  background:#f2eee1;
  box-shadow:none;
}
.home-refined .patient-quotes {grid-template-columns:repeat(3,minmax(0,1fr))}
.home-refined .patient-quotes blockquote {box-shadow:none}
.home-refined .location-overview {
  display:grid;
  grid-template-columns:1.15fr 1fr;
  gap:20px 32px;
  align-items:start;
}
.location-overview .clinic-photo-intro,.location-overview .clinic-photo-grid {grid-column:1/-1}
.location-overview .clinic-photo-intro {margin:6px 0 0}
.location-overview .clinic-photo-grid {margin-top:0}
.library-more {margin:22px 0 0;text-align:center}
.home-refined .featured-blog .card {min-height:0}
@media (max-width:760px) {
  .home-refined .program-showcase,.home-refined .patient-experiences {padding:38px 0}
  .home-refined .premium-programs {grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-refined .premium-programs .program-card {padding:14px 13px}
  .home-refined .patient-quotes,.home-refined .location-overview {grid-template-columns:1fr}
  .home-refined .google-review-invitation .btn {margin:4px 0}
}

.home-refined .program-showcase h2 {white-space:nowrap;font-size:clamp(1.45rem,7vw,2.8rem)}
@media (max-width: 480px) {
  .home-refined .program-showcase h2 {gap:8px}
  .home-refined .program-showcase h2::before,
  .home-refined .program-showcase h2::after {width:clamp(0px,4vw,16px);flex-shrink:1}
}

@media (max-width: 920px) {
  .site-header .nav-links {gap:8px;background:#fcf9f2}
}

.site-header .nav-links .nav-cta {padding:9px 18px;min-height:44px}

.site-header .nav-links a.nav-reviews {
  display:inline-flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:44px;
  line-height:1.15;
  gap:3px;
}
.site-header .nav-review-rating {font-size:.73rem;white-space:nowrap}
.home-refined .hero-actions .hero-reviews {white-space:nowrap}
.home-refined .hero-actions .hero-review-rating {margin-left:.32em}

.hero-care-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.hero-care-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  line-height: 1.15;
  text-decoration: none;
}

/* Breathing & sleep pathways and service pages */
.care-pathways {
  scroll-margin-top: 108px;
  padding: clamp(40px, 6vw, 76px) 0;
  background: linear-gradient(120deg, var(--green-light), var(--white));
  border-block: 1px solid var(--sage2);
}
.care-pathways-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr);
  align-items: end;
  gap: 24px clamp(24px, 5vw, 68px);
  margin-bottom: 28px;
}
.care-pathways-intro h2 {
  font-size: clamp(2rem, 4vw, 3.25rem);
  margin-bottom: 10px;
}
.care-pathways p { color: var(--muted); }
.care-pathways-note {
  background: var(--sage);
  border-inline-start: 3px solid var(--green2);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  padding: 14px 18px;
  font-size: .94rem;
}
.care-pathways-note strong { color: var(--green); }
.care-pathways-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  list-style: none;
}
.care-pathway-card {
  display: flex;
  flex-direction: column;
  gap: 10px;
  height: 100%;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: var(--r-md);
  background: #fff;
  box-shadow: var(--shadow-soft);
  color: var(--green);
  text-decoration: none;
}
.care-pathway-card .program-icon { width: 44px; height: 44px; border-radius: var(--r-sm); }
.care-pathway-card .program-icon svg { width: 23px; height: 23px; }
.care-pathway-card h3 { font-size: 1.35rem; line-height: 1.24; }
.care-pathway-card p { font-size: .95rem; line-height: 1.55; }
.care-pathway-link { margin-top: auto; padding-top: 8px; font-size: .9rem; font-weight: 700; }
.care-pathway-card:hover { border-color: var(--green2); box-shadow: var(--shadow-med); }
.care-pathway-card:hover .care-pathway-link,
.care-pathway-card:focus-visible .care-pathway-link { text-decoration: underline; }
.home-refined .care-pathway-card:focus-visible,
.care-landing :is(a, button):focus-visible { outline: 3px solid var(--green2); outline-offset: 4px; }
.care-landing .page-hero p { max-width: 64ch; }
.care-landing-layout {
  padding-block: clamp(30px, 6vw, 76px);
  align-items: start;
}
.care-landing .sidebox h2 { margin-bottom: 10px; font-size: 1.4rem; }

@media (max-width: 980px) {
  .care-pathways-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .care-pathways-intro { grid-template-columns: 1fr; }
  .care-landing .prose { padding: 24px; }
}
@media (max-width: 540px) {
  .care-pathways-grid { grid-template-columns: 1fr; }
}

@media (min-width: 921px) and (max-width: 1180px) {
  .site-header .nav-links:has(.care-nav-link) { gap: 10px; }
  .site-header .nav-links:has(.care-nav-link) a { font-size: .85rem; }
}

.home-refined .pain-care-highlight .complex-care-layout {
  grid-template-columns: minmax(0, 1fr) 30%;
  background: #f5eee1;
}
.pain-care-highlight .complex-care-content {
  padding: clamp(18px, 2vw, 26px);
}
.breathing-care-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--home-forest);
  font-size: .9rem;
}
@media (min-width: 761px) {
  .home-refined #complex-care .complex-care-content {
    grid-template-columns: minmax(0, 1fr) minmax(188px, 30%);
  }
}

.home-refined .consultation-hero .hero-copy {
  container-type: inline-size;
}
.home-refined .consultation-hero .hero-heading {
  font-size: clamp(1.6rem, 4.45vw, 3.8rem);
  font-size: min(11.5cqi, 4.5rem);
}
@media (max-width: 760px) {
  .home-refined .consultation-hero .hero-heading {
    font-size: min(11.5cqi, 4.5rem);
  }
}

.complex-care-scenery[data-scenery] {
  --scenery-fade: #e9ebdb;
  --scenery-direction: 90deg;
  background-image: linear-gradient(var(--scenery-direction), transparent 71%, var(--scenery-fade)), var(--scenery-desktop);
  background-position: center;
}
.complex-care-scenery[data-scenery="mist"] {
  --scenery-desktop: url("./assets/clinic/complex-care-mist-desktop.webp");
  --scenery-mobile: url("./assets/clinic/complex-care-mist-mobile.webp");
}
.complex-care-scenery[data-scenery="shore"] {
  --scenery-desktop: url("./assets/clinic/complex-care-shore-desktop.webp");
  --scenery-mobile: url("./assets/clinic/complex-care-shore-mobile.webp");
}
.complex-care-scenery[data-scenery="sunset"] {
  --scenery-desktop: url("./assets/clinic/complex-care-sunset-desktop.webp");
  --scenery-mobile: url("./assets/clinic/complex-care-sunset-mobile.webp");
}
.complex-care-scenery[data-scenery="forest"] {
  --scenery-desktop: url("./assets/clinic/complex-care-forest-desktop.webp");
  --scenery-mobile: url("./assets/clinic/complex-care-forest-mobile.webp");
}
.complex-care-scenery[data-scenery="canopy"] {
  --scenery-desktop: url("./assets/clinic/complex-care-canopy-desktop.webp");
  --scenery-mobile: url("./assets/clinic/complex-care-canopy-mobile.webp");
}
.pain-care-highlight .complex-care-scenery[data-scenery] {
  --scenery-direction: 270deg;
  --scenery-fade: #f5eee1;
}
@media (max-width: 760px) {
  .home-refined .pain-care-highlight .complex-care-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .pain-care-highlight .complex-care-scenery {
    grid-row: 1;
  }
  .complex-care-scenery[data-scenery] {
    background-image: linear-gradient(transparent 56%, var(--scenery-fade)), var(--scenery-mobile);
  }
}

/* Compact location and contact presentation, November 2026. */
.locations-premium .location-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cta-contact-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 16px; font-size: .9rem; }
.cta-contact-links a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.footer-location-cards { display: grid; gap: 12px; }
.footer-location-card { padding: 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 10px; }
.footer-location-card p { margin: 6px 0; }
.footer-location-card a { color: inherit; font-size: .85rem; text-decoration: underline; }
@media(max-width:600px) { .locations-premium .location-cards { grid-template-columns: 1fr; } }

.home-refined .consultation-hero .hero-heading .hero-heading-line { display: block; white-space: nowrap; }

.home-refined .fertility-care-highlight .complex-care-layout {
  grid-template-columns: minmax(0, 1fr);
  background: #f5eee1;
}
.fertility-care-note {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--home-forest);
  font-size: .9rem;
}

.home-refined .consultation-hero .hero-service-intro {
  margin: 12px 0 10px;
  color: #0F7D7A;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1rem, 1.6vw, 1.35rem);
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: -.015em;
  max-width: 34ch;
}

.home-refined .consultation-hero .hero-copy > .eyebrow {
  color: #555A56;
  font-family: 'Outfit', sans-serif;
  font-size: .78rem;
  letter-spacing: .12em;
}

.home-refined .hero-copy .hero-korean {
  color: #444B47;
  font-weight: 700;
  font-size: .95rem;
  margin-top: 12px;
}
.home-refined .hero-care-links {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  gap: 6px;
}
.home-refined .hero-care-links a {
  justify-content: center;
  padding: 5px 9px;
  font-size: .78rem !important;
  white-space: nowrap;
}
@media (max-width: 1020px) {
  .home-refined .hero-care-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .home-refined .hero-care-links a {
    font-size: .84rem !important;
  }
}

.home-refined .hero-korean .korean-translate-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 7px 16px;
  border: 1px solid #9ECAC3;
  border-radius: 999px;
  background: #E2F1EE;
  color: #115C54;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
}
.home-refined .hero-korean .korean-translate-button:hover {
  background: #D1E9E4;
}
.home-refined .hero-korean .korean-translate-button:focus-visible {
  outline: 2px solid #115C54;
  outline-offset: 3px;
}

.home-refined .consultation-hero .hero-service-intro {
  font-size: min(6.4cqi, clamp(1.15rem, 2.1vw, 1.7rem));
  max-width: none;
}
.home-refined .hero-service-intro .service-intro-line {
  display: block;
  white-space: nowrap;
}
