/* VidaVital Medical — pure HTML5 + CSS3, no JS
   Ported from tokens.css + components.jsx inline styles.
   Dark mode is the default (body.vv.dark). */

*,*::before,*::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button { font: inherit; cursor: pointer; }

:root {
  --vv-font-display: "Fraunces", "Times New Roman", serif;
  --vv-font-body: "IBM Plex Sans", system-ui, sans-serif;
  --vv-font-mono: "JetBrains Mono", ui-monospace, monospace;
  --vv-diag: 8deg;

  --vv-ink: #1a1510;
  --vv-ink-soft: #3a322a;
  --vv-bg: #f6f1e6;
  --vv-bg-2: #ece3cf;
  --vv-card: #ffffff;
  --vv-rule: rgba(26,21,16,0.14);
  --vv-primary: #0d0b08;
  --vv-primary-ink: #f4e8c9;
  --vv-accent: #f5df8c;
  --vv-accent-2: #d4b962;
  --vv-gold-hi: #faebaa;
  --vv-muted: rgba(26,21,16,0.62);

  --vv-tone-0: #f6f1e6;
  --vv-tone-1: #efe9dc;
  --vv-tone-2: #ece3cf;
  --vv-tone-3: #e4dac3;
  --vv-tone-4: #f0ebdd;
}

body.vv.dark {
  --vv-ink: #f4e8c9;
  --vv-ink-soft: #cdbd94;
  --vv-bg: #0d0b08;
  --vv-bg-2: #181410;
  --vv-card: #1a1510;
  --vv-rule: rgba(244,232,201,0.14);
  --vv-primary: #0d0b08;
  --vv-primary-ink: #f4e8c9;
  --vv-accent: #f5df8c;
  --vv-accent-2: #faebaa;
  --vv-muted: rgba(244,232,201,0.62);
  --vv-tone-0: #0a0806;
  --vv-tone-1: #121010;
  --vv-tone-2: #1a1816;
  --vv-tone-3: #221f1b;
  --vv-tone-4: #15130f;
}

body.vv {
  font-family: var(--vv-font-body);
  color: var(--vv-ink);
  background: var(--vv-bg);
  font-size: 15px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  letter-spacing: -0.005em;
}

.vv h1, .vv h2, .vv h3, .vv .display {
  font-family: var(--vv-font-display);
  font-weight: 400;
  letter-spacing: -0.02em;
  font-variation-settings: "SOFT" 50, "WONK" 0;
  text-wrap: balance;
  margin: 0;
}
.vv h1 em, .vv h2 em, .vv h3 em, .vv .display em {
  font-style: italic; color: var(--vv-accent);
}
.vv .eyebrow {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--vv-ink-soft);
  font-weight: 500;
}
.vv .mono { font-family: var(--vv-font-mono); }
.vv p { margin: 0; }
.vv a { text-decoration: none; }

.vv-mark { display: inline-flex; align-items: center; gap: 0; color: inherit; }
.vv-mark img { height: 64px; width: auto; display: block; }
.vv-mark--lg img { height: 102px; }
.vv-mark--sm img { height: 56px; }

.vv-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 20px;
  font-family: var(--vv-font-body);
  font-size: 14px; font-weight: 500;
  letter-spacing: -0.005em;
  background: var(--vv-primary);
  color: var(--vv-primary-ink);
  border: none; cursor: pointer;
  transition: background .15s, color .15s;
  text-decoration: none; white-space: nowrap;
}
.vv-btn:hover { background: #1a1510; }
.vv-btn--accent { background: var(--vv-accent); color: #0d0b08; }
.vv-btn--accent:hover { background: var(--vv-accent-2); color: #0d0b08; }
.vv-btn--ghost {
  background: transparent; color: var(--vv-ink);
  border: 1px solid var(--vv-rule);
}
.vv-btn--ghost:hover { background: var(--vv-bg-2); }
.vv-btn--ghost-light {
  background: transparent; color: var(--vv-primary-ink);
  border: 1px solid rgba(244,232,201,0.3);
}
.vv-btn--ghost-light:hover { background: rgba(244,232,201,0.06); }
.vv-arrow::after {
  content: ""; display: inline-block; width: 14px; height: 10px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5h12M9 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
          mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10'%3E%3Cpath d='M1 5h12M9 1l4 4-4 4' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

.vv-photo {
  position: relative;
  background:
    repeating-linear-gradient(135deg, rgba(15,41,39,0.05) 0 1px, transparent 1px 18px),
    linear-gradient(140deg, #d7d1c2, #b8b0a0);
  overflow: hidden;
  color: rgba(15,41,39,0.55);
  display: flex; align-items: center; justify-content: center;
}
.vv-photo::before {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 30% 20%, rgba(255,255,255,0.25), transparent 60%);
  pointer-events: none;
}
.vv-photo .tag {
  position: absolute; left: 14px; bottom: 14px;
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(15,41,39,0.85);
  color: #f6f3ec;
  padding: 4px 8px; z-index: 2;
}
.vv-photo--teal {
  background:
    repeating-linear-gradient(135deg, rgba(244,232,201,0.04) 0 1px, transparent 1px 20px),
    linear-gradient(160deg, #0d0b08, #221a10 60%, #3a2c18);
  color: rgba(244,232,201,0.8);
}
.vv-photo--coral {
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,0.06) 0 1px, transparent 1px 20px),
    linear-gradient(150deg, #d4b962, #f5df8c);
  color: rgba(26,21,16,0.85);
}
.vv-photo--sand {
  background:
    repeating-linear-gradient(135deg, rgba(26,21,16,0.06) 0 1px, transparent 1px 18px),
    linear-gradient(150deg, #faebaa, #f5df8c);
}
.vv-photo--couple {
  background-image: url('/assets/hero-couple.png');
  background-size: cover;
  background-position: center 20%;
}

.vv-chip {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 5px 11px 5px 9px;
  background: var(--vv-bg-2);
  border: 1px solid var(--vv-rule);
  color: var(--vv-ink-soft);
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase;
}
.vv-chip .d { width: 6px; height: 6px; background: var(--vv-accent); border-radius: 50%; }

.vv-num {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.12em;
  color: var(--vv-accent);
}

.vv-section { padding: 96px 64px; position: relative; }
.vv-section--tight { padding: 72px 64px; }
.vv-container { max-width: 1200px; margin: 0 auto; }

.vv-bg-0 { background: var(--vv-tone-0); }
.vv-bg-1 { background: var(--vv-tone-1); }
.vv-bg-2 { background: var(--vv-tone-2); }
.vv-bg-3 { background: var(--vv-tone-3); }
.vv-bg-4 { background: var(--vv-tone-4); }
.vv-bg-card { background: var(--vv-card); }

.vv-diag-section {
  position: relative;
  padding: 140px 64px;
  overflow: hidden;
  color: var(--vv-primary-ink);
}
.vv-diag-section .vv-diag-bg {
  position: absolute; inset: -80px 0;
  background: var(--vv-tone-2);
  transform: skewY(calc(-1 * var(--vv-diag)));
  transform-origin: 0 0;
  z-index: 0;
}
.vv-diag-section .vv-container { position: relative; z-index: 1; color: inherit; }
.vv-diag-section .eyebrow { color: rgba(242,236,224,0.7); }

.vv-marquee {
  border-top: 1px solid var(--vv-rule);
  border-bottom: 1px solid var(--vv-rule);
  padding: 14px 0;
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--vv-ink-soft);
  white-space: nowrap; overflow: hidden;
}
.vv-marquee .row {
  display: inline-flex; gap: 48px; padding-right: 48px;
  animation: vv-slide 40s linear infinite;
}
.vv-marquee .row .star { color: var(--vv-accent); }
@keyframes vv-slide { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* NAV */
.vv-nav {
  display: flex; align-items: center; justify-content: space-between;
  padding: 22px 48px;
  border-bottom: 1px solid var(--vv-rule);
  position: relative; z-index: 5;
  background: transparent;
  color: var(--vv-primary-ink);
}
.vv-nav__links { display: flex; gap: 28px; font-size: 14px; }
.vv-nav__links a { color: inherit; opacity: 0.85; }
.vv-nav__links a:hover { opacity: 1; color: var(--vv-accent); }
.vv-nav__cta { display: flex; gap: 14px; align-items: center; }
.vv-nav__phone {
  font-family: var(--vv-font-mono); font-size: 11px;
  letter-spacing: 0.16em; text-transform: uppercase;
  opacity: 0.7; color: inherit;
}

/* HERO A — split diagonal (home page) */
.vv-hero--split {
  position: relative;
  background: var(--vv-primary);
  color: var(--vv-primary-ink);
  overflow: hidden;
}
.vv-hero--split .vv-hero__grid {
  display: grid; grid-template-columns: 1.1fr 1fr;
  min-height: 680px; position: relative;
}
.vv-hero--split .vv-hero__left {
  padding: 80px 64px 100px;
  display: flex; flex-direction: column; justify-content: center;
  position: relative; z-index: 2;
}
.vv-hero--split .vv-hero__left h1 {
  font-size: clamp(48px, 7vw, 92px);
  line-height: 0.95;
  letter-spacing: -0.025em;
  margin: 0;
  max-width: 640px;
}
.vv-hero--split .vv-hero__sub {
  font-size: 18px;
  max-width: 460px;
  margin: 32px 0 40px;
  color: rgba(244,232,201,0.78);
  line-height: 1.5;
}
.vv-hero--split .vv-hero__buttons {
  display: flex; gap: 12px; align-items: center; flex-wrap: wrap;
}
.vv-hero--split .vv-hero__buttons .vv-btn { padding: 16px 22px; }
.vv-hero__inline-stats {
  margin-top: 72px;
  display: flex; gap: 48px;
  border-top: 1px solid rgba(244,232,201,0.18);
  padding-top: 24px;
  flex-wrap: wrap;
}
.vv-hero__inline-stats > div {
  display: flex; flex-direction: column; gap: 6px;
}
.vv-hero__inline-stats .v {
  font-family: var(--vv-font-display);
  font-size: 28px;
  color: var(--vv-primary-ink);
  line-height: 1;
}
.vv-hero__inline-stats .k {
  font-family: var(--vv-font-mono);
  font-size: 11px;
  color: rgba(244,232,201,0.55);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.vv-hero__right { position: relative; min-height: 680px; }
.vv-hero__right-slab {
  position: absolute;
  top: -20px; right: -140px; bottom: -20px; left: -40px;
  background: var(--vv-accent);
  transform: skewY(calc(-1 * var(--vv-diag)));
  transform-origin: center;
  z-index: 0;
}
.vv-hero__photo-frame {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  height: 600px;
  width: 420px;
  z-index: 1;
  border: 6px solid #0d0b08;
  box-shadow: 0 20px 60px rgba(13,11,8,0.35);
  background: #f5df8c center / cover no-repeat;
}
.vv-hero__callout {
  position: absolute;
  bottom: 40px; left: -60px;
  background: var(--vv-card);
  padding: 22px;
  width: 300px;
  border: 1px solid var(--vv-rule);
  box-shadow: 0 16px 40px rgba(0,0,0,0.25);
  z-index: 3;
  color: var(--vv-ink);
}
.vv-hero__callout-top {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 14px;
}
.vv-hero__callout-top .label {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.18em;
  color: var(--vv-muted); text-transform: uppercase;
}
.vv-hero__callout-num {
  font-family: var(--vv-font-display);
  font-size: 32px; line-height: 1;
  color: var(--vv-ink); margin-bottom: 4px;
}
.vv-hero__callout-num span { font-size: 18px; color: var(--vv-accent); }
.vv-hero__callout-desc {
  font-size: 13px; color: var(--vv-ink-soft);
  margin-bottom: 14px;
}
.vv-hero__callout-tags {
  display: flex; gap: 8px; flex-wrap: wrap;
  padding-top: 14px;
  border-top: 1px solid var(--vv-rule);
}
.vv-hero__callout-tags span {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--vv-muted);
  padding: 4px 8px;
  border: 1px solid var(--vv-rule);
}

/* HERO (dossier — service detail pages) */
.vv-hero {
  position: relative;
  background: var(--vv-primary);
  color: var(--vv-primary-ink);
  overflow: hidden;
  min-height: 720px;
  display: flex; flex-direction: column;
}
.vv-hero__slab {
  position: absolute; right: -10%; top: -30%;
  width: 60%; height: 160%;
  background: linear-gradient(180deg, #4a3a14 0%, #8a6f28 100%);
  transform: rotate(-14deg);
  transform-origin: top right;
  opacity: 0.95;
  pointer-events: none; z-index: 0;
}
.vv-hero__topline {
  position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: rgba(245,223,140,0.2); z-index: 1;
}
.vv-hero__body {
  position: relative; z-index: 2;
  padding: 64px 64px 100px;
  max-width: 1200px; margin: 0 auto;
  flex: 1;
  display: flex; flex-direction: column; justify-content: center;
  width: 100%;
}
.vv-hero__eyebrow-row {
  display: flex; align-items: center; gap: 16px; margin-bottom: 28px;
}
.vv-hero__eyebrow-rule { width: 48px; height: 1px; background: var(--vv-accent); }
.vv-hero__eyebrow-text {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.24em;
  text-transform: uppercase; color: var(--vv-accent);
}
.vv-hero h1 {
  font-size: clamp(56px, 9vw, 132px);
  line-height: 0.94;
  letter-spacing: -0.03em;
  margin: 0; max-width: 1100px;
  color: var(--vv-primary-ink);
}
.vv-hero__lede {
  margin-top: 56px;
  display: grid; grid-template-columns: 1fr 1px 1fr 1px 320px;
  gap: 36px; align-items: start;
  max-width: 1100px;
}
.vv-hero__lede-italic {
  font-family: var(--vv-font-display);
  font-style: italic;
  font-size: 22px; line-height: 1.4;
  color: var(--vv-primary-ink); margin: 0;
}
.vv-hero__lede-body {
  font-size: 15px; line-height: 1.65;
  color: rgba(244,232,201,0.72); margin: 0;
}
.vv-hero__lede-rule {
  background: rgba(244,232,201,0.18);
  align-self: stretch; width: 1px;
}
.vv-hero__cta-stack { display: flex; flex-direction: column; gap: 10px; }
.vv-hero__cta-stack .vv-btn { justify-content: space-between; padding: 15px 22px; }
.vv-hero__cta-note {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.16em;
  color: rgba(244,232,201,0.5);
  text-transform: uppercase;
  text-align: center; margin-top: 6px;
}

.vv-dossier-strip {
  border-bottom: 1px solid rgba(244,232,201,0.18);
  padding: 12px 64px;
  display: grid; grid-template-columns: repeat(5, 1fr); gap: 32px;
  align-items: center;
  font-family: var(--vv-font-mono);
  font-size: 10.5px; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244,232,201,0.55);
  position: relative; z-index: 2;
}
.vv-dossier-strip a { color: inherit; }
.vv-dossier-strip a:hover { color: var(--vv-accent); }
.vv-dossier-strip .accent { color: var(--vv-accent); }
.vv-dossier-strip .right { text-align: right; }

.vv-stat-ledger {
  border-top: 1px solid rgba(244,232,201,0.2);
  border-bottom: 1px solid rgba(244,232,201,0.2);
  margin-top: auto;
  display: grid; grid-template-columns: repeat(6, 1fr);
  position: relative; z-index: 2;
}
.vv-stat-ledger > div {
  padding: 22px 24px;
  border-right: 1px solid rgba(244,232,201,0.18);
  display: flex; flex-direction: column; gap: 6px;
}
.vv-stat-ledger > div:last-child { border-right: none; }
.vv-stat-ledger .top { display: flex; justify-content: space-between; align-items: center; }
.vv-stat-ledger .num {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted); letter-spacing: 0.16em;
}
.vv-stat-ledger .lbl {
  font-family: var(--vv-font-mono);
  font-size: 10px; color: rgba(244,232,201,0.5);
  letter-spacing: 0.18em; text-transform: uppercase;
  text-align: right;
}
.vv-stat-ledger .val {
  font-family: var(--vv-font-display);
  font-size: 36px; line-height: 1;
  color: var(--vv-primary-ink);
}
.vv-stat-ledger .meta {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.16em;
  color: rgba(244,232,201,0.5); text-transform: uppercase;
}

/* SERVICES B — editorial index (CSS-only tabs via radios) */
.vv-services-b { background: var(--vv-tone-1); position: relative; }
.vv-services-b__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0,0,0,0);
  border: 0;
}
.vv-services-b__pane { display: none; }
.vv-services-b #svc-1:checked ~ .vv-container .vv-services-b__pane[data-svc="1"],
.vv-services-b #svc-2:checked ~ .vv-container .vv-services-b__pane[data-svc="2"],
.vv-services-b #svc-3:checked ~ .vv-container .vv-services-b__pane[data-svc="3"],
.vv-services-b #svc-4:checked ~ .vv-container .vv-services-b__pane[data-svc="4"],
.vv-services-b #svc-5:checked ~ .vv-container .vv-services-b__pane[data-svc="5"],
.vv-services-b #svc-6:checked ~ .vv-container .vv-services-b__pane[data-svc="6"],
.vv-services-b #svc-7:checked ~ .vv-container .vv-services-b__pane[data-svc="7"],
.vv-services-b #svc-8:checked ~ .vv-container .vv-services-b__pane[data-svc="8"] {
  display: block;
}
.vv-services-b #svc-1:checked ~ .vv-container .vv-services-b__row[data-svc="1"],
.vv-services-b #svc-2:checked ~ .vv-container .vv-services-b__row[data-svc="2"],
.vv-services-b #svc-3:checked ~ .vv-container .vv-services-b__row[data-svc="3"],
.vv-services-b #svc-4:checked ~ .vv-container .vv-services-b__row[data-svc="4"],
.vv-services-b #svc-5:checked ~ .vv-container .vv-services-b__row[data-svc="5"],
.vv-services-b #svc-6:checked ~ .vv-container .vv-services-b__row[data-svc="6"],
.vv-services-b #svc-7:checked ~ .vv-container .vv-services-b__row[data-svc="7"],
.vv-services-b #svc-8:checked ~ .vv-container .vv-services-b__row[data-svc="8"] {
  background: rgba(245,223,140,0.04);
}
.vv-services-b #svc-1:checked ~ .vv-container .vv-services-b__row[data-svc="1"]::before,
.vv-services-b #svc-2:checked ~ .vv-container .vv-services-b__row[data-svc="2"]::before,
.vv-services-b #svc-3:checked ~ .vv-container .vv-services-b__row[data-svc="3"]::before,
.vv-services-b #svc-4:checked ~ .vv-container .vv-services-b__row[data-svc="4"]::before,
.vv-services-b #svc-5:checked ~ .vv-container .vv-services-b__row[data-svc="5"]::before,
.vv-services-b #svc-6:checked ~ .vv-container .vv-services-b__row[data-svc="6"]::before,
.vv-services-b #svc-7:checked ~ .vv-container .vv-services-b__row[data-svc="7"]::before,
.vv-services-b #svc-8:checked ~ .vv-container .vv-services-b__row[data-svc="8"]::before {
  opacity: 1;
}
.vv-services-b #svc-1:checked ~ .vv-container .vv-services-b__row[data-svc="1"] h3,
.vv-services-b #svc-2:checked ~ .vv-container .vv-services-b__row[data-svc="2"] h3,
.vv-services-b #svc-3:checked ~ .vv-container .vv-services-b__row[data-svc="3"] h3,
.vv-services-b #svc-4:checked ~ .vv-container .vv-services-b__row[data-svc="4"] h3,
.vv-services-b #svc-5:checked ~ .vv-container .vv-services-b__row[data-svc="5"] h3,
.vv-services-b #svc-6:checked ~ .vv-container .vv-services-b__row[data-svc="6"] h3,
.vv-services-b #svc-7:checked ~ .vv-container .vv-services-b__row[data-svc="7"] h3,
.vv-services-b #svc-8:checked ~ .vv-container .vv-services-b__row[data-svc="8"] h3 {
  color: var(--vv-accent);
}
.vv-services-b #svc-1:checked ~ .vv-container .vv-services-b__row[data-svc="1"] .vv-services-b__arrow,
.vv-services-b #svc-2:checked ~ .vv-container .vv-services-b__row[data-svc="2"] .vv-services-b__arrow,
.vv-services-b #svc-3:checked ~ .vv-container .vv-services-b__row[data-svc="3"] .vv-services-b__arrow,
.vv-services-b #svc-4:checked ~ .vv-container .vv-services-b__row[data-svc="4"] .vv-services-b__arrow,
.vv-services-b #svc-5:checked ~ .vv-container .vv-services-b__row[data-svc="5"] .vv-services-b__arrow,
.vv-services-b #svc-6:checked ~ .vv-container .vv-services-b__row[data-svc="6"] .vv-services-b__arrow,
.vv-services-b #svc-7:checked ~ .vv-container .vv-services-b__row[data-svc="7"] .vv-services-b__arrow,
.vv-services-b #svc-8:checked ~ .vv-container .vv-services-b__row[data-svc="8"] .vv-services-b__arrow {
  transform: translateX(6px);
}
.vv-services-b__row[as-label="true"] { cursor: pointer; }

/* Services B — no-photo variant (services hub page) */
.vv-services-b--no-photo .vv-services-b__pane .vv-photo { display: none; }
.vv-services-b--no-photo .vv-services-b__preview-card {
  padding: 32px;
}
.vv-services-b--no-photo .vv-services-b__preview-card h4 {
  font-size: 32px;
  margin: 0 0 18px;
}
.vv-services-b--no-photo .vv-services-b__preview-card ul {
  gap: 12px;
}
.vv-services-b--no-photo .vv-services-b__preview-card li {
  font-size: 14px;
}
.vv-services-b__header {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  align-items: end; margin-bottom: 56px;
}
.vv-services-b__header h2 {
  font-size: clamp(34px, 4.5vw, 54px); line-height: 1.02; margin: 14px 0 0;
}
.vv-services-b__intro { font-size: 16px; color: var(--vv-ink-soft); max-width: 440px; }
.vv-services-b__grid {
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 48px;
  align-items: flex-start;
}
.vv-services-b__list { border-top: 1px solid var(--vv-rule); }
.vv-services-b__row {
  display: grid; grid-template-columns: 60px 1fr auto; gap: 24px;
  border-bottom: 1px solid var(--vv-rule);
  align-items: baseline;
  padding: 28px 8px 28px 4px;
  position: relative;
  background: transparent;
  transition: background .2s;
  color: inherit;
}
.vv-services-b__row::before {
  content: ""; position: absolute;
  left: 0; top: 0; bottom: 0; width: 3px;
  background: var(--vv-accent);
  opacity: 0;
  transition: opacity .2s;
}
.vv-services-b__row:hover,
.vv-services-b__row--active {
  background: rgba(245,223,140,0.04);
}
.vv-services-b__row:hover::before,
.vv-services-b__row--active::before { opacity: 1; }
.vv-services-b__row h3 {
  font-size: clamp(24px, 2.8vw, 32px);
  margin: 0; line-height: 1.05;
  font-family: var(--vv-font-display);
  color: var(--vv-ink);
  transition: color .2s;
}
.vv-services-b__row:hover h3,
.vv-services-b__row--active h3 { color: var(--vv-accent); }
.vv-services-b__tag {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--vv-muted);
  margin-top: 8px;
}
.vv-services-b__row p {
  margin: 14px 0 0; font-size: 14px;
  color: var(--vv-ink-soft);
  max-width: 520px; line-height: 1.55;
}
.vv-services-b__row .vv-services-b__arrow {
  color: var(--vv-accent);
  transition: transform .2s;
  display: inline-flex; align-items: center;
}
.vv-services-b__row:hover .vv-services-b__arrow,
.vv-services-b__row--active .vv-services-b__arrow { transform: translateX(6px); }
.vv-services-b__preview { position: sticky; top: 40px; }
.vv-services-b__preview .vv-photo { height: 340px; margin-bottom: 20px; }
.vv-services-b__preview-card {
  border: 1px solid var(--vv-rule);
  background: var(--vv-card);
  padding: 22px;
  color: var(--vv-ink);
}
.vv-services-b__preview-card .top {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 14px;
}
.vv-services-b__preview-card .top .mono {
  font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--vv-muted);
}
.vv-services-b__preview-card h4 {
  margin: 0 0 14px; font-size: 22px;
  font-family: var(--vv-font-display);
}
.vv-services-b__preview-card ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 8px;
}
.vv-services-b__preview-card li {
  font-size: 13px; color: var(--vv-ink-soft);
  display: flex; gap: 10px;
}
.vv-services-b__preview-card li::before { content: "+"; color: var(--vv-accent); }
.vv-services-b__preview-card .more {
  margin-top: 20px; padding-top: 14px;
  border-top: 1px solid var(--vv-rule);
  display: flex; justify-content: space-between; align-items: center;
  color: var(--vv-ink); font-size: 13px; font-weight: 500;
}
.vv-services-b__preview-card .more:hover { color: var(--vv-accent); }

/* SERVICES A — card grid */
.vv-services { background: var(--vv-tone-1); }
.vv-services__header {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  align-items: end; margin-bottom: 56px;
}
.vv-services__header h2 {
  font-size: clamp(34px, 4.5vw, 54px);
  line-height: 1.02; margin: 14px 0 0;
}
.vv-services__intro { font-size: 16px; color: var(--vv-ink-soft); max-width: 440px; }
.vv-services__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.vv-service-card {
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 24px;
  display: flex; flex-direction: column;
  position: relative; min-height: 380px;
  color: var(--vv-ink);
}
.vv-service-card__top {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 18px;
}
.vv-service-card .vv-photo { height: 140px; margin-bottom: 20px; }
.vv-service-card h3 { font-size: 22px; margin: 0 0 10px; line-height: 1.15; }
.vv-service-card p { margin: 0 0 16px; color: var(--vv-ink-soft); font-size: 14px; }
.vv-service-card ul {
  list-style: none; padding: 0; margin: 0 0 20px;
  display: flex; flex-direction: column; gap: 6px;
}
.vv-service-card li {
  font-size: 13px; color: var(--vv-ink-soft);
  display: flex; gap: 10px;
}
.vv-service-card li::before { content: "+"; color: var(--vv-accent); }
.vv-service-card__footer {
  margin-top: auto;
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 16px; border-top: 1px solid var(--vv-rule);
}
.vv-service-card__more {
  color: var(--vv-ink); font-size: 13px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 8px;
}
.vv-service-card__more:hover { color: var(--vv-accent); }

/* PHILOSOPHY */
.vv-philosophy { color: var(--vv-primary-ink); }
.vv-philosophy .vv-diag-bg { background: var(--vv-tone-2); }
.vv-philosophy__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.vv-philosophy h2 {
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.04; margin: 14px 0 24px; color: inherit;
}
.vv-philosophy p {
  font-size: 16px; color: rgba(242,236,224,0.8);
  max-width: 460px; line-height: 1.55;
}
.vv-philosophy p + p { margin-top: 18px; }
.vv-philosophy h2 em { color: var(--vv-accent-2); }
.vv-stats {
  display: flex; flex-direction: column;
  font-family: var(--vv-font-mono); font-size: 12px;
  letter-spacing: 0.1em;
}
.vv-stats__row {
  display: grid; grid-template-columns: 200px 1fr;
  padding: 10px 0;
  border-bottom: 1px solid rgba(242,236,224,0.2);
  align-items: center;
}
.vv-stats__row .k { color: rgba(242,236,224,0.6); }
.vv-stats__row .v {
  color: var(--vv-accent-2);
  font-size: 22px;
  font-family: var(--vv-font-display);
  letter-spacing: 0;
}

/* STEPS */
.vv-steps { background: var(--vv-tone-0); }
.vv-steps__header {
  display: flex; justify-content: space-between; align-items: end;
  margin-bottom: 56px; gap: 40px;
}
.vv-steps__header h2 {
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1.04;
  max-width: 680px; margin: 14px 0 0;
}
.vv-steps__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-top: 1px solid var(--vv-rule);
}
.vv-step {
  padding: 28px 24px 32px;
  border-right: 1px solid var(--vv-rule);
  border-bottom: 1px solid var(--vv-rule);
  display: flex; flex-direction: column; gap: 14px;
  min-height: 260px;
  position: relative;
}
.vv-step:last-child { border-right: none; }
.vv-step__top { display: flex; justify-content: space-between; align-items: center; }
.vv-step__when {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.vv-step h3 { font-size: 32px; margin: 0; line-height: 1; }
.vv-step p { margin: 0; font-size: 14px; color: var(--vv-ink-soft); }
.vv-step__arrow { margin-top: auto; width: 40px; height: 16px; color: var(--vv-accent); }

/* CONDITIONS */
.vv-conditions {
  background: var(--vv-tone-3);
  position: relative; overflow: hidden;
}
.vv-conditions__accent-rule {
  position: absolute;
  left: -10%; right: -10%; top: 30%; height: 1px;
  background: var(--vv-accent); opacity: 0.35;
  transform: rotate(-3deg);
  transform-origin: center;
}
.vv-conditions__header {
  margin-bottom: 64px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
}
.vv-conditions__header h2 {
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1.04; margin: 14px 0 0;
}
.vv-conditions__header p { color: var(--vv-ink-soft); max-width: 420px; }
.vv-conditions__grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 48px 64px;
  position: relative;
}
.vv-condition-group__head {
  display: flex; align-items: baseline; justify-content: space-between;
  margin-bottom: 16px; padding-bottom: 14px;
  border-bottom: 1px solid var(--vv-accent);
}
.vv-condition-group__head h3 {
  font-size: 22px; margin: 0;
  font-family: var(--vv-font-display);
  font-style: italic; color: var(--vv-accent);
}
.vv-condition-group__count {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  color: var(--vv-muted); text-transform: uppercase;
}
.vv-condition-item {
  display: grid; grid-template-columns: 1fr auto;
  padding: 14px 0;
  border-bottom: 1px solid var(--vv-rule);
  align-items: baseline; gap: 16px;
}
.vv-condition-item:hover .vv-condition-item__name { color: var(--vv-accent); }
.vv-condition-item__name { font-size: 18px; font-family: var(--vv-font-display); color: var(--vv-ink); }
.vv-condition-item__tag {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted);
  letter-spacing: 0.08em; text-transform: uppercase; margin-top: 4px;
}
.vv-condition-item__arrow { color: var(--vv-accent); display: inline-flex; align-items: center; }

/* TESTIMONIALS */
.vv-testimonials {
  background: var(--vv-tone-4);
  position: relative; overflow: hidden;
}
.vv-testimonials__accent-slab {
  position: absolute;
  right: -8%; bottom: -10%;
  width: 45%; height: 55%;
  background: var(--vv-accent); opacity: 0.06;
  transform: skewY(calc(-1 * var(--vv-diag)));
  transform-origin: bottom right;
  pointer-events: none;
}
.vv-testimonials__header {
  margin-bottom: 56px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
}
.vv-testimonials__header h2 {
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.04; margin: 14px 0 0; max-width: 580px;
}
.vv-testimonials__header p { color: var(--vv-ink-soft); max-width: 400px; margin: 0; }
.vv-testimonials__grid {
  display: grid; grid-template-columns: 1.4fr 1fr; gap: 24px;
  position: relative;
}
.vv-testimonial-feat {
  margin: 0;
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 48px;
  display: flex; flex-direction: column;
  position: relative; overflow: hidden;
}
.vv-testimonial-feat__quotemark {
  position: absolute; top: -40px; right: -10px;
  font-size: 280px;
  font-family: var(--vv-font-display);
  font-style: italic; line-height: 1;
  color: var(--vv-accent); opacity: 0.14;
  pointer-events: none;
}
.vv-testimonial-feat__top { display: flex; gap: 24px; margin-bottom: 28px; }
.vv-testimonial-feat__top .label {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase;
}
.vv-testimonial-feat__top .label.accent { color: var(--vv-accent); }
.vv-testimonial-feat__top .label.muted { color: var(--vv-muted); }
.vv-testimonial-feat blockquote {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  font-family: var(--vv-font-display);
  line-height: 1.25;
  flex: 1; color: var(--vv-ink);
}
.vv-testimonial-feat__footer {
  margin-top: 40px; padding-top: 28px;
  border-top: 1px solid var(--vv-rule);
  display: grid; grid-template-columns: 1fr auto;
  align-items: center; gap: 32px;
}
.vv-testimonial-feat__name { font-size: 15px; font-weight: 500; }
.vv-testimonial-feat__since {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted);
  letter-spacing: 0.1em; text-transform: uppercase; margin-top: 2px;
}
.vv-testimonial-feat__stat {
  text-align: right;
  font-family: var(--vv-font-display);
  font-size: 40px; color: var(--vv-accent);
  line-height: 1;
}
.vv-testimonial-feat__statlbl {
  font-family: var(--vv-font-mono);
  font-size: 10px; color: var(--vv-muted);
  letter-spacing: 0.14em; text-transform: uppercase; margin-top: 6px;
}
.vv-testimonials__rail { display: flex; flex-direction: column; gap: 20px; }
.vv-testimonial-rail {
  margin: 0;
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 24px; flex: 1;
  display: flex; flex-direction: column; gap: 14px;
  position: relative;
}
.vv-testimonial-rail::before {
  content: ""; position: absolute;
  top: 0; left: 0; bottom: 0; width: 3px;
  background: var(--vv-accent);
}
.vv-testimonial-rail__top { display: flex; justify-content: space-between; align-items: baseline; }
.vv-testimonial-rail__top .meta {
  font-family: var(--vv-font-mono); font-size: 10px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--vv-accent);
}
.vv-testimonial-rail__top .mo {
  font-family: var(--vv-font-mono); font-size: 10px;
  color: var(--vv-muted); letter-spacing: 0.12em;
}
.vv-testimonial-rail blockquote {
  margin: 0; font-size: 17px;
  font-family: var(--vv-font-display);
  line-height: 1.35; color: var(--vv-ink);
}
.vv-testimonial-rail figcaption {
  margin-top: auto; padding-top: 14px;
  border-top: 1px solid var(--vv-rule);
  display: flex; justify-content: space-between; align-items: baseline;
}
.vv-testimonial-rail__name { font-size: 13px; font-weight: 500; }
.vv-testimonial-rail__stat {
  font-family: var(--vv-font-display);
  font-size: 20px; color: var(--vv-accent);
}
.vv-testimonial-rail__stat span {
  font-family: var(--vv-font-mono);
  font-size: 9px; color: var(--vv-muted);
  letter-spacing: 0.12em; text-transform: uppercase; margin-left: 8px;
}

/* CTA */
.vv-cta {
  position: relative;
  background: #0d0b08; color: #f4e8c9;
  padding: 140px 64px; overflow: hidden;
}
.vv-cta__slab {
  position: absolute; right: -10%; top: -40%;
  width: 55%; height: 180%;
  background: linear-gradient(180deg, #d4b962 0%, #f5df8c 100%);
  transform: rotate(-14deg);
  transform-origin: top right;
  opacity: 0.92; pointer-events: none;
}
.vv-cta__topline {
  position: absolute; left: 0; right: 0; top: 0; height: 1px;
  background: rgba(245,223,140,0.2);
}
.vv-cta__grid {
  position: relative;
  display: grid; grid-template-columns: 1.6fr 1fr;
  gap: 60px; align-items: end;
  max-width: 1200px; margin: 0 auto;
}
.vv-cta__grid .eyebrow { color: rgba(244,232,201,0.6); }
.vv-cta h2 {
  font-size: clamp(48px, 7vw, 88px);
  margin: 16px 0 0; line-height: 0.96;
  color: #f4e8c9; max-width: 820px;
  font-family: var(--vv-font-display);
  font-weight: 400; letter-spacing: -0.02em;
}
.vv-cta h2 em { color: var(--vv-accent); }
.vv-cta__buttons {
  margin-top: 44px;
  display: flex; gap: 16px; align-items: center; flex-wrap: wrap;
}
.vv-cta__buttons .vv-btn { padding: 18px 28px; font-size: 15px; }
.vv-cta__card {
  position: relative; z-index: 2;
  background: #0d0b08;
  border: 1px solid rgba(244,232,201,0.2);
  padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
}
.vv-cta__card .label {
  font-family: var(--vv-font-mono); font-size: 10px;
  letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--vv-accent);
}
.vv-cta__card .availability {
  font-family: var(--vv-font-display);
  font-size: 28px; line-height: 1;
  color: #f4e8c9;
}
.vv-cta__card .note {
  font-size: 13px; color: rgba(244,232,201,0.7);
  line-height: 1.5;
}
.vv-cta__card .foot {
  border-top: 1px solid rgba(244,232,201,0.15);
  padding-top: 12px; margin-top: 6px;
  font-size: 12px; color: rgba(244,232,201,0.55);
  font-family: var(--vv-font-mono);
}

/* FOOTER */
.vv-footer {
  background: #0d0b08;
  color: #f4e8c9;
  padding: 72px 64px 32px;
  border-top: 1px solid rgba(244,232,201,0.12);
}
.vv-footer__grid {
  max-width: 1200px; margin: 0 auto;
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 48px;
}
.vv-footer__brand-blurb {
  max-width: 320px; margin-top: 18px;
  color: rgba(244,232,201,0.7);
  font-size: 14px; line-height: 1.55;
}
.vv-footer__col h4 {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--vv-accent);
  margin: 0 0 18px; font-weight: 500;
}
.vv-footer__col a, .vv-footer__col div {
  display: block; font-size: 14px; padding: 6px 0;
  color: rgba(244,232,201,0.8);
}
.vv-footer__col a:hover { color: var(--vv-accent); }
.vv-footer__bottom {
  max-width: 1200px; margin: 56px auto 0;
  padding-top: 22px;
  border-top: 1px solid rgba(244,232,201,0.15);
  display: flex; justify-content: space-between;
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(244,232,201,0.5);
}
.vv-footer__socials { display: flex; gap: 12px; margin-top: 18px; }
.vv-footer__socials a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px;
  border: 1px solid rgba(244,232,201,0.25);
  color: rgba(244,232,201,0.8);
}
.vv-footer__socials a:hover { color: var(--vv-accent); border-color: var(--vv-accent); }
.vv-footer__socials svg { width: 14px; height: 14px; }

/* ──────── SERVICE DETAIL: PHASES, MEDS, INCLUDED, ELIGIBILITY, PATIENT STORY, FAQ ──────── */

/* Phases — 4-column grid, similar to Steps but with different metadata */
.vv-phases { background: var(--vv-tone-1); }
.vv-phases__header {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  align-items: end; margin-bottom: 56px;
}
.vv-phases__header h2 {
  font-size: clamp(34px, 4.5vw, 54px); line-height: 1.02; margin: 14px 0 0;
}
.vv-phases__intro { font-size: 16px; color: var(--vv-ink-soft); max-width: 440px; }
.vv-phases__grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-top: 1px solid var(--vv-rule);
}
.vv-phase {
  padding: 28px 24px 32px;
  border-right: 1px solid var(--vv-rule);
  border-bottom: 1px solid var(--vv-rule);
  display: flex; flex-direction: column; gap: 14px;
  min-height: 280px; position: relative;
}
.vv-phase:last-child { border-right: none; }
.vv-phase__top {
  display: flex; justify-content: space-between; align-items: center;
}
.vv-phase__when {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted);
  letter-spacing: 0.12em; text-transform: uppercase;
}
.vv-phase h3 { font-size: 30px; margin: 0; line-height: 1; }
.vv-phase p { margin: 0; font-size: 14px; color: var(--vv-ink-soft); }
.vv-phase__footer {
  margin-top: auto;
  display: flex; justify-content: space-between; align-items: center;
}
.vv-phase__tag {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.16em;
  color: var(--vv-accent); text-transform: uppercase;
}
.vv-phase__arrow { width: 40px; height: 16px; color: var(--vv-accent); }

/* Medications — 3-column card grid with one accent (popular) */
.vv-medications {
  background: var(--vv-tone-3);
  position: relative; overflow: hidden;
}
.vv-medications__accent-rule {
  position: absolute;
  left: -10%; right: -10%; top: 22%; height: 1px;
  background: var(--vv-accent); opacity: 0.35;
  transform: rotate(-3deg); transform-origin: center;
}
.vv-medications__header {
  margin-bottom: 56px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
}
.vv-medications__header h2 {
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1.04; margin: 14px 0 0;
}
.vv-medications__header p { color: var(--vv-ink-soft); max-width: 420px; }
.vv-medications__grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
  position: relative;
}
.vv-med-card {
  background: var(--vv-card); color: var(--vv-ink);
  border: 1px solid var(--vv-rule);
  padding: 28px;
  display: flex; flex-direction: column; gap: 14px;
  min-height: 420px;
  position: relative;
}
.vv-med-card--accent {
  background: var(--vv-accent);
  color: #0d0b08;
}
.vv-med-card__top {
  display: flex; justify-content: space-between; align-items: flex-start;
}
.vv-med-card__tag {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vv-muted);
}
.vv-med-card--accent .vv-med-card__tag { color: rgba(13,11,8,0.7); }
.vv-med-card--accent .vv-num { color: #0d0b08; }
.vv-med-card h3 { font-size: 36px; margin: 8px 0 4px; line-height: 1; color: inherit; }
.vv-med-card__sub {
  font-size: 13px; color: var(--vv-ink-soft);
  font-style: italic;
  font-family: var(--vv-font-display);
}
.vv-med-card--accent .vv-med-card__sub { color: rgba(13,11,8,0.7); }
.vv-med-card__specs {
  border-top: 1px solid var(--vv-rule);
  padding-top: 14px;
  display: flex; flex-direction: column; gap: 10px;
}
.vv-med-card--accent .vv-med-card__specs { border-top-color: rgba(13,11,8,0.2); }
.vv-med-card__spec {
  display: grid; grid-template-columns: 110px 1fr; align-items: baseline; gap: 12px;
}
.vv-med-card__spec .k {
  font-family: var(--vv-font-mono);
  font-size: 10px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--vv-muted);
}
.vv-med-card--accent .vv-med-card__spec .k { color: rgba(13,11,8,0.6); }
.vv-med-card__spec .v {
  font-size: 16px; font-family: var(--vv-font-display);
}
.vv-med-card__notes {
  margin: 4px 0 0; font-size: 13px; line-height: 1.55;
  color: var(--vv-ink-soft);
}
.vv-med-card--accent .vv-med-card__notes { color: rgba(13,11,8,0.78); }
.vv-med-card__footer {
  margin-top: auto; padding-top: 16px;
  border-top: 1px solid var(--vv-rule);
}
.vv-med-card--accent .vv-med-card__footer { border-top-color: rgba(13,11,8,0.2); }
.vv-med-card__footer a {
  color: inherit; font-size: 13px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 8px;
}

/* Included — diagonal dark section, 1.1fr/1fr grid */
.vv-included { color: var(--vv-primary-ink); }
.vv-included .vv-diag-bg { background: var(--vv-tone-2); }
.vv-included__grid {
  display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start;
}
.vv-included h2 {
  font-size: clamp(34px, 4.5vw, 52px);
  margin: 14px 0 28px; line-height: 1.04; color: inherit;
}
.vv-included h2 em { color: var(--vv-accent-2); }
.vv-included__intro {
  font-size: 16px; color: rgba(242,236,224,0.8);
  max-width: 460px; line-height: 1.55;
}
.vv-included__buttons { margin-top: 36px; display: flex; gap: 12px; flex-wrap: wrap; }
.vv-included__list { display: flex; flex-direction: column; }
.vv-included__row {
  display: grid; grid-template-columns: 24px 1fr;
  padding: 16px 0;
  border-bottom: 1px solid rgba(244,232,201,0.18);
  gap: 16px; align-items: baseline;
}
.vv-included__row .plus {
  color: var(--vv-accent-2);
  font-family: var(--vv-font-display);
  font-size: 22px; line-height: 1;
}
.vv-included__row .k {
  font-size: 18px; font-family: var(--vv-font-display);
}
.vv-included__row .v {
  font-size: 13px; color: rgba(242,236,224,0.7); margin-top: 2px;
}

/* Eligibility — 2-column cards + safety strip */
.vv-eligibility { background: var(--vv-tone-0); }
.vv-eligibility__header {
  margin-bottom: 56px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
}
.vv-eligibility__header h2 {
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1.04; margin: 14px 0 0;
}
.vv-eligibility__header p { color: var(--vv-ink-soft); max-width: 420px; }
.vv-eligibility__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.vv-eligibility-card {
  background: var(--vv-card); border: 1px solid var(--vv-rule);
  padding: 32px;
  display: flex; flex-direction: column; gap: 16px;
}
.vv-eligibility-card__top {
  display: flex; justify-content: space-between; align-items: baseline;
}
.vv-eligibility-card__top .label {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase;
}
.vv-eligibility-card__top .label.accent { color: var(--vv-accent); }
.vv-eligibility-card__top .label.muted { color: var(--vv-muted); }
.vv-eligibility-card__top .meta {
  font-family: var(--vv-font-mono);
  font-size: 11px; color: var(--vv-muted); letter-spacing: 0.12em;
}
.vv-eligibility-card h3 {
  font-size: 24px; margin: 0; font-family: var(--vv-font-display);
}
.vv-eligibility-card ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 10px;
}
.vv-eligibility-card li {
  font-size: 14px; color: var(--vv-ink-soft);
  display: flex; gap: 12px; line-height: 1.5;
}
.vv-eligibility-card li .mark {
  font-family: var(--vv-font-display);
  font-size: 18px; line-height: 1; flex-shrink: 0;
}
.vv-eligibility-card--fit li .mark { color: var(--vv-accent); }
.vv-eligibility-card--caution li .mark { color: var(--vv-muted); }
.vv-safety-strip {
  margin-top: 28px; padding: 20px 28px;
  border: 1px solid var(--vv-rule);
  display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center;
  background: var(--vv-card);
}
.vv-safety-strip span { font-size: 14px; color: var(--vv-ink-soft); }
.vv-safety-strip a {
  color: var(--vv-ink); font-size: 13px; font-weight: 500;
  display: inline-flex; align-items: center; gap: 8px;
}
.vv-safety-strip a:hover { color: var(--vv-accent); }

/* Patient story — featured quote + lab delta panel */
.vv-patient-story {
  background: var(--vv-tone-4);
  position: relative; overflow: hidden;
}
.vv-patient-story__accent-slab {
  position: absolute;
  right: -8%; bottom: -10%; width: 45%; height: 55%;
  background: var(--vv-accent); opacity: 0.06;
  transform: skewY(calc(-1 * var(--vv-diag)));
  transform-origin: bottom right;
  pointer-events: none;
}
.vv-patient-story__header { margin-bottom: 56px; }
.vv-patient-story__header h2 {
  font-size: clamp(34px, 4.5vw, 52px);
  line-height: 1.04; margin: 14px 0 0; max-width: 700px;
}
.vv-patient-story__grid {
  display: grid; grid-template-columns: 1.2fr 1fr; gap: 32px;
  align-items: stretch; position: relative;
}
.vv-lab-panel {
  background: var(--vv-card); border: 1px solid var(--vv-rule);
  padding: 32px;
  display: flex; flex-direction: column;
  position: relative;
}
.vv-lab-panel::before {
  content: ""; position: absolute;
  top: 0; left: 0; bottom: 0; width: 3px;
  background: var(--vv-accent);
}
.vv-lab-panel__top {
  display: flex; justify-content: space-between; align-items: baseline;
  margin-bottom: 22px;
}
.vv-lab-panel__top .label {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--vv-muted);
}
.vv-lab-panel__top .verified {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.12em;
  color: var(--vv-accent);
}
.vv-lab-row {
  display: grid; grid-template-columns: 1.1fr auto auto auto;
  gap: 14px; padding: 12px 0;
  border-bottom: 1px solid var(--vv-rule);
  align-items: baseline;
}
.vv-lab-row:last-child { border-bottom: none; }
.vv-lab-row .name { font-size: 14px; color: var(--vv-ink); }
.vv-lab-row .a, .vv-lab-row .b, .vv-lab-row .delta {
  font-family: var(--vv-font-mono); font-size: 12px;
}
.vv-lab-row .a { color: var(--vv-muted); }
.vv-lab-row .b { color: var(--vv-ink); }
.vv-lab-row .delta { color: var(--vv-accent-2); text-align: right; min-width: 56px; }

/* FAQ — CSS-only accordion via <details> */
.vv-faq { background: var(--vv-tone-1); }
.vv-faq__header {
  margin-bottom: 48px;
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: end;
}
.vv-faq__header h2 {
  font-size: clamp(34px, 4.5vw, 52px); line-height: 1.04; margin: 14px 0 0;
}
.vv-faq__header p { color: var(--vv-ink-soft); max-width: 420px; }
.vv-faq__list { border-top: 1px solid var(--vv-rule); }
.vv-faq__item { border-bottom: 1px solid var(--vv-rule); }
.vv-faq__item summary {
  list-style: none; cursor: pointer;
  padding: 24px 0;
  display: grid; grid-template-columns: 40px 1fr 24px;
  gap: 24px; align-items: baseline;
  color: inherit;
}
.vv-faq__item summary::-webkit-details-marker { display: none; }
.vv-faq__item summary .q {
  font-size: 22px; font-family: var(--vv-font-display); color: var(--vv-ink);
}
.vv-faq__item summary .plus {
  color: var(--vv-accent);
  font-family: var(--vv-font-display); font-size: 22px;
  transition: transform .2s;
  display: inline-block;
}
.vv-faq__item[open] summary .plus { transform: rotate(45deg); }
.vv-faq__item .vv-faq__answer {
  display: grid; grid-template-columns: 40px 1fr 24px;
  gap: 24px; padding: 0 0 28px;
}
.vv-faq__item .vv-faq__answer p {
  margin: 0; font-size: 16px; line-height: 1.6;
  color: var(--vv-ink-soft); max-width: 720px;
}

/* PAGE HELPERS */
.vv-prose { max-width: 720px; }
.vv-prose p { margin: 0 0 16px; font-size: 16px; line-height: 1.65; color: var(--vv-ink); }
.vv-prose h2 { font-size: 32px; margin: 32px 0 14px; }
.vv-prose h3 { font-size: 22px; margin: 24px 0 10px; }
.vv-prose ul, .vv-prose ol { margin: 0 0 16px; padding-left: 20px; line-height: 1.65; }
.vv-prose a { color: var(--vv-accent); text-decoration: underline; text-underline-offset: 3px; }

.vv-page-head {
  background: var(--vv-primary);
  color: var(--vv-primary-ink);
  padding: 96px 64px 72px;
  position: relative; overflow: hidden;
}
.vv-page-head .eyebrow { color: var(--vv-accent); }
.vv-page-head h1 {
  font-size: clamp(42px, 7vw, 88px);
  line-height: 0.98;
  margin: 14px 0 0;
  max-width: 1100px;
  color: var(--vv-primary-ink);
}
.vv .vv-page-head__intro {
  max-width: 720px; margin-top: 44px;
  font-size: 18px; color: rgba(244,232,201,0.78);
  line-height: 1.55;
}

.vv-locations-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.vv-location-card {
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 28px;
  display: flex; flex-direction: column; gap: 10px;
  color: var(--vv-ink);
}
a.vv-location-card { text-decoration: none; }
.vv-location-card:hover,
.vv-location-card:focus-within { border-color: var(--vv-accent); }
.vv-location-card h3 {
  font-family: var(--vv-font-display);
  font-size: 28px;
  line-height: 1.05;
  margin: 0;
  color: var(--vv-ink);
}
.vv-location-card__top {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-family: var(--vv-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
}
.vv-location-card__top .accent { color: var(--vv-accent); }
.vv-location-card .vv-nav__phone a { color: var(--vv-ink); }
.vv-location-card .vv-nav__phone a:hover { color: var(--vv-accent); }
.vv-location-card__cta {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--vv-rule);
  font-family: var(--vv-font-mono);
  font-size: 11px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vv-ink);
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.vv-location-card__cta:hover { color: var(--vv-accent); }
.vv-location-card .city { font-family: var(--vv-font-display); font-size: 28px; line-height: 1.05; }
.vv-location-card .state {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vv-accent);
}
.vv-location-card .more {
  margin-top: 14px;
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase;
  display: inline-flex; gap: 8px; align-items: center;
}

.vv-svc-hub-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.vv-svc-hub-card {
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 32px;
  display: flex; flex-direction: column; gap: 12px;
  color: var(--vv-ink);
}
.vv-svc-hub-card:hover { border-color: var(--vv-accent); }
.vv-svc-hub-card .num { font-family: var(--vv-font-mono); font-size: 11px; letter-spacing: 0.12em; color: var(--vv-accent); }
.vv-svc-hub-card h3 { font-size: 28px; margin: 0; line-height: 1.1; }
.vv-svc-hub-card p { font-size: 14px; color: var(--vv-ink-soft); margin: 0; }
.vv-svc-hub-card .more {
  margin-top: 18px;
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase;
  display: inline-flex; gap: 8px; align-items: center;
}

/* Provider headshot inside a hub card */
.vv-provider-photo {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  margin: -32px -32px 20px;
  width: calc(100% + 64px);
  background: var(--vv-bg-2);
  border-bottom: 1px solid var(--vv-rule);
  filter: saturate(0.85) contrast(1.02);
}
.vv-svc-hub-card .vv-services-b__tag {
  margin: -4px 0 8px;
}
.vv-svc-hub-card__tags {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--vv-rule);
  display: flex; flex-wrap: wrap; gap: 6px 10px;
}
.vv-svc-hub-card__tags span {
  font-family: var(--vv-font-mono);
  font-size: 10px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vv-muted);
}

.vv-blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.blog-card {
  background: var(--vv-card);
  border: 1px solid var(--vv-rule);
  padding: 28px;
  display: flex; flex-direction: column;
  color: var(--vv-ink);
}
.blog-card:hover { border-color: var(--vv-accent); }
.blog-card .date {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vv-accent);
  margin-bottom: 14px;
}
.blog-card h2 { font-size: 22px; margin: 0 0 12px; line-height: 1.2; }
.blog-card p { font-size: 14px; color: var(--vv-ink-soft); line-height: 1.55; margin: 0; }
.blog-card .more {
  margin-top: 18px;
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  color: var(--vv-accent);
}

.vv-post { padding: 64px 64px 96px; }
.vv-post .meta {
  font-family: var(--vv-font-mono);
  font-size: 11px; letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vv-accent);
  margin-bottom: 14px;
}
.vv-post h1 {
  font-size: clamp(36px, 5vw, 64px);
  margin: 0 0 32px; line-height: 1.02;
  max-width: 880px;
}
.vv-post__body { max-width: 720px; }
.vv-post__body p { margin: 0 0 18px; font-size: 17px; line-height: 1.65; }
.vv-post__body h2 { font-size: 28px; margin: 32px 0 14px; }
.vv-post__body h3 { font-size: 22px; margin: 24px 0 10px; }
.vv-post__body a { color: var(--vv-accent); text-decoration: underline; text-underline-offset: 3px; }

/* RESPONSIVE */
.vv-nav__mobile-toggle { display: none; }
.vv-nav__drawer { display: none; }
@media (max-width: 960px) {
  .vv-section, .vv-section--tight { padding: 64px 24px; }
  .vv-diag-section { padding: 96px 24px; }
  .vv-nav { padding: 18px 24px; }
  .vv-nav__links, .vv-nav__cta { display: none; }
  details.vv-nav__drawer { display: block; position: relative; }
  details.vv-nav__drawer summary {
    list-style: none; cursor: pointer;
    background: transparent; border: 1px solid var(--vv-rule);
    padding: 8px 12px;
    font-family: var(--vv-font-mono);
    font-size: 11px; letter-spacing: 0.16em;
    text-transform: uppercase; color: inherit;
  }
  details.vv-nav__drawer summary::-webkit-details-marker { display: none; }
  details.vv-nav__drawer[open] .vv-nav__drawer-body {
    display: flex; flex-direction: column;
    position: absolute; top: calc(100% + 14px); right: 0;
    background: var(--vv-primary);
    border: 1px solid var(--vv-rule);
    padding: 18px 22px; z-index: 50;
    min-width: 240px;
  }
  details.vv-nav__drawer .vv-nav__drawer-body { display: none; }
  details.vv-nav__drawer .vv-nav__drawer-body a {
    padding: 8px 0;
    color: var(--vv-primary-ink); font-size: 14px;
  }
  details.vv-nav__drawer .vv-nav__drawer-body a:hover { color: var(--vv-accent); }
  details.vv-nav__drawer .vv-nav__drawer-body .phone {
    border-top: 1px solid rgba(244,232,201,0.15);
    margin-top: 10px; padding-top: 12px;
    font-family: var(--vv-font-mono);
    font-size: 11px; letter-spacing: 0.16em;
    color: var(--vv-accent);
  }
  .vv-hero__body { padding: 48px 24px 64px; min-height: auto; }
  .vv-hero { min-height: auto; }
  .vv-hero__lede { grid-template-columns: 1fr; gap: 24px; }
  .vv-hero__lede-rule { display: none; }
  .vv-hero--split .vv-hero__grid { grid-template-columns: 1fr; min-height: auto; }
  .vv-hero--split .vv-hero__left { padding: 48px 24px 64px; }
  .vv-hero__right { min-height: 420px; }
  .vv-hero__photo-frame { height: 360px; width: 280px; border-width: 4px; }
  .vv-hero__callout { left: 24px; right: 24px; bottom: 24px; width: auto; }
  .vv-hero__right-slab { top: 0; right: -40px; bottom: 0; left: -10px; }
  .vv-hero__inline-stats { gap: 32px; margin-top: 48px; padding-top: 18px; }
  .vv-dossier-strip { padding: 12px 24px; grid-template-columns: 1fr 1fr; gap: 12px; font-size: 9.5px; }
  .vv-dossier-strip .right { text-align: left; }
  .vv-stat-ledger { grid-template-columns: repeat(2, 1fr); }
  .vv-stat-ledger > div { border-right: none; border-bottom: 1px solid rgba(244,232,201,0.18); }
  .vv-stat-ledger > div:nth-child(2n) { border-right: none; }
  .vv-services__header { grid-template-columns: 1fr; }
  .vv-services__grid { grid-template-columns: repeat(2, 1fr); }
  .vv-services-b__header { grid-template-columns: 1fr; }
  .vv-services-b__grid { grid-template-columns: 1fr; gap: 32px; }
  .vv-services-b__preview { position: static; }
  .vv-services-b__preview .vv-photo { height: 240px; }
  .vv-services-b__row { grid-template-columns: 48px 1fr auto; gap: 16px; }
  .vv-philosophy__grid { grid-template-columns: 1fr; gap: 36px; }
  .vv-steps__header { flex-direction: column; align-items: start; }
  .vv-steps__grid { grid-template-columns: 1fr 1fr; }
  .vv-step:nth-child(2n) { border-right: none; }
  .vv-conditions__header { grid-template-columns: 1fr; }
  .vv-conditions__grid { grid-template-columns: 1fr; }
  .vv-testimonials__header { grid-template-columns: 1fr; }
  .vv-testimonials__grid { grid-template-columns: 1fr; }
  .vv-cta { padding: 96px 24px; }
  .vv-cta__grid { grid-template-columns: 1fr; gap: 36px; }
  .vv-footer { padding: 48px 24px 28px; }
  .vv-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .vv-footer__bottom { flex-direction: column; gap: 14px; }
  .vv-locations-grid { grid-template-columns: 1fr; }
  .vv-svc-hub-grid { grid-template-columns: 1fr; }
  .vv-blog-grid { grid-template-columns: 1fr; }
  .vv-phases__header { grid-template-columns: 1fr; }
  .vv-phases__grid { grid-template-columns: 1fr 1fr; }
  .vv-phase:nth-child(2n) { border-right: none; }
  .vv-medications__header { grid-template-columns: 1fr; }
  .vv-medications__grid { grid-template-columns: 1fr; }
  .vv-included__grid { grid-template-columns: 1fr; gap: 36px; }
  .vv-eligibility__header { grid-template-columns: 1fr; }
  .vv-eligibility__grid { grid-template-columns: 1fr; }
  .vv-safety-strip { grid-template-columns: 1fr; gap: 14px; }
  .vv-patient-story__grid { grid-template-columns: 1fr; }
  .vv-faq__header { grid-template-columns: 1fr; }
  .vv-faq__item summary { grid-template-columns: 32px 1fr 24px; gap: 14px; }
  .vv-faq__item summary .q { font-size: 18px; }
  .vv-faq__item .vv-faq__answer { grid-template-columns: 32px 1fr 24px; gap: 14px; }
  .vv-page-head { padding: 64px 24px 48px; }
  .vv-post { padding: 48px 24px 64px; }
}
@media (max-width: 640px) {
  .vv-services__grid { grid-template-columns: 1fr; }
  .vv-steps__grid { grid-template-columns: 1fr; }
  .vv-step { border-right: none; }
  .vv-footer__grid { grid-template-columns: 1fr; }
}

/* ──────── LOCATION PAGE — mobile responsive overrides ────────
   The location pages (las-vegas, albuquerque, boca-raton, coral-gables,
   brookfield, omaha) use heavy inline styles to match the editorial JSX
   design. These rules use `!important` to override inline styles on
   small viewports. */

@media (max-width: 960px) {
  .vv-loc-page section { overflow: hidden; }

  /* Hero H1 — scale down from 116px */
  .vv-loc-page h1 {
    font-size: clamp(40px, 10vw, 84px) !important;
    line-height: 0.98 !important;
    letter-spacing: -0.02em !important;
    text-wrap: balance;
  }

  /* Section H2s */
  .vv-loc-page section h2 {
    font-size: clamp(30px, 7vw, 48px) !important;
    line-height: 1.05 !important;
  }

  /* All 5-col dossier strips → 2-col */
  .vv-loc-page [style*="grid-template-columns:repeat(5,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
    padding: 12px 20px !important;
    gap: 8px 12px !important;
    font-size: 9px !important;
  }
  .vv-loc-page [style*="grid-template-columns:repeat(5,1fr)"] > span:last-child {
    text-align: left !important;
  }

  /* Hero body container — reduce padding */
  .vv-loc-page [style*="padding:88px 64px 56px"] {
    padding: 56px 20px 40px !important;
  }

  /* Headline + portrait 2-col → stack */
  .vv-loc-page [style*="grid-template-columns:1.45fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  /* Lede 5-col with dividers → stack, hide dividers */
  .vv-loc-page [style*="grid-template-columns:1fr 1px 1fr 1px 320px"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-top: 32px !important;
  }
  .vv-loc-page [style*="grid-template-columns:1fr 1px 1fr 1px 320px"] > div[style*="background:rgba(244,232,201,0.18)"] {
    display: none !important;
  }

  /* 5-cell stat ledger → 2-col */
  .vv-loc-page [style*="grid-template-columns:1.4fr 1.2fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr 1fr !important;
    padding: 0 !important;
  }
  .vv-loc-page [style*="grid-template-columns:1.4fr 1.2fr 1fr 1fr 1fr"] > div {
    border-right: none !important;
    border-bottom: 1px solid rgba(244,232,201,0.18) !important;
    padding: 18px 20px !important;
  }
  .vv-loc-page [style*="grid-template-columns:1.4fr 1.2fr 1fr 1fr 1fr"] > div:nth-child(odd) {
    border-right: 1px solid rgba(244,232,201,0.18) !important;
  }

  /* Map block 2-col → stack */
  .vv-loc-page [style*="grid-template-columns:1.4fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Driving directions 3-col → stack */
  .vv-loc-page [style*="grid-template-columns:repeat(3,1fr)"] {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }

  /* Services 2-col index → stack */
  .vv-loc-page [style*="grid-template-columns:repeat(2,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  /* Service row inside services index — remove right border on mobile (single col) */
  .vv-loc-page [style*="grid-template-columns:repeat(2,1fr)"] > a[style*="border-right"] {
    border-right: none !important;
  }

  /* Neighborhoods 4-col → 2-col */
  .vv-loc-page [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr 1fr !important;
  }
  .vv-loc-page [style*="grid-template-columns:repeat(4,1fr)"] > div[style*="border-right"] {
    border-right: none !important;
  }
  .vv-loc-page [style*="grid-template-columns:repeat(4,1fr)"] > div:nth-child(odd) {
    border-right: 1px solid rgba(244,232,201,0.18) !important;
  }

  /* Header 2-col (eyebrow+h2 / intro) → stack */
  .vv-loc-page header[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }

  /* Section padding — vv-section inside location page */
  .vv-loc-page .vv-section { padding: 56px 20px !important; }

  /* Reduce internal padding on cards / panels */
  .vv-loc-page figure[style*="padding:48px"],
  .vv-loc-page div[style*="padding:32px"] {
    padding: 24px !important;
  }
  .vv-loc-page figure[style*="padding:24px"],
  .vv-loc-page div[style*="padding:24px"] {
    padding: 20px !important;
  }

  /* Quotemark watermark — shrink so it doesn't overflow */
  .vv-loc-page div[style*="font-size:280px"] {
    font-size: 180px !important;
    top: -20px !important;
    right: 0 !important;
  }

  /* Big featured review quote */
  .vv-loc-page blockquote[style*="font-size:28px"] {
    font-size: 20px !important;
  }
}

@media (max-width: 480px) {
  /* Stat ledger fully stacks on small phones */
  .vv-loc-page [style*="grid-template-columns:1.4fr 1.2fr 1fr 1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
  .vv-loc-page [style*="grid-template-columns:1.4fr 1.2fr 1fr 1fr 1fr"] > div:nth-child(odd) {
    border-right: none !important;
  }
  /* Neighborhoods single column on tiny phones */
  .vv-loc-page [style*="grid-template-columns:repeat(4,1fr)"] {
    grid-template-columns: 1fr !important;
  }
  .vv-loc-page [style*="grid-template-columns:repeat(4,1fr)"] > div:nth-child(odd) {
    border-right: none !important;
  }
}
