/* Stable utility controls; public content scales independently. */
/* The eye control belongs to the contact tools; its options open below the header. */
.rd-a11y-bar{position:static;flex:0 0 auto;color:#07232f;font:14px/1.35 system-ui,sans-serif}
.rd-a11y-inner{display:flex;align-items:center;margin:0;padding:0}
.rd-a11y-bar button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:6px 10px;border:1px solid #526c7a;border-radius:8px;background:#fff;color:#07232f;font:inherit;cursor:pointer;white-space:nowrap;text-align:center}
.rd-a11y-bar button.rd-a11y-toggle{width:40px;height:40px;padding:8px;border-color:#b9cbd5;border-radius:50%}
.rd-a11y-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.rd-a11y-toggle:is(:hover,:focus-visible)>span{clip-path:none;width:max-content;max-width:calc(100vw - 32px);height:auto;padding:7px 10px;top:calc(100% + 8px);right:16px;background:#07232f;color:#fff;border-radius:6px;z-index:2}
.rd-a11y-toggle[aria-expanded="true"]>span{clip-path:inset(50%);width:1px;height:1px;padding:0}
.rd-a11y-bar button:disabled{cursor:default;opacity:.6}
.rd-a11y-options{position:absolute;z-index:1;top:100%;right:24px;width:330px;max-width:calc(100vw - 32px);padding:14px;display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;background:#fff;border:1px solid #526c7a;border-radius:0 0 12px 12px;box-shadow:0 8px 22px rgba(7,35,47,.14)}
.rd-a11y-options[hidden]{display:none}
.rd-a11y-options>span{flex-basis:100%}
.rd-a11y-sizes{display:flex;gap:5px;flex-wrap:wrap}
.rd-a11y-bar button[aria-pressed="true"]{background:#07232f;color:#fff;border-color:#07232f;box-shadow:inset 0 0 0 1px #fff;font-weight:600}
.rd-a11y-bar,.rd-a11y-bar *{-webkit-text-fill-color:currentColor}
.rd-a11y-bar svg{width:20px;height:20px;flex:0 0 20px}
.rd-a11y-noscript{position:absolute;top:100%;right:16px;background:#fff;border:1px solid #526c7a;margin:0;padding:12px;width:330px;max-width:calc(100vw - 32px)}
.rd-a11y-status{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
#header.header-white{position:relative}
#header .rd-a11y-bar{margin-inline:8px}
.rd-skip-link{position:fixed;top:8px;left:8px;z-index:99999;padding:12px 18px;background:#fff;color:#07232f;border:3px solid #07232f;transform:translateY(-200%);font:18px/1.5 system-ui,sans-serif;text-decoration:underline}
.rd-skip-link:focus-visible{transform:none}
body :is(a,button,input,textarea,select,summary,[tabindex]):not(:where(#wpadminbar,#wpadminbar *)):focus-visible{outline:3px solid #00578b!important;outline-offset:3px!important;scroll-margin-block:24px}
/* Existing navigation and modal code owns visibility and focus trapping. */
#mnav,#mnav .panel,#mnav .close,.modal,.modal .box,.modal .x{transition-property:transform,opacity!important}

html.rd-a11y-on{scroll-behavior:auto;--a11y-line-height:1.55}
html.rd-a11y-on body{padding-bottom:0!important}
/* Each actual text node uses its normal base, without nested multiplication.
   Toolbar, admin UI and decorative icons never receive this marker. */
html.rd-a11y-on [data-rd-a11y-text]:not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *)){font-size:calc(var(--a11y-base-font) * var(--a11y-font-scale))!important;line-height:var(--a11y-line-height)!important;letter-spacing:normal!important;overflow-wrap:anywhere;word-break:normal;white-space:normal}
html.rd-a11y-on :is(h1,h2,h3,h4,h5,h6)[data-rd-a11y-text]{line-height:1.25!important}
html.rd-a11y-on :is(a,button,input,textarea,select,.btn):not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *)){max-width:100%}
html.rd-a11y-on :is(button,input,textarea,select,.btn):not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *)){height:auto;min-height:44px}
html.rd-a11y-on :is(input,textarea,select,.btn):not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *)){padding:10px 14px}
html.rd-a11y-on :is(input[type="checkbox"],input[type="radio"]):not(:where(#wpadminbar *)){width:26px!important;height:26px!important;min-height:26px!important;min-width:26px!important;flex:0 0 26px}
html.rd-a11y-on :is(a,button,input,textarea,select,summary,[tabindex]):not(:where(#wpadminbar,#wpadminbar *)):focus-visible{outline:3px solid #00578b!important;outline-offset:3px!important}
html.rd-a11y-on :not(:where(#wpadminbar,#wpadminbar *)){animation:none!important;transition:none!important}
html.rd-a11y-measuring,html.rd-a11y-measuring :not(:where(#wpadminbar,#wpadminbar *)){animation:none!important;transition:none!important}

/* Brand/search and intact contact/action groups form deliberate header rows.
   Existing menu markup, Contacts dropdown and its handlers are unchanged. */
html.rd-a11y-on header.main{position:relative;backdrop-filter:none}
html.rd-a11y-on header.main#hd>.container{display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px 24px;padding-block:16px;min-height:0}
html.rd-a11y-on header.main .logo{display:flex;align-items:center;width:200px;max-width:100%}
html.rd-a11y-on header.main .logo img{width:190px;max-width:100%;height:46px;object-fit:contain;object-position:left center}
html.rd-a11y-on header.main#hd .search{display:block;width:100%;max-width:560px;margin:0;justify-self:end}
html.rd-a11y-on header.main#hd .search input{min-height:48px;padding:8px 54px 8px 16px;border-radius:10px}
html.rd-a11y-on header.main .s-btn{width:40px;height:40px;min-height:40px;padding:8px;right:6px}
html.rd-a11y-on header.main .s-btn svg{width:20px;height:20px;flex:0 0 20px}
html.rd-a11y-on header.main .head-right{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:16px 22px;margin:0;min-width:0;justify-content:space-between}
html.rd-a11y-on header.main .head-right>*{flex:0 0 auto;min-width:0;max-width:100%}
html.rd-a11y-on header.main .head-time{display:flex;position:static;align-items:center;gap:8px;white-space:nowrap}
html.rd-a11y-on header.main .head-time svg{width:18px;height:18px;flex:0 0 18px}
html.rd-a11y-on header.main .head-time-rows{display:grid;grid-template-columns:max-content max-content;column-gap:10px;row-gap:2px}
html.rd-a11y-on header.main .head-time-rows span{white-space:nowrap!important;overflow-wrap:normal!important;line-height:1.3!important}
html.rd-a11y-on header.main .head-phone{display:block;text-align:left}
html.rd-a11y-on header.main .head-phone .tel{white-space:nowrap;line-height:1.3!important}
html.rd-a11y-on header.main .callback-link{line-height:1.35!important}
html.rd-a11y-on header.main :is(.cabinet-btn,.head-cta .btn){padding:10px 14px;line-height:1.25!important;border-radius:10px;white-space:nowrap}
html.rd-a11y-on header.main .cabinet-btn svg{width:20px;height:20px;flex:0 0 20px}
html.rd-a11y-on .msgs{gap:7px}
html.rd-a11y-on .msg{width:38px;height:38px;min-width:38px}
html.rd-a11y-on .msg svg{width:21px;height:21px;flex:0 0 21px}
html.rd-a11y-on header.main .menubar .container{min-height:0;padding-block:8px}
html.rd-a11y-on nav.desk>ul{flex-wrap:wrap;gap:4px 8px}
html.rd-a11y-on nav.desk a{padding:8px 10px;line-height:1.3!important;white-space:nowrap}
html.rd-a11y-on nav.desk .rd-contacts-links{width:360px;max-width:calc(100vw - 48px);max-height:60vh;right:0;left:auto}
html.rd-a11y-on nav.desk .rd-contacts-links a{white-space:normal}
html.rd-a11y-on .rd-contacts-toggle{flex:0 0 40px;width:40px;min-height:44px;padding:0}
html.rd-a11y-on .burger{flex-shrink:0;min-width:44px;width:44px;min-height:44px;padding:8px}
html.rd-a11y-on .burger svg{width:28px;height:28px}
/* Carousel indicators retain a small visual dot inside an accessible target. */
html.rd-a11y-on .home-promo-dots{gap:4px;flex-wrap:wrap}
html.rd-a11y-on .home-promo-dots button{position:relative;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;background:transparent!important;border:0!important;border-radius:6px;box-shadow:none!important}
html.rd-a11y-on .home-promo-dots button::before{content:"";display:block;width:10px;height:10px;border:1px solid #526c7a;border-radius:999px;background:#d4e2eb}
html.rd-a11y-on .home-promo-dots button[aria-current="true"]::before{width:26px;background:#003b70;border-color:#003b70}

/* Content and dialogs reflow; images/icons keep intentional dimensions. */
html.rd-a11y-on .mnav .panel{width:min(720px,100%);padding:20px;gap:16px}
html.rd-a11y-on .mnav .panel>*{flex-shrink:0;min-width:0}
html.rd-a11y-on .mnav .panel .item{padding:10px}
html.rd-a11y-on .mnav .panel .close{width:44px;height:44px;min-height:44px;font-size:20px}
html.rd-a11y-on .modal{padding:12px}
html.rd-a11y-on .modal .box{max-width:900px!important;max-height:calc(100dvh - 24px);padding:22px;overflow:auto;height:auto}
html.rd-a11y-on .modal .x{position:static;display:flex;align-items:center;justify-content:center;margin:0 0 16px auto;min-width:44px;width:44px;height:44px;font-size:20px}
html.rd-a11y-on .modal .dp-box{display:block;height:auto}
html.rd-a11y-on .modal .dp-list{max-height:none;overflow:visible;margin:0;padding:0}
html.rd-a11y-on :is(.dp-tools,.dp-row,.review-fields){grid-template-columns:minmax(0,1fr)!important}
html.rd-a11y-on .dp-row>*{grid-column:auto!important;grid-row:auto!important}
html.rd-a11y-on .modal .box .form-policy label{grid-template-columns:26px minmax(0,1fr);gap:12px}
html.rd-a11y-on .rd-legal{padding:clamp(16px,3vw,36px)}
html.rd-a11y-on .rd-legal-content :is(th,td){min-width:0}
html.rd-a11y-on .rd-legal-content table{table-layout:fixed;max-width:100%}
html.rd-a11y-on .rd-crumbs{flex-wrap:wrap;gap:10px}
html.rd-a11y-on :is(.foot-top,.foot-bottom){gap:24px;flex-wrap:wrap}
html.rd-a11y-on .rd-footer .foot-top{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
html.rd-a11y-on .serv-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important;grid-auto-rows:auto!important}
html.rd-a11y-on body :is(.serv-card,.home #services .serv-card){display:flex!important;flex-direction:column!important;align-items:stretch!important;height:auto!important;min-height:0!important;padding:20px!important;gap:14px!important;overflow:visible!important}
html.rd-a11y-on body .serv-card>:is(b,span){width:100%;max-width:100%;align-self:stretch!important;margin:0!important}
html.rd-a11y-on body .serv-card :is(.serv-card-photo,.serv-card-media){position:static;width:100%!important;height:160px!important;min-height:160px;flex:0 0 160px}
html.rd-a11y-on body .serv-card :is(.serv-card-photo,.serv-card-media) img{position:static;width:100%!important;height:100%!important;object-fit:cover}
html.rd-a11y-on .home-popular-card{display:flex;flex-direction:column;gap:16px;padding:20px;min-height:0;height:auto}
html.rd-a11y-on .home-popular-card :is(.home-popular-copy,.home-popular-media,.tag,.go){position:static;width:100%;max-width:100%;margin:0}
html.rd-a11y-on .home-popular-card .home-popular-media{height:180px;flex:0 0 180px;order:3}
html.rd-a11y-on .home-popular-card .home-popular-media img{height:100%;width:100%;object-fit:cover}
html.rd-a11y-on .home-popular-card .go{width:44px;height:44px;align-self:flex-end}
html.rd-a11y-on :is(.fab,.mobile-bar){position:static!important;transform:none!important;opacity:1!important;visibility:visible!important;margin:24px;padding:0}
/* Footer suppression belongs to floating overlays; these are now in flow. */
html.rd-a11y-on body:not(.modal-open) :is(.fab,.mobile-bar){pointer-events:auto!important}
html.rd-a11y-on .mobile-bar .in{grid-template-columns:minmax(0,1fr);gap:16px}
html.rd-a11y-on .fab{display:flex;flex-wrap:wrap}
html.rd-a11y-on :is(.hero-cta,.spec-cta){max-width:100%;flex-wrap:wrap}

/* Contrast is independent of text size. Distinct surfaces and states remain. */
html.rd-a11y-contrast{--ink:#111;--body:#111;--muted:#333;--blue:#003b70;--blue-deep:#00294d;--blue-ink:#003b70;--green:#004b23;--line:#555;--cloud:#f3f5f6;--sky:#eaf1f7;--mint:#eef5ee}
html.rd-a11y-contrast body{background:#fff!important;color:#111!important}
html.rd-a11y-contrast body :not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *,svg,svg *,img,video,iframe,canvas,script,style)){color:#111!important;-webkit-text-fill-color:#111!important;text-shadow:none!important;box-shadow:none!important}
html.rd-a11y-contrast :is(header.main,.menubar,.rd-legal,.modal .box,.mnav .panel,.sec,.hero,.rd-footer,.foot-top,.foot-bottom){background:#fff!important;background-image:none!important;border-color:#555!important}
html.rd-a11y-contrast :is(.serv-card,.home-popular-card,.pop-card,.hero-promo,.spec-card,.doctor-card,.team-card,.pat-card,.pat-docs,.rd-legal-note,.rd-sitemap-group,.contact-card,.diag-card){background:#f4f6f7!important;background-image:none!important;border:1px solid #555!important}
html.rd-a11y-contrast :is(nav.desk a.active,.mnav a.item.active){background:#e4eef7!important;border:1px solid #003b70!important;border-radius:6px;font-weight:700}
html.rd-a11y-contrast .hero-bg{visibility:hidden}
html.rd-a11y-contrast :is(.hero,.pop-card,.hero-promo)::after{display:none}
html.rd-a11y-contrast a:not(:where(#wpadminbar *,.rd-a11y-bar *)){color:#003b70!important;-webkit-text-fill-color:#003b70!important;text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:.18em!important}
html.rd-a11y-contrast :is(button,input,textarea,select,.btn):not(:where(#wpadminbar,#wpadminbar *,.rd-a11y-bar,.rd-a11y-bar *)){background:#fff!important;background-image:none!important;border:2px solid #111!important;border-radius:6px!important;opacity:1}
html.rd-a11y-contrast :is(.btn-primary,.btn-blue,.btn-green,.btn-book):not(:where(#wpadminbar *,.rd-a11y-bar *)){background:#003b70!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
html.rd-a11y-contrast :is(.btn-primary,.btn-blue,.btn-green,.btn-book) :not(svg,svg *){color:#fff!important;-webkit-text-fill-color:#fff!important}
html.rd-a11y-contrast :is(input,textarea,select):not(:where(#wpadminbar *))::placeholder{color:#333!important;opacity:1!important}
html.rd-a11y-contrast :is(input,textarea,select):not(:where(#wpadminbar *)):invalid:not(:placeholder-shown),html.rd-a11y-contrast .wpcf7-not-valid:not(:where(#wpadminbar *)){border:3px dashed #8b0000!important}
html.rd-a11y-contrast :is(.wpcf7-not-valid-tip,.wpcf7-response-output){color:#8b0000!important;-webkit-text-fill-color:#8b0000!important;font-weight:700}
html.rd-a11y-contrast :is(:disabled,[aria-disabled="true"],.is-disabled):not(:where(#wpadminbar *,.rd-a11y-bar *)){border:2px dashed #555!important;background:#ececec!important;opacity:.65!important;cursor:not-allowed!important}
html.rd-a11y-contrast :is(input[type="checkbox"],input[type="radio"]):not(:where(#wpadminbar *)){accent-color:#003b70!important}
html.rd-a11y-contrast :is(.mnav .veil,.modal .veil){background:rgba(0,0,0,.7)!important}
html.rd-a11y-contrast .modal{background:transparent!important}
html.rd-a11y-contrast .msg{background:#fff!important;border:2px solid #111}
html.rd-a11y-contrast .msg svg{fill:#111}
html.rd-a11y-contrast .rd-footer .fl{filter:brightness(0)}

@media(min-width:1025px){
  html.rd-a11y-on header.main#hd>.container{grid-template-columns:repeat(12,minmax(0,1fr));gap:12px 16px}
  html.rd-a11y-on header.main .head-right{display:contents}
  html.rd-a11y-on header.main .logo{grid-column:1/3;grid-row:1}
  html.rd-a11y-on header.main#hd .search{grid-column:3/9;grid-row:1;max-width:none}
  html.rd-a11y-on header.main .head-time{grid-column:9/12;grid-row:1;justify-self:end}
  html.rd-a11y-on header.main .rd-a11y-bar{grid-column:12;grid-row:1;justify-self:end}
  html.rd-a11y-on header.main .head-phone{grid-column:1/5;grid-row:2}
  html.rd-a11y-on header.main .msgs{grid-column:5/6;grid-row:2;justify-self:center}
  html.rd-a11y-on header.main .cabinet-btn{grid-column:6/9;grid-row:2;justify-self:end}
  html.rd-a11y-on header.main .head-cta{grid-column:9/-1;grid-row:2;justify-self:end}
}
@media(max-width:1024px){
  html.rd-a11y-on header.main#hd>.container{grid-template-columns:minmax(0,1fr) 40px 44px;gap:14px 10px}
  html.rd-a11y-on header.main .head-right{display:contents}
  html.rd-a11y-on header.main .logo{grid-column:1;grid-row:1}
  html.rd-a11y-on header.main .rd-a11y-bar{grid-column:2;grid-row:1;justify-self:end}
  html.rd-a11y-on header.main .burger{grid-column:3;grid-row:1}
  html.rd-a11y-on header.main#hd .search{grid-column:1/-1;grid-row:2;max-width:none}
  html.rd-a11y-on header.main .head-time{grid-column:1;grid-row:3;justify-self:start}
  html.rd-a11y-on header.main .msgs{grid-column:1;grid-row:4;justify-self:start}
  html.rd-a11y-on header.main .head-phone{grid-column:1/-1;grid-row:5}
  html.rd-a11y-on header.main .cabinet-btn{display:none}
  html.rd-a11y-on header.main .head-cta{display:none}
  html.rd-a11y-on .mnav .panel .cabinet-btn-mobile{display:flex}
  html.rd-a11y-on .mnav .panel .search input{width:100%}
}
@media(min-width:641px) and (max-width:1024px){
  html.rd-a11y-on header.main#hd>.container{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 40px 44px}
  html.rd-a11y-on header.main .rd-a11y-bar{grid-column:3}
  html.rd-a11y-on header.main .burger{grid-column:4}
  html.rd-a11y-on header.main#hd .search{grid-column:2;grid-row:1}
  html.rd-a11y-on header.main .head-time{grid-column:1;grid-row:2}
  html.rd-a11y-on header.main .head-phone{grid-column:2/-1;grid-row:2}
  html.rd-a11y-on header.main .msgs{grid-column:1;grid-row:3}
}
@media(max-width:640px){
  .rd-a11y-options{right:16px}
  .rd-a11y-options{gap:7px 9px}
  html.rd-a11y-on .container{padding-inline:16px}
  html.rd-a11y-on header.main .logo img{height:36px;width:160px}
  html.rd-a11y-on header.main .head-time-rows{column-gap:8px}
  html.rd-a11y-on header.main .head-time-rows span{font-size:calc(12.5px * var(--a11y-font-scale))!important}
  html.rd-a11y-on header.main .head-phone .tel{font-size:calc(16px * var(--a11y-font-scale))!important}
  html.rd-a11y-on header.main .msgs{grid-column:2/-1;grid-row:3;flex-direction:column;justify-self:end}
  html.rd-a11y-on header.main .head-phone{grid-row:4}
  html.rd-a11y-on .rd-footer .foot-top{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
  #header>.container>.branding{flex:0 0 100%;max-width:none;padding-right:60px}
  #header .rd-a11y-bar{position:absolute;right:16px;top:18px;margin:0}
  #header .rd-a11y-options{right:0;top:calc(100% + 18px)}
}
@media(min-width:641px) and (max-width:900px){header.main .logo img{max-width:190px;height:auto;max-height:40px}}
/* Keep the existing compact mobile contact row inside the viewport. */
@media(max-width:640px){
  header.main#hd>.container{column-gap:8px}
  header.main .head-right{gap:7px}
  header.main .logo img{max-width:118px;height:auto;max-height:36px}
  header.main .msgs{gap:5px}
  header.main .msg{width:28px;height:28px;min-width:28px}
  header.main .rd-a11y-bar button.rd-a11y-toggle{width:36px;height:36px;min-height:36px;padding:7px}
  html.rd-a11y-on header.main .logo img{max-width:160px}
}
@media print{.rd-a11y-bar,.rd-skip-link{display:none!important}}
