:root{--blue:#087bc1;--gold:#c7a866;--cream:#f8f5ef;--charcoal:#252b2d;--sage:#dde8d9;--white:#fff;--font-sans:'Manrope',Arial,sans-serif;--font-serif:'Cormorant Garamond',Georgia,serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--charcoal);font-family:var(--font-sans);background:var(--cream);overflow-x:hidden}body.menu-open{overflow:hidden}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}section[id]{scroll-margin-top:76px}.wrap{width:min(100% - 112px,1420px);margin-inline:auto}.skip-link{position:absolute;z-index:100;left:20px;top:-80px;padding:12px 18px;background:#fff;color:#111}.skip-link:focus{top:12px}.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 23px;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}.tiny-line{display:inline-block;width:24px;height:1px;background:currentColor}.gold-eyebrow{color:#a08042}.section-pad{padding-block:130px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:58px}.section-heading h2,.why h2,.call-section h2{margin:0;letter-spacing:-.055em;font-size:clamp(46px,5.8vw,88px);font-weight:500;line-height:1.02}.section-heading h2 em,.why h2 em,.call-section h2 em{font-family:var(--font-serif);font-weight:500;letter-spacing:-.055em}.section-heading>p{max-width:390px;margin:0 0 8px;color:#626b6c;line-height:1.8;font-size:15px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-height:58px;padding:0 23px;border-radius:2px;font-size:13px;font-weight:800;transition:transform .25s,background .25s,color .25s}.button:hover{transform:translateY(-3px)}.button span,.text-link span{font-size:20px;font-weight:400}.text-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid currentColor;padding-bottom:7px;font-size:13px;font-weight:800;transition:gap .25s}.text-link:hover{gap:30px}
.site-header{position:absolute;z-index:30;top:0;left:0;right:0;height:100px;display:flex;align-items:center;justify-content:space-between;gap:30px;padding-inline:max(56px,calc((100vw - 1420px)/2));color:#fff;background:linear-gradient(180deg,rgba(0,67,112,.42),rgba(0,67,112,0))}.brand{display:inline-flex;flex-direction:column;flex:none;line-height:1}.brand-main{font-size:27px;font-weight:500;letter-spacing:.13em;line-height:1.05}.brand-sub{margin-top:6px;padding-left:2px;font-size:10px;font-weight:800;letter-spacing:.43em;color:#ead6a9}.desktop-nav{display:flex;align-items:center;gap:37px;margin-left:auto}.desktop-nav a{font-size:12px;font-weight:800;transition:opacity .2s}.desktop-nav a:hover{opacity:.7}.header-call{display:flex;align-items:center;gap:22px;margin-left:12px;padding:14px 17px;background:#fff;color:#116292;font-size:12px;font-weight:800;white-space:nowrap}.header-call span{font-size:18px}.menu-toggle,.mobile-nav{display:none}
.hero{height:min(940px,100svh);min-height:690px;position:relative;overflow:hidden;background:#087bc1;color:#fff}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,56,108,.45) 0%,rgba(0,79,137,.26) 29%,rgba(0,80,145,0) 63%),linear-gradient(0deg,rgba(0,36,58,.27),transparent 26%)}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-top:65px;padding-bottom:60px;pointer-events:none}.hero-content>*{pointer-events:auto}.hero-eyebrow{margin-bottom:29px;color:#fff}.eyebrow-line{width:30px;height:1px;background:#fff}.hero h1{max-width:540px;margin:0;font-size:clamp(55px,5.35vw,92px);font-weight:500;line-height:.99;letter-spacing:-.06em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,58,108,.13)}.hero h1 em{font-family:var(--font-serif);font-weight:500;letter-spacing:-.06em}.hero-description{max-width:400px;margin:28px 0 28px;font-size:14px;line-height:1.8;font-weight:600;text-shadow:0 1px 6px rgba(0,30,60,.22)}.hero-actions{display:flex;align-items:center;gap:31px}.button-light{background:#fff;color:#115f91}.light-link{color:#fff}.hero-bottom{position:absolute;z-index:1;bottom:27px;left:0;right:0;display:flex;justify-content:space-between;color:#fff;font-size:10px;font-weight:800;letter-spacing:.19em}.hero-scroll{display:flex;align-items:center;gap:18px}.hero-scroll span{font-size:17px}
.intro-band{background:#fff}.intro-inner{min-height:165px;display:flex;align-items:center;gap:35px}.sparkle{color:var(--gold);font-size:51px;font-weight:300}.intro-inner p{max-width:730px;margin:0;font-size:clamp(20px,2.15vw,31px);line-height:1.4;letter-spacing:-.04em}.intro-index{margin-left:auto;align-self:center;color:#a5aaab;font-size:11px;font-weight:800;letter-spacing:.12em;white-space:nowrap}
.services{background:var(--cream)}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#d7d8d4;border:1px solid #d7d8d4}.service-card{min-height:305px;display:flex;flex-direction:column;justify-content:space-between;padding:29px 32px 33px;background:var(--cream);transition:background .25s,transform .25s}.service-card:hover{background:#fff}.service-card[hidden]{display:none}.service-top{display:flex;justify-content:space-between;align-items:start}.service-number{font-size:11px;color:#9c9f9d;font-weight:800;letter-spacing:.13em}.service-icon{display:grid;place-items:center;width:60px;height:60px;border:1px solid #c8d9d6;border-radius:50%;color:#448aa0;font-size:33px;font-family:Georgia,serif;font-weight:400;line-height:1}.service-card:nth-child(3n+2) .service-icon{border-color:#dfd3b8;color:#b19660}.service-card:nth-child(3n) .service-icon{border-color:#d2d8cf;color:#699282}.service-card h3{margin:0 0 9px;font-size:24px;font-weight:600;letter-spacing:-.05em}.service-card p{max-width:285px;margin:0;color:#6b7373;font-size:13px;line-height:1.75}.services-toggle{display:flex;align-items:center;gap:38px;margin:48px auto 0;padding:15px 0;border:0;border-bottom:1px solid var(--charcoal);background:none;color:var(--charcoal);font-size:13px;font-weight:800;cursor:pointer}.services-toggle span{font-size:21px;font-weight:400}.services-toggle:hover{color:var(--blue)}
.call-section{position:relative;overflow:hidden;background:var(--sage)}.call-inner{position:relative;min-height:468px;display:flex;justify-content:space-between;align-items:center;gap:50px}.call-inner>div{position:relative;z-index:2}.call-section h2{max-width:690px;font-size:clamp(49px,5.5vw,80px)}.call-section h2 em{display:block;color:#537d72}.call-section p:not(.eyebrow){max-width:520px;margin:27px 0 0;font-size:15px;line-height:1.8;color:#515c59}.button-dark{position:relative;z-index:2;align-self:center;flex:none;background:var(--charcoal);color:#fff}.call-orbit{position:absolute;right:-230px;top:-180px;width:660px;height:660px;border:1px solid rgba(88,129,118,.2);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.07),0 0 0 180px rgba(255,255,255,.05)}
.why{background:#fff}.why-grid{display:grid;grid-template-columns:1fr .68fr;gap:12%;align-items:end}.why h2{max-width:780px}.why h2 em{color:#a88b56}.why-copy{padding-bottom:12px}.why-copy p{margin:0 0 23px;color:#626b6c;line-height:1.9;font-size:16px}.dark-link{margin-top:15px;color:var(--charcoal)}
.location{background:var(--cream)}.location-grid{display:grid;grid-template-columns:.95fr 1.05fr;min-height:620px;background:#e7ece7}.location-photo{position:relative;overflow:hidden;background:#d8dcd4}.location-photo img{width:100%;height:100%;max-height:680px;object-fit:cover;object-position:center 30%}.photo-caption{position:absolute;left:0;bottom:0;padding:16px 20px;background:rgba(37,43,45,.82);color:#fff;font-size:10px;font-weight:800;letter-spacing:.16em}.location-info{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:62px 69px}.location-mark{position:relative;color:#a7bbb3;font-family:Georgia,serif;font-size:82px;line-height:1}.location-mark span{position:absolute;right:-17px;top:8px;color:var(--gold);font-size:29px}.info-label{display:block;margin-bottom:25px;color:#789189;font-size:11px;font-weight:800;letter-spacing:.2em}.location-info address{font-style:normal;font-size:clamp(23px,2.4vw,37px);font-weight:500;line-height:1.45;letter-spacing:-.05em}.address-note{max-width:370px;margin:16px 0 0;color:#69716d;font-size:12px;line-height:1.6}.location-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.button-blue{background:var(--blue);color:#fff}.location-actions .dark-link{margin-top:0}
.site-footer{padding:85px 0 28px;background:#182a35;color:#fff}.footer-main{display:grid;grid-template-columns:2fr 1fr 1fr;gap:60px;padding-bottom:95px}.footer-brand .brand-main{font-size:31px}.footer-main>div>p{margin:25px 0 9px;color:#b9c6cb;font-size:14px}.footer-phone{font-size:15px}.footer-main nav,.footer-social{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-main nav>span,.footer-social>span{margin-bottom:15px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.18em}.footer-main nav a,.footer-social a{font-size:14px}.footer-main a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:40px;padding-top:25px;border-top:1px solid rgba(255,255,255,.2)}.footer-bottom p{max-width:670px;margin:0;color:#aabdc7;font-size:11px;line-height:1.7}.footer-bottom a{flex:none;font-size:11px;font-weight:800}
@media(max-width:1100px){.wrap{width:min(100% - 72px,1420px)}.site-header{padding-inline:36px}.desktop-nav{gap:20px}.brand-main{font-size:23px}.brand-sub{font-size:9px}.hero h1{max-width:500px}.service-card{padding:26px}.location-info{padding:48px}.call-inner{min-height:440px}}
@media(max-width:840px){.site-header{height:80px;padding-inline:28px}.desktop-nav,.header-call{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:7px;width:44px;height:44px;padding:8px;border:1px solid rgba(255,255,255,.7);background:rgba(0,70,118,.15);cursor:pointer}.menu-toggle span{display:block;height:2px;width:100%;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}.mobile-nav:not([hidden]){position:absolute;top:80px;left:0;right:0;display:flex;flex-direction:column;padding:18px 28px 26px;background:#0a5786;box-shadow:0 12px 30px rgba(0,0,0,.12)}.mobile-nav a{padding:15px 4px;border-bottom:1px solid rgba(255,255,255,.2);font-size:16px;font-weight:700}.mobile-nav a:last-child{color:#f1d6a2}.hero{height:790px;min-height:680px;max-height:100svh}.hero-image{object-position:54% center}.hero-shade{background:linear-gradient(180deg,rgba(0,57,105,.5) 0%,rgba(0,73,127,.25) 43%,rgba(0,80,130,.03) 75%),linear-gradient(90deg,rgba(0,56,108,.24),transparent 70%)}.hero-content{justify-content:flex-start;padding-top:150px}.hero h1{max-width:610px;font-size:clamp(57px,8vw,78px)}.hero-description{max-width:460px}.section-pad{padding-block:100px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.why-grid{grid-template-columns:1fr 1fr;gap:50px}.location-grid{min-height:560px}.location-info{padding:38px}.location-actions{align-items:flex-start;flex-direction:column;gap:18px}.call-inner{min-height:490px;align-items:flex-start;justify-content:center;flex-direction:column;gap:32px;padding-block:70px}.call-section h2 em{display:inline}.call-section p:not(.eyebrow){margin-top:20px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{padding-inline:20px;height:72px}.mobile-nav:not([hidden]){top:72px;padding-inline:20px}.brand-main{font-size:21px}.brand-sub{font-size:8px}.hero{height:760px;max-height:none;min-height:720px}.hero-image{object-position:51% center}.hero-shade{background:linear-gradient(180deg,rgba(0,69,121,.65) 0%,rgba(0,73,125,.52) 33%,rgba(0,78,130,.05) 65%),linear-gradient(0deg,rgba(0,34,52,.2),transparent 20%)}.hero-content{padding-top:130px;padding-bottom:0}.hero-eyebrow{margin-bottom:17px;font-size:9px;letter-spacing:.15em}.hero h1{max-width:480px;font-size:clamp(49px,12.7vw,66px);line-height:.98}.hero-description{max-width:345px;margin:20px 0 21px;font-size:12px;line-height:1.65}.hero-actions{gap:20px}.button{min-height:52px;padding-inline:16px;gap:18px;font-size:11px}.text-link{gap:8px;font-size:11px}.hero-bottom{bottom:19px;font-size:8px}.hero-scroll{display:none}.intro-inner{min-height:160px;gap:16px}.sparkle{font-size:31px}.intro-inner p{font-size:20px}.intro-index{display:none}.section-pad{padding-block:78px}.section-heading{display:block;margin-bottom:35px}.section-heading h2,.why h2,.call-section h2{font-size:clamp(49px,12vw,67px)}.section-heading>p{margin-top:24px;font-size:13px}.eyebrow{margin-bottom:18px;font-size:10px}.service-grid{grid-template-columns:1fr}.service-card{min-height:220px;padding:23px}.service-icon{width:51px;height:51px;font-size:28px}.service-card h3{font-size:22px}.services-toggle{margin-top:31px}.call-inner{min-height:490px;padding-block:72px}.call-section h2{font-size:clamp(50px,12vw,66px)}.call-section p:not(.eyebrow){font-size:13px}.call-orbit{right:-370px}.why-grid{grid-template-columns:1fr;gap:30px}.why-copy p{font-size:14px}.location-grid{grid-template-columns:1fr}.location-photo{height:470px}.location-photo img{object-position:center 24%}.location-info{min-height:500px;padding:34px 24px}.location-mark{font-size:65px}.location-info address{font-size:25px}.location-actions{gap:22px}.site-footer{padding-top:67px}.footer-main{grid-template-columns:1fr 1fr;gap:54px 20px;padding-bottom:65px}.footer-main>div:first-child{grid-column:1/-1}.footer-bottom{display:block}.footer-bottom a{display:inline-block;margin-top:26px}}
@media(max-width:380px){.hero h1{font-size:47px}.hero-description{font-size:11px}.hero-actions{gap:13px}.hero-actions .button{padding-inline:13px}.hero-actions .text-link{font-size:10px}.service-card{min-height:215px}}
@media(min-width:841px){.hero-content{justify-content:flex-start;padding-top:clamp(165px,20vh,220px)}.hero h1{max-width:390px;font-size:clamp(58px,5vw,74px)}.hero-description{max-width:350px}.hero-actions{gap:22px}}
@media(max-width:600px){.hero{height:850px;min-height:850px;background:#087bc1}.hero-image{transform:translateY(170px)}.hero-shade{background:linear-gradient(180deg,#0867a7 0%,rgba(5,91,159,.94) 21%,rgba(0,79,145,.65) 42%,rgba(0,80,145,.04) 70%),linear-gradient(0deg,rgba(0,34,52,.2),transparent 20%)}}
@media(min-width:601px) and (max-width:840px){.hero-image{transform:translateX(clamp(170px,29vw,250px));mask-image:linear-gradient(90deg,transparent,#000 190px)}.hero-shade{background:linear-gradient(90deg,#0866a5 0%,rgba(3,101,172,.96) 21%,rgba(0,80,145,.37) 66%,transparent 100%)}.hero h1{max-width:400px;font-size:clamp(55px,7.7vw,64px)}.hero-description{max-width:365px}.hero-actions{gap:20px}}

/* Final CTA refinement */
.button,.header-call,.services-toggle{border-radius:999px}
.button{min-height:58px;padding-inline:26px}
.button:focus-visible,.header-call:focus-visible,.services-toggle:focus-visible,.hero-actions .text-link:focus-visible{outline:3px solid #f0d58f;outline-offset:4px}
.header-call{min-height:50px;padding-inline:22px;transition:transform .25s,box-shadow .25s}
.header-call:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,42,75,.18)}
.hero-actions .text-link{display:inline-flex;justify-content:space-between;align-items:center;min-height:58px;padding:0 23px;border:1px solid rgba(255,255,255,.8);border-radius:999px;gap:22px;transition:background .25s,transform .25s}
.hero-actions .text-link:hover{gap:22px;background:rgba(255,255,255,.14);transform:translateY(-3px)}
.services-toggle{min-height:56px;padding:0 27px;border:1px solid var(--charcoal);transition:background .25s,color .25s,transform .25s}
.services-toggle:hover{background:var(--charcoal);color:#fff;transform:translateY(-2px)}
.button-outline{border:1px solid var(--charcoal);background:transparent;color:var(--charcoal)}
.button-outline:hover{background:var(--charcoal);color:#fff}

/* Patient experiences */
.testimonials{overflow:hidden;background:#fff}
.testimonials-heading{margin-bottom:52px}
.testimonials-heading h2{max-width:820px}
.testimonials-heading h2 em{color:#a88b56}
.testimonial-rows{display:grid;gap:20px;overflow:hidden}
.marquee-viewport{position:relative;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.marquee-viewport::-webkit-scrollbar{display:none}
.marquee-track{display:flex;width:max-content;animation:reviews-left 95s linear infinite;will-change:transform}
.marquee-track.reverse{animation-name:reviews-right;animation-duration:105s}
.marquee-viewport:hover .marquee-track,.testimonials:focus-within .marquee-track,.marquee-viewport.is-touching .marquee-track{animation-play-state:paused}
.review-set{display:flex;gap:20px;padding-right:20px}
.review-card{flex:none;display:flex;flex-direction:column;justify-content:space-between;width:370px;min-height:290px;padding:28px;background:var(--cream);border:1px solid #e8dfd1;border-radius:22px;box-shadow:0 8px 30px rgba(37,43,45,.035)}
.review-card:nth-child(3n+2){background:#f1f4ed}.review-card:nth-child(3n){background:#faf8f4}
.review-card-top{display:flex;align-items:center;gap:13px}
.review-avatar{display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:50%;background:#ded0ad;color:#4f4537;font-size:12px;font-weight:800;letter-spacing:.03em}
.review-name{margin:0;font-size:14px;font-weight:800;overflow-wrap:anywhere}
.review-source{display:block;margin-top:3px;color:#7b7e77;font-size:10px;letter-spacing:.04em}
.review-quote{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;margin:23px 0;color:#404746;font-size:14px;line-height:1.7}
.review-more{align-self:flex-start;padding:3px 0;border:0;border-bottom:1px solid #9e854f;background:none;color:#7e6332;font-size:12px;font-weight:800;cursor:pointer}
.review-more:hover{color:var(--blue);border-color:var(--blue)}
.review-source-note{margin-top:30px;color:#797e7a;font-size:11px;line-height:1.6}
.reviews-loading{margin:0 auto;padding:40px;color:#737a77}
@keyframes reviews-left{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes reviews-right{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.review-dialog{width:min(100% - 36px,650px);max-height:min(80vh,760px);padding:34px;border:1px solid #ded2b9;border-radius:22px;background:var(--cream);color:var(--charcoal);box-shadow:0 30px 80px rgba(0,0,0,.24)}
.review-dialog::backdrop{background:rgba(15,35,44,.68)}
.dialog-head{display:flex;align-items:center;gap:14px;padding-bottom:23px;border-bottom:1px solid #ddd6c8}
.dialog-head .review-avatar{width:50px;height:50px}
.dialog-kicker{display:block;color:#927647;font-size:9px;font-weight:800;letter-spacing:.17em}
.dialog-head h3{margin:5px 0 0;font-size:19px;overflow-wrap:anywhere}
.dialog-close{margin-left:auto;align-self:flex-start;width:38px;height:38px;border:1px solid #b5ae9f;border-radius:50%;background:none;color:var(--charcoal);font-size:25px;line-height:1;cursor:pointer}
#review-dialog-text{overflow-wrap:anywhere;white-space:pre-line;margin:28px 0 0;font-size:15px;line-height:1.85}
.dialog-partial{color:#776d59;font-size:12px;line-height:1.5}

/* Address-based map, pending a confirmed clinic pin */
.location-grid{overflow:hidden;border-radius:22px}
.location-map{position:relative;min-height:620px;background:#e3e8e3}
.location-map iframe{display:block;width:100%;height:100%;min-height:620px;border:0}
.map-caption{position:absolute;left:17px;bottom:17px;padding:10px 15px;border-radius:999px;background:rgba(37,43,45,.9);color:#fff;font-size:10px;font-weight:800;letter-spacing:.12em;pointer-events:none}

@media(max-width:840px){.review-card{width:330px;min-height:300px}.location-map,.location-map iframe{min-height:560px}}
@media(max-width:600px){.button,.hero-actions .text-link{min-height:52px;padding-inline:17px}.hero-actions .text-link{gap:10px}.hero-actions .text-link:hover{gap:10px}.services-toggle{min-height:52px;margin-top:31px}.testimonials-heading{margin-bottom:35px}.testimonial-rows{gap:14px}.review-set{gap:14px;padding-right:14px}.review-card{width:min(78vw,320px);min-height:310px;padding:22px}.review-quote{font-size:13px}.marquee-viewport{mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.location-grid{border-radius:16px}.location-map,.location-map iframe{min-height:410px}.location-actions{align-items:stretch;width:100%}.location-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.marquee-track,.marquee-track.reverse{animation:none!important;transform:none!important}.marquee-viewport{scrollbar-width:thin;mask-image:none}.marquee-viewport::-webkit-scrollbar{display:block;height:8px}.review-set[aria-hidden="true"]{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
