/* Comprehensive Physical Therapy: "Clinical Precision" */
:root { --ink:#2d3748; --mute:#6c757d; --line:#dee2e6; --brand:#1E2D4A; --brand-d:#18243b; --accent:#9e611d; --on-accent:#ffffff; --dark:#212529; --light:#f0f4f8; --tint:#f8f9fa; --link-dark:#ffffff; --r:5px; --btn-r:5px; --img-r:5px; --btn-case:none; --disp:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif; --body:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif; --disp-w:700; --disp-case:none; --h1:64px; --h2:40px; --body-px:16px; --space:clamp(56px,8vw,88px); }
*,*::before,*::after { box-sizing:border-box; }
html { scroll-padding-top:110px; scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; font:400 var(--body-px)/1.65 var(--body); color:var(--ink); background:var(--light); }
img { max-width:100%; height:auto; display:block; }
a { color:var(--brand); text-decoration-color:color-mix(in srgb,var(--brand) 40%,transparent); text-underline-offset:3px; text-decoration-thickness:2px; }
a:hover { color:var(--brand-d); text-decoration-color:currentColor; }
h1,h2,h3,.btn,.mh,.by-n { font-family:var(--disp); }
h1,h2,h3 { font-weight:var(--disp-w); text-transform:var(--disp-case); text-wrap:balance; }
h1,h2 { line-height:1.12; letter-spacing:-.012em; margin:0 0 .5em; }
h1 { font-size:clamp(34px,4.6vw,var(--h1)); }
h2 { font-size:clamp(28px,3.4vw,var(--h2)); }
h3 { font-size:clamp(20px,1.8vw,24px); line-height:1.2; margin:0 0 .4em; }
p { margin:0 0 1em; text-wrap:pretty; }
.wrap { width:min(1180px,100% - 40px); margin-inline:auto; }
.sr,.skip:not(:focus) { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip:focus { position:fixed; top:8px; left:8px; z-index:99; background:var(--brand); color:#fff; padding:10px 16px; border-radius:8px; font-weight:700; }
:focus-visible { outline:3px solid var(--brand); outline-offset:2px; border-radius:4px; }
.sec--dark :focus-visible,.ft :focus-visible { outline-color:#fff; }

/* buttons */
.btn { display:inline-block; background:var(--brand); color:#fff; border:0; font-weight:600; font-size:17px; line-height:1.1; padding:15px 24px; border-radius:var(--btn-r); text-decoration:none; cursor:pointer; white-space:nowrap; text-transform:var(--btn-case); transition:background .15s,color .15s; }
.btn:hover { background:var(--brand-d); color:#fff; }
.btn--ghost,.btn--line { background:transparent; color:var(--brand); box-shadow:inset 0 0 0 2px currentColor; }
.btn--ghost:hover,.btn--line:hover { background:var(--brand); color:#fff; box-shadow:inset 0 0 0 2px var(--brand); }
.sec--dark .btn { background:var(--accent); color:var(--on-accent); }
.sec--dark .btn:hover { background:#fff; color:var(--on-accent); }
.sec--dark .btn--line,.sec--dark .btn--ghost { background:transparent; color:#fff; box-shadow:inset 0 0 0 2px #fff; }
.sec--dark .btn--line:hover,.sec--dark .btn--ghost:hover { background:#fff; color:var(--on-accent); box-shadow:none; }
.acts { display:flex; flex-wrap:wrap; gap:12px 14px; align-items:center; margin:26px 0 0; }

/* header and menus */
.util { background:var(--dark); color:#e8e8ee; font-size:14.5px; } .util .wrap { display:flex; gap:22px; justify-content:flex-end; padding:8px 0; } .util a { color:#e8e8ee; } .util a:hover { color:#fff; }
.hd { background:#fff; border-bottom:1px solid var(--line); position:sticky; top:0; z-index:40; }
.hd-in { display:flex; align-items:center; gap:22px; padding:10px 0; }
.logo { display:block; flex:none; } .logo-crop { display:block; width:190px; overflow:hidden; } .logo-crop img { width:100%; height:auto; }
.nav { flex:1; } .nav > ul { display:flex; gap:2px; list-style:none; margin:0; padding:0; justify-content:center; }
.has-menu, .nav > ul > li { position:relative; display:flex; align-items:center; }
.nav .top { padding:14px 12px; font-weight:600; font-size:16px; color:var(--ink); text-decoration:none; } .nav .top:hover { color:var(--brand); }
.tg { display:none; }
.menu { display:none; position:absolute; top:100%; left:0; background:#fff; border:1px solid var(--line); border-radius:0 0 var(--r) var(--r); min-width:240px; padding:20px 24px; box-shadow:0 22px 48px rgba(0,0,0,.14); }
.has-menu:hover > .menu,.has-menu:focus-within > .menu,.has-menu.open > .menu { display:block; }
.menu.wide { width:min(920px,92vw); left:-140px; } .menu.wide:has(.mgrid--2) { width:min(640px,92vw); left:-40px; }
.mgrid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px 30px; } .mgrid--1 { grid-template-columns:1fr; } .mgrid--2 { grid-template-columns:repeat(2,1fr); } .menu:not(.wide) { width:max-content; max-width:min(360px,92vw); }
.mh { font-weight:700; font-size:14px; letter-spacing:.1em; text-transform:uppercase; color:var(--brand); margin:0 0 8px; }
.menu ul { list-style:none; margin:0; padding:0; } .menu li a { display:block; padding:5px 0; text-decoration:none; font-size:16px; line-height:1.3; color:var(--ink); } .menu li a:hover { color:var(--brand); text-decoration:underline; }
.mall { margin:16px 0 0; padding-top:12px; border-top:1px solid var(--line); font-weight:600; }
.burger { display:none; background:none; border:0; width:44px; height:44px; margin-left:auto; cursor:pointer; padding:10px; } .burger i { display:block; height:3px; border-radius:2px; background:var(--ink); margin:5px 0; }
.hd-cta { display:flex; align-items:center; gap:16px; flex:none; } .hd-phones { display:flex; flex-direction:column; } .hd-phone { font-weight:700; color:var(--ink); text-decoration:none; white-space:nowrap; }

/* sections */
.sec { padding:var(--space) 0; }
.sec--tight { padding:36px 0; }
.sec--light { background:var(--light); } .sec--tint { background:var(--tint); }
.sec--dark { background:var(--dark); color:#fff; } .sec--dark h2,.sec--dark h3 { color:#fff; } .sec--dark a { color:var(--link-dark); }
.sec--warn { background:var(--light); }
.lede { font-size:19.5px; color:var(--mute); max-width:62ch; } .sec--dark .lede { color:rgba(255,255,255,.84); }
.prose { max-width:760px; } .prose ul { padding-left:1.2em; } .prose li { margin:0 0 .4em; }
.phero { background:var(--tint); padding:clamp(40px,6vw,72px) 0 clamp(36px,5vw,56px); } .phero h1 { max-width:20ch; } .phero .lead { font-size:20px; color:var(--mute); max-width:62ch; }
.crumbs { font-size:15px; color:var(--mute); margin:0 0 18px; } .crumbs a { color:var(--mute); } .crumbs span { margin:0 4px; }
.splithead { display:grid; grid-template-columns:1fr 1.4fr; gap:clamp(24px,5vw,64px); } .sh-r .row { padding:0 0 18px; margin:0 0 18px; border-bottom:1px solid var(--line); } .sec--dark .sh-r .row { border-color:rgba(255,255,255,.22); }
.cards { display:grid; gap:20px; margin-top:24px; } .c2 { grid-template-columns:repeat(2,1fr); } .c3 { grid-template-columns:repeat(3,1fr); } .c4 { grid-template-columns:repeat(4,1fr); }
.card { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px; } .sec--dark .card { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.22); } .card ul { padding-left:1.2em; margin:0; } .card h3 a { text-decoration:none; color:inherit; }
.steps { list-style:none; counter-reset:s; display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:18px; padding:0; margin:24px 0 0; }
.steps li { counter-increment:s; background:#fff; border-radius:var(--r); padding:22px 22px 18px; border:1px solid var(--line); } .steps li::before { content:counter(s); display:block; font:var(--disp-w) 28px/1 var(--disp); color:var(--brand); margin:0 0 10px; }
.acc details { border-bottom:1px solid var(--line); } .acc summary { cursor:pointer; padding:18px 4px; font-weight:600; font-size:18px; } .acc details > div { padding:0 4px 14px; max-width:70ch; }
.flag { background:#fff8f2; border:1px solid #e3bfae; border-radius:var(--r); padding:26px clamp(20px,3vw,36px); max-width:900px; } .fnote { font-size:15.5px; color:var(--mute); }
.twocol { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(24px,5vw,64px); align-items:start; }
.checks { list-style:none; margin:0; padding:0; } .checks li { padding:12px 0 12px 34px; border-bottom:1px solid var(--line); position:relative; } .checks li::before { content:"\2713"; position:absolute; left:4px; color:var(--brand); font-weight:700; } .sec--dark .checks li { border-color:rgba(255,255,255,.22); }
.media { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,64px); align-items:center; } .media.flip .mimg { order:-1; } .ph { width:100%; border-radius:var(--img-r); object-fit:cover; }
.chip,.chips li { display:inline-block; padding:9px 16px; background:#fff; border:1px solid var(--line); border-radius:99px; font-weight:500; font-size:16.5px; line-height:1.25; } .chips { list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:20px 0 0; }
.bandtxt { max-width:760px; } .bandtxt p { color:rgba(255,255,255,.88); }
.rel { list-style:none; display:flex; flex-wrap:wrap; gap:10px; padding:0; margin:12px 0 0; } .rel a { display:inline-block; padding:9px 16px; border:1px solid var(--line); background:#fff; border-radius:99px; text-decoration:none; font-weight:500; }

/* people */
.staff--card { display:grid; gap:28px; } .pcard { display:grid; grid-template-columns:240px 1fr; gap:28px; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px; } .pimg img,.pimg .ini { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--img-r); }
.ini { display:grid; place-items:center; background:var(--tint); color:var(--brand); font:700 36px var(--disp); } .role { color:var(--mute); font-weight:600; margin:0 0 12px; } .bio { white-space:pre-line; }
.staff--strip { display:grid; grid-template-columns:repeat(auto-fill,minmax(180px,1fr)); gap:20px; } .pstrip img,.pstrip .ini { width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:var(--img-r); margin:0 0 10px; } .pstrip { position:relative; } .pstrip h3 { margin:0; font-size:19px; } .pstrip-link { color:inherit; text-decoration:none; } .pstrip-link::after { content:""; position:absolute; inset:0; } .pstrip:hover .pstrip-link,.pstrip-link:focus-visible { text-decoration:underline; color:var(--brand); } .pstrip:focus-within { outline:2px solid var(--brand); outline-offset:2px; border-radius:var(--img-r); }
.staff--chips { display:flex; flex-wrap:wrap; gap:10px; }
.by { background:#fff; border-bottom:1px solid var(--line); } .by-in { display:flex; gap:20px; align-items:center; width:min(1180px,100% - 40px); margin:0 auto; padding:22px 0; } .by-in img,.by-in .ini { width:80px; height:100px; object-fit:cover; border-radius:var(--img-r); flex:none; font-size:26px; }
.by-k { font-size:14px; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin:0; } .by-n { font-size:20px; font-weight:700; margin:0; } .by-b { margin:6px 0 4px; color:var(--mute); max-width:70ch; } .by-l { margin:0; font-weight:600; }
.who { font-weight:600; }

/* clinics, workshops */
.clinic h2,.clinic h3 { font-size:22px; margin:0 0 10px; } .clinic a { text-decoration-thickness:1px; }
.hrs-t th { text-align:left; padding:3px 18px 3px 0; font-weight:600; } .hrs-t td { padding:3px 0; }
.locgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px; }
.ws-list { display:grid; gap:16px; } .ws { display:flex; justify-content:space-between; gap:20px; align-items:center; background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:20px 24px; } .ws h2 { font-size:22px; margin:0 0 4px; } .ws-empty { font-size:19px; }

/* home */
.hero { background:var(--dark); color:#fff; padding:clamp(56px,9vw,120px) 0 clamp(48px,7vw,88px); } .hero h1 { color:#fff; max-width:18ch; } .hero .lead { font-size:21px; color:rgba(255,255,255,.88); max-width:56ch; }
.hero .btn { background:var(--accent); color:var(--on-accent); } .hero .btn--ghost { background:transparent; color:#fff; box-shadow:inset 0 0 0 2px #fff; } .hero .btn--ghost:hover { background:#fff; color:var(--on-accent); }
.hero--split .wrap { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(24px,5vw,64px); align-items:center; } .hero--photo { background-size:cover; background-position:center; position:relative; } .hero--photo .wrap { position:relative; }
.hero--light { background:var(--tint); color:var(--ink); } .hero--light h1 { color:var(--ink); } .hero--light .lead { color:var(--mute); } .hero--light .btn { background:var(--brand); color:#fff; } .hero--light .btn--ghost { background:transparent; color:var(--brand); box-shadow:inset 0 0 0 2px currentColor; } .hero--light .btn--ghost:hover { background:var(--brand); color:#fff; }
.heroimg img { border-radius:var(--img-r); width:auto; max-width:100%; height:auto; max-height:540px; margin-inline:auto; }
.reviews { display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:20px; } .rv blockquote { margin:0; } .rv .stars { margin:0 0 10px; } .stars { color:#c58b00; letter-spacing:3px; font-size:20px; line-height:1; margin:0 0 8px; } .sec--dark .stars { color:var(--accent); } .rating-line { display:flex; align-items:center; gap:12px; flex-wrap:wrap; font-size:19px; margin:0 0 22px; } .rating-line .stars { margin:0; font-size:24px; } .also { margin:34px 0 14px; font-size:20px; }
.rv { color:var(--ink); background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:24px; margin:0; } .rv p { font-size:18px; } .rv cite { font-style:normal; font-weight:600; color:var(--mute); }
.cond-group { margin:0 0 28px; } .cond-group h3 { margin:0 0 10px; }
.ft { background:var(--dark); color:rgba(255,255,255,.86); padding:56px 0 0; border-top:6px solid var(--accent); } .ft a { color:#fff; } .ft h2,.ft h3,.ft .mh { color:#fff; } .ft-in { display:grid; grid-template-columns:1fr; gap:36px; }
.ft-brand { display:flex; flex-direction:column; align-items:flex-start; gap:18px; } .ft-brand p { margin:0; } .ft-brand .tag { font-size:18px; line-height:1.45; max-width:30ch; } .ft-brand .logo-crop { width:210px; filter:brightness(0) invert(1); } .ft-cta { margin:6px 0 0 !important; }
.ft .btn { background:var(--accent); color:var(--on-accent); } .soc { display:flex; gap:12px; } .soc a { color:#fff; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border:1.5px solid rgba(255,255,255,.6); border-radius:50%; transition:background .15s,color .15s; } .soc a:hover { background:#fff; color:var(--dark); } .ft--light .soc a { color:var(--ink); border-color:rgba(0,0,0,.35); } .ft--light .soc a:hover { background:var(--ink); color:#fff; }
.ft-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1.5fr) minmax(0,1.25fr); gap:0; align-items:start; } .ft-grid > * { padding:0 40px; } .ft-grid > :first-child { padding-left:0; } .ft-grid > :last-child { padding-right:0; } .ft-grid > * + * { border-left:1px solid rgba(255,255,255,.18); }
.ft-clinics { display:grid; grid-template-columns:1fr; gap:30px; }
.ft-links { display:grid; grid-template-columns:1fr 1fr; gap:26px 28px; } .ft-links ul { list-style:none; margin:0; padding:0; } .ft-links li { margin:0 0 8px; } .ft-links a { text-decoration:none; } .ft-links a:hover { text-decoration:underline; }
.copy { margin:36px auto 0; padding:22px 0 28px; border-top:1px solid rgba(255,255,255,.2); font-size:14.5px; } .legal { float:right; display:flex; gap:18px; } .legal a { color:rgba(255,255,255,.86); }
.callbar { display:none; }

@media (max-width:980px) {
  .burger { display:block; } .hd-cta { display:none; } .util .wrap { justify-content:center; flex-wrap:wrap; gap:6px 18px; } .logo-crop { width:150px; }
  .nav { display:none; position:absolute; left:0; right:0; top:100%; background:var(--dark); padding:8px 20px 20px; max-height:80vh; overflow:auto; } .nav.open { display:block; }
  .nav > ul { flex-direction:column; align-items:stretch; } .has-menu { flex-wrap:wrap; border-bottom:1px solid rgba(255,255,255,.2); } .nav .top { color:#fff; flex:1; } .nav .top:hover { color:#fff; }
  .nav > ul > li:not(.has-menu) { display:flex; border-bottom:1px solid rgba(255,255,255,.2); } .tg { display:block; width:44px; height:44px; background:none; border:0; cursor:pointer; position:relative; } .tg::after { content:"+"; color:#fff; font-size:24px; } .has-menu.open .tg::after { content:"\2212"; }
  .menu,.menu.wide { position:static; width:100%; min-width:0; background:transparent; border:0; box-shadow:none; padding:0 0 12px; } .menu li a { color:#fff; } .menu .mh { color:var(--accent); } .mgrid { grid-template-columns:1fr; }
  .has-menu:hover > .menu { display:none; } .has-menu.open > .menu { display:block; }
  .splithead,.twocol,.media,.hero--split .wrap,.pcard { grid-template-columns:1fr; } .c3,.c4 { grid-template-columns:1fr 1fr; } .legal { float:none; margin-top:10px; }
  .callbar { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:50; background:var(--dark); gap:8px; padding:8px; } .callbar a { flex:1; text-align:center; color:#fff; padding:10px 8px; font-weight:700; text-decoration:none; border-radius:var(--btn-r); box-shadow:inset 0 0 0 2px rgba(255,255,255,.4); } .callbar small { display:block; font-weight:400; opacity:.8; } .callbar .cb-main { background:var(--accent); color:var(--on-accent); box-shadow:none; flex:1.4; }
  body { padding-bottom:76px; } html { scroll-padding-bottom:90px; }
}
.cpanel { display:grid; grid-template-columns:minmax(300px,1fr) minmax(0,1.5fr); gap:32px; align-items:stretch; }
.cp-info { background:#fff; border:1px solid var(--line); border-radius:var(--r); padding:30px 34px; } .cp-info h2 { font-size:28px; margin:0 0 14px; }
.cp-list { margin:0; } .cp-list > div { display:grid; grid-template-columns:84px 1fr; gap:12px; padding:15px 0; border-top:1px solid var(--line); } .cp-list dt { font:700 13px/1.6 var(--body); letter-spacing:.08em; text-transform:uppercase; color:var(--mute); } .cp-list dd { margin:0; } .cp-phone { font:var(--disp-w) 24px/1.2 var(--disp); text-decoration:none; } .cp-dir { display:inline-block; margin-top:6px; font-weight:600; }
.cp-list .hrs-t th { padding-right:22px; } .cp-info .acts { margin-top:22px; }
.cp-map { margin:0; display:flex; flex-direction:column; } .cp-map img { width:100%; height:100%; min-height:380px; object-fit:cover; object-position:center; border-radius:var(--img-r); } .cp-map iframe { width:100%; height:100%; min-height:440px; border:0; border-radius:var(--img-r); background:var(--tint); }
.cp-map figcaption { font-size:14px; color:var(--mute); margin-top:10px; }
@media (max-width:900px) { .cp-map iframe { min-height:340px; } .cpanel { grid-template-columns:1fr; } .cp-map img { min-height:0; height:auto; } .cp-info { padding:24px 22px; } }
.fullmap { position:relative; background:var(--tint); } .fullmap > .ph { display:block; width:100%; height:560px; object-fit:cover; object-position:64% 50%; border-radius:0; }
.fm-over { position:absolute; inset:0; display:flex; align-items:center; pointer-events:none; } .fm-panel { pointer-events:auto; margin-left:max(20px,calc((100% - 1180px) / 2)); width:min(360px,calc(100% - 40px)); background:#fff; border-radius:var(--r); padding:26px 28px; box-shadow:0 18px 50px rgba(0,16,48,.25); }
.fm-panel h2 { font-size:28px; margin:0 0 6px; } .fm-c { padding:14px 0; border-top:1px solid var(--line); } .fm-c h3 { font-size:19px; margin:0 0 4px; } .fm-c h3 a { color:inherit; text-decoration:none; } .fm-c p { margin:0; line-height:1.55; } .fm-panel .acts { margin:16px 0 0; }
@media (max-width:900px) { .fullmap > .ph { height:300px; } .fm-over { position:static; display:block; } .fm-panel { margin:-56px 20px 0; position:relative; width:auto; } }
@media (max-width:980px) { .ft-grid { grid-template-columns:1fr 1fr; gap:36px 0; } .ft-grid > * { padding:0 28px; } .ft-grid > :first-child { padding-left:0; } .ft-grid > :nth-child(2) { padding-right:0; } .ft-grid > :nth-child(3) { grid-column:1 / -1; border-left:0; border-top:1px solid rgba(255,255,255,.18); padding:28px 0 0; } }
@media (max-width:640px) { .c2,.c3,.c4 { grid-template-columns:1fr; } .ft-grid { grid-template-columns:1fr; gap:30px; } .ft-grid > * { padding:0 !important; border-left:0 !important; } .ft-grid > * + * { border-top:1px solid rgba(255,255,255,.18); padding-top:28px !important; } .soc { margin-left:0 !important; } }

[data-f="phone"],[data-f="tel"] { white-space:nowrap; }
body { overflow-x:hidden; }

/* the proof bar's own section: under the tiles look it overlaps the hero */
.sec--proof-tiles { padding:1px 0 30px; background:transparent; position:relative; z-index:2; } .sec--proof-band { padding:36px 0; } .sec--proof-rule { padding:28px 0; }
/* structural looks (profile 'look'): header classic|two-row|dark|tint, footer split|centered|light, proof tiles|band|rule */
@media (min-width:981px) { .hd--two-row .hd-in { flex-wrap:wrap; row-gap:0; } .hd--two-row .logo { order:1; } .hd--two-row .hd-cta { order:2; margin-left:auto; } .hd--two-row .nav { order:3; flex:0 0 100%; border-top:1px solid var(--line); } .hd--two-row .nav > ul { justify-content:flex-start; } }
.hd--dark { background:var(--dark); border-bottom:0; } .hd--dark .nav .top,.hd--dark .hd-phone { color:#fff; } .hd--dark .nav .top:hover { color:var(--accent); } .hd--dark .burger i { background:#fff; } .hd--dark .logo { background:#fff; border-radius:var(--r); padding:4px 8px; } .hd--dark .btn { background:var(--accent); color:var(--on-accent); } .hd--dark :focus-visible { outline-color:#fff; }
.hd--tint { background:var(--tint); border-bottom:4px solid var(--accent); }
.ft--light { background:var(--tint); color:var(--ink); border-top-color:var(--brand); } .ft--light a,.ft--light h2,.ft--light h3,.ft--light .mh,.ft--light .soc a,.ft--light .legal a { color:var(--ink); } .ft--light .ft-grid > *,.ft--light .ft-brand,.ft--light .ft-links,.ft--light .copy { border-color:rgba(0,0,0,.18); }
.ft--light .ft-brand .logo-crop { filter:none; } .ft--light .btn { background:var(--brand); color:#fff; } .ft--light :focus-visible { outline-color:var(--brand); }
.proof { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.proof li > .pt,.proof li > a { display:block; padding:22px 24px; text-decoration:none; color:inherit; } .proof b { display:block; font:var(--disp-w) 30px/1.1 var(--disp); color:var(--brand); } .proof span { display:block; margin-top:6px; color:var(--mute); font-size:16px; } .proof a:hover b { text-decoration:underline; }
.proof--tiles { margin:-46px 0 0; background:#fff; border-radius:var(--r); box-shadow:0 18px 44px rgba(0,0,0,.16); border-top:5px solid var(--accent); } .proof--tiles li { border-right:1px solid var(--line); } .proof--tiles li:last-child { border-right:0; }
.proof--band { background:var(--brand); border-radius:var(--r); } .proof--band li + li { border-left:1px solid rgba(255,255,255,.28); } .proof--band b,.proof--band span { color:#fff; } .proof--band b { font-size:34px; }
.proof--rule { border-top:1px solid var(--line); border-bottom:1px solid var(--line); } .proof--rule li { padding:6px 0; } .proof--rule b { font-size:28px; display:inline; } .proof--rule span { display:inline; margin-left:8px; } .proof--rule li > .pt,.proof--rule li > a { padding:14px 18px; }
.proof-note { margin:16px 0 0; color:var(--mute); text-align:center; }
@media (max-width:900px) { .proof--tiles { margin-top:-30px; } .proof--tiles li,.proof--band li { border-bottom:1px solid var(--line); } .proof--band li + li { border-left:0; } .proof--band li { border-bottom-color:rgba(255,255,255,.28); } }

/* people who ask for less motion get none */
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto !important; } *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
.ft--top .ft-grid { grid-template-columns:minmax(0,2.7fr) minmax(0,1fr); gap:30px 0; } .ft--top .ft-grid > * { padding:0; border:0; } .ft--top .ft-brand { grid-column:1 / -1; flex-direction:row; flex-wrap:wrap; align-items:center; gap:18px 36px; padding-bottom:30px; border-bottom:1px solid rgba(255,255,255,.2); } .ft--top .ft-brand .tag { flex:1 1 280px; max-width:48ch; } .ft--top .ft-cta { margin:0 0 0 auto !important; } .ft--top .ft-clinics { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); padding-right:44px; } .ft--top .ft-links { grid-template-columns:1fr; padding-left:36px; border-left:1px solid rgba(255,255,255,.2); }
.ft--flip .ft-clinics { order:1; } .ft--flip .ft-links { order:2; } .ft--flip .ft-brand { order:3; align-items:flex-end; text-align:right; } .ft--flip .ft-grid { grid-template-columns:minmax(0,1.5fr) minmax(0,1.25fr) minmax(0,1.05fr); } .ft--flip .ft-grid > * { border:0; padding:0 40px; } .ft--flip .ft-clinics { padding-left:0; } .ft--flip .ft-brand { padding-right:0; } .ft--flip .ft-links,.ft--flip .ft-brand { border-left:1px solid rgba(255,255,255,.18); } .ft--flip .soc { justify-content:flex-end; }
@media (max-width:980px) { .ft--top .ft-grid { grid-template-columns:1fr; } .ft--top .ft-clinics { padding-right:0; } .ft--top .ft-links { grid-template-columns:1fr 1fr; padding:26px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.2); } .ft--top .ft-cta { margin-left:0 !important; } .ft--flip .ft-brand { align-items:flex-start; text-align:left; order:0; } .ft--flip .ft-clinics { order:1; } .ft--flip .ft-links { order:2; } .ft--flip .soc { justify-content:flex-start; } .ft--flip .ft-grid > * { padding:0 28px 0 0; border:0; } .ft--flip .ft-links,.ft--flip .ft-brand { border:0; } .ft--flip .ft-brand { padding:0; } }
.ft-badges { grid-column:1 / -1; display:flex; gap:14px; margin:6px 0 0; } .ft-badges img { display:block; height:66px; width:auto; }

/* news and blog cards and articles */
.post-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:24px; }
.post-card { display:flex; flex-direction:column; gap:8px; background:#fff; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; text-decoration:none; color:var(--ink); padding:0 0 18px; }
.post-card img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; }
.post-card time,.post-card h2,.post-card h3,.post-card p,.post-card span { margin:0 18px; }
.post-card:first-child > :first-child:not(img) { margin-top:18px; }
.post-card time { font-size:14px; color:#4b5563; margin-top:8px; }
.post-card h2,.post-card h3 { font-size:21px; line-height:1.25; }
.post-card span { font-weight:700; color:var(--brand); text-decoration:underline; margin-top:auto; }
.post-card:hover h2,.post-card:hover h3 { color:var(--brand); }
.post-article { max-width:46em; } .post-feature { margin:0 0 24px; } .post-feature img { width:100%; border-radius:var(--r); display:block; } .postmeta { color:#4b5563; margin:0 0 12px; }
.proof .pbadge { flex:none; display:block; } .proof .pbadge img { height:84px; width:auto; display:block; margin:0; } .proof li:has(.pbadge) > a,.proof li:has(.pbadge) > .pt { display:flex; align-items:center; gap:18px; } .proof .ptxt { display:flex; flex-direction:column; } .proof .ptxt b { display:block; } .proof .ptxt span { display:block; }

.card--img { padding-top:0; overflow:hidden; } .card-img { margin:0 -24px 16px; } .card-img img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; }
/* top-split footer with one clinic: the clinic and the two link lists share the width, no empty middle */
.ft--top .ft-grid:has(.ft-clinics > :only-child) { grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
.ft--top .ft-grid:has(.ft-clinics > :only-child) .ft-links { grid-template-columns:1fr 1fr; padding-left:56px; }
@media (max-width:980px) { .ft--top .ft-grid:has(.ft-clinics > :only-child) { grid-template-columns:1fr; } .ft--top .ft-grid:has(.ft-clinics > :only-child) .ft-links { padding-left:0; } }
/* the page never scrolls sideways: long web addresses wrap, and a scrolling box holds its own hidden text */
.prose a, .post a { overflow-wrap:anywhere; }
[role="region"][tabindex] { position:relative; }

/* ---- pictures from the old pages (engine/Photos.php): always inside a text section ---- */
.pfloat, .pfull, .pbanner, .photorow figure, .pmosaic figure { margin:0; } .pfloat img, .pfull img, .pbanner img, .photorow img, .pmosaic img { width:100%; border-radius:var(--r); display:block; }
/* one picture beside the words: its own column, with room around it; below the title on a phone */
.prose--pic { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,440px); column-gap:72px; align-items:start; max-width:none; }
.prose--pic > *:not(.pfloat) { grid-column:1; } .prose--pic > .pfloat { grid-column:2; grid-row:1 / span 12; margin:6px 0 0; }
.prose--pic-left { grid-template-columns:minmax(0,440px) minmax(0,1fr); } .prose--pic-left > .pfloat { grid-column:1; } .prose--pic-left > *:not(.pfloat) { grid-column:2; }
.prose--pic-sticky > .pfloat { position:sticky; top:96px; align-self:start; } .prose--pic-sticky > .pfloat img { aspect-ratio:4/5; object-fit:cover; }
@media (max-width:900px) { .prose--pic, .prose--pic-left { display:block; } .prose--pic > .pfloat { margin:0 0 22px; position:static; } }
/* under a title: a wide banner, or a medium picture */
.pbanner { margin:10px 0 28px; } .pbanner img { aspect-ratio:21/9; object-fit:cover; } .pfull { margin:6px 0 28px; max-width:620px; }
/* two or more */
.photorow { display:grid; gap:20px; margin-top:40px; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); align-items:start; } .photorow img { aspect-ratio:4/3; object-fit:cover; }
.photorow--2 { grid-template-columns:repeat(2,minmax(0,1fr)); } .photorow--3 img, .photorow--4 img { aspect-ratio:1/1; } @media (max-width:640px) { .photorow--2 { grid-template-columns:1fr; } }
.photorow--fit { display:flex; align-items:stretch; } .photorow--fit figure { min-width:0; } .photorow--fit img { height:100%; aspect-ratio:auto; object-fit:cover; }
@media (max-width:760px) { .photorow--fit { flex-direction:column; } .photorow--fit figure { flex:none !important; } .photorow--fit img { height:auto; } }
.pmosaic { display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:20px; height:440px; margin-top:40px; } .pmosaic figure { min-height:0; } .pmosaic img { height:100%; object-fit:cover; } .pmosaic figure:first-child { grid-row:1 / span 2; }
@media (max-width:760px) { .pmosaic { display:block; height:auto; } .pmosaic figure + figure { margin-top:16px; } .pmosaic img { height:auto; aspect-ratio:4/3; } }

/* rates and fees (block type "prices"): the amount is the first thing you see */
.prices { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px; margin-top:26px; } .price { background:#fff; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:var(--r); padding:22px 24px 24px; }
.price .amt { margin:0 0 6px; font-size:46px; line-height:1; font-weight:800; letter-spacing:-.02em; color:var(--brand); } .price h3 { margin:0; font-size:17px; font-weight:600; line-height:1.3; } .price .pnote { margin:10px 0 0; font-size:15px; color:var(--muted,#4b5563); }

/* Comprehensive Physical Therapy: the look of the page-builder site it replaces (Bootstrap 5.3 with a navy and amber theme, Inter headings, Open Sans text), drawn from src/Replica.php. */
:root { --bs-primary:#1E2D4A; --bs-secondary:#9e611d; --bs-light:#f8f9fa; --bs-dark:#212529; --bs-body:#f0f4f8; --body:'Open Sans',sans-serif; --disp:'Inter',sans-serif; --disp-w:500; --body-px:16px; --r:6px; }
body { font-family:'Open Sans',sans-serif; font-size:16px; line-height:1.5; color:#2d3748; background:#f0f4f8; }
.pk-sec, .pk-top, .pk-foot, .pk-cta { font-family:'Open Sans',sans-serif; font-size:16px; line-height:1.5; color:#2d3748; }
.pk-container { width:100%; max-width:540px; margin:0 auto; padding:0 12px; box-sizing:border-box; }
@media (min-width:576px) { .pk-container { max-width:540px; } } @media (min-width:768px) { .pk-container { max-width:720px; } } @media (min-width:992px) { .pk-container { max-width:960px; } } @media (min-width:1200px) { .pk-container { max-width:1140px; } } @media (min-width:1400px) { .pk-container { max-width:1320px; } }
@media (max-width:575px) { .pk-container { max-width:none; } }
.pk-sec h1, .pk-sec h2, .pk-sec h3, .pk-sec h4, .pk-sec h5, .pk-sec h6, .pk-foot h2, .pk-foot h3, .pk-top h2 { font-family:'Inter',sans-serif; font-weight:500; line-height:1.2; letter-spacing:0; text-transform:none; text-wrap:wrap; margin:0 0 .5rem; color:inherit; }
.pk-sec h1 { font-size:calc(1.375rem + 1.5vw); } .pk-sec h2 { font-size:calc(1.325rem + .9vw); } .pk-sec h3 { font-size:calc(1.3rem + .6vw); } .pk-sec h4 { font-size:calc(1.275rem + .3vw); } .pk-sec h5 { font-size:1.25rem; } .pk-sec h6 { font-size:1rem; }
@media (min-width:1200px) { .pk-sec h1 { font-size:2.5rem; } .pk-sec h2 { font-size:2rem; } .pk-sec h3 { font-size:1.75rem; } .pk-sec h4 { font-size:1.5rem; } }
.pk-sec .display-4, .pk-foot .display-4 { font-size:calc(1.475rem + 2.7vw); font-weight:300; line-height:1.2; } .pk-sec .display-6, .pk-foot .display-6 { font-size:calc(1.375rem + 1.5vw); font-weight:300; line-height:1.2; }
@media (min-width:1200px) { .pk-sec .display-4, .pk-foot .display-4 { font-size:3.5rem; } .pk-sec .display-6, .pk-foot .display-6 { font-size:2.5rem; } }
.pk-sec p, .pk-foot p { margin:0 0 1rem; max-width:none; } .pk-sec ul, .pk-sec ol { margin:0 0 1rem; padding-left:2rem; } .pk-sec li { margin:0; }
.pk-sec a { color:#1E2D4A; text-decoration:underline; } .pk-sec a:hover { color:#18243b; }
.pk-sec strong, .pk-sec b { font-weight:bolder; } .pk-sec small { font-size:.875em; } .pk-sec .small { font-size:.875em; }
.pk-sec table, .pk-foot table { border-collapse:collapse; }
/* section backgrounds: "none" shows the page's own pale blue-grey */
.pk-bg-none { background:transparent; } .pk-bg-white { background:#fff; } .pk-bg-light { background:#f8f9fa; } .pk-bg-primary { background:#1E2D4A; } .pk-bg-secondary { background:#9e611d; } .pk-bg-custom { background:transparent; }
.pk-hero { position:relative; overflow:hidden; display:flex; align-items:center; } .pk-hero > .pk-container { position:relative; z-index:2; }
.pk-veil { position:absolute; inset:0; background:#1E2D4A; opacity:.5; z-index:1; }
.pk-vc { display:flex; align-items:center; } .pk-vc > .pk-container { align-self:center; }
.pk-sec > .pk-container, .pk-foot .pk-sec > .pk-container { box-sizing:border-box; }
/* grids: items wrap and the last row is centred, as the page builder's own grid does */
.pk-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:var(--gap,1rem); }
.pk-cell { flex:0 1 100%; min-width:0; display:flex; flex-direction:column; }
.pk-cell > .pk-grid, .pk-cell > .pk-card, .pk-cell > .pk-sec { flex:1 1 auto; }
.pk-ai-center { align-items:center; } .pk-ai-start { align-items:flex-start; } .pk-ai-end { align-items:flex-end; } .pk-ai-stretch { align-items:stretch; }
.pk-bp-xs > .pk-cell { flex-basis:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); }
@media (min-width:576px) { .pk-bp-sm > .pk-cell { flex-basis:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); } }
@media (min-width:768px) { .pk-bp-md > .pk-cell { flex-basis:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); } }
@media (min-width:992px) { .pk-bp-lg > .pk-cell { flex-basis:calc((100% - (var(--cols) - 1) * var(--gap)) / var(--cols)); } }
.pk-cell > .pk-sec { display:block; }
/* buttons */
.pk-btns { display:flex; flex-wrap:wrap; gap:.5rem; justify-content:flex-start; } .pk-btns.pk-al-center { justify-content:center; } .pk-btns.pk-al-end { justify-content:flex-end; } .pk-btns.pk-al-stretch { display:grid; }
.pk-btn, .ws .btn { display:inline-block; font:400 1rem/1.5 'Open Sans',sans-serif; padding:.375rem .75rem; border:1px solid transparent; border-radius:.375rem; text-decoration:none !important; text-align:center; cursor:pointer; letter-spacing:normal; text-transform:none; transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out; box-sizing:border-box; }
.pk-btn--lg { padding:.5rem 1rem; font-size:1.25rem; border-radius:.5rem; } .pk-btn--sm { padding:.25rem .5rem; font-size:.875rem; border-radius:.25rem; }
.pk-sec a.pk-btn--primary, .pk-btn--primary, .ws .btn { background:#1E2D4A; border-color:#1E2D4A; color:#fff; } .pk-btn--primary:hover, .ws .btn:hover { background:#1a263f; border-color:#18243b; color:#fff; }
.pk-sec a.pk-btn--secondary, .pk-btn--secondary { background:#9e611d; border-color:#9e611d; color:#fff; } .pk-sec a.pk-btn--secondary:hover, .pk-btn--secondary:hover { background:#86521a; border-color:#7c4b17; color:#fff; }
.pk-sec a.pk-btn--outline-primary, .pk-btn--outline-primary { border-color:#1E2D4A; color:#1E2D4A; background:transparent; } .pk-sec a.pk-btn--outline-primary:hover, .pk-btn--outline-primary:hover { background:#1E2D4A; color:#fff; }
.pk-sec a.pk-btn--outline-light, .pk-btn--outline-light { border-color:#f8f9fa; color:#f8f9fa; background:transparent; } .pk-sec a.pk-btn--outline-light:hover, .pk-btn--outline-light:hover { background:#f8f9fa; color:#000; }
.pk-sec a.pk-btn--light, .pk-btn--light { background:#f8f9fa; border-color:#f8f9fa; color:#000; } .pk-sec a.pk-btn--light:hover, .pk-btn--light:hover { background:#d3d4d5; border-color:#c6c7c8; color:#000; }
.pk-btn:focus-visible { outline:3px solid #9e611d; outline-offset:2px; }
.pk-foot a.pk-btn, .pk-cta a.pk-btn { text-decoration:none; }
/* cards, pictures, icons */
.pk-card { display:flex; flex-direction:column; background:#fff; border:1px solid rgba(0,0,0,.175); border-radius:.375rem; min-width:0; }
.pk-card-img { overflow:hidden; border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0; } .pk-card-img .pk-img { display:block; } .pk-card-img img { display:block; }
.pk-card-body { display:flex; flex-direction:column; flex:1 1 auto; padding:1rem; } .pk-card-text { flex:1 1 auto; display:flex; flex-direction:column; } .pk-card-btn { margin-top:auto; padding-top:1rem; }
.pk-card-text > .pk-map { flex:1; }
.pk-img, .pk-icon { display:flex; } .pk-al-center { justify-content:center; } .pk-al-end { justify-content:flex-end; } .pk-al-start { justify-content:flex-start; }
.pk-im { object-fit:cover; vertical-align:middle; } .pk-fluid { max-width:100%; }
.pk-rounded { border-radius:.375rem; } .pk-circle { border-radius:50%; } .pk-thumb { padding:.25rem; background:#f0f4f8; border:1px solid #dee2e6; border-radius:.375rem; max-width:100%; }
.pk-thumb.pk-circle { border-radius:50%; }
.pk-icon svg { display:block; } .pk-icon > span { line-height:1; }
.pk-ring { display:inline-flex; padding:.6rem; border-radius:50%; }
/* accordion */
.pk-acc { display:block; } .pk-acc details { border:1px solid #dee2e6; background:#fff; } .pk-acc details + details { border-top:0; }
.pk-acc details:first-child { border-radius:.375rem .375rem 0 0; overflow:hidden; } .pk-acc details:last-child { border-radius:0 0 .375rem .375rem; overflow:hidden; } .pk-acc details:only-child { border-radius:.375rem; }
.pk-acc summary { cursor:pointer; padding:1rem 1.25rem; font:400 1rem/1.5 'Inter',sans-serif; list-style:none; position:relative; background:#fff; color:#2d3748; } .pk-acc summary::-webkit-details-marker { display:none; }
.pk-acc summary::after { content:''; position:absolute; right:1.25rem; top:50%; width:.7rem; height:.7rem; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:translateY(-70%) rotate(45deg); transition:transform .2s ease-in-out; opacity:.7; } .pk-acc details[open] > summary::after { transform:translateY(-30%) rotate(-135deg); }
.pk-acc details[open] > summary { color:#0c121e; background:#d2d5db; box-shadow:inset 0 -1px 0 #dee2e6; } .pk-acc-body { padding:1rem 1.25rem; }
.pk-acc summary:focus-visible { outline:3px solid #9e611d; outline-offset:-3px; }
/* slide show */
.pk-car { position:relative; } .pk-car-item { display:block; } .pk-car.is-js .pk-car-item { display:none; } .pk-car.is-js .pk-car-item.is-on { display:block; }
.pk-car-prev, .pk-car-next { position:absolute; top:0; bottom:0; width:15%; background:none; border:0; cursor:pointer; opacity:.5; padding:0; display:flex; align-items:center; justify-content:center; z-index:3; } .pk-car-prev { left:0; } .pk-car-next { right:0; } .pk-car-prev:hover, .pk-car-next:hover, .pk-car-prev:focus-visible, .pk-car-next:focus-visible { opacity:.9; }
.pk-car-prev span, .pk-car-next span { display:block; width:2rem; height:2rem; background:no-repeat 50%/100% 100%; background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e"); } .pk-car-next span { transform:scaleX(-1); }
.pk-car--dark .pk-car-prev span, .pk-car--dark .pk-car-next span { filter:invert(1) grayscale(100); }
.pk-car-dots { display:flex; justify-content:center; gap:.5rem; padding:.5rem 0 0; } .pk-car-dots button { width:30px; height:3px; border:0; background:#fff; opacity:.5; cursor:pointer; padding:0; } .pk-car-dots button[aria-current="true"] { opacity:1; }
.pk-car--dark .pk-car-dots button { background:#000; }
/* top bar and header */
.pk-top .pk-sec { padding-left:0; padding-right:0; } .pk-top .pk-grid { align-items:center; }
.pk-top .pk-btn--sm { padding:.25rem .5rem; font-size:.875rem; }
.pk-soc { display:flex; gap:1rem; align-items:center; } .pk-soc.pk-al-center { justify-content:center; } .pk-soc.pk-al-end { justify-content:flex-end; } .pk-soc a { display:inline-flex; line-height:1; text-decoration:none; } .pk-soc svg { display:block; width:1em; height:1em; }
.pk-hd { background:#fff; border-bottom:0; position:relative; z-index:40; } .pk-hd .hd-in { padding:.5rem 12px; gap:1rem; display:flex; align-items:center; flex-wrap:nowrap; }
.pk-hd .logo { padding:0; margin-right:1rem; display:block; flex:none; } .pk-hd .pk-logo { height:110px; width:auto; display:block; object-fit:cover; }
.pk-hd .nav { flex:1; } .pk-hd .nav > ul { justify-content:flex-start; gap:0; } .pk-hd .nav .top { font-family:'Open Sans',sans-serif; font-weight:400; font-size:1rem; padding:.5rem; color:rgba(0,0,0,.65); text-decoration:none; } .pk-hd .nav .top:hover { color:rgba(0,0,0,.8); } .pk-hd .nav .top.active { color:rgba(0,0,0,.9); }
.pk-hd .has-menu > .top::after { content:''; display:inline-block; margin-left:.255em; vertical-align:.255em; border-top:.3em solid; border-right:.3em solid transparent; border-bottom:0; border-left:.3em solid transparent; }
.pk-hd .menu { font-family:'Open Sans',sans-serif; background:#fff; border:1px solid rgba(0,0,0,.176); border-radius:.375rem; padding:.5rem 0; min-width:160px; width:max-content; max-width:min(420px,92vw); box-shadow:none; top:100%; }
.pk-hd .menu ul { list-style:none; margin:0; padding:0; } .pk-hd .menu li a { display:block; padding:.25rem 1rem; font-size:1rem; line-height:1.5; color:#2d3748; text-decoration:none; white-space:nowrap; } .pk-hd .menu li a:hover { background:#e9ecef; color:#1e2125; text-decoration:none; }
.pk-hd .menu li.div { height:0; margin:.5rem 0; border-top:1px solid rgba(0,0,0,.175); }
.pk-hd .burger i { background:rgba(0,0,0,.65); }
@media (max-width:991px) {
  .pk-hd .hd-in { flex-wrap:wrap; } .pk-hd .burger { display:block; border:1px solid rgba(0,0,0,.15); border-radius:.375rem; width:auto; height:auto; padding:.25rem .75rem; margin-left:0; } .pk-hd .burger i { width:1.5em; margin:.3rem 0; height:2px; }
  .pk-hd .nav { display:none; position:static; flex:0 0 100%; background:#fff; padding:.5rem 0; max-height:none; } .pk-hd .nav.open { display:block; }
  .pk-hd .nav > ul { flex-direction:column; align-items:stretch; } .pk-hd .has-menu, .pk-hd .nav > ul > li:not(.has-menu) { border-bottom:0; flex-wrap:wrap; } .pk-hd .nav .top, .pk-hd .nav .top:hover { color:rgba(0,0,0,.65); flex:1; }
  .pk-hd .tg { position:absolute; right:0; top:0; height:100%; } .pk-hd .tg::after { color:rgba(0,0,0,.65); }
  .pk-hd .has-menu:hover > .menu { display:none; } .pk-hd .has-menu.open > .menu { display:block; }
  .pk-hd .menu, .pk-hd .menu.wide { position:static; flex:0 0 100%; width:100%; max-width:100%; border:0; padding:0 0 .5rem 1rem; } .pk-hd .menu li a { white-space:normal; }
  .pk-hd .logo { margin-right:0; } .pk-hd .hd-in { justify-content:space-between; }
}
/* footer */
.pk-foot { background:#1E2D4A; color:#f8f9fa; } .pk-foot .pk-sec { color:#f8f9fa; } .pk-foot a { color:#f8f9fa; } .pk-foot p { margin:0 0 1rem; }
.pk-foot .pk-bg-none { background:transparent; } .pk-foot .pk-bg-custom { background:transparent; }
.pk-foot .pk-grid { align-items:flex-start; } .pk-foot .pk-btns.pk-al-stretch .pk-btn { text-align:center; }
.pk-ql { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; } .pk-ql li { margin:0; } .pk-ql a { text-decoration:none !important; align-self:flex-start; } .pk-ql a:hover { text-decoration:underline !important; }
.pk-foot .pk-copy { margin:0; font-size:1rem; } .pk-foot .pk-img { margin-bottom:0; }
.pk-foot .pk-soc a { text-decoration:none; }
.pk-cta { background:#1E2D4A; } .pk-cta .pk-sec { color:#f8f9fa; } .pk-cta a.pk-btn { text-decoration:none; } .pk-cta .pk-grid { align-items:center; }
/* clinics */
.pk-small { font-size:.875em; } .pk-ci { display:flex; gap:.5rem; align-items:flex-start; margin:0 0 .5rem; } .pk-ci .pk-ico { flex:none; display:inline-flex; line-height:1; padding-top:.2em; } .pk-ci .pk-ico svg { width:1em; height:1em; } .pk-ci a { color:inherit; }
.pk-loccards { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; } .pk-loccard { flex:0 1 calc((100% - 3rem) / 3); min-width:min(100%,300px); } .pk-loccard iframe { border:0; display:block; width:100%; height:180px; border-radius:calc(.375rem - 1px) calc(.375rem - 1px) 0 0; }
.pk-loccard .pk-card-body { gap:1rem; } .pk-sec .pk-loccard h2.pk-ct { font-size:1.25rem; font-weight:500; color:#1E2D4A; margin:0; } .pk-loccard .pk-small { margin:0; } .pk-loccard .pk-hrs { margin-top:auto; } .pk-loccard .pk-ci:last-child { margin-bottom:0; }
.pk-sec .pk-loccard a:not(.pk-btn) { color:#1E2D4A; }
.hrs-t { width:100%; margin:0; font-size:.875em; } .hrs-t th, .hrs-t td { padding:.1rem 0; border:0; background:none; text-align:left; font-weight:400; vertical-align:top; } .hrs-t th { padding-right:1rem; color:#6c757d; } .hrs-t td { text-align:right; }
.pk-foot .hrs-t th { color:rgba(248,249,250,.68); text-align:right; width:40%; } .pk-foot .hrs-t td { text-align:left; color:#f8f9fa; }
.pk-facc { display:flex; flex-direction:column; gap:.5rem; } .pk-facc details { border:0; } .pk-facc summary { cursor:pointer; list-style:none; position:relative; padding:0 1.75rem 0 0; font:400 1rem/1.5 'Open Sans',sans-serif; color:#f8f9fa; } .pk-facc summary::-webkit-details-marker { display:none; }
.pk-facc summary::after { content:''; position:absolute; right:.25rem; top:.45rem; width:.6rem; height:.6rem; border-right:1.5px solid rgba(248,249,250,.6); border-bottom:1.5px solid rgba(248,249,250,.6); transform:rotate(45deg); transition:transform .2s; } .pk-facc details[open] > summary::after { transform:translateY(.2rem) rotate(-135deg); }
.pk-facc summary:focus-visible { outline:2px solid #9e611d; outline-offset:3px; }
.pk-facc-body { display:flex; gap:1.5rem; padding:.5rem 0 .5rem; align-items:flex-start; } .pk-facc-a { flex:1 1 auto; } .pk-facc-h { flex:0 0 auto; min-width:11rem; } .pk-foot .pk-ci .pk-ico { opacity:.5; } .pk-foot .pk-facc a { text-decoration:none; }
/* map, workshops, embeds, form */
.pk-map iframe { width:100%; border:0; display:block; }
.pk-card > .pk-card-body > .pk-card-text > .pk-map iframe { border-radius:.25rem; }
.html-embed iframe { display:flex !important; }
.ws-list { display:flex; flex-wrap:wrap; gap:1.5rem; justify-content:center; } .ws { flex:0 1 calc((100% - 3rem) / 3); min-width:min(100%,280px); display:flex; flex-direction:column; justify-content:space-between; gap:1rem; background:#fff; border:1px solid rgba(0,0,0,.175); border-radius:.375rem; padding:1rem; box-sizing:border-box; }
.pk-sec .ws h2 { font-size:1.25rem; font-weight:500; color:#1E2D4A; margin:0 0 .5rem; } .ws p { margin:0 0 .5rem; font-size:.875em; } .ws .btn { align-self:flex-start; }
.ws-empty { text-align:center; }
.pk-sec .sr, .sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.pk-form { width:100%; } .cform .ff { position:relative; margin-bottom:1rem; } .cform .ff input, .cform .ff select { width:100%; box-sizing:border-box; height:calc(3.5rem + 2px); padding:1.625rem .75rem .625rem; border:1px solid #ced4da; border-radius:.375rem; font:400 1rem/1.25 'Open Sans',sans-serif; background:#fff; color:#2d3748; }
.cform .ff select { appearance:none; background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") no-repeat right .75rem center/16px 12px; }
.cform .ff label { position:absolute; top:0; left:0; padding:1rem .75rem; font-size:1rem; opacity:.8; transform-origin:0 0; pointer-events:none; transition:opacity .1s,transform .1s; }
.cform .ff input:focus ~ label, .cform .ff input:not(:placeholder-shown) ~ label, .cform .ff select ~ label { opacity:.8; transform:scale(.85) translateY(-.5rem) translateX(.15rem); }
.cform .ff input::placeholder { color:transparent; } .cform .ff input:focus, .cform .ff select:focus { outline:0; border-color:#8f96a5; box-shadow:0 0 0 .25rem rgba(30,45,74,.25); }
.cform .appt-consent { display:flex; gap:.5rem; align-items:flex-start; font-weight:400; font-size:.875rem; margin:0 0 1rem; color:#6c757d; } .cform .appt-consent input { margin-top:.3rem; flex:none; } .cform .appt-errors { color:#842029; background:#f8d7da; border-radius:.375rem; padding:.5rem .75rem; margin-bottom:1rem; } .cf-ok { text-align:center; }
.cform .pk-btns .pk-btn { width:100%; }
/* pages */
.pk-sec .pk-rt h1 { margin-top:0; }
@media (max-width:575px) { .pk-hd .hd-in { padding-left:12px; padding-right:12px; } }
.pk-hd .nav .top { white-space:nowrap; } .pk-hd .nav > ul > li { display:flex; align-items:center; } .pk-ql, .pk-foot ul.pk-ql { padding:0 !important; margin:0 !important; }
.pk-hd .logo { padding:.3125rem 0; }
.pk-icon > span:not(.pk-ring) { display:inline-flex; align-items:center; justify-content:center; height:1.5em; }
.pk-car-dots { position:absolute; bottom:0; left:0; right:0; margin-bottom:1rem; padding:0; z-index:3; }
.pk-acc summary { line-height:1.25; } .pk-small .hrs-t { font-size:1em; } .pk-foot .pk-copy { font-size:.875em; }
.pk-btns.pk-al-stretch { grid-template-columns:minmax(0,1fr); }
.cform .appt-consent span { font-size:.875rem !important; color:#5c636a; } .cform .appt-consent { font-size:.875rem !important; }
.pk-loccard .pk-ci { margin-bottom:.25rem; } .pk-loccard .pk-hrs .pk-ci { margin-bottom:.25rem; }
.pk-soc a { line-height:1.5; align-items:center; }
.pk-facc-a { min-width:0; overflow-wrap:anywhere; } .pk-facc-h { min-width:0; } .pk-facc-body { gap:1.5rem; }
@media (max-width:980px) { body { padding-bottom:0; } }
.hrs-t td { white-space:nowrap; }
.pk-hd .hd-in { gap:0; }
@media (max-width:991px) { .pk-hd .nav .top { padding-left:0; padding-right:0; } .pk-hd .tg { width:44px; } .pk-hd .menu { padding-left:.5rem; } }

/* keyboard focus on the slide show's arrows and dots */
.pk-car-prev:focus-visible, .pk-car-next:focus-visible, .pk-car-dots button:focus-visible { outline:3px solid #fff; outline-offset:-3px; box-shadow:0 0 0 6px #1E2D4A; opacity:1; } .pk-car--dark .pk-car-prev:focus-visible, .pk-car--dark .pk-car-next:focus-visible, .pk-car--dark .pk-car-dots button:focus-visible { outline-color:#1E2D4A; box-shadow:0 0 0 6px #fff; }
.pk-car-dots button:focus-visible { outline-offset:3px; }

/* footer: each clinic listed in full under its name (no accordion) */
.pk-facc--open { gap:1.25rem; } .pk-floc-h { margin:0 0 .25rem; font:700 1rem/1.5 'Open Sans',sans-serif; color:#f8f9fa; }

/* top bar: the buttons column takes the room it needs, so the longer "Current Patient Portal" label keeps the three buttons on one row on a tablet */
@media (min-width:1100px) { .pk-top .pk-bp-md > .pk-cell:first-child { flex:0 0 auto; } .pk-top .pk-bp-md > .pk-cell:last-child { flex:1 1 0; min-width:0; } .pk-top .pk-btns { flex-wrap:nowrap; justify-content:flex-end; } .pk-top .pk-btn { white-space:nowrap; } }

/* header: the menu is pushed to the right, and below the widest layout the round mark (the footer logo) replaces the full logo so the menu has room */
@media (min-width:992px) { .pk-hd .nav > ul { justify-content:flex-end; } }
.pk-hd .pk-logo-mark { display:none; width:72px; height:72px; object-fit:contain; }
@media (max-width:1399px) { .pk-hd .pk-logo { display:none; } .pk-hd .pk-logo-mark { display:block; } .pk-hd .logo { margin-right:1rem; } }
@media (max-width:991px) { .pk-hd .pk-logo-mark { width:60px; height:60px; } }

/* Page heroes (the navy band with the page's h1): one size and one rhythm everywhere.
   6rem above and below, the heading, a 1.5rem line directly under it (the subheader), 1rem body text after that, and 3rem before the buttons. */
.pk-sec.pk-bg-primary:has(h1) { padding-top:6rem !important; padding-bottom:6rem !important; }
.pk-sec.pk-bg-primary:has(h1) h1 { line-height:1.2 !important; margin:0 0 .5rem !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt p { font-size:1rem !important; line-height:1.5 !important; font-weight:400 !important; margin:0 0 .5rem !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt p:last-child { margin-bottom:0 !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt h1 + p, .pk-sec.pk-bg-primary:has(h1) .pk-rt h1 + h4, .pk-sec.pk-bg-primary:has(h1) .pk-rt h4 { font-family:'Inter',sans-serif !important; font-size:1.5rem !important; line-height:1.3 !important; font-weight:400 !important; margin:0 0 .75rem !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt:has(h1) { margin-bottom:0 !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt:has(h1) + .pk-btns { margin-top:3rem !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt :is(p, h4) span { font-size:inherit !important; }

/* pictures at the top of a card fill the card's width */
.pk-card-img .pk-img img:not(.pk-circle) { width:100% !important; height:auto !important; }

/* a coloured panel inside a page (the "Care Plan" box and the like) is a rounded panel with room around its text */
.pk-container .pk-sec.pk-bg-secondary, .pk-container .pk-sec.pk-bg-primary { border-radius:.5rem; padding:2.5rem 0 !important; }
.pk-container .pk-sec.pk-bg-secondary > .pk-container, .pk-container .pk-sec.pk-bg-primary > .pk-container { max-width:none; padding:0 2rem; }
.pk-container .pk-sec.pk-bg-secondary .pk-rt > h3:first-child, .pk-container .pk-sec.pk-bg-primary .pk-rt > h3:first-child { margin-top:0 !important; }
.pk-container .pk-sec.pk-bg-secondary .pk-rt > h3, .pk-container .pk-sec.pk-bg-primary .pk-rt > h3 { margin-bottom:.75rem; }
.pk-container .pk-sec.pk-bg-secondary .pk-rt ul, .pk-container .pk-sec.pk-bg-primary .pk-rt ul { padding-left:1.5rem; }
.pk-container .pk-sec.pk-bg-secondary .pk-rt li, .pk-container .pk-sec.pk-bg-primary .pk-rt li { margin-bottom:.35rem; }

/* "Your Next Steps": numbered steps with amber counters */
.pk-card:has(.pk-rt > ol) > .pk-card-body { justify-content:center; padding:2rem; }
.pk-card .pk-rt:has(> ol) > h2 { font-size:1.75rem !important; font-weight:500 !important; margin:0 0 1.25rem !important; }
.pk-card .pk-rt > ol { list-style:none; counter-reset:st; padding:0 !important; margin:0 !important; }
.pk-card .pk-rt > ol > li { counter-increment:st; display:flex; gap:.85rem; align-items:center; font-size:1.125rem !important; font-weight:600 !important; line-height:1.35; margin:0 0 1rem !important; }
.pk-card .pk-rt > ol > li:last-child { margin-bottom:0 !important; }
.pk-card .pk-rt > ol > li::before { content:counter(st); flex:none; width:2.25rem; height:2.25rem; border-radius:50%; background:#9e611d; color:#fff; display:inline-flex; align-items:center; justify-content:center; font:600 1rem/1 'Inter',sans-serif; }
.pk-card .pk-rt > ol > li span, .pk-card .pk-rt > ol > li strong { font-size:inherit !important; font-weight:inherit !important; }

/* workshop cards: date badge, the details with small icons, and a full-width Register button */
.ws { align-items:stretch; padding:1.5rem; gap:1.25rem; justify-content:flex-start; border-top:4px solid #9e611d; box-shadow:0 1px 3px rgba(30,45,74,.08); }
.ws-top { display:flex; gap:1rem; align-items:center; }
.ws-date { flex:none; width:3.75rem; border-radius:.5rem; background:#1E2D4A; color:#fff; text-align:center; overflow:hidden; display:flex; flex-direction:column; }
.ws-mon { background:#9e611d; font:600 .75rem/1.7 'Inter',sans-serif; text-transform:uppercase; letter-spacing:.08em; }
.ws-day { font:600 1.5rem/1.7 'Inter',sans-serif; }
.pk-sec .ws h2 { margin:0; font-size:1.375rem; line-height:1.2; }
.pk-sec .ws .ws-meta { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.5rem; }
.ws .ws-meta li { display:flex; gap:.6rem; align-items:flex-start; font-size:.95rem; margin:0; }
.ws .ws-meta svg { flex:none; width:1em; height:1em; margin-top:.3em; fill:#9e611d; }
.ws > p { margin:0; font-size:.875rem; color:#4a5568; }
.ws .btn { margin-top:auto; align-self:stretch; width:100%; }
.pk-container .pk-sec.pk-bg-secondary, .pk-container .pk-sec.pk-bg-primary { display:flex; flex-direction:column; justify-content:center; }

/* hero text: the body lines keep their centring (no narrower box pushed to one side) and nothing under the heading is bold */
.pk-sec.pk-bg-primary:has(h1) .pk-rt h1 ~ :is(p, h4) { max-width:60rem !important; margin-left:auto !important; margin-right:auto !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt :is(p, h4) :is(strong, b, em, span, a) { font-weight:inherit !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt :is(p, h4) { font-weight:400 !important; }
.pk-sec.pk-bg-primary:has(h1) .pk-rt h1 + p :is(strong, b, span), .pk-sec.pk-bg-primary:has(h1) .pk-rt h4 :is(strong, b, span) { font-size:inherit !important; }
/* icons that took the text colour of the page sit on coloured panels: they are light there, like their neighbours */
.pk-bg-secondary .pk-icon > span[style*="color:inherit"], .pk-bg-primary .pk-icon > span[style*="color:inherit"] { color:#f8f9fa !important; }

/* footer links stay light on hover (the page-wide link hover colour is dark navy, which vanished on the navy footer) */
.pk-foot a:hover, .pk-foot .pk-sec a:hover, .pk-cta a:not(.pk-btn):hover { color:#f8f9fa; }

/* closing bar: the copyright line and the Privacy / Terms links share one text size and line height, so they sit on the same line */
.pk-foot .pk-copy, .pk-foot .pk-grid:has(.pk-copy) .pk-rt p { font-size:.875rem !important; line-height:1.5rem !important; }
.pk-foot .pk-grid:has(.pk-copy) .pk-rt p small { font-size:inherit; line-height:inherit; }

/* patient reviews: cards, not a slide show */
.pk-revs { display:grid; gap:1.5rem; margin:2rem 0 0; }
.pk-revs--row { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
.pk-revs--wall { display:block; column-count:3; column-gap:1.5rem; }
.pk-revs--wall .pk-rev { break-inside:avoid; margin:0 0 1.5rem; }
@media (max-width:991px) { .pk-revs--wall { column-count:2; } .pk-revs--row { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:640px) { .pk-revs--wall { column-count:1; } .pk-revs--row { grid-template-columns:1fr; } }
.pk-rev { margin:0; background:#fff; color:#2d3748; border:1px solid rgba(0,0,0,.12); border-radius:.5rem; padding:1.5rem; display:flex; flex-direction:column; gap:.75rem; box-shadow:0 1px 3px rgba(30,45,74,.08); }
.pk-rev-stars { margin:0 !important; color:#9e611d; font-size:1.25rem; line-height:1; letter-spacing:.15em; }
.pk-rev blockquote { margin:0; flex:1 1 auto; } .pk-rev blockquote p { margin:0 0 .75rem; font-size:1rem; line-height:1.6; font-style:normal; color:#2d3748; } .pk-rev blockquote p:last-child { margin-bottom:0; }
.pk-rev figcaption { font:600 .95rem/1.4 'Inter',sans-serif; color:#1E2D4A; display:flex; flex-direction:column; gap:.2rem; }
.pk-rev-src { display:inline-flex; align-items:center; gap:.4rem; font:400 .8rem/1.4 'Open Sans',sans-serif; color:#5c636a; } .pk-rev-src svg { width:1em; height:1em; flex:none; }
.pk-gbadge { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.5rem 1rem; margin:1.5rem auto 0; padding:.75rem 1.25rem; background:#fff; color:#2d3748; border-radius:2rem; width:fit-content; max-width:100%; box-sizing:border-box; border:1px solid rgba(0,0,0,.12); }
.pk-gbadge-g svg { width:1.5rem; height:1.5rem; display:block; } .pk-gbadge-r { font:600 1.5rem/1 'Inter',sans-serif; color:#1E2D4A; } .pk-gbadge .pk-rev-stars { font-size:1.1rem; } .pk-gbadge-t { font-weight:600; }
.pk-gbadge-l { display:inline-flex; gap:1rem; font-size:.9rem; } .pk-sec .pk-gbadge-l a { color:#1E2D4A; }
.pk-revs-more { text-align:center; margin-top:2rem; }
.pk-sec .pk-revs-more a.pk-btn--primary { color:#fff; }
.pk-grev { margin-top:3rem; } .pk-sec .pk-grev-h { text-align:center; font-size:1.5rem; margin:0; color:inherit; }
.pk-sec.pk-bg-primary .pk-grev-h { color:#f8f9fa; }

/* top bar below 1100px: the four buttons may wrap onto a second row under the social icons rather than run over them */
@media (min-width:768px) and (max-width:1099px) { .pk-top .pk-bp-md > .pk-cell:first-child { flex:0 0 100%; } .pk-top .pk-bp-md > .pk-cell:last-child { flex:0 0 100%; } .pk-top .pk-btns { flex-wrap:wrap; justify-content:flex-start; } .pk-top .pk-grid { gap:.5rem; padding:.5rem 0; }}

/* home hero: a soft background, an amber accent over the heading, a larger lead line, and the photo as a rounded, shadowed picture with round arrow buttons */
.pk-sec.pk-bg-custom:has(h1.display-4) { background:linear-gradient(135deg,#ffffff 0%,#eef2f8 100%) !important; padding-top:4.5rem !important; padding-bottom:4.5rem !important; position:relative; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-rt { margin-top:0 !important; margin-bottom:0 !important; }
.pk-sec.pk-bg-custom:has(h1.display-4) h1 { margin-bottom:1.25rem !important; line-height:1.1; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-rt p { font-size:1.25rem; line-height:1.6; max-width:34rem; color:#3b4658; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-rt p span { color:inherit !important; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-btns { margin-bottom:0 !important; margin-top:.5rem; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car .pk-img { display:block; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car .pk-img img { width:100% !important; height:auto !important; aspect-ratio:16/9; object-fit:cover; object-position:center; border:0; padding:0; background:none; border-radius:1rem; box-shadow:0 18px 40px rgba(30,45,74,.22); display:block; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next { top:50%; bottom:auto; width:2.75rem; height:2.75rem; transform:translateY(-50%); border-radius:50%; background:rgba(255,255,255,.92); box-shadow:0 2px 8px rgba(0,0,0,.25); opacity:1; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev { left:.75rem; } .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next { right:.75rem; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev span, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next span { width:1.1rem; height:1.1rem; filter:invert(1) brightness(.25); }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev:hover, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next:hover { background:#fff; }
@media (max-width:767px) { .pk-sec.pk-bg-custom:has(h1.display-4) { padding-top:2.5rem !important; padding-bottom:2.5rem !important; } .pk-sec.pk-bg-custom:has(h1.display-4) .pk-rt p { font-size:1.1rem; } }

/* footer: logo column, quick links in one tidy column, and the two clinics side by side (contact lines, then hours under them) */
@media (min-width:992px) {
  .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3rem; align-items:start; }
  .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:first-child, .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:first-child > .pk-grid { display:contents; }
  .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:first-child > .pk-grid > .pk-cell { min-width:0; }
  .pk-foot .pk-ql { display:flex; flex-direction:column; gap:.55rem; }
  /* the "Locations" heading goes: each clinic's own name is the column title */
  .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:last-child, .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:last-child > .pk-grid, .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:last-child > .pk-grid > .pk-cell:last-child, .pk-facc--open { display:contents; }
  .pk-foot .pk-container > .pk-grid[style*="--cols:2"]:not(:has(.pk-copy)) > .pk-cell:last-child > .pk-grid > .pk-cell:first-child { display:none; }
}
.pk-facc--open .pk-floc { min-width:0; }
.pk-facc--open .pk-floc-h { font-size:1.1rem; margin:0 0 .75rem; padding-bottom:.6rem; border-bottom:1px solid rgba(248,249,250,.25); }
.pk-facc--open .pk-facc-body { flex-direction:column; gap:1rem; padding:0; }
.pk-facc--open .pk-facc-h { flex:none; width:100%; padding-top:0; }
.pk-foot .pk-facc--open .hrs-t { width:auto; font-size:.9rem; } .pk-foot .pk-facc--open .hrs-t th { text-align:left; width:3.25rem; padding-right:.75rem; } .pk-foot .pk-facc--open .hrs-t td { text-align:left; }

/* home "When You Choose Us": the three points are outlined cards (the navy shows through) with white text and yellow icons; the photo has the site's plain rounded corners */
.pk-sec:has(.html-embed div[style*="justify-content: flex-start"]) img.pk-thumb { border:0; padding:0; background:none; border-radius:.375rem; box-shadow:none; }
.html-embed > div > div[style*="justify-content: flex-start"] { align-items:center !important; gap:1.25rem !important; padding:1.25rem 1.5rem; background:transparent; border:1px solid rgba(248,249,250,.6); border-radius:.375rem; }
.html-embed > div > div[style*="justify-content: flex-start"] > div:first-child { flex:0 0 3rem !important; }
.html-embed > div > div[style*="justify-content: flex-start"] > div:first-child > span { font-size:2.25rem !important; color:#f2b84b !important; }
.html-embed > div > div[style*="justify-content: flex-start"] h5 { margin:0 0 .25rem !important; font-size:1.25rem !important; }
.html-embed > div > div[style*="justify-content: flex-start"] h5 span { color:#f8f9fa !important; }
.html-embed > div > div[style*="justify-content: flex-start"] p { line-height:1.5; color:#f8f9fa !important; }
@media (min-width:768px) { .pk-sec:has(.html-embed div[style*="justify-content: flex-start"]) > .pk-container > .pk-grid[style*="--cols:2"] { --gap:5rem !important; } }

/* slide shows fade from one slide to the next (the slides sit on top of each other, so the height stays steady) */
.pk-car.is-js .pk-car-in { display:grid; }
.pk-car.is-js .pk-car-item { display:block; grid-area:1/1; opacity:0; visibility:hidden; transform:scale(1.03); transition:opacity .8s ease, transform 1.2s ease, visibility 0s linear .8s; }
.pk-car.is-js .pk-car-item.is-on { opacity:1; visibility:visible; transform:none; transition:opacity .8s ease, transform 1.2s ease, visibility 0s; }
@media (prefers-reduced-motion:reduce) { .pk-car.is-js .pk-car-item, .pk-car.is-js .pk-car-item.is-on { transition:none; transform:none; } }

/* home hero slider arrows: small and quiet until the slider is hovered or an arrow is focused */
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next { width:2rem; height:2rem; background:rgba(255,255,255,.45); box-shadow:none; opacity:.8; transition:background .2s, opacity .2s; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev span, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next span { width:.8rem; height:.8rem; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev { left:.6rem; } .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next { right:.6rem; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car:hover .pk-car-prev, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car:hover .pk-car-next, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-prev:focus-visible, .pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-next:focus-visible { background:rgba(255,255,255,.9); opacity:1; }

/* home hero slider: one underline per photo below it; the current one is solid, the others are clickable */
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots { position:static; margin:.5rem 0 0; padding:0; gap:.5rem; justify-content:center; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots button { position:relative; width:3.5rem; height:1.25rem; background:none; opacity:1; border:0; padding:0; cursor:pointer; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots button::after { content:''; position:absolute; left:0; right:0; top:50%; height:3px; margin-top:-1.5px; border-radius:2px; background:rgba(30,45,74,.25); transition:background .3s; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots button:hover::after { background:rgba(30,45,74,.5); }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots button[aria-current="true"]::after { background:#9e611d; height:4px; margin-top:-2px; }
.pk-sec.pk-bg-custom:has(h1.display-4) .pk-car-dots button:focus-visible { outline:3px solid #1E2D4A; outline-offset:2px; box-shadow:none; }
