/* ==========================================================================
   Mathias Health & Performance — HOMEPAGE "WOW" LOOKS (Depth / Chapters / Sequence)
   Loads AFTER home-bespoke.css and extends it. Bo's palette. Homepage only.
   Looks via body class: .look--depth · .look--chapters · .look--sequence
   Parallax: [data-speed] engine + sticky chapters + scrollytelling (home-wow.js).
   All motion honors prefers-reduced-motion. Placeholder media.
   ========================================================================== */

/* token gap: bespoke defines --blue but not an AA-safe text blue */
:root { --blue-text: #2e7cb0; }

/* ---- look type personalities ---- */
body.look--depth    { --display: "Archivo", "Geist", sans-serif; }
body.look--depth h1, body.look--depth h2 { font-weight: 800; font-stretch: 118%; letter-spacing: 0.004em; text-transform: uppercase; }
body.look--depth h3 { font-weight: 700; font-stretch: 110%; }

body.look--chapters { --display: "Switzer", "Geist", sans-serif; }
body.look--chapters h1, body.look--chapters h2 { font-weight: 700; letter-spacing: -0.03em; }

body.look--sequence { --display: "Author", "Geist", sans-serif; }
body.look--sequence h1, body.look--sequence h2 { font-weight: 700; letter-spacing: -0.018em; }

/* footer must ride above sticky media layers */
.ftr { position: relative; z-index: 2; }

/* ---- film grain (Depth) ---- */
body.grain::after {
  content: ""; position: fixed; inset: 0; z-index: 100; pointer-events: none; opacity: 0.045;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- conditions marquee ---- */
.strip { background: var(--ink); color: #fff; padding: 1.1rem 0; overflow: hidden; }
body.look--chapters .strip { background: var(--navy); }
.strip__row { display: flex; gap: 2.5rem; white-space: nowrap; animation: marquee 34s linear infinite; width: max-content; }
.strip__row span { font-size: 1.05rem; font-weight: 500; display: inline-flex; align-items: center; gap: 2.5rem; color: rgba(255,255,255,0.92); }
.strip__row span::after { content: "·"; color: var(--red); }
body.look--chapters .strip__row span::after { color: var(--blue); }
@keyframes marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .strip__row { animation: none; } }

/* ---- method 3-up (numbered steps) ---- */
.steps { display: grid; gap: 2.5rem; grid-template-columns: 1fr; }
@media (min-width: 52em) { .steps { grid-template-columns: repeat(3, 1fr); gap: 2rem; } }
.step { padding-top: 2.4rem; border-top: 2px solid var(--ink); }
.step__num { font-family: var(--display); font-size: clamp(2.8rem, 2.2rem + 2vw, 4rem); font-weight: 700; line-height: 1; color: var(--red-ink); letter-spacing: -0.02em; }
body.look--chapters .step__num { color: var(--blue-text); }
.step h3 { font-size: var(--h3); margin: 0.8rem 0 0.5rem; }
.step p { color: var(--ink-soft); max-width: 32ch; }

/* ---- masked line reveals (h1) ---- */
.h-lines { opacity: 1 !important; transform: none !important; }
.mask { display: block; overflow: hidden; padding-bottom: 0.09em; margin-bottom: -0.09em; }
.mask__in { display: inline-block; transform: translateY(115%); transition: transform 1s var(--ease); transition-delay: var(--d, 0s); will-change: transform; }
.h-lines.in .mask__in { transform: none; }
@media (prefers-reduced-motion: reduce) { .mask__in { transform: none !important; } }

/* ---- ghost outline word (Depth hero) ---- */
.ghost {
  position: absolute; right: -0.06em; bottom: 18%; z-index: 1; pointer-events: none;
  font-family: var(--display); font-weight: 800; font-stretch: 125%; text-transform: uppercase;
  font-size: clamp(7rem, 4rem + 18vw, 19rem); line-height: 1; color: transparent;
  -webkit-text-stroke: 1px rgba(254, 254, 254, 0.28); letter-spacing: 0.02em;
}

/* ---- Depth hero media (oversized for parallax travel) ---- */
.hero--depth .hero__media { inset: -14% 0; }
.hero--depth .hero__body { padding-bottom: clamp(2rem, 4vw, 3.5rem); }

/* ---- Depth collage paths ---- */
.collage { display: grid; grid-template-columns: repeat(12, 1fr); position: relative; }
.citem { position: relative; }
.citem__n {
  position: absolute; top: -0.52em; left: -0.15em; z-index: 3; pointer-events: none;
  font-family: var(--display); font-weight: 800; font-stretch: 122%; line-height: 1;
  font-size: clamp(4.4rem, 3rem + 5vw, 7.5rem); color: transparent; -webkit-text-stroke: 1.5px var(--red);
}
.ccard { position: relative; border-radius: 4px; overflow: clip; isolation: isolate; display: flex; align-items: flex-end; min-height: 30rem; }
.ccard img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); transition: transform 0.8s var(--ease); }
.ccard::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(10,10,10,0.86) 5%, rgba(10,10,10,0.12) 58%, transparent); }
.ccard:hover img { transform: scale(1.05); }
.ccard__body { padding: 1.7rem; color: #fff; }
.ccard__body h3 { color: #fff; font-size: var(--h3); margin-bottom: 0.55rem; }
.ccard__body p { color: rgba(255,255,255,0.85); font-size: 0.95rem; max-width: 34ch; margin-bottom: 1rem; }
@media (min-width: 56em) {
  .citem:nth-child(1) { grid-column: 1 / span 5; z-index: 1; margin-top: 5rem; }
  .citem:nth-child(1) .ccard { min-height: 36rem; }
  .citem:nth-child(2) { grid-column: 5 / span 5; z-index: 2; margin-top: 0; }
  .citem:nth-child(2) .ccard { min-height: 30rem; }
  .citem:nth-child(3) { grid-column: 9 / span 4; z-index: 3; margin-top: 8.5rem; }
  .citem:nth-child(3) .ccard { min-height: 26rem; }
}
@media (max-width: 55.99em) {
  .collage { display: block; }
  .citem { margin-bottom: 3.4rem; }
  .citem__n { font-size: 3.6rem; top: -0.5em; }
}

/* ---- Depth method rows ---- */
.mrows { border-top: 2px solid var(--ink); }
.mrow { display: grid; grid-template-columns: 9rem 1fr 1.6fr; gap: 1.5rem; align-items: baseline; padding: 2.3rem 0; border-bottom: 1px solid var(--line); }
.mrow__n { font-family: var(--display); font-weight: 800; font-stretch: 122%; font-size: clamp(2.6rem, 2rem + 2vw, 4rem); line-height: 1; color: var(--red-ink); }
.mrow h3 { font-size: clamp(1.5rem, 1.2rem + 1vw, 2.1rem); }
.mrow p { color: var(--ink-soft); max-width: 46ch; }
@media (max-width: 47.99em) { .mrow { grid-template-columns: 1fr; gap: 0.4rem; } }

/* ---- CHAPTERS — sticky media the page glides over ---- */
.chapter { position: relative; height: 168vh; }
.chapter--hero { height: 148vh; }
.chapter--cta { height: 150vh; }
.chapter__media { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: clip; background: #0a0a0a; }
.chapter__media img, .chapter__media video { width: 100%; height: 100%; object-fit: cover; }
.chapter__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(9,9,9,0.72) 0%, rgba(9,9,9,0.28) 48%, rgba(9,9,9,0.14) 100%); }
.chapter__inner { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; }
.chapter__inner--center { justify-content: center; text-align: center; }
.chapter__kicker { font-size: 0.76rem; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(255,255,255,0.7); }
.chapter__kicker em { font-style: normal; color: var(--blue); }
.chapter__inner h2, .chapter__inner h1 { color: #fff; font-size: clamp(2.4rem, 1.5rem + 4vw, 5.2rem); max-width: 14ch; margin-top: 0.8rem; }
.chapter__inner--center h2 { margin-inline: auto; }
.chapter__inner p.big { color: rgba(255,255,255,0.88); font-size: var(--lede); max-width: 44ch; margin-top: 1.1rem; }
.chapter__inner--center p.big { margin-inline: auto; }
.chapter__pad { padding: clamp(2.5rem, 6vw, 5rem) 0; }
.chapter__n {
  position: absolute; top: 12vh; right: var(--gutter); font-family: var(--display); font-weight: 700;
  font-size: clamp(5rem, 3rem + 10vw, 12rem); line-height: 1; color: transparent;
  -webkit-text-stroke: 1px rgba(255,255,255,0.34); pointer-events: none;
}
.panel { position: relative; z-index: 2; background: var(--canvas); border-radius: 26px 26px 0 0; margin-top: -12vh; box-shadow: 0 -28px 60px -42px rgba(0,0,0,0.55); }
.panel--paper { background: var(--paper); }
.panel--flat { border-radius: 0; margin-top: 0; box-shadow: none; }

/* ---- SEQUENCE — pinned method scrollytelling ---- */
.seq { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; }
.seq__media { position: sticky; top: 96px; height: min(76vh, 620px); border-radius: 4px; overflow: clip; background: var(--ink); }
.seq__img { position: absolute; inset: 0; opacity: 0; transition: opacity 0.65s var(--ease); }
.seq__img.active { opacity: 1; }
.seq__img img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); }
.seq__step { min-height: 62vh; display: flex; flex-direction: column; justify-content: center; opacity: 0.22; transition: opacity 0.45s var(--ease); }
.seq__step.active { opacity: 1; }
.seq__n { font-family: var(--display); font-weight: 700; font-size: clamp(3.4rem, 2.4rem + 3vw, 5.5rem); line-height: 1; color: var(--red-ink); }
.seq__step h3 { font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.6rem); margin: 0.7rem 0 0.6rem; }
.seq__step p { color: var(--ink-soft); max-width: 40ch; }
.seq__inlineimg { display: none; }
@media (max-width: 55.99em) {
  .seq { display: block; }
  .seq__media { display: none; }
  .seq__step { min-height: 0; opacity: 1; padding: 1.6rem 0; }
  .seq__inlineimg { display: block; border-radius: 4px; margin-bottom: 1.1rem; aspect-ratio: 16/10; object-fit: cover; }
}
@media (prefers-reduced-motion: reduce) { .seq__step { opacity: 1; } }

/* ---- Sequence alternating path rows ---- */
.prow { display: grid; gap: clamp(1.6rem, 4vw, 4rem); grid-template-columns: 1fr; align-items: center; padding-block: clamp(1.6rem, 3vw, 2.6rem); }
@media (min-width: 54em) { .prow { grid-template-columns: 1fr 1fr; } .prow--flip .prow__media { order: 2; } }
.prow__media { position: relative; overflow: clip; border-radius: 4px; aspect-ratio: 16/11; }
.prow__media img { position: absolute; inset: -12% 0; height: 124%; width: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); }
.prow__idx { font-family: var(--body); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.18em; color: var(--red-ink); }
.prow h3 { font-size: clamp(1.7rem, 1.3rem + 1.6vw, 2.7rem); margin: 0.5rem 0 0.7rem; }
.prow p { color: var(--ink-soft); max-width: 44ch; margin-bottom: 1.1rem; }

/* ---- parallax engine hint ---- */
[data-speed] { will-change: transform; }
@media (prefers-reduced-motion: reduce) { [data-speed] { transform: none !important; } }

/* ==========================================================================
   FINAL HYBRID (Bo's pick 2026-07-12): Bold layout · General Sans · Depth
   numerals + scroll motion on 4 path doors · Chapters marquee · caps variant.
   ========================================================================== */
.paths--4 { grid-template-columns: 1fr; }
@media (min-width: 48em) { .paths--4 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 72em) { .paths--4 { grid-template-columns: repeat(4, 1fr); } }
.paths--4 .path { min-height: 30rem; }
.pwrap { position: relative; }
.pnum {
  position: absolute; top: -0.5em; left: -0.08em; z-index: 3; pointer-events: none;
  font-family: var(--display); font-weight: 700; line-height: 1;
  font-size: clamp(3.2rem, 2.4rem + 2.6vw, 5rem);
  color: transparent; -webkit-text-stroke: 1.5px var(--red);
}
.path__media { position: absolute; inset: -9% 0; z-index: -2; }
.path__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); transform: scale(1.1); transition: transform 1.3s var(--ease); }
.path.in .path__media img { transform: scale(1); }
@media (prefers-reduced-motion: reduce) { .path__media img { transform: none; } }
.hero--caps h1 { text-transform: uppercase; letter-spacing: 0.012em; font-weight: 700; font-size: clamp(2.4rem, 1.5rem + 3.9vw, 5rem); }
.band__lede { font-size: var(--lede); color: var(--ink-2); margin-bottom: 1.1rem; }

/* ==========================================================================
   SUBPAGE LAYER (2026-07-17) — interior pages re-skinned to the FINAL HYBRID
   look. Appended last per project convention (order matters).
   ========================================================================== */

/* page hero — typographic, paper canvas */
.phero { padding: clamp(3.2rem, 7vw, 6rem) 0 clamp(2.2rem, 5vw, 3.8rem); }
.phero h1 { font-size: clamp(2.4rem, 1.4rem + 3.8vw, 4.6rem); max-width: 17ch; margin-top: 0.9rem; }
.phero__lede { color: var(--ink-soft); font-size: var(--lede); max-width: 52ch; margin-top: 1.2rem; }
.phero__cta { margin-top: 1.8rem; display: flex; gap: 1.1rem; align-items: center; flex-wrap: wrap; }

/* full-bleed image band under the page hero */
.pband { position: relative; overflow: clip; aspect-ratio: 21 / 9; }
.pband img { position: absolute; inset: -10% 0; width: 100%; height: 120%; object-fit: cover; filter: saturate(0.82) contrast(1.05); }
@media (max-width: 47.99em) { .pband { aspect-ratio: 4 / 3; } }

/* method dots — Treat. Train. Build. continuum (numerals out per Liza 2026-07-16);
   stays horizontal on phones by design */
.method--dots { grid-template-columns: repeat(3, 1fr); }
.method--dots.method--4 { grid-template-columns: repeat(4, 1fr); }
.method--dots .mstep { position: relative; border-top: 1px solid var(--ink); }
.mstep__dot { position: absolute; top: -7px; left: 0; width: 13px; height: 13px; border-radius: 50%; background: var(--red-ink); }
@media (max-width: 51.99em) {
  .method--dots { grid-template-columns: repeat(3, 1fr); }
  .method--dots.method--4 { grid-template-columns: repeat(2, 1fr); }
  .method--dots .mstep { padding: 1.3rem 0.7rem 1.1rem 0; }
  .method--dots .mstep h3 { font-size: 1rem; }
  .method--dots .mstep p { font-size: 0.8rem; }
}

/* telehealth / notice callout */
.callout { background: var(--navy); color: #fff; border-radius: 4px; padding: clamp(1.6rem, 3.5vw, 2.6rem); display: grid; gap: 0.6rem; justify-items: start; }
.callout .eyebrow { color: rgba(255, 255, 255, 0.6); }
.callout h3 { color: #fff; font-size: var(--h3); }
.callout p { color: rgba(255, 255, 255, 0.85); max-width: 60ch; }
.callout .arrow { margin-top: 0.7rem; }

/* plain conditions list — scannable, one scroll */
.cond { list-style: none; padding: 1.6rem 0 0; margin: 0; border-top: 1px solid var(--ink); display: grid; gap: 0.55rem 2.2rem; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.cond li { display: flex; align-items: baseline; gap: 0.6rem; font-weight: 500; color: var(--ink); }
.cond li::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--ink); flex: none; transform: translateY(-1px); }

/* two doors (golf performance page) */
.paths--2 { grid-template-columns: 1fr; }
@media (min-width: 48em) { .paths--2 { grid-template-columns: repeat(2, 1fr); } }
.paths--2 .path { min-height: 24rem; }

/* simple stacked copy */
.prose { display: grid; gap: 1rem; color: var(--ink-soft); max-width: 66ch; }
.prose strong { color: var(--ink); }
.prose ul { padding-left: 1.15rem; display: grid; gap: 0.5rem; margin: 0; }

/* ==========================================================================
   INTERIOR RICHNESS LAYER (2026-07-24) — dark page heroes with ghost
   watermarks, slim statement bands, stat rows. Same vocabulary as the
   homepage; redistributes its boldness to the interior pages.
   ========================================================================== */
.phero--dark { background: var(--ink); position: relative; overflow: clip; }
.phero--dark .wrap { position: relative; z-index: 1; }
.phero--dark h1 { color: #fff; }
.phero--dark .dim { color: rgba(255, 255, 255, 0.55); }
.phero--dark .eyebrow { color: rgba(255, 255, 255, 0.58); }
.phero--dark .phero__lede { color: rgba(255, 255, 255, 0.78); }
.pghost { position: absolute; right: -0.05em; bottom: -0.14em; z-index: 0; font-family: var(--display); font-weight: 700; text-transform: uppercase; line-height: 1; font-size: clamp(4.6rem, 2.4rem + 11vw, 12rem); color: transparent; -webkit-text-stroke: 1px rgba(255, 255, 255, 0.15); pointer-events: none; user-select: none; letter-spacing: 0.02em; }

/* slim statement band for interior pages */
.para--slim { min-height: 54vh; }

/* navy pending-photo placeholders (never fake content) */
.pending2 { display: grid; gap: 1.1rem; grid-template-columns: 1fr; }
@media (min-width: 48em) { .pending2 { grid-template-columns: 1fr 1fr; } }
.pending { background: var(--navy); border-radius: 4px; min-height: 15rem; display: grid; place-items: center; text-align: center; padding: 2rem; }
.pending p { color: rgba(255, 255, 255, 0.66); font-size: 0.76rem; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 600; }
.pending p strong { display: block; color: #fff; font-size: 0.98rem; margin-top: 0.45rem; letter-spacing: 0.01em; text-transform: none; font-weight: 600; }

/* stat row — oversized numerals (golf-fitness screen stats) */
.statrow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; border-top: 2px solid var(--ink); margin-bottom: clamp(2rem, 4vw, 3.2rem); }
.stat { padding-top: 1.4rem; }
.stat__n { font-family: var(--display); font-weight: 700; font-size: clamp(2.4rem, 1.6rem + 3vw, 4.6rem); line-height: 1; color: var(--red-ink); letter-spacing: -0.02em; }
.stat__l { margin-top: 0.5rem; font-size: 0.78rem; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); }
@media (max-width: 47.99em) { .stat__l { font-size: 0.66rem; letter-spacing: 0.09em; } }

/* footer brand — larger, left (Bo 2026-07-16). width:auto kills the 842px HTML
   width attribute that letterboxed the SVG art into an oversized invisible box
   (the "indented logo" bug, fixed 2026-07-24) */
.ftr__brand img { height: 48px; width: auto; }
@media (max-width: 51.99em) { .ftr__brand { grid-column: 1 / -1; } }

/* mobile footer — full-width ledger sections with hairline rules (2026-07-24);
   link lists flow two-up, Visit stays single column for the address block */
@media (max-width: 51.99em) {
  .ftr__grid { grid-template-columns: 1fr; gap: 1.5rem; }
  .ftr__grid > div:not(.ftr__brand) { border-top: 1px solid rgba(255, 255, 255, 0.16); padding-top: 1.15rem; }
  .ftr h4 { margin-bottom: 0.7rem; }
  .ftr__grid > div:nth-child(2) ul, .ftr__grid > div:nth-child(3) ul { grid-template-columns: 1fr 1fr; column-gap: 1.4rem; }
  .ftr__legal { margin-top: 2rem; }
}

/* pband video variant (Bo's clips, 2026-07-24) */
.pband video { position: absolute; inset: -10% 0; width: 100%; height: 120%; object-fit: cover; filter: saturate(0.82) contrast(1.05); }

/* per-page pricing ledger (Bo's tiers 2026-07-24, ledger E20; redesigned same day
   after Heather's layout flag: band pattern, amount rows as an editorial ledger) */
.band--top { align-items: start; }
@media (min-width: 60em) { .band--top { align-items: start; } }
.pledger { border-top: 2px solid var(--ink); }
.pline { display: grid; grid-template-columns: minmax(9rem, auto) 1fr; gap: 0.2rem 2.2rem; align-items: baseline; padding: 1.25rem 0; border-bottom: 1px solid var(--line); }
.pline__amt { font-family: var(--display); font-weight: 640; font-size: clamp(1.8rem, 1.5rem + 1vw, 2.4rem); line-height: 1; color: var(--ink); }
.pline__amt small { display: block; font-family: var(--body); font-size: 0.74rem; font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; color: var(--ink-faint); margin-top: 0.35rem; }
.pline__desc { color: var(--ink-soft); font-size: 0.98rem; }
.pledger__note { margin-top: 1.2rem; color: var(--ink-faint); font-size: 0.88rem; }
@media (max-width: 47.99em) { .pline { grid-template-columns: 1fr; gap: 0.35rem; } }

/* FINAL VISUAL PASS fixes (2026-07-24): orphan control, kicker alignment, contrast */
.phero h1, .edh h2, .band h2, .para__content h2, .cta h2 { text-wrap: balance; }
.edh p, .phero__lede, .prose p { text-wrap: pretty; }
.edh__idx, .eyebrow { text-wrap: balance; }
.edh__idx { align-items: baseline; }
.cta__meta { color: var(--ink-soft); text-wrap: balance; }

/* August feedback: stronger wordmark presence without changing header geometry. */
.hdr__logo img { height: 44px; width: auto; }
.drawer .btn--solid { color: #fff; }

/* Personal Training: six-goal editorial ledger (Bo August feedback). */
.training-grid { display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--ink); }
.training-grid article { padding: 1.5rem 0; border-bottom: 1px solid var(--line); }
.training-grid h3 { font-size: var(--h3); margin-bottom: 0.65rem; }
.training-grid p { color: var(--ink-soft); max-width: 48ch; }
.training-grid p + p { margin-top: 0.75rem; font-size: 0.92rem; }
.training-grid strong { color: var(--ink); }
@media (min-width: 48em) {
  .training-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-grid article:nth-child(odd) { padding-right: clamp(1.5rem, 4vw, 3rem); border-right: 1px solid var(--line); }
  .training-grid article:nth-child(even) { padding-left: clamp(1.5rem, 4vw, 3rem); }
}

/* What We Treat: real-photo condition taxonomy. */
.condition-photo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(0.5rem, 1.5vw, 1rem); margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.condition-photo-grid figure { aspect-ratio: 4 / 3; overflow: clip; border-radius: 3px; }
.condition-photo-grid img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.82) contrast(1.05); }
.condition-groups { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 4vw, 3rem); }
.condition-groups article { min-width: 0; }
.condition-groups h3 { font-size: var(--h3); margin-bottom: 0.8rem; }
.condition-groups .cond { grid-template-columns: 1fr; padding-top: 1.1rem; }
@media (min-width: 60em) { .condition-groups { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Golf Performance real-photo pair (August 2026). */
.performance-photo-pair { display: grid; grid-template-columns: 1fr; gap: clamp(0.75rem, 1.8vw, 1.25rem); margin-top: clamp(2.5rem, 5vw, 4rem); }
.performance-photo-pair figure { aspect-ratio: 4 / 3; overflow: clip; border-radius: 4px; }
.performance-photo-pair img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 48em) { .performance-photo-pair { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Homepage round-two feedback: dual destinations in the Personal Training & Mobility door. */
.path__links { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.1rem; }
.path__links .arrow { font-size: 0.84rem; }

/* Chiropractic round-two feedback: promoted modality names and black callouts. */
.prow .prow__subhead { font-family: var(--display); font-size: clamp(1.1rem, 1rem + 0.5vw, 1.35rem); font-weight: 600; line-height: 1.25; color: var(--ink); margin-bottom: 1rem; }
.callout { background: var(--ink); }

/* Golf Fitness round-two feedback: retain Bo's three requested photos after the TPI process moved pages. */
.fitness-photo-strip { display: grid; grid-template-columns: 1fr; gap: clamp(0.7rem, 1.5vw, 1rem); margin-top: clamp(2.5rem, 5vw, 4rem); }
.fitness-photo-strip figure { aspect-ratio: 4 / 3; overflow: clip; border-radius: 4px; }
.fitness-photo-strip img { width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 48em) { .fitness-photo-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Personal Training round-two feedback: seven named categories plus a separate closing statement. */
@media (min-width: 48em) {
  .training-grid article:last-child:nth-child(odd) { grid-column: 1 / -1; padding-right: 0; border-right: 0; }
}

/* September review: client-selected media belongs in the hero composition. */
.phero--media {
  isolation: isolate;
  min-height: clamp(34rem, 72svh, 48rem);
  display: flex;
  align-items: end;
  position: relative;
  overflow: clip;
  background: var(--ink);
}
.phero--media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, rgba(10, 10, 9, 0.88) 0%, rgba(10, 10, 9, 0.66) 46%, rgba(10, 10, 9, 0.18) 100%);
  pointer-events: none;
}
.phero--media .phero__media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.phero--media .phero__media img,
.phero--media .phero__media video { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.86) contrast(1.04); }
.phero--media .phero__media picture { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.phero--media .wrap { position: relative; z-index: 2; width: 100%; padding-block: clamp(4rem, 10vh, 7rem); }
.phero--media h1 { color: #fff; }
.phero--media .dim { color: rgba(255, 255, 255, 0.72); }
.phero--media .eyebrow { color: rgba(255, 255, 255, 0.72); }
.phero--media .phero__lede { color: rgba(255, 255, 255, 0.88); }

/* Contact & Book: editorial split keeps both people fully framed at every width. */
.phero--split { padding: 0; background: var(--paper); }
.phero__split { display: grid; grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr); min-height: clamp(34rem, 68svh, 44rem); }
.phero__splitcopy { align-self: center; padding-block: clamp(3.2rem, 7vw, 6rem); padding-right: clamp(2rem, 5vw, 5rem); }
.phero__splitcopy h1 { font-size: clamp(2.4rem, 1.4rem + 3.8vw, 4.6rem); max-width: 17ch; margin-top: 0.9rem; }
.phero__splitmedia { min-width: 0; overflow: hidden; }
.phero__splitmedia img { width: 100%; height: 100%; object-fit: cover; object-position: 38% 32%; }

/* Portrait clinical photography needs a taller frame and no parallax overscan. */
.prow__media--portrait { aspect-ratio: 1 / 1; }
.prow__media--portrait img { inset: 0; width: 100%; height: 100%; object-position: 50% 24%; }

@media (max-width: 47.99em) {
  .phero--media { min-height: 38rem; }
  .phero--media::after { background: linear-gradient(180deg, rgba(10, 10, 9, 0.3) 0%, rgba(10, 10, 9, 0.9) 78%); }
  .phero--media .phero__media video { object-position: 52% 50%; }
  .phero__split { grid-template-columns: 1fr; }
  .phero__splitcopy { padding-right: 0; }
  .phero__splitmedia { min-height: 0; aspect-ratio: 4 / 3; }
  .phero__splitmedia img { object-position: 38% 30%; }
}

/* September review: preserve the full 3:2 golf coaching photograph on wide screens. */
.para--editorial {
  min-height: 0;
  display: block;
  background: var(--ink);
}
.para--editorial .para__layout {
  width: calc(100% - (2 * var(--gutter)));
  max-width: var(--wide);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(28rem, 2fr);
  align-items: center;
}
.para--editorial .para__media {
  position: relative;
  inset: auto;
  min-width: 0;
  aspect-ratio: 3 / 2;
  transform: none !important;
  will-change: auto;
}
.para--editorial .para__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.para--editorial .para__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  text-align: left;
  padding: clamp(3.5rem, 6vw, 6rem);
}
.para--editorial .para__content h2 {
  max-width: 14ch;
  margin: 0.9rem 0 0;
  font-size: clamp(2.4rem, 1.65rem + 2.2vw, 3.8rem);
}
.nav__menu a[aria-current="page"] { background: var(--paper); color: var(--red-ink); }
.drawer a[aria-current="page"] { color: var(--red-ink); }

@media (max-width: 64em) {
  .para--editorial .para__layout { grid-template-columns: 1fr; }
  .para--editorial .para__content {
    padding: clamp(3rem, 9vw, 5rem) var(--gutter) clamp(3.5rem, 10vw, 5.5rem);
  }
  .para--editorial .para__content h2 { max-width: 18ch; }
}

/* ==========================================================================
   REFINED ORIGINAL — SITEWIDE HERO AND TYPE PASS (2026-09-02)
   Keeps the established page structures while replacing repeated black hero
   fields with purposeful paper, cobalt, navy, and image-led treatments.

   THESIS: Make the familiar site calmer and more legible without redesigning it.
   OWN-WORLD: Existing sections, media, General Sans, Geist, and brand controls.
   STORY: Recognize the page, understand the promise, see the work, then act.
   FIRST VIEWPORT: One readable promise, one supporting surface, one primary action.
   FORM: Restrained editorial clinic site with varied tonal hero fields.
   ========================================================================== */
.site-original {
  --original-cobalt: #164f94;
  --original-navy: #071d34;
  --original-paper: #f1f0eb;
  --original-red: #d81708;
  --original-hero-bg: var(--original-paper);
  --original-hero-ink: var(--original-navy);
  --original-hero-muted: #546172;
  --original-ghost: rgba(7, 29, 52, 0.12);
}

.site-original.original-hero--paper {
  --original-hero-bg: var(--original-paper);
  --original-hero-ink: var(--original-navy);
  --original-hero-muted: #546172;
  --original-ghost: rgba(7, 29, 52, 0.12);
}

.site-original.original-hero--cobalt {
  --original-hero-bg: var(--original-cobalt);
  --original-hero-ink: #fff;
  --original-hero-muted: rgba(255, 255, 255, 0.82);
  --original-ghost: rgba(255, 255, 255, 0.18);
}

.site-original.original-hero--navy {
  --original-hero-bg: var(--original-navy);
  --original-hero-ink: #fff;
  --original-hero-muted: rgba(255, 255, 255, 0.8);
  --original-ghost: rgba(255, 255, 255, 0.16);
}

.site-original .phero--dark {
  background: var(--original-hero-bg);
  color: var(--original-hero-ink);
  border-bottom: 1px solid rgba(84, 97, 114, 0.22);
}

.site-original .phero--dark::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0.45rem;
  z-index: 2;
  background: var(--original-red);
}

.site-original .phero--dark h1 { color: var(--original-hero-ink); }
.site-original .phero--dark .dim { color: var(--original-hero-ink); opacity: 0.62; }
.site-original .phero--dark .eyebrow { color: var(--original-hero-ink); opacity: 0.72; }
.site-original .phero--dark .phero__lede { color: var(--original-hero-muted); }
.site-original .phero--dark .pghost { -webkit-text-stroke-color: var(--original-ghost); }

.site-original .phero--dark .btn--light {
  border-color: var(--original-red);
  background: var(--original-red);
  color: #fff;
}

.site-original .phero--dark .arrow--light {
  border-color: currentColor;
  color: var(--original-hero-ink);
}

.site-original .phero h1,
.site-original .phero__splitcopy h1,
.site-original .phero--media h1 {
  max-width: 17ch;
  font-size: clamp(2.8rem, 1.9rem + 2.5vw, 4.6rem);
  line-height: 0.95;
  letter-spacing: -0.035em;
}

.site-original .pband { aspect-ratio: 16 / 9; }
.site-original .pband img,
.site-original .pband video {
  inset: 0;
  width: 100%;
  height: 100%;
  filter: saturate(0.96) contrast(1.02);
}

.site-original .phero--media { background: var(--original-navy); }
.site-original .phero--media::after { background: rgba(7, 29, 52, 0.64); }
.site-original .phero--media .phero__media img,
.site-original .phero--media .phero__media video { filter: saturate(1.02) contrast(1.01); }

.site-original.original-home .hero__scrim { background: rgba(7, 20, 34, 0.5); }
.site-original.original-home .hero__media video,
.site-original.original-home .hero__media img { filter: saturate(1.04) contrast(1.01); }

@media (min-width: 48em) and (max-width: 63.99em) {
  .site-original .phero h1,
  .site-original .phero__splitcopy h1,
  .site-original .phero--media h1,
  .site-original.original-home .hero h1 {
    max-width: 16ch;
    font-size: clamp(3rem, 2.4rem + 1.25vw, 3.35rem);
    line-height: 0.96;
  }

  .site-original .edh h2,
  .site-original .band h2,
  .site-original .para__content h2,
  .site-original .cta h2 {
    font-size: clamp(2.6rem, 2.2rem + 1vw, 3rem);
    line-height: 0.98;
  }
}

@media (max-width: 47.99em) {
  .site-original .phero h1,
  .site-original .phero__splitcopy h1,
  .site-original .phero--media h1,
  .site-original.original-home .hero h1 {
    width: 100%;
    max-width: none;
    font-size: clamp(2.55rem, 11.25vw, 3rem);
    line-height: 0.96;
    letter-spacing: -0.038em;
  }

  .site-original.original-home .hero__body { padding-block: 2.5rem 2.75rem; }
  .site-original.original-home .hero__cta { margin-top: 1.45rem; }
  .site-original .pband { aspect-ratio: 4 / 3; }
  .site-original .phero--media::after { background: rgba(7, 29, 52, 0.7); }

  .site-original .edh h2,
  .site-original .band h2,
  .site-original .para__content h2,
  .site-original .cta h2 {
    max-width: 15ch;
    font-size: clamp(2.3rem, 9.5vw, 2.8rem);
    line-height: 0.98;
    letter-spacing: -0.035em;
  }
}

/* ==========================================================================
   REFINED ORIGINAL — GOLF EDITORIAL PAGES (2026-09-02)
   The golf pages use real media, full color fields, and ruled editorial lists.
   Approved copy and page order stay intact; generic card grids do not.
   ========================================================================== */
.site-original {
  --original-body-muted: #46556a;
}

/* Body copy must never inherit a hero-specific foreground token. */
.site-original .prose > ul > li { color: var(--original-body-muted); }

.original-golf-fitness main,
.original-golf-injury main { background: #fff; }

.golf-hero-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(0, 0.96fr);
  min-height: clamp(38rem, 72svh, 48rem);
  background: var(--original-navy);
}

.site-original .golf-hero {
  min-width: 0;
  min-height: 100%;
  display: flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: var(--original-navy);
}

.site-original .golf-hero .wrap {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(4rem, 8vw, 7rem) clamp(2rem, 5vw, 5rem) clamp(4rem, 8vw, 7rem) max(var(--gutter), calc((100vw - var(--wide)) / 2));
}

.site-original .golf-hero h1 {
  max-width: 11ch;
  color: #fff;
}

.site-original .golf-hero .dim { color: #fff; opacity: 0.58; }
.site-original .golf-hero .phero__lede { max-width: 45ch; color: rgba(255, 255, 255, 0.82); }
.site-original .golf-hero .eyebrow { color: rgba(255, 255, 255, 0.7); }

.site-original .golf-hero-media {
  min-width: 0;
  min-height: 100%;
  aspect-ratio: auto;
  border-left: 0.35rem solid var(--original-cobalt);
}

.site-original .golf-hero-media img,
.site-original .golf-hero-media video {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.06) contrast(1.03);
}

.original-golf-fitness .golf-hero-media img { object-position: 54% center; }
.original-golf-injury .phero--media .phero__media video { object-position: center 30%; }

.original-golf-fitness .section,
.original-golf-injury .section { padding-block: clamp(5rem, 8vw, 8rem); }

/* Intro passages: compact editorial splits without accidental grid placement. */
.gf-intro,
.gi-intro { background: #fff; }

.gf-intro > .wrap,
.gi-intro > .wrap {
  width: calc(100% - (2 * var(--gutter)));
  max-width: var(--wide);
  display: grid;
  grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 7rem);
}

.gf-intro .edh,
.gi-intro .edh { margin: 0; }

.gf-intro .prose,
.gi-intro .prose { max-width: 64ch; font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem); }

/* Golf Fitness: the program is a dark, photo-led peak in the page. */
.gf-program {
  position: relative;
  overflow: clip;
  background: var(--original-navy);
  color: #fff;
}

.gf-program::after {
  content: "";
  position: absolute;
  top: 0;
  right: clamp(2rem, 8vw, 8rem);
  width: 1px;
  height: 100%;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
}

.gf-program__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 7rem);
}

.gf-program .edh { margin: 0; }
.gf-program .edh h2,
.gf-program .prose strong { color: #fff; }
.gf-program .edh__idx { color: rgba(255, 255, 255, 0.68); }
.gf-program .prose { max-width: 64ch; color: rgba(255, 255, 255, 0.8); }

.gf-program .prose > ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 0.15rem solid var(--original-cobalt);
  list-style: none;
}

.gf-program .prose > ul > li {
  position: relative;
  padding: 1.2rem 0 1.2rem 1.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.55;
}

.gf-program .prose > ul > li::before {
  content: "";
  position: absolute;
  top: 1.7rem;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--original-red);
}

.gf-program__photos {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(14rem, 0.68fr) minmax(0, 1.32fr);
  align-items: end;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-top: clamp(1rem, 3vw, 2.5rem);
}

.gf-program__photos figure {
  border-radius: 0;
  background: #031324;
}

.gf-program__photos figure:first-child { aspect-ratio: 4 / 5; }
.gf-program__photos figure:last-child { aspect-ratio: 16 / 10; margin-bottom: clamp(1rem, 3vw, 2.5rem); }
.gf-program__photos img { filter: saturate(0.92) contrast(1.06); transition: transform 700ms var(--ease); }

/* A single vivid utility block breaks the dark program from the blue benefits. */
.gf-delivery { background: #fff; }

.gf-delivery .callout {
  min-height: clamp(18rem, 28vw, 25rem);
  justify-content: end;
  align-content: end;
  padding: clamp(2rem, 6vw, 5rem);
  border-radius: 0;
  background: var(--original-cobalt);
  box-shadow: 1rem 1rem 2.4rem rgba(7, 29, 52, 0.2);
}

.gf-delivery .callout h3 {
  max-width: 28ch;
  font-size: clamp(1.9rem, 1.4rem + 2vw, 3.4rem);
  line-height: 1.04;
}

.gf-delivery .callout .eyebrow { color: rgba(255, 255, 255, 0.72); }

/* Benefits and injuries use ruled type, not repeated white cards. */
.gf-benefits {
  background: var(--original-cobalt);
  color: #fff;
}

.gf-benefits > .wrap,
.gi-injuries > .wrap {
  display: grid;
  grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 7rem);
}

.gf-benefits .edh,
.gi-injuries .edh { margin: 0; }

.gf-benefits .edh h2,
.gi-injuries .edh h2 { color: #fff; }

.gf-benefits .edh__idx,
.gi-injuries .edh__idx { color: rgba(255, 255, 255, 0.7); }


.gf-benefits .cond,
.gi-injuries .cond {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.48);
  list-style: none;
}

.gf-benefits .cond li,
.gi-injuries .cond li {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-family: var(--display);
  font-size: clamp(1.25rem, 1.05rem + 0.8vw, 1.8rem);
  font-weight: 650;
  line-height: 1.18;
}

.gf-benefits .cond li::before,
.gi-injuries .cond li::before {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 0;
  background: var(--original-red);
  transform: translateY(-0.08em);
}

/* Audience and treatment lists stay readable and deliberately dense. */
.gf-audience,
.gi-treatment { background: #fff; }

.gf-audience > .wrap,
.gi-treatment__layout {
  width: calc(100% - (2 * var(--gutter)));
  max-width: var(--wide);
  display: grid;
  grid-template-columns: minmax(17rem, 0.78fr) minmax(0, 1.22fr);
  align-items: start;
  gap: clamp(3rem, 7vw, 7rem);
}

.gf-audience .edh,
.gi-treatment .edh { margin: 0; }

.gf-audience .prose,
.gi-treatment .prose { max-width: 66ch; }

.gf-audience .prose > ul,
.gi-treatment .prose > ul {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 0.15rem solid var(--original-navy);
  list-style: none;
}

.gf-audience .prose > ul > li,
.gi-treatment .prose > ul > li {
  position: relative;
  padding: 1.1rem 0 1.1rem 1.6rem;
  border-bottom: 1px solid rgba(7, 29, 52, 0.18);
  color: var(--original-body-muted);
  line-height: 1.5;
}

.gf-audience .prose > ul > li::before,
.gi-treatment .prose > ul > li::before {
  content: "";
  position: absolute;
  top: 1.65rem;
  left: 0;
  width: 0.42rem;
  height: 0.42rem;
  background: var(--original-red);
}

.gf-audience .prose > p:last-child {
  margin-top: 1.25rem;
  color: var(--original-navy);
  font-family: var(--display);
  font-size: clamp(1.2rem, 1.05rem + 0.6vw, 1.55rem);
  font-weight: 650;
  line-height: 1.3;
}

.gi-treatment__content { min-width: 0; }
.gi-treatment__content > .arrow { margin-top: 1.6rem; }

/* The third client-requested golf photo becomes a full editorial story beat. */
.gf-long-game {
  padding: 0 !important;
  background: var(--original-paper);
}

.gf-long-game__layout {
  width: 100%;
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, 0.95fr);
  align-items: stretch;
}

.gf-long-game__media { min-height: clamp(34rem, 52vw, 50rem); overflow: clip; }
.gf-long-game__media img { width: 100%; height: 100%; object-fit: cover; object-position: center; }

.gf-long-game__copy {
  align-self: center;
  padding: clamp(4rem, 7vw, 7rem) max(var(--gutter), calc((100vw - var(--wide)) / 2)) clamp(4rem, 7vw, 7rem) clamp(3rem, 6vw, 6rem);
}

.gf-long-game__copy .prose { font-size: clamp(1.05rem, 1rem + 0.2vw, 1.18rem); }

/* Golf Fitness: space under long-game split — 2026-09-09 */
.original-golf-fitness .gf-long-game {
  padding-bottom: clamp(2.5rem, 5vw, 4.5rem) !important;
  background: var(--original-paper, var(--paper));
}
.original-golf-fitness .gf-crossroad {
  margin-top: 0;
  padding-block: clamp(4.5rem, 8vw, 7.5rem);
}
.original-golf-fitness .golf-hero-stage {
  margin-bottom: 0;
}
.original-golf-fitness .gf-intro {
  padding-top: clamp(4.5rem, 8vw, 7.5rem);
}


.gf-crossroad {
  background: #0b0f14;
  color: #fff;
}

.gf-crossroad .callout {
  max-width: 64rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
}

.gf-crossroad .callout h3 {
  max-width: 23ch;
  font-size: clamp(2rem, 1.4rem + 2.2vw, 3.7rem);
  line-height: 1.02;
}

.gf-crossroad .callout p { color: rgba(255, 255, 255, 0.76); }
.gf-crossroad .callout .eyebrow { color: rgba(255, 255, 255, 0.62); }
.gf-crossroad .callout .arrow { color: #fff; border-color: rgba(255, 255, 255, 0.7); }

.gf-faq,
.gi-faq { background: #fff; }

/* Golf Injury separates the clinical list from the pale content sections. */
.gi-injuries {
  background: var(--original-navy);
  color: #fff;
}

.gi-injuries .cond {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 clamp(2rem, 4vw, 4rem);
}

.gi-intro { border-bottom: 1px solid rgba(7, 29, 52, 0.12); }

.gf-cta,
.gi-cta {
  background: var(--original-cobalt) !important;
  color: #fff;
}

.gf-cta .cta h2,
.gi-cta .cta h2,
.gf-cta .cta__sub,
.gi-cta .cta__sub,
.gf-cta .cta__meta,
.gi-cta .cta__meta,
.gf-cta .cta__meta a,
.gi-cta .cta__meta a { color: #fff; }

.gf-cta .btn--solid,
.gi-cta .btn--solid { background: var(--original-red); color: #fff; }

@media (hover: hover) and (pointer: fine) {
  .gf-program__photos figure:hover img { transform: scale(1.025); }
}

@media (max-width: 63.99em) {
  .golf-hero-stage { display: block; min-height: 0; }
  .site-original .golf-hero { min-height: 0; }
  .site-original .golf-hero .wrap {
    padding: clamp(3.5rem, 8vw, 5.5rem) var(--gutter);
  }
  .site-original .golf-hero h1 { max-width: 13ch; }
  .site-original .golf-hero-media {
    min-height: 0;
    aspect-ratio: 16 / 10;
    border-top: 0.35rem solid var(--original-cobalt);
    border-left: 0;
  }
  .gf-intro > .wrap,
  .gi-intro > .wrap,
  .gf-program__layout,
  .gf-benefits > .wrap,
  .gi-injuries > .wrap,
  .gf-audience > .wrap,
  .gi-treatment__layout {
    grid-template-columns: 1fr;
    gap: clamp(2.25rem, 6vw, 3.5rem);
  }
  .gf-long-game__layout { grid-template-columns: 1fr; }
  .gf-long-game__media { min-height: 0; aspect-ratio: 16 / 11; }
  .gf-long-game__copy { padding: clamp(4rem, 9vw, 6rem) var(--gutter); }
}

@media (max-width: 47.99em) {
  .site-original .hdr__right > .btn { display: none; }
  .original-golf-fitness .section,
  .original-golf-injury .section { padding-block: 4.25rem; }
  .site-original .golf-hero h1 {
    max-width: none;
    font-size: clamp(2.3rem, 10vw, 2.65rem);
    line-height: 0.98;
  }
  .site-original .golf-hero-media { aspect-ratio: 4 / 3; }
  .original-golf-fitness .golf-hero-media img { object-position: 59% center; }
  .gf-program__photos { grid-template-columns: 1fr; }
  .gf-program__photos figure:first-child,
  .gf-program__photos figure:last-child { aspect-ratio: 4 / 3; margin: 0; }
  .gf-delivery .callout {
    min-height: 20rem;
    padding: 2rem;
    box-shadow: 0.65rem 0.75rem 1.8rem rgba(7, 29, 52, 0.2);
  }
  .gi-injuries .cond { grid-template-columns: 1fr; }
  .gf-benefits .cond li,
  .gi-injuries .cond li { padding-block: 1.15rem; }
  .gf-long-game__media { aspect-ratio: 4 / 3; }
}

@media (prefers-reduced-motion: reduce) {
  .gf-program__photos img { transition: none; }
}

/* ==========================================================================
   VERIFIED TESTIMONIALS (2026-09-02)
   Public, NAP-matched Google reviews replace the two client-requested shells.
   ========================================================================== */
.testimonials {
  overflow: clip;
  background: #0b0f14;
  color: #fff;
}

.testimonials--home {
  background: #0b0f14;
}

.testimonials--pain { background: #0b0f14; }

.testimonials .edh {
  max-width: 50rem;
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.testimonials .edh h2 {
  max-width: 12ch;
  color: #fff;
  font-size: clamp(2.8rem, 2rem + 3.2vw, 5.6rem);
  line-height: 0.94;
}

.testimonials__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid rgba(255, 255, 255, 0.48);
}

.testimonial {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(1.75rem, 3.5vw, 3rem);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.testimonial:first-child { padding-left: 0; border-left: 0; }

.testimonial--feature {
  grid-column: 1 / -1;
  padding-left: 0;
  border-left: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.testimonials--home .testimonial:nth-child(2) { padding-left: 0; border-left: 0; }
.testimonials--pain .testimonial:not(.testimonial--feature) { border-bottom: 1px solid rgba(255, 255, 255, 0.22); }
.testimonials--pain .testimonial--feature { border-bottom: 0; }

.testimonial__rating {
  color: #fff;
  font-size: 0.82rem;
  letter-spacing: 0.16em;
}

.testimonial__rating .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.testimonial blockquote {
  flex: 1;
  margin-top: 1.5rem;
  color: #fff;
  font-family: var(--display);
  font-size: clamp(1.12rem, 1rem + 0.5vw, 1.5rem); /* ~0.93 of prior */
  font-weight: 560;
  line-height: 1.42;
  letter-spacing: -0.018em;
}

.testimonial--feature blockquote {
  max-width: 62ch;
  font-size: clamp(1.35rem, 1.15rem + 0.7vw, 1.85rem);
  line-height: 1.35;
}

.testimonial__source {
  display: grid;
  gap: 0.2rem;
  margin-top: clamp(2rem, 4vw, 3.5rem);
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.testimonial__source strong {
  color: #fff;
  font-size: 0.94rem;
  letter-spacing: 0;
  text-transform: none;
}

@media (max-width: 63.99em) {
  .testimonials__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 47.99em) {
  .testimonials__grid { grid-template-columns: 1fr; }
  .testimonial,
  .testimonial:first-child,
  .testimonial:nth-child(2) {
    padding: 2rem 0;
    border-left: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
  }
  .testimonial:last-child { border-bottom: 0; }
  .testimonial blockquote,
  .testimonial--feature blockquote { font-size: 1.14rem; line-height: 1.45; }
}

/* Nutrition hero uses the real clinic portrait without losing Liza in the crop. */
.site-original.original-nutrition .pband img { object-position: 34% 50%; }

/* Locked Mobility statement copy, 2026-09-09: retain the existing band. */
.site-original .mobility-locked-body { max-width: 65ch; margin: 1.5rem auto 0; }

/* Liza September 9: neutral interior fields, existing red controls as accents. */
.site-original:not(.original-home) {
  --original-cobalt: var(--ink-2);
  --original-navy: var(--ink);
  --original-paper: var(--canvas);
  --original-hero-muted: var(--ink-soft);
  --original-body-muted: var(--ink-2);
}
.site-original.original-hero--cobalt,
.site-original.original-hero--navy { --original-hero-muted: rgba(255, 255, 255, 0.82); }
.site-original:not(.original-home) .phero--media::after { background: rgba(23, 21, 15, 0.64); }
.site-original .gf-crossroad { background: var(--ink); }
.site-original .gf-delivery .callout { box-shadow: none; }

/* Consecutive Sports rows share one normal section gap, without a blank band. */
.site-original .sports-rotational { padding-bottom: clamp(2rem, 4vw, 3rem); }
.site-original .sports-endurance { padding-top: clamp(2rem, 4vw, 3rem); }
.site-original #individualized h2 { font-size: var(--h3); }
.site-original.original-golf-fitness .golf-hero-media img { object-position: center; }
.site-original .sports-main-media { background: var(--ink); }
.site-original .sports-main-media img { object-fit: contain; }
.site-original:not(.original-home):not(.original-nutrition) .pending { background: var(--ink-2); }
.site-original .prow__media img:not([data-speed]) { inset: 0; height: 100%; }



/* No red rule before eyebrows — 2026-09-09 */
.site-original .edh__idx::before {
  content: none;
  display: none;
}
/* Locked eyebrow scale for Refined original — 2026-09-09 */
.site-original .edh__idx,
.site-original .eyebrow,
.site-original .prow__idx,
.site-original .path__idx,
.site-original .chapter__kicker,
.site-original .stat__l {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  line-height: 1.35;
}
.site-original .prow__idx {
  color: var(--red-ink);
  font-weight: 700;
}
@media (max-width: 47.99em) {
  .site-original .edh__idx,
  .site-original .eyebrow,
  .site-original .prow__idx,
  .site-original .path__idx,
  .site-original .chapter__kicker,
  .site-original .stat__l {
    font-size: 0.62rem;
    letter-spacing: 0.14em;
  }
}





/* Dark / photo / navy fields — never use red here */
.site-original .section--dark .edh__idx,
.site-original .section--dark .eyebrow,
.site-original .band--dark .edh__idx,
.site-original .band--dark .eyebrow,
.site-original .gf-program .edh__idx,
.site-original .gf-benefits .edh__idx,
.site-original .gi-injuries .edh__idx,
.site-original .gf-program .eyebrow,
.site-original .gf-benefits .eyebrow,
.site-original .gi-injuries .eyebrow,
.site-original .phero--dark .eyebrow,
.site-original .phero--media .eyebrow,
.site-original .golf-hero .eyebrow,
.site-original .hero .eyebrow,
.site-original .hero__eyebrow,
.site-original .callout .eyebrow,
.site-original .gf-delivery .callout .eyebrow,
.site-original .gf-crossroad .callout .eyebrow,
.site-original .para__content .eyebrow,
.site-original .chapter__kicker,
.site-original .path__idx,
.site-original .ccard__body .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}

/* prow__idx stays brand red on light; on dark rows use white */
.site-original .prow--dark .prow__idx,
.site-original .section--dark .prow__idx,
.site-original .gf-program .prow__idx,
.site-original .gf-benefits .prow__idx {
  color: rgba(255, 255, 255, 0.85);
}


/* Eyebrows: red on light, light on dark — 2026-09-09 */
.site-original .edh__idx,
.site-original .eyebrow,
.site-original .stat__l {
  color: var(--red-ink);
}

/* Dark / photo / navy fields — light ink, never red */
.site-original .phero--dark .eyebrow,
.site-original .phero--media .eyebrow,
.site-original .golf-hero .eyebrow,
.site-original .hero .eyebrow,
.site-original .hero__eyebrow,
.site-original .callout .eyebrow,
.site-original .gf-delivery .callout .eyebrow,
.site-original .gf-crossroad .callout .eyebrow,
.site-original .gf-crossroad .edh__idx,
.site-original .para__content .eyebrow,
.site-original .gf-program .edh__idx,
.site-original .gf-benefits .edh__idx,
.site-original .gi-injuries .edh__idx,
.site-original .gf-program .eyebrow,
.site-original .gf-benefits .eyebrow,
.site-original .gi-injuries .eyebrow,
.site-original .gf-cta .edh__idx,
.site-original .gi-cta .edh__idx,
.site-original .testimonials .edh__idx,
.site-original .testimonials .eyebrow,
.site-original .ftr .eyebrow,
.site-original .chapter__kicker,
.site-original .path__idx,
.site-original .ccard__body .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}

.site-original .section--dark .edh__idx,
.site-original .section--dark .eyebrow,
.site-original .band--dark .edh__idx,
.site-original .band--dark .eyebrow {
  color: rgba(255, 255, 255, 0.78);
}




/* Golf Fitness single mid-page image bar — 2026-09-09 */
.original-golf-fitness .gf-midband {
  aspect-ratio: 21 / 9;
  margin: 0;
}
.original-golf-fitness .gf-midband img {
  filter: saturate(1.04) contrast(1.04);
  object-position: center 42%;
}
.original-golf-fitness .gf-intro {
  padding-bottom: clamp(3rem, 5vw, 4.5rem);
}
.original-golf-fitness .gf-program {
  padding-top: clamp(3.5rem, 6vw, 5.5rem);
}
@media (max-width: 47.99em) {
  .original-golf-fitness .gf-midband { aspect-ratio: 4 / 3; }
}


/* Headline em punch + chiro who-we-treat spacing — 2026-09-09 */
.site-original h1 em,
.site-original h2 em,
.site-original .dim em {
  font-style: italic;
  font-weight: inherit;
  letter-spacing: -0.015em;
}
.site-original .section--compact-top {
  padding-top: clamp(2rem, 3.5vw, 3rem);
}


/* Dim on dark fields = soft white, never ink-faint — 2026-09-09 */
.site-original .para .dim,
.site-original .para__content .dim,
.site-original .para--editorial .dim,
.site-original .para--slim .dim,
.site-original .callout .dim,
.site-original .gf-program .dim,
.site-original .gf-benefits .dim,
.site-original .gf-crossroad .dim,
.site-original .testimonials .dim,
.site-original .ftr .dim,
.site-original .phero--media .dim {
  color: rgba(255, 255, 255, 0.58);
  opacity: 1;
}

/* Dark heroes: dim must stay soft white even when --original-hero-ink is navy (paper token pages) */
.site-original .phero--dark .dim {
  color: rgba(255, 255, 255, 0.58);
  opacity: 1;
}
/* Light paper heroes use navy text — soft navy dim */
.site-original.original-hero--paper .phero--dark {
  /* paper hero surfaces are light; keep navy dim */
}
.site-original.original-hero--paper .phero--dark .dim {
  color: var(--original-navy);
  opacity: 0.55;
}


/* Cream-page visual pass: one dark, image-led feature per selected page — 2026-09-09 */
.site-original .section--dark-feature,
.site-original .prow--dark-feature {
  position: relative;
  isolation: isolate;
  background: #0b0f14;
  color: #fff;
}
.site-original .section--dark-feature { overflow: clip; }
.site-original .section--dark-feature h2,
.site-original .section--dark-feature h3,
.site-original .section--dark-feature strong,
.site-original .prow--dark-feature h2,
.site-original .prow--dark-feature h3,
.site-original .prow--dark-feature strong { color: #fff; }
.site-original .section--dark-feature p,
.site-original .section--dark-feature li,
.site-original .section--dark-feature .prose,
.site-original .section--dark-feature .cta__meta,
.site-original .prow--dark-feature p,
.site-original .prow--dark-feature li { color: rgba(255, 255, 255, 0.78); }
.site-original .section--dark-feature .edh__idx,
.site-original .section--dark-feature .eyebrow,
.site-original .section--dark-feature .prow__idx,
.site-original .prow--dark-feature .edh__idx,
.site-original .prow--dark-feature .eyebrow,
.site-original .prow--dark-feature .prow__idx { color: rgba(255, 255, 255, 0.78); }
.site-original .section--dark-feature .dim,
.site-original .prow--dark-feature .dim { color: rgba(255, 255, 255, 0.58); opacity: 1; }
.site-original .section--dark-feature .prow__subhead,
.site-original .prow--dark-feature .prow__subhead { color: rgba(255, 255, 255, 0.9); }
.site-original .section--dark-feature a,
.site-original .prow--dark-feature a { color: #fff; }
.site-original .section--dark-feature .arrow,
.site-original .prow--dark-feature .arrow { border-color: rgba(255, 255, 255, 0.68); }
.site-original .section--dark-feature .prow__media img,
.site-original .section--dark-feature .performance-photo-pair img,
.site-original .prow--dark-feature .prow__media img { filter: saturate(1.02) contrast(1.02); }
.site-original .section--dark-feature .cond,
.site-original .section--dark-feature .training-grid,
.site-original .section--dark-feature .pledger { border-color: rgba(255, 255, 255, 0.5); }
.site-original .section--dark-feature .cond li,
.site-original .section--dark-feature .training-grid article,
.site-original .section--dark-feature .pline { border-color: rgba(255, 255, 255, 0.18); }

/* What We Treat has no compact image-led section, so one existing image row becomes the feature band. */
.site-original .prow--dark-feature {
  padding-block: clamp(4rem, 7vw, 6.5rem);
}
.site-original .prow--dark-feature::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 50%;
  z-index: -1;
  width: 100vw;
  transform: translateX(-50%);
  background: #0b0f14;
}


/* Liza priority corrections, 2026-09-10: neutral headers and upright headlines. */
.site-original .hdr__logo img { filter: brightness(0); }
.site-original :is(h1, h2, h3),
.site-original :is(h1, h2, h3) * { font-style: normal; }
.site-original .method-eyebrow { color: var(--ink-faint); }
.site-original .method-eyebrow::before {
  content: "";
  display: block;
  width: 1.8rem;
  height: 2px;
  flex: 0 0 1.8rem;
  background: var(--red);
}
.site-original .phero--dark {
  --original-hero-ink: #fff;
  --original-hero-muted: rgba(255, 255, 255, .78);
  --original-ghost: rgba(255, 255, 255, .16);
  background: #000;
  color: #fff;
}
.site-original.original-hero--paper .phero--dark .dim,
.site-original .phero--dark .dim { color: rgba(255, 255, 255, .65); opacity: 1; }
.site-original .phero--dark .btn--light,
.site-original .hero .btn--light { background: #fff; border-color: #fff; color: #17150f; }
.site-original .cta {
  background: #000;
  color: #fff;
  padding: clamp(2rem, 5vw, 4rem);
}
.site-original .cta h2 { color: #fff; }
.site-original .cta :is(.cta__sub, .cta__meta) { color: rgba(255, 255, 255, .75); }
.site-original .cta .btn { background: #fff; border-color: #fff; color: #17150f; }

/* Restore the original dash and neutral label throughout section headings. */
.site-original .edh__idx { color: var(--ink-faint); }
.site-original .edh__idx::before {
  content: ""; display: block; width: 1.8rem; height: 2px;
  flex: 0 0 1.8rem; background: var(--red);
}
.site-original :is(.section--dark-feature, .prow--dark-feature, .section--dark, .gf-program, .gf-benefits, .gi-injuries, .gf-crossroad, .testimonials) .edh__idx { color: rgba(255,255,255,.75); }
.site-original .phero--dark::before { content: none; }
.site-original .para--black { background: #000; }
.site-original .para--black :is(h2, .eyebrow) { color: #fff; }
.site-original .nutrition-portrait { aspect-ratio: 1407 / 1798; }
.site-original .nutrition-portrait img { object-fit: cover; object-position: center; }
.site-original .sports-main-media {
  width: min(100%, 52rem); height: auto; max-height: none;
  aspect-ratio: 1288 / 1221; margin-inline: auto;
}
.site-original .sports-main-media img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center; }
.site-original .para--golf-overlay { display: block; min-height: 0; background: #000; }
.site-original .para--golf-overlay .para__layout { display: grid; position: relative; }
.site-original .para--golf-overlay :is(.para__media, .para__content) { grid-area: 1 / 1; }
.site-original .para--golf-overlay .para__media { position: relative; inset: auto; aspect-ratio: 1600 / 1069; }
.site-original .para--golf-overlay .para__media img { width: 100%; height: 100%; object-fit: cover; }
.site-original .para--golf-overlay .para__content {
  z-index: 1; display: flex; flex-direction: column; justify-content: flex-end;
  align-items: flex-start; text-align: left; padding: clamp(2rem, 6vw, 6rem);
  background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.12) 80%);
}
.site-original .para--golf-overlay .para__content h2 { max-width: 19ch; }
.site-original .equipment-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1rem, 3vw, 2rem); }
.site-original .equipment-gallery figure { margin: 0; }
.site-original .equipment-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.site-original .training-statement { min-height: 0; max-width: 851px; margin-inline: auto; aspect-ratio: 851 / 315; }
.site-original .training-statement .para__media { inset: 0; transform: none !important; }
.site-original .training-statement .para__content { padding: 2rem; }
.site-original .training-statement h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.site-original .training-closing { margin-top: 2rem; }
.site-original .testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-original .testimonial:last-child { grid-column: 1 / -1; }
@media (max-width: 47.99em) {
  .site-original .equipment-gallery, .site-original .testimonials__grid { grid-template-columns: 1fr; }
  .site-original .para--golf-overlay .para__media { min-height: 28rem; }
  .site-original .para--golf-overlay .para__media img { object-position: 40% center; }
  .site-original .training-statement { min-height: 18rem; }
}

/* Explicit width prevents the statement's mobile min-height from expanding its aspect-ratio width. */
.site-original .training-statement { width: min(100%, 851px); }

/* Keep over-image copy inside the viewport even when the photograph has a minimum height. */
.site-original .para--golf-overlay .para__layout { width: 100%; grid-template-columns: minmax(0, 1fr); }
.site-original .para--golf-overlay :is(.para__media, .para__content) { min-width: 0; width: 100%; }
.site-original .para--golf-overlay .para__content h2 { width: min(100%, 19ch); margin: .9rem 0 0; }

/* September 10 no-hero pass: section-only Method label and booking contrast. */
.site-original .section .method-eyebrow { color: var(--ink-soft); }
.site-original .section .cta .btn {
  background: var(--ink);
  border-color: rgba(255, 255, 255, .65);
  color: #fff;
}
.site-original .section .cta .btn:hover {
  background: var(--ink-2);
  border-color: #fff;
  color: #fff;
}

/* PAIN PAGE END STACK — telehealth + booking (2026-09-10) */
/* One section, tight gap. Light telehealth card vs solid black booking CTA. */
.site-original .section--pain-end {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}
.site-original .pain-end {
  display: grid;
  gap: clamp(1rem, 2vw, 1.5rem);
}
.site-original .pain-end .callout--light {
  background: #fff;
  color: var(--ink);
  border: 1px solid rgba(23, 21, 15, 0.14);
  border-radius: 4px;
  box-shadow: none;
  min-height: 0;
  justify-content: start;
  align-content: start;
}
.site-original .pain-end .callout--light .eyebrow {
  color: var(--ink-faint);
}
.site-original .pain-end .callout--light h3 {
  color: var(--ink);
}
.site-original .pain-end .callout--light p {
  color: var(--ink-soft);
}
.site-original .pain-end .callout--light .arrow {
  color: var(--ink);
  border-color: rgba(23, 21, 15, 0.35);
}
.site-original .pain-end .callout--light .arrow:hover {
  border-color: var(--ink);
}
.site-original .pain-end .cta {
  margin: 0;
}

/* GOLF CTA — no nested black box on cobalt (2026-09-10) */
/* .site-original .cta paints a black inset; on gi-cta/gf-cta that sits on cobalt and looks wrong. */
.site-original .gi-cta .cta,
.site-original .gf-cta .cta {
  background: transparent;
  color: inherit;
  padding-inline: 0;
  padding-block: clamp(1.5rem, 3vw, 2.5rem);
}
.site-original .gi-cta,
.site-original .gf-cta {
  background: #000 !important;
  color: #fff;
}
.site-original .gi-cta .cta h2,
.site-original .gf-cta .cta h2 {
  color: #fff;
}
.site-original .gi-cta .cta :is(.cta__sub, .cta__meta),
.site-original .gf-cta .cta :is(.cta__sub, .cta__meta),
.site-original .gi-cta .cta__meta a,
.site-original .gf-cta .cta__meta a {
  color: rgba(255, 255, 255, 0.75);
}
/* Keep booking button readable on the solid black band */
.site-original .gi-cta .cta .btn,
.site-original .gf-cta .cta .btn {
  background: #fff;
  border-color: #fff;
  color: #17150f;
}

/* SPORTS plank full-bleed parallax (2026-09-10) */
.site-original .training-statement--full {
  width: 100%;
  max-width: none;
  margin-inline: 0;
  min-height: clamp(28rem, 70vh, 42rem);
  aspect-ratio: auto;
}
.site-original .training-statement--full .para__media {
  position: absolute;
  inset: -18% 0;
  transform: none; /* JS parallax owns transform */
}
.site-original .training-statement--full .para__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.site-original .training-statement--full .para__scrim {
  background: rgba(10, 10, 10, 0.45);
}
.site-original .training-statement--full .para__content {
  padding: clamp(3rem, 8vw, 6rem) var(--gutter);
}
.site-original .training-statement--full h2 {
  font-size: clamp(2.2rem, 4.5vw, 4rem);
  color: #fff;
}
@media (prefers-reduced-motion: reduce) {
  .site-original .training-statement--full .para__media {
    inset: 0;
    transform: none !important;
  }
}

/* PT plank band workaround removed 2026-09-10 — Canva 1920 masters in place */

/* Source plank is only 851×315; extreme 70vh cover looked mushy. */
.site-original .training-statement--pt {
  min-height: clamp(18rem, 42vh, 28rem);
}
.site-original .training-statement--pt .para__media {
  inset: -10% 0;
}
.site-original .training-statement--pt .para__media img {
  object-position: center 45%;
  image-rendering: auto;
}

/* Sports hero media — landmine attachment cover (2026-09-10) */
.site-original .sports-hero .phero__media img {
  object-fit: cover;
  object-position: 55% 18%;
}

/* About — embed clinic tour with controls (2026-09-10) */
.site-original .clinic-tour-embed {
  margin-top: clamp(1.25rem, 2.5vw, 2rem);
  max-width: 56rem;
}
.site-original .clinic-tour-embed__player {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  background: #0e0d0b;
  border-radius: 0;
  object-fit: cover;
}
.site-original .clinic-tour-embed__caption {
  margin: 0.75rem 0 0;
  font-size: 0.92rem;
  color: var(--ink-soft, #5f5c54);
}

/* Meet Dr / about.html — tighten empty vertical space (2026-09-10) */
.site-original.page-about .pband--about-portrait {
  aspect-ratio: 2.35 / 1;
}
.site-original.page-about .pband--about-portrait img {
  object-position: 50% 28%;
}
.site-original.page-about .section--about-stack {
  padding-block: clamp(3.25rem, 5.5vw, 5rem);
}
.site-original.page-about .section:not(.section--about-stack) {
  padding-block: clamp(3.5rem, 6vw, 5.5rem);
}
@media (max-width: 47.99em) {
  .site-original.page-about .pband--about-portrait {
    aspect-ratio: 4 / 3;
  }
}

/* Mobile: keep full-bleed cover; tune object-position so subjects stay in frame
   (Liza rejected object-fit:contain letterboxing 2026-09-10) */
@media (max-width: 47.99em) {
  /* Home aerial/building hero */
  .site-original.original-home .hero__media video,
  .site-original.original-home .hero__media img {
    object-position: center 40%;
  }

  /* Golf Injury — person/action upper frame (strengthen prior center 30%) */
  .original-golf-injury .phero--media .phero__media video {
    object-position: center 28%;
  }

  /* Personal Training — subject center-upper */
  .original-personal-training .phero--media .phero__media video {
    object-position: center 35%;
  }

  /* Clinic tour / Mathias Health — keep entrance + person + sign in mobile crop */
  .original-mathias-health .phero--media .phero__media video {
    object-position: 38% 35%;
  }

  /* Pain & Recovery chiro hero — keep faces/action in crop */
  .chiro-hero .phero__media video {
    object-position: center 35%;
  }

  /* Dry needling pband video */
  .original-dry-needling .pband video {
    object-position: center 40%;
  }

  /* Golf Fitness hero video */
  .original-golf-fitness .phero--media .phero__media video,
  .golf-fitness-video .phero__media video {
    object-position: center 35%;
  }

  /* Golf Performance hero video */
  .original-golf-performance .phero--media .phero__media video {
    object-position: center 40%;
  }

  /* Chiropractic adjustments pband still — favor upper clinical subject */
  .original-chiropractic .pband img {
    object-position: center 30%;
  }

  /* Sports Performance still hero — leave existing .sports-hero 55% 18% */
}


/* Liza final 2026-09-11: long-game label visible on paper */
.site-original .gf-long-game .edh__idx { color: var(--ink-faint); }
.site-original .gf-long-game .edh__idx::before { background: var(--red); }


/* Liza final 2026-09-11: golf Treat·Train·Build overlay placement + size */
.site-original .para--golf-overlay {
  display: block;
  min-height: 0;
  background: #000;
  overflow: clip;
}
.site-original .para--golf-overlay .para__layout {
  display: grid;
  position: relative;
  width: min(100%, 72rem);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr);
}
.site-original .para--golf-overlay :is(.para__media, .para__content) {
  grid-area: 1 / 1;
  min-width: 0;
  width: 100%;
}
.site-original .para--golf-overlay .para__media {
  position: relative !important;
  inset: auto !important;
  aspect-ratio: 16 / 9;
  max-height: min(36rem, 62vh);
  overflow: clip;
}
.site-original .para--golf-overlay .para__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 40% center;
}
.site-original .para--golf-overlay .para__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  text-align: left;
  padding: clamp(1.5rem, 4vw, 3.5rem) clamp(1.5rem, 4vw, 3.5rem);
  background: linear-gradient(0deg, rgba(0,0,0,.88), rgba(0,0,0,.18) 70%);
  pointer-events: none;
}
.site-original .para--golf-overlay .para__content h2 {
  max-width: 19ch;
  width: min(100%, 19ch);
  margin: .9rem 0 0;
  font-size: clamp(1.6rem, 1.1rem + 2vw, 2.8rem);
}
@media (max-width: 47.99em) {
  .site-original .para--golf-overlay .para__media {
    max-height: none;
    aspect-ratio: 4 / 3;
  }
}

/* Sports bullets match body prose */
.site-original .sports-bullets {
  margin-top: 1rem;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}
.site-original .sports-bullets li {
  color: inherit;
  font-size: 1em;
}

/* Our gym collage: 3-col on desktop */
.site-original .equipment-gallery--gym {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 2vw, 1.25rem);
}
@media (max-width: 47.99em) {
  .site-original .equipment-gallery--gym { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 30em) {
  .site-original .equipment-gallery--gym { grid-template-columns: 1fr; }
}

/* Footer social icons. Inherits footer link color and the white hover. */
.ftr__social {
  display: flex;
  align-items: center;
  gap: 0.15rem;
  margin-top: 0.85rem;
}
.ftr__social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  color: rgba(255, 255, 255, 0.78);
  transition: color 0.2s;
}
.ftr__social a:hover { color: #fff; }
.ftr__social svg { display: block; width: 1.25rem; height: 1.25rem; }

/* Practice identity on the company About page. */
.original-mathias-health .phero__practice { margin-bottom: 1.5rem; }
.original-mathias-health .phero__practice-name { margin: 0; color: #fff; font-family: var(--display); font-size: clamp(1.2rem, 1rem + 0.6vw, 1.6rem); font-weight: 600; line-height: 1.3; }
.original-mathias-health .phero__former-name { margin: 0.4rem 0 0; color: rgba(255, 255, 255, 0.88); font-size: clamp(0.875rem, 0.8rem + 0.25vw, 1rem); line-height: 1.5; }
