/* OrthoCoast R3.8: preserve the established CI; clarify the patient journey. */
:root{--oc-font-xs:.875rem;--oc-font-sm:.9375rem;--oc-font-base:1rem;--oc-font-lg:1.125rem;--oc-r38-line:#d8dfe3}
html{scroll-padding-top:11rem}body{color:#233949}
.oc-review-toolbar{background:#eef1f3;border-bottom:1px solid #d8dfe3;font:400 .875rem/1.5 "Open Sans",Arial,sans-serif;padding:.4rem max(1rem,calc((100% - 77.5rem)/2));display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.oc-review-toolbar>span{font-weight:600}.oc-review-toolbar button,.oc-review-toolbar summary,.oc-review-toolbar a{font:inherit;color:#233949}
.oc-review-toolbar>button{background:#fff;border:1px solid #bcc8cf;border-radius:.3rem;padding:.4rem .65rem;min-height:2.5rem;cursor:pointer}
.oc-review-toolbar details{margin-left:auto}.oc-review-toolbar summary{cursor:pointer;padding:.4rem}.oc-review-toolbar details[open]{flex-basis:100%;margin-left:0}
.oc-review-toolbar nav{display:flex;gap:.5rem 1rem;flex-wrap:wrap;padding:.5rem 0}.oc-review-toolbar nav button{background:none;border:0;text-decoration:underline;cursor:pointer;min-height:2.5rem}
.oc-review-toolbar .oc-image-settings{padding:.5rem 0;background:none;border:0}.oc-review-toolbar nav a{align-self:center}
.oc-utility-bar{background:#f4f6f7!important;border-bottom:1px solid #e2e4e8;padding:0!important}
.oc-utility-links{display:flex!important;justify-content:flex-end;align-items:center;gap:.25rem 1.15rem;padding-block:.35rem;flex-wrap:wrap}
.oc-utility-links>a,.oc-hours-trigger{font-size:.875rem;color:#445a68;text-decoration:none;min-height:2.5rem;display:inline-flex;align-items:center}
.oc-hours-trigger{font-family:inherit;background:none;border:0;padding:0;cursor:pointer;gap:.35rem}
.oc-hours-trigger::after{content:"⌄";font-size:1rem}.oc-hours-trigger:hover,.oc-utility-links>a:hover{text-decoration:underline}
.header{background:#fff!important;box-shadow:0 .15rem .8rem #23394908;position:relative!important;z-index:30}
.header-inner{padding-block:1.1rem!important;display:flex!important;flex-wrap:wrap;gap:.9rem 1.5rem;align-items:center;position:relative}
.header .brand{width:16.5rem;max-width:36%;flex:0 0 auto}.header .brand img{width:100%;height:auto;display:block}
.header-tools{display:flex!important;align-items:center;gap:.75rem;flex-wrap:wrap;margin-left:auto}
.header .oc-header-phone{font:600 1rem/1.35 "Open Sans",Arial,sans-serif;color:#233949!important;text-decoration:none!important;display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;white-space:nowrap;padding:0!important;margin:0!important}
.oc-header-phone svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:1.7;flex:none}.oc-header-phone::before{display:none!important}
.header .navigation{order:3;flex:1 0 100%;margin:0;position:static!important;width:100%;border:0;box-shadow:none}
.header .nav-links{display:flex;justify-content:center;gap:.4rem 1.5rem;flex-wrap:wrap;padding-top:.6rem;border-top:1px solid #eef1f3}
.header .nav-links>a{padding:.55rem .2rem;font-size:1rem;line-height:1.45;white-space:normal;color:#233949}
.header .nav-links>a[aria-current=page]{border-bottom:.15rem solid #f38b1c}
.header .btn.compact{font-size:.9375rem;min-height:2.75rem;padding:.65rem 1rem;white-space:normal}
.oc-hours-dialog{width:min(32rem,calc(100% - 2rem));max-height:calc(100dvh - 2rem);border:1px solid #d8dfe3;border-radius:.6rem;padding:1.5rem;color:#233949;background:#fff;overflow:auto}
.oc-hours-dialog::backdrop{background:#23394980}.oc-hours-dialog h2{font-size:1.5rem;margin:0}.oc-hours-dialog header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.oc-hours-dialog header button{background:#f3f5f6;border:0;border-radius:50%;min-width:2.75rem;min-height:2.75rem;font-size:1.4rem;cursor:pointer;color:#233949}
.oc-opening-hours{margin:1.15rem 0;display:grid;gap:1rem}.oc-opening-hours>div{display:grid;grid-template-columns:minmax(8rem,1fr) 1fr;gap:.75rem}.oc-opening-hours dt{font-weight:600}.oc-opening-hours dd{margin:0;line-height:1.7}.oc-opening-hours dd span{display:block}
.page h1{font-size:clamp(2rem,3.1vw,3rem);line-height:1.18;letter-spacing:-.025em;max-width:25ch}
.page h2{font-size:clamp(1.5rem,2.1vw,2rem);line-height:1.3;letter-spacing:-.015em}
.page h3,.page .service-card h3,.page .related-card h3{font-size:1.125rem;line-height:1.4;font-weight:600;letter-spacing:0}
.page .lead{font-size:1.125rem;line-height:1.7;max-width:65ch}.page .source-text{font-size:1rem;line-height:1.8;white-space:pre-line}
.page .eyebrow{font-size:.8125rem;letter-spacing:.1em;font-weight:600}.page .reading{max-width:70rem}.reading>section{margin-block:2.4rem}
.oc-readable-section{padding-block:.25rem .75rem}.oc-readable-section+.oc-readable-section{margin-top:.8rem}.oc-readable-section>h3{margin-bottom:.7rem}.oc-readable-section .accordion-body{display:block!important;padding:0!important;background:transparent;border:0}
.page details.accordion{border:0!important;border-bottom:1px solid var(--oc-r38-line)!important;background:transparent!important;border-radius:0!important;margin:0!important;box-shadow:none!important}
.page details.accordion>summary{font-size:1rem!important;font-weight:500!important;line-height:1.55;padding:1rem 2.5rem 1rem 0!important;min-height:3rem;cursor:pointer;position:relative;color:#233949}
.page details.accordion>summary h2,.page details.accordion>summary h3{display:inline;font-size:1rem!important;line-height:1.55;font-weight:500!important;margin:0!important;letter-spacing:0}
.page details.accordion[open]>summary{font-weight:600!important}.page details.accordion>.accordion-body{padding:.15rem 0 1.2rem!important}
.page .tools-row{justify-content:flex-end;gap:.5rem;margin:0 0 1rem;padding:0;border:0;background:transparent;font-size:.875rem}.page .tools-row>span{display:none}.page .tools-row button{font-size:.875rem;color:#445a68;min-height:2.5rem}
.page-nav{position:static!important;background:#f4f6f7!important;border-block:1px solid #e2e4e8}.page-nav>.wrap{display:flex!important;flex-wrap:wrap;gap:.4rem 1.25rem;justify-content:flex-start;padding-block:.7rem}
.page-nav a{font-size:.9375rem!important;line-height:1.5;padding:.4rem 0!important;min-height:2.5rem;display:inline-flex;align-items:center;white-space:normal}
.service-grid,.related-grid,.hub-grid{gap:1.25rem!important}.service-card,.related-card{border:1px solid #d8dfe3!important;border-radius:.5rem!important;background:#fff;padding:1.5rem!important;box-shadow:0 .2rem .8rem #23394904;display:flex!important;flex-direction:column;align-items:flex-start;gap:.65rem;position:relative;text-decoration:none!important}
.service-card:hover,.related-card:hover{border-color:#78909d!important;box-shadow:0 .4rem 1.2rem #2339490b}.service-card h3,.related-card h3{margin:0!important;color:#233949}.service-card p,.related-card p{font-size:1rem;line-height:1.65;margin:0}
.service-card .card-link,.service-card .kicker-link,.related-card .card-link{font-size:.9375rem!important;font-weight:500!important;margin-top:auto!important;padding-top:1rem;display:flex;align-items:center;gap:.75rem;color:#445a68}
.related-card .tag,.related-card .eyebrow{min-height:1.2rem;font-size:.8125rem;margin:0}.related-card h3{min-height:3.1rem}.related-card>.arrow,.service-card>.arrow{margin-top:auto;align-self:flex-end}
.inline-appointment{gap:1.5rem!important;align-items:center!important}.inline-appointment .buttons{margin-top:1.25rem!important}.inline-appointment p{max-width:60ch}
.visit-steps{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem!important;padding:0!important;list-style:none;counter-reset:visit}
.visit-steps>li{padding:1rem 0 0!important;border-top:1px solid #c7d2d9;min-width:0;counter-increment:visit;font-size:1rem;line-height:1.7}.visit-steps>li::before{content:counter(visit,decimal-leading-zero);display:block;color:#f38b1c;font-size:.875rem;font-weight:600;letter-spacing:.08em;margin-bottom:.7rem}.visit-steps strong{font-size:1.125rem;display:block;font-weight:600;margin-bottom:.5rem}
#P001 .home-hero.oc-susen-film-fallback{min-height:0;background:#fff;display:block}
#P001 .home-hero.oc-susen-film-fallback .hero-image{position:relative!important;inset:auto!important;width:100%;height:auto!important;z-index:auto!important;aspect-ratio:2560/754;max-height:29rem;order:0}
#P001 .home-hero.oc-susen-film-fallback .hero-image picture,#P001 .home-hero.oc-susen-film-fallback .hero-image img{display:block;width:100%;height:100%;aspect-ratio:2560/754;object-fit:cover!important}
#P001 .home-hero.oc-susen-film-fallback .hero-grid{width:calc(100% - 3rem);max-width:77.5rem;min-height:0!important;padding:2.5rem 0 3rem!important;display:block}
#P001 .home-hero.oc-susen-film-fallback .hero-copy{width:100%!important;max-width:68rem!important;display:grid;grid-template-columns:1.15fr 1fr;gap:.8rem 3rem;align-items:start}
#P001 .hero-copy .slogan{grid-column:1/-1;grid-row:1;font-size:1.125rem!important;color:#445a68;font-weight:500;margin:0 0 .3rem!important}
#P001 .hero-copy .eyebrow{grid-column:1;grid-row:2;margin:0}.home-hero .hero-copy h1{grid-column:1;grid-row:3/5;margin:0}
#P001 .hero-copy .lead{grid-column:2;grid-row:2/4;margin:0}.home-hero .hero-copy .buttons{grid-column:2;grid-row:4;margin:0!important}.home-hero .hero-copy .booking-help{grid-column:2;grid-row:5;margin:0!important}
.oc-r38-home-service{grid-template-columns:repeat(2,minmax(0,1fr))}.oc-navigator-panel{background:#233949;color:#fff}.oc-susen-navigator .oc-nav-actions{display:none!important}.oc-susen-navigator .oc-nav-bone-preview{display:none!important}
.oc-susen-navigator a.oc-nav-hotspot{cursor:pointer}.oc-susen-navigator a.oc-nav-hotspot:focus-visible{outline:2px solid #fff;outline-offset:3px}
@media(max-width:42rem){.oc-r38-home-service{grid-template-columns:1fr}}
.oc-susen-navigator .region-grid a{min-height:3rem;line-height:1.45}.oc-susen-navigator .navigator-note{font-size:.875rem;opacity:.85}
#P120 .oc-r38-service-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.oc-r38-service-secondary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:1.25rem}
.oc-r38-service-support{margin-top:2.2rem;padding-top:1.5rem;border-top:1px solid #d8dfe3}.oc-r38-service-support>h2{font-size:1.375rem}.oc-r38-service-support>.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#P120--besuchsablauf{background:#233949;color:#fff}#P120--besuchsablauf h2,#P120--besuchsablauf strong{color:#fff}#P120--besuchsablauf a{color:#fff;text-underline-offset:.2em}#P120--besuchsablauf .visit-steps>li{border-color:#607685}
#P062--osteologieablauf .visit-steps{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}
.oc-r38-functional .page-hero .hero-grid{grid-template-columns:minmax(0,1fr) minmax(12rem,20rem);gap:2rem;align-items:center}.oc-r38-functional .page-hero{padding-block:2rem!important}.oc-r38-functional .page-hero .hero-image{max-height:12rem!important;overflow:hidden;border-radius:.5rem}.oc-r38-functional .page-hero .hero-image img{height:12rem!important;width:100%;object-fit:cover}
.oc-r38-next-step{padding:1.25rem 0;margin-top:1rem;border-top:1px solid #d8dfe3}.oc-r38-next-step p{margin:0 0 1rem}.oc-r38-next-step .buttons{gap:.75rem}
.footer .oc-footer-hours{font-size:1rem!important;line-height:1.8!important;margin:1rem 0!important;padding:0!important;color:#fff}.footer .oc-footer-hours strong{font-weight:600}.footer .footer-grid li>a{font-size:.9375rem!important;font-weight:400!important}.footer .oc-career-link{font-weight:400!important}.footer .oc-map-block{margin-top:2rem;grid-template-columns:1fr 1.2fr;gap:1.5rem}.footer .oc-map-frame{min-height:0;max-height:15rem}.footer .oc-map-static img{height:15rem;object-fit:cover}.footer .oc-map-consent{font-size:.875rem;line-height:1.6}
.oc-flyer-download{border-top:1px solid #d8dfe3}.oc-r38-service-note{font-size:.9375rem;line-height:1.7;margin-top:1rem;max-width:65ch}
.page a:focus-visible,.header a:focus-visible,.header button:focus-visible,.oc-hours-trigger:focus-visible,.page summary:focus-visible{outline:3px solid #d08a42;outline-offset:4px;border-radius:.2rem}
@media(min-width:80rem){.header .navigation{display:block!important}.header .menu-toggle{display:none!important}}
@media(max-width:79.999rem){.header .navigation{display:none!important}.header .navigation.open{display:block!important}.header .nav-links{justify-content:flex-start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem 1rem}.header .menu-toggle{display:inline-flex!important;align-items:center;gap:.4rem;min-height:2.75rem}.header .brand{width:14rem}.visit-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:48rem){
 html{scroll-padding-top:1rem}.wrap{width:calc(100% - 2rem)!important}.oc-utility-links{justify-content:flex-start;gap:.15rem .9rem}.oc-utility-links>a:first-child{display:none}.oc-language-switch{margin-left:auto!important}.oc-utility-links .oc-language-switch a{min-height:2.25rem;min-width:2.25rem;padding:.2rem}
 .header-inner{gap:.8rem;padding-block:1rem!important}.header .brand{width:13.5rem;max-width:calc(100% - 6rem)}.header-tools{margin-left:0;width:100%;justify-content:space-between;gap:.4rem}.header .menu-toggle{position:absolute;right:0;top:1rem}.header .oc-header-phone{font-size:.875rem;gap:.25rem}.header .btn.compact{padding:.65rem .75rem;font-size:.875rem}.header .icon-btn{min-width:2.5rem;width:2.5rem}.header .nav-links{grid-template-columns:1fr}
 .page h1{font-size:2rem;max-width:none}.page h2{font-size:1.5rem}.page .lead{font-size:1.0625rem}.page-nav>.wrap{gap:.2rem 1rem}.page-nav a{font-size:.875rem!important}
 #P001 .home-hero.oc-susen-film-fallback .hero-image{aspect-ratio:1080/754;max-height:none}#P001 .home-hero.oc-susen-film-fallback .hero-image picture,#P001 .home-hero.oc-susen-film-fallback .hero-image img{aspect-ratio:1080/754;height:auto!important;object-fit:contain!important}#P001 .home-hero.oc-susen-film-fallback .hero-grid{width:calc(100% - 2rem);padding:1.75rem 0 2rem!important}#P001 .home-hero.oc-susen-film-fallback .hero-copy{display:flex;flex-direction:column;gap:.9rem}#P001 .hero-copy .slogan{order:0;font-size:1rem!important}.home-hero .hero-copy .eyebrow{order:1}.home-hero .hero-copy h1{order:2}.home-hero .hero-copy .lead{order:3}.home-hero .hero-copy .buttons{order:4}.home-hero .hero-copy .booking-help{order:5}
 #P120 .oc-r38-service-main,.oc-r38-service-secondary,.oc-r38-service-support>.hub-grid,.related-grid{grid-template-columns:1fr!important}.service-card,.related-card{padding:1.25rem!important}.related-card h3{min-height:0}.visit-steps{grid-template-columns:1fr!important;gap:1rem!important}.inline-appointment{flex-direction:column;align-items:flex-start!important}
 .oc-r38-functional .page-hero .hero-grid{display:flex;flex-direction:column;gap:1rem}.oc-r38-functional .page-hero .hero-image{display:none}.footer .oc-map-block{display:block}.footer .oc-map-frame{margin-top:1rem}.oc-opening-hours>div{grid-template-columns:1fr 1fr}
 .oc-review-toolbar{padding:.3rem 1rem;gap:.5rem}.oc-review-toolbar>span{font-size:.8125rem}.oc-review-toolbar details{margin-left:0}.oc-review-toolbar>button{font-size:.8125rem}
}
@media(max-width:22rem){.header .oc-header-phone{font-size:.8125rem}.header .btn.compact{font-size:.8125rem;padding:.6rem}.header-tools{gap:.2rem}.header .oc-header-phone svg{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.oc-review-toolbar,.oc-hours-dialog,.oc-hours-trigger{display:none!important}.page details>*{display:block!important}.header .navigation{display:none!important}}
