/* Shared navigation and the approved homepage, October 2026. */
:root{--radius:16px}
html{scroll-padding-top:96px}
[id]{scroll-margin-top:96px}
.site-header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:1px solid transparent}
.site-header.is-scrolled{border-bottom-color:#d5dee8}
.admin-bar .site-header{top:32px}
.header-inner{min-height:72px;gap:12px}
.brand{width:208px;height:72px;aspect-ratio:auto;margin-left:-26px}
.header-booking{align-items:center;gap:20px}
.header-booking .phone-link{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;font-size:1.0625rem}
.phone-link,a[href^="tel:"]{white-space:nowrap}
.button:active{transform:scale(.98)}
.mobile-actions{box-shadow:none}
.footer-refined .footer-emergency a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px}
.hours,.opening-status{font-variant-numeric:tabular-nums}
.hp-page{color:#091d42}
.hp-page *{box-sizing:border-box}
.hp-wrap{width:min(1200px,calc(100% - 64px));margin-inline:auto}
.hp-page h1{font-size:clamp(3rem,4.2vw,3.5rem);line-height:1.12;letter-spacing:-.025em;font-weight:400;max-width:23ch;text-wrap:balance;margin:0 0 32px}
.hp-page h2{font-size:clamp(1.9rem,3vw,2.5rem);line-height:1.2;font-weight:400;margin:0;max-width:none}
.hp-page h3{font-size:1.5rem;line-height:1.3;font-weight:400;margin:0 0 12px}
.hp-page p{font-size:1.125rem;line-height:1.6;max-width:65ch;margin:0}
.hp-page a:focus-visible{outline:3px solid #1d5fa8;outline-offset:5px}
.hp-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}
.hp-actions>a,.hp-heading>a,.hp-memberships>a{display:inline-flex;align-items:center;min-height:44px;gap:8px}
.hp-actions .booking-button{color:#fff}
.hp-hero-phone{font-size:1.125rem;white-space:nowrap}
.hp-facts{padding:24px 0;border-bottom:1px solid #d5dee8}
.hp-facts-list{list-style:none;margin-block:0;margin-inline:auto;padding:0;display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:0}
.hp-facts-list li{display:flex;align-items:flex-start;gap:12px;margin:0;padding:4px 24px;border-left:1px solid #d5dee8;font-size:1.0625rem;line-height:1.5;min-width:0}
.hp-facts-list li:first-child{padding-left:0;border-left:0}
.hp-facts-list li:last-child{padding-right:0}
.hp-facts-list svg{width:28px;height:28px;flex:0 0 28px;color:#091d42}
.hp-fact-location{display:flex;flex-direction:column;align-items:flex-start}
.hp-fact-location a{display:inline-flex;align-items:center;min-height:44px;gap:8px}
.hp-band{padding:80px 0}
.hp-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:32px}
.hp-services{display:grid;grid-template-columns:1.2fr 1fr;gap:32px}
.hp-service{position:relative;min-width:0}
.hp-service a{display:grid;grid-template-columns:120px minmax(0,1fr) 24px;gap:24px;align-items:center;text-decoration:none;color:#091d42;min-height:184px;padding:24px 16px;border-radius:16px;transition:background-color .18s}
.hp-service a:hover{background:#f1f4f8}
.hp-service img{display:block;width:120px;height:120px;object-fit:cover;border-radius:16px}
.hp-service h3{margin-bottom:8px}
.hp-service p{font-size:1.0625rem}
.hp-service .hp-arrow{color:#1d5fa8;font-size:1.5rem;transition:transform .18s}
.hp-service a:hover .hp-arrow{transform:translateX(4px)}
.hp-service-featured a{display:block;background:#f1f4f8;padding:24px}
.hp-service-featured a:hover{background:#e7ecf2}
.hp-service-featured img{width:100%;height:auto;aspect-ratio:4/5;margin-bottom:24px}
.hp-service-featured h3{display:flex;align-items:center;justify-content:space-between;gap:16px}
.hp-service-featured .hp-keywords{margin-top:12px;font-size:1rem}
.hp-service-list{display:grid;grid-template-rows:repeat(3,1fr);align-items:stretch}
.hp-service-list .hp-service{display:flex;align-items:center;border-top:1px solid #d5dee8}
.hp-service-list .hp-service:last-child{border-bottom:1px solid #d5dee8}
.hp-service-list a{width:100%}
.hp-practice{padding:0 0 80px;background:#fff}
.hp-practice h2{font-size:clamp(2rem,3.4vw,2.5rem);line-height:1.3;max-width:38ch;margin-bottom:40px}
.hp-practice-rows{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.hp-practice-rows article{border-top:1px solid #d5dee8;padding-top:24px;min-width:0}
.hp-memberships{display:flex;flex-wrap:wrap;align-items:center;gap:8px 32px;margin-top:32px;font-size:1rem}
.hp-visit{background:#f1f4f8;padding:64px 0}
.hp-steps{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;margin:40px 0 32px;padding:0}
.hp-steps li{position:relative;border-top:1px solid #bcc9d9;padding:24px 0 0;margin:0}
.hp-steps li:before{content:'';position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#091d42}
.hp-steps li p{font-size:1.0625rem}
@media(min-width:900px){.header-inner{flex-wrap:nowrap}.menu-toggle{display:none}.header-booking{display:flex}.js .primary-navigation{display:block;width:auto;padding:0}.nav-list{display:flex;gap:0}.nav-list>.nav-item+.nav-item{margin-top:0}.nav-list a{padding:8px 10px;border:0;white-space:nowrap}.submenu-toggle{width:auto;padding:8px 10px;border:0;justify-content:center;text-align:center}.nav-list .sub-menu{position:absolute;min-width:280px;max-width:360px;border:1px solid #091d42;padding:12px 20px;margin:0}.nav-list .sub-menu a{white-space:normal;padding:8px 0}.mobile-actions{display:none}body{padding-bottom:0}}
@media(min-width:900px) and (max-width:1050px){.header-inner{gap:8px}.brand{width:180px;margin-left:-22px}.nav-list,.submenu-toggle{font-size:1rem}.nav-list a,.submenu-toggle{padding-inline:7px}.header-booking{gap:12px}.header-booking .button{padding-inline:16px;font-size:1rem}.header-booking .phone-link{font-size:1rem}}
@media(max-width:899px){.header-inner{min-height:72px}.brand{height:72px;width:208px;margin-left:-26px}.hp-hero-grid{grid-template-columns:1fr;gap:32px}.hp-hero{padding-top:32px}.hp-page h1{font-size:clamp(2.125rem,5.5vw,3rem);max-width:24ch;margin-bottom:24px}.hp-actions{flex-direction:column;align-items:flex-start;gap:8px}.hp-portrait img{aspect-ratio:4/3;max-height:300px;object-position:80% 38%}.hp-facts-list{grid-template-columns:1fr;gap:16px}.hp-facts-list li{padding:0;border:0;align-items:center}.hp-fact-location{flex-direction:row;gap:16px;align-items:center;flex-wrap:wrap}.hp-services{grid-template-columns:1fr;gap:0}.hp-service-list{display:block}.hp-service-list .hp-service{display:block}.hp-service a,.hp-service-featured a{display:grid;grid-template-columns:100px minmax(0,1fr) 20px;gap:20px;min-height:148px;background:transparent;padding:24px 0;border-radius:16px}.hp-service-featured{border-top:1px solid #d5dee8}.hp-service-featured img,.hp-service img{width:100px;height:100px;aspect-ratio:1;margin:0}.hp-service-featured h3{display:block}.hp-service-featured h3 .hp-arrow{display:none}.hp-service-featured .hp-keywords{margin:0}.hp-service-featured .hp-service-description{display:none}.hp-service-featured a:after{content:'→';color:#1d5fa8;font-size:1.5rem}.hp-practice-rows{grid-template-columns:1fr;gap:24px}.hp-steps{grid-template-columns:1fr;gap:0;margin-top:32px}.hp-steps li{border-top:0;border-left:1px solid #bcc9d9;padding:0 0 32px 24px}.hp-steps li:last-child{padding-bottom:0}.hp-steps li:before{top:10px;left:-5px}.hp-memberships{display:block}.hp-memberships>a{margin-top:8px}.js .mobile-actions{visibility:hidden;pointer-events:none}.js .mobile-actions.is-visible{visibility:visible;pointer-events:auto}.mobile-actions .mobile-appointment,.mobile-actions.booking-visible .mobile-appointment{background:#1d5fa8;color:#fff;border-color:#1d5fa8}.mobile-actions .mobile-appointment:hover{background:#17497f}.mobile-actions .mobile-appointment:active{background:#10355c}}
@media(max-width:767px){.hp-wrap{width:calc(100% - 40px)}.hp-band{padding-block:48px}.hp-practice{padding-bottom:48px}.hp-visit{padding-block:48px}.hp-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:24px}.hp-practice h2{margin-bottom:24px}.admin-bar .site-header{top:46px}}
@media(max-width:400px){.hp-service a,.hp-service-featured a{grid-template-columns:76px minmax(0,1fr) 16px;gap:12px}.hp-service img,.hp-service-featured img{width:76px;height:76px}.hp-service h3{font-size:1.25rem}.hp-service p{font-size:1rem}.hp-hero-phone{font-size:1.0625rem}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){.button:active,.hp-service a:hover .hp-arrow{transform:none}.hp-service a,.hp-service .hp-arrow{transition:none}}
/* The photograph supports the text as a quiet, full-width background. */
.hp-page .hp-hero{position:relative;isolation:isolate;overflow:hidden;background:#fff;padding:0}
.hp-page .hp-hero-grid{display:flex;align-items:center;min-height:520px;padding-block:96px;gap:0}
.hp-hero-grid>div{position:relative;z-index:2;max-width:680px}
.hp-hero h1{max-width:23ch}
.hp-portrait{position:absolute;inset:0;z-index:0;margin:0;pointer-events:none}
.hp-page .hp-portrait img{display:block;width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover;object-position:50% 45%;border-radius:0}
.hp-portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 25%),linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 28%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.58) 72%,rgba(255,255,255,.46) 100%)}
.hp-portrait figcaption{position:absolute;z-index:1;right:max(32px,calc((100% - 1200px)/2));bottom:20px;font-size:1rem;color:#091d42;margin:0}
@media(max-width:899px){.hp-page .hp-hero-grid{min-height:400px;padding-block:64px 88px}.hp-hero-grid>div{max-width:560px}.hp-page .hp-portrait img{object-position:75% 42%}.hp-portrait:after{background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 35%),linear-gradient(90deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.9) 45%,rgba(255,255,255,.75) 100%)}.hp-portrait figcaption{right:20px;bottom:20px;font-size:1rem}}
