/* September design refinement: patient-first layout and calmer typography. */
:root{--black:#202449;--ink:#30334b;--muted:#64697c;--accent:#454889;--accent-deep:#303465;--soft:#f5f5fa;--line:#e2e3ed}
body{line-height:1.65}
section[id]{scroll-margin-top:120px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #8975cf;outline-offset:5px}
.site-header{padding:16px clamp(20px,4vw,64px);background:rgba(255,255,255,.97);gap:26px}
.site-header nav{gap:3px}
.site-header nav a{font-weight:600;padding:9px 10px}
.site-header .brand-icon{height:46px;max-width:210px}
.hero{min-height:0;max-width:1480px;margin:auto;padding:48px clamp(24px,5vw,76px) 56px;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.hero-copy{grid-column:1;grid-row:1;display:block;padding:0;border:0}
.hero-image-wrap{grid-column:2;grid-row:1;min-height:0;background:#f3f3f7;border-radius:24px;align-self:center}
.hero-image-wrap img{height:auto;min-height:0;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center}
.hero-image-wrap::after{display:none}
.hero-tagline{position:relative;inset:auto;max-width:none;text-align:left;background:#eeedf6;border:0;border-radius:0;box-shadow:none;padding:22px 26px;backdrop-filter:none}
.hero-tagline span{font-size:25px;line-height:1.2;letter-spacing:-.5px}
.hero-tagline p{margin:6px 0 0;font-size:14px;font-weight:500}
.eyebrow{border:0;background:transparent;padding:0;font-size:11px;font-weight:700;letter-spacing:1.8px;color:var(--accent);margin-bottom:18px}
h1{font-size:clamp(42px,4.7vw,68px);line-height:1.07;letter-spacing:-2px;color:var(--black);max-width:650px}
h2{font-size:clamp(32px,3.5vw,48px);line-height:1.13;letter-spacing:-1.3px;color:var(--black)}
h3{line-height:1.3;color:var(--black)}
.hero-summary{gap:26px;margin-top:25px}
.hero-summary p{font-size:17px;line-height:1.8;max-width:560px}
.hero-actions{gap:12px}
.btn{border-radius:9px;font-size:14px;font-weight:650;padding:14px 20px;min-height:50px;transition:background .2s,transform .2s}
.btn:hover{transform:translateY(-2px)}
.btn-secondary{border-color:var(--line);background:white;color:var(--accent-deep)}
.statement{background:var(--soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:32px max(24px,calc((100vw - 1120px)/2))}
.statement p{font-size:clamp(20px,2.1vw,29px);line-height:1.5;max-width:1100px;font-weight:500;letter-spacing:-.4px;margin:0 auto}
.section{padding-top:80px;padding-bottom:80px}
.section-heading{margin-bottom:36px}
.section-heading>p:not(.eyebrow){font-size:17px;line-height:1.7;max-width:690px}
.treatments-grid{gap:24px}
.insurance-card,.employment-card,.booking-link-card{box-shadow:none;border-color:var(--line);background:var(--soft)}
.gfab-stack{position:static;flex-direction:row;justify-content:center;padding:18px;flex-wrap:wrap;background:var(--soft)}
.gfab{box-shadow:none;font-weight:500;font-size:13px}
.site-footer{border-top:1px solid var(--line);background:#f5f5fa}
.site-footer .staff-link{color:var(--muted);font-size:13px}
@media(min-width:701px) and (max-width:1180px){.site-header{grid-template-columns:1fr;gap:10px}.brand{justify-self:center}.site-header nav{justify-content:center}.hero{gap:28px;padding-top:34px}}
@media(max-width:800px){.hero{grid-template-columns:1fr;gap:30px}.hero-copy{grid-column:1;grid-row:1}.hero-image-wrap{grid-column:1;grid-row:2}.hero-image-wrap img{aspect-ratio:auto;object-fit:contain}.hero-summary p{max-width:none}}
@media(max-width:700px){.site-header{padding:12px 16px;gap:12px}.site-header nav{gap:8px}.site-header nav a,.menu-toggle{min-height:44px}.site-header .brand-icon{height:40px;max-width:240px}.hero{padding:32px 22px;gap:28px}h1{font-size:43px;letter-spacing:-1.6px}.hero-summary{margin-top:20px;gap:22px}.hero-summary p{font-size:16px;line-height:1.75}.hero-actions .btn{width:100%}.hero-tagline{padding:20px}.hero-tagline span{font-size:24px}.hero-tagline p{font-size:14px}.statement{padding:26px 22px}.section{padding-top:52px;padding-bottom:52px}.section-heading{margin-bottom:26px}.treatments-grid{gap:18px}.site-header nav.mobile-open{max-height:70vh;overflow-y:auto}section[id]{scroll-margin-top:135px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.statement p{color:var(--black)}.statement p .accent{color:var(--accent)}.tx-card{border-radius:16px}.tx-card p{font-weight:400;line-height:1.7}.tx-body{padding:22px}.tx-card h3{font-weight:650}

/* Prominent booking and telephone actions. */
.brand-location{display:none}
@media(max-width:700px){.site-header .brand{flex-direction:column;gap:3px}.brand-location{display:block;color:var(--accent-deep);font-size:13px;font-weight:700;line-height:1.3;letter-spacing:2px;text-transform:uppercase}}
.site-header nav a.nav-cta,
.site-header nav a.nav-phone,
a.btn[href*="/booking.html"],
a.btn[href^="tel:"]{background:#c62828;color:#fff;border:1px solid #c62828;border-radius:999px}
.site-header nav a.nav-cta:hover,
.site-header nav a.nav-phone:hover,
a.btn[href*="/booking.html"]:hover,
a.btn[href^="tel:"]:hover{background:#a51f1f;color:#fff;border-color:#a51f1f}
.site-header nav .phone-full{display:inline}
.site-header nav .phone-mobile{display:none}
@media(max-width:700px){
  .site-header nav{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .site-header nav a.nav-phone{grid-column:1/-1;order:1;font-size:15px}
  .site-header nav .nav-phone svg{display:block}
  .site-header nav a.nav-cta{grid-column:1;order:2}
  .site-header nav .menu-toggle{grid-column:2;order:3}
  section[id]{scroll-margin-top:180px}
}

#doctor figure img{aspect-ratio:3/2;height:auto;object-fit:contain}
