:root {
  --ink: #12343b;
  --muted: #577177;
  --teal: #087f83;
  --teal-dark: #075e62;
  --mint: #dff5f1;
  --aqua: #b9ece6;
  --cream: #fbfaf6;
  --white: #ffffff;
  --line: #dbe8e6;
  --coral: #ef765f;
  --shadow: 0 18px 50px rgba(16, 69, 75, .11);
  --radius: 24px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { max-width:100%; overflow-x:hidden; scroll-behavior: smooth; }
body { max-width:100%; margin: 0; overflow-x:hidden; color: var(--ink); background: var(--cream); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }
.container { width: min(calc(100% - 40px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 999; top: 10px; left: 10px; transform: translateY(-160%); padding: 10px 16px; border-radius: 8px; background: var(--ink); color: white; }
.skip-link:focus { transform: none; }

.topbar { background: var(--ink); color: #d8ebea; font-size: .88rem; }
.topbar .container { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.topbar a:hover { color: white; }
.site-header { position: sticky; top: 0; z-index: 100; background: rgba(251,250,246,.94); border-bottom: 1px solid rgba(219,232,230,.85); backdrop-filter: blur(14px); }
.nav { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand { display: flex; align-items: center; gap: 11px; font-size: 1rem; font-weight: 850; letter-spacing: -.02em; }
.brand-mark { display: grid; place-items: center; width: 43px; height: 43px; color: white; border-radius: 50% 50% 50% 12px; background: linear-gradient(145deg,var(--teal),var(--teal-dark)); font-size: 1.35rem; }
.brand-logo { flex:0 0 auto; width:48px; height:48px; object-fit:contain; }
.brand small { display: block; margin-top: -3px; color: var(--muted); font-size: .63rem; font-weight: 650; letter-spacing: .06em; text-transform: uppercase; white-space:nowrap; }
.nav-links { display: flex; align-items: center; gap: clamp(6px,.8vw,12px); font-size: .78rem; font-weight: 680; }
.nav-links .btn { padding-inline: 14px; }
.nav-links a:not(.btn) { position: relative; padding: 10px 0; }
.nav-links a:not(.btn)::after { content: ""; position: absolute; right: 0; bottom: 5px; left: 0; height: 2px; background: var(--teal); transform: scaleX(0); transition: .2s; }
.nav-links a:hover::after, .nav-links a[aria-current="page"]::after { transform: scaleX(1); }
.menu-btn { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: var(--mint); color: var(--ink); font-size: 1.35rem; }

.btn { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 999px; background: var(--teal); color: white; font-weight: 780; box-shadow: 0 8px 20px rgba(8,127,131,.18); transition: transform .2s, background .2s, box-shadow .2s; }
.btn:hover { transform: translateY(-2px); background: var(--teal-dark); box-shadow: 0 12px 26px rgba(8,127,131,.24); }
.btn-secondary { background: white; color: var(--ink); border-color: var(--line); box-shadow: none; }
.btn-secondary:hover { color: var(--teal-dark); background: white; border-color: var(--teal); }
.btn-coral { background: var(--coral); }
.text-link { color: var(--teal-dark); font-weight: 800; }
.text-link:hover { text-decoration: underline; }

.hero { position: relative; overflow: hidden; padding: 78px 0 66px; background: radial-gradient(circle at 5% 15%,#e4f6ef 0,transparent 30%), radial-gradient(circle at 90% 18%,#d7f1f2 0,transparent 28%), linear-gradient(120deg,#fbfaf6 0%,#f6fffc 52%,#eaf9f8 100%); }
.hero::before { content:""; position:absolute; inset:auto -12% -42% 42%; height:420px; border-radius:50%; background:radial-gradient(circle,rgba(185,236,230,.55),rgba(185,236,230,0) 68%); filter:blur(10px); animation:heroGlow 9s ease-in-out infinite; }
.hero::after { content:""; position:absolute; width:340px; height:340px; border: 1px solid var(--aqua); border-radius: 50%; top:-130px; right:-120px; animation:orbDrift 10s ease-in-out infinite; }
.hero-ambient { position:absolute; z-index:0; pointer-events:none; border-radius:999px; filter:blur(.2px); opacity:.8; }
.hero-ambient-one { width:150px; height:150px; left:3%; top:19%; background:radial-gradient(circle at 35% 35%,rgba(255,255,255,.96),rgba(185,236,230,.62) 55%,rgba(185,236,230,0)); animation:ambientFloatOne 8s ease-in-out infinite; }
.hero-ambient-two { width:120px; height:120px; right:36%; bottom:12%; border:2px solid rgba(8,127,131,.20); background:rgba(255,255,255,.46); box-shadow:0 18px 55px rgba(8,127,131,.12); animation:ambientFloatTwo 7s ease-in-out infinite; }
.hero-ambient-three { width:300px; height:300px; right:2%; top:19%; background:radial-gradient(circle,rgba(185,236,230,.72),rgba(223,245,241,.32) 46%,rgba(223,245,241,0) 70%); animation:ambientFloatThree 11s ease-in-out infinite; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: clamp(42px,7vw,90px); }
.hero-grid { position:relative; z-index:1; }
.hero-grid > *,
.split > *,
.contact-grid > *,
.content-grid > *,
.cards > *,
.steps > *,
.gallery > *,
.blog-grid > *,
.core-treatment-cards > *,
.trust-grid > *,
.footer-grid > * { min-width:0; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 15px; color: var(--teal-dark); font-size: .79rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
.eyebrow::before { content:""; width: 28px; height: 2px; background: var(--coral); }
h1,h2,h3 { line-height: 1.13; letter-spacing: -.035em; }
h1 { margin: 0 0 23px; font-size: clamp(2.65rem,6vw,5.2rem); }
.page-hero h1 { font-size: clamp(2.4rem,5vw,4.4rem); }
h2 { margin: 0 0 18px; font-size: clamp(2rem,4vw,3.25rem); }
h3 { margin: 0 0 10px; font-size: 1.25rem; }
.lead { max-width: 680px; margin: 0 0 28px; color: var(--muted); font-size: clamp(1.05rem,2vw,1.22rem); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 28px; }
.trust-inline { display: flex; flex-wrap: wrap; gap: 14px 24px; color: var(--muted); font-size: .9rem; font-weight: 650; }
.check::before { content:"\2713"; display:inline-grid; place-items:center; width:20px; height:20px; margin-right:7px; color:var(--teal-dark); background:var(--mint); border-radius:50%; font-size:.72rem; font-weight:900; }
.hero-media { position: relative; min-height: 520px; }
.hero-media::before { content:""; position:absolute; inset: 0; border-radius: 220px 220px 28px 28px; background: linear-gradient(160deg,var(--mint),var(--aqua)); box-shadow: var(--shadow); }
.hero-media img { position:absolute; inset: 0; width:100%; height:100%; object-fit:contain; object-position:center bottom; border-radius: 220px 220px 28px 28px; filter: drop-shadow(0 16px 22px rgba(22,52,59,.16)); }
.hero-media-composite { min-height:560px; display:flex; align-items:center; justify-content:center; overflow:visible; isolation:isolate; }
.hero-media-composite::before,
.hero-media-composite::after { display:none; }
.hero-media-composite .hero-composite-image { position:relative; z-index:1; inset:auto; width:min(92%,480px); max-height:600px; height:auto; object-fit:contain; border-radius:0; filter:drop-shadow(0 18px 26px rgba(18,52,59,.10)); animation:none; }
.hero-dot-pattern { position:absolute; z-index:0; width:min(92%,610px); height:84%; inset:8% 0 auto auto; border-radius:280px 280px 42px 42px; opacity:.5; background-image:radial-gradient(circle,rgba(8,127,131,.20) 1.2px,transparent 1.8px); background-size:18px 18px; mask-image:radial-gradient(circle at 54% 45%,#000 0 44%,transparent 72%); }
.hero-orbit { position:absolute; z-index:0; inset:0; width:100%; height:100%; pointer-events:none; overflow:visible; }
.hero-orbit path { fill:none; stroke:rgba(8,127,131,.24); stroke-width:1.3; stroke-linecap:round; stroke-dasharray:9 14; }
.hero-orbit-two path { stroke:rgba(239,118,95,.22); stroke-width:1; stroke-dasharray:2 12; }
.hero-float-circle { position:absolute; z-index:2; display:block; border-radius:50%; pointer-events:none; background:rgba(223,245,241,.82); border:1px solid rgba(8,127,131,.18); box-shadow:0 16px 34px rgba(8,127,131,.10); }
.hero-float-circle-one { width:54px; height:54px; top:16%; left:10%; animation:medicalFloat 8s ease-in-out infinite; }
.hero-float-circle-two { width:34px; height:34px; right:6%; top:34%; background:rgba(255,255,255,.78); animation:medicalFloat 9.5s ease-in-out infinite reverse; }
.hero-float-circle-three { width:22px; height:22px; left:20%; bottom:22%; background:rgba(239,118,95,.16); border-color:rgba(239,118,95,.26); animation:medicalFloatSmall 7.5s ease-in-out infinite; }
.therapy-icon { position:absolute; z-index:3; width:54px; height:54px; display:grid; place-items:center; border:1px solid rgba(185,236,230,.95); border-radius:18px; background:rgba(255,255,255,.84); color:var(--teal-dark); box-shadow:0 16px 36px rgba(18,52,59,.10); backdrop-filter:blur(8px); pointer-events:none; }
.therapy-icon svg { width:31px; height:31px; }
.therapy-icon path,
.therapy-icon circle { fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
.therapy-icon-spine { left:3%; top:30%; animation:medicalFloat 8.8s ease-in-out infinite; }
.therapy-icon-knee { right:1%; top:22%; animation:medicalFloat 9.2s ease-in-out infinite .8s; }
.therapy-icon-run { left:9%; bottom:18%; animation:medicalFloat 10s ease-in-out infinite .35s; }
.therapy-icon-posture { right:5%; bottom:28%; animation:medicalFloat 8.5s ease-in-out infinite 1.1s; }
.hero-badge-pulse { position:absolute; z-index:2; left:50%; bottom:22px; width:min(430px,78%); height:120px; transform:translateX(-41%); border:1px solid rgba(8,127,131,.18); border-radius:72px 28px 28px 72px; box-shadow:0 0 0 0 rgba(8,127,131,.14); pointer-events:none; animation:badgePulse 3.8s ease-in-out infinite; }
.hero-media-clean,
.homepage-portrait-card { min-height:570px; overflow:hidden; isolation:isolate; border-radius:220px 220px 28px 28px; }
.hero-media-clean::before,
.homepage-portrait-card::before { content:""; position:absolute; z-index:0; inset:12px 38px 0 38px; border-radius:220px 220px 28px 28px; background:linear-gradient(155deg,#dff5f1 0%,#b9ece6 100%); box-shadow:0 26px 70px rgba(8,127,131,.16); }
.hero-media-clean::after,
.homepage-portrait-card::after { content:""; position:absolute; z-index:0; inset:0 20px -8px 20px; border-radius:240px 240px 42px 42px; border:1px solid rgba(8,127,131,.14); background:radial-gradient(circle at 72% 18%,rgba(255,255,255,.38),transparent 35%); box-shadow:0 0 0 16px rgba(223,245,241,.25); }
.hero-media-clean .hero-doctor,
.homepage-portrait-card .hero-doctor { position:absolute; z-index:1; left:0; right:0; top:10px; bottom:112px; width:100%; height:calc(100% - 112px); min-height:0; object-fit:contain; object-position:center bottom; border-radius:0; box-shadow:none; filter:drop-shadow(0 18px 24px rgba(18,52,59,.14)); animation:none; }
.hero-experience-badge { position:absolute; z-index:3; right:22px; bottom:18px; display:block; width:min(470px,calc(100% - 70px)); min-height:118px; padding:22px 28px 22px 145px; border:2px solid rgba(185,236,230,.95); border-radius:72px 28px 28px 72px; background:rgba(255,255,255,.97); box-shadow:0 18px 42px rgba(18,52,59,.14); color:var(--ink); text-align:left; }
.hero-experience-badge::after { content:""; position:absolute; left:150px; bottom:17px; width:112px; height:4px; border-radius:999px; background:var(--teal); }
.hero-experience-badge span { position:absolute; left:14px; top:50%; width:112px; height:112px; transform:translateY(-50%); display:grid; place-items:center; padding:12px; border:4px solid #17a8a0; border-radius:50%; background:#fff; color:var(--ink); text-align:center; font-size:.9rem; font-weight:850; line-height:1.04; box-shadow:0 10px 26px rgba(8,127,131,.16); }
.hero-experience-badge span em { display:block; color:#159f96; font-family:Georgia,serif; font-size:1.6rem; font-style:italic; line-height:.9; }
.hero-experience-badge strong { display:block; max-width:270px; font-size:1.04rem; line-height:1.26; letter-spacing:-.02em; }
.floating-card { position:absolute; z-index:2; left:-35px; bottom:30px; max-width:230px; padding:16px 18px; border:1px solid rgba(255,255,255,.8); border-radius:18px; background:rgba(255,255,255,.92); box-shadow:var(--shadow); backdrop-filter:blur(8px); }
.floating-card strong { display:block; font-size:1.05rem; line-height:1.2; }
.floating-card span { color:var(--muted); font-size:.78rem; line-height:1.45; }

.trust-bar { background: var(--ink); color: white; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:27px 22px; border-right:1px solid rgba(255,255,255,.12); text-align:center; }
.trust-item:last-child { border:0; }
.trust-item strong { display:block; color:var(--aqua); font-size:1.4rem; }
.trust-item span { color:#cfe0df; font-size:.85rem; }

.section { padding: 94px 0; }
.section-sm { padding: 65px 0; }
.section-mint { background: var(--mint); }
.section-white { background: white; }
.section-head { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:38px; }
.section-head > div { max-width:760px; }
.section-head p, .muted { color:var(--muted); }
.section-head p { margin:0; }
.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.core-treatment-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
.card { position:relative; border:1px solid transparent; border-radius:var(--radius); background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,rgba(185,236,230,.95),rgba(239,118,95,.28)) border-box; box-shadow:0 8px 28px rgba(18,52,59,.05); overflow:hidden; transition:transform .25s,box-shadow .25s,border-color .25s; }
.card::before { content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit; background:radial-gradient(circle at 18% 12%,rgba(185,236,230,.32),transparent 38%); opacity:0; transition:opacity .25s; }
.card::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(120deg,transparent 18%,rgba(255,255,255,.72) 45%,transparent 72%); opacity:0; transform:translateX(-48%); transition:opacity .35s,transform .7s; }
.card:hover { transform:translateY(-5px); box-shadow:var(--shadow); }
.card:hover::before { opacity:1; }
.card:hover::after { opacity:.8; transform:translateX(45%); }
.card-body { padding:26px; }
.card p { color:var(--muted); }
.problem-card { padding:25px; background:linear-gradient(180deg,#fff 0%,#fff 68%,rgba(223,245,241,.34) 100%) padding-box,linear-gradient(135deg,rgba(185,236,230,.95),rgba(239,118,95,.28)) border-box; }
.problem-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:20px; color:var(--teal-dark); background:var(--mint); border-radius:15px; font-size:1.4rem; }
.facility-cards { grid-template-columns:repeat(2,1fr); }
.facility-card { min-height:260px; display:flex; flex-direction:column; align-items:flex-start; }
.facility-card .text-link { margin-top:auto; }
.facility-note { padding:26px; border:1px solid rgba(185,236,230,.9); border-radius:var(--radius); background:linear-gradient(145deg,#fff,#f6fffc); box-shadow:0 8px 28px rgba(18,52,59,.05); }
.facility-note strong { display:block; margin-bottom:8px; color:var(--teal-dark); font-size:.82rem; letter-spacing:.09em; text-transform:uppercase; }
.facility-checks { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin-top:26px; }
.condition-icon { display:block; width:96px; height:96px; margin-bottom:20px; border-radius:22px; background:#fbfaf6; object-fit:contain; box-shadow:0 10px 26px rgba(18,52,59,.08); transition:transform .28s ease, box-shadow .28s ease; }
.condition-icon-small { width:88px; height:88px; }
.card:hover .condition-icon { transform:translateY(-4px) scale(1.04); box-shadow:0 16px 34px rgba(18,52,59,.13); }
.condition-card { padding:18px 18px 25px; }
.condition-image { width:100%; height:220px; margin-bottom:22px; border-radius:20px; background:#fbfaf6; object-fit:contain; box-shadow:inset 0 0 0 1px rgba(219,232,230,.65); }

.service-card img { width:100%; height:220px; object-fit:cover; }
.service-card .card-body { min-height:235px; display:flex; flex-direction:column; align-items:flex-start; }
.service-card .text-link { margin-top:auto; }
.tag { display:inline-block; margin-bottom:12px; padding:5px 10px; border-radius:999px; color:var(--teal-dark); background:var(--mint); font-size:.72rem; font-weight:850; text-transform:uppercase; letter-spacing:.07em; }

.split { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:clamp(42px,8vw,100px); }
.split-media { position:relative; }
.split-media img { width:100%; min-height:500px; object-fit:cover; border-radius:var(--radius); box-shadow:var(--shadow); }
.about-portrait { min-height:560px; overflow:hidden; border-radius:220px 220px 28px 28px; background:linear-gradient(160deg,var(--mint),var(--aqua)); box-shadow:var(--shadow); }
.about-portrait img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:contain; object-position:center bottom; border-radius:220px 220px 28px 28px; box-shadow:none; filter:drop-shadow(0 16px 22px rgba(22,52,59,.16)); }
.about-experience-image { max-width:620px; margin-inline:auto; }
.about-experience-image img { width:100%; height:auto; min-height:0; object-fit:contain; border-radius:24px; box-shadow:var(--shadow); }
.homepage-experience-image { max-width:620px; margin-inline:auto; }
.homepage-experience-image img { width:100%; height:auto; min-height:0; object-fit:contain; border-radius:24px; box-shadow:var(--shadow); transition:transform .35s ease, box-shadow .35s ease; }
.homepage-experience-image:hover img { transform:translateY(-6px); box-shadow:0 28px 70px rgba(16,69,75,.17); }
.trust-photo-card { position:relative; overflow:hidden; border:1px solid rgba(185,236,230,.85); border-radius:var(--radius); background:linear-gradient(145deg,#ffffff,#f6fffc); box-shadow:var(--shadow); isolation:isolate; }
.trust-photo-card::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(18,52,59,0) 48%,rgba(18,52,59,.30) 100%); }
.trust-photo-card::after { display:none; }
.trust-photo-card img { width:100%; height:520px; min-height:0; object-fit:cover; object-position:center; border-radius:inherit; box-shadow:none; transition:transform .35s ease; }
.trust-photo-card:hover img { transform:scale(1.025); }
.trust-photo-caption { position:absolute; left:24px; right:24px; bottom:24px; z-index:2; padding:18px 20px; border:1px solid rgba(255,255,255,.78); border-radius:20px; background:rgba(255,255,255,.92); box-shadow:0 18px 42px rgba(18,52,59,.14); backdrop-filter:blur(12px); }
.trust-photo-caption span { display:block; margin-bottom:5px; color:var(--teal-dark); font-size:.72rem; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.trust-photo-caption h3 { margin:0; max-width:440px; font-size:1.18rem; line-height:1.25; letter-spacing:-.03em; }
.experience-badge { position:absolute; right:-24px; bottom:28px; width:230px; min-height:116px; display:grid; place-items:center; padding:18px 22px; border:8px solid white; border-radius:26px; background:var(--coral); color:white; text-align:center; font-weight:800; line-height:1.25; }
.experience-badge strong { display:block; margin-bottom:4px; font-size:1.15rem; line-height:1.15; }
.feature-list { display:grid; gap:14px; margin:26px 0 30px; padding:0; list-style:none; }
.feature-list li { display:flex; gap:12px; }
.feature-list li::before { content:"\2713"; flex:0 0 auto; display:grid; place-items:center; width:25px; height:25px; color:white; background:var(--teal); border-radius:50%; font-size:.75rem; }
.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:step; }
.step { position:relative; padding:30px; border-radius:var(--radius); background:white; counter-increment:step; }
.step::before { content:"0" counter(step); display:block; margin-bottom:26px; color:var(--coral); font-size:2rem; font-weight:900; }
.step:not(:last-child)::after { content:"\2192"; position:absolute; top:45px; right:-20px; z-index:2; color:var(--teal); font-size:1.7rem; }

.quote { padding:32px; border-radius:var(--radius); background:white; box-shadow:0 8px 28px rgba(18,52,59,.06); }
.stars { color:#eba53b; letter-spacing:.14em; }
.quote blockquote { margin:18px 0; color:var(--ink); font-size:1.06rem; }
.quote cite { color:var(--muted); font-size:.9rem; font-style:normal; }
.faq { max-width:850px; margin:auto; }
.faq details { border-bottom:1px solid var(--line); }
.faq summary { padding:20px 4px; cursor:pointer; font-size:1.05rem; font-weight:780; }
.faq details p { margin:0; padding:0 35px 22px 4px; color:var(--muted); }

.cta { position:relative; overflow:hidden; padding:58px; border-radius:34px; background:var(--ink); color:white; }
.cta::after { content:""; position:absolute; width:250px; height:250px; right:-70px; top:-90px; border:45px solid rgba(185,236,230,.11); border-radius:50%; }
.cta-grid { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.cta h2 { max-width:700px; margin-bottom:10px; }
.cta p { margin:0; color:#cfe0df; }

.page-hero { padding:72px 0; background:linear-gradient(135deg,var(--mint),#f7fcfa 65%); }
.breadcrumbs { margin-bottom:18px; color:var(--muted); font-size:.86rem; }
.content-grid { display:grid; grid-template-columns:minmax(0,1fr) 330px; gap:60px; align-items:start; }
.content h2 { margin-top:48px; font-size:2rem; }
.content h3 { margin-top:30px; }
.content p, .content li { color:var(--muted); }
.sidebar { position:sticky; top:105px; padding:27px; border-radius:var(--radius); background:var(--mint); }
.sidebar ul { list-style:none; margin:18px 0 25px; padding:0; }
.sidebar li { padding:9px 0; border-bottom:1px solid rgba(8,127,131,.12); }
.blog-feature { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 180px; align-items:center; gap:45px; padding:clamp(34px,6vw,68px); border-radius:34px; color:white; background:linear-gradient(135deg,var(--ink),var(--teal-dark)); box-shadow:var(--shadow); }
.blog-feature::after { content:""; position:absolute; width:260px; height:260px; right:-90px; bottom:-130px; border:42px solid rgba(185,236,230,.12); border-radius:50%; }
.blog-feature > * { position:relative; z-index:1; }
.blog-feature h2 { max-width:780px; }
.blog-feature p:not(.article-meta) { max-width:780px; color:#d5e7e5; }
.blog-feature .tag { color:var(--ink); background:var(--aqua); }
.blog-feature-mark { display:grid; place-items:center; width:150px; height:150px; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:var(--aqua); font-size:4rem; }
.article-meta { margin:0 0 12px; color:var(--muted); font-size:.78rem; font-weight:750; letter-spacing:.04em; text-transform:uppercase; }
.blog-feature .article-meta { color:#a9cfcc; }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.blog-card { display:flex; min-height:310px; flex-direction:column; align-items:flex-start; padding:28px; }
.blog-card p:not(.article-meta) { margin-top:5px; }
.blog-card .text-link { margin-top:auto; }
.blog-icon { display:grid; place-items:center; width:48px; height:48px; margin-bottom:24px; border-radius:15px; color:white; background:var(--teal); font-weight:900; }
.article-list { max-width:900px; }
.blog-article { scroll-margin-top:110px; padding:70px 0; border-bottom:1px solid var(--line); }
.blog-article:first-child { padding-top:0; }
.blog-article:last-child { padding-bottom:0; border-bottom:0; }
.blog-article h2 { max-width:780px; font-size:clamp(2rem,4vw,3rem); }
.blog-article h3 { margin-top:32px; }
.blog-article p:not(.eyebrow):not(.article-meta) { color:var(--muted); }
.article-note { margin-top:28px; padding:22px 24px; border-left:4px solid var(--coral); border-radius:0 16px 16px 0; color:var(--muted); background:var(--mint); }
.article-note strong { color:var(--ink); }
.gallery { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }
.gallery img { width:100%; height:250px; object-fit:cover; border-radius:18px; }
.gallery img:first-child { grid-column:span 2; }

.contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:55px; }
.contact-list { display:grid; gap:15px; margin-top:28px; }
.contact-row { display:flex; gap:14px; align-items:flex-start; padding:17px; border-radius:16px; background:white; }
.contact-row strong { display:block; }
.contact-row span { color:var(--muted); font-size:.91rem; }
.form-card { padding:35px; border:1px solid var(--line); border-radius:var(--radius); background:white; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.field { display:grid; gap:7px; }
.field-full { grid-column:1/-1; }
label { font-size:.86rem; font-weight:780; }
input,textarea,select { width:100%; padding:13px 14px; border:1px solid #bfd3d0; border-radius:11px; color:var(--ink); background:#fff; }
textarea { min-height:120px; resize:vertical; }
.form-note { color:var(--muted); font-size:.78rem; }
.map-card { min-height:330px; display:grid; place-items:center; margin-top:25px; padding:35px; border-radius:var(--radius); background:linear-gradient(145deg,#dff5f1,#c4e6e5); text-align:center; }

.site-footer { margin-top:92px; padding:65px 0 25px; background:#0e2d33; color:white; }
.footer-grid { display:grid; grid-template-columns:1.3fr .8fr .8fr 1fr; gap:45px; }
.footer-about { max-width:340px; color:#bdd0cf; }
.site-footer h3 { font-size:1rem; }
.footer-links { display:grid; gap:10px; color:#bdd0cf; font-size:.9rem; }
.footer-links a:hover { color:white; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:50px; padding-top:22px; border-top:1px solid rgba(255,255,255,.12); color:#9db4b3; font-size:.8rem; }
.mobile-actions { display:none; }

.hero .eyebrow,
.hero h1,
.hero .lead,
.hero .hero-actions,
.hero .trust-inline { animation:heroTextRise .7s ease both; }
.hero h1 { animation-delay:.08s; }
.hero .lead { animation-delay:.16s; }
.hero .hero-actions { animation-delay:.24s; }
.hero .trust-inline { animation-delay:.32s; }
.hero-media { animation:heroImageRise .85s cubic-bezier(.2,.75,.2,1) both; }
.js-enabled .reveal-on-scroll { opacity:1; transform:none; transition:opacity .75s ease,transform .75s cubic-bezier(.2,.75,.2,1); transition-delay:var(--reveal-delay,0ms); }
.js-enabled .reveal-on-scroll.is-visible { opacity:1; transform:translateY(0); }
.trust-item { transition:background .25s, transform .25s; }
.trust-item:hover { background:rgba(255,255,255,.05); transform:translateY(-2px); }
.cta .btn-coral { animation:softPulse 3.2s ease-in-out infinite; }

@keyframes heroTextRise {
  from { opacity:0; transform:translateY(22px); }
  to { opacity:1; transform:translateY(0); }
}
@keyframes heroImageRise {
  from { opacity:0; transform:translateY(26px) scale(.985); }
  to { opacity:1; transform:translateY(0) scale(1); }
}
@keyframes portraitFloat {
  0%,100% { transform:translateY(0); }
  50% { transform:translateY(-14px); }
}
@keyframes portraitGlow {
  0%,100% { transform:translateY(0) scale(1); opacity:.95; }
  50% { transform:translateY(-8px) scale(1.015); opacity:1; }
}
@keyframes haloTurn {
  0% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-8px) rotate(3deg); }
  100% { transform:translateY(0) rotate(0deg); }
}
@keyframes orbDrift {
  0%,100% { transform:translate(0,0) scale(1); }
  50% { transform:translate(-18px,18px) scale(1.04); }
}
@keyframes heroGlow {
  0%,100% { transform:translateX(0) scale(1); opacity:.7; }
  50% { transform:translateX(-38px) scale(1.08); opacity:1; }
}
@keyframes ambientFloatOne {
  0%,100% { transform:translate(0,0); }
  50% { transform:translate(18px,-16px); }
}
@keyframes ambientFloatTwo {
  0%,100% { transform:translate(0,0) rotate(0deg); }
  50% { transform:translate(-14px,12px) rotate(8deg); }
}
@keyframes ambientFloatThree {
  0%,100% { transform:translate(0,0) scale(1); }
  50% { transform:translate(-22px,20px) scale(1.05); }
}
@keyframes softPulse {
  0%,100% { box-shadow:0 8px 20px rgba(239,118,95,.18); }
  50% { box-shadow:0 14px 34px rgba(239,118,95,.32); }
}
@keyframes medicalFloat {
  0%,100% { transform:translateY(0) rotate(0deg); }
  50% { transform:translateY(-14px) rotate(2deg); }
}
@keyframes medicalFloatSmall {
  0%,100% { transform:translate(0,0); }
  50% { transform:translate(10px,-12px); }
}
@keyframes badgePulse {
  0%,100% { opacity:.58; box-shadow:0 0 0 0 rgba(8,127,131,.13); }
  50% { opacity:.95; box-shadow:0 0 0 13px rgba(185,236,230,.16); }
}

@media (max-width: 1120px) {
  .nav-links { display:none; position:absolute; top:78px; right:20px; left:20px; flex-direction:column; align-items:stretch; gap:4px; padding:18px; border:1px solid var(--line); border-radius:18px; background:white; box-shadow:var(--shadow); }
  .nav-links.open { display:flex; }
  .nav-links a:not(.btn) { padding:10px; }
  .menu-btn { display:block; }
  .hero-grid,.split,.contact-grid { grid-template-columns:1fr; }
  .hero-media { min-height:480px; max-width:600px; width:100%; margin:auto; }
  .hero-media-clean,.homepage-portrait-card { min-height:560px; max-width:600px; width:100%; margin:auto; }
  .hero-media-composite { min-height:540px; }
  .therapy-icon { width:46px; height:46px; border-radius:15px; }
  .therapy-icon svg { width:26px; height:26px; }
  .therapy-icon-knee,.therapy-icon-posture { opacity:.72; }
  .hero-badge-pulse { width:min(390px,76%); height:104px; bottom:24px; }
  .cards,.blog-grid { grid-template-columns:repeat(2,1fr); }
  .core-treatment-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .blog-feature { grid-template-columns:1fr; }
  .blog-feature-mark { display:none; }
  .trust-grid { grid-template-columns:repeat(2,1fr); }
  .trust-item:nth-child(2) { border-right:0; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.12); }
  .content-grid { grid-template-columns:1fr; }
  .sidebar { position:static; }
  .footer-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 650px) {
  .container { width:100%; max-width:100%; padding-inline:14px; }
  .site-header,
  .topbar,
  .hero,
  .section,
  .page-hero,
  .site-footer,
  .chiro-page,
  .chiro-hero,
  .section-cream { width:100%; max-width:100vw; overflow-x:hidden; }
  .hero-grid,
  .split,
  .contact-grid,
  .content-grid,
  .cards,
  .steps,
  .gallery,
  .form-grid,
  .blog-grid,
  .core-treatment-cards,
  .trust-grid,
  .facility-cards,
  .facility-checks,
  .footer-grid,
  .cta-grid,
  .section-head { width:100%; max-width:100%; min-width:0; }
  h1,h2,h3,p,
  .lead,
  .brand,
  .brand > div,
  .hero-actions,
  .trust-inline,
  .card,
  .service-card,
  .problem-card,
  .cta,
  .blog-feature,
  .faq,
  .accordion,
  .feature-list,
  .contact-card,
  .footer-about { max-width:100%; min-width:0; overflow-wrap:break-word; }
  .topbar { display:none; }
  .nav { min-height:68px; }
  .nav { gap:10px; width:100%; max-width:100%; }
  .brand { min-width:0; }
  .brand span { min-width:0; overflow-wrap:break-word; }
  .menu-btn { flex:0 0 44px; }
  .nav-links { top:68px; }
  .brand small { display:none; }
  .brand-logo { width:44px!important; height:44px!important; flex-basis:44px!important; }
  .hero { padding:36px 0 34px; }
  .hero-grid { gap:26px; }
  h1 { margin-bottom:16px; font-size:2.28rem; line-height:1.08; }
  .lead { margin-bottom:20px; font-size:1rem; line-height:1.56; }
  .hero-actions { gap:10px; margin-bottom:18px; }
  .hero-actions .btn { min-height:46px; padding-inline:17px; }
  .trust-inline { gap:9px 14px; font-size:.82rem; }
  .hero-media { min-height:330px; }
  .hero-dot-pattern { width:92%; height:74%; opacity:.32; background-size:20px 20px; }
  .hero-orbit { opacity:.45; }
  .hero-float-circle-one { width:36px; height:36px; left:5%; top:22%; }
  .hero-float-circle-two { display:none; }
  .hero-float-circle-three { display:none; }
  .therapy-icon { display:none; }
  .hero-badge-pulse { display:none; }
  .hero-media-clean,.homepage-portrait-card { min-height:420px; }
  .hero-media-clean::before,.homepage-portrait-card::before { inset:14px 14px 0 14px; }
  .hero-media-clean::after,.homepage-portrait-card::after { inset:4px 4px -8px 4px; box-shadow:0 0 0 10px rgba(223,245,241,.22); }
  .hero-media-clean .hero-doctor,.homepage-portrait-card .hero-doctor { top:8px; bottom:104px; height:calc(100% - 104px); }
  .hero-experience-badge { left:14px; right:14px; bottom:12px; width:auto; min-height:90px; transform:none; padding:13px 14px 15px 98px; border-radius:58px 20px 20px 58px; }
  .hero-experience-badge span { left:10px; width:84px; height:84px; font-size:.72rem; }
  .hero-experience-badge span em { font-size:1.18rem; }
  .hero-experience-badge strong { max-width:none; font-size:.78rem; line-height:1.24; }
  .hero-experience-badge::after { left:112px; width:78px; bottom:8px; transform:none; }
  .hero-media-composite { min-height:390px; }
  .hero-media-composite .hero-composite-image { width:min(96%,360px); max-height:390px; }
  .floating-card { left:10px; bottom:16px; }
  .section { padding:56px 0; }
  .page-hero { padding:46px 0; }
  .section-head,.cta-grid { align-items:flex-start; flex-direction:column; }
  .cards,.steps,.gallery,.form-grid,.blog-grid { grid-template-columns:1fr; }
  .core-treatment-cards { grid-template-columns:1fr; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
  .trust-item:last-child { border-bottom:0; }
  .facility-checks { grid-template-columns:1fr; }
  .blog-feature { padding:34px 25px; }
  .gallery img:first-child { grid-column:auto; }
  .experience-badge { right:8px; width:210px; }
  .trust-photo-card img { height:390px; }
  .trust-photo-caption { left:14px; right:14px; bottom:14px; padding:14px 16px; border-radius:16px; }
  .trust-photo-caption h3 { font-size:1rem; }
  .step:not(:last-child)::after { display:none; }
  .cta { padding:36px 25px; }
  .footer-grid { grid-template-columns:1fr; gap:28px; }
  .footer-bottom { flex-direction:column; }
  .site-footer { padding-bottom:85px; }
  .mobile-actions { position:fixed; z-index:90; right:auto; bottom:0; left:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100vw; max-width:100vw; background:white; box-shadow:0 -5px 20px rgba(18,52,59,.12); }
  .mobile-actions a { min-width:0; min-height:52px; display:grid; place-items:center; color:var(--ink); border-right:1px solid var(--line); font-size:.76rem; font-weight:820; }
  .mobile-actions a:last-child { color:white; background:var(--teal); }
}

@media (max-width: 650px) {
  .hero .lead,
  .hero .hero-actions,
  .hero .trust-inline,
  .hero-media {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
  }
  .hero-grid {
    display: block !important;
  }
  .hero h1,
  .hero .lead,
  .hero .trust-inline {
    width: min(330px, 100%) !important;
    max-width: 330px !important;
  }
  .hero .lead {
    font-size: .96rem;
  }
  .hero .hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    width: min(330px, 100%);
    max-width: 330px;
  }
  .hero .hero-actions .btn {
    width: 100%;
    max-width: 100%;
  }
  .hero-media-composite {
    min-height: 315px;
    margin-top: 12px;
    align-items: flex-start;
  }
  .hero-media-composite .hero-composite-image {
    width: min(92%, 310px);
    max-height: 330px;
    margin-inline: auto;
  }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; animation-iteration-count:1!important; } .js-enabled .reveal-on-scroll { opacity:1; transform:none; } .therapy-icon,.hero-float-circle,.hero-badge-pulse { animation:none!important; } }

/* Chiropractic Care page */
.chiro-page {
  --chiro-maroon:#7a2230;
  --chiro-maroon-dark:#591722;
  --chiro-charcoal:#202326;
  --chiro-cream:#fff8f2;
  --chiro-blush:#f7ebe5;
  --chiro-line:rgba(122,34,48,.16);
  background:#fffaf6;
  color:var(--chiro-charcoal);
  overflow-x:hidden;
}

.chiro-page .eyebrow { color:var(--chiro-maroon); }
.chiro-page .breadcrumbs { color:#7a6860; margin-bottom:20px; font-size:.88rem; font-weight:720; }
.chiro-page .breadcrumbs a { color:var(--chiro-maroon); }
.section-cream { background:linear-gradient(180deg,#fff8f2 0%,#fffaf7 100%); }
.btn-maroon { background:var(--chiro-maroon); color:#fff; border:1px solid var(--chiro-maroon); box-shadow:0 14px 34px rgba(122,34,48,.18); }
.btn-maroon:hover { background:var(--chiro-maroon-dark); border-color:var(--chiro-maroon-dark); }
.btn-outline-maroon { background:#fff; color:var(--chiro-maroon); border:1px solid rgba(122,34,48,.24); box-shadow:0 10px 26px rgba(32,35,38,.07); }
.btn-outline-maroon:hover { border-color:var(--chiro-maroon); transform:translateY(-1px); }

.chiro-hero {
  position:relative;
  overflow:hidden;
  padding:88px 0 76px;
  background:
    radial-gradient(circle at 12% 10%,rgba(122,34,48,.09),transparent 28%),
    radial-gradient(circle at 85% 8%,rgba(8,127,131,.10),transparent 32%),
    linear-gradient(135deg,#fffaf6 0%,#fff 48%,#fff3ee 100%);
}

.chiro-hero::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.42;
  background-image:radial-gradient(rgba(122,34,48,.18) 1px,transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 18%,#000 78%,transparent 100%);
}

.chiro-hero-grid,
.chiro-split {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  gap:clamp(36px,6vw,76px);
  align-items:center;
}

.chiro-hero-grid > *,
.chiro-split > *,
.chiro-trust,
.chiro-trust span {
  min-width:0;
}

.chiro-hero h1 {
  max-width:820px;
  margin:12px 0 18px;
  color:var(--chiro-charcoal);
  letter-spacing:-.055em;
}

.chiro-hero h1 span {
  display:block;
}

.chiro-page .lead,
.chiro-page p {
  color:#5f6f71;
}

.chiro-actions {
  flex-wrap:wrap;
  margin-top:26px;
  gap:12px;
  max-width:100%;
}

.chiro-actions .btn {
  white-space:normal;
  text-align:center;
}

.chiro-trust {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-top:30px;
}

.chiro-trust span {
  min-height:74px;
  padding:14px 16px;
  border:1px solid var(--chiro-line);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 14px 34px rgba(32,35,38,.06);
  color:#34484b;
  font-size:.9rem;
  font-weight:750;
  overflow-wrap:anywhere;
}

.chiro-hero-image,
.chiro-image-card {
  overflow:hidden;
  border-radius:32px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255,255,255,.82), transparent 34%),
    linear-gradient(135deg, #fffaf6 0%, #fff4ee 52%, #f8fffc 100%);
  border:1px solid rgba(122,34,48,.10);
  box-shadow:0 28px 70px rgba(32,35,38,.12);
}

.chiro-hero-image {
  aspect-ratio:1.18/1;
  transform:rotate(1deg);
}

.chiro-image-card {
  aspect-ratio:1.42/1;
}

.chiro-fit-landscape {
  aspect-ratio:1.33/1;
}

.chiro-fit-hero-portrait {
  position:relative;
  aspect-ratio:.72/1;
  max-width:520px;
  justify-self:center;
  transform:none;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}

.chiro-fit-hero-portrait::before {
  content:none;
}

.chiro-fit-portrait {
  aspect-ratio:.8/1;
  max-width:560px;
  justify-self:center;
}

.chiro-image-card.portrait {
  max-width:420px;
  aspect-ratio:.67/1;
  justify-self:center;
}

.chiro-hero-image img,
.chiro-image-card img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center center;
}

.chiro-fit-hero-portrait img,
.chiro-fit-landscape img,
.chiro-fit-portrait img {
  object-fit:contain;
  object-position:center center;
  background:transparent;
}

.chiro-fit-hero-portrait img {
  position:relative;
  z-index:1;
  filter:drop-shadow(0 24px 28px rgba(32,35,38,.16));
}

.chiro-card-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.chiro-card,
.chiro-process article,
.chiro-testimonials blockquote {
  min-height:100%;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--chiro-line);
  box-shadow:0 18px 46px rgba(32,35,38,.07);
}

.chiro-card h3,
.chiro-process h3 {
  margin:0 0 8px;
  color:var(--chiro-charcoal);
  font-size:1.08rem;
}

.chiro-card p { margin:0; }

.chiro-pill-grid,
.chiro-mini-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.chiro-pill-grid span,
.chiro-mini-list span {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  color:#35474a;
  background:#fff;
  border:1px solid rgba(122,34,48,.15);
  box-shadow:0 10px 28px rgba(32,35,38,.06);
  font-weight:760;
}

.chiro-process {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.chiro-process span {
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:14px;
  background:var(--chiro-blush);
  color:var(--chiro-maroon);
  font-weight:900;
}

.chiro-highlight {
  margin-top:18px;
  padding:18px 20px;
  border-radius:20px;
  background:#fff3ee;
  border-left:4px solid var(--chiro-maroon);
  font-weight:780;
}

.chiro-check-grid .chiro-card {
  position:relative;
  padding-top:52px;
}

.chiro-check-grid .chiro-card::before {
  content:"";
  position:absolute;
  top:22px;
  left:24px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:var(--chiro-maroon);
  box-shadow:0 0 0 8px rgba(122,34,48,.10);
}

.chiro-condition-panel,
.chiro-safety-note,
.chiro-integrated-card {
  border:1px solid rgba(122,34,48,.13);
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 46px rgba(32,35,38,.07);
}

.chiro-condition-panel {
  margin-top:22px;
  padding:24px;
}

.chiro-condition-panel h3,
.chiro-integrated-card h3 {
  margin:0 0 14px;
  color:var(--chiro-charcoal);
}

.chiro-condition-links {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}

.chiro-condition-links a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  color:var(--chiro-maroon);
  background:#fff8f2;
  border:1px solid rgba(122,34,48,.18);
  font-weight:850;
}

.chiro-condition-links a:hover {
  color:#fff;
  background:var(--chiro-maroon);
  border-color:var(--chiro-maroon);
}

.chiro-safety-note {
  margin:18px 0;
  padding:18px 20px;
  color:#3c4d50;
  background:linear-gradient(135deg,#fff,#fff5ef);
}

.chiro-safety-note strong {
  color:var(--chiro-maroon);
}

.chiro-integrated-card {
  padding:clamp(26px,4vw,42px);
  background:
    radial-gradient(circle at 85% 10%,rgba(122,34,48,.08),transparent 30%),
    linear-gradient(135deg,#fff,#fff8f2);
}

.chiro-choose-section {
  background:
    radial-gradient(circle at 8% 20%,rgba(122,34,48,.08),transparent 26%),
    radial-gradient(circle at 90% 18%,rgba(8,127,131,.08),transparent 28%),
    linear-gradient(180deg,#fffaf6 0%,#fff8f2 100%);
}

.chiro-choose-grid {
  display:grid;
  grid-template-columns:1.05fr 1fr 1fr;
  gap:18px;
}

.chiro-choose-card {
  position:relative;
  overflow:hidden;
  min-height:100%;
  padding:26px;
  border:1px solid rgba(122,34,48,.13);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:0 18px 48px rgba(32,35,38,.075);
}

.chiro-choose-card::after {
  content:"";
  position:absolute;
  right:-42px;
  top:-42px;
  width:120px;
  height:120px;
  border-radius:50%;
  background:rgba(122,34,48,.055);
}

.chiro-choose-feature {
  grid-row:span 2;
  padding:34px;
  color:#fff;
  background:
    radial-gradient(circle at 86% 14%,rgba(255,255,255,.20),transparent 26%),
    linear-gradient(145deg,var(--chiro-maroon-dark),var(--chiro-maroon));
}

.chiro-choose-feature h3,
.chiro-choose-feature p {
  color:#fff;
}

.chiro-choose-icon {
  position:relative;
  z-index:1;
  display:inline-grid;
  place-items:center;
  width:44px;
  height:44px;
  margin-bottom:18px;
  border-radius:16px;
  color:var(--chiro-maroon);
  background:#fff3ee;
  font-weight:900;
  box-shadow:0 12px 26px rgba(122,34,48,.10);
}

.chiro-choose-feature .chiro-choose-icon {
  color:#fff;
  background:rgba(255,255,255,.18);
  box-shadow:none;
}

.chiro-choose-card h3 {
  position:relative;
  z-index:1;
  margin:0 0 10px;
  color:var(--chiro-charcoal);
  font-size:1.08rem;
}

.chiro-choose-card p {
  position:relative;
  z-index:1;
  margin:0;
}

.chiro-facility-card {
  border-color:rgba(8,127,131,.18);
  background:linear-gradient(145deg,#fff,#f4fffc);
}

.chiro-facility-card a {
  position:relative;
  z-index:1;
  display:inline-flex;
  margin-top:16px;
  color:var(--chiro-maroon);
  font-weight:900;
}

.chiro-choose-note {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  margin-top:22px;
  padding:22px 24px;
  border-radius:28px;
  border:1px solid rgba(122,34,48,.16);
  background:#fff;
  box-shadow:0 18px 46px rgba(32,35,38,.07);
}

.chiro-choose-note strong {
  color:var(--chiro-maroon);
  font-size:1.05rem;
}

.chiro-choose-note span {
  color:#5f6f71;
}

.chiro-outstation-section {
  background:
    radial-gradient(circle at 12% 28%,rgba(8,127,131,.08),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(122,34,48,.08),transparent 30%),
    linear-gradient(180deg,#fffaf6 0%,#fff8f2 100%);
}

.chiro-outstation-cta {
  display:grid;
  grid-template-columns:1.2fr .95fr;
  gap:22px;
  align-items:center;
  padding:clamp(28px,4vw,46px);
  border:1px solid rgba(122,34,48,.14);
  border-radius:34px;
  background:
    radial-gradient(circle at 96% 0%,rgba(8,127,131,.12),transparent 32%),
    linear-gradient(135deg,rgba(255,255,255,.94),rgba(255,244,238,.88));
  box-shadow:0 24px 70px rgba(32,35,38,.08);
}

.chiro-outstation-cta h2 {
  margin-bottom:14px;
}

.chiro-outstation-cta p {
  margin-bottom:0;
}

.chiro-outstation-points {
  display:grid;
  gap:12px;
}

.chiro-outstation-points span {
  position:relative;
  padding:15px 16px 15px 46px;
  border:1px solid rgba(8,127,131,.14);
  border-radius:18px;
  background:rgba(255,255,255,.82);
  color:#34484b;
  font-weight:800;
  box-shadow:0 12px 28px rgba(32,35,38,.055);
}

.chiro-outstation-points span::before {
  content:"";
  position:absolute;
  left:16px;
  top:50%;
  width:18px;
  height:18px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--teal),#c9f5ef);
  transform:translateY(-50%);
  box-shadow:0 0 0 6px rgba(8,127,131,.08);
}

.chiro-outstation-cta .chiro-actions {
  grid-column:1 / -1;
  margin-top:2px;
}

.chiro-testimonials {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.chiro-testimonials blockquote {
  margin:0;
  color:#35474a;
  font-size:1.08rem;
  font-weight:760;
}

.chiro-testimonials blockquote::before {
  content:"\201C";
  display:block;
  color:var(--chiro-maroon);
  font-size:2.4rem;
  line-height:.8;
}

.chiro-review-ready blockquote::before {
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  margin-bottom:16px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--chiro-maroon),#bd6b75);
  font-size:1rem;
  line-height:1;
}

.chiro-testimonial-showcase {
  background:
    radial-gradient(circle at 10% 12%,rgba(122,34,48,.07),transparent 26%),
    radial-gradient(circle at 88% 18%,rgba(8,127,131,.07),transparent 28%),
    linear-gradient(180deg,#fffaf6 0%,#fff8f2 100%);
}

.chiro-testimonial-gallery {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:22px;
  align-items:start;
}

.chiro-testimonial-card {
  position:relative;
  overflow:hidden;
  border:0;
  border-radius:30px;
  background:transparent;
  box-shadow:none;
}

.chiro-testimonial-card img {
  display:block;
  width:100%;
  height:auto;
  border-radius:30px;
  filter:drop-shadow(0 24px 44px rgba(32,35,38,.10));
}

.chiro-testimonial-featured {
  grid-row:span 2;
  filter:drop-shadow(0 32px 70px rgba(122,34,48,.14));
}

.chiro-testimonial-featured img {
  transform:scale(1.018);
  transform-origin:center;
}

.chiro-testimonial-label {
  display:none;
}

.chiro-testimonial-points {
  display:grid;
  gap:12px;
}

.chiro-testimonial-points span {
  position:relative;
  padding:16px 18px 16px 48px;
  border:1px solid rgba(122,34,48,.13);
  border-radius:20px;
  background:rgba(255,255,255,.88);
  color:#34484b;
  font-weight:850;
  box-shadow:0 14px 34px rgba(32,35,38,.06);
}

.chiro-testimonial-points span::before {
  content:"✓";
  position:absolute;
  left:16px;
  top:50%;
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(135deg,var(--chiro-maroon),#c46c78);
  font-size:.8rem;
  transform:translateY(-50%);
}

.chiro-faq {
  max-width:100%;
  margin:10px 0 0;
  display:grid;
  gap:16px;
}

.chiro-faq details {
  overflow:hidden;
  border:1px solid rgba(122,34,48,.13);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,248,242,.92));
  box-shadow:0 16px 42px rgba(32,35,38,.065);
}

.chiro-faq details[open] {
  border-color:rgba(122,34,48,.28);
  box-shadow:0 22px 54px rgba(122,34,48,.10);
}

.chiro-faq summary {
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  padding:20px 24px;
  color:var(--chiro-charcoal);
  list-style:none;
}

.chiro-faq summary::-webkit-details-marker {
  display:none;
}

.chiro-faq summary::before {
  content:"+";
  flex:0 0 34px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:#fff;
  background:var(--chiro-maroon);
  font-weight:900;
  line-height:1;
  box-shadow:0 10px 22px rgba(122,34,48,.18);
}

.chiro-faq details[open] summary::before {
  content:"-";
}

.chiro-faq details p {
  margin:0;
  padding:0 28px 24px 72px;
  color:#5f6f71;
  border-top:1px solid rgba(122,34,48,.10);
  background:rgba(255,255,255,.34);
}

.chiro-final-cta {
  padding:clamp(34px,5vw,58px);
  border-radius:32px;
  color:#fff;
  background:
    radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 26%),
    linear-gradient(135deg,var(--chiro-maroon-dark),var(--chiro-maroon));
  box-shadow:0 28px 68px rgba(122,34,48,.20);
}

.chiro-final-cta .eyebrow,
.chiro-final-cta h2,
.chiro-final-cta p,
.chiro-final-cta .chiro-address {
  color:#fff;
}

.chiro-final-cta .btn-outline-maroon {
  color:#fff;
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.08);
}

.chiro-address {
  margin-top:22px;
  font-weight:750;
  opacity:.9;
}

/* Physiotherapy page visual identity */
.physio-page {
  --chiro-maroon:#2f8f68;
  --chiro-maroon-dark:#17684f;
  --chiro-charcoal:#12343b;
  --chiro-cream:#f3fbf6;
  --chiro-blush:#e6f6ee;
  --chiro-line:rgba(47,143,104,.18);
  background:#f5fcf8;
}

.physio-page .eyebrow {
  color:#1f7a5f;
}

.physio-page .breadcrumbs {
  color:#5f756d;
}

.physio-page .breadcrumbs a,
.physio-page .chiro-facility-card a,
.physio-page .chiro-choose-note strong,
.physio-page .chiro-safety-note strong {
  color:#1f7a5f;
}

.physio-page .section-cream {
  background:
    radial-gradient(circle at 12% 20%,rgba(47,143,104,.08),transparent 28%),
    linear-gradient(180deg,#f3fbf6 0%,#edf8f1 100%);
}

.physio-page .chiro-hero {
  background:
    radial-gradient(circle at 10% 10%,rgba(47,143,104,.12),transparent 30%),
    radial-gradient(circle at 86% 12%,rgba(185,236,230,.42),transparent 34%),
    radial-gradient(circle at 78% 78%,rgba(239,118,95,.07),transparent 28%),
    linear-gradient(135deg,#fbfff9 0%,#f3fbf6 48%,#e7f7ee 100%);
}

.physio-page .chiro-hero::before {
  opacity:.38;
  background-image:radial-gradient(rgba(47,143,104,.18) 1px,transparent 1px);
}

.physio-page .btn-maroon {
  background:#2f8f68;
  border-color:#2f8f68;
  box-shadow:0 14px 34px rgba(47,143,104,.18);
}

.physio-page .btn-maroon:hover {
  background:#17684f;
  border-color:#17684f;
}

.physio-page .btn-outline-maroon {
  color:#1f7a5f;
  border-color:rgba(47,143,104,.24);
  background:#fff;
}

.physio-page .btn-outline-maroon:hover {
  border-color:#2f8f68;
  color:#17684f;
}

.physio-page .chiro-hero-image,
.physio-page .chiro-image-card {
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.92),transparent 34%),
    linear-gradient(135deg,#fbfff9 0%,#eaf8f0 54%,#f8fffc 100%);
  border-color:rgba(47,143,104,.13);
  box-shadow:0 28px 70px rgba(47,143,104,.13);
}

.physio-page .chiro-trust span,
.physio-page .chiro-card,
.physio-page .chiro-process article,
.physio-page .chiro-testimonials blockquote,
.physio-page .chiro-condition-panel,
.physio-page .chiro-safety-note,
.physio-page .chiro-integrated-card,
.physio-page .chiro-choose-card,
.physio-page .chiro-choose-note,
.physio-page .chiro-faq details {
  border-color:rgba(47,143,104,.16);
  box-shadow:0 18px 46px rgba(47,143,104,.075);
}

.physio-page .chiro-trust span,
.physio-page .chiro-card,
.physio-page .chiro-process article,
.physio-page .chiro-testimonials blockquote,
.physio-page .chiro-choose-card,
.physio-page .chiro-condition-panel,
.physio-page .chiro-faq details {
  background:rgba(255,255,255,.88);
}

.physio-page .chiro-pill-grid span,
.physio-page .chiro-mini-list span,
.physio-page .chiro-condition-links a {
  color:#1f7a5f;
  background:#f5fcf8;
  border-color:rgba(47,143,104,.20);
}

.physio-page .chiro-condition-links a:hover {
  color:#fff;
  background:#2f8f68;
  border-color:#2f8f68;
}

.physio-page .chiro-process span,
.physio-page .chiro-choose-icon,
.physio-page .chiro-faq summary::before {
  color:#1f7a5f;
  background:#e6f6ee;
  box-shadow:0 10px 22px rgba(47,143,104,.12);
}

.physio-page .chiro-faq summary::before {
  color:#fff;
  background:#2f8f68;
}

.physio-page .chiro-check-grid .chiro-card::before {
  background:#2f8f68;
  box-shadow:0 0 0 8px rgba(47,143,104,.12);
}

.physio-page .chiro-highlight {
  background:#eff9f3;
  border-left-color:#2f8f68;
}

.physio-page .chiro-safety-note {
  background:linear-gradient(135deg,#fff,#eff9f3);
}

.physio-page .chiro-integrated-card {
  background:
    radial-gradient(circle at 85% 10%,rgba(47,143,104,.10),transparent 30%),
    linear-gradient(135deg,#fff,#f1fbf5);
}

.physio-page .chiro-choose-section,
.physio-page .chiro-testimonial-showcase,
.physio-page .chiro-outstation-section {
  background:
    radial-gradient(circle at 8% 20%,rgba(47,143,104,.10),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(185,236,230,.24),transparent 30%),
    linear-gradient(180deg,#f7fdf9 0%,#edf8f1 100%);
}

.physio-page .chiro-choose-card::after {
  background:rgba(47,143,104,.07);
}

.physio-page .chiro-choose-feature,
.physio-page .chiro-final-cta {
  background:
    radial-gradient(circle at 86% 14%,rgba(255,255,255,.20),transparent 26%),
    linear-gradient(145deg,#17684f,#2f8f68);
}

.physio-page .chiro-outstation-cta {
  border-color:rgba(47,143,104,.16);
  background:
    radial-gradient(circle at 96% 0%,rgba(185,236,230,.22),transparent 34%),
    linear-gradient(135deg,rgba(255,255,255,.95),rgba(239,249,243,.9));
}

.physio-page .chiro-outstation-points span::before,
.physio-page .chiro-testimonial-points span::before,
.physio-page .chiro-review-ready blockquote::before {
  background:linear-gradient(135deg,#2f8f68,#9ee2bf);
}

.physio-page .chiro-testimonials blockquote::before {
  color:#2f8f68;
}

.physio-page .chiro-final-cta {
  box-shadow:0 28px 68px rgba(47,143,104,.20);
}

.physio-page .chiro-final-cta .eyebrow {
  color:rgba(255,255,255,.86);
}

.physio-page .chiro-final-cta .eyebrow::before {
  background:#ffd5ca;
}

.physio-page .chiro-final-cta .btn-outline-maroon {
  color:#fff;
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.10);
}

.physio-page .physio-integrated-photo {
  width:100%;
  aspect-ratio:4/3;
  margin:0;
  display:block;
  object-fit:cover;
  object-position:center;
  border:0;
  border-radius:26px 26px 0 0;
  box-shadow:none;
}

.physio-page .chiro-integrated-card {
  align-self:start;
  overflow:hidden;
  padding:0;
  background:#fff;
}

.physio-page .chiro-integrated-card h3 {
  margin:24px 28px 12px;
}

.physio-page .chiro-integrated-card p {
  margin:0 28px 22px;
}

.physio-page .chiro-integrated-card .btn {
  margin:0 28px 30px;
}

.physio-page .physio-hero-photo {
  aspect-ratio:1/1;
  transform:none;
  background:
    radial-gradient(circle at 18% 18%,rgba(255,255,255,.95),transparent 34%),
    linear-gradient(135deg,#fbfff9 0%,#effaf4 58%,#f8fffc 100%);
}

.physio-page .physio-hero-photo img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  background:#f5fbf7;
}

.physio-page .chiro-fit-landscape img {
  object-fit:cover;
  object-position:center center;
}

.physio-page .chiro-fit-landscape {
  aspect-ratio:1/1;
}

.physio-page .physio-photo-wide {
  aspect-ratio:4/3;
  align-self:center;
  background:#fff;
}

.physio-page .physio-photo-wide img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}

.physio-page .physio-why-note .btn {
  margin-top:16px;
}

.physio-page .physio-spotlight-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 10% 12%,rgba(47,143,104,.13),transparent 28%),
    radial-gradient(circle at 88% 18%,rgba(185,236,230,.30),transparent 32%),
    linear-gradient(180deg,#f6fff9 0%,#effaf4 100%);
}

.physio-page .physio-spotlight-section::before {
  content:"";
  position:absolute;
  inset:22px clamp(16px,4vw,54px);
  pointer-events:none;
  border:1px solid rgba(47,143,104,.12);
  border-radius:34px;
  box-shadow:0 28px 80px rgba(47,143,104,.08);
}

.physio-page .physio-spotlight-section > .container {
  position:relative;
  z-index:1;
}

.physio-page .physio-plan-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.physio-page .physio-plan-card {
  position:relative;
  overflow:hidden;
  padding:26px;
  border:1px solid rgba(47,143,104,.16);
  border-radius:24px;
  background:rgba(255,255,255,.92);
  box-shadow:0 20px 48px rgba(47,143,104,.09);
}

.physio-page .physio-plan-card::after {
  content:"";
  position:absolute;
  width:120px;
  height:120px;
  right:-54px;
  top:-54px;
  border-radius:999px;
  background:rgba(47,143,104,.08);
}

.physio-page .physio-plan-card span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  color:#1f7a5f;
  background:#e6f6ee;
  font-weight:950;
  box-shadow:0 10px 22px rgba(47,143,104,.12);
}

.physio-page .physio-plan-card h3 {
  margin:18px 0 10px;
  color:#123a42;
  font-size:1.1rem;
}

.physio-page .physio-plan-card p {
  margin:0;
}

.physio-page .physio-safety-section {
  padding-top:36px;
  padding-bottom:36px;
  background:#fffaf6;
}

.physio-page .physio-safety-band {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  padding:30px;
  border:1px solid rgba(244,111,88,.22);
  border-radius:28px;
  background:
    radial-gradient(circle at 95% 12%,rgba(244,111,88,.10),transparent 26%),
    linear-gradient(135deg,#fff,#fff8f2);
  box-shadow:0 24px 58px rgba(244,111,88,.09);
}

.physio-page .physio-safety-band .eyebrow {
  color:#9d4d36;
}

.physio-page .physio-safety-band .eyebrow::before {
  background:#f46f58;
}

.physio-page .physio-safety-band h2 {
  margin:8px 0 10px;
  color:#123a42;
}

.physio-page .physio-safety-band p {
  margin:0;
  max-width:920px;
}

.physio-page .physio-home-plan-section {
  background:
    linear-gradient(135deg,#f7fffa 0%,#eef9f2 52%,#fffaf2 100%);
}

.physio-page .physio-home-plan {
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:34px;
  align-items:center;
  padding:34px;
  border:1px solid rgba(47,143,104,.16);
  border-radius:32px;
  background:rgba(255,255,255,.86);
  box-shadow:0 26px 70px rgba(47,143,104,.10);
}

.physio-page .physio-home-plan h2 {
  margin:8px 0 14px;
  color:#123a42;
}

.physio-page .physio-home-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}

.physio-page .physio-home-grid article {
  padding:20px;
  border:1px solid rgba(47,143,104,.14);
  border-radius:22px;
  background:#f7fffa;
}

.physio-page .physio-home-grid strong {
  display:block;
  margin-bottom:8px;
  color:#123a42;
  font-size:1rem;
}

.physio-page .physio-home-grid span {
  display:block;
  color:#607981;
  line-height:1.6;
}

.physio-page .physio-real-testimonials {
  background:
    radial-gradient(circle at 8% 14%,rgba(47,143,104,.10),transparent 28%),
    radial-gradient(circle at 92% 18%,rgba(185,236,230,.24),transparent 30%),
    linear-gradient(180deg,#f7fdf9 0%,#edf8f1 100%);
}

.physio-page .physio-testimonial-grid {
  display:grid;
  gap:26px;
  max-width:1120px;
  margin:0 auto;
}

.physio-page .physio-testimonial-card {
  margin:0;
  padding:12px;
  overflow:hidden;
  border:1px solid rgba(47,143,104,.16);
  border-radius:30px;
  background:rgba(255,255,255,.88);
  box-shadow:0 24px 58px rgba(47,143,104,.12);
}

.physio-page .physio-testimonial-featured-card {
  box-shadow:0 28px 70px rgba(47,143,104,.16);
}

.physio-page .physio-testimonial-card img {
  display:block;
  width:100%;
  height:auto;
  border-radius:22px;
}

.physio-page .physio-testimonial-actions {
  justify-content:center;
  margin-top:28px;
}

.physio-page .physio-proof-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.physio-page .physio-proof-card {
  overflow:hidden;
  border:1px solid rgba(47,143,104,.16);
  border-radius:28px;
  background:rgba(255,255,255,.88);
  box-shadow:0 20px 50px rgba(47,143,104,.10);
}

.physio-page .physio-proof-featured {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:28px;
  padding:28px;
  align-items:center;
}

.physio-page .physio-proof-copy h3,
.physio-page .physio-proof-compact h3 {
  margin:8px 0 14px;
  color:#123a42;
  letter-spacing:-.035em;
}

.physio-page .physio-proof-copy h3 {
  max-width:560px;
  font-size:clamp(2rem,4vw,3.6rem);
  line-height:1.02;
}

.physio-page .physio-proof-copy blockquote {
  margin:18px 0;
  padding:22px 24px;
  border-left:5px solid #2f8f68;
  border-radius:20px;
  background:#f3fbf6;
  color:#33484b;
  font-size:1.1rem;
  font-weight:700;
  line-height:1.65;
}

.physio-page .physio-proof-points {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.physio-page .physio-proof-points span {
  padding:9px 13px;
  border:1px solid rgba(47,143,104,.18);
  border-radius:999px;
  background:#fff;
  color:#1f7a5f;
  font-size:.88rem;
  font-weight:850;
}

.physio-page .physio-before-after {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  align-items:stretch;
}

.physio-page .physio-before-after figure {
  position:relative;
  margin:0;
  overflow:hidden;
  border-radius:24px;
  background:#fffaf2;
  box-shadow:0 16px 34px rgba(32,35,38,.10);
  border:1px solid rgba(47,143,104,.12);
  display:flex;
  flex-direction:column;
}

.physio-page .physio-before-after img {
  display:block;
  width:100%;
  height:clamp(240px,26vw,340px);
  object-fit:cover;
  object-position:center;
}

.physio-page .physio-before-after figure:first-child {
  aspect-ratio:auto;
}

.physio-page .physio-before-after .after {
  aspect-ratio:auto;
}

.physio-page .physio-before-after span {
  display:none;
}

.physio-page .physio-before-after .after span {
  display:none;
}

.physio-page .physio-before-after figcaption {
  position:static;
  padding:12px 14px;
  color:#123a42;
  background:#fff;
  font-size:.88rem;
  font-weight:850;
  text-align:center;
  border-top:1px solid rgba(47,143,104,.10);
}

.physio-page .physio-proof-compact {
  display:grid;
  grid-template-columns:minmax(140px,.8fr) minmax(0,1fr);
  gap:20px;
  padding:20px;
  align-items:center;
}

.physio-page .physio-proof-compact img {
  width:100%;
  height:230px;
  display:block;
  object-fit:cover;
  object-position:center;
  border-radius:22px;
}

.physio-page .physio-proof-compact p:last-child {
  margin-bottom:0;
}

/* Fascial Distortion Model (FDM) page */
.fdm-page {
  --chiro-maroon:#f97316;
  --chiro-maroon-dark:#9a3412;
  --chiro-charcoal:#1e2a24;
  --chiro-cream:#fff8e6;
  --chiro-blush:#fff0c2;
  --chiro-line:rgba(249,115,22,.22);
  --fdm-gold:#fbbf24;
  --fdm-teal:#087f83;
  --fdm-mint:#f0fff7;
  --fdm-cream:#fff7df;
  background:#fffaf0;
}

.fdm-page .eyebrow { color:var(--chiro-maroon); }

.fdm-page .eyebrow::before {
  background:linear-gradient(90deg,#f97316,var(--fdm-gold));
}

.fdm-page .breadcrumbs a,
.fdm-page .text-link {
  color:var(--chiro-maroon);
}

.fdm-page .btn-maroon {
  color:#fff;
  background:linear-gradient(135deg,#f97316 0%,#f59e0b 100%);
  border-color:#ea580c;
  box-shadow:0 18px 42px rgba(249,115,22,.24);
}

.fdm-page .btn-maroon:hover {
  background:linear-gradient(135deg,#ea580c 0%,#d97706 100%);
  border-color:#d97706;
}

.fdm-page .btn-outline-maroon {
  color:var(--chiro-maroon-dark);
  border-color:rgba(249,115,22,.34);
  background:#fffaf0;
}

.fdm-hero {
  background:
    radial-gradient(circle at 12% 14%,rgba(251,191,36,.24),transparent 28%),
    radial-gradient(circle at 86% 10%,rgba(249,115,22,.15),transparent 34%),
    radial-gradient(circle at 78% 72%,rgba(8,127,131,.10),transparent 30%),
    linear-gradient(135deg,#fff8e6 0%,#fffef7 45%,#fff1c7 100%);
}

.fdm-hero::before {
  opacity:.42;
  background-image:radial-gradient(rgba(249,115,22,.18) 1px,transparent 1px);
}

.fdm-trust span,
.fdm-page .chiro-pill-grid span,
.fdm-page .chiro-mini-list span,
.fdm-page .chiro-faq details {
  border-color:var(--chiro-line);
}

.fdm-visual-card {
  position:relative;
  overflow:hidden;
  min-height:610px;
  padding:30px;
  border:1px solid rgba(249,115,22,.16);
  border-radius:42px;
  background:
    radial-gradient(circle at 20% 22%,rgba(255,255,255,.85),transparent 28%),
    radial-gradient(circle at 74% 18%,rgba(249,115,22,.12),transparent 26%),
    radial-gradient(circle at 82% 74%,rgba(8,127,131,.10),transparent 28%),
    linear-gradient(145deg,#fffdf7 0%,#fff2c9 52%,#f2fff8 100%);
  box-shadow:0 34px 90px rgba(74,54,29,.16);
}

.fdm-visual-card::before,
.fdm-visual-card::after {
  content:"";
  position:absolute;
  pointer-events:none;
  border-radius:50%;
}

.fdm-visual-card::before {
  width:360px;
  height:360px;
  right:-86px;
  top:-92px;
  border:1px solid rgba(8,127,131,.16);
}

.fdm-visual-card::after {
  inset:24px;
  border:1px dashed rgba(249,115,22,.22);
  border-radius:34px;
  opacity:.75;
}

.fdm-visual-top {
  position:relative;
  z-index:2;
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(249,115,22,.22);
  color:#15393a;
}

.fdm-visual-top span {
  color:var(--chiro-maroon);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.fdm-visual-top strong {
  color:#15242a;
  font-weight:900;
}

.fdm-body-board {
  position:relative;
  z-index:2;
  height:360px;
  margin:28px 0 24px;
  border-radius:30px;
  background:
    radial-gradient(circle at 42% 22%,rgba(255,255,255,.82),transparent 26%),
    linear-gradient(145deg,rgba(255,255,255,.72),rgba(235,250,244,.82));
  border:1px solid rgba(8,127,131,.12);
  overflow:hidden;
}

.fdm-body-board::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.45;
  background-image:radial-gradient(rgba(249,115,22,.18) 1px,transparent 1px);
  background-size:18px 18px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 84%,transparent 100%);
}

.fdm-body-shape {
  position:absolute;
  left:50%;
  top:46%;
  width:160px;
  height:250px;
  transform:translate(-50%,-50%);
  border-radius:70px 70px 48px 48px;
  background:linear-gradient(180deg,rgba(8,127,131,.18),rgba(217,173,67,.14));
  border:1px solid rgba(8,127,131,.22);
  box-shadow:inset 0 0 0 18px rgba(255,255,255,.28),0 24px 60px rgba(8,127,131,.12);
}

.fdm-body-shape::before,
.fdm-body-shape::after {
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  border-radius:50%;
}

.fdm-body-shape::before {
  top:-64px;
  width:82px;
  height:82px;
  background:linear-gradient(135deg,rgba(8,127,131,.16),rgba(255,255,255,.8));
  border:1px solid rgba(8,127,131,.24);
}

.fdm-body-shape::after {
  top:52px;
  width:4px;
  height:156px;
  background:linear-gradient(180deg,var(--fdm-teal),var(--fdm-gold));
  opacity:.55;
}

.fdm-pain-dot {
  position:absolute;
  z-index:3;
  width:34px;
  height:34px;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0 24%,#f97316 25% 50%,#9b1d2c 51% 100%);
  box-shadow:0 0 0 10px rgba(249,115,22,.13),0 12px 30px rgba(155,29,44,.18);
}

.fdm-pain-dot.dot-one { left:42%; top:31%; }
.fdm-pain-dot.dot-two { right:34%; bottom:28%; }

.fdm-pain-line {
  position:absolute;
  z-index:3;
  width:150px;
  height:5px;
  border-radius:999px;
  background:linear-gradient(90deg,#f97316,#9b1d2c);
  box-shadow:0 8px 22px rgba(155,29,44,.15);
}

.fdm-pain-line.line-one {
  left:19%;
  top:40%;
  transform:rotate(-24deg);
}

.fdm-pain-line.line-two {
  right:17%;
  top:57%;
  transform:rotate(28deg);
}

.fdm-orbit {
  position:absolute;
  z-index:1;
  border:1px solid rgba(8,127,131,.18);
  border-radius:50%;
}

.fdm-orbit.orbit-one {
  width:300px;
  height:300px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(-18deg);
}

.fdm-orbit.orbit-two {
  width:420px;
  height:230px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(18deg);
}

.fdm-mini-cards {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.fdm-mini-cards span {
  padding:14px 16px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  color:#34484b;
  font-weight:850;
  box-shadow:0 12px 30px rgba(74,54,29,.07);
}

.fdm-signal-grid,
.fdm-technique-grid,
.fdm-benefit-grid,
.fdm-flow {
  display:grid;
  gap:18px;
}

.fdm-signal-grid,
.fdm-technique-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.fdm-flow,
.fdm-benefit-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.fdm-signal-grid article,
.fdm-technique-grid article,
.fdm-flow article,
.fdm-benefit-grid article {
  position:relative;
  overflow:hidden;
  min-height:100%;
  padding:24px;
  border:1px solid var(--chiro-line);
  border-radius:26px;
  background:rgba(255,255,255,.90);
  box-shadow:0 18px 46px rgba(74,54,29,.07);
}

.fdm-signal-grid article::after,
.fdm-technique-grid article::after {
  content:"";
  position:absolute;
  right:-38px;
  top:-38px;
  width:100px;
  height:100px;
  border-radius:50%;
  background:rgba(217,173,67,.12);
}

.fdm-signal-grid span,
.fdm-flow span {
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:14px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(8,127,131,.12),rgba(217,173,67,.18));
  color:var(--chiro-maroon);
  font-weight:900;
}

.fdm-technique-grid article > span {
  display:inline-flex;
  margin-bottom:14px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(249,115,22,.11);
  color:var(--chiro-maroon-dark);
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fdm-signal-grid h3,
.fdm-technique-grid h3,
.fdm-flow h3,
.fdm-benefit-grid h3 {
  margin:0 0 8px;
  color:var(--chiro-charcoal);
}

.fdm-signal-grid p,
.fdm-technique-grid p,
.fdm-flow p,
.fdm-benefit-grid p {
  margin:0;
}

.fdm-combo-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}

.fdm-combo-card {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  align-items:center;
  gap:clamp(28px,5vw,56px);
  padding:clamp(24px,4vw,42px);
  border:1px solid var(--chiro-line);
  border-radius:34px;
  background:
    radial-gradient(circle at 90% 12%,rgba(8,127,131,.08),transparent 28%),
    linear-gradient(135deg,#fff,#fff5d6);
  box-shadow:0 24px 64px rgba(74,54,29,.08);
}

.fdm-combo-card:nth-child(even) {
  grid-template-columns:1.1fr .9fr;
  background:
    radial-gradient(circle at 10% 12%,rgba(251,191,36,.16),transparent 28%),
    linear-gradient(135deg,#f7fffc,#fff);
}

.fdm-combo-card:nth-child(even) .fdm-combo-image {
  order:2;
}

.fdm-combo-image,
.fdm-photo-card {
  overflow:hidden;
  border-radius:28px;
  border:1px solid rgba(249,115,22,.16);
  background:linear-gradient(135deg,#fff,#f5fff9);
  box-shadow:0 18px 46px rgba(32,35,38,.08);
}

.fdm-combo-image {
  aspect-ratio:16/9;
}

.fdm-combo-image img,
.fdm-photo-card img {
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.fdm-photo-card {
  aspect-ratio:16/9;
}

.fdm-condition-pills {
  margin:18px 0 24px;
}

.fdm-benefit-panel,
.fdm-safety-band {
  border:1px solid var(--chiro-line);
  border-radius:34px;
  background:
    radial-gradient(circle at 78% 16%,rgba(8,127,131,.09),transparent 32%),
    linear-gradient(135deg,#fffdf8,#fff1c7);
  box-shadow:0 24px 64px rgba(74,54,29,.08);
}

.fdm-benefit-panel {
  padding:clamp(28px,5vw,48px);
}

.fdm-benefit-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:24px;
}

.fdm-safety-band {
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:clamp(28px,5vw,46px);
  background:
    radial-gradient(circle at 12% 18%,rgba(249,115,22,.11),transparent 28%),
    linear-gradient(135deg,#fff,#fff7df);
}

.fdm-safety-band .btn {
  white-space:nowrap;
}

.fdm-final-cta {
  background:
    radial-gradient(circle at 84% 18%,rgba(255,255,255,.24),transparent 34%),
    radial-gradient(circle at 18% 80%,rgba(8,127,131,.18),transparent 30%),
    linear-gradient(135deg,#f59e0b 0%,#f97316 48%,#087f83 100%);
  color:#fff;
  box-shadow:0 28px 80px rgba(249,115,22,.20);
}

.fdm-final-cta .eyebrow {
  color:#fff7cc;
  opacity:1;
}

.fdm-final-cta .eyebrow::before {
  background:#fff;
  opacity:.95;
}

.fdm-final-cta h2,
.fdm-final-cta p,
.fdm-final-cta .chiro-address {
  color:#fff;
  text-shadow:0 1px 1px rgba(79,36,6,.18);
}

.fdm-final-cta .btn-maroon {
  color:#9a3412;
  background:#fff;
  border-color:#fff;
  box-shadow:0 14px 34px rgba(31,42,36,.16);
}

.fdm-final-cta .btn-maroon:hover {
  color:#7c2d12;
  background:#fff7df;
  border-color:#fff7df;
}

.fdm-final-cta .btn-outline-maroon {
  color:#fff;
  background:rgba(255,255,255,.16);
  border-color:rgba(255,255,255,.62);
  box-shadow:none;
}

.fdm-final-cta .btn-outline-maroon:hover {
  color:#9a3412;
  background:#fff;
  border-color:#fff;
}

/* FDM patient-focused teal theme */
.fdm-page {
  --chiro-maroon:#0aa6a6;
  --chiro-maroon-dark:#052f35;
  --chiro-charcoal:#092a2f;
  --chiro-cream:#f4fbfa;
  --chiro-blush:#e9fbf7;
  --chiro-line:rgba(10,166,166,.20);
  --fdm-teal:#0aa6a6;
  --fdm-aqua:#38d4d2;
  --fdm-coral:#f26f5a;
  --fdm-cream:#f6fbfa;
  background:#f7fbfa;
}

.fdm-page .eyebrow {
  color:#087f83;
}

.fdm-page .eyebrow::before {
  background:linear-gradient(90deg,var(--fdm-coral),var(--fdm-aqua));
}

.fdm-page .breadcrumbs a,
.fdm-page .text-link {
  color:#087f83;
}

.fdm-page .btn-maroon {
  color:#052f35;
  background:linear-gradient(135deg,#38d4d2 0%,#eafffb 100%);
  border-color:rgba(56,212,210,.82);
  box-shadow:0 18px 42px rgba(10,166,166,.22);
}

.fdm-page .btn-maroon:hover {
  color:#fff;
  background:linear-gradient(135deg,#087f83 0%,#052f35 100%);
  border-color:#087f83;
}

.fdm-page .btn-outline-maroon {
  color:#063b42;
  background:rgba(255,255,255,.78);
  border-color:rgba(10,166,166,.26);
}

.fdm-page .btn-outline-maroon:hover {
  color:#fff;
  background:#087f83;
  border-color:#087f83;
}

.fdm-patient-hero {
  position:relative;
  overflow:hidden;
  padding:clamp(30px,4vw,56px) 0 clamp(42px,5vw,64px);
  color:#fff;
  background:
    radial-gradient(circle at 78% 18%,rgba(224,250,250,.96),rgba(135,220,222,.58) 24%,rgba(12,90,96,.36) 47%,transparent 64%),
    radial-gradient(circle at 20% 72%,rgba(56,212,210,.14),transparent 34%),
    linear-gradient(135deg,#02282d 0%,#06373d 45%,#0b5e64 100%);
}

.fdm-patient-hero::before,
.fdm-patient-hero::after {
  content:"";
  position:absolute;
  pointer-events:none;
}

.fdm-patient-hero::before {
  inset:-20% 42% -10% 10%;
  background:linear-gradient(135deg,transparent 0 42%,rgba(255,255,255,.06) 43% 58%,transparent 59% 100%);
  transform:skewX(-10deg);
}

.fdm-patient-hero::after {
  left:0;
  right:0;
  bottom:-1px;
  height:76px;
  border-radius:44px 44px 0 0;
  background:linear-gradient(180deg,rgba(244,251,250,.94),#f7fbfa);
}

.fdm-patient-hero .container {
  position:relative;
  z-index:2;
  max-width:1320px;
}

.fdm-dark-breadcrumbs {
  margin-bottom:22px;
  color:rgba(255,255,255,.72);
}

.fdm-dark-breadcrumbs a {
  color:#38d4d2;
}

.fdm-patient-grid {
  display:grid;
  grid-template-columns:minmax(420px,.82fr) minmax(640px,1.18fr);
  align-items:start;
  gap:clamp(30px,4vw,56px);
}

.fdm-hero-copy .eyebrow {
  color:#38d4d2;
}

.fdm-hero-copy h1 {
  margin:0;
  max-width:640px;
  color:#fff;
  font-size:clamp(2.95rem,5.15vw,5.85rem);
  line-height:.97;
  letter-spacing:-.065em;
  text-shadow:0 22px 60px rgba(0,0,0,.24);
}

.fdm-hero-copy h1 > span {
  display:block;
}

.fdm-hero-copy h1 .fdm-title-accent {
  color:#38d4d2;
}

.fdm-hero-copy h1 .fdm-title-accent span {
  display:inline;
}

.fdm-hero-copy .lead {
  max-width:640px;
  margin:22px 0 0;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.04rem,1.35vw,1.26rem);
}

.fdm-local-highlight {
  position:relative;
  box-sizing:border-box;
  width:100%;
  max-width:620px;
  margin-top:18px;
  padding:16px 20px 16px 22px;
  border:1px solid rgba(56,212,210,.42);
  border-left:5px solid #38d4d2;
  border-radius:22px;
  background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(56,212,210,.08));
  box-shadow:0 18px 46px rgba(0,0,0,.16);
}

.fdm-local-highlight::after {
  content:"";
  position:absolute;
  right:16px;
  top:16px;
  width:34px;
  height:34px;
  border-radius:50%;
  background:radial-gradient(circle,#38d4d2 0 18%,rgba(56,212,210,.18) 19% 58%,transparent 59%);
  opacity:.9;
}

.fdm-local-highlight span,
.fdm-local-highlight strong,
.fdm-local-highlight small {
  display:block;
  overflow-wrap:break-word;
}

.fdm-local-highlight span {
  color:#38d4d2;
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.fdm-local-highlight strong {
  max-width:520px;
  margin-top:6px;
  color:#fff;
  font-size:clamp(1.04rem,1.35vw,1.22rem);
  line-height:1.2;
}

.fdm-local-highlight small {
  max-width:520px;
  margin-top:8px;
  color:rgba(255,255,255,.78);
  line-height:1.45;
}

.fdm-hero-copy .chiro-actions {
  margin-top:22px;
}

.fdm-patient-hero .btn-maroon {
  color:#052f35;
  background:#fff;
  border-color:#fff;
  box-shadow:0 20px 48px rgba(0,0,0,.20);
}

.fdm-patient-hero .btn-outline-maroon {
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.46);
}

.fdm-patient-hero .btn-outline-maroon:hover {
  color:#052f35;
  background:#38d4d2;
  border-color:#38d4d2;
}

.fdm-hero-benefits {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-top:32px;
  padding-top:22px;
  border-top:1px solid rgba(56,212,210,.46);
}

.fdm-hero-benefits article {
  min-width:0;
}

.fdm-hero-benefits span {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:14px;
  border:1px solid rgba(56,212,210,.55);
  border-radius:18px;
  color:#38d4d2;
  font-size:1.45rem;
}

.fdm-hero-benefits strong,
.fdm-hero-benefits small {
  display:block;
}

.fdm-hero-benefits strong {
  color:#fff;
  font-weight:950;
  line-height:1.15;
  text-transform:uppercase;
}

.fdm-hero-benefits small {
  margin-top:8px;
  color:rgba(255,255,255,.76);
  line-height:1.35;
}

.fdm-pattern-map {
  position:relative;
  min-height:540px;
  margin-top:10px;
  border-radius:42px;
  border:1px solid rgba(255,255,255,.28);
  background:linear-gradient(135deg,#052f35 0%,#087f83 54%,#eafdfd 100%);
  box-shadow:0 34px 90px rgba(0,0,0,.22);
  overflow:hidden;
}

.fdm-pattern-map::before {
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(2,40,45,.24),transparent 38%,rgba(255,255,255,.16) 78%),
    radial-gradient(circle at 78% 24%,rgba(255,255,255,.18),transparent 38%),
    radial-gradient(circle at 16% 72%,rgba(56,212,210,.12),transparent 34%);
  z-index:3;
  mix-blend-mode:screen;
  opacity:.7;
}

.fdm-anatomy-visual {
  position:absolute;
  inset:0;
  z-index:2;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:62% center;
  display:block;
  filter:saturate(1.04) contrast(1.03);
}

.fdm-back-figure {
  position:absolute;
  left:8%;
  top:46px;
  width:420px;
  height:560px;
}

.fdm-figure-head,
.fdm-figure-body,
.fdm-figure-spine,
.fdm-map-marker {
  position:absolute;
  display:block;
}

.fdm-figure-head {
  left:50%;
  top:0;
  width:88px;
  height:92px;
  transform:translateX(-50%);
  border-radius:48% 48% 44% 44%;
  background:linear-gradient(135deg,#fff,#d6e4e2);
  box-shadow:inset -12px 0 28px rgba(5,47,53,.13);
}

.fdm-figure-body {
  left:50%;
  top:74px;
  width:265px;
  height:456px;
  transform:translateX(-50%);
  border-radius:46% 46% 34% 34% / 24% 24% 18% 18%;
  background:
    linear-gradient(90deg,#cfdedb 0%,#f8fbfa 42%,rgba(242,111,90,.58) 48%,rgba(242,111,90,.68) 58%,#edf4f2 64%,#c3d3d0 100%);
  box-shadow:inset 0 0 0 1px rgba(5,47,53,.12),inset -38px 0 60px rgba(5,47,53,.12),0 28px 70px rgba(5,47,53,.22);
}

.fdm-figure-body::before,
.fdm-figure-body::after {
  content:"";
  position:absolute;
  top:58px;
  width:76px;
  height:324px;
  border-radius:45px;
  background:linear-gradient(180deg,#d7e4e2,#aebfbc);
  opacity:.88;
}

.fdm-figure-body::before {
  left:-52px;
  transform:rotate(10deg);
}

.fdm-figure-body::after {
  right:-52px;
  transform:rotate(-10deg);
}

.fdm-figure-spine {
  left:50%;
  top:104px;
  width:3px;
  height:366px;
  transform:translateX(-50%);
  background:linear-gradient(180deg,rgba(8,127,131,.15),rgba(5,47,53,.42),rgba(8,127,131,.14));
  border-radius:999px;
}

.fdm-map-marker {
  z-index:4;
  width:42px;
  height:42px;
  border-radius:50%;
  background:radial-gradient(circle,#fff 0 18%,#9b1d2c 19% 42%,rgba(242,111,90,.95) 43% 100%);
  border:3px solid #38d4d2;
  box-shadow:0 0 0 9px rgba(242,111,90,.25),0 14px 34px rgba(155,29,44,.20);
}

.marker-neck { left:55%; top:118px; }
.marker-mid { left:58%; top:236px; }
.marker-low { left:53%; top:352px; }
.marker-hip { left:62%; top:456px; }

.fdm-map-callout {
  position:absolute;
  z-index:5;
  left:28px;
  width:244px;
  padding:13px 15px;
  border:1px solid rgba(56,212,210,.38);
  border-radius:18px;
  color:#fff;
  background:linear-gradient(135deg,rgba(4,48,54,.72),rgba(6,85,91,.46));
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  box-shadow:0 16px 38px rgba(0,0,0,.18);
}

.fdm-map-callout::before {
  content:"";
  position:absolute;
  left:100%;
  top:50%;
  width:154px;
  height:1px;
  background:linear-gradient(90deg,rgba(56,212,210,.95),rgba(56,212,210,0));
  transform:translateY(-50%);
}

.fdm-map-callout strong,
.fdm-map-callout span {
  display:block;
}

.fdm-map-callout strong {
  color:#fff;
  font-size:1.05rem;
  font-weight:950;
  text-transform:uppercase;
}

.fdm-map-callout span {
  margin-top:6px;
  color:rgba(255,255,255,.82);
  line-height:1.35;
}

.callout-line { top:70px; }
.callout-point { top:184px; }
.callout-stuck { top:300px; }
.callout-tight { top:418px; }

.fdm-approach-strip {
  position:relative;
  z-index:4;
  margin-top:42px;
  padding:28px clamp(22px,4vw,42px) 34px;
  border:1px solid rgba(8,127,131,.14);
  border-radius:38px;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(239,252,252,.95));
  color:#092a2f;
  box-shadow:0 24px 70px rgba(0,0,0,.14);
}

.fdm-approach-strip h2 {
  margin:0 0 24px;
  text-align:center;
  color:#092a2f;
  font-size:clamp(1.8rem,3vw,2.6rem);
}

.fdm-approach-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.fdm-approach-steps article {
  position:relative;
  min-height:100%;
  padding:24px 22px 22px;
  border:1px solid rgba(8,127,131,.12);
  border-radius:26px;
  background:#fff;
  box-shadow:0 14px 34px rgba(5,47,53,.08);
}

.fdm-approach-steps article:not(:last-child)::after {
  content:"→";
  position:absolute;
  right:-20px;
  top:46%;
  color:#087f83;
  font-size:2rem;
  font-weight:400;
}

.fdm-approach-steps span {
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  margin-bottom:18px;
  border-radius:50%;
  color:#fff;
  background:#087f83;
  font-weight:950;
  box-shadow:0 10px 24px rgba(8,127,131,.22);
}

.fdm-approach-steps strong {
  display:block;
  color:#092a2f;
  font-size:1.1rem;
  font-weight:950;
  text-transform:uppercase;
}

.fdm-approach-steps p {
  margin:8px 0 0;
  color:#466167;
}

.fdm-signal-grid article,
.fdm-technique-grid article,
.fdm-flow article,
.fdm-benefit-grid article {
  border-color:rgba(10,166,166,.16);
}

.fdm-signal-grid article::after,
.fdm-technique-grid article::after {
  background:rgba(56,212,210,.11);
}

.fdm-signal-grid span,
.fdm-flow span {
  background:linear-gradient(135deg,rgba(56,212,210,.16),rgba(242,111,90,.12));
  color:#087f83;
}

.fdm-technique-grid article > span {
  color:#087f83;
  background:rgba(56,212,210,.12);
}

.fdm-combo-card,
.fdm-combo-card:nth-child(even),
.fdm-benefit-panel,
.fdm-safety-band {
  border-color:rgba(10,166,166,.16);
  background:
    radial-gradient(circle at 86% 14%,rgba(56,212,210,.10),transparent 30%),
    linear-gradient(135deg,#fff,#f0fbfa);
}

.fdm-combo-card:nth-child(even) {
  background:
    radial-gradient(circle at 12% 14%,rgba(242,111,90,.08),transparent 28%),
    linear-gradient(135deg,#f8fffe,#fff);
}

.fdm-combo-image,
.fdm-photo-card {
  border-color:rgba(10,166,166,.16);
}

.fdm-final-cta {
  background:
    radial-gradient(circle at 82% 20%,rgba(56,212,210,.26),transparent 34%),
    radial-gradient(circle at 18% 84%,rgba(242,111,90,.18),transparent 30%),
    linear-gradient(135deg,#03282d 0%,#07515a 58%,#0aa6a6 100%);
  box-shadow:0 28px 80px rgba(5,47,53,.18);
}

.fdm-final-cta .eyebrow {
  color:#38d4d2;
}

.fdm-final-cta .eyebrow::before {
  background:#f26f5a;
}

.fdm-final-cta .btn-maroon {
  color:#052f35;
  background:#fff;
  border-color:#fff;
}

.fdm-final-cta .btn-outline-maroon {
  color:#fff;
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.45);
}

.fdm-experience-section {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 16%,rgba(56,212,210,.12),transparent 34%),
    radial-gradient(circle at 12% 78%,rgba(242,111,90,.08),transparent 32%),
    #f7fbfa;
}

.fdm-experience-section::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(rgba(8,127,131,.12) 1px,transparent 1px);
  background-size:24px 24px;
  opacity:.32;
}

.fdm-experience-section .container {
  position:relative;
  z-index:1;
}

.fdm-experience-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,3vw,28px);
}

.fdm-experience-card {
  position:relative;
  min-height:100%;
  padding:clamp(22px,3vw,34px);
  border:1px solid rgba(8,127,131,.16);
  border-radius:32px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(240,251,250,.94));
  box-shadow:0 24px 70px rgba(5,47,53,.10);
  overflow:hidden;
}

.fdm-experience-card::after {
  content:"";
  position:absolute;
  right:-46px;
  bottom:-50px;
  width:170px;
  height:170px;
  border-radius:50%;
  border:28px solid rgba(56,212,210,.10);
}

.fdm-experience-image {
  position:relative;
  z-index:1;
  margin:0 0 20px;
  overflow:hidden;
  aspect-ratio:16/9;
  border:1px solid rgba(8,127,131,.14);
  border-radius:24px;
  background:linear-gradient(135deg,#eefdfb,#fffdf8);
  box-shadow:0 16px 38px rgba(5,47,53,.08);
}

.fdm-experience-image img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.fdm-experience-top {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
}

.fdm-experience-top span,
.fdm-experience-top strong {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:8px 14px;
  border-radius:999px;
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.fdm-experience-top span {
  color:#052f35;
  background:rgba(56,212,210,.18);
}

.fdm-experience-top strong {
  color:#fff;
  background:#087f83;
}

.fdm-experience-card h3 {
  position:relative;
  z-index:1;
  margin:0 0 14px;
  color:#092a2f;
  font-size:clamp(1.45rem,2.2vw,2.1rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.fdm-experience-card blockquote {
  position:relative;
  z-index:1;
  margin:0;
  padding:18px 20px;
  border-left:4px solid #f26f5a;
  border-radius:18px;
  color:#25494f;
  background:#fff;
  box-shadow:0 12px 30px rgba(5,47,53,.06);
  font-size:1.04rem;
  line-height:1.62;
}

.fdm-experience-points {
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
  margin-top:18px;
}

.fdm-experience-points span {
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px 14px;
  border:1px solid rgba(8,127,131,.12);
  border-radius:16px;
  color:#092a2f;
  background:rgba(255,255,255,.72);
  font-weight:800;
  line-height:1.35;
}

.fdm-experience-points span::before {
  content:"";
  flex:0 0 10px;
  width:10px;
  height:10px;
  margin-top:5px;
  border-radius:50%;
  background:linear-gradient(135deg,#38d4d2,#f26f5a);
}

.fdm-experience-note {
  max-width:860px;
  margin:22px auto 0;
  padding:14px 18px;
  border:1px solid rgba(8,127,131,.14);
  border-radius:18px;
  color:#466167;
  background:rgba(255,255,255,.72);
  text-align:center;
  font-size:.95rem;
}

.fdm-suitability-section {
  background:linear-gradient(180deg,#fffaf2 0%,#f7fbfa 100%);
}

.fdm-suitability-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,2vw,20px);
}

.fdm-suitability-grid article {
  position:relative;
  min-height:100%;
  padding:24px;
  border:1px solid rgba(8,127,131,.14);
  border-radius:24px;
  background:linear-gradient(135deg,#fff,rgba(240,251,250,.92));
  box-shadow:0 18px 42px rgba(5,47,53,.08);
  overflow:hidden;
}

.fdm-suitability-grid article::after {
  content:"";
  position:absolute;
  top:-34px;
  right:-34px;
  width:92px;
  height:92px;
  border-radius:50%;
  background:rgba(56,212,210,.14);
}

.fdm-suitability-grid span {
  display:inline-flex;
  width:34px;
  height:34px;
  margin-bottom:16px;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(135deg,#087f83,#38d4d2);
  font-weight:950;
}

.fdm-suitability-grid h3 {
  margin:0 0 10px;
  color:#092a2f;
  font-size:1.08rem;
  line-height:1.22;
}

.fdm-suitability-grid p {
  margin:0;
  color:#466167;
  line-height:1.62;
}

.fdm-testimonial-cta {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:20px;
  align-items:center;
  margin-top:28px;
  padding:clamp(22px,3vw,32px);
  border:1px solid rgba(8,127,131,.16);
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff,#ecfffd);
  box-shadow:0 18px 52px rgba(5,47,53,.08);
}

.fdm-testimonial-cta h2 {
  margin:0 0 10px;
  color:#092a2f;
  font-size:clamp(1.6rem,2.4vw,2.25rem);
  line-height:1.08;
  letter-spacing:-.03em;
}

.fdm-testimonial-cta p:not(.eyebrow) {
  max-width:760px;
  margin:0;
  color:#466167;
  line-height:1.65;
}

.fdm-testimonial-cta .chiro-actions {
  justify-content:flex-end;
}

.fdm-care-path-section {
  background:linear-gradient(180deg,#fff8f2 0%,#f7fbfa 100%);
}

.fdm-care-path-panel {
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);
  gap:clamp(20px,4vw,42px);
  align-items:center;
  padding:clamp(26px,4vw,44px);
  border:1px solid rgba(8,127,131,.14);
  border-radius:32px;
  background:linear-gradient(135deg,#fff,rgba(240,251,250,.95));
  box-shadow:0 24px 70px rgba(5,47,53,.10);
}

.fdm-care-path-panel h2 {
  margin:0 0 12px;
  color:#092a2f;
  font-size:clamp(2rem,3vw,3rem);
  line-height:1.02;
  letter-spacing:-.04em;
}

.fdm-care-path-panel p:not(.eyebrow) {
  margin:0;
  color:#466167;
  line-height:1.7;
}

.fdm-care-links {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.fdm-care-links a {
  display:block;
  padding:18px;
  border:1px solid rgba(8,127,131,.14);
  border-radius:20px;
  color:#092a2f;
  background:rgba(255,255,255,.82);
  box-shadow:0 12px 28px rgba(5,47,53,.06);
  text-decoration:none;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.fdm-care-links a:hover {
  transform:translateY(-2px);
  border-color:rgba(8,127,131,.34);
  box-shadow:0 18px 38px rgba(5,47,53,.10);
}

.fdm-care-links span {
  display:block;
  margin-bottom:6px;
  color:#087f83;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:.78rem;
}

.fdm-care-links strong {
  display:block;
  font-size:1rem;
  line-height:1.35;
}

@media (max-width:1180px) {
  .fdm-patient-grid {
    grid-template-columns:1fr;
  }

  .fdm-pattern-map {
    max-width:850px;
    margin:auto;
  }

  .fdm-suitability-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .fdm-testimonial-cta,
  .fdm-care-path-panel {
    grid-template-columns:1fr;
  }

  .fdm-testimonial-cta .chiro-actions {
    justify-content:flex-start;
  }
}

@media (max-width:760px) {
  .fdm-patient-hero {
    padding:34px 0 42px;
  }

  .fdm-dark-breadcrumbs {
    margin-bottom:22px;
  }

  .fdm-hero-copy h1 {
    font-size:clamp(2.35rem,10vw,2.85rem);
    line-height:1.02;
    letter-spacing:-.055em;
    max-width:100%;
    overflow-wrap:normal;
  }

  .fdm-hero-copy h1 .fdm-title-accent span {
    display:block;
  }

  .fdm-hero-copy .lead {
    font-size:1.04rem;
    max-width:100%;
  }

  .fdm-patient-hero .btn-outline-maroon {
    color:#052f35;
    background:rgba(255,255,255,.88);
    border-color:rgba(255,255,255,.72);
  }

  .fdm-hero-benefits,
  .fdm-approach-steps,
  .fdm-experience-grid {
    grid-template-columns:1fr;
  }

  .fdm-hero-benefits {
    gap:12px;
    margin-top:30px;
  }

  .fdm-suitability-grid,
  .fdm-care-links {
    grid-template-columns:1fr;
  }

  .fdm-testimonial-cta,
  .fdm-care-path-panel {
    padding:20px;
    border-radius:24px;
  }

  .fdm-hero-benefits article {
    display:grid;
    grid-template-columns:46px 1fr;
    gap:0 14px;
    align-items:center;
    padding:14px;
    border:1px solid rgba(56,212,210,.24);
    border-radius:18px;
    background:rgba(255,255,255,.06);
  }

  .fdm-hero-benefits span {
    width:42px;
    height:42px;
    grid-row:span 2;
    margin:0;
    font-size:1.1rem;
  }

  .fdm-pattern-map {
    display:none;
  }

  .fdm-back-figure {
    left:50%;
    top:30px;
    width:300px;
    height:430px;
    transform:translateX(-50%);
  }

  .fdm-figure-head {
    width:66px;
    height:70px;
  }

  .fdm-figure-body {
    top:58px;
    width:198px;
    height:340px;
  }

  .fdm-figure-body::before,
  .fdm-figure-body::after {
    width:50px;
    height:236px;
  }

  .fdm-figure-body::before { left:-34px; }
  .fdm-figure-body::after { right:-34px; }

  .fdm-figure-spine {
    top:84px;
    height:272px;
  }

  .fdm-map-marker {
    width:34px;
    height:34px;
    box-shadow:0 0 0 7px rgba(242,111,90,.21),0 10px 24px rgba(155,29,44,.18);
  }

  .marker-neck { left:55%; top:92px; }
  .marker-mid { left:58%; top:184px; }
  .marker-low { left:53%; top:270px; }
  .marker-hip { left:62%; top:348px; }

  .fdm-map-callout {
    left:18px;
    right:18px;
    width:auto;
    padding:12px 14px;
    border:1px solid rgba(8,127,131,.14);
    border-radius:16px;
    background:rgba(255,255,255,.84);
    backdrop-filter:blur(10px);
  }

  .fdm-map-callout::before {
    display:none;
  }

  .callout-line { top:460px; }
  .callout-point { top:524px; }
  .callout-stuck { top:588px; }
  .callout-tight { top:652px; }

  .fdm-approach-strip {
    margin-top:22px;
    padding:22px 16px;
    border-radius:28px;
  }

  .fdm-approach-steps article:not(:last-child)::after {
    display:none;
  }
}

/* Sports Injury Rehabilitation page */
.sports-page {
  --chiro-maroon:#0f6f9f;
  --chiro-maroon-dark:#08243a;
  --chiro-charcoal:#08243a;
  --sports-navy:#08243a;
  --sports-blue:#0f6f9f;
  --sports-teal:#087b7a;
  --sports-green:#4fbf8d;
  --sports-gold:#d9b44a;
  --sports-sky:#e8f7ff;
  --sports-mint:#eafaf2;
  --sports-ice:#f7fcff;
  --chiro-line:rgba(15,111,159,.18);
  background:#f6fcff;
}

.sports-page .eyebrow {
  color:var(--sports-blue);
}

.sports-page .eyebrow::before {
  background:linear-gradient(90deg,var(--sports-blue),var(--sports-green));
}

.sports-page .breadcrumbs a,
.sports-page .text-link {
  color:var(--sports-blue);
}

.sports-page .btn-maroon {
  background:linear-gradient(135deg,var(--sports-blue),var(--sports-teal));
  border-color:rgba(15,111,159,.24);
  box-shadow:0 16px 34px rgba(15,111,159,.20);
}

.sports-page .btn-maroon:hover {
  background:linear-gradient(135deg,var(--sports-teal),var(--sports-navy));
  border-color:rgba(8,36,58,.28);
}

.sports-page .btn-outline-maroon {
  color:var(--sports-navy);
  border-color:rgba(15,111,159,.24);
  background:rgba(255,255,255,.70);
}

.sports-hero {
  position:relative;
  overflow:hidden;
  padding:86px 0 78px;
  background:
    radial-gradient(circle at 78% 18%,rgba(15,111,159,.16),transparent 30%),
    radial-gradient(circle at 15% 18%,rgba(79,191,141,.18),transparent 28%),
    linear-gradient(135deg,#f7fcff 0%,#eafaf2 48%,#e8f7ff 100%);
}

.sports-hero::before {
  content:"";
  position:absolute;
  inset:0;
  opacity:.35;
  pointer-events:none;
  background-image:radial-gradient(rgba(15,111,159,.18) 1px,transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg,transparent 0%,#000 16%,#000 78%,transparent 100%);
}

.sports-hero::after {
  content:"";
  position:absolute;
  right:-110px;
  top:-120px;
  width:420px;
  height:420px;
  border:1px solid rgba(15,111,159,.18);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(79,191,141,.08),0 0 0 60px rgba(15,111,159,.06);
}

.sports-hero-grid,
.sports-split {
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.02fr .98fr;
  align-items:center;
  gap:clamp(38px,6vw,82px);
}

.sports-hero-grid > *,
.sports-split > *,
.sports-athlete-card > *,
.sports-performance-card {
  min-width:0;
}

.sports-hero h1 {
  max-width:760px;
  color:var(--sports-navy);
  letter-spacing:-.06em;
}

.sports-trust-strip {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:28px;
}

.sports-trust-strip span,
.sports-check-list span {
  display:inline-flex;
  min-height:40px;
  align-items:center;
  padding:9px 14px;
  border:1px solid rgba(15,111,159,.16);
  border-radius:999px;
  background:rgba(255,255,255,.80);
  color:#163f52;
  font-size:.82rem;
  font-weight:850;
  box-shadow:0 12px 30px rgba(15,111,159,.07);
}

.sports-performance-card {
  position:relative;
  width:100%;
  min-height:560px;
  overflow:hidden;
  border:1px solid rgba(15,111,159,.12);
  border-radius:34px;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.32),transparent 26%),
    radial-gradient(circle at 80% 72%,rgba(79,191,141,.20),transparent 34%),
    linear-gradient(145deg,#dff5fc 0%,#d5f1ef 54%,#ddf5eb 100%);
  box-shadow:0 22px 60px rgba(15,111,159,.12);
  isolation:isolate;
}

.sports-performance-card::before {
  content:"";
  position:absolute;
  inset:34px 34px 34px;
  border:1px solid rgba(15,111,159,.10);
  border-radius:26px;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.36),transparent 32%),
    radial-gradient(circle at 78% 58%,rgba(79,191,141,.18),transparent 40%),
    linear-gradient(150deg,rgba(226,248,255,.88),rgba(220,246,238,.86));
  box-shadow:inset 0 -1px 0 rgba(217,180,74,.22),0 22px 60px rgba(8,36,58,.08);
  display:none;
}

.sports-card-top,
.sports-readiness {
  position:absolute;
  z-index:3;
  border:0;
  background:transparent;
  box-shadow:none;
}

.sports-card-top {
  top:34px;
  left:58px;
  right:58px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:18px 0 14px;
  border:0;
  border-bottom:1px solid rgba(15,111,159,.20);
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
}

.sports-card-top span,
.sports-readiness span {
  color:var(--sports-blue);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.sports-card-top strong,
.sports-readiness strong {
  display:block;
  color:var(--sports-navy);
  line-height:1.25;
}

.sports-runner-stage {
  position:absolute;
  z-index:2;
  left:58px;
  right:58px;
  top:96px;
  bottom:34px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(15,111,159,.11);
  border-radius:24px;
  background:
    radial-gradient(circle at 72% 35%,rgba(79,191,141,.16),transparent 34%),
    linear-gradient(145deg,#dff5fc 0%,#e3f8f0 100%);
  box-shadow:0 10px 22px rgba(8,36,58,.06);
}

.sports-runners-photo {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  mix-blend-mode:multiply;
  filter:saturate(1.04) contrast(1.03) brightness(.98);
}

.sports-readiness {
  left:58px;
  right:58px;
  bottom:34px;
  padding:18px 20px 20px;
  border-top:1px solid rgba(15,111,159,.10);
  border-radius:0 0 24px 24px;
  background:
    linear-gradient(180deg,rgba(220,246,244,.98),rgba(215,244,238,.98));
  backdrop-filter:none;
  box-shadow:none;
}

.sports-readiness div {
  height:8px;
  margin:14px 0 8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(15,111,159,.10);
}

.sports-readiness i {
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,var(--sports-blue),var(--sports-green),var(--sports-gold));
}

.sports-readiness small {
  color:#536a70;
  font-weight:800;
}

.sports-problem-section {
  background:#ffffff;
}

.sports-focus-grid,
.sports-condition-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.sports-focus-grid article,
.sports-condition-grid article,
.sports-result-panel {
  padding:24px;
  border:1px solid rgba(15,111,159,.14);
  border-radius:24px;
  background:rgba(255,255,255,.9);
  box-shadow:0 18px 46px rgba(15,111,159,.07);
}

.sports-focus-grid article {
  min-height:200px;
  background:
    radial-gradient(circle at 88% 18%,rgba(79,191,141,.13),transparent 28%),
    #fff;
}

.sports-focus-grid span,
.sports-timeline span {
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  margin-bottom:16px;
  border-radius:15px;
  color:var(--sports-blue);
  background:linear-gradient(135deg,#e8f7ff,#eafaf2);
  font-weight:950;
}

.sports-focus-grid h3,
.sports-condition-grid strong,
.sports-timeline h3 {
  color:var(--sports-navy);
}

.sports-focus-grid p,
.sports-condition-grid span,
.sports-timeline p {
  color:#5f6f71;
}

.sports-protocol-section {
  background:
    radial-gradient(circle at 12% 18%,rgba(15,111,159,.10),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(79,191,141,.12),transparent 26%),
    linear-gradient(180deg,#f7fcff,#edf9f3);
}

.sports-timeline {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:14px;
  counter-reset:sportsPhase;
}

.sports-timeline article {
  position:relative;
  padding:24px 20px;
  border:1px solid rgba(15,111,159,.14);
  border-radius:24px;
  background:#fff;
  box-shadow:0 18px 46px rgba(15,111,159,.07);
}

.sports-timeline article:not(:last-child)::after {
  content:"";
  position:absolute;
  top:44px;
  right:-14px;
  width:14px;
  height:2px;
  background:linear-gradient(90deg,var(--sports-blue),var(--sports-green));
}

.sports-condition-grid article {
  min-height:170px;
}

.sports-condition-grid strong {
  display:block;
  margin-bottom:10px;
  font-size:1.15rem;
}

.sports-testing-section {
  background:
    radial-gradient(circle at 80% 20%,rgba(15,111,159,.09),transparent 30%),
    radial-gradient(circle at 10% 86%,rgba(79,191,141,.10),transparent 30%),
    #fff;
}

.sports-image-card {
  overflow:hidden;
  border:1px solid rgba(15,111,159,.14);
  border-radius:34px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,111,159,.12);
}

.sports-image-card img {
  width:100%;
  height:100%;
  min-height:420px;
  object-fit:cover;
  object-position:center;
}

.sports-check-list {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:24px 0;
}

.sports-athlete-section {
  background:
    radial-gradient(circle at 10% 8%,rgba(15,111,159,.10),transparent 28%),
    radial-gradient(circle at 90% 18%,rgba(79,191,141,.12),transparent 30%),
    linear-gradient(180deg,#f7fcff,#edf9f3);
}

.sports-athlete-card {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
  align-items:center;
  padding:clamp(28px,5vw,54px);
  border:1px solid rgba(15,111,159,.14);
  border-radius:34px;
  background:
    radial-gradient(circle at 98% 4%,rgba(79,191,141,.14),transparent 30%),
    radial-gradient(circle at 2% 98%,rgba(15,111,159,.08),transparent 34%),
    rgba(255,255,255,.88);
  box-shadow:0 28px 70px rgba(15,111,159,.10);
}

.sports-support-points {
  display:grid;
  gap:12px;
}

.sports-support-points span {
  position:relative;
  padding:16px 18px 16px 48px;
  border:1px solid rgba(15,111,159,.14);
  border-radius:18px;
  background:#fff;
  color:#163f52;
  font-weight:820;
}

.sports-support-points span::before {
  content:"";
  position:absolute;
  left:18px;
  top:20px;
  width:14px;
  height:14px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--sports-blue),var(--sports-green));
  box-shadow:0 0 0 7px rgba(79,191,141,.13);
}

.sports-mini-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-top:24px;
}

.sports-mini-stats span {
  padding:18px;
  border:1px solid rgba(15,111,159,.14);
  border-radius:20px;
  background:#fff;
  color:#536a70;
  font-weight:760;
  box-shadow:0 16px 36px rgba(15,111,159,.06);
}

.sports-mini-stats strong {
  display:block;
  color:var(--sports-blue);
  font-size:2rem;
  line-height:1;
}

.sports-result-panel {
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:
    radial-gradient(circle at 80% 16%,rgba(79,191,141,.16),transparent 28%),
    linear-gradient(145deg,#fff,#eefaff);
}

.sports-result-panel h3 {
  max-width:520px;
  font-size:clamp(2rem,4vw,3.3rem);
  letter-spacing:-.05em;
}

.sports-result-panel .btn {
  align-self:flex-start;
  margin-top:10px;
}

.sports-final-cta {
  background:
    radial-gradient(circle at 82% 18%,rgba(79,191,141,.20),transparent 28%),
    linear-gradient(135deg,#08243a,#0f6f9f 58%,#087b7a);
}

.sports-final-cta .btn-outline-maroon {
  color:#fff;
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.10);
}

@media (max-width:1120px) {
  .chiro-hero-grid,
  .chiro-split { grid-template-columns:1fr; }
  .chiro-hero-image { max-width:760px; margin:auto; }
  .chiro-trust { grid-template-columns:1fr; }
  .chiro-card-grid,
  .chiro-testimonials { grid-template-columns:repeat(2,1fr); }
  .chiro-choose-grid { grid-template-columns:1fr 1fr; }
  .chiro-choose-feature { grid-row:auto; grid-column:1 / -1; }
  .chiro-choose-note { grid-template-columns:1fr; }
  .chiro-choose-note .btn { justify-self:start; }
  .chiro-outstation-cta { grid-template-columns:1fr; }
  .chiro-testimonial-gallery { grid-template-columns:1fr; }
  .chiro-testimonial-featured { grid-row:auto; }
  .chiro-process { grid-template-columns:repeat(2,1fr); }
  .physio-page .physio-plan-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .physio-page .physio-home-plan { grid-template-columns:1fr; }
  .physio-page .physio-safety-band { grid-template-columns:1fr; }
  .physio-page .physio-safety-band .btn { justify-self:start; }
  .sports-hero-grid,
  .sports-split,
  .sports-athlete-card { grid-template-columns:1fr; }
  .sports-performance-card { max-width:760px; margin:auto; }
  .sports-timeline { grid-template-columns:repeat(2,1fr); }
  .sports-timeline article:not(:last-child)::after { display:none; }
  .sports-focus-grid,
  .sports-condition-grid { grid-template-columns:repeat(2,1fr); }
  .fdm-visual-card { max-width:760px; margin:auto; }
  .fdm-signal-grid,
  .fdm-technique-grid,
  .fdm-benefit-grid,
  .fdm-flow { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fdm-combo-card,
  .fdm-combo-card:nth-child(even),
  .fdm-safety-band { grid-template-columns:1fr; }
  .fdm-combo-card:nth-child(even) .fdm-combo-image { order:0; }
  .fdm-safety-band .btn { justify-self:start; }
}

@media (max-width:650px) {
  .chiro-page .container { width:100%; max-width:100%; padding-inline:14px; }
  .chiro-hero-grid,
  .chiro-split,
  .chiro-card-grid,
  .chiro-process,
  .chiro-testimonials,
  .chiro-choose-grid,
  .chiro-choose-note,
  .chiro-outstation-cta,
  .chiro-testimonial-gallery,
  .chiro-condition-links,
  .chiro-actions,
  .chiro-trust,
  .chiro-faq,
  .chiro-final-cta { width:100%; max-width:100%; min-width:0; overflow-x:hidden; }
  .chiro-page h1,
  .chiro-page h2,
  .chiro-page h3,
  .chiro-page p,
  .chiro-card,
  .chiro-condition-panel,
  .chiro-integrated-card,
  .chiro-choose-card,
  .chiro-choose-feature,
  .chiro-testimonial-card { max-width:100%; min-width:0; overflow-wrap:break-word; }
  .chiro-hero { padding:38px 0 38px; }
  .chiro-hero-grid,
  .chiro-split { gap:26px; }
  .chiro-hero-grid { display:block; }
  .chiro-hero h1 {
    width:min(330px,100%);
    max-width:330px;
    margin-bottom:14px;
    font-size:1.92rem;
    line-height:1.08;
    overflow-wrap:normal;
  }
  .chiro-hero .lead {
    width:min(330px,100%);
    max-width:330px;
    margin-bottom:18px;
    font-size:.98rem;
    line-height:1.58;
    overflow-wrap:break-word;
  }
  .chiro-hero .chiro-actions {
    width:min(330px,100%);
    max-width:330px;
  }
  .chiro-hero-image,
  .chiro-image-card {
    border-radius:24px;
    aspect-ratio:1.05/1;
  }
  .chiro-hero-image { transform:none; }
  .chiro-image-card.portrait { aspect-ratio:.82/1; }
  .chiro-card-grid,
  .chiro-choose-grid,
  .chiro-process,
  .chiro-testimonials { grid-template-columns:1fr; }
  .chiro-trust { width:100%; }
  .chiro-trust span {
    display:block;
    width:100%;
    min-height:56px;
    padding:12px 14px;
    font-size:.84rem;
    line-height:1.5;
    word-break:break-word;
    hyphens:auto;
  }
  .chiro-actions .btn { width:100%; justify-content:center; }
  .chiro-faq summary {
    padding:17px 18px;
    gap:12px;
    font-size:.98rem;
  }
  .chiro-faq summary::before {
    flex-basis:30px;
    width:30px;
    height:30px;
  }
  .chiro-faq details p {
    padding:0 18px 20px 60px;
  }
  .chiro-condition-panel,
  .chiro-integrated-card {
    padding:20px;
    border-radius:22px;
  }
  .chiro-condition-links a {
    width:100%;
    justify-content:center;
  }
  .chiro-choose-card,
  .chiro-choose-feature {
    padding:22px;
    border-radius:22px;
  }
  .chiro-choose-note {
    padding:20px;
    border-radius:22px;
  }
  .chiro-outstation-cta {
    padding:24px 20px;
    border-radius:24px;
  }
  .chiro-outstation-points span {
    padding:14px 14px 14px 42px;
  }
  .chiro-testimonial-card {
    border-radius:22px;
  }
  .chiro-testimonial-label {
    left:12px;
    top:12px;
    padding:8px 11px;
    font-size:.66rem;
  }
  .chiro-testimonial-points span {
    padding:14px 14px 14px 42px;
    border-radius:18px;
  }
  .physio-page .physio-proof-grid,
  .physio-page .physio-proof-featured,
  .physio-page .physio-proof-compact,
  .physio-page .physio-before-after,
  .physio-page .physio-plan-grid,
  .physio-page .physio-home-plan,
  .physio-page .physio-home-grid,
  .physio-page .physio-safety-band {
    grid-template-columns:1fr;
  }
  .physio-page .physio-spotlight-section::before {
    inset:12px;
    border-radius:24px;
  }
  .physio-page .physio-plan-card,
  .physio-page .physio-home-plan,
  .physio-page .physio-safety-band {
    padding:20px;
    border-radius:22px;
  }
  .physio-page .physio-safety-band .btn {
    width:100%;
    justify-content:center;
  }
  .physio-page .physio-proof-featured,
  .physio-page .physio-proof-compact {
    padding:18px;
    border-radius:22px;
  }
  .physio-page .physio-proof-copy h3 {
    font-size:1.75rem;
    line-height:1.12;
  }
  .physio-page .physio-proof-copy blockquote {
    padding:16px;
    font-size:.98rem;
  }
  .physio-page .physio-proof-compact img {
    height:auto;
    max-height:none;
  }
  .physio-page .physio-before-after img {
    height:auto;
    max-height:360px;
    object-fit:contain;
  }
  .sports-page .container { width:100%; max-width:100%; padding-inline:14px; }
  .sports-hero { padding:38px 0; }
  .sports-hero-grid,
  .sports-split,
  .sports-athlete-card,
  .sports-focus-grid,
  .sports-condition-grid,
  .sports-timeline,
  .sports-mini-stats { grid-template-columns:1fr; }
  .sports-hero h1 {
    max-width:340px;
    font-size:1.86rem;
    line-height:1.08;
    overflow-wrap:normal;
  }
  .sports-hero .lead {
    max-width:340px;
    font-size:.98rem;
    line-height:1.58;
  }
  .sports-page h2 {
    max-width:340px;
    font-size:1.95rem;
    line-height:1.12;
    overflow-wrap:break-word;
    letter-spacing:-.04em;
  }
  .sports-page p {
    max-width:340px;
    overflow-wrap:break-word;
  }
  .sports-performance-card {
    display:block;
    width:100%;
    max-width:100%;
    margin:22px 0 0;
    min-height:430px;
    border-radius:26px;
  }
  .sports-performance-card::before {
    inset:18px 14px 18px;
    border-radius:22px;
  }
  .sports-card-top {
    left:30px;
    right:30px;
    top:22px;
    display:block;
  }
  .sports-runner-stage {
    left:28px;
    right:28px;
    top:106px;
    bottom:138px;
    border-radius:20px;
  }
  .sports-runners-photo {
    object-fit:cover;
    object-position:center;
  }
  .sports-readiness {
    left:30px;
    right:30px;
    bottom:18px;
  }
  .sports-trust-strip span,
  .sports-check-list span {
    width:100%;
    justify-content:center;
    text-align:center;
  }
  .sports-hero .sports-trust-strip {
    display:none;
  }
  .sports-focus-grid article,
  .sports-condition-grid article,
  .sports-athlete-card,
  .sports-result-panel {
    padding:20px;
    border-radius:22px;
  }
  .sports-image-card img {
    min-height:260px;
  }
  .sports-result-panel .btn {
    align-self:stretch;
  }
  .chiro-choose-note .btn {
    width:100%;
    justify-content:center;
  }
  .chiro-page .mobile-actions { display:none; }
  .chiro-final-cta { border-radius:24px; }
  .fdm-page .container { width:100%; max-width:100%; padding-inline:14px; }
  .fdm-page h2 {
    max-width:340px;
    font-size:1.92rem;
    line-height:1.12;
  }
  .fdm-page p { max-width:340px; }
  .fdm-visual-card {
    min-height:520px;
    padding:18px;
    border-radius:26px;
    margin-top:24px;
  }
  .fdm-visual-card::after {
    inset:14px;
    border-radius:22px;
  }
  .fdm-visual-top {
    display:block;
    padding:14px 14px 16px;
  }
  .fdm-visual-top strong {
    display:block;
    margin-top:8px;
  }
  .fdm-body-board {
    height:300px;
    margin:18px 0;
    border-radius:22px;
  }
  .fdm-body-shape {
    width:128px;
    height:214px;
  }
  .fdm-body-shape::before {
    width:66px;
    height:66px;
    top:-52px;
  }
  .fdm-pain-line {
    width:108px;
  }
  .fdm-mini-cards,
  .fdm-signal-grid,
  .fdm-technique-grid,
  .fdm-benefit-grid,
  .fdm-flow,
  .fdm-combo-grid,
  .fdm-combo-card,
  .fdm-combo-card:nth-child(even),
  .fdm-safety-band {
    grid-template-columns:1fr;
  }
  .fdm-mini-cards span,
  .fdm-signal-grid article,
  .fdm-technique-grid article,
  .fdm-flow article,
  .fdm-benefit-grid article,
  .fdm-combo-card,
  .fdm-benefit-panel,
  .fdm-safety-band {
    border-radius:22px;
  }
  .fdm-combo-card,
  .fdm-benefit-panel,
  .fdm-safety-band {
    padding:20px;
  }
  .fdm-combo-image,
  .fdm-photo-card {
    border-radius:22px;
    aspect-ratio:1.08/1;
  }
  .fdm-safety-band .btn {
    width:100%;
    justify-content:center;
  }
}

@media (max-width:760px) {
  .fdm-patient-hero,
  .fdm-patient-hero .container,
  .fdm-hero-copy,
  .fdm-hero-copy h1,
  .fdm-hero-copy .lead {
    max-width:100%;
    overflow-x:hidden;
  }

  .fdm-hero-copy h1 {
    width:auto;
    max-width:min(330px, calc(100vw - 28px));
    font-size:2.34rem;
  }

  .fdm-hero-copy .lead {
    width:auto;
    max-width:min(330px, calc(100vw - 28px)) !important;
    font-size:1rem;
    line-height:1.55;
  }

  .fdm-local-highlight {
    padding-right:18px;
  }

  .fdm-local-highlight::after {
    display:none;
  }

  .fdm-local-highlight strong,
  .fdm-local-highlight small {
    max-width:100%;
  }

  .fdm-hero-copy h1 .fdm-title-accent span {
    display:block;
  }

  .fdm-pattern-map {
    display:block;
    min-height:0;
    margin-top:28px;
    border-radius:30px;
    background:#052f35;
  }

  .fdm-anatomy-visual {
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    object-fit:contain;
    object-position:center center;
    background:#052f35;
  }

  .fdm-pattern-map::before {
    display:none;
  }

  .fdm-map-callout {
    display:none;
  }
}
