/* Design review 30.09.2026: shared rules for every page. */
:root{--page-h2-weight:400;--page-h3-size:1.5rem;--page-h3-weight:400;--mobile-actions-height:73px}
h2,.band-inner>h2,.section-media h2,.site-footer h2,.notice h2{font-size:2rem;line-height:1.15625;font-weight:400}
h3,.band-inner h3,.site-footer h3,.notice h3{font-size:1.5rem;line-height:1.25;font-weight:400}
.submenu-toggle{display:flex;align-items:center;gap:8px;min-height:52px;padding:8px 12px;border:0;background:transparent;color:var(--navy);font-family:Jost,sans-serif;font-size:1.125rem;font-weight:500;white-space:nowrap}
.submenu-toggle:hover,.submenu-toggle[aria-expanded=true]{text-decoration:underline;text-underline-offset:8px}
.nav-item:hover>.sub-menu,.nav-item:focus-within>.sub-menu,.nav-list .sub-menu{display:none}
.submenu-toggle[aria-expanded=true]+.sub-menu{display:block}
.nav-list .sub-menu li+li{margin-top:8px}
.menu-toggle[aria-expanded=true] .menu-symbol{height:18px;border:0}
.menu-toggle[aria-expanded=true] .menu-symbol:before,.menu-toggle[aria-expanded=true] .menu-symbol:after{content:'';position:absolute;left:0;top:8px;width:18px;border-top:1px solid currentColor;transform:rotate(45deg)}
.menu-toggle[aria-expanded=true] .menu-symbol:after{transform:rotate(-45deg)}
.navy-band .button-primary,.site-footer .button-primary,.hero-photo .button-primary{background:var(--white);border-color:var(--white);color:var(--navy)}
.navy-band .button-primary:hover,.site-footer .button-primary:hover,.hero-photo .button-primary:hover{background:var(--surface);border-color:var(--surface);color:var(--navy)}
.navy-band .button-primary:active,.site-footer .button-primary:active,.hero-photo .button-primary:active{background:var(--on-navy);border-color:var(--on-navy);color:var(--navy)}
.navy-band .button-outline,.site-footer .button-outline,.hero-photo .button-outline{background:transparent;border-color:var(--white);color:var(--white)}
.navy-band .button-outline:hover,.site-footer .button-outline:hover,.hero-photo .button-outline:hover{background:var(--white);color:var(--navy)}
.navy-band .button-outline:active,.site-footer .button-outline:active,.hero-photo .button-outline:active{background:var(--on-navy);color:var(--navy)}
.navy-band .button:focus-visible,.site-footer .button:focus-visible,.hero-photo .button:focus-visible{outline:3px solid white;outline-offset:5px}
.hero.hero-photo{min-height:min(600px,calc(100svh - 165px));padding-block:124px 32px}
.hero-photo::after{background:linear-gradient(to bottom,rgba(9,29,66,0) 0%,rgba(9,29,66,.72) 30%,rgba(9,29,66,.72) 100%)}
.hero-copy{max-width:var(--wrap);text-shadow:none}
.hero-photo h1{font-weight:300;margin-bottom:16px}
.hero-photo .eyebrow{margin-bottom:12px}
.hero-photo .actions{margin-top:20px;gap:12px}
.hero-photo .button{font-size:1.125rem}
.hero-picture img{object-position:70% 35%}
.hero-photo .phone-link{color:var(--white)}
.service-card{border:1px solid #4a5875;box-shadow:none;gap:0}
.service-card h3{font-size:1.5rem;line-height:1.25;font-weight:400}
.service-card a{min-height:44px;gap:12px;align-items:center}
.service-card a span[aria-hidden=true]{flex:0 0 auto}
.text-link,.related-topics a,.related-links a,.footer-link,.section-nav a,.panel-links a{min-width:44px;min-height:44px}
.related-topics a,.related-links a{display:inline-flex;align-items:center}
.related-topics ul{margin:0;padding-left:24px}
.related-topics li{margin-bottom:8px}
.related-topics{display:block}
.overview-list a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;margin-block:4px}
.overview-list li{margin-bottom:8px}
.service-card>.text-link{display:flex;justify-content:space-between;width:100%}
.footer-grid{grid-template-columns:1fr 1.05fr 1.3fr;gap:40px}
.site-footer a[href^="mailto:"]{display:inline-flex;align-items:center;min-height:44px;max-width:100%;overflow-wrap:anywhere}
.site-footer .emergency{margin-top:24px}
.emergency a{display:inline;min-height:0}
.hours{margin:0 0 24px;font-size:1rem;line-height:1.6}
.hours>div{margin-bottom:8px}
.hours dt{font-weight:600}
.hours dd{margin:0}
.time-range{display:inline-block;white-space:nowrap}
.time-and{display:inline}
.review-line{margin-block:32px;font-size:1rem}
.todo-bestaetigen,.subpage-content .todo-bestaetigen,.page-hero .todo-bestaetigen{background:#fff2bf;color:#442e00;border:1px solid #7a5b00;font-weight:600}
.subpage-content .todo-bestaetigen:before,.page-hero .todo-bestaetigen:before{content:none}
.new-patients .button{flex-shrink:0}
.booking-cta .actions{flex:0 0 320px;align-items:flex-start;justify-content:flex-end}
.booking-cta .booking-action{align-items:flex-start}
@media(min-width:768px){
 .band-inner p,.band-inner>ul:not(.treatment-facts),.band-inner .treatment-meta,.legal-content>*,.page-hero .lead,.page-hero .lead-long,.faq-answer,.prose p{max-width:54ch}
 .faq-answer{max-width:54ch}
 .service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .service-grid.four-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:1350px){.service-grid.four-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){
 .submenu-toggle{width:100%;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--navy);text-align:left}
 .nav-list>.nav-item+.nav-item{margin-top:8px}
 .primary-navigation.is-open{padding-bottom:calc(var(--mobile-actions-height) + 24px)}
 .hero.hero-photo{min-height:min(600px,calc(100svh - 149px - 73px))}
 .mobile-actions{grid-template-columns:1.35fr 1fr .8fr;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));min-height:73px}
 .mobile-actions .button{min-height:52px;font-size:1rem;line-height:1.4;padding:10px 8px;gap:0}
 body{padding-bottom:calc(var(--mobile-actions-height) + env(safe-area-inset-bottom))}
 .footer-grid{gap:24px;grid-template-columns:1fr 1fr}
 .footer-grid>div:last-child{grid-column:1/-1}
}
@media(max-width:767px){
 .hero.hero-photo{min-height:calc(100svh - 141px - 73px);padding-block:92px 24px}
 .hero-photo h1{font-size:2.25rem;line-height:1.13;max-width:17ch}
 .hero-photo .eyebrow{font-size:1rem;line-height:1.4;max-width:25ch}
 .hero-photo .actions{gap:12px;margin-top:16px;align-items:stretch}
 .hero-photo .actions>.button,.hero-photo .booking-action,.hero-photo .booking-action>.button{width:100%}
 .hero-picture img{object-position:50% 25%}
 .hero-photo::after{background:linear-gradient(to bottom,rgba(9,29,66,0) 0%,rgba(9,29,66,.72) 24%,rgba(9,29,66,.72) 100%)}
 .service-grid,.service-grid.four-grid{grid-template-columns:1fr}
 .service-card{padding:24px}
 .footer-grid{grid-template-columns:1fr}
 .footer-grid>div:last-child{grid-column:auto}
 .booking-cta .actions{margin-top:24px;justify-content:flex-start}
 .navy-band .button{margin-top:0}
 .new-patients .button{margin-top:24px}
}
/* Three existing strengths form a complete row; stack below desktop width. */
.home .section.surface .service-grid:not(.four-grid){grid-template-columns:minmax(0,1fr)}
@media(min-width:1200px){.home .section.surface .service-grid:not(.four-grid){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* Compact shared footer */
.site-footer.footer-refined{padding-top:40px}.footer-refined .footer-intro{display:flex;justify-content:space-between;align-items:center;gap:32px;padding-bottom:28px;border-bottom:1px solid #405371}.footer-refined .footer-intro .eyebrow{margin:0 0 10px}.footer-refined .footer-intro h2{max-width:none;font-size:clamp(1.7rem,3vw,2.25rem);margin:0}.footer-refined .footer-booking .booking-button{margin:0}.footer-refined .footer-details{display:grid;grid-template-columns:1fr 1fr;gap:64px;padding-block:28px}.footer-refined h3{font-size:1.25rem;margin:0 0 14px}.footer-refined address{font-style:normal;font-size:1rem;line-height:1.6;margin:0 0 10px}.footer-refined .footer-call{display:flex;align-items:center;min-height:44px;font-size:1.3rem;font-weight:600;width:fit-content}.footer-refined a[href^="mailto:"]{display:flex;width:fit-content;min-height:44px;font-size:1rem}.footer-refined .footer-link{display:inline-flex;align-items:center;min-height:44px;gap:12px;margin:4px 0 0}.footer-refined .hours{margin:0;font-size:1rem}.footer-refined .hours>div{display:grid;grid-template-columns:7rem 1fr;gap:16px;padding:6px 0}.footer-refined .hours dt{font-weight:600}.footer-refined .hours dd{margin:0;text-align:left; font-variant-numeric:tabular-nums}.footer-refined .time-range{white-space:nowrap}.footer-refined .footer-emergency{padding-block:16px;border-top:1px solid #405371}.footer-refined .footer-emergency .emergency{margin:0}.footer-refined .footer-emergency p{font-size:1rem;line-height:1.6;max-width:none;margin:0}.footer-refined .footer-bottom{border-color:#405371;padding-block:12px;font-size:.95rem}.footer-refined a{overflow-wrap:anywhere}.footer-refined .footer-details>section{min-width:0}@media(max-width:767px){.site-footer.footer-refined{padding-top:28px}.footer-refined .footer-intro{display:block;padding-bottom:24px}.footer-refined .footer-booking{margin-top:20px}.footer-refined .footer-details{grid-template-columns:1fr;gap:28px;padding-block:24px}.footer-refined .hours>div{grid-template-columns:6.5rem 1fr;gap:12px}.footer-refined .footer-bottom{gap:4px}.footer-refined .footer-bottom nav{gap:24px}}@media(max-width:359px){.footer-refined .hours>div{grid-template-columns:1fr;gap:2px}}
