:root{--brand:#f35150;--action:#c9363b;--action-hover:#aa292f;--blue:#009cd6;--link:#006b94;--ink:#20292f;--muted:#596971;--line:#e1e8eb;--soft:#f4f8fa;--blue-soft:#eaf6fb;--coral-soft:#fff2ef;--canvas:#fff;--radius:14px;--content:1200px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s6:24px;--s8:32px;--s12:48px;--s16:64px;--section:88px;--elevation:0 12px 40px #162e3f14}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--canvas);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}::selection{background:#fdd8d6;color:#242424}input,textarea{caret-color:var(--action)}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:var(--soft)}::-webkit-scrollbar-thumb{border-radius:8px;background:#abbcc5;border:2px solid var(--soft)}a{color:var(--link);text-underline-offset:4px;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--blue);outline-offset:4px}img{max-width:100%;height:auto;display:block}svg{width:22px;height:22px;flex-shrink:0}h1,h2,h3,h4,h5,h6{font-family:Raleway,Arial,sans-serif;line-height:1.2;letter-spacing:-.025em;font-weight:600;margin:0 0 20px;color:var(--ink);text-wrap:balance}h1{font-size:48px}h2{font-size:36px}h3{font-size:24px}h4{font-size:20px}h5,h6{font-size:17px}p{margin:0 0 18px}ul,ol{padding-left:22px}li{margin:7px 0}strong{font-weight:600}.container{max-width:var(--content);width:calc(100% - 64px);margin-inline:auto}.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 18px;background:white;transform:translateY(-180%);border:2px solid var(--action)}.skip-link:focus{transform:none}.topbar{border-bottom:1px solid var(--line);background:var(--soft);font-size:12px;color:var(--muted)}.topbar-inner{display:flex;justify-content:space-between;align-items:center;min-height:39px;gap:20px}.topbar a{display:inline-flex;gap:8px;align-items:center;color:var(--muted)}.topbar svg{height:15px;width:15px}.topbar a:last-child{color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.header-inner{min-height:90px;display:flex;gap:28px;align-items:center}.brand{display:block;margin-right:auto;flex-shrink:0}.brand img{width:238px;height:auto}.main-nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:500}.main-nav>a,.nav-group>summary{color:var(--ink);padding:17px 0;white-space:nowrap}.main-nav a:hover{color:var(--action);text-decoration:none}.main-nav>[aria-current=page]{color:var(--action)}.nav-group{position:relative}.nav-group summary{list-style:none;display:flex;gap:4px;align-items:center;cursor:pointer}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary svg{width:14px;height:14px;transition:transform .15s}.nav-group[open] summary svg{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:100%;left:-20px;width:300px;padding:10px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--elevation)}.nav-dropdown a{display:block;padding:10px 12px;border-radius:6px;font-size:13px;line-height:1.5;color:var(--ink)}.nav-dropdown a:hover{background:var(--soft)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:13px 24px;border-radius:8px;border:1px solid transparent;font-size:14px;line-height:1.4;font-weight:600;text-decoration:none;transition:background .15s ease-out,color .15s ease-out,border-color .15s ease-out}.button:hover{text-decoration:none}.button-primary{background:var(--action);color:white}.button-primary:hover{background:var(--action-hover);color:white}.button-secondary{background:#fff;color:var(--ink);border-color:#c8d6dc}.button-secondary:hover{background:var(--soft);border-color:var(--ink)}.button svg{width:17px;height:17px}.header-callback{min-height:44px;padding:12px 17px;white-space:nowrap;font-size:12px}.header-callback svg{width:16px;height:16px}.icon-button{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;background:white;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.menu-button,.mobile-phone{display:none}.content-section{padding-block:var(--section)}.source-widget{min-width:0}.source-widget+ .source-widget{margin-top:22px}.widget-heading:has(h2){margin-top:52px;margin-bottom:26px}.widget-heading:first-child{margin-top:0}.widget-heading:has(h3){margin-top:24px}.widget-heading h1,.widget-heading h2,.widget-heading h3{margin-bottom:0}.widget-text-editor{max-width:75ch}.widget-text-editor h4{margin-top:28px;margin-bottom:10px}.widget-text-editor p{max-width:75ch}.widget-text-editor a{overflow-wrap:anywhere}.widget-image .source-image{width:100%;object-fit:contain}.content-list{list-style:none;padding:0;margin:0}.content-list li{padding:13px 0;border-bottom:1px solid var(--line);margin:0;display:flex;align-items:baseline;gap:12px}.content-list li:last-child{border-bottom:0}.content-list li:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--blue);align-self:flex-start;margin-top:10px}.content-list a{display:flex;align-items:baseline;gap:8px}.content-list .elementor-icon-list-text{min-width:0}.content-list svg{width:16px;height:16px}.hero-section{padding:0;background:var(--blue-soft);position:relative;overflow:hidden}.hero-section .source-widget+.source-widget{margin-top:22px}.hero-section .container{position:relative}.hero-slide{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;align-items:center;min-height:560px}.hero-slide[hidden]{display:none}.hero-copy{padding:60px 0 70px;position:relative;z-index:1}.hero-copy h1,.hero-copy h2{font-size:50px;line-height:1.12;font-weight:600;letter-spacing:-.03em}.hero-copy>.widget-text-editor{font-size:16px;color:#3f5661;max-width:55ch;line-height:1.8}.hero-copy>.widget-text-editor p{margin-bottom:0}.hero-copy>.widget-button{display:inline-block;margin-top:28px;margin-right:12px}.hero-copy>.widget-button+.widget-button{margin-left:0;margin-top:14px}.hero-copy .button{min-height:50px}.hero-visual{height:520px;align-self:end;display:flex;align-items:flex-end;justify-content:center}.hero-visual .widget-image{height:100%;width:100%}.hero-visual img.source-image{height:100%;width:100%;object-fit:contain;object-position:bottom}.hero-controls{position:absolute;right:20px;bottom:18px;display:flex;align-items:center;gap:13px;z-index:4;padding:5px;background:#fff;border-radius:8px;color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.hero-controls button{width:30px;height:30px;background:white;border:0;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--ink)}.hero-controls button:hover{background:var(--soft)}.hero-controls button:first-child svg{transform:rotate(180deg)}.quick-section{padding:0;border-bottom:1px solid var(--line);background:white}.quick-section .container{display:grid;grid-template-columns:repeat(5,1fr)}.quick-section .source-widget{margin:0;padding:30px 18px;border-right:1px solid var(--line)}.quick-section .source-widget:first-child{padding-left:0}.quick-section .source-widget:last-child{border-right:0;padding-right:0}.quick-section .elementor-image-box-wrapper{display:flex;align-items:center;gap:12px}.quick-section .elementor-image-box-img{width:30px;flex:0 0 30px;margin:0}.quick-section .elementor-image-box-title{font-family:Montserrat,Arial,sans-serif;font-size:17px;line-height:1.3;margin:0 0 5px;font-weight:600;letter-spacing:-.02em}.quick-section .elementor-image-box-title a{color:var(--ink)}.quick-section .elementor-image-box-description{font-size:11px;line-height:1.5;color:var(--muted);margin:0}.why-section .container,.intro-section .container{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.why-section .split-image img{border-radius:var(--radius);aspect-ratio:1.16;object-fit:cover}.why-section .content-list{font-size:15px}.why-section .content-list li{padding:12px 0}.intro-section{background:var(--soft)}.intro-section .container{grid-template-columns:1fr 1.05fr;gap:70px}.intro-section .split-image{order:-1}.intro-section .split-image img{border-radius:var(--radius);aspect-ratio:1.08;object-fit:cover}.intro-section .widget-heading:has(h3){margin-top:24px}.intro-section h3{font-family:Montserrat,Arial,sans-serif;font-size:17px;font-weight:500;line-height:1.65;letter-spacing:0}.intro-section .content-list{font-size:14px}.intro-section .content-list li{border:0;padding:5px 0}.intro-section .content-list li:first-child{font-weight:600;color:var(--action)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-block:28px 50px}.service-grid:has(> :nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}.service-grid .source-widget{margin:0;overflow:hidden;background:var(--soft);border-radius:var(--radius);display:flex;flex-direction:column}.service-photo{height:200px;overflow:hidden;background:var(--blue-soft)}.service-photo img{width:100%;height:100%;object-fit:cover}.service-copy{padding:25px 26px 22px;display:flex;flex-direction:column;gap:24px;flex:1}.service-copy h3{font-size:25px;margin:0;line-height:1.3}.service-link{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600;color:var(--link);margin-top:auto}.service-link svg{width:19px;height:19px;transition:translate .15s ease-out}.service-link:hover svg{translate:4px}.service-link:hover{text-decoration:none}.prices-section>.container>.widget-heading:nth-child(2) h3{font-family:Montserrat,Arial,sans-serif;font-size:12px;font-weight:500;color:var(--muted);letter-spacing:.05em}.widget-html:has(table){overflow-x:auto;border-radius:10px}.price-table{width:100%;border-collapse:collapse;table-layout:auto;font-variant-numeric:tabular-nums;font-size:14px}.price-table th{padding:17px 20px;font-size:12px;letter-spacing:.02em;background:var(--ink);color:#fff;text-align:left;font-weight:500}.price-table td{padding:20px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.75}.price-table td:first-child{width:50px;color:var(--muted);font-size:12px;padding-top:22px}.price-table td:last-child{width:130px;font-weight:600;white-space:nowrap;color:var(--ink);font-size:16px}.price-table tbody tr:nth-child(even){background:var(--soft)}.price-table tbody tr:hover{background:var(--blue-soft)}.price-search{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid #c7d3d8;border-radius:8px;max-width:430px;margin:22px 0 28px;background:white}.price-search svg{width:19px;height:19px;color:var(--muted)}.price-search input{width:100%;border:0;background:none;padding:0;outline-offset:10px;font-size:14px;color:var(--ink)}.price-search:focus-within{border-color:var(--link)}.price-search input::placeholder{color:var(--muted)}.price-search-status{font-size:13px;color:var(--muted);margin:-14px 0 20px}.price-empty{padding:24px;background:var(--soft);border-radius:8px}.legal-details{margin-top:32px;border-block:1px solid var(--line);padding:19px 0}.legal-details>summary{cursor:pointer;font-size:14px;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px}.legal-details>summary::-webkit-details-marker{display:none}.legal-details>summary svg{width:18px;height:18px}.legal-details[open]>summary{margin-bottom:24px}.legal-details>.source-widget{font-size:13px;color:var(--muted);max-width:none}.legal-details li{margin:12px 0}.team-section{padding-block:50px;background:var(--blue-soft)}.team-section .container{display:flex;align-items:center;flex-wrap:wrap;gap:15px}.team-section .widget-heading{margin:0 auto 0 0}.team-section h2{font-size:28px}.team-section .widget-button{margin:0}.team-section .button{font-size:12px;padding:12px 16px;background:white;color:var(--ink);border-color:#cbdce4}.has-contact-form .contact-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:90px;align-items:start}.contact-layout .contact-copy{font-size:14px}.contact-copy>.widget-text-editor{margin-top:0}.contact-copy h4{font-size:15px;margin-top:25px}.contact-copy table{font-size:13px}.contact-form{background:var(--soft);padding:30px;border-radius:var(--radius)}.contact-form>.source-widget{margin:0}.elementor-form-fields-wrapper{display:grid;gap:18px}.elementor-field-group{min-width:0}.elementor-field-label{display:block;font-size:13px;font-weight:500;margin:0 0 7px}.elementor-field-textual{width:100%;min-height:45px;padding:11px 13px;background:white;border:1px solid #c6d2d8;border-radius:7px;font-size:14px;color:var(--ink);line-height:1.5;box-shadow:none}.elementor-field-textual:hover{border-color:#829ba8}.elementor-field-textual::placeholder{color:#5d6b72;opacity:1}.elementor-field-textual:focus{border-color:var(--link)}textarea.elementor-field-textual{min-height:112px;resize:vertical}.elementor-field-option{font-size:12px;line-height:1.7}.elementor-field-option input{accent-color:var(--action);width:16px;height:16px;margin:0 6px 0 0;vertical-align:middle}.elementor-field-option label{display:inline}.elementor-field-type-submit button{background:var(--action);color:white;border:0;border-radius:7px;padding:13px 22px;min-height:47px;font-size:14px;font-weight:600;width:100%}.elementor-field-type-submit button:hover{background:var(--action-hover)}.elementor-field-type-submit svg{display:none}.elementor-field-type-recaptcha_v3,.elementor-field-type-recaptcha{display:none}.elementor-field-group-field_92f1e86>.elementor-field-label{display:none}.form-status{padding:14px;background:var(--blue-soft);color:#204b61;border-radius:7px;font-size:13px;line-height:1.6;margin:18px 0 0}.map-two-cols .map-col:first-child{display:none}.map-two-cols a{display:inline-flex;margin-top:24px;font-size:13px;color:var(--link);text-decoration:underline}.inner-page{min-height:60vh}.inner-page .content-section{padding-block:48px}.inner-page .content-section+.content-section{padding-top:0}.inner-page .widget-heading h1,.inner-page .about-page h1{font-size:42px;line-height:1.2;margin-bottom:28px}.inner-page .widget-heading h2{font-size:32px}.inner-page .widget-ha-breadcrumbs{margin-bottom:38px}.ha-breadcrumbs{display:flex;list-style:none;gap:10px;align-items:center;padding:0;margin:0;color:var(--muted);font-size:12px;flex-wrap:wrap}.ha-breadcrumbs li{list-style:none;margin:0}.ha-breadcrumbs a{color:var(--muted)}.ha-breadcrumbs-home-icon{display:none}.ha-breadcrumbs-separator-icon:after{content:"/";color:#82949e}.ha-breadcrumbs-separator-icon>*{display:none}.inner-page .service-grid{margin-top:26px}.document-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:30px 0}.document-gallery a{display:flex;align-items:center;justify-content:center;padding:14px;background:var(--soft);border-radius:10px;cursor:zoom-in}.document-gallery img{aspect-ratio: .72;object-fit:contain;width:100%;max-height:350px}.document-gallery a:hover{background:var(--blue-soft)}.inner-page .widget-image>.source-image{max-width:550px;max-height:440px;margin-inline:auto}.staff-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px;margin-top:45px}.staff-member{padding:30px 0;border-top:1px solid var(--line)}.staff-member h3{font-size:24px;margin-bottom:20px}.staff-member p{font-size:14px;line-height:1.8;margin-bottom:12px;color:var(--muted)}.staff-member strong{color:var(--ink)}.medstaff-page>h1{font-size:38px;max-width:850px}.medstaff-page>h2{font-family:Montserrat,Arial,sans-serif;font-size:16px;font-weight:400;line-height:1.7;color:var(--muted);max-width:72ch;letter-spacing:0}.about-page,.privacy-page{max-width:900px}.about-page h2{font-size:27px;margin-top:40px}.about-page h3{font-size:21px;margin-top:30px}.about-page .info-block{padding:25px 28px;background:var(--soft);border-radius:12px;margin-block:25px}.org-name{font-weight:600;font-size:19px}.org-name-short{color:var(--muted)}.about-page table,.contact-copy table{width:100%;border-collapse:collapse}.about-page td,.contact-copy td{padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}.about-page .contacts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.contact-card h3{font-size:17px}.about-page .contact-card{padding-top:20px;border-top:1px solid var(--line)}.widget-divider hr{border:0;border-top:1px solid var(--line);margin:25px 0}.inner-page .widget-text-editor{max-width:85ch}.inner-page .widget-text-editor img{border-radius:12px}.inner-page .widget-text-editor ul{padding-left:25px}.inner-page .widget-text-editor p{line-height:1.85}.inner-page .widget-eael-adv-tabs{background:var(--blue-soft);border-radius:12px;padding:28px;font-size:14px}.inner-page .widget-eael-adv-tabs ul{list-style:none;display:flex;gap:15px;padding:0}.widget-image-box .elementor-image-box-img{margin:0 0 18px;max-width:150px}.widget-image-box .elementor-image-box-title{font-size:23px}.widget-image-box .elementor-image-box-description{font-size:14px;color:var(--muted)}.widget-text-editor table{border-collapse:collapse;max-width:100%}.widget-text-editor td{padding:10px;vertical-align:top}.site-footer{background:#242424;color:#e2e4e5;padding:58px 0 25px;font-size:12px}.site-footer .source-widget{margin:0}.site-footer a{color:#e2e4e5}.site-footer a:hover{color:white}.site-footer h2,.site-footer h3,.site-footer h4,.site-footer h5,.site-footer h6,.site-footer .elementor-heading-title{color:white;font-family:Montserrat,Arial,sans-serif;font-size:14px;line-height:1.55;letter-spacing:0;margin:0 0 16px;font-weight:600}.footer-intro{display:grid;grid-template-columns:240px 1fr 225px;align-items:start;gap:40px;padding-bottom:38px;border-bottom:1px solid #ffffff24;margin-bottom:38px}.footer-intro .widget-image img{width:230px;max-height:50px;object-fit:contain}.footer-intro .widget-text-editor{font-size:12px;line-height:1.9}.footer-intro .widget-text-editor p:last-child{margin-bottom:0}.footer-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}.footer-group .content-list{font-size:11px;line-height:1.8}.footer-group .content-list li{border:0;display:block;padding:0;margin:0 0 12px}.footer-group .content-list li:before{display:none}.footer-group .content-list a{display:block}.footer-group .widget-text-editor{margin-top:28px;font-size:11px}.footer-notice{border-top:1px solid #ffffff24;margin-top:32px;padding-top:22px;color:#c7ced1}.footer-notice .elementor-heading-title{font-size:11px;line-height:1.9;color:#c7ced1;font-weight:400;max-width:1000px}.dialog{width:min(780px,calc(100% - 32px));max-height:90dvh;position:fixed;border:0;border-radius:16px;padding:0;overflow:auto;background:white;color:var(--ink);box-shadow:0 20px 80px #0004}.dialog::backdrop{background:#172932a3}.dialog-close{position:absolute;right:13px;top:13px;width:36px;height:36px;background:white;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:5}.dialog-close svg{width:18px;height:18px}.popup-content{padding:44px;display:grid;grid-template-columns:1fr 1fr;gap:20px 35px}.popup-content .widget-form{grid-column:2;grid-row:1 / span 6;margin-top:20px}.popup-content .widget-heading .elementor-heading-title{font-size:27px}.popup-content .widget-heading+.widget-heading{margin-top:0}.popup-content .widget-text-editor{font-size:13px}.popup-content .content-list{font-size:13px}.popup-content .content-list li{padding:10px 0}.popup-content .widget-social-icons{display:flex;gap:10px}.elementor-screen-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.popup-content .widget-social-icons a{display:inline-flex;padding:8px;background:var(--soft);border-radius:5px}.popup-content .widget-social-icons svg{width:20px;height:20px}.lightbox-dialog{width:min(900px,calc(100% - 24px));background:#e8edef;padding:35px}.lightbox-dialog img{width:auto;max-width:100%;max-height:80dvh;margin:auto;object-fit:contain}.cookie-notice{position:fixed;bottom:20px;right:20px;left:auto;width:min(430px,calc(100% - 32px));background:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--elevation);padding:18px;z-index:70;color:var(--muted);font-size:11px;line-height:1.8}.cookie-notice .cookie-notice-container{display:flex;align-items:flex-end;gap:18px}.cookie-notice .cn-text-container{display:block}.cookie-notice .cn-buttons-container{display:block;flex-shrink:0}.cookie-notice .cn-button{display:inline-block;background:var(--ink);color:white;padding:8px 13px;border-radius:6px;font-weight:500}.cookie-notice .cn-close-icon{display:none}.widget-html .map-col:first-child:empty{display:none}[hidden]{display:none!important}
@media(min-width:1500px){:root{--content:1280px}.hero-slide{min-height:610px;gap:70px}.hero-copy h1,.hero-copy h2{font-size:54px}.hero-visual{height:565px}}
@media(max-width:1150px){.brand img{width:205px}.main-nav{gap:17px;font-size:13px}.header-inner{gap:20px}.header-callback{padding:11px 13px}.header-callback svg{display:none}.hero-copy h1,.hero-copy h2{font-size:44px}.hero-slide{gap:25px}.hero-visual{height:490px}.quick-section .source-widget{padding:25px 13px}.quick-section .elementor-image-box-img{display:none}.service-grid:has(> :nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.why-section .container,.intro-section .container{gap:45px}.footer-groups{grid-template-columns:repeat(3,minmax(0,1fr))}.has-contact-form .contact-layout{gap:50px}}
@media(max-width:950px){:root{--section:64px}.container{width:calc(100% - 48px)}.header-inner{min-height:76px;gap:16px}.brand img{width:215px}.menu-button{display:inline-flex}.header-callback{margin-left:auto}.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:white;border-bottom:1px solid var(--line);padding:20px 24px;max-height:calc(100dvh - 76px);overflow-y:auto;box-shadow:var(--elevation)}.main-nav.is-open{display:block}.main-nav>a{display:block;padding:12px 10px}.nav-group summary{padding:12px 10px;justify-content:space-between}.nav-dropdown{position:static;width:auto;margin:0 0 12px;padding:6px 12px;box-shadow:none;border:0;border-radius:8px;background:var(--soft)}.nav-dropdown a{padding:10px 12px}.topbar-inner>span{display:none}.hero-slide{grid-template-columns:1.05fr 1fr;gap:10px;min-height:495px}.hero-copy{padding-block:45px 70px}.hero-copy h1,.hero-copy h2{font-size:37px}.hero-copy>.widget-text-editor{font-size:13px}.hero-copy .button{font-size:12px;padding:12px 18px}.hero-copy>.widget-button{margin-top:20px;margin-right:0}.hero-visual{height:420px}.hero-controls{bottom:14px}.quick-section .elementor-image-box-title{font-size:14px}.quick-section .elementor-image-box-description{font-size:10px}.why-section .container,.intro-section .container{gap:35px}h2{font-size:30px}.why-section .content-list{font-size:13px}.intro-section h3{font-size:15px}.intro-section .content-list{font-size:13px}.service-copy{padding:22px}.service-copy h3{font-size:21px}.service-photo{height:160px}.team-section h2{font-size:25px}.team-section .widget-heading{width:100%;margin-bottom:7px}.has-contact-form .contact-layout{gap:35px}.contact-form{padding:22px}.staff-container{column-gap:35px}.footer-intro{grid-template-columns:200px 1fr;gap:25px}.footer-intro>.source-widget:last-child{grid-column:1/-1}.footer-groups{gap:25px}.document-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}.about-page .contacts-grid{grid-template-columns:1fr}}
@media(max-width:650px){:root{--section:48px}.container{width:calc(100% - 40px)}body{font-size:15px}.topbar-inner{min-height:32px;font-size:10px;gap:8px}.topbar-inner>a:last-child{display:none}.topbar svg{height:13px;width:13px}.header-inner{min-height:70px;gap:9px}.brand img{width:190px}.header-callback{display:none}.mobile-phone{display:inline-flex;margin-left:auto}.menu-button,.mobile-phone{width:38px;height:38px;border:0}.main-nav{top:100%;max-height:calc(100dvh - 70px);padding:16px 20px}.hero-slide{display:flex;flex-direction:column;gap:0;min-height:0}.hero-copy{padding:34px 0 12px;align-self:stretch}.hero-copy h1,.hero-copy h2{font-size:34px;line-height:1.13;letter-spacing:-.03em;max-width:550px;margin:0}.hero-copy>.widget-text-editor{font-size:13px;line-height:1.8;max-width:60ch;margin-top:18px}.hero-copy>.widget-button{margin-top:22px;margin-right:8px}.hero-copy>.widget-button+.widget-button{margin-top:12px}.hero-copy .button{min-height:46px;padding:12px 18px;font-size:12px}.hero-visual{height:290px;width:80%;align-self:center;margin:0 auto}.hero-controls{bottom:15px;right:0;background:white;gap:9px}.hero-controls button{width:26px;height:26px}.quick-section .container{grid-template-columns:repeat(3,1fr);width:100%;padding:0 20px}.quick-section .source-widget{padding:22px 10px;border-bottom:1px solid var(--line)}.quick-section .source-widget:first-child{padding-left:0}.quick-section .source-widget:nth-child(3){border-right:0}.quick-section .source-widget:nth-child(4),.quick-section .source-widget:nth-child(5){border-bottom:0}.quick-section .source-widget:nth-child(4){padding-left:0;grid-column:1}.quick-section .source-widget:nth-child(5){grid-column:2 / 4;padding-left:20px;border-right:0}.quick-section .elementor-image-box-title{font-size:14px}.quick-section .elementor-image-box-description{font-size:10px}.why-section .container,.intro-section .container{display:flex;flex-direction:column;gap:28px}.why-section .split-copy,.intro-section .split-copy{width:100%}.why-section .split-image,.intro-section .split-image{width:100%}.intro-section .split-image{order:0}.why-section .split-image img,.intro-section .split-image img{aspect-ratio:1.45;max-height:330px}h1{font-size:34px}h2{font-size:29px}h3{font-size:22px}.why-section .content-list{font-size:14px}.why-section .content-list li{padding:13px 0}.intro-section h3{font-size:15px}.intro-section .content-list{font-size:14px}.widget-heading:has(h2){margin-top:38px;margin-bottom:24px}.service-grid,.service-grid:has(> :nth-child(4)){grid-template-columns:1fr;gap:18px;margin:25px 0 35px}.service-grid .source-widget{display:grid;grid-template-columns:112px 1fr}.service-photo{height:100%;min-height:156px}.service-copy{padding:20px 18px;gap:18px}.service-copy h3{font-size:22px}.service-link{font-size:12px}.service-link svg{width:17px;height:17px}.price-table{font-size:12px}.price-table th{padding:14px 10px;font-size:10px}.price-table td{padding:16px 10px;line-height:1.7}.price-table td:first-child{width:28px;font-size:10px;padding-top:18px;padding-left:6px;padding-right:0}.price-table td:last-child{width:75px;font-size:12px;padding-inline:8px;white-space:nowrap}.price-search{max-width:none;margin-bottom:20px}.price-search input{font-size:13px}.prices-section .widget-heading h2{font-size:28px}.team-section{padding-block:34px}.team-section .container{gap:10px}.team-section .button{font-size:11px;padding:10px 12px;min-height:42px}.team-section h2{font-size:26px}.has-contact-form .contact-layout{grid-template-columns:1fr;gap:28px}.contact-form{padding:24px 20px}.contact-layout .contact-copy{font-size:14px}.inner-page .content-section{padding-block:30px}.inner-page .widget-heading h1,.inner-page .about-page h1{font-size:31px}.inner-page .widget-heading h2{font-size:27px}.inner-page .widget-ha-breadcrumbs{margin-bottom:28px}.ha-breadcrumbs{font-size:11px;gap:8px}.staff-container{grid-template-columns:1fr;margin-top:30px}.medstaff-page>h1{font-size:29px}.medstaff-page>h2{font-size:14px}.staff-member{padding:25px 0}.staff-member h3{font-size:23px}.staff-member p{font-size:13px}.document-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.document-gallery a{padding:9px}.document-gallery img{max-height:300px}.about-page .info-block{padding:20px}.about-page h2{font-size:24px}.about-page table{font-size:13px}.about-page td,.contact-copy td{padding:10px 5px}.widget-text-editor table{font-size:12px}.widget-text-editor td{padding:8px 5px;overflow-wrap:anywhere}.footer-intro{grid-template-columns:1fr;gap:22px;padding-bottom:26px;margin-bottom:28px}.footer-intro .widget-image img{width:210px}.footer-intro .widget-text-editor{font-size:12px}.footer-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 23px}.footer-group .content-list{font-size:10px;overflow-wrap:anywhere}.footer-group:first-child{grid-column:1 / -1}.footer-group:first-child .content-list{font-size:11px}.site-footer{padding-top:36px}.footer-notice .elementor-heading-title{font-size:10px}.popup-content{padding:48px 24px 28px;display:block}.popup-content .widget-form{margin-top:28px}.popup-content .widget-heading .elementor-heading-title{font-size:25px}.popup-content .widget-ha-breadcrumbs{display:none}.dialog{width:calc(100% - 24px)}.lightbox-dialog{padding:35px 10px 15px}.cookie-notice{right:16px;bottom:14px;padding:14px;font-size:10px;line-height:1.7}.cookie-notice .cookie-notice-container{gap:13px}.legal-details>summary{font-size:13px}.legal-details>.source-widget{font-size:12px}}
@media(max-width:370px){.container{width:calc(100% - 32px)}.brand img{width:170px}.hero-copy h1,.hero-copy h2{font-size:31px}.hero-copy .button{padding:12px 14px;font-size:11px}.service-grid .source-widget{grid-template-columns:90px 1fr}.service-copy{padding:17px 15px}.service-copy h3{font-size:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.elementor-field-subgroup{display:flex;flex-wrap:wrap;gap:10px 16px}.elementor-field-type-radio .elementor-field-option{display:inline-flex;align-items:center;min-height:36px;gap:6px}.elementor-field-type-radio input{accent-color:var(--action);width:16px;height:16px}.elementor-field-type-radio label{cursor:pointer}.elementor-field-type-select select{width:100%;padding:11px 13px;border:1px solid #c6d2d8;border-radius:7px;background:white;color:var(--ink)}.widget-eael-adv-tabs .eael-tab-content-item a{display:block;margin:12px 0}.widget-eael-adv-tabs .eael-tabs-nav ul{margin-top:0;font-weight:600}

/* Responsive refinements from the viewport audit. */
.inner-page h1 { overflow-wrap: anywhere; }
.same-day-notice { padding-block: 24px; border-bottom: 1px solid var(--line); }
.form-demo-notice { margin: 0 0 16px; font-size: 0.875rem; line-height: 1.55; }
.form-demo-notice a, .form-status a { text-decoration: underline; }
@media (max-width: 600px) {
  .same-day-notice { padding-block: 16px; font-size: 0.875rem; }
  .cookie-notice { padding: 10px 12px; }
}

/* Service photos retain their complete landscape frame at every breakpoint. */
.service-grid .service-photo-wide { height: auto; min-height: 0; aspect-ratio: 3 / 2; }
.service-grid .service-photo-wide img { width: 100%; height: 100%; object-fit: contain; }
.review-heading { margin-top: clamp(32px, 5vw, 64px); }
.review-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.review-grid .widget-image-box { min-width: 0; margin: 0; padding: 20px; border: 1px solid var(--line); border-radius: 14px; }
.review-grid .elementor-image-box-img { margin: 0 0 12px; }
.review-grid .elementor-image-box-img img { display: block; width: 112px; height: 42px; object-fit: contain; object-position: left center; }
.review-grid .elementor-image-box-title { margin: 0 0 4px; font-size: 1rem; }
.review-grid .elementor-image-box-description { margin: 0; }
.service-license-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: clamp(36px, 6vw, 72px); }
.service-license-heading h3 { margin: 0; }
@media (max-width: 720px) {
  .review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .review-grid .widget-image-box { padding: 14px; }
}
@media (max-width: 650px) {
  .service-grid .source-widget:has(.service-photo-wide) { display: flex; }
}

/* Patient questionnaire and site policies. */
[data-survey] { max-width: 46rem; padding: clamp(16px, 4vw, 32px); border: 1px solid var(--line); border-radius: 14px; }
[data-survey] section > .elementor-field-group { margin-block: 0 16px; }
[data-survey] select, [data-survey] textarea { width: 100%; min-height: 44px; }
[data-survey] h2 { font-size: clamp(1.3rem, 3vw, 1.75rem); }
[data-survey] [role="group"] label { cursor: pointer; }
[data-survey] [role="group"] .elementor-field-subgroup { display: flex; flex-wrap: wrap; gap: 8px; }
.survey-progress { margin-bottom: 6px; font-weight: 700; }
.survey-actions, .policy-links { display: flex; gap: 12px 20px; flex-wrap: wrap; }
.policy-links { margin-top: 24px; }
.site-policies { margin-top: 32px; max-width: 72ch; overflow-wrap: anywhere; }
#cookie-notice p { margin: 0 0 12px; }
#cookie-notice a { text-decoration: underline; }
#cookie-notice[hidden], [data-survey] [hidden] { display: none !important; }

/* Touch navigation for the homepage slider and document viewer. */
.hero-slides, .lightbox-dialog img { touch-action: pan-y pinch-zoom; }
.gallery-controls { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 12px; }
.lightbox-dialog:has(.gallery-controls) img { max-height: 70dvh; }

@media (max-width: 650px) {
  body { padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }
  .site-header {
    position: fixed;
    inset: auto 0 0;
    padding-bottom: env(safe-area-inset-bottom, 0px);
    border-top: 1px solid var(--line);
    border-bottom: 0;
  }
  .header-inner { min-height: 64px; }
  .site-header .menu-button, .site-header .mobile-phone { width: 44px; height: 44px; }
  .topbar-inner { flex-wrap: wrap; justify-content: flex-start; gap: 4px 16px; padding-block: 10px; font-size: 12px; }
  .topbar-inner > span { display: block; }
  .main-nav {
    top: auto;
    bottom: 100%;
    max-height: calc(100dvh - 82px - env(safe-area-inset-bottom, 0px));
    border-top: 1px solid var(--line);
    border-bottom: 0;
  }
  .cookie-notice { bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
  body:has(.main-nav.is-open) .cookie-notice { visibility: hidden; }
}

.site-masthead { display: contents; }
.mobile-actions { display: none; }

@media (max-width: 650px) {
  :root { --mobile-actions-height: calc(64px + env(safe-area-inset-bottom, 0px)); }
  body { padding-bottom: var(--mobile-actions-height); }
  html { scroll-padding-top: 135px; }
  .site-masthead { display: block; position: sticky; top: 0; z-index: 50; }
  .site-masthead .site-header {
    position: static;
    padding-bottom: 0;
    border-top: 0;
    border-bottom: 1px solid var(--line);
  }
  .site-masthead .header-inner { min-height: 55px; }
  .site-masthead .menu-button, .site-masthead .mobile-phone { display: none; }
  .mobile-actions {
    position: fixed;
    inset: auto 0 0;
    z-index: 51;
    min-height: var(--mobile-actions-height);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px calc(8px + env(safe-area-inset-bottom, 0px));
    background: #fff;
    border-top: 1px solid var(--line);
  }
  .mobile-actions .button { min-height: 44px; padding: 8px 12px; gap: 6px; font-size: 13px; }
  .mobile-actions .menu-button { width: auto; height: auto; border: 1px solid var(--line); }
  .mobile-actions svg { width: 16px; height: 16px; }
  .site-masthead .main-nav {
    position: fixed;
    inset: auto 0 var(--mobile-actions-height);
    max-height: calc(100dvh - var(--mobile-actions-height) - 118px);
  }
  .cookie-notice { bottom: calc(var(--mobile-actions-height) + 12px); }
}

.brand-block { display: contents; }
.brand-address { display: none; }
@media (max-width: 650px) {
  .topbar-inner > a:first-child { display: none; }
  .brand-block { display: grid; gap: 4px; padding-block: 9px; }
  .brand-address { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: 12px; }
  .brand-address svg { width: 14px; height: 14px; flex: 0 0 14px; }
}

.brand-hours { display: none; }
@media (max-width: 650px) {
  .site-masthead .topbar { display: none; }
  .brand-block { width: 100%; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; }
  .brand-block .brand, .brand-address { grid-column: 1; }
  .brand-block .brand { min-width: 0; }
  .brand-block .brand img { max-width: 100%; height: auto; }
  .brand-hours {
    display: grid;
    gap: 3px;
    grid-area: 1 / 2 / 3 / 3;
    align-self: center;
    justify-items: end;
    color: var(--muted);
    font-size: 12px;
    white-space: nowrap;
  }
}

/* Certificate process on service detail pages. */
.certificate-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
}
.certificate-step {
  list-style: none;
  margin: 0;
  padding: clamp(16px, 2.2vw, 28px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft);
}
.certificate-step-number {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: var(--coral-soft);
  color: var(--action);
  font-weight: 700;
}
.certificate-step h3,
.certificate-consultation h3 {
  margin: 0 0 8px;
  font-size: 20px;
  text-wrap: wrap;
}
.certificate-step p,
.certificate-consultation p {
  margin: 0;
  font-size: 14px;
  color: var(--muted);
}
.certificate-process .certificate-consultation {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 24px;
  max-width: none;
  padding: clamp(16px, 2.2vw, 28px);
  border-radius: var(--radius);
  background: var(--blue-soft);
}
.certificate-consultation-text p { display: inline; }
.certificate-consultation-call { display: grid; gap: 4px; }
.certificate-consultation-call a { color: var(--link); white-space: nowrap; }

@media (max-width: 760px) {
  .certificate-steps { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .certificate-step {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    column-gap: 12px;
    align-items: start;
  }
  .certificate-step-number { grid-row: span 2; margin: 0; }
}

/* Contact details, map and schedule actions. */
.clinic-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr);
  gap: clamp(16px, 3vw, 32px);
  align-items: start;
}
.clinic-contact-info {
  padding: clamp(16px, 2.5vw, 28px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--soft);
}
.clinic-contact-info .source-widget + .source-widget {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.clinic-contact-info h2 { margin: 0 0 6px; font-size: 19px; }
.clinic-contact-info .content-list li { border: 0; padding: 2px 0; }
.clinic-contact-info .content-list li::before { display: none; }
.clinic-contact-info .content-list li a { overflow-wrap: anywhere; }
.clinic-map { min-width: 0; }
.clinic-map iframe {
  display: block;
  width: 100%;
  height: clamp(320px, 37vw, 490px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--blue-soft);
}
.clinic-map > a { display: inline-block; margin: 10px 16px 0 0; text-decoration: underline; }
.schedule-actions { display: flex; flex-wrap: wrap; align-items: stretch; gap: 12px; margin-block: 20px; }
.schedule-actions .source-widget { margin: 0; min-width: 0; }
.schedule-actions .button { height: 100%; text-align: center; }
@media (max-width: 700px) {
  .clinic-contact-layout { grid-template-columns: minmax(0, 1fr); }
  .schedule-actions .source-widget { flex: 1 1 0; }
  .schedule-actions .button { width: 100%; padding-inline: 8px; }
}

@media (max-width: 950px), (pointer: coarse) {
  .service-grid .widget-call-to-action { position: relative; }
  .service-grid .service-link::after {
    content: "";
    position: absolute;
    inset: 0;
  }
  .service-grid .widget-call-to-action:focus-within {
    outline: 3px solid var(--blue);
    outline-offset: 3px;
  }
}
