@font-face{font-family:Capital;src:local("Avenir Next");font-display:swap}
:root{--navy:#102d43;--ink:#183447;--teal:#006e76;--teal-dark:#00565e;--mint:#a7e2db;--pale:#eef7f8;--line:#d9e5e8;--body:#536872;--white:#fff;--radius:18px;--shadow:0 18px 60px #173c5014}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:116px}body{margin:0;background:var(--white);color:var(--ink);font-family:Capital,"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.15}h1{font-size:clamp(2.8rem,4.35vw,4.35rem);letter-spacing:-.045em;line-height:1.11}h2{font-size:clamp(2rem,3.15vw,3rem);letter-spacing:-.035em;line-height:1.18}h3{font-size:1.45rem;letter-spacing:-.025em}p{color:var(--body)}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #007a88;outline-offset:5px;border-radius:3px}section[id],div[id]{scroll-margin-top:20px}.container{width:min(1280px,calc(100% - 96px));margin:0 auto}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.icon{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.skip-link{position:fixed;left:20px;top:-100px;padding:14px 22px;z-index:100;background:var(--navy);color:white}.skip-link:focus{top:12px}.topbar{background:var(--navy);color:#e5f1f4;font-size:.875rem}.topbar-inner{display:flex;justify-content:space-between;gap:20px;padding:9px 0}.topbar span,.topbar a{display:flex;align-items:center;gap:9px}.topbar .icon{width:16px;height:16px;color:#ade5df}.topbar a:hover{text-decoration:underline;text-underline-offset:4px}.site-header{position:sticky;top:0;z-index:30;background:#fffffffa;border-bottom:1px solid #edf1f3;backdrop-filter:blur(14px)}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:104px}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.main-navigation{display:flex;align-items:center;gap:32px;font-size:.9375rem;font-weight:500}.main-navigation>a:not(.button){padding:14px 0;position:relative}.main-navigation>a:not(.button):after{content:"";position:absolute;bottom:7px;left:0;width:0;height:2px;background:var(--teal);transition:width .2s}.main-navigation>a:hover:after{width:100%}.button{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:17px 24px;border-radius:7px;background:var(--teal);color:white;border:1px solid var(--teal);font-weight:600;font-size:.9375rem;line-height:1.4;transition:background .2s,transform .2s;min-height:54px}.button:hover{background:var(--teal-dark);border-color:var(--teal-dark);transform:translateY(-2px)}.button .icon{width:20px;height:20px}.button-small{padding:14px 18px;font-size:.875rem;min-height:48px;gap:14px}.text-link{display:inline-flex;align-items:center;gap:12px;font-size:.9375rem;font-weight:600;color:var(--teal);line-height:1.5;min-height:44px}.text-link .icon{width:20px;height:20px;transition:transform .2s}.text-link:hover .icon{transform:translateX(4px)}.text-link:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:60px;align-items:center;padding:54px 0 70px;min-height:660px}.hero-copy{padding:12px 0}.eyebrow{font-size:.75rem;color:var(--teal);letter-spacing:.14em;font-weight:650;line-height:1.6;margin-bottom:23px;display:flex;align-items:center;gap:12px}.short-line{width:32px;height:2px;background:var(--teal)}.hero h1 span{color:var(--teal)}.hero-description{font-size:1.15rem;line-height:1.8;max-width:440px;margin-top:25px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:32px;flex-wrap:wrap}.hero-location{display:flex;align-items:center;gap:14px;padding-top:34px;margin-top:30px;border-top:1px solid var(--line);width:fit-content;min-width:320px}.hero-location>span:last-child{display:flex;flex-direction:column;font-size:.875rem;line-height:1.7;color:var(--body)}.hero-location strong{font-weight:600;color:var(--navy);font-size:.9375rem}.location-icon{height:42px;width:42px;border-radius:50%;background:var(--pale);color:var(--teal);display:grid;place-items:center}.location-icon .icon{width:22px;height:22px}.hero-visual{position:relative;padding:0 0 30px 5px;min-width:0}.photo-frame{height:510px;border-radius:100px 18px 18px 18px;background:#e5eff0;position:relative;overflow:hidden;isolation:isolate}.photo-frame>img{height:100%;object-fit:cover;object-position:center 42%}.image-caption{position:absolute;bottom:15px;right:15px;font-size:.75rem;background:#ffffffda;border-radius:3px;color:#3c5260;padding:2px 7px}.hours-badge{position:absolute;bottom:0;left:-35px;display:flex;align-items:flex-start;gap:17px;padding:23px 27px;border-radius:12px;background:var(--navy);color:#fff;box-shadow:0 12px 34px #102d432e;z-index:2}.badge-icon{width:44px;height:44px;display:grid;place-items:center;border:1px solid #6f9aab;border-radius:50%;color:var(--mint)}.badge-icon .icon{width:24px;height:24px}.badge-label{display:block;color:#ade1dd;letter-spacing:.1em;font-size:.6875rem;line-height:1.6;margin-bottom:9px;font-weight:500}.hours-badge strong{font-weight:500;font-size:1.5rem;line-height:1.2;display:block;letter-spacing:-.02em}.hours-badge a{display:inline-flex;align-items:center;gap:10px;font-size:.8125rem;margin-top:12px;color:#ceeeec;min-height:28px}.hours-badge a:hover{text-decoration:underline;text-underline-offset:4px}.hours-badge a .icon{width:17px;height:17px}.visual-accent{position:absolute;right:-17px;top:-17px;width:104px;height:104px;background:var(--mint);border-radius:0 26px 0 0;z-index:-1}.quick-links{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;gap:30px}.quick-links>a{display:flex;align-items:center;gap:18px;padding:0 22px 0 0;border-right:1px solid var(--line)}.quick-links>a:last-child{border:0;padding:0}.quick-icon{width:43px;display:grid;place-items:center;color:var(--teal)}.quick-icon .icon{width:31px;height:31px;stroke-width:1.4}.quick-links>a>span:nth-child(2){display:flex;flex-direction:column;gap:4px}.quick-links strong{font-weight:600;font-size:1rem}.quick-links>a>span>span{color:var(--body);font-size:.875rem}.quick-arrow{margin-left:auto;width:19px;color:var(--teal)}.quick-links>a:hover strong{color:var(--teal)}.section{padding-top:94px;padding-bottom:94px}.about-section{display:grid;grid-template-columns:1fr 1fr;gap:90px}.about-copy{max-width:565px}.about-copy p+p{margin-top:18px}.about-copy .lead{font-size:1.3rem;line-height:1.65;color:var(--ink);margin-bottom:23px}.about-copy .text-link{margin-top:22px}.visit-section{background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:45px}.section-heading>p{max-width:290px;font-size:1rem;padding-bottom:4px}.section-heading .eyebrow{margin-bottom:18px}.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.step{background:#fff;border:1px solid #dbe8e9;border-radius:12px;padding:28px;display:flex;flex-direction:column;align-items:flex-start}.step-top{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:33px}.step-number{font-size:2.4rem;font-weight:400;line-height:1;color:#9ab9bf;letter-spacing:-.05em}.step-top .icon{width:29px;height:29px;color:var(--teal);stroke-width:1.4}.step h3{font-size:1.25rem;line-height:1.35;min-height:1.35em;margin-bottom:13px}.step p{line-height:1.75;margin-bottom:20px}.step .text-link{margin-top:auto;font-size:.875rem}.step-note{margin-top:auto;display:flex;align-items:center;gap:9px;color:var(--teal);font-size:.8125rem;min-height:44px}.step-note .icon{width:18px;height:18px}.prep-note{font-size:.875rem;margin:26px 0 0;max-width:850px}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.address-panel{background:var(--navy);color:#fff;padding:42px;border-radius:16px;display:flex;flex-direction:column;position:relative;overflow:hidden}.address-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:45px;gap:15px}.outline-icon{width:56px;height:56px;display:grid;place-items:center;border:1px solid #638b9d;border-radius:50%;color:var(--mint)}.outline-icon .icon{width:27px;height:27px}.location-label{font-size:.75rem;letter-spacing:.14em;color:#bfe0e3}.address-panel h3{font-size:2.4rem;line-height:1.2;letter-spacing:-.04em;margin-bottom:29px}.address-panel address{font-style:normal;font-size:1.0625rem;color:#d8e8ed;line-height:1.85}.address-panel address strong{font-weight:600;color:#fff}.address-note{font-size:.875rem;max-width:330px;color:#b8cfd7;margin:17px 0 30px}.address-actions{display:flex;align-items:center;flex-wrap:wrap;gap:20px;margin-top:auto}.button-light{background:#fff;color:var(--navy);border-color:white;font-size:.875rem;padding:15px 18px;gap:16px}.button-light:hover{background:#def2f1;border-color:#def2f1}.copy-address{border:0;color:#d8e8ed;background:transparent;padding:8px 0;display:flex;gap:9px;align-items:center;font-size:.875rem;min-height:44px}.copy-address:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}.copy-address .icon{width:18px;height:18px}.copy-status{font-size:.875rem;color:#d1efeb;min-height:23px;margin-top:8px}.visit-details{display:flex;flex-direction:column;gap:20px;min-width:0}.hours-panel{background:#f0f7f8;border:1px solid var(--line);border-radius:16px;padding:33px 35px;flex:1}.pill{display:inline-flex;align-items:center;gap:8px;background:#d9edeb;padding:6px 12px;border-radius:30px;font-size:.6875rem;color:var(--teal-dark);letter-spacing:.1em;font-weight:650;line-height:1.6}.pill .icon{width:14px;height:14px}.hours-panel h3{font-size:2rem;line-height:1.2;letter-spacing:-.035em;margin:19px 0 16px}.hours-panel>p{max-width:370px}.hours-status{border-top:1px solid #d6e5e7;padding-top:22px;margin-top:25px;display:flex;align-items:flex-start;gap:13px}.hours-status>.icon{color:var(--teal);width:21px;height:21px;margin-top:3px}.hours-status strong{font-size:.9375rem;font-weight:600}.hours-status p{font-size:.875rem;line-height:1.7;margin-top:5px}.appointment-panel{border:1px solid var(--line);border-radius:14px;padding:26px 35px}.appointment-panel h3{font-size:1.2rem;margin-bottom:12px}.appointment-panel p{font-size:.9375rem;line-height:1.75}.small-label{display:block;margin-top:12px;color:var(--teal);font-size:.8125rem}.faq-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:100px;padding-top:75px}.faq-heading p:last-child{max-width:270px;margin-top:24px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:22px;cursor:pointer;padding:25px 0;font-size:1rem;line-height:1.5;font-weight:500}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary .icon{color:var(--teal);width:21px;height:21px;transition:transform .2s}.faq-list summary:hover{color:var(--teal)}.faq-list details[open] summary .icon{transform:rotate(45deg)}.faq-answer{padding:0 38px 25px 0;font-size:.9375rem;line-height:1.85}.faq-answer p+p{margin-top:14px}.faq-answer .text-link{margin-top:12px}.closing-banner{background:#e0f1f1;padding:63px 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:60px}.closing-inner .eyebrow{margin-bottom:17px}.closing-inner h2{font-size:2.7rem;letter-spacing:-.04em}.closing-inner>div:last-child{min-width:290px}.closing-inner>div:last-child>p{margin-bottom:22px;font-size:1rem}.site-footer{padding:55px 0 27px}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:40px;padding-bottom:43px}.footer-main>.brand{transform:none}.footer-main p{font-size:.875rem;line-height:1.75}.footer-main nav{display:flex;gap:25px;flex-wrap:wrap;font-size:.875rem}.footer-main nav a:hover{color:var(--teal);text-decoration:underline;text-underline-offset:5px}.footer-bottom{padding:22px 0 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:.75rem;color:var(--body)}.footer-bottom a:hover{text-decoration:underline}.website-information{margin-top:22px;max-width:850px;color:var(--body);font-size:.8125rem}.website-information summary{cursor:pointer;width:fit-content;min-height:32px}.website-information p{margin-top:10px;line-height:1.8}.website-information:target{padding:12px 18px;background:var(--pale);border-radius:6px}
@media(min-width:1500px){.hero{gap:80px;padding-top:64px;padding-bottom:80px}.photo-frame{height:550px}}
@media(max-width:1150px){.container{width:calc(100% - 64px)}.main-navigation{gap:22px;font-size:.875rem}.header-inner{gap:25px}.main-navigation .button-small{font-size:.8125rem;padding:13px}.hero{gap:35px;grid-template-columns:1.1fr 1fr;padding:44px 0 62px}.hero h1{font-size:3.3rem}.hero-description{font-size:1.0625rem}.hero-actions{gap:14px}.hero-actions>.text-link{font-size:.875rem}.hero-actions>.button{padding:16px 20px}.photo-frame{height:490px}.hours-badge{left:-16px;padding:22px}.quick-links{gap:20px}.quick-links>a{gap:10px;padding-right:15px}.quick-links>a>span>span{font-size:.8125rem}.quick-icon{width:32px}.quick-icon .icon{width:26px}.quick-arrow{display:none}.about-section{gap:55px}.step{padding:24px}.address-panel{padding:32px}.address-panel h3{font-size:2.2rem}.address-top{margin-bottom:34px}.hours-panel{padding:28px}.appointment-panel{padding:25px 28px}.faq-section{gap:70px}.footer-main{gap:20px}.footer-main nav{gap:18px}}
@media(max-width:940px){.main-navigation{gap:18px}.main-navigation .button-small{display:none}.hero{gap:32px}.hero h1{font-size:2.95rem}.hero-actions{align-items:flex-start;flex-direction:column;gap:7px}.hero-location{min-width:0;margin-top:20px;padding-top:23px}.photo-frame{height:470px}.hero .eyebrow{font-size:.6875rem}.hours-badge{left:-12px;gap:12px;padding:19px}.badge-icon{width:38px;height:38px}.hours-badge strong{font-size:1.35rem}.about-section{gap:45px}.section{padding-top:75px;padding-bottom:75px}.section-heading{gap:40px}.step{padding:22px}.step h3{font-size:1.125rem}.step p{font-size:.9375rem}.step .text-link{font-size:.8125rem;gap:6px}.steps-grid{gap:14px}.step-note{font-size:.75rem;gap:5px}.step-note .icon{width:16px}.location-label{font-size:.6875rem}.address-panel h3{font-size:2rem}.footer-main{align-items:flex-start;flex-wrap:wrap}.footer-main nav{width:100%;border-top:1px solid var(--line);padding-top:23px;justify-content:flex-start}.faq-section{grid-template-columns:.8fr 1.2fr;gap:48px}}
@media(max-width:700px){html{scroll-padding-top:92px}.container{width:calc(100% - 40px)}.topbar-inner{justify-content:center;padding:8px 0}.topbar span{font-size:.75rem;gap:6px}.topbar-inner>a{display:none}.topbar .icon{width:14px;height:14px}.header-inner{min-height:82px;gap:20px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:6px;padding:10px;color:var(--navy)}.menu-toggle>span{height:2px;background:currentColor;width:22px;transition:transform .2s}.menu-toggle[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true]>span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-navigation{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px 22px;background:white;border-bottom:1px solid var(--line);box-shadow:0 12px 20px #102d4312;flex-direction:column;align-items:stretch;gap:0;font-size:1rem}.main-navigation.is-open{display:flex}.main-navigation>a:not(.button){padding:14px 4px}.main-navigation .button-small{display:flex;font-size:.875rem;margin-top:12px;padding:15px}.main-navigation>a:not(.button):after{display:none}.hero{grid-template-columns:1fr;gap:40px;padding-top:38px;padding-bottom:49px;min-height:0}.hero-copy{padding:0}.hero .eyebrow{font-size:.6875rem;margin-bottom:21px}.hero h1{font-size:clamp(2.45rem,8.75vw,3.8rem);letter-spacing:-.05em}.hero-description{font-size:1.0625rem;line-height:1.75;margin-top:21px;max-width:420px}.hero-actions{flex-direction:row;align-items:center;gap:18px;margin-top:25px}.hero-actions>.button{font-size:.875rem;padding:16px 20px;gap:15px}.hero-actions>.text-link{font-size:.875rem;gap:7px}.hero-location{margin-top:24px;padding-top:22px;width:100%}.hero-visual{padding:0 0 36px 0;margin:0 0 0 14px}.photo-frame{height:390px;border-radius:70px 14px 14px 14px}.photo-frame>img{object-position:center 36%}.hours-badge{bottom:0;left:-14px;padding:19px 23px;gap:15px}.hours-badge strong{font-size:1.35rem}.badge-label{font-size:.625rem;margin-bottom:6px}.hours-badge a{margin-top:8px;font-size:.8125rem}.visual-accent{width:85px;height:85px;right:-8px;top:-10px}.image-caption{bottom:12px;right:10px;font-size:.6875rem}.quick-links{grid-template-columns:1fr;padding:4px 0;gap:0}.quick-links>a{border-right:0;border-bottom:1px solid var(--line);padding:21px 2px;gap:18px}.quick-links>a:last-child{padding:21px 2px}.quick-links strong{font-size:.9375rem}.quick-links>a>span>span{font-size:.875rem}.quick-icon{width:37px}.quick-arrow{display:block;width:19px}.section{padding-top:58px;padding-bottom:58px}.about-section{grid-template-columns:1fr;gap:25px}.eyebrow{font-size:.6875rem;letter-spacing:.11em;margin-bottom:18px}h2{font-size:2.15rem;line-height:1.2;letter-spacing:-.04em}.about-copy .lead{font-size:1.18rem;line-height:1.7;margin-bottom:18px}.about-copy p+p{margin-top:16px}.about-copy .text-link{margin-top:17px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:19px;max-width:350px}.steps-grid{grid-template-columns:1fr;gap:17px}.step{padding:27px 25px}.step-top{margin-bottom:24px}.step-number{font-size:2.3rem}.step h3{font-size:1.25rem}.step p{font-size:1rem}.step .text-link{font-size:.9375rem}.step-note{font-size:.875rem}.step-note .icon{width:18px}.prep-note{font-size:.875rem;line-height:1.8;margin-top:22px}.location-grid{grid-template-columns:1fr;gap:19px}.address-panel{padding:29px}.address-panel h3{font-size:2.15rem}.address-top{margin-bottom:30px}.location-label{font-size:.6875rem}.address-panel address{font-size:1rem}.address-note{font-size:.875rem;margin-bottom:27px}.address-actions{gap:13px}.button-light{font-size:.875rem;padding:15px 18px}.copy-address{font-size:.875rem}.hours-panel{padding:28px}.hours-panel h3{font-size:2rem}.appointment-panel{padding:26px 28px}.faq-section{grid-template-columns:1fr;gap:29px}.faq-heading p:last-child{margin-top:18px;max-width:320px}.faq-list summary{padding:22px 0;font-size:1rem;gap:17px}.faq-answer{padding-right:22px;font-size:.9375rem}.closing-banner{padding:47px 0}.closing-inner{display:block}.closing-inner h2{font-size:2.4rem}.closing-inner>div:last-child{min-width:0;margin-top:27px}.closing-inner>div:last-child>p{margin-bottom:22px}.site-footer{padding:39px 0 25px}.footer-main{display:block;padding-bottom:25px}.footer-main>.brand{transform:none;margin-bottom:17px}.footer-main>p{margin-bottom:23px}.footer-main nav{gap:25px;display:flex;flex-wrap:wrap;padding-top:23px;font-size:.875rem}.footer-bottom{display:flex;flex-direction:column;gap:9px;padding-top:22px;font-size:.75rem}.website-information{font-size:.8125rem}.website-information p{line-height:1.9}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.hero-actions{gap:10px;align-items:flex-start;flex-direction:column}.photo-frame{height:355px}.hero h1{font-size:2.7rem}.address-panel{padding:25px}.location-label{letter-spacing:.08em}.hours-panel,.appointment-panel{padding:25px}.step{padding:25px}.closing-inner h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.topbar,.site-header,.hero-visual,.quick-links,.closing-banner,.site-footer,.hero-actions,.address-actions,.menu-toggle{display:none}.container{width:100%}.hero,.section{padding:20px 0;min-height:0}.hero,.about-section,.faq-section,.location-grid{display:block}.hero h1{font-size:30pt}.eyebrow{margin-bottom:12px}.hero-location{margin-top:15px;padding-top:10px}.steps-grid{display:block}.step{break-inside:avoid;margin:15px 0}.address-panel{background:white;color:#102d43;padding:20px 0}.address-panel p,.address-panel address,.address-panel address strong{color:#102d43}.address-top{display:none}.address-panel h3{font-size:22pt}.hours-panel,.appointment-panel{margin-top:15px}.faq-list details{break-inside:avoid}.faq-list details:not([open]){display:none}a[href^="https://"]:after{content:" (" attr(href) ")";font-size:9pt;overflow-wrap:anywhere}}

/* Supplied clinic logo: original image bytes, responsive presentation. */
.brand{gap:0;max-width:100%;min-width:0}.brand-image{display:block;width:320px;max-width:100%;aspect-ratio:1320 / 510;overflow:hidden;border-radius:7px;background:#e0e0df;flex-shrink:0}.brand-image img{width:100%;height:auto;max-width:none}.header-inner{min-height:142px;padding-top:8px;padding-bottom:8px}.footer-main .brand-image{width:300px}.footer-main>.brand{flex-shrink:0}html{scroll-padding-top:156px}
@media(max-width:1150px){.brand-image{width:280px}.header-inner{min-height:124px}html{scroll-padding-top:138px}}
@media(max-width:940px){.brand-image{width:265px}.header-inner{min-height:118px}html{scroll-padding-top:132px}}
@media(max-width:700px){.brand-image{width:245px}.header-inner{min-height:112px}.footer-main .brand-image{width:min(310px,100%)}.footer-main>.brand{width:min(310px,100%)}html{scroll-padding-top:128px}}
@media(max-width:380px){.brand-image{width:225px}.header-inner{gap:12px;min-height:103px}html{scroll-padding-top:117px}}

/* Patient-journey improvements, September 2026. */
:root{--navy:#0b3048;--ink:#17364a;--teal:#006c78;--teal-dark:#005563;--body:#4b626f}
[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}#main:focus{outline:none}input:focus-visible{outline:3px solid #009faf;outline-offset:5px}a,button{touch-action:manipulation}
html{scroll-padding-top:116px}.header-inner{min-height:100px;padding:8px 0}.brand-image{width:218px}.main-navigation{gap:30px}.hero{min-height:560px;padding:40px 0 49px;gap:60px}.hero h1{font-size:clamp(2.8rem,4.35vw,4.2rem)}.hero-description{max-width:455px}.hero-availability{font-size:.875rem;line-height:1.7;max-width:425px;margin-top:18px}.hero-location{padding-top:22px;margin-top:23px}.photo-frame{height:440px}.hours-badge{padding:21px 23px}.badge-label{font-size:.75rem;letter-spacing:.04em}.hours-badge a{font-size:.875rem;min-height:36px}.hours-badge strong{font-size:1.4rem}.image-caption{font-size:.75rem}
.quick-links{background:var(--navy);color:#fff;border:0;border-radius:12px;padding:25px 0;gap:0}.quick-links>a{padding:3px 24px;gap:15px;border-color:#4a6878}.quick-links>a:last-child{padding:3px 24px}.quick-icon,.quick-arrow{color:#a7e2db}.quick-links>a>span>span{color:#d0e3ec;font-size:.875rem}.quick-links strong{font-size:.9375rem;line-height:1.5}.quick-links>a:hover strong{color:#fff;text-decoration:underline;text-underline-offset:5px}.section{padding-top:80px;padding-bottom:80px}.appointments-section{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.section-description{font-size:1.0625rem;line-height:1.8;max-width:430px;margin-top:22px}.booking-steps{list-style:none;padding:0;margin:30px 0 0}.booking-steps li{display:flex;gap:19px;padding:19px 0;border-top:1px solid var(--line)}.booking-steps li:last-child{padding-bottom:0}.booking-steps li>span{color:var(--teal);font-size:.875rem;padding-top:2px;font-weight:600}.booking-steps h3{font-size:1rem;line-height:1.5;font-weight:600;letter-spacing:0}.booking-steps p{margin-top:5px;font-size:1rem;line-height:1.75}.clinic-information{border:1px solid var(--line);border-radius:14px;padding:30px 32px;background:#f5f9fa}.information-heading{display:flex;gap:15px;align-items:center;margin-bottom:25px}.information-heading .outline-icon{color:var(--teal);border-color:#b7cfd6;width:48px;height:48px;flex-shrink:0}.information-heading h3{font-size:1.4rem}.information-list{margin:0}.information-list>div{padding:16px 0;border-top:1px solid var(--line)}.information-list dt{font-size:.875rem;color:var(--body);line-height:1.5;margin-bottom:5px}.information-list dd{margin:0;font-size:1rem;line-height:1.6;color:var(--navy);font-weight:500}.information-note{border-top:1px solid var(--line);padding-top:20px;margin-top:5px}.information-note strong{font-size:1rem;font-weight:600}.information-note p{margin-top:6px;font-size:.9375rem;line-height:1.75}.clinic-information>.text-link{margin-top:13px}
.visit-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:start}.checklist-card{background:#fff;border:1px solid #d3e2e7;border-radius:14px;padding:30px 32px}.checklist-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.checklist-heading h3{font-size:1.2rem;font-weight:600}.checklist-status{font-size:.875rem;color:var(--teal);white-space:nowrap}.checklist-card progress{display:block;width:100%;height:5px;border:0;border-radius:5px;background:#e4eff1;margin:21px 0 10px;overflow:hidden;appearance:none}.checklist-card progress::-webkit-progress-bar{background:#e4eff1;border-radius:5px}.checklist-card progress::-webkit-progress-value{background:var(--teal);border-radius:5px}.checklist-card progress::-moz-progress-bar{background:var(--teal);border-radius:5px}.visit-checklist{border:0;padding:0;margin:0;min-width:0}.visit-checklist label{display:flex;gap:14px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line);cursor:pointer}.visit-checklist input{height:22px;width:22px;flex-shrink:0;accent-color:var(--teal);margin:3px 0 0;cursor:pointer}.visit-checklist label>span{display:flex;flex-direction:column;gap:5px}.visit-checklist strong{font-size:1rem;line-height:1.5;font-weight:600}.visit-checklist label>span>span{font-size:.9375rem;line-height:1.75;color:var(--body)}.visit-checklist input:checked+span>strong{color:var(--teal)}.checklist-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:17px}.print-checklist{border:0;background:transparent;padding:0}.reset-checklist{border:0;background:transparent;padding:10px 0;font-size:.875rem;min-height:44px;color:var(--body)}.reset-checklist:hover{text-decoration:underline;text-underline-offset:4px}.checklist-note{font-size:.75rem;margin-top:7px;line-height:1.7}.print-address{display:none}.preparation-guide article{padding:8px 0 29px}.guide-label{font-size:.75rem;color:var(--teal);letter-spacing:.11em;font-weight:650}.preparation-guide h3{font-size:1.65rem;line-height:1.3;margin-top:15px;margin-bottom:18px;letter-spacing:-.025em}.preparation-guide p{font-size:1rem;line-height:1.8}.preparation-guide p+p{margin-top:15px}.preparation-guide article+article{border-top:1px solid #c7dce2;padding-top:27px;padding-bottom:0}
.arrival-panel{border:1px solid var(--line);border-radius:14px;padding:26px 32px}.arrival-panel h3{font-size:1.25rem}.arrival-panel dl{margin:18px 0 0}.arrival-panel dl>div+div{margin-top:17px}.arrival-panel dt{font-size:.9375rem;font-weight:600}.arrival-panel dd{margin:5px 0 0;font-size:.9375rem;line-height:1.75;color:var(--body)}.arrival-panel>p{font-size:.875rem;color:var(--teal);margin-top:20px}.hours-status p,.address-note{font-size:.9375rem}.pill,.location-label{font-size:.75rem}.hours-panel .pill{font-size:.75rem}.referrer-section{background:var(--navy);color:#fff;padding:64px 0}.referrer-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start}.referrer-inner .eyebrow{color:#a7e2db}.referrer-inner h2{font-size:2.6rem}.referrer-inner>div>p:last-child{color:#c6dce6;line-height:1.85;margin-top:24px;max-width:470px}.referrer-guide{border-left:1px solid #587383;padding-left:40px}.referrer-guide h3{font-size:1.3rem;margin-bottom:21px}.referrer-guide ul{padding-left:21px;margin:0}.referrer-guide li{padding-left:5px;margin-bottom:12px;color:#e2edf2;font-size:1rem;line-height:1.65}.referrer-guide li::marker{color:#a7e2db}.referrer-guide>p{color:#c1d9e3;font-size:.9375rem;line-height:1.85;margin:23px 0 14px}.referrer-guide .text-link{color:#a7e2db}.faq-answer{font-size:1rem}.closing-inner h2{font-size:2.3rem;max-width:470px}.closing-banner{padding:49px 0}.footer-main{align-items:flex-start}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 24px;font-size:.9375rem}.footer-main nav a{min-height:44px;padding:8px 0}.footer-bottom,.website-information{font-size:.875rem}.website-information summary{min-height:44px}.mobile-actions{display:none}
@media(max-width:1150px){.brand-image{width:218px}.header-inner{min-height:100px}.hero{gap:40px}.hero h1{font-size:3.3rem}.photo-frame{height:425px}.quick-links>a,.quick-links>a:last-child{padding:3px 20px}.appointments-section{gap:55px}.visit-grid{gap:45px}.clinic-information,.checklist-card{padding:28px}.referrer-inner{gap:60px}.referrer-guide{padding-left:30px}}
@media(max-width:940px){html{scroll-padding-top:108px}.brand-image{width:198px}.header-inner{min-height:93px}.main-navigation{gap:21px}.hero{gap:30px}.hero h1{font-size:3rem}.hero-description{font-size:1.0625rem}.photo-frame{height:415px}.hero .eyebrow,.badge-label,.image-caption{font-size:.75rem}.hours-badge{padding:19px;gap:12px}.hours-badge strong{font-size:1.3rem}.hours-badge .badge-label{max-width:190px}.quick-links>a,.quick-links>a:last-child{padding:3px 17px;gap:10px}.quick-links strong{font-size:.875rem}.appointments-section{gap:35px}.clinic-information{padding:25px}.information-heading{gap:12px}.information-heading h3{font-size:1.25rem}.visit-grid{gap:34px}.checklist-card{padding:25px}.checklist-heading{align-items:flex-start;flex-direction:column;gap:8px}.preparation-guide h3{font-size:1.5rem}.section{padding-top:66px;padding-bottom:66px}.referrer-inner{gap:40px}.referrer-inner h2{font-size:2.35rem}.referrer-guide{padding-left:26px}.footer-main nav{display:flex;gap:25px}}
@media(max-width:700px){html{scroll-padding-top:110px;scroll-padding-bottom:115px}.brand-image{width:193px}.header-inner{min-height:90px;gap:20px}.menu-toggle{width:46px;height:46px;flex-shrink:0}:root:not(.menu-ready) .header-inner{flex-wrap:wrap}:root:not(.menu-ready) .main-navigation{display:flex;position:static;flex-direction:row;flex-wrap:wrap;align-items:center;width:100%;border:0;box-shadow:none;padding:0 0 12px;gap:8px 22px}:root:not(.menu-ready) .main-navigation .button-small{margin:0}.main-navigation{max-height:calc(100dvh - 90px);overflow:auto}.hero{padding:33px 0 38px;gap:33px}.hero h1{font-size:clamp(2.5rem,8.7vw,3.7rem)}.hero .eyebrow,.eyebrow{font-size:.75rem;letter-spacing:.1em}.hero-description{font-size:1.0625rem}.hero-actions{gap:23px}.hero-availability{font-size:.875rem;max-width:430px}.hero-location{padding-top:20px;margin-top:21px}.hero-visual{padding-bottom:28px;margin-left:10px}.photo-frame{height:340px;border-radius:55px 12px 12px 12px}.hours-badge{left:-10px;padding:18px 21px;gap:14px}.hours-badge strong{font-size:1.25rem}.hours-badge .badge-label{font-size:.75rem;max-width:190px;letter-spacing:.03em}.hours-badge a{font-size:.875rem}.image-caption{font-size:.75rem}.quick-links{padding:5px 21px;border-radius:10px}.quick-links>a,.quick-links>a:last-child{padding:18px 0;gap:16px;border-bottom-color:#4a6878}.quick-links strong{font-size:1rem}.quick-links>a>span>span{font-size:.875rem}.section{padding-top:55px;padding-bottom:55px}.appointments-section{grid-template-columns:1fr;gap:32px}.section-description{font-size:1rem;margin-top:20px}.booking-steps{margin-top:26px}.booking-steps li{padding:18px 0;gap:17px}.clinic-information{padding:25px}.information-heading h3{font-size:1.3rem}.visit-grid{grid-template-columns:1fr;gap:29px}.checklist-card{padding:25px}.checklist-heading{flex-direction:row;align-items:baseline;gap:12px}.checklist-heading h3{font-size:1.1rem}.checklist-status{font-size:.875rem}.preparation-guide article{padding:4px 0 25px}.preparation-guide article+article{padding-top:26px}.preparation-guide h3{font-size:1.6rem}.arrival-panel{padding:26px 28px}.location-label,.pill{font-size:.75rem}.referrer-section{padding:48px 0}.referrer-inner{grid-template-columns:1fr;gap:28px}.referrer-inner h2{font-size:2.2rem}.referrer-inner>div>p:last-child{margin-top:21px}.referrer-guide{border-left:0;padding:25px 0 0;border-top:1px solid #587383}.referrer-guide h3{font-size:1.2rem}.faq-answer{font-size:1rem}.closing-inner h2{font-size:2rem}.closing-banner{padding:40px 0}.footer-main nav{display:grid;grid-template-columns:1fr 1fr;gap:3px 24px;font-size:.9375rem}.site-footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}.footer-bottom,.website-information{font-size:.875rem}.footer-bottom a{min-height:36px;display:flex;align-items:center;width:fit-content}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;z-index:25;left:0;right:0;bottom:0;min-height:65px;background:#fffffff5;border-top:1px solid #bed4dc;padding:8px 18px calc(8px + env(safe-area-inset-bottom,0px));gap:10px;backdrop-filter:blur(14px);box-shadow:0 -5px 24px #153c4d0b}.mobile-actions a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:46px;padding:10px 12px;font-size:.9375rem;line-height:1.4;font-weight:600;color:var(--teal);border-radius:6px}.mobile-actions a:first-child{background:var(--teal);color:#fff}.mobile-actions .icon{width:20px;height:20px}}
@media(max-width:380px){.hero h1{font-size:clamp(2.35rem,9.2vw,2.9rem)}.hero-actions{flex-direction:row;gap:18px}.hero-actions>.button{padding:14px 16px;gap:11px}.hero-actions>.text-link{font-size:.875rem}.photo-frame{height:305px}.hours-badge{padding:16px;gap:11px}.badge-icon{width:37px;height:37px}.checklist-card,.clinic-information,.arrival-panel{padding:22px}.checklist-heading{flex-direction:column;gap:6px}.checklist-heading h3{font-size:1.25rem}.mobile-actions{padding-left:12px;padding-right:12px;gap:8px}.mobile-actions a{font-size:.875rem;gap:7px}}
@media print{html{scroll-padding:0}body{font-family:Arial,sans-serif;font-size:11pt;color:#000}.topbar,.site-header,.site-footer,.mobile-actions,.quick-links,.skip-link,.icon-library,main>section:not(#your-visit){display:none!important}.container{width:100%;max-width:none}.visit-section{background:white;padding:0}.section-heading{display:block;margin-bottom:20px}.section-heading .eyebrow{font-size:10pt;margin-bottom:8px}.section-heading h2{font-size:22pt}.section-heading>p{max-width:none;font-size:11pt;margin-top:12px}.visit-grid{display:block}.checklist-card{border:1px solid #999;box-shadow:none;padding:18px;break-inside:avoid}.checklist-heading{display:block}.checklist-status,progress,.checklist-footer,.checklist-note{display:none!important}.visit-checklist label{padding:12px 0}.visit-checklist strong{font-size:11pt}.visit-checklist label>span>span{font-size:10pt;color:#222}.visit-checklist input{appearance:auto;width:16px;height:16px}.print-address{display:block;font-size:10pt;line-height:1.6;margin-top:16px;color:#000}.preparation-guide{display:block;padding-top:18px}.preparation-guide article{padding:0 0 15px;break-inside:avoid}.preparation-guide article+article{padding-top:15px}.preparation-guide h3{font-size:14pt;margin:8px 0}.preparation-guide p{font-size:10pt;line-height:1.5;color:#222}.preparation-guide p+p{margin-top:8px}.guide-label{font-size:9pt}}

/* Final responsive and keyboard refinements. */
:is(.topbar, .hours-badge, .quick-links, .address-panel, .referrer-section)
:is(a, button):focus-visible {
  outline-color: #a7e2db;
}
.badge-icon { flex-shrink: 0; }
.checklist-footer { flex-wrap: wrap; }
:is(.appointments-section, .visit-grid, .location-grid, .referrer-inner) > * {
  min-width: 0;
}
@media screen and (max-width: 940px) and (min-width: 701px) {
  .hero { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); }
  .hours-badge { max-width: calc(100% + 12px); }
}
@media screen and (max-width: 700px) {
  .main-navigation {
    max-height: calc(100vh - 175px - env(safe-area-inset-bottom, 0px));
    max-height: calc(100dvh - 175px - env(safe-area-inset-bottom, 0px));
    overscroll-behavior: contain;
  }
  .hero-visual { padding-bottom: 0; }
  .hours-badge {
    position: relative;
    inset: auto;
    margin: -58px 0 0 -10px;
    width: fit-content;
    max-width: calc(100% + 10px);
  }
  .image-caption { top: 12px; bottom: auto; }
  .mobile-actions a { min-width: 0; flex-wrap: wrap; }
  .address-actions .button { max-width: 100%; }
}
@media screen and (max-height: 480px) {
  .site-header { position: relative; }
  .main-navigation { max-height: 55vh; }
  .mobile-actions { position: static; }
  html { scroll-padding-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .button:hover, .text-link:hover .icon { transform: none; }
}

/* Confirmed services and a focused, exam-specific visit planner. */
.hero h1 { font-size: clamp(2.4rem, 3.75vw, 3.8rem); }
.hero-availability { color: var(--navy); font-size: 1rem; font-weight: 600; }
.hero-availability span { display: block; color: var(--body); font-weight: 400; }
.badge-closed { display: block; margin-top: 6px; color: #d0e3ec; font-size: .9375rem; }
.hours-badge a { margin-top: 9px; }
.weekly-hours { width: 100%; border-collapse: collapse; font-size: 1rem; }
.weekly-hours caption { text-align: left; color: var(--body); font-size: .875rem; padding-bottom: 15px; }
.weekly-hours th, .weekly-hours td { padding: 9px 0; border-bottom: 1px solid #d1e1e5; }
.weekly-hours th { text-align: left; font-weight: 500; }
.weekly-hours td { text-align: right; color: var(--navy); }
.weekly-hours tr:last-child th, .weekly-hours tr:last-child td { font-weight: 600; }
.hours-panel .holiday-note { margin-top: 19px; font-size: .875rem; line-height: 1.75; }
.visit-section { margin-top: 65px; }
.exam-picker { padding: 0; margin: 0 0 29px; border: 0; min-width: 0; }
.exam-picker legend { font-size: 1.25rem; font-weight: 600; letter-spacing: -.015em; padding: 0; }
#exam-picker-note { margin: 9px 0 20px; max-width: 670px; font-size: 1rem; }
.exam-choices { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.exam-choice { display: flex; align-items: center; gap: 15px; padding: 23px 25px; background: white; border: 2px solid #c6dce2; border-radius: 12px; cursor: pointer; min-width: 0; }
.exam-choice:hover { border-color: var(--teal); }
.exam-choice:has(input:checked) { border-color: var(--teal); background: #dff1f0; }
.exam-choice:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 4px; }
.exam-choice input { width: 23px; height: 23px; margin: 0; flex-shrink: 0; accent-color: var(--teal); }
.exam-choice > span { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.exam-choice strong { font-size: 1.4rem; font-weight: 600; color: var(--navy); line-height: 1.4; }
.exam-choice > span > span { font-size: .9375rem; color: var(--body); line-height: 1.5; }
.exam-choice > .icon { margin-left: auto; color: var(--teal); width: 21px; }
.exam-update { font-size: .875rem; line-height: 1.65; margin-top: 15px; color: var(--teal); }
.preparation-guide h4 { margin: 25px 0 10px; font-size: 1rem; font-weight: 650; color: var(--navy); }
.preparation-guide .exam-scope-note { margin-top: 18px; padding-top: 17px; border-top: 1px solid #c7dce2; font-size: .9375rem; }
.exam-next-step { margin: 0 0 27px; padding: 21px 23px; border-left: 3px solid var(--teal); background: #fff; }
.exam-next-step strong { font-size: 1rem; font-weight: 600; }
.exam-next-step p { font-size: .9375rem; margin-top: 9px; }
.exam-next-step .text-link { display: flex; width: fit-content; margin-top: 9px; }
.preparation-guide .results-guide { border-top: 1px solid #c7dce2; padding-top: 25px; }
@media screen and (max-width: 940px) {
  .hero h1 { font-size: clamp(2.1rem, 4.4vw, 3rem); }
  .visit-grid { grid-template-columns: 1fr; gap: 34px; }
  .preparation-guide { max-width: 680px; order: -1; }
}
@media screen and (max-width: 700px) {
  .hero h1 { font-size: clamp(2.25rem, 7.3vw, 3.5rem); }
  .visit-section { margin-top: 38px; }
  .exam-choice { padding: 18px 17px; gap: 12px; }
  .exam-choice strong { font-size: 1.2rem; }
  .exam-choice > .icon { display: none; }
  .exam-choices { gap: 12px; }
}
@media screen and (max-width: 480px) {
  .exam-choices { grid-template-columns: 1fr; }
  .exam-choice > .icon { display: block; }
  .hero h1 { font-size: clamp(2rem, 7.3vw, 2.7rem); }
}
@media print {
  .exam-picker, .exam-next-step { display: none !important; }
  .visit-section { margin: 0; }
  .preparation-guide h4 { font-size: 11pt; margin: 12px 0 6px; }
  .preparation-guide .exam-scope-note { font-size: 10pt; padding-top: 8px; margin-top: 8px; }
}
