/* ============================================================
   ChinoHillsDecomp — Spinal Decompression
   Tokens
   ============================================================ */
:root{
  --ink: #1C2321;
  --ink-soft: #4A524E;
  --canvas: #F8F6F1;
  --canvas-raised: #FFFFFF;
  --primary: #153A63;
  --primary-dark: #071B33;
  --primary-tint: #E8EDF3;
  --accent: #B89255;
  --accent-dark: #92703E;
  --sage: #E9EDF2;
  --line: #D9D7D0;

  --display: "Instrument Serif", "Iowan Old Style", Georgia, serif;
  --body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --maxw: 1120px;
  --shadow-soft: 0 24px 70px rgba(15,46,82,.10);
  --ease-out: cubic-bezier(.22,1,.36,1);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--canvas);
  color:var(--ink);
  font-family:var(--body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
body.menu-open{ overflow:hidden; }
img{max-width:100%;display:block;}
a{color:inherit;}
h1,h2,h3,h4,h5,h6{ font-weight:700 !important; }
main h1,
main h2,
main h3,
main h4{
  font-family:var(--display);
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
.scroll-progress{
  position:fixed; z-index:220; top:0; left:0; width:100%; height:3px;
  transform:scaleX(0); transform-origin:left; background:linear-gradient(90deg,var(--accent),#E7B66F);
  will-change:transform;
}

/* -------------------- Skip link / focus -------------------- */
.skip-link{
  position:absolute; left:-999px; top:0; background:var(--primary); color:#fff;
  padding:10px 16px; z-index:200; border-radius:0 0 6px 0;
}
.skip-link:focus{left:0;}
a:focus-visible, button:focus-visible{
  outline:3px solid var(--accent); outline-offset:2px;
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* -------------------- Top bar -------------------- */
.topbar{
  background:var(--primary-dark);
  color:#EDF2F9;
  font-size:13px;
  letter-spacing:.04em;
}
.topbar .wrap{
  display:flex; justify-content:space-between; align-items:center;
  padding-top:8px; padding-bottom:8px; gap:12px; flex-wrap:wrap;
}
.topbar a{ text-decoration:none; }
.topbar .phone{ font-weight:600; letter-spacing:.02em; }
.topbar .back-link{ opacity:.85; }
.topbar .back-link:hover{ opacity:1; text-decoration:underline; }
.topbar .announcement-rotator{
  position:relative;
  display:block;
  min-height:40px;
  padding-top:0;
  padding-bottom:0;
  overflow:hidden;
}
.announcement-item{
  position:absolute;
  inset:0 28px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  color:#EDF2F9;
  font-weight:600;
  letter-spacing:.035em;
  line-height:1.2;
  text-align:center;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .5s ease, transform .65s var(--ease-out);
}
.announcement-item::before{
  content:"";
  flex:0 0 auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 0 4px rgba(184,146,85,.14);
}
.announcement-item.is-active{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.announcement-item[href]:hover{ color:#fff; }

/* -------------------- Header / nav -------------------- */
header.site{
  background:rgba(255,255,255,.94);
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:100;
  -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px);
  transition:box-shadow .3s ease, background .3s ease;
}
header.site.is-scrolled{ box-shadow:0 14px 40px rgba(7,27,51,.09); background:rgba(255,255,255,.98); }
header.site .wrap{
  display:flex; align-items:center; justify-content:space-between;
  max-width:1320px; padding:14px 30px; gap:34px;
  position:relative;
}
.brand{
  display:flex; flex-direction:column; align-items:center;
  text-decoration:none;
  color:var(--ink);
  flex:0 0 250px;
  transition:transform .35s var(--ease-out), opacity .25s ease;
}
.brand:hover{ transform:translateY(-2px); }
.brand-logo{ display:block; width:100%; max-width:250px; height:auto; }
.brand-tagline{
  display:block; margin-top:4px; color:#A97F33;
  font-family:var(--body); font-size:12px; font-weight:600;
  letter-spacing:.23em; line-height:1.35; text-transform:uppercase;
  white-space:nowrap; text-align:center;
}
.brand-mark{
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:50%;
  background:var(--primary); color:#F5F8FC;
  font-family:var(--display); font-size:16px; letter-spacing:.02em;
  flex:none;
  box-shadow:0 8px 24px rgba(29,78,137,.22);
}
.brand-word{
  font-family:var(--display); font-size:22px; line-height:1.1;
}
.brand-word small{
  display:block; font-family:var(--body); font-size:11px;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); font-weight:600;
}
nav.primary{
  display:flex; align-items:center; gap:18px; font-size:12.25px; font-weight:700; letter-spacing:.04em; text-transform:uppercase;
}
nav.primary .btn{ padding:11px 18px; }
nav.primary a{ text-decoration:none; color:var(--ink-soft); white-space:nowrap; position:relative; }
nav.primary a[aria-current="page"]{ color:var(--primary); font-weight:700; }
nav.primary a:hover{ color:var(--primary); }
nav.primary a:not(.btn)::after{
  content:""; position:absolute; left:0; right:0; bottom:-7px; height:1px; background:var(--accent);
  transform:scaleX(0); transform-origin:right; transition:transform .3s var(--ease-out);
}
nav.primary a:not(.btn):hover::after, nav.primary a[aria-current="page"]::after{ transform:scaleX(1); transform-origin:left; }
header.site nav.primary .btn-outline{
  background:var(--primary); border-color:var(--primary); color:#fff;
  box-shadow:0 10px 24px rgba(21,58,99,.14);
}
header.site nav.primary .btn-outline:hover{ background:var(--primary-dark); border-color:var(--primary-dark); color:#fff; }
.mobile-menu{ display:none; }
.menu-toggle{
  display:none; width:44px; height:44px; padding:9px; border:1px solid var(--line);
  border-radius:4px; background:var(--canvas-raised); color:var(--primary-dark);
  cursor:pointer; align-items:center; justify-content:center; flex-direction:column; gap:5px;
  list-style:none;
}
.menu-toggle::-webkit-details-marker{ display:none; }
.menu-toggle span{ width:22px; height:2px; background:currentColor; transition:transform .2s, opacity .2s; }
.mobile-menu[open] .menu-toggle span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.mobile-menu[open] .menu-toggle span:nth-child(2){ opacity:0; }
.mobile-menu[open] .menu-toggle span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
.mobile-panel{ display:none; }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:12px 24px; border-radius:999px; font-weight:700; font-size:15px;
  text-decoration:none; border:1px solid transparent; cursor:pointer;
  letter-spacing:.01em;
  transition:transform .25s var(--ease-out), box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.btn:hover{ transform:translateY(-2px); box-shadow:0 12px 26px rgba(15,46,82,.14); }
.btn:active{ transform:translateY(0) scale(.98); }
.btn-accent{ background:linear-gradient(135deg,#C8A96F 0%,#AE874B 100%); color:#171109; box-shadow:0 10px 24px rgba(184,146,85,.20); }
.btn-accent:hover{ background:var(--accent-dark); }
.btn-outline{ background:transparent; border-color:var(--primary); color:var(--primary); }
.btn-outline:hover{ background:var(--primary); color:#fff; }
.btn-ghost{background:transparent;color:var(--primary);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--primary);}

/* -------------------- Hero -------------------- */
.hero{
  position:relative;
  background:linear-gradient(145deg,#153A63 0%,var(--primary-dark) 72%);
  color:#F5F8FC;
  overflow:hidden;
  isolation:isolate;
}
.hero::after{
  content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-180px; top:-240px;
  background:radial-gradient(circle,rgba(198,138,62,.23),rgba(198,138,62,0) 67%); z-index:0;
  animation:heroFloat 10s ease-in-out infinite alternate; pointer-events:none;
}
.hero .wrap{
  display:grid; grid-template-columns:minmax(0,1.25fr) minmax(390px,.75fr); gap:42px; align-items:center;
  max-width:1280px; padding:82px 32px 76px;
  min-height:660px;
}
.eyebrow{
  text-transform:uppercase; letter-spacing:.18em; font-size:12.5px; font-weight:700;
  color:#D9E6F7; margin:0 0 18px;
}
.hero h1{
  font-family:var(--display); font-weight:700; font-size:clamp(48px,4.55vw,64px);
  line-height:1.02; margin:0 0 26px; color:#fff; text-wrap:balance;
}
.hero-headline .headline-line{
  display:block; overflow:hidden; padding:0 .05em .11em; margin:0 -.05em -.11em;
}
.hero-headline .headline-reveal{ display:block; transform-origin:left bottom; }
.hero-headline .headline-motion{ display:block; will-change:transform,opacity; }
.hero-headline .pressure-motion{ animation:pressureCycle 6.2s 1.6s ease-in-out infinite; }
.hero-headline .freedom-motion{ animation:freedomCycle 6.2s 1.6s ease-in-out infinite; }
.hero h1 em{
  position:relative; display:inline-block; font-style:italic; color:#D4B678;
  background:linear-gradient(110deg,#C8A96F 0%,#E8CF99 38%,#FFF4CE 49%,#D4B678 60%,#C8A96F 100%);
  background-size:250% 100%; background-position:100% 50%;
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
  animation:headlineShimmer 6.2s 1.6s ease-in-out infinite;
}
.hero h1 em::after{
  content:""; position:absolute; height:2px; left:2%; right:2%; bottom:-5px;
  background:linear-gradient(90deg,transparent,var(--accent),transparent); transform:scaleX(0);
  transform-origin:left; animation:headlineUnderline 6.2s 1.6s ease-in-out infinite;
}
.hero p.lede{
  font-size:19px; line-height:1.68; color:#F0F5FC; max-width:54ch; margin:0 0 32px;
}
.motion-ready .hero .eyebrow{ animation:heroIn .8s .08s var(--ease-out) both; }
.motion-ready .hero .headline-line:first-child .headline-reveal{
  animation:headlineRise .9s .18s var(--ease-out) both;
}
.motion-ready .hero .headline-line:nth-child(2) .headline-reveal{
  animation:headlineRise 1s .58s var(--ease-out) both;
}
.motion-ready .hero .lede{ animation:heroIn .9s .94s var(--ease-out) both; }
.motion-ready .hero .cta-row{ animation:heroIn .9s 1.06s var(--ease-out) both; }
.motion-ready .hero .hero-proof{ animation:heroIn .9s 1.18s var(--ease-out) both; }
.motion-ready .hero .hero-figure{ animation:heroFigureIn 1.1s .26s var(--ease-out) both; }
.hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.hero-figure{ position:relative; }
.hero-figure::before{
  content:""; position:absolute; inset:4% 7%; border:1px solid rgba(217,230,247,.22); border-radius:50%;
  animation:slowSpin 22s linear infinite;
}
.hero-figure::after{
  content:""; position:absolute; inset:15%; border:1px dashed rgba(198,138,62,.30); border-radius:50%;
  animation:slowSpin 16s linear infinite reverse;
}
.motion-label{
  position:absolute; z-index:2; padding:9px 13px; border:1px solid rgba(255,255,255,.18);
  border-radius:999px; background:rgba(15,46,82,.58); color:#F5F8FC; font-size:11px;
  font-weight:700; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(10px);
  box-shadow:0 12px 30px rgba(0,0,0,.12); animation:labelFloat 4s ease-in-out infinite;
}
.motion-label.one{ top:12%; right:0; }
.motion-label.two{ bottom:14%; left:0; animation-delay:-2s; }
.hero-proof{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:30px; color:#D9E6F7;
  font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.hero-proof span{ display:flex; align-items:center; gap:8px; }
.hero-proof span::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(198,138,62,.13); }
.scroll-cue{ position:absolute; z-index:3; left:50%; bottom:18px; transform:translateX(-50%); color:#D9E6F7; opacity:.72; font-size:10px; letter-spacing:.18em; text-transform:uppercase; }
.scroll-cue::after{ content:""; display:block; width:1px; height:24px; margin:8px auto 0; background:linear-gradient(var(--accent),transparent); animation:scrollCue 1.8s ease-in-out infinite; }

/* Signature: high-resolution anatomical decompression motion study */
.anatomy-motion{
  position:relative; width:min(100%,500px); aspect-ratio:1/1.10; margin:0 auto;
  isolation:isolate;
}
.anatomy-simulation{
  position:absolute; z-index:1; inset:0 0 auto; width:100%; height:auto;
  overflow:visible; filter:drop-shadow(0 22px 30px rgba(2,10,20,.28));
}
.sim-segment{
  transform-box:view-box; transform-origin:627px 627px;
  will-change:transform;
}
.sim-upper{ animation:simUpper 6.8s cubic-bezier(.45,0,.2,1) infinite; }
.sim-lower{ animation:simLower 6.8s cubic-bezier(.45,0,.2,1) infinite; }
.sim-disc{ transform-origin:380px 625px; animation:simDisc 6.8s cubic-bezier(.45,0,.2,1) infinite; }
.sim-posterior{ pointer-events:none; }
.sim-joint-space{ pointer-events:none; }
.sim-space-line{
  fill:none; stroke:#d8b66d; stroke-linecap:round; opacity:0;
  vector-effect:non-scaling-stroke; filter:drop-shadow(0 0 12px rgba(216,182,109,.85));
  animation:simJointLine 6.8s ease-in-out infinite;
}
.disc-line{ stroke-width:3; }
.anatomy-disc-glow{
  position:absolute; z-index:2; left:8.5%; top:41%; width:44%; height:14%;
  border:1px solid rgba(223,187,111,.58); border-radius:50%;
  background:radial-gradient(ellipse,rgba(248,220,153,.34) 0%,rgba(190,143,66,.20) 48%,rgba(184,146,85,0) 76%);
  box-shadow:0 0 30px rgba(205,164,87,.17);
  mix-blend-mode:screen; pointer-events:none;
  animation:anatomyDisc 6.8s cubic-bezier(.45,0,.2,1) infinite;
}
.traction-indicator{
  position:absolute; z-index:3; right:5%; width:1.5px; height:56px;
  background:linear-gradient(to bottom,transparent,#d6b56e 28%,#d6b56e 72%,transparent);
  opacity:.4; animation:tractionIndicator 6.8s ease-in-out infinite;
}
.traction-indicator::before{
  content:""; position:absolute; left:50%; width:9px; height:9px;
  border-top:2px solid #d6b56e; border-left:2px solid #d6b56e;
}
.traction-up{ top:22%; }
.traction-up::before{ top:5px; transform:translateX(-50%) rotate(45deg); }
.traction-down{ top:59%; }
.traction-down::before{ bottom:5px; transform:translateX(-50%) rotate(225deg); }
.anatomy-caption{
  position:absolute; z-index:4; left:50%; bottom:0; transform:translateX(-50%);
  display:block; width:100%; text-align:center; text-transform:uppercase;
}
.anatomy-caption strong{
  display:block; color:#f8f4ea; font-size:12px; letter-spacing:.22em; line-height:1.3;
}
.anatomy-caption small{
  display:block; margin-top:7px; color:#a9bfd8; font-size:9.5px; font-weight:700; letter-spacing:.18em;
}
@keyframes simUpper{0%,18%,100%{transform:translateY(0)}45%,70%{transform:translateY(-10px)}}
@keyframes simLower{0%,18%,100%{transform:translateY(0)}45%,70%{transform:translateY(10px)}}
@keyframes simDisc{0%,18%,100%{transform:translateY(0) scale(1,1)}45%,70%{transform:translateY(0) scale(1.015,1.24)}}
@keyframes simJointLine{0%,20%,100%{opacity:0;stroke-dasharray:0 520}45%,70%{opacity:.82;stroke-dasharray:520 0}}
@keyframes anatomyDisc{0%,18%,100%{opacity:.08;transform:scaleY(.7)}45%,70%{opacity:.82;transform:scaleY(1.24)}}
@keyframes tractionIndicator{0%,18%,100%{opacity:.15}45%,70%{opacity:1}}
@media (prefers-reduced-motion:reduce){
  .sim-segment,.sim-space-line,.anatomy-disc-glow,.traction-indicator{ animation:none; }
  .sim-upper{ transform:translateY(-10px); }
  .sim-lower{ transform:translateY(10px); }
  .sim-disc{ transform:scale(1.015,1.24); }
  .sim-space-line{ opacity:.72; stroke-dasharray:none; }
  .anatomy-disc-glow{ opacity:.72; transform:scaleY(1.02); }
}

/* -------------------- Sections -------------------- */
section{ padding:76px 0; }
section{ position:relative; }
.section-head h2{ text-wrap:balance; }
.reveal{ opacity:1; transform:none; }
.motion-ready .reveal{ opacity:0; transform:translateY(34px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.motion-ready .reveal.from-left{ transform:translateX(-42px); }
.motion-ready .reveal.from-right{ transform:translateX(42px); }
.motion-ready .reveal.is-visible{ opacity:1; transform:none; }
.motion-ready .stagger > *{ opacity:0; transform:translateY(24px); transition:opacity .65s var(--ease-out), transform .65s var(--ease-out), box-shadow .3s ease; }
.motion-ready .stagger.is-visible > *{ opacity:1; transform:none; }
.motion-ready .stagger.is-visible > *:nth-child(2){ transition-delay:.08s; }
.motion-ready .stagger.is-visible > *:nth-child(3){ transition-delay:.16s; }
.motion-ready .stagger.is-visible > *:nth-child(4){ transition-delay:.24s; }
.motion-ready .stagger.is-visible > *:nth-child(5){ transition-delay:.32s; }
.motion-ready .stagger.is-visible > *:nth-child(6){ transition-delay:.40s; }
.motion-ready .stagger.is-visible > *:nth-child(7){ transition-delay:.48s; }
.motion-ready .stagger.is-visible > *:nth-child(8){ transition-delay:.56s; }
section.tight{ padding:52px 0; }
.section-head{ max-width:640px; margin:0 0 44px; }
.section-head .eyebrow{ color:var(--accent-dark); }
.section-head h2{
  font-family:var(--display); font-weight:700; font-size:clamp(28px,3.4vw,40px);
  margin:0 0 14px; color:var(--primary-dark); line-height:1.15;
}
.section-head p{ color:var(--ink-soft); font-size:17px; margin:0; }
.on-primary{ background:var(--primary); color:#EDF2F9; }
.on-primary .section-head h2{ color:#fff; }
.on-primary .section-head p{ color:#D9E6F7; }
.on-sage{ background:linear-gradient(145deg,#F1F3F6 0%,var(--sage) 55%,#E3E8EE 100%); }
.on-white{ background:var(--canvas-raised); }

/* Intro / what-is grid */
.intro-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
}
.intro-grid h3,
.split-photo h3{ font-family:var(--display); font-size:26px; font-weight:700; line-height:1.2; margin:0 0 14px; color:var(--primary-dark);}
.intro-grid p{ color:var(--ink-soft); }
.stat-list{ list-style:none; margin:28px 0 0; padding:0; display:grid; gap:18px; }
.stat-list li{ display:flex; gap:16px; align-items:baseline; }
.stat-num{ font-family:var(--display); font-size:34px; color:var(--accent-dark); min-width:64px; }
.stat-list span.label{ color:var(--ink-soft); font-size:15px; }
.section-kicker{ font-size:14px; letter-spacing:.15em; font-weight:800; }
.candidacy-list{ margin-top:10px; gap:10px; }
.candidacy-list li{ align-items:flex-start; gap:12px; padding:5px 0; }
.candidacy-list .stat-num{ min-width:22px; line-height:1.4; }
.candidacy-list span.label{ color:var(--ink); font-weight:700; font-size:15.5px; line-height:1.45; }
.candidacy-side{ display:grid; gap:26px; }
.evaluation-photo{ margin:0; aspect-ratio:16/10; min-height:0; }
.evaluation-photo img{ object-position:center 44%; }
.motion-ready .number-sequence.stagger > li{ opacity:1; transform:none; transition:none; }
.motion-ready .number-sequence .stat-num,
.motion-ready .number-sequence .label{ opacity:0; }
.motion-ready .number-sequence.is-visible > li .stat-num{
  animation:statNumberIn .72s var(--ease-out) both;
}
.motion-ready .number-sequence.is-visible > li .label{
  animation:statLabelIn .68s var(--ease-out) both;
}
.motion-ready .number-sequence.is-visible > li:nth-child(1) .stat-num{ animation-delay:.06s; }
.motion-ready .number-sequence.is-visible > li:nth-child(1) .label{ animation-delay:.18s; }
.motion-ready .number-sequence.is-visible > li:nth-child(2) .stat-num{ animation-delay:.34s; }
.motion-ready .number-sequence.is-visible > li:nth-child(2) .label{ animation-delay:.46s; }
.motion-ready .number-sequence.is-visible > li:nth-child(3) .stat-num{ animation-delay:.62s; }
.motion-ready .number-sequence.is-visible > li:nth-child(3) .label{ animation-delay:.74s; }
.motion-ready .number-sequence.is-visible > li:nth-child(4) .stat-num{ animation-delay:.90s; }
.motion-ready .number-sequence.is-visible > li:nth-child(4) .label{ animation-delay:1.02s; }

/* Conditions grid */
.conditions-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
  background:transparent; border:0;
}
.condition{
  background:rgba(255,255,255,.88); padding:28px 24px; min-height:145px;
  display:flex; flex-direction:column; justify-content:space-between;
  transition:transform .35s var(--ease-out), box-shadow .35s ease, background .35s ease;
  border:1px solid rgba(214,217,222,.88); border-radius:16px;
}
.condition:hover{ transform:translateY(-6px); box-shadow:var(--shadow-soft); background:#fff; z-index:2; }
.condition .n{ font-family:var(--display); font-size:15px; color:var(--accent-dark); }
.condition h4{ margin:14px 0 0; font-size:16px; font-weight:700; line-height:1.3; }
.condition.has-icon{ min-height:226px; justify-content:flex-start; position:relative; overflow:hidden; }
.condition.has-icon::after{
  content:""; position:absolute; width:100px; height:100px; right:-42px; top:-44px;
  border-radius:50%; background:radial-gradient(circle,rgba(184,146,85,.12),rgba(184,146,85,0) 72%);
  pointer-events:none;
}
.condition-icon{
  display:block; width:68px; height:68px; margin:0 0 18px;
  background-image:url('assets/conditions-anatomy-sprite.webp?v=1');
  background-repeat:no-repeat; background-size:400% 200%;
  filter:drop-shadow(0 7px 13px rgba(15,46,82,.12));
  transform-origin:center; transition:transform .45s var(--ease-out), filter .45s ease;
}
.condition.has-icon:hover .condition-icon{ transform:translateY(-3px) scale(1.06); filter:drop-shadow(0 10px 18px rgba(15,46,82,.18)); }
.condition.has-icon .n{ margin-top:auto; font-family:var(--body); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.condition.has-icon h4{ margin-top:6px; font-size:17px; }
.condition.has-icon p{
  margin:10px 0 0;
  color:var(--ink-soft);
  font-size:14px;
  line-height:1.5;
}
.condition-bento{ grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.condition-bento .condition{ grid-column:span 2; min-height:270px; }
.condition-bento .condition-featured{
  grid-column:span 3;
  min-height:252px;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  align-items:center;
  gap:28px;
  padding:34px;
  background:linear-gradient(135deg,#fff 0%,#F3F5F7 100%);
  border-color:rgba(184,146,85,.4);
  box-shadow:0 18px 46px rgba(15,46,82,.08);
}
.condition-bento .condition-featured .condition-icon{
  width:96px;
  height:96px;
  margin:0;
}
.condition-bento .condition-featured .n{ margin-top:0; }
.condition-bento .condition-featured h4{ font-size:23px; margin-top:8px; }
.condition-bento .condition-featured p{ font-size:15px; max-width:38ch; }
.icon-disc-bulge{ background-position:0 0; }
.icon-disc-degeneration{ background-position:33.333% 0; }
.icon-sciatica{ background-position:66.667% 0; }
.icon-cervical{ background-position:100% 0; }
.icon-facet{ background-position:0 100%; }
.icon-stenosis{ background-position:33.333% 100%; }
.icon-chronic{ background-position:66.667% 100%; }
.icon-recovery{ background-position:100% 100%; }
.condition-learn{
  display:inline-flex;
  margin-top:14px;
  color:var(--primary);
  font-size:12.5px;
  font-weight:800;
  letter-spacing:.02em;
  text-decoration:none;
}
.condition-learn:hover{ text-decoration:underline; }

/* Detailed condition pages */
.page-breadcrumb{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  padding-top:16px;
  padding-bottom:16px;
  color:var(--ink-soft);
  font-size:13.5px;
}
.page-breadcrumb a{ color:var(--primary); font-weight:700; text-decoration:none; }
.condition-page-hero{ position:relative; overflow:hidden; padding:58px 0 64px; }
.condition-page-hero::before{
  content:"";
  position:absolute;
  width:620px;
  height:620px;
  right:-150px;
  top:-270px;
  border:1px solid rgba(213,180,110,.22);
  border-radius:50%;
  box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012);
}
.condition-hero-grid{ position:relative; display:grid; grid-template-columns:1.25fr .75fr; gap:60px; align-items:center; }
.condition-hero-copy h1{ max-width:18ch; margin:0 0 20px; color:#fff; font-size:clamp(40px,5.5vw,68px); line-height:1.02; }
.condition-hero-copy .lede{ max-width:62ch; margin:0 0 28px; color:#DDE8F5; font-size:18px; }
.condition-page-hero .cta-row{ display:flex; flex-wrap:wrap; gap:18px 22px; align-items:center; }
.condition-page-hero .btn-ghost{ border-color:rgba(255,255,255,.52); color:#fff; }
.condition-hero-visual{
  position:relative;
  margin:0;
  min-height:410px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  align-items:center;
  padding:28px 28px 0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:28px;
  background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.16),rgba(255,255,255,.035) 62%);
  box-shadow:0 30px 70px rgba(0,0,0,.2);
  overflow:hidden;
}
.condition-hero-visual img{ width:min(100%,340px); height:310px; object-fit:contain; margin:auto; filter:drop-shadow(0 24px 28px rgba(0,0,0,.24)); }
.condition-hero-visual figcaption{
  position:static;
  width:calc(100% + 56px);
  margin:18px -28px 0;
  padding:15px 22px;
  border-top:1px solid rgba(255,255,255,.12);
  background:rgba(7,26,47,.46);
  color:#E6CB91;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-align:center;
  text-transform:uppercase;
}
.condition-glance-section{ padding:0; }
.condition-at-glance{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 18px 18px;
  background:#fff;
  box-shadow:0 18px 45px rgba(15,46,82,.07);
}
.condition-at-glance > div{ min-height:132px; padding:26px 28px; border-right:1px solid var(--line); }
.condition-at-glance > div:last-child{ border-right:0; }
.condition-at-glance span,.aside-label{
  display:block;
  margin-bottom:8px;
  color:var(--accent-dark);
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.condition-at-glance strong{ display:block; color:var(--primary-dark); font-family:var(--display); font-size:20px; line-height:1.3; }
.ink-eyebrow{ color:var(--accent-dark); }
.clinical-grid{ display:grid; grid-template-columns:1.45fr .55fr; gap:72px; align-items:start; }
.clinical-grid h2,.condition-fit-copy h2{ margin:0 0 20px; font-size:clamp(32px,4vw,48px); line-height:1.08; }
.clinical-grid p{ color:var(--ink-soft); }
.clinical-aside{
  padding:30px;
  border-top:3px solid var(--accent);
  border-radius:0 0 16px 16px;
  background:var(--primary-tint);
  box-shadow:0 18px 44px rgba(15,46,82,.07);
}
.clinical-aside p{ margin:0 0 18px; color:var(--ink); font-weight:600; }
.clinical-aside a{ color:var(--primary); font-weight:800; text-decoration:none; }
.symptom-layout{ display:grid; grid-template-columns:.72fr 1.28fr; gap:48px; align-items:start; }
.condition-check-list{ display:grid; gap:0; margin:0; padding:0; list-style:none; }
.condition-check-list li{ position:relative; padding:13px 12px 13px 29px; border-bottom:1px solid rgba(15,46,82,.11); color:#293632; font-weight:650; }
.condition-check-list li::before{ content:""; position:absolute; left:2px; top:22px; width:10px; height:2px; background:var(--accent); }
.pattern-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.info-card{ min-height:220px; padding:26px 22px; border:1px solid var(--line); border-radius:16px; background:rgba(255,255,255,.82); }
.info-card h3{ margin:0 0 10px; color:var(--primary-dark); font-size:20px; }
.info-card p{ margin:0; color:var(--ink-soft); font-size:14.5px; }
.red-flag-panel{
  display:grid;
  grid-template-columns:.3fr 1.7fr;
  gap:28px;
  align-items:start;
  margin-top:34px;
  padding:24px 28px;
  border:1px solid #D8C7B4;
  border-left:4px solid #9C633A;
  border-radius:12px;
  background:#FBF7F1;
}
.red-flag-panel strong{ color:#70421F; font-family:var(--display); font-size:21px; }
.red-flag-panel p{ margin:0; color:#51483F; font-size:14.5px; }
.evaluation-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin:0; padding:0; list-style:none; }
.evaluation-steps li{ min-height:240px; padding:26px 22px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 14px 34px rgba(15,46,82,.055); }
.evaluation-steps span,.care-path span{ display:block; margin-bottom:26px; color:var(--accent-dark); font-family:var(--display); font-size:31px; }
.evaluation-steps p{ margin:0; color:var(--ink-soft); font-size:14.5px; }
.condition-fit-layout{ gap:58px; }
.condition-fit-layout .photo-frame{ aspect-ratio:4/5; min-height:520px; }
.condition-fit-copy{ color:#fff; }
.condition-fit-copy p,.condition-fit-copy li{ color:#E0EAF5; }
.condition-fit-copy ul{ margin:22px 0 0; padding-left:20px; }
.condition-fit-copy li{ margin-bottom:10px; }
.evidence-note{ margin-top:28px; padding:20px 22px; border:1px solid rgba(229,198,131,.34); border-radius:13px; background:rgba(255,255,255,.07); }
.evidence-note strong{ color:#E5C683; }
.evidence-note p{ margin:6px 0 0; font-size:13.5px; }
.care-path{ display:grid; grid-template-columns:repeat(3,1fr); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-soft); }
.care-path article{ min-height:250px; padding:30px; border-right:1px solid var(--line); background:#fff; }
.care-path article:last-child{ border-right:0; }
.care-path h3{ margin:0 0 10px; color:var(--primary-dark); font-size:23px; }
.care-path p{ margin:0; color:var(--ink-soft); font-size:14.5px; }
.condition-faq{ max-width:900px; }
.related-condition-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.related-condition-grid a{ display:flex; min-height:170px; padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; flex-direction:column; text-decoration:none; transition:transform .3s var(--ease-out),box-shadow .3s ease; }
.related-condition-grid a:hover{ transform:translateY(-5px); box-shadow:var(--shadow-soft); }
.related-condition-grid span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.related-condition-grid strong{ margin-top:9px; color:var(--primary-dark); font-family:var(--display); font-size:22px; }
.related-condition-grid small{ margin-top:auto; color:var(--primary); font-size:12.5px; font-weight:800; }
.source-panel{ margin-top:34px; padding:24px 28px; border-radius:14px; background:var(--primary-tint); }
.source-panel > strong{ color:var(--primary-dark); font-family:var(--display); font-size:20px; }
.source-panel ul{ display:flex; flex-wrap:wrap; gap:8px 24px; margin:12px 0 8px; padding-left:18px; }
.source-panel a{ color:var(--primary); font-weight:700; }
.source-panel p{ margin:0; color:var(--ink-soft); font-size:12.5px; }

/* -------------------- The Experience -------------------- */
.experience-hero{ position:relative; overflow:hidden; padding:58px 0 70px; }
.experience-hero::before{ content:""; position:absolute; width:620px; height:620px; left:-260px; bottom:-390px; border:1px solid rgba(213,180,110,.2); border-radius:50%; box-shadow:0 0 0 90px rgba(255,255,255,.018),0 0 0 180px rgba(255,255,255,.012); }
.experience-hero-grid{ position:relative; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr); gap:70px; align-items:center; }
.experience-hero-copy h1{ max-width:12ch; margin:0 0 22px; color:#fff; font-size:clamp(44px,5.8vw,72px); line-height:.98; }
.experience-hero-copy .lede{ max-width:57ch; margin:0 0 30px; color:#DDE8F5; font-size:18px; }
.experience-hero-copy .cta-row{ display:flex; flex-wrap:wrap; gap:18px 22px; }
.experience-hero-copy .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.55); }
.experience-hero-photo{ position:relative; margin:0; border:1px solid rgba(255,255,255,.16); border-radius:28px; overflow:hidden; box-shadow:0 34px 80px rgba(0,0,0,.3); background:#102D4E; }
.experience-hero-photo img{ display:block; width:100%; height:auto; object-fit:contain; }
.experience-hero-photo figcaption{ padding:18px 24px 20px; color:#fff; background:#102D4E; }
.experience-hero-photo figcaption span{ display:block; color:#E5C98C; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.experience-hero-photo figcaption strong{ display:block; margin-top:4px; font-size:14px; line-height:1.35; }
.experience-pillars-section{ padding:0; background:#fff; }
.experience-pillars{ display:grid; grid-template-columns:repeat(3,1fr); transform:translateY(-18px); border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-soft); overflow:hidden; }
.experience-pillars > div{ display:grid; grid-template-columns:auto 1fr; column-gap:15px; align-items:start; min-height:112px; padding:25px 28px; border-right:1px solid var(--line); }
.experience-pillars > div:last-child{ border-right:0; }
.experience-pillars span{ grid-row:1/3; color:var(--accent-dark); font-size:12px; font-weight:800; letter-spacing:.12em; }
.experience-pillars strong{ color:var(--primary-dark); font-size:17px; }
.experience-pillars small{ color:var(--ink-soft); font-size:13px; line-height:1.45; }
.experience-intro-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(380px,.72fr); gap:80px; align-items:center; }
.experience-intro-grid h2,.experience-table-grid h2,.experience-progress-grid h2,.experience-candidacy h2{ margin:8px 0 22px; font-size:clamp(34px,4.5vw,54px); line-height:1.05; }
.experience-editorial-photo{ margin:0; }
.experience-editorial-photo img{ display:block; width:100%; height:auto; object-fit:contain; border-radius:26px; box-shadow:0 28px 65px rgba(15,46,82,.14); }
.experience-editorial-photo figcaption{ margin-top:12px; color:var(--ink-soft); font-size:12px; text-align:center; }
.experience-steps{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; margin:38px 0 0; padding:0; list-style:none; }
.experience-steps li{ display:grid; grid-template-columns:48px 1fr; gap:18px; min-height:190px; padding:30px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.experience-steps li > span{ color:var(--accent-dark); font-size:12px; font-weight:800; letter-spacing:.12em; }
.experience-steps h3{ margin:0 0 10px; color:var(--primary-dark); font-size:24px; }
.experience-steps p{ margin:0; color:var(--ink-soft); font-size:15px; }
.experience-dark-section{ padding:88px 0; background:linear-gradient(145deg,#153A63,var(--primary-dark)); color:#fff; }
.experience-table-grid{ display:grid; grid-template-columns:minmax(350px,.82fr) minmax(0,1fr); gap:70px; align-items:center; }
.experience-table-photo{ margin:0; border:1px solid rgba(255,255,255,.14); border-radius:28px; overflow:hidden; box-shadow:0 30px 65px rgba(0,0,0,.25); }
.experience-table-photo img{ display:block; width:100%; height:auto; object-fit:contain; }
.experience-table-grid > div > p{ color:#DDE8F5; }
.experience-feature-list{ margin:28px 0 0; padding:0; list-style:none; border-top:1px solid rgba(255,255,255,.18); }
.experience-feature-list li{ display:grid; grid-template-columns:140px 1fr; gap:22px; padding:18px 0; border-bottom:1px solid rgba(255,255,255,.15); }
.experience-feature-list strong{ color:#E5C98C; }
.experience-feature-list span{ color:#DDE8F5; font-size:15px; }
.experience-detail-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-top:38px; }
.experience-detail-grid article{ min-height:260px; padding:28px 24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.experience-detail-grid article > span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.13em; }
.experience-detail-grid h3{ margin:40px 0 12px; color:var(--primary-dark); font-size:22px; }
.experience-detail-grid p{ margin:0; color:var(--ink-soft); font-size:14.5px; }
.experience-progress-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(300px,.55fr); gap:65px; align-items:center; }
.experience-metrics{ display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.experience-metrics span{ padding:8px 13px; border:1px solid #CFD7E1; border-radius:999px; background:#fff; color:var(--primary); font-size:12px; font-weight:700; }
.experience-progress-grid aside{ padding:34px; border-left:3px solid var(--accent); background:#fff; box-shadow:var(--shadow-soft); }
.experience-progress-grid aside strong{ color:var(--primary-dark); font-size:18px; }
.experience-progress-grid aside p{ margin:12px 0 0; color:var(--ink-soft); font-size:15px; }
.experience-candidacy{ display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.72fr); gap:70px; align-items:center; }
.experience-safety-card{ padding:38px; border-radius:22px; background:var(--primary-dark); color:#fff; box-shadow:0 28px 70px rgba(7,27,51,.18); }
.experience-safety-card > span{ color:#E5C98C; font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.experience-safety-card h3{ margin:12px 0 18px; font-size:28px; }
.experience-safety-card p{ color:#DDE8F5; font-size:14.5px; }
.experience-safety-card p:last-child{ margin-bottom:0; }

@media (max-width:1080px) and (min-width:901px){
  nav.primary{ gap:15px; font-size:11.5px; }
  nav.primary .btn{ padding:10px 16px; }
}

@media (max-width:900px){
  .experience-hero-grid,.experience-intro-grid,.experience-table-grid,.experience-progress-grid,.experience-candidacy{ grid-template-columns:1fr; }
  .experience-hero-grid{ gap:46px; }
  .experience-hero-copy h1{ max-width:15ch; }
  .experience-hero-photo,.experience-editorial-photo,.experience-table-photo{ width:min(100%,620px); margin-left:auto; margin-right:auto; }
  .experience-pillars{ grid-template-columns:1fr; }
  .experience-pillars > div{ min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .experience-pillars > div:last-child{ border-bottom:0; }
  .experience-intro-grid,.experience-table-grid,.experience-progress-grid,.experience-candidacy{ gap:42px; }
  .experience-detail-grid{ grid-template-columns:repeat(2,1fr); }
}

@media (max-width:520px){
  .experience-hero{ padding:42px 0 56px; }
  .experience-hero-copy h1{ font-size:42px; }
  .experience-hero-copy .lede{ font-size:16.5px; }
  .experience-hero-copy .cta-row{ gap:14px; }
  .experience-hero-copy .btn{ width:100%; }
  .experience-pillars{ transform:translateY(-12px); }
  .experience-pillars > div{ padding:21px 22px; }
  .experience-steps,.experience-detail-grid{ grid-template-columns:1fr; }
  .experience-steps li,.experience-detail-grid article{ min-height:0; }
  .experience-feature-list li{ grid-template-columns:1fr; gap:5px; }
  .experience-safety-card{ padding:28px 24px; }
}

/* -------------------- Conditions hub -------------------- */
.conditions-hub-hero{ overflow:hidden; }
.conditions-hub-hero-grid{ display:grid; grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr); align-items:center; gap:64px; min-height:650px; padding-top:72px; padding-bottom:72px; }
.conditions-hub-hero h1{ max-width:760px; margin:10px 0 20px; font-size:clamp(48px,6vw,82px); line-height:.98; }
.conditions-hub-hero .lede{ max-width:690px; }
.conditions-hub-hero .cta-row{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 20px; margin-top:30px; }
.conditions-hub-hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.55); }
.conditions-hub-hero .btn-ghost:hover{ color:#fff; border-color:#fff; background:rgba(255,255,255,.08); }
.conditions-hub-photo{ position:relative; min-height:500px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.19); border-radius:24px; box-shadow:0 34px 75px rgba(3,17,34,.34); }
.conditions-hub-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(6,26,48,.86) 100%); pointer-events:none; }
.conditions-hub-photo img{ width:100%; height:500px; display:block; object-fit:cover; object-position:center; }
.conditions-hub-photo figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:30px 32px; color:#fff; }
.conditions-hub-photo figcaption span{ display:block; margin-bottom:7px; color:#E5C98C; font-size:11px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.conditions-hub-photo figcaption strong{ font-family:var(--display); font-size:27px; font-weight:400; }
.conditions-hub-intro-grid{ display:grid; grid-template-columns:.86fr 1.14fr; gap:84px; align-items:start; }
.conditions-hub-intro-grid h2{ margin-top:8px; }
.conditions-hub-intro-grid p{ color:var(--ink-soft); font-size:17px; }
.conditions-hub-grid{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.conditions-hub-card{ display:flex; min-height:500px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:#fff; color:inherit; text-decoration:none; box-shadow:0 12px 32px rgba(15,46,82,.05); flex-direction:column; transition:transform .3s var(--ease-out),box-shadow .3s ease,border-color .3s ease; }
.conditions-hub-card:hover{ transform:translateY(-6px); border-color:rgba(184,138,42,.5); box-shadow:var(--shadow-soft); }
.conditions-hub-card figure{ height:245px; margin:0; padding:30px; overflow:hidden; display:grid; place-items:center; background:linear-gradient(145deg,#EAF0F6,#DDE8F1); }
.conditions-hub-card:nth-child(2) figure{ background:linear-gradient(145deg,#F4EAD5,#E9D8B7); }
.conditions-hub-card:nth-child(3) figure{ background:linear-gradient(145deg,#E8EFE9,#D8E4DD); }
.conditions-hub-card:nth-child(4) figure{ background:linear-gradient(145deg,#DDE7F1,#C8D8E7); }
.conditions-hub-card:nth-child(5) figure{ background:linear-gradient(145deg,#EEE9E1,#DED4C5); }
.conditions-hub-card:nth-child(6) figure{ background:linear-gradient(145deg,#E6EBF0,#D7DFE7); }
.conditions-hub-card img{ width:82%; height:82%; max-width:190px; max-height:190px; display:block; object-fit:contain; object-position:50% 50%; margin:auto; filter:drop-shadow(0 14px 18px rgba(16,40,65,.16)); transition:transform .5s var(--ease-out); }
.conditions-hub-card:hover img{ transform:scale(1.055) translateY(-3px); }
.conditions-hub-card > div{ display:flex; flex:1; flex-direction:column; padding:27px 28px 26px; }
.conditions-hub-card span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }
.conditions-hub-card h3{ margin:8px 0 10px; color:var(--primary-dark); font-size:27px; line-height:1.08; }
.conditions-hub-card p{ margin:0 0 22px; color:var(--ink-soft); font-size:14.5px; line-height:1.65; }
.conditions-hub-card strong{ margin-top:auto; color:var(--primary); font-size:13px; }
.conditions-decision-grid{ display:grid; grid-template-columns:repeat(3,1fr); overflow:hidden; border:1px solid var(--line); border-radius:18px; }
.conditions-decision-grid article{ min-height:250px; padding:34px; border-right:1px solid var(--line); background:#fff; }
.conditions-decision-grid article:last-child{ border-right:0; }
.conditions-decision-grid span{ color:var(--accent-dark); font-weight:800; font-size:13px; letter-spacing:.1em; }
.conditions-decision-grid h3{ margin:28px 0 10px; color:var(--primary-dark); font-size:25px; }
.conditions-decision-grid p{ margin:0; color:var(--ink-soft); font-size:15px; }
.conditions-symptom-band .wrap{ display:grid; grid-template-columns:.82fr 1.18fr; gap:34px 80px; align-items:start; }
.conditions-symptom-band h2{ margin:8px 0 0; }
.conditions-symptom-band ul{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 26px; margin:0; padding:0; list-style:none; }
.conditions-symptom-band li{ position:relative; padding:16px 18px 16px 43px; border:1px solid rgba(255,255,255,.15); border-radius:12px; background:rgba(255,255,255,.055); }
.conditions-symptom-band li::before{ content:""; position:absolute; left:18px; top:23px; width:8px; height:8px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(207,170,88,.13); }
.conditions-urgent{ grid-column:1/-1; margin:0; padding:20px 24px; border-left:3px solid var(--accent); background:rgba(255,255,255,.07); color:rgba(255,255,255,.84); }
.conditions-urgent strong{ color:#fff; }
@media (max-width:1050px){
  .conditions-hub-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .conditions-hub-photo{ min-height:420px; max-width:760px; width:100%; margin:0 auto; }
  .conditions-hub-photo img{ height:420px; }
  .conditions-hub-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px){
  .conditions-hub-hero-grid{ min-height:auto; padding-top:48px; padding-bottom:48px; }
  .conditions-hub-hero h1{ font-size:clamp(43px,13vw,62px); }
  .conditions-hub-photo{ min-height:330px; }
  .conditions-hub-photo img{ height:330px; }
  .conditions-hub-intro-grid,.conditions-symptom-band .wrap{ grid-template-columns:1fr; gap:24px; }
  .conditions-hub-grid{ grid-template-columns:1fr; }
  .conditions-hub-card{ min-height:0; }
  .conditions-hub-hero .cta-row{ gap:14px; }
  .conditions-hub-hero .cta-row .btn{ min-width:210px; }
  .conditions-hub-card > div{ padding:24px 22px; }
  .conditions-decision-grid{ grid-template-columns:1fr; }
  .conditions-decision-grid article{ min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .conditions-decision-grid article:last-child{ border-bottom:0; }
  .conditions-symptom-band ul{ grid-template-columns:1fr; }
  .conditions-urgent{ grid-column:auto; }
}
@media (max-width:520px){
  .conditions-hub-photo{ min-height:285px; border-radius:18px; }
  .conditions-hub-photo img{ height:285px; }
  .conditions-hub-photo figcaption{ padding:22px; }
  .conditions-hub-grid{ grid-template-columns:1fr; }
  .conditions-hub-card figure{ height:245px; }
  .conditions-hub-hero .cta-row .btn{ width:100%; min-width:0; }
}

/* -------------------- Why choose us page -------------------- */
.why-hero{ position:relative; padding:74px 0 88px; overflow:hidden; isolation:isolate; background:linear-gradient(145deg,#153A63 0%,#071B33 72%); }
.why-hero::after{ content:""; position:absolute; z-index:-1; width:580px; height:580px; right:-210px; top:-250px; border-radius:50%; background:radial-gradient(circle,rgba(184,146,85,.24),rgba(184,146,85,0) 68%); }
.why-hero-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(400px,.88fr); gap:68px; align-items:center; }
.why-hero-copy h1{ max-width:12ch; margin:0 0 24px; color:#fff; font-size:clamp(46px,6vw,76px); line-height:.97; text-wrap:balance; }
.why-hero-copy .lede{ max-width:58ch; margin:0 0 30px; color:#DDE8F5; font-size:18px; }
.why-hero-copy .cta-row{ display:flex; flex-wrap:wrap; gap:18px 22px; }
.why-hero-copy .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.55); }
.why-hero-photo{ margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.16); border-radius:26px; background:#102D4E; box-shadow:0 34px 80px rgba(0,0,0,.3); }
.why-hero-photo img{ width:100%; height:auto; object-fit:contain; }
.why-hero-photo figcaption{ padding:18px 24px 20px; background:#102D4E; color:#fff; }
.why-hero-photo figcaption span{ display:block; color:#E5C98C; font-size:10px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.why-hero-photo figcaption strong{ display:block; margin-top:4px; font-size:14px; line-height:1.35; }
.why-proof-section{ padding:0; background:#fff; }
.why-proof{ display:grid; grid-template-columns:repeat(4,1fr); transform:translateY(-20px); overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:var(--shadow-soft); }
.why-proof div{ display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:center; min-height:92px; padding:22px 24px; border-right:1px solid var(--line); }
.why-proof div:last-child{ border-right:0; }
.why-proof span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.12em; }
.why-proof strong{ color:var(--primary-dark); font-size:14px; line-height:1.35; }
.why-intro-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(440px,.86fr); gap:76px; align-items:center; }
.why-intro-grid h2,.why-results-grid h2,.why-questions-grid h2,.why-commitment h2{ margin:8px 0 22px; font-size:clamp(36px,4.7vw,56px); line-height:1.03; }
.why-editorial-photo{ margin:0; }
.why-editorial-photo img{ width:100%; height:auto; object-fit:contain; border-radius:24px; box-shadow:0 28px 65px rgba(15,46,82,.14); }
.why-editorial-photo figcaption{ margin-top:12px; color:var(--ink-soft); font-size:12px; text-align:center; }
.why-principles{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:40px; }
.why-principles article{ position:relative; min-height:265px; padding:32px 28px 28px; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 14px 38px rgba(15,46,82,.06); }
.why-principles article::after{ content:""; position:absolute; width:92px; height:92px; right:-36px; top:-36px; border-radius:50%; border:1px solid rgba(184,146,85,.28); }
.why-principles span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.14em; }
.why-principles h3{ margin:16px 0 12px; color:var(--primary-dark); font-size:25px; line-height:1.08; }
.why-principles p{ margin:0; color:var(--ink-soft); font-size:15px; }
.why-dark{ padding:92px 0; background:linear-gradient(145deg,#153A63,#071B33); color:#fff; }
.why-results-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(400px,.9fr); gap:70px; align-items:center; }
.why-results-grid h2{ color:#fff; }
.why-results-grid p{ color:#DDE8F5; }
.why-metrics{ display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; }
.why-metrics span{ padding:8px 13px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:rgba(255,255,255,.06); color:#F1E2BF; font-size:12px; font-weight:700; }
.why-closeup{ margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.14); border-radius:26px; box-shadow:0 30px 65px rgba(0,0,0,.25); }
.why-closeup img{ width:100%; height:auto; object-fit:contain; }
.why-reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:40px; }
.why-reviews blockquote{ position:relative; min-height:240px; margin:0; padding:42px 30px 30px; border:1px solid var(--line); border-radius:18px; background:var(--canvas); }
.why-reviews blockquote::before{ content:"“"; position:absolute; left:26px; top:4px; color:var(--accent); font-family:var(--display); font-size:58px; line-height:1; }
.why-reviews p{ margin:0 0 22px; color:var(--ink-soft); font-size:16px; font-style:italic; }
.why-reviews footer{ color:var(--primary-dark); font-size:14px; font-weight:800; }
.why-review-note{ margin:22px 0 0; color:var(--ink-soft); font-size:13px; }
.why-questions-grid{ display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:78px; align-items:start; }
.why-questions-grid ol{ margin:0; padding:0; border-top:1px solid #CCD3DB; list-style:none; }
.why-questions-grid li{ display:grid; grid-template-columns:52px 1fr; gap:14px; padding:22px 0; border-bottom:1px solid #CCD3DB; }
.why-questions-grid li span{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.14em; }
.why-questions-grid li p{ margin:0; color:var(--primary-dark); font-size:17px; font-weight:700; line-height:1.45; }
.why-commitment{ display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); gap:70px; align-items:center; }
.why-commitment aside{ padding:36px; border-left:3px solid var(--accent); background:var(--primary-dark); color:#fff; box-shadow:0 28px 70px rgba(7,27,51,.18); }
.why-commitment aside > strong{ color:#E5C98C; font-size:18px; }
.why-commitment aside ul{ margin:18px 0 0; padding:0; list-style:none; }
.why-commitment aside li{ position:relative; padding:11px 0 11px 25px; border-bottom:1px solid rgba(255,255,255,.12); color:#DDE8F5; font-size:14.5px; }
.why-commitment aside li:last-child{ border-bottom:0; }
.why-commitment aside li::before{ content:""; position:absolute; left:0; top:20px; width:8px; height:1px; background:var(--accent); }
.why-home-link{ display:inline-block; margin-top:22px; }

@media (max-width:1080px) and (min-width:901px){
  .why-hero-grid{ grid-template-columns:minmax(0,1fr) minmax(350px,.82fr); gap:46px; }
  .why-proof div{ padding:20px 16px; }
}

@media (max-width:900px){
  .why-hero-grid,.why-intro-grid,.why-results-grid,.why-questions-grid,.why-commitment{ grid-template-columns:1fr; }
  .why-hero-grid,.why-intro-grid,.why-results-grid,.why-questions-grid,.why-commitment{ gap:44px; }
  .why-hero-photo,.why-editorial-photo,.why-closeup{ width:min(100%,680px); margin-left:auto; margin-right:auto; }
  .why-proof{ grid-template-columns:repeat(2,1fr); }
  .why-proof div:nth-child(2){ border-right:0; }
  .why-proof div:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .why-principles{ grid-template-columns:repeat(2,1fr); }
  .why-reviews{ grid-template-columns:1fr; }
  .why-reviews blockquote{ min-height:0; }
}

@media (max-width:520px){
  .why-hero{ padding:44px 0 58px; }
  .why-hero-copy h1{ font-size:43px; }
  .why-hero-copy .lede{ font-size:16.5px; }
  .why-hero-copy .cta-row{ gap:14px; }
  .why-hero-copy .btn{ width:100%; }
  .why-proof{ grid-template-columns:1fr; transform:translateY(-12px); }
  .why-proof div{ min-height:0; padding:19px 22px; border-right:0; border-bottom:1px solid var(--line); }
  .why-proof div:last-child{ border-bottom:0; }
  .why-principles{ grid-template-columns:1fr; }
  .why-principles article{ min-height:0; padding:28px 24px; }
  .why-questions-grid li{ grid-template-columns:42px 1fr; }
  .why-commitment aside{ padding:28px 24px; }
}

/* Process steps */
.steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
.step{ border-top:2px solid var(--accent); padding:22px 20px 20px; background:rgba(255,255,255,.52); border-radius:0 0 14px 14px; }
.step{ transition:transform .3s var(--ease-out); }
.step:hover{ transform:translateY(-5px); }
.step .n{ font-family:var(--display); font-size:32px; color:var(--primary); display:block; margin-bottom:8px;}
.step h4{ margin:0 0 10px; font-size:18px; }
.step p{ margin:0; color:var(--ink-soft); font-size:15.5px; }

/* Cervical/Lumbar split */
.split{
  display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:var(--shadow-soft);
}
.split > div{ padding:40px; }
.split > div:first-child{ border-right:1px solid var(--line); background:var(--canvas-raised);}
.split > div:last-child{ background:var(--primary-tint); }
.split h3{ font-family:var(--display); font-size:24px; font-weight:700; margin:0 0 14px; color:var(--primary-dark);}
.split p{ color:var(--ink-soft); margin:0 0 12px;}
.split ul{ margin:0; padding-left:18px; color:var(--ink-soft); font-size:15.5px;}
.split li{ margin-bottom:6px; }

/* Trust strip */
.trust-strip{
  display:flex; flex-wrap:wrap; gap:36px; justify-content:space-between;
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:28px 0;
}
.trust-item{ display:flex; align-items:center; gap:12px; font-size:14.5px; color:var(--ink-soft); }
.trust-item strong{ color:var(--ink); font-family:var(--display); font-size:22px; font-weight:400; }

/* Specialized care */
.specialized-care{ overflow:hidden; }
.specialized-layout{ gap:54px; }
.specialized-copy{ position:relative; z-index:1; }
.specialized-copy h2{ font-family:var(--display); font-size:clamp(32px,3.8vw,46px); line-height:1.08; margin:0 0 18px; color:#fff; }
.specialized-lede{ color:#F3F7FC; margin:0 0 28px; max-width:52ch; font-size:17.5px; }
.specialized-trust{ display:grid; grid-template-columns:1fr 1fr; gap:12px; border:0; padding:0; }
.specialized-trust .trust-item{ min-height:88px; padding:17px 18px; border:1px solid rgba(255,255,255,.16); border-radius:14px; background:rgba(255,255,255,.08); color:#F3F7FC; flex-direction:column; align-items:flex-start; gap:2px; }
.specialized-trust .trust-item strong{ color:#E5C683; font-weight:700; }
.specialized-actions{ display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:26px; }
.specialized-actions .text-link{ color:#fff; font-weight:700; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.45); }
.treatment-detail-photo{ object-position:70% center; }

/* FAQ */
.faq{ border-top:1px solid var(--line); }
.faq-item{ border-bottom:1px solid var(--line); }
.faq-item summary{
  cursor:pointer; list-style:none; padding:20px 0; font-weight:700; font-size:16.5px;
  display:flex; justify-content:space-between; align-items:center; gap:16px;
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary::after{
  content:"+"; font-family:var(--display); font-size:26px; color:var(--accent-dark); flex:none;
}
.faq-item[open] summary::after{ content:"–"; }
.faq-item p{ margin:0 0 22px; color:var(--ink-soft); max-width:70ch; }

/* Evidence callout */
.evidence{
  border-left:3px solid var(--accent); padding:6px 0 6px 26px; margin:20px 0;
  color:var(--ink-soft); font-size:15.5px;
}
.evidence a{ color:var(--primary); font-weight:600; }

/* CTA band */
.cta-band{
  background:var(--primary-dark); color:#F5F8FC; text-align:center;
}
.cta-band h2{ font-family:var(--display); font-weight:700; font-size:clamp(28px,3.8vw,42px); margin:0 0 14px;}
.cta-band p{ color:#D9E6F7; max-width:52ch; margin:0 auto 30px; font-size:17px;}
.cta-band .cta-row{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.cta-band .btn-outline{ border-color:rgba(255,255,255,.72); color:#fff; }
.cta-band .btn-outline:hover{ background:#fff; border-color:#fff; color:var(--primary-dark); }

/* Footer */
footer.site{
  background:#fff; border-top:1px solid var(--line); padding:34px 0 20px;
  font-size:14.5px; color:var(--ink-soft);
}
.footer-grid{
  display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:28px; margin-bottom:22px;
}
.footer-grid h5{
  text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:var(--ink);
  margin:0 0 14px; font-weight:700;
}
.footer-logo{ width:min(100%,220px); height:auto; margin:0 0 12px; }
.footer-logo + .brand-tagline{ width:min(100%,220px); margin:-7px 0 14px; font-size:10px; }
.footer-grid p, .footer-grid address{ margin:0 0 6px; font-style:normal; }
.footer-grid a{ text-decoration:none; }
.footer-email a{ overflow-wrap:anywhere; }
.footer-links .footer-email{ overflow-wrap:anywhere; }
.footer-grid a:hover{ text-decoration:underline; }
.footer-hours{ display:grid; gap:7px; max-width:240px; }
.hours-row{ display:grid; grid-template-columns:90px 1fr; gap:12px; align-items:start; padding-bottom:7px; border-bottom:1px solid #ECEAE4; line-height:1.45; }
.hours-row:last-child{ border-bottom:0; padding-bottom:0; }
.hours-row strong{ color:var(--ink); font-size:13.5px; }
.hours-row span{ color:#39423E; font-variant-numeric:tabular-nums; }
.footer-bottom{
  border-top:1px solid var(--line); padding-top:20px; display:flex; justify-content:space-between;
  flex-wrap:wrap; gap:10px; font-size:13px;
}
.footer-links{ display:flex; flex-wrap:wrap; gap:18px; }
.footer-credit{
  margin-top:18px; padding-top:16px; border-top:1px solid var(--line);
  text-align:center; font-size:12.5px; letter-spacing:.02em;
}
.footer-credit a{ color:inherit; font-weight:700; text-decoration:none; }
.footer-credit a:hover,
.footer-credit a:focus-visible{ text-decoration:underline; }
.directions-link{ color:var(--primary); font-weight:700; text-decoration:none; }
.directions-link:hover{ text-decoration:underline; }
.mobile-actions{ display:none; }

/* -------------------- Clinical provider page -------------------- */
.provider-hero{
  position:relative; overflow:hidden; isolation:isolate;
  padding:72px 0 86px;
  background:linear-gradient(145deg,#153A63 0%,#071B33 76%);
}
.provider-hero::before{
  content:""; position:absolute; z-index:-1; width:650px; height:650px;
  right:-235px; top:-300px; border-radius:50%;
  background:radial-gradient(circle,rgba(184,146,85,.27),rgba(184,146,85,0) 68%);
}
.provider-hero-grid{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(360px,.72fr);
  gap:74px; align-items:center;
}
.provider-hero-copy h1{
  margin:0 0 24px; color:#fff;
  font-size:clamp(44px,5.8vw,72px); line-height:.96;
}
.provider-name{ display:block; white-space:nowrap; }
.provider-hero-copy h1 .provider-credentials{ display:block; color:#E5C98C; font-size:.54em; margin-top:14px; letter-spacing:.025em; }
.provider-hero-copy .lede{ max-width:58ch; margin:0 0 32px; color:#DDE8F5; font-size:18px; }
.provider-visual{ min-width:0; }
.provider-portrait{
  margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.18);
  border-radius:28px; background:#102D4E;
  box-shadow:0 36px 90px rgba(0,0,0,.34);
}
.provider-portrait img{ width:100%; height:auto; object-fit:contain; }
.provider-portrait figcaption{ padding:19px 24px 22px; color:#fff; background:#102D4E; }
.provider-portrait figcaption span{ display:block; color:#E5C98C; font-size:10px; font-weight:800; letter-spacing:.17em; text-transform:uppercase; }
.provider-portrait figcaption strong{ display:block; margin-top:4px; font-size:15px; }
.provider-photo-actions{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.provider-photo-actions .btn{ min-width:0; padding-left:16px; padding-right:16px; text-align:center; }
.provider-photo-actions .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.58); }
.provider-facts-section{ position:relative; z-index:2; background:#fff; }
.provider-facts{
  display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden;
  border:1px solid var(--line); border-radius:18px; background:#fff;
  box-shadow:0 24px 70px rgba(7,27,51,.11); transform:translateY(-34px);
}
.provider-facts article{ min-height:164px; padding:28px 24px; border-right:1px solid var(--line); }
.provider-facts article:last-child{ border-right:0; }
.provider-facts span{ display:block; color:var(--accent-dark); font-family:var(--display); font-size:31px; font-weight:700; line-height:1; }
.provider-facts strong{ display:block; margin-top:14px; color:var(--primary-dark); font-size:14px; }
.provider-facts p{ margin:4px 0 0; color:#56605B; font-size:12.5px; }
.provider-story-grid{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1fr); gap:84px; align-items:start; }
.provider-story-heading h2{ margin:0; font-size:clamp(38px,5vw,60px); line-height:1.02; color:var(--primary-dark); }
.provider-story-copy{ padding-left:34px; border-left:2px solid var(--accent); }
.provider-story-copy p{ margin:0 0 20px; color:#39423E; font-size:17px; }
.provider-story-copy p:last-child{ margin-bottom:0; }
.provider-education-grid{ display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1fr); gap:78px; align-items:start; }
.provider-education-grid h2{ margin:0 0 20px; font-size:clamp(34px,4.6vw,54px); line-height:1.02; color:var(--primary-dark); }
.provider-education-grid > div > p:last-child{ color:#47514C; }
.provider-timeline{ list-style:none; margin:0; padding:0; }
.provider-timeline li{ position:relative; display:grid; grid-template-columns:112px 1fr; gap:22px; padding:0 0 34px; }
.provider-timeline li:last-child{ padding-bottom:0; }
.provider-timeline li::before{ content:""; position:absolute; left:55px; top:43px; bottom:0; width:1px; background:#BFC9D3; }
.provider-timeline li:last-child::before{ display:none; }
.provider-timeline span{
  position:relative; z-index:1; width:110px; height:42px; padding:0 8px; box-sizing:border-box; display:flex; align-items:center; justify-content:center;
  border:1px solid #C9D2DC; border-radius:999px; background:#fff;
  color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.04em; line-height:1.1; text-align:center; white-space:nowrap;
}
.provider-timeline h3{ margin:2px 0 7px; color:var(--primary-dark); font-size:22px; }
.provider-timeline p{ margin:0; color:#4A5550; font-size:14.5px; }
.provider-philosophy{ background:var(--primary-dark); color:#fff; }
.provider-philosophy .section-head{ color:#fff; }
.provider-philosophy .section-head h2{ color:#fff; }
.provider-philosophy .section-head > p:last-child{ color:#C9D9EA; }
.provider-principles{ display:grid; grid-template-columns:repeat(4,1fr); margin-top:42px; border:1px solid rgba(255,255,255,.14); border-radius:20px; overflow:hidden; }
.provider-principles article{ min-height:280px; padding:34px 28px; border-right:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.025); }
.provider-principles article:last-child{ border-right:0; }
.provider-principles span{ color:#E5C98C; font-family:var(--display); font-size:29px; }
.provider-principles h3{ margin:42px 0 12px; color:#fff; font-size:22px; }
.provider-principles p{ margin:0; color:#C9D9EA; font-size:14px; }
.provider-quote{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:80px; align-items:center; }
.provider-quote blockquote{ margin:0; padding:45px; border-radius:24px; background:#E9EDF2; box-shadow:var(--shadow-soft); }
.provider-quote blockquote p{ margin:0; color:var(--primary-dark); font-family:var(--display); font-size:clamp(30px,4vw,45px); font-weight:700; line-height:1.1; }
.provider-quote blockquote footer{ margin-top:24px; color:var(--accent-dark); font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.provider-quote h2{ margin:0 0 20px; color:var(--primary-dark); font-size:clamp(36px,4.6vw,54px); line-height:1.02; }
.provider-quote > div > p{ color:#47514C; }

@media (max-width:1280px){
  .mobile-menu{ display:block; margin-left:auto; }
  .menu-toggle{ display:flex; }
  .mobile-panel{
    position:absolute; left:0; right:0; top:100%; padding:18px 28px 28px;
    background:rgba(247,244,238,.98); border-bottom:1px solid var(--line);
    box-shadow:0 14px 30px rgba(15,46,82,.14); flex-direction:column; z-index:99;
    max-height:calc(100vh - 132px); overflow-y:auto; overscroll-behavior:contain;
  }
  .mobile-menu[open] .mobile-panel{ display:flex; }
  .mobile-panel a{ padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink-soft); font-size:17px; font-weight:600; }
  .mobile-panel a.btn{ margin-top:16px; border-bottom:1px solid transparent; color:#211500; }
  nav.primary{ display:none; }
}

/* -------------------- Visit & contact page -------------------- */
.visit-hero{
  position:relative; overflow:hidden; isolation:isolate;
  padding:76px 0 92px; color:#fff;
  background:linear-gradient(135deg,#153A63 0%,#071B33 78%);
}
.visit-hero::before{
  content:""; position:absolute; z-index:-1; width:680px; height:680px;
  right:-240px; top:-330px; border-radius:50%;
  background:radial-gradient(circle,rgba(184,146,85,.3),rgba(184,146,85,0) 68%);
}
.visit-hero-grid{ display:grid; grid-template-columns:minmax(0,1.18fr) minmax(330px,.62fr); gap:72px; align-items:center; }
.visit-hero h1{ margin:0 0 22px; color:#fff; font-size:clamp(46px,5.4vw,70px); line-height:1; max-width:14ch; }
.visit-hero .lede{ margin:0 0 30px; max-width:55ch; color:#DCE8F5; font-size:18px; }
.visit-hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.visit-hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.5); }
.visit-address-card{
  display:flex; flex-direction:column; margin:0; padding:38px 36px; border:1px solid rgba(255,255,255,.2);
  border-radius:22px; color:#fff; background:rgba(255,255,255,.075); box-shadow:0 30px 70px rgba(0,0,0,.2);
  -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); font-style:normal;
}
.visit-card-label{ margin-bottom:24px; color:#E5C98C; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.visit-address-card strong{ font-family:var(--display); font-size:30px; line-height:1.15; }
.visit-address-card > span:not(.visit-card-label){ margin-top:8px; color:#C8D7E7; font-size:15px; }
.visit-address-card a{ margin-top:28px; color:#fff; font-size:18px; font-weight:800; text-decoration:none; }
.visit-address-card a:hover{ color:#E5C98C; }
.visit-quick-section{ padding:0; background:#fff; }
.visit-quick-grid{
  display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden;
  border:1px solid var(--line); border-radius:18px; background:#fff;
  box-shadow:0 24px 70px rgba(7,27,51,.11); transform:translateY(-32px);
}
.visit-quick-grid article{ min-height:165px; padding:27px 24px; border-right:1px solid var(--line); }
.visit-quick-grid article:last-child{ border-right:0; }
.visit-quick-grid article > span{ display:block; color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.visit-quick-grid strong,.visit-quick-grid article > a{ display:block; margin-top:12px; color:var(--primary-dark); font-family:var(--display); font-size:23px; font-weight:700; line-height:1.2; text-decoration:none; }
.visit-quick-grid article > a:hover{ color:var(--accent-dark); }
.visit-quick-grid p{ margin:9px 0 0; color:#53605A; font-size:13px; line-height:1.5; }
.visit-map-section{ padding-top:62px; }
.visit-map-grid{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); gap:68px; align-items:center; }
.visit-map{ min-height:520px; overflow:hidden; border:1px solid var(--line); border-radius:24px; background:var(--sage); box-shadow:var(--shadow-soft); }
.visit-map iframe{ display:block; width:100%; height:520px; border:0; filter:saturate(.72) contrast(1.03); }
.visit-map-copy h2{ margin:0 0 20px; color:var(--primary-dark); font-size:clamp(36px,4.4vw,54px); line-height:1.04; }
.visit-map-copy address{ margin:0 0 18px; color:var(--primary); font-family:var(--display); font-size:25px; font-weight:700; line-height:1.35; font-style:normal; }
.visit-map-copy > p{ color:#46514C; }
.visit-action-stack{ display:flex; flex-direction:column; align-items:flex-start; gap:20px; margin-top:28px; }
.visit-hours-layout{ display:grid; grid-template-columns:minmax(0,.72fr) minmax(440px,1fr); gap:82px; align-items:center; }
.visit-hours-copy h2{ margin:0 0 18px; color:var(--primary-dark); font-size:clamp(36px,4.5vw,54px); line-height:1.04; }
.visit-hours-copy > p:not(.eyebrow){ margin:0 0 28px; color:#48534E; }
.visit-hours-card{ overflow:hidden; border:1px solid #CCD3DB; border-radius:22px; background:#fff; box-shadow:var(--shadow-soft); }
.visit-hours-row{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:14px; padding:19px 24px; border-bottom:1px solid #E1E4E7; font-size:14.5px; font-variant-numeric:tabular-nums; }
.visit-hours-row:last-child{ border-bottom:0; }
.visit-hours-row strong{ color:var(--primary-dark); }
.visit-hours-row span{ color:#39443F; }
.visit-hours-row.is-closed{ background:#F5F6F7; }
.visit-hours-row.is-closed span{ color:#66716C; }
.visit-prep-heading{ max-width:780px; }
.visit-prep-grid{ display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid var(--line); border-radius:20px; }
.visit-prep-grid article{ min-height:260px; padding:32px 27px; border-right:1px solid var(--line); background:#fff; }
.visit-prep-grid article:last-child{ border-right:0; }
.visit-prep-grid span{ color:var(--accent-dark); font-family:var(--display); font-size:27px; }
.visit-prep-grid h3{ margin:34px 0 12px; color:var(--primary-dark); font-size:22px; line-height:1.2; }
.visit-prep-grid p{ margin:0; color:#4B5651; font-size:14px; line-height:1.6; }
.visit-contact-panel{ color:#fff; background:var(--primary-dark); }
.visit-contact-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(330px,.65fr); gap:80px; align-items:center; }
.visit-contact-grid h2{ margin:0 0 16px; color:#fff; font-size:clamp(40px,5vw,60px); line-height:1; }
.visit-contact-grid p:not(.eyebrow){ margin:0; color:#C8D7E7; max-width:58ch; }
.visit-contact-actions{ display:grid; gap:14px; }
.visit-contact-line{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.16); color:#fff; text-decoration:none; }
.visit-contact-line span{ color:#B8C9DB; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.visit-contact-line strong{ font-size:17px; }
.visit-contact-line strong{ overflow-wrap:anywhere; }
.visit-contact-line[href]:hover strong{ color:#E5C98C; }
.visit-contact-actions .btn{ margin-top:10px; }

/* Visit-page text choreography */
.motion-ready .visit-hero-copy .eyebrow{ animation:visitTextIn .72s .08s var(--ease-out) both; }
.motion-ready .visit-hero-copy h1{ animation:visitHeadlineIn .95s .2s var(--ease-out) both; }
.motion-ready .visit-hero-copy .lede{ animation:visitTextIn .82s .52s var(--ease-out) both; }
.motion-ready .visit-hero-copy .cta-row{ animation:visitTextIn .82s .68s var(--ease-out) both; }
.motion-ready .visit-address-card{ animation:visitCardIn 1s .36s var(--ease-out) both; }
.motion-ready .visit-address-card > *{ animation:visitTextIn .7s var(--visit-delay,.72s) var(--ease-out) both; }
.motion-ready .visit-address-card > :nth-child(2){ --visit-delay:.82s; }
.motion-ready .visit-address-card > :nth-child(3){ --visit-delay:.92s; }
.motion-ready .visit-address-card > :nth-child(4){ --visit-delay:1.02s; }
.motion-ready .visit-text-sequence.reveal > *{ opacity:0; transform:translateY(18px); transition:opacity .64s var(--ease-out),transform .72s var(--ease-out); }
.motion-ready .visit-text-sequence.reveal.is-visible > *{ opacity:1; transform:none; }
.motion-ready .visit-text-sequence.reveal.is-visible > :nth-child(2){ transition-delay:.09s; }
.motion-ready .visit-text-sequence.reveal.is-visible > :nth-child(3){ transition-delay:.18s; }
.motion-ready .visit-text-sequence.reveal.is-visible > :nth-child(4){ transition-delay:.27s; }
.motion-ready .visit-text-sequence.reveal.is-visible > :nth-child(5){ transition-delay:.36s; }
.motion-ready .visit-hours-sequence .visit-hours-row{ opacity:0; transform:translateX(22px); transition:opacity .55s var(--ease-out),transform .65s var(--ease-out); }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row{ opacity:1; transform:none; }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row:nth-child(2){ transition-delay:.07s; }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row:nth-child(3){ transition-delay:.14s; }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row:nth-child(4){ transition-delay:.21s; }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row:nth-child(5){ transition-delay:.28s; }
.motion-ready .visit-hours-sequence.is-visible .visit-hours-row:nth-child(6){ transition-delay:.35s; }
@keyframes visitTextIn{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@keyframes visitHeadlineIn{ from{ opacity:0; transform:translateY(34px) scale(.975); filter:blur(6px); } to{ opacity:1; transform:none; filter:blur(0); } }
@keyframes visitCardIn{ from{ opacity:0; transform:translateX(42px) rotateY(-4deg); } to{ opacity:1; transform:none; } }

/* -------------------- Cost & payment page -------------------- */
.payment-hero{ position:relative; overflow:hidden; isolation:isolate; padding:76px 0 92px; color:#fff; background:linear-gradient(140deg,#153A63 0%,#071B33 78%); }
.payment-hero::before{ content:""; position:absolute; z-index:-1; width:680px; height:680px; right:-230px; top:-340px; border-radius:50%; background:radial-gradient(circle,rgba(184,146,85,.3),rgba(184,146,85,0) 68%); }
.payment-hero-grid{ display:grid; grid-template-columns:minmax(0,1.1fr) minmax(350px,.68fr); gap:72px; align-items:center; }
.payment-hero h1{ margin:0 0 22px; max-width:13ch; color:#fff; font-size:clamp(46px,5.4vw,70px); line-height:1; }
.payment-hero .lede{ margin:0 0 30px; max-width:56ch; color:#DCE8F5; font-size:18px; }
.payment-hero .cta-row{ display:flex; gap:14px; flex-wrap:wrap; }
.payment-hero .btn-ghost{ color:#fff; border-color:rgba(255,255,255,.5); }
.payment-summary-card{ padding:36px 34px; border:1px solid rgba(255,255,255,.2); border-radius:22px; background:rgba(255,255,255,.075); box-shadow:0 30px 70px rgba(0,0,0,.2); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }
.payment-summary-card > span{ color:#E5C98C; font-size:11px; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.payment-summary-card ul{ list-style:none; margin:24px 0 0; padding:0; }
.payment-summary-card li{ position:relative; padding:14px 0 14px 25px; border-bottom:1px solid rgba(255,255,255,.14); color:#F1F5FA; font-size:15px; }
.payment-summary-card li:last-child{ border-bottom:0; }
.payment-summary-card li::before{ content:""; position:absolute; left:0; top:23px; width:7px; height:7px; border-radius:50%; background:var(--accent); box-shadow:0 0 0 5px rgba(184,146,85,.13); }
.payment-key-section{ padding:0; background:#fff; }
.payment-key-grid{ display:grid; grid-template-columns:repeat(4,1fr); overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 24px 70px rgba(7,27,51,.11); transform:translateY(-32px); }
.payment-key-grid article{ min-height:164px; padding:27px 24px; border-right:1px solid var(--line); }
.payment-key-grid article:last-child{ border-right:0; }
.payment-key-grid article > span{ display:block; color:var(--accent-dark); font-family:var(--display); font-size:25px; }
.payment-key-grid strong{ display:block; margin-top:12px; color:var(--primary-dark); font-size:17px; }
.payment-key-grid p{ margin:7px 0 0; color:#53605A; font-size:13.5px; line-height:1.5; }
.payment-heading{ max-width:760px; }
.payment-faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.payment-faq-grid details{ overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 10px 30px rgba(15,46,82,.055); }
.payment-faq-grid summary{ position:relative; padding:23px 54px 23px 24px; color:var(--primary-dark); font-weight:800; line-height:1.4; cursor:pointer; list-style:none; }
.payment-faq-grid summary::-webkit-details-marker{ display:none; }
.payment-faq-grid summary::after{ content:"+"; position:absolute; right:22px; top:18px; color:var(--accent-dark); font-family:var(--display); font-size:28px; font-weight:400; }
.payment-faq-grid details[open] summary::after{ content:"−"; }
.payment-faq-grid details p{ margin:0; padding:0 24px 24px; color:#46514C; font-size:14.5px; }
.payment-process{ display:grid; grid-template-columns:minmax(0,.74fr) minmax(0,1fr); gap:80px; align-items:start; }
.payment-process-copy h2{ margin:0 0 20px; color:var(--primary-dark); font-size:clamp(36px,4.5vw,54px); line-height:1.04; }
.payment-process-copy > p:not(.eyebrow){ color:#48534E; }
.payment-steps{ list-style:none; margin:0; padding:0; display:grid; gap:14px; }
.payment-steps li{ display:grid; grid-template-columns:58px 1fr; gap:20px; padding:24px; border:1px solid #CED5DC; border-radius:17px; background:#fff; }
.payment-steps li > span{ display:flex; align-items:center; justify-content:center; width:50px; height:50px; border-radius:50%; background:var(--primary); color:#fff; font-family:var(--display); font-size:22px; }
.payment-steps h3{ margin:0 0 6px; color:var(--primary-dark); font-size:20px; }
.payment-steps p{ margin:0; color:#505B56; font-size:14px; }
.payment-methods-section{ color:#fff; background:var(--primary-dark); }
.payment-methods-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(360px,1fr); gap:76px; align-items:center; }
.payment-methods-grid h2{ margin:0 0 17px; color:#fff; font-size:clamp(38px,4.8vw,58px); line-height:1.02; }
.payment-methods-grid p:not(.eyebrow){ margin:0; color:#C8D7E7; }
.payment-methods{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.payment-methods span{ display:flex; align-items:center; justify-content:center; min-height:92px; padding:18px; border:1px solid rgba(255,255,255,.18); border-radius:16px; background:rgba(255,255,255,.045); color:#fff; font-size:17px; font-weight:800; }
.payment-note-section{ padding-top:54px; padding-bottom:54px; }
.payment-note{ display:grid; grid-template-columns:220px 1fr; gap:30px; padding:28px 32px; border-left:3px solid var(--accent); background:#F3F5F7; }
.payment-note strong{ color:var(--primary-dark); }
.payment-note p{ margin:0; color:#4A5550; font-size:14px; }
.motion-ready .payment-hero-copy .eyebrow{ animation:visitTextIn .72s .08s var(--ease-out) both; }
.motion-ready .payment-hero-copy h1{ animation:visitHeadlineIn .95s .2s var(--ease-out) both; }
.motion-ready .payment-hero-copy .lede{ animation:visitTextIn .82s .52s var(--ease-out) both; }
.motion-ready .payment-hero-copy .cta-row{ animation:visitTextIn .82s .68s var(--ease-out) both; }
.motion-ready .payment-summary-card{ animation:visitCardIn 1s .36s var(--ease-out) both; }
@media (max-width:900px){
  .payment-hero-grid,.payment-process,.payment-methods-grid{ grid-template-columns:1fr; gap:44px; }
  .payment-summary-card{ max-width:570px; }
  .payment-key-grid{ grid-template-columns:repeat(2,1fr); }
  .payment-key-grid article:nth-child(2){ border-right:0; }
  .payment-key-grid article:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .payment-faq-grid{ grid-template-columns:1fr; }
}
@media (max-width:560px){
  .payment-hero{ padding:48px 0 68px; }
  .payment-hero h1{ font-size:clamp(40px,12vw,54px); }
  .payment-summary-card{ padding:29px 25px; }
  .payment-key-grid{ grid-template-columns:1fr; transform:translateY(-18px); }
  .payment-key-grid article{ min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .payment-key-grid article:last-child{ border-bottom:0; }
  .payment-methods{ grid-template-columns:1fr 1fr; gap:10px; }
  .payment-methods span{ min-height:76px; font-size:15px; }
  .payment-note{ grid-template-columns:1fr; gap:10px; padding:24px; }
}

@media (max-width:900px){
  .visit-hero-grid,.visit-map-grid,.visit-hours-layout,.visit-contact-grid{ grid-template-columns:1fr; }
  .visit-hero-grid,.visit-map-grid,.visit-hours-layout,.visit-contact-grid{ gap:44px; }
  .visit-address-card{ max-width:540px; }
  .visit-quick-grid,.visit-prep-grid{ grid-template-columns:repeat(2,1fr); }
  .visit-quick-grid article:nth-child(2),.visit-prep-grid article:nth-child(2){ border-right:0; }
  .visit-quick-grid article:nth-child(-n+2),.visit-prep-grid article:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .visit-map,.visit-map iframe{ min-height:440px; height:440px; }
}
@media (max-width:560px){
  .visit-hero{ padding:48px 0 68px; }
  .visit-hero h1{ font-size:clamp(40px,12vw,54px); }
  .visit-address-card{ padding:29px 25px; }
  .visit-quick-grid,.visit-prep-grid{ grid-template-columns:1fr; transform:translateY(-18px); }
  .visit-quick-grid article,.visit-prep-grid article{ min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .visit-prep-grid{ transform:none; }
  .visit-quick-grid article:last-child,.visit-prep-grid article:last-child{ border-bottom:0; }
  .visit-map,.visit-map iframe{ min-height:360px; height:360px; }
  .visit-hours-layout{ grid-template-columns:minmax(0,1fr); }
  .visit-hours-row{ grid-template-columns:1fr 1fr; gap:6px 12px; }
  .visit-hours-row strong{ grid-column:1/-1; }
  .visit-contact-line{ align-items:flex-start; flex-direction:column; gap:4px; }
}

@media (max-width:900px){
  .provider-hero-grid,.provider-story-grid,.provider-education-grid,.provider-quote{ grid-template-columns:1fr; }
  .provider-hero-grid{ gap:48px; }
  .provider-portrait{ width:min(100%,620px); margin-left:auto; margin-right:auto; }
  .provider-visual{ width:min(100%,620px); margin-left:auto; margin-right:auto; }
  .provider-facts{ grid-template-columns:repeat(2,1fr); }
  .provider-facts article:nth-child(2){ border-right:0; }
  .provider-facts article:nth-child(-n+2){ border-bottom:1px solid var(--line); }
  .provider-story-grid,.provider-education-grid,.provider-quote{ gap:44px; }
  .provider-story-copy{ padding-left:26px; }
  .provider-principles{ grid-template-columns:repeat(2,1fr); }
  .provider-principles article:nth-child(2){ border-right:0; }
  .provider-principles article:nth-child(-n+2){ border-bottom:1px solid rgba(255,255,255,.14); }
}

@media (max-width:520px){
  .provider-hero{ padding:44px 0 58px; }
  .provider-hero-copy h1{ font-size:clamp(34px,10.2vw,43px); }
  .provider-hero-copy .lede{ font-size:16.5px; }
  .provider-photo-actions{ grid-template-columns:1fr; gap:12px; }
  .provider-facts{ transform:translateY(-18px); grid-template-columns:1fr; }
  .provider-facts article{ min-height:0; padding:22px 24px; border-right:0; border-bottom:1px solid var(--line); }
  .provider-facts article:last-child{ border-bottom:0; }
  .provider-principles{ grid-template-columns:1fr; }
  .provider-principles article{ min-height:0; border-right:0; border-bottom:1px solid rgba(255,255,255,.14); }
  .provider-principles article:last-child{ border-bottom:0; }
  .provider-principles h3{ margin-top:24px; }
  .provider-story-copy{ padding-left:20px; }
  .provider-timeline li{ grid-template-columns:100px 1fr; gap:17px; }
  .provider-timeline span{ width:98px; font-size:10px; letter-spacing:.02em; }
  .provider-timeline li::before{ left:49px; }
  .provider-quote blockquote{ padding:32px 26px; }
}

/* Photo frames */
.photo-frame{
  border:1px solid var(--line); border-radius:18px; overflow:hidden;
  background:var(--sage);
  position:relative;
  box-shadow:var(--shadow-soft);
}
.photo-frame img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-frame img{ transition:transform 1.2s var(--ease-out); }
.photo-frame:hover img{ transform:scale(1.035); }
.photo-frame::after{
  content:""; position:absolute; inset:0;
  background:var(--primary); mix-blend-mode:color; opacity:.4;
  pointer-events:none;
}
.area-intro{ display:grid; grid-template-columns:.85fr 1.15fr; gap:46px; align-items:center; margin-bottom:44px; }
.area-intro .section-head{ margin:0; }
.local-area-photo{ margin:0; aspect-ratio:16/9; }
.local-area-photo::after{ background:linear-gradient(180deg,transparent 54%,rgba(7,27,51,.72)); mix-blend-mode:normal; opacity:1; }
.local-area-photo figcaption{ position:absolute; z-index:2; left:18px; right:18px; bottom:13px; color:#fff; font-size:12px; font-weight:700; letter-spacing:.03em; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.local-area-photo figcaption a{ color:#fff; font-weight:500; text-decoration:none; opacity:.86; }
.hero.has-photo{ position:relative; }
.hero.has-photo::before{
  content:""; position:absolute; inset:0;
  background-image:
    linear-gradient(90deg,rgba(7,27,51,.97) 0%,rgba(15,46,82,.94) 48%,rgba(15,46,82,.84) 100%),
    linear-gradient(180deg,rgba(7,27,51,.18),rgba(7,27,51,.52)),
    var(--hero-photo);
  background-size:cover; background-position:center;
  opacity:1; z-index:0; transform:translate3d(0,var(--parallax-y,0),0) scale(1.06); will-change:transform;
}
.hero.has-photo .wrap{ position:relative; z-index:1; }
.hero h1{ text-shadow:0 3px 22px rgba(0,0,0,.34); }
.hero p.lede{ text-shadow:0 2px 9px rgba(0,0,0,.34); }

@media (min-width:1201px){
  .hero-headline .headline-line{ white-space:nowrap; }
}

@media (max-width:1100px) and (min-width:901px){
  .hero .wrap{ grid-template-columns:1fr; gap:38px; min-height:auto; padding-top:64px; padding-bottom:72px; }
  .hero .wrap > div:first-child{ max-width:760px; }
  .hero-figure{ width:min(100%,500px); margin:0 auto; }
  .hero h1{ font-size:clamp(48px,6.2vw,62px); }
}
.split-photo{
  display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;
}

/* Areas hub */
.area-card-grid{ display:grid; grid-template-columns:1fr; gap:30px; }
.area-card{ display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr); align-items:center; overflow:hidden; border-radius:18px; border:1px solid var(--line); background:#fff; box-shadow:0 15px 42px rgba(15,46,82,.08); transition:transform .35s var(--ease-out), box-shadow .35s ease; }
.area-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-soft); }
.area-card img{ width:100%; height:auto; aspect-ratio:auto; object-fit:contain; display:block; }
.area-card-body{ padding:34px 38px; }
.area-card:nth-child(even) img{ grid-column:2; grid-row:1; }
.area-card:nth-child(even) .area-card-body{ grid-column:1; grid-row:1; }
.area-card .n{ color:var(--accent-dark); font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.area-card h2{ font-family:var(--display); font-size:26px; color:var(--primary-dark); margin:7px 0 8px; }
.area-card p{ color:var(--ink-soft); font-size:14.5px; margin:0 0 14px; }
.area-card a{ color:var(--primary); font-weight:800; text-decoration:none; }
.split-photo .photo-frame{ aspect-ratio:4/3; }
.photo-frame.treatment-session-frame{ background:#F4F1EB; }
.photo-frame.treatment-session-frame img{ object-fit:contain; transform:none; }
.photo-frame.treatment-session-frame:hover img{ transform:none; }
@media (max-width:900px){
  .split-photo{ grid-template-columns:1fr; }
}

/* -------------------- Banner Carousel -------------------- */
.carousel{
  position:relative; overflow:hidden; border-radius:22px;
  aspect-ratio:16/7; background:var(--primary-dark);
  box-shadow:var(--shadow-soft);
}
.carousel-track{
  display:flex; height:100%; transition:transform .7s cubic-bezier(.65,0,.35,1);
}
.slide{
  position:relative; min-width:100%; height:100%;
}
.slide img{
  width:100%; height:100%; object-fit:cover;
}
.slide::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(15,46,82,.88) 0%, rgba(15,46,82,.55) 45%, rgba(15,46,82,.15) 100%);
}
.slide-text{
  position:absolute; left:0; top:0; height:100%; z-index:2;
  display:flex; flex-direction:column; justify-content:center;
  padding:0 6%; max-width:560px; color:#fff;
}
.slide-text .eyebrow{ color:#D9E6F7; margin-bottom:10px; }
.slide-text h3{
  font-family:var(--display); font-weight:400; font-size:clamp(24px,3.4vw,36px);
  margin:0 0 12px; line-height:1.12; text-shadow:0 1px 3px rgba(0,0,0,.3);
}
.slide-text p{ margin:0 0 20px; color:#E3ECF9; font-size:15.5px; max-width:42ch; }
.carousel-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.4);
  color:#fff; font-size:18px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(2px);
}
.carousel-arrow:hover{ background:rgba(255,255,255,.3); }
.carousel-arrow.prev{ left:18px; }
.carousel-arrow.next{ right:18px; }
.carousel-dots{
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; gap:9px;
}
.carousel-dots button{
  width:9px; height:9px; border-radius:50%; border:1px solid rgba(255,255,255,.7);
  background:transparent; padding:0; cursor:pointer;
}
.carousel-dots button[aria-current="true"]{ background:#fff; }
@keyframes heroFloat{ from{ transform:translate3d(0,0,0) scale(1); } to{ transform:translate3d(-45px,55px,0) scale(1.08); } }
@keyframes heroIn{ from{ opacity:0; transform:translateY(28px); } to{ opacity:1; transform:none; } }
@keyframes headlineRise{
  0%{ opacity:0; transform:translate3d(0,115%,0) rotate(1.2deg); filter:blur(8px); }
  65%{ opacity:1; filter:blur(0); }
  100%{ opacity:1; transform:translate3d(0,0,0) rotate(0); filter:blur(0); }
}
@keyframes headlineShimmer{
  0%,30%,100%{ background-position:100% 50%; }
  55%,82%{ background-position:0 50%; }
}
@keyframes pressureCycle{
  0%,18%,48%,100%{ transform:translate3d(0,0,0) scale(1); opacity:1; letter-spacing:0; }
  31%{ transform:translate3d(-4px,2px,0) scale(.982); opacity:.72; letter-spacing:-.012em; }
}
@keyframes freedomCycle{
  0%,28%,62%,100%{ transform:translate3d(0,0,0) scale(1); text-shadow:0 0 0 rgba(232,207,153,0); }
  43%{ transform:translate3d(0,-6px,0) scale(1.025); text-shadow:0 8px 28px rgba(232,207,153,.24); }
}
@keyframes headlineUnderline{
  0%,24%,100%{ transform:scaleX(0); opacity:0; }
  42%,76%{ transform:scaleX(1); opacity:1; }
}
@keyframes statNumberIn{
  0%{ opacity:0; transform:translate3d(0,20px,0) scale(.5) rotate(-8deg); filter:blur(6px); }
  68%{ opacity:1; transform:translate3d(0,-3px,0) scale(1.08) rotate(0); filter:blur(0); text-shadow:0 8px 22px rgba(184,146,85,.30); }
  100%{ opacity:1; transform:none; filter:blur(0); text-shadow:0 0 0 rgba(184,146,85,0); }
}
@keyframes statLabelIn{
  from{ opacity:0; transform:translate3d(14px,0,0); }
  to{ opacity:1; transform:none; }
}
@keyframes heroFigureIn{ from{ opacity:0; transform:translate3d(40px,18px,0) scale(.94); } to{ opacity:1; transform:none; } }
@keyframes slowSpin{ to{ transform:rotate(360deg); } }
@keyframes labelFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-10px); } }
@keyframes lineDraw{ to{ transform:scaleX(1); } }
@keyframes scrollCue{ 0%{ transform:scaleY(0); transform-origin:top; } 45%{ transform:scaleY(1); transform-origin:top; } 55%{ transform:scaleY(1); transform-origin:bottom; } 100%{ transform:scaleY(0); transform-origin:bottom; } }
@media (prefers-reduced-motion:reduce){
  .hero-headline .headline-motion{ animation:none; }
  .hero h1 em{
    background:none; -webkit-text-fill-color:#D4B678; animation:none;
  }
  .hero h1 em::after{ transform:scaleX(1); animation:none; }
}
@media (max-width:700px){
  .carousel{ aspect-ratio:4/5; }
  .slide::after{ background:linear-gradient(180deg, rgba(15,46,82,.35) 0%, rgba(15,46,82,.9) 75%); }
  .slide-text{ max-width:100%; justify-content:flex-end; padding:0 24px 56px; }
}

/* -------------------- Responsive -------------------- */
.legal-hero{ background:linear-gradient(135deg,#0F2E52 0%,#173F6B 65%,#285479 100%); color:#fff; padding:58px 0 54px; }
.legal-hero .wrap{ max-width:1080px; }
.legal-hero .eyebrow{ color:#E0C27F; }
.legal-hero h1{ margin:8px 0 14px; color:#fff; font-family:var(--display); font-size:clamp(40px,6vw,68px); line-height:1; }
.legal-hero .lede{ max-width:780px; color:#E8EFF7; font-size:18px; }
.legal-effective{ display:inline-flex; margin-top:20px; padding:8px 12px; border:1px solid rgba(255,255,255,.24); border-radius:999px; color:#F5E4B9; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.legal-shell{ padding:64px 0 76px; background:#FCFBF8; }
.legal-layout{ display:grid; grid-template-columns:250px minmax(0,760px); gap:52px; align-items:start; justify-content:center; }
.legal-nav{ position:sticky; top:118px; padding:24px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 12px 35px rgba(15,46,82,.07); }
.legal-nav strong{ display:block; margin-bottom:12px; color:var(--primary-dark); font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.legal-nav a{ display:block; padding:8px 0; color:var(--ink-soft); font-size:14px; font-weight:700; text-decoration:none; }
.legal-nav a:hover{ color:var(--accent-dark); }
.legal-content{ min-width:0; }
.legal-intro{ margin:0 0 26px; padding:24px 26px; border-left:4px solid var(--accent); border-radius:0 14px 14px 0; background:#F3EEE4; color:var(--primary-dark); font-size:17px; font-weight:700; }
.legal-section{ scroll-margin-top:120px; padding:29px 30px; margin-bottom:18px; border:1px solid var(--line); border-radius:16px; background:#fff; box-shadow:0 9px 28px rgba(15,46,82,.045); }
.legal-section h2{ margin:0 0 14px; color:var(--primary-dark); font-family:var(--sans); font-size:25px; font-weight:800; }
.legal-section h3{ margin:22px 0 7px; color:var(--primary); font-family:var(--sans); font-size:17px; font-weight:800; }
.legal-section p:last-child,.legal-section ul:last-child{ margin-bottom:0; }
.legal-section li+li{ margin-top:8px; }
.legal-callout{ padding:20px 22px; margin:22px 0; border:1px solid #D8C18D; border-radius:14px; background:#FFF9EA; color:#493815; }
.legal-callout strong{ display:block; margin-bottom:5px; color:#6B4D0F; }
.legal-contact{ background:var(--primary-dark); color:#EAF1F8; }
.legal-contact h2,.legal-contact a{ color:#fff; }
.legal-contact a{ font-weight:700; }
@media (max-width:800px){
  .legal-hero{ padding:44px 0 42px; }
  .legal-layout{ grid-template-columns:1fr; gap:24px; }
  .legal-nav{ position:static; }
  .legal-shell{ padding:40px 0 54px; }
  .legal-section{ padding:24px 22px; }
}

@media (max-width:900px){
  .mobile-menu{ display:block; margin-left:auto; }
  .menu-toggle{ display:flex; }
  .mobile-panel{
    position:absolute; left:0; right:0; top:100%; padding:18px 28px 28px;
    background:rgba(247,244,238,.98); border-bottom:1px solid var(--line);
    box-shadow:0 14px 30px rgba(15,46,82,.14); flex-direction:column; z-index:99;
  }
  .mobile-menu[open] .mobile-panel{ display:flex; }
  .mobile-panel a{ padding:14px 0; border-bottom:1px solid var(--line); text-decoration:none; color:var(--ink-soft); font-size:17px; font-weight:600; }
  .mobile-panel a.btn{ margin-top:16px; border-bottom:1px solid transparent; color:#211500; }
  nav.primary{
    display:none;
  }
  .hero .wrap{ grid-template-columns:1fr; padding-top:44px; min-height:auto; }
  .hero-figure{ max-width:480px; margin:0 auto; width:100%; }
  .intro-grid{ grid-template-columns:1fr; gap:32px; }
  .conditions-grid{ grid-template-columns:repeat(2,1fr); }
  .condition-bento{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .condition-bento .condition,
  .condition-bento .condition-featured{ grid-column:span 1; }
  .condition-bento .condition-featured{
    display:flex;
    min-height:270px;
    padding:28px 24px;
    gap:0;
    align-items:stretch;
  }
  .condition-bento .condition-featured .condition-icon{ width:76px; height:76px; margin-bottom:18px; }
  .condition-bento .condition-featured h4{ font-size:19px; }
  .condition-hero-grid,.clinical-grid,.symptom-layout{ grid-template-columns:1fr; }
  .condition-hero-visual{ min-height:360px; }
  .condition-hero-visual img{ width:min(78%,320px); height:270px; }
  .clinical-grid,.symptom-layout{ gap:32px; }
  .pattern-grid{ grid-template-columns:repeat(3,1fr); }
  .evaluation-steps{ grid-template-columns:repeat(2,1fr); }
  .condition-fit-layout .photo-frame{ min-height:0; aspect-ratio:16/10; }
  .care-path{ grid-template-columns:1fr; }
  .care-path article{ min-height:0; border-right:0; border-bottom:1px solid var(--line); }
  .care-path article:last-child{ border-bottom:0; }
  .steps{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .split > div:first-child{ border-right:none; border-bottom:1px solid var(--line); }
  .footer-grid{ grid-template-columns:1fr; }
  .area-card-grid{ grid-template-columns:1fr; }
  .area-card{ grid-template-columns:1fr; align-items:stretch; }
  .area-card:nth-child(even) img,
  .area-card:nth-child(even) .area-card-body{ grid-column:1; grid-row:auto; }
  .area-card-body{ padding:26px 28px 30px; }
  .area-intro{ grid-template-columns:1fr; gap:28px; }
  .topbar .wrap{ justify-content:center; text-align:center; }
  .announcement-item{ inset:0 18px; font-size:12px; letter-spacing:.02em; }
  body{ padding-bottom:66px; }
  .mobile-actions{
    display:grid; grid-template-columns:1fr 1fr; position:fixed; z-index:120; bottom:0; left:0; right:0;
    background:#fff; border-top:1px solid var(--line); box-shadow:0 -8px 24px rgba(15,46,82,.12);
  }
  .mobile-actions a{ min-height:58px; display:flex; align-items:center; justify-content:center; text-decoration:none; font-weight:800; font-size:15px; }
  .mobile-actions .call{ color:var(--primary); }
  .mobile-actions .book{ background:var(--accent); color:#211500; }
}
@media (max-width:520px){
  .conditions-grid{ grid-template-columns:1fr; }
  .condition-bento .condition,
  .condition-bento .condition-featured{ min-height:auto; padding:24px 22px; }
  .condition-bento .condition-icon,
  .condition-bento .condition-featured .condition-icon{ width:64px; height:64px; margin-bottom:16px; }
  .condition-page-hero{ padding:42px 0 48px; }
  .condition-hero-copy h1{ font-size:38px; }
  .condition-hero-copy .lede{ font-size:16.5px; }
  .condition-page-hero .cta-row{ gap:14px; }
  .condition-page-hero .cta-row .btn{ width:100%; }
  .condition-hero-visual{ min-height:330px; padding:22px 22px 0; }
  .condition-hero-visual img{ height:240px; }
  .condition-hero-visual figcaption{ width:calc(100% + 44px); margin:14px -22px 0; padding:14px 18px; }
  .condition-at-glance{ grid-template-columns:1fr; }
  .condition-at-glance > div{ min-height:0; padding:20px 22px; border-right:0; border-bottom:1px solid var(--line); }
  .condition-at-glance > div:last-child{ border-bottom:0; }
  .pattern-grid,.evaluation-steps,.related-condition-grid{ grid-template-columns:1fr; }
  .info-card,.evaluation-steps li{ min-height:0; }
  .red-flag-panel{ grid-template-columns:1fr; gap:8px; }
  .source-panel ul{ display:block; }
  .area-card-grid{ grid-template-columns:1fr; }
  footer.site{ padding:28px 0 16px; }
  .footer-grid{ gap:24px; margin-bottom:18px; }
  .footer-grid > div{ padding-bottom:4px; }
  .hours-row{ grid-template-columns:98px 1fr; }
  .footer-bottom{ display:grid; gap:8px; }
  .specialized-trust{ grid-template-columns:1fr; }
  .brand{ flex:1 1 auto; min-width:0; }
  .brand-logo{ width:min(57vw,205px); }
  .brand .brand-tagline{ font-size:9px; letter-spacing:.16em; }
  header.site .wrap{ padding-left:18px; padding-right:18px; }
  .hero-proof{ gap:12px; }
  .hero-proof span{ width:100%; }
  .motion-label{ font-size:9px; padding:7px 10px; }
  .scroll-cue{ display:none; }
}
