:root{--ink:#33465b;--deep:#25374a;--sage:#dff5f3;--mist:#f7f9fb;--clay:#12afc1;--line:#33465b29}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--mist);margin:0;font-family:DM Sans,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}.section-wrap{width:min(1160px,100% - 48px);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:24px;width:min(1240px,100% - 48px);min-height:88px;margin:0 auto;display:flex}.brand{letter-spacing:-.04em;align-items:center;gap:10px;font-size:1.08rem;font-weight:700;display:inline-flex}.brand-mark{background:var(--ink);border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;display:grid;overflow:hidden}.brand-mark img{object-fit:contain;width:100%;height:100%;padding:2px;display:block}nav{gap:25px;font-size:.9rem;display:flex}nav a:hover,.text-link:hover,.service-card a:hover{color:#007c8c}.button{background:var(--ink);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:14px 21px;font-size:.92rem;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.button:hover{background:#45617d;transform:translateY(-2px)}.button-small{padding:10px 16px;font-size:.84rem}.hero{isolation:isolate;background:#edf4f6;border-radius:22px;align-items:center;min-height:540px;padding:72px;display:flex;position:relative;overflow:hidden}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#f7f9fb 0% 46%,#f7f9fbd6 57%,#f7f9fb1f 78%);position:absolute;inset:0}.hero-background{z-index:-2;object-fit:cover;object-position:center;width:56%;height:100%;position:absolute;inset:0 0 0 auto}.hero-copy{width:min(600px,60%)}.mobile-portrait-card{display:none}.eyebrow{color:#007c8c;text-transform:uppercase;letter-spacing:.13em;margin:0 0 14px;font-size:.73rem;font-weight:700}h1,h2,h3{letter-spacing:-.055em;margin:0;font-family:DM Sans,sans-serif;line-height:1.05}h1{letter-spacing:-.065em;font-size:clamp(2.7rem,4.5vw,4.4rem);font-weight:700;line-height:1.02}h2{font-size:clamp(2.2rem,4vw,3.5rem)}h3{font-size:1.7rem}.intro{color:#53687d;max-width:600px;margin:24px 0 30px;font-size:1.12rem}.hero-actions{flex-wrap:wrap;align-items:center;gap:26px;display:flex}.text-link{font-size:.92rem;font-weight:700}.text-link span,.service-card a span{padding-left:6px}.trust-list{flex-wrap:wrap;gap:22px;margin:38px 0 0;padding:0;font-size:.84rem;font-weight:600;list-style:none;display:flex}.trust-list li:before{content:"";background:var(--clay);border-radius:50%;width:6px;height:6px;margin:0 8px 2px 0;display:inline-block}.conditions{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;gap:50px 55px;padding:75px 0;display:grid}.conditions-copy>p:last-child{color:#53687d;max-width:480px;margin:20px 0 0}.concern-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:14px 24px;display:grid}.concern{border-top:1px solid var(--line);padding:15px 0 4px}.concern h3{letter-spacing:0;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700;line-height:1.25}.concern p{color:#53687d;margin:8px 0 0;font-size:.91rem}.condition-gallery{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.condition-gallery article{background:var(--ink);border-radius:14px;height:clamp(220px,17vw,250px);position:relative;overflow:hidden}.condition-gallery img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.condition-gallery article:after{content:"";background:linear-gradient(#0000 35%,#152a3aab);position:absolute;inset:0}.condition-gallery span{z-index:1;color:#fff;letter-spacing:-.03em;font-family:DM Sans,sans-serif;font-size:1.02rem;font-weight:700;line-height:1.1;position:absolute;bottom:14px;left:14px;right:14px}.conditions-next{grid-column:1/-1;justify-self:center;margin-top:-12px}.services{padding:100px 0}.services-intro{grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);align-items:end;gap:48px;display:grid}.section-heading{max-width:670px}.section-heading>p:last-child{color:#53687d;margin:20px 0 0}.treatment-feature{background:var(--deep);border-radius:16px;height:220px;margin:0;overflow:hidden}.treatment-feature img{object-fit:cover;object-position:center;width:100%;height:100%;display:block}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:42px;display:grid}.service-card{background:#fff;border:1px solid #33465b14;border-radius:14px;flex-direction:column;min-height:220px;padding:30px;display:flex}.service-card p{color:#53687d;margin:14px 0 20px}.service-card details{border-top:1px solid var(--line);margin-top:auto;padding-top:15px}.service-card summary{cursor:pointer;color:#007c8c;font-size:.9rem;font-weight:700;list-style:none}.service-card summary::-webkit-details-marker{display:none}.service-card summary:after{content:"+";float:right;color:var(--ink);font-size:1.2rem;line-height:.9}.service-card details[open] summary:after{content:"–"}.service-card details ul{color:#53687d;margin:14px 0 6px;padding-left:18px;font-size:.9rem}.service-card details li{margin:7px 0}.service-card a{margin-top:18px;font-size:.9rem;font-weight:700}.first-visit{padding:0 0 105px}.first-visit-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px;display:grid}.first-visit-grid article{background:#fff;border:1px solid #33465b14;border-radius:14px;padding:30px}.step-mark{background:var(--ink);border-radius:50%;place-items:center;width:42px;height:42px;display:grid;overflow:hidden;box-shadow:0 5px 12px #25374a24}.step-mark img{object-fit:contain;padding:3px;width:100%!important;max-width:none!important;height:100%!important;display:block!important}.first-visit-grid h3{margin-top:28px;font-size:1.65rem}.first-visit-grid p{color:#53687d;margin:14px 0 0}.swipe-hint{display:none}.new-patient{background:var(--deep);color:#fff;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;margin-top:16px;padding:34px;display:flex}.new-patient .eyebrow{color:#e5b784}.new-patient h3{font-size:1.5rem}.new-patient p:not(.eyebrow){color:#d4e1dc;margin:8px 0 0}.new-patient-actions{flex-wrap:wrap;align-items:center;gap:22px;display:flex}.new-patient .button{color:var(--deep);background:#fff}.new-patient .text-link{color:#fff}.pricing-panel{background:#fff;border:1px solid #33465b1a;border-radius:16px;margin-top:16px;overflow:hidden}.pricing-panel summary{cursor:pointer;color:var(--ink);justify-content:space-between;align-items:center;gap:20px;padding:23px 28px;font-weight:700;list-style:none;display:flex}.pricing-panel summary::-webkit-details-marker{display:none}.pricing-panel summary:after{content:"+";font-size:1.4rem;line-height:1}.pricing-panel[open] summary{border-bottom:1px solid var(--line)}.pricing-panel[open] summary:after{content:"–"}.pricing-summary-note{color:#007c8c;margin-left:auto;font-size:.82rem}.pricing-panel-content{padding:24px 28px 28px}.pricing-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.pricing-list article{background:var(--mist);border-radius:12px;padding:20px}.pricing-list h3{letter-spacing:0;font-family:DM Sans,sans-serif;font-size:1rem;font-weight:700}.pricing-list p{color:#53687d;min-height:43px;margin:9px 0 14px;font-size:.87rem;line-height:1.4}.pricing-list strong{color:var(--ink);font-size:.88rem;line-height:1.45}.pricing-note{color:#53687d;max-width:760px;margin:20px 0 0;font-size:.88rem}.reviews{padding:0 0 105px}.reviews-heading-row{justify-content:space-between;align-items:flex-start;gap:40px;display:flex}.review-stars{color:#c99a43;text-align:right;white-space:nowrap;flex:none;margin-top:43px}.review-stars span{letter-spacing:.14em;font-size:2.15rem;line-height:1;display:block}.review-stars small{color:#53687d;letter-spacing:.01em;margin-top:10px;font-size:.82rem;font-weight:700;display:block}.review-grid{grid-template-columns:repeat(3,1fr);gap:16px;margin-top:42px;display:grid}.review-grid figure{background:#e8f5f3;border-radius:14px;min-height:190px;margin:0;padding:28px}.review-grid blockquote{letter-spacing:-.035em;margin:0;font-family:Playfair Display,serif;font-size:1.45rem;line-height:1.25}.review-grid figcaption{color:#53687d;margin-top:32px;font-size:.85rem;font-weight:700}.review-link{width:max-content;margin:26px auto 0;display:block}.about{grid-template-columns:.88fr 1.12fr;align-items:center;gap:80px;padding:75px 0 110px;display:grid}.portrait{object-fit:cover;object-position:center;background:#4c637d;border-radius:16px;width:100%;height:100%;min-height:460px;max-height:580px}.about-copy p:not(.eyebrow){color:#53687d;max-width:590px;margin:22px 0 28px}.about-details{padding:0 0 110px}.about-details article{border-top:1px solid var(--line);max-width:700px;padding:30px}.about-details article>p:last-child{color:#53687d;max-width:610px;margin:0}.visit-info{padding:0 0 105px}.clinic-location{background:#fff;border:1px solid #33465b14;border-radius:16px;grid-template-columns:1.2fr .8fr;margin-top:42px;display:grid;overflow:hidden}.clinic-location>img{object-fit:cover;object-position:left center;width:100%;height:300px}.clinic-location-copy{flex-direction:column;justify-content:center;align-items:flex-start;padding:38px;display:flex}.clinic-location-copy h3{font-size:1.75rem}.clinic-location-copy p:not(.eyebrow){color:#53687d;margin:14px 0 24px}.visit-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.visit-info-grid article{background:#fff;border:1px solid #33465b14;border-radius:14px;flex-direction:column;min-height:218px;padding:28px;display:flex}.visit-info-grid h3{font-size:1.45rem}.visit-info-grid p{color:#53687d;margin:14px 0 22px}.visit-info-grid>article>.text-link{margin-top:auto}.contact-actions{gap:11px;margin-top:auto;display:grid}.booking{text-align:center;background:var(--deep);color:#fff;border-radius:20px;margin-bottom:96px;padding:88px 8%}.booking .eyebrow{color:#e5b784}.booking p:not(.eyebrow){color:#d4e1dc;max-width:600px;margin:20px auto 30px}.booking p a{color:#fff;text-underline-offset:3px;font-weight:700;text-decoration:underline}.button-light{color:var(--deep);background:#fff}.button-light:hover{background:var(--sage)}.site-footer{grid-template-columns:1.2fr .7fr;gap:42px;padding:0 0 50px;font-size:.9rem;display:grid}.site-footer p{color:#53687d;max-width:250px}.footer-links{align-content:start;gap:10px;font-weight:700;display:grid}.mobile-contact-bar{display:none}.back-to-top{z-index:1000;background:var(--ink);color:#fff;opacity:0;pointer-events:none;border:1px solid #ffffffa6;border-radius:50%;place-items:center;width:46px;height:46px;font-size:1.45rem;line-height:1;transition:opacity .2s,transform .2s,background .2s;display:grid;position:fixed;bottom:24px;right:24px;transform:translateY(12px);box-shadow:0 10px 24px #25374a33}.back-to-top:hover{background:#45617d}.back-to-top.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}@media (width<=760px){body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}.site-header{flex-wrap:wrap;gap:12px;min-height:72px;padding:12px 0}.site-header nav{order:3;justify-content:space-between;gap:10px;width:100%;padding:4px 0;font-size:.8rem;display:flex;overflow-x:auto}.site-header nav a{align-items:center;min-height:40px;display:flex}.site-header .button{display:none}.brand{font-size:1.16rem}.brand-mark{flex-basis:48px;width:48px;height:48px}.section-wrap,.site-header{width:min(100% - 32px,1160px)}.conditions,.about,.about-details,.visit-info-grid{grid-template-columns:1fr;gap:40px}.hero{min-height:auto;padding:52px 24px;display:block}.hero:after,.hero-background{display:none}.hero-copy{width:100%}.hero h1{font-size:clamp(2.5rem,11.5vw,3.25rem)}.mobile-portrait-card{background:#fff;border:1px solid #33465b1c;border-radius:16px;align-items:center;gap:16px;min-height:120px;margin:26px 0;padding:10px 16px 10px 10px;display:flex;box-shadow:0 10px 24px #25374a0f}.mobile-portrait-card img{object-fit:cover;object-position:center top;border-radius:11px;flex:0 0 98px;width:98px;height:98px}.mobile-portrait-card strong{font-size:1rem;display:block}.mobile-portrait-card span{color:#53687d;margin-top:6px;font-size:.83rem;line-height:1.35;display:block}.intro{font-size:1.06rem}.hero-actions .button{display:none}.hero-actions{margin-top:28px}.trust-list{gap:10px 18px;margin-top:30px;font-size:.8rem}.conditions,.services{padding:60px 0}.first-visit-grid,.review-grid{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-top:26px;padding:0 4px 12px 0;display:flex;overflow-x:auto}.first-visit-grid::-webkit-scrollbar{display:none}.review-grid::-webkit-scrollbar{display:none}.first-visit-grid article{scroll-snap-align:start;flex:0 0 84%;min-height:205px;padding:24px}.first-visit-grid h3{margin-top:28px;font-size:1.55rem}.first-visit-grid p{font-size:.96rem;line-height:1.5}.review-grid figure{scroll-snap-align:start;flex:0 0 84%;min-height:200px}.swipe-hint{color:#007c8c;margin:3px 0 22px;font-size:.82rem;font-weight:700;display:block}.swipe-hint span{margin-left:4px}.first-visit,.reviews,.visit-info{padding-bottom:70px}.concern-grid,.condition-gallery{grid-template-columns:1fr}.condition-gallery article{height:190px}.service-grid{grid-template-columns:1fr}.new-patient{padding:28px 24px;display:block}.new-patient-actions{margin-top:24px}.about{padding:55px 0 45px}.about-details{gap:0;padding-bottom:75px}.portrait{object-position:center top;min-height:320px}.booking{margin-bottom:68px;padding:58px 24px}.site-footer{grid-template-columns:1fr;gap:28px}.mobile-contact-bar{z-index:999;min-height:64px;padding:8px 16px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f7f9fbf5;grid-template-columns:repeat(3,1fr);gap:8px;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 22px #25374a14}.mobile-contact-bar a{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;justify-content:center;align-items:center;font-size:.78rem;font-weight:700;display:flex}.mobile-contact-bar a:last-child{background:var(--ink);border-color:var(--ink);color:#fff}.back-to-top{width:44px;height:44px;bottom:124px;right:16px}}@media (width<=360px){.site-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.site-header nav{grid-column:1/-1;gap:4px;font-size:.74rem}.site-header nav a{min-height:36px}.site-header .button{white-space:nowrap;margin-left:0;padding:10px 13px;font-size:.78rem}.brand{white-space:nowrap;gap:8px;font-size:1rem}.brand-mark{flex-basis:42px;width:42px;height:42px}.hero{padding-inline:20px}.mobile-portrait-card{gap:12px;min-height:100px;padding:10px}.mobile-portrait-card img{flex-basis:78px;width:78px;height:78px}.mobile-portrait-card strong{font-size:.91rem}.mobile-portrait-card span{margin-top:3px;font-size:.76rem;line-height:1.28}.mobile-contact-bar{gap:6px;padding-inline:8px}.mobile-contact-bar a{font-size:.72rem;line-height:1.15}.mobile-contact-bar a:first-child{white-space:nowrap;font-size:.64rem}}.conditions-reassurance{color:#53687d;text-align:center;grid-column:1/-1;justify-self:center;max-width:580px;margin:-22px 0 0}.conditions-reassurance a{color:#007c8c;text-underline-offset:3px;font-weight:700;text-decoration:underline}@media (width<=760px){.conditions-reassurance{text-align:left;margin:2px 0 0}.clinic-location{grid-template-columns:1fr;margin-top:26px}.clinic-location>img{height:230px}.clinic-location-copy{padding:26px 24px}.clinic-location-copy h3{font-size:1.5rem}.visit-info-grid{gap:12px}.visit-info-grid article{min-height:0;padding:24px}.services-intro{grid-template-columns:1fr;gap:24px}.treatment-feature{height:215px}.pricing-panel summary{padding:21px 24px}.pricing-panel-content{padding:20px 18px 22px}.pricing-list{grid-template-columns:1fr;gap:10px}.pricing-list article{padding:18px}.pricing-list p{min-height:0}.pricing-summary-note{display:none}}.services-booking{width:max-content;margin:30px auto 0;display:block}@media (width>=761px){.conditions{padding-bottom:60px}.services{padding-top:55px}}@media (width<=760px){.reviews-heading-row{display:block}.review-stars{text-align:left;margin-top:20px;display:block}.review-stars span{font-size:1.8rem}}.new-patient .pricing-panel{background:0 0;border-width:1px 0 0;border-color:#ffffff38;border-radius:0;flex:0 0 100%;margin:0}.new-patient .pricing-panel summary{color:#fff;padding:20px 0 0}.new-patient .pricing-panel[open] summary{border-color:#ffffff38;padding-bottom:18px}.new-patient .pricing-summary-note{color:#e5b784}.new-patient .pricing-panel-content{padding:20px 0 0}.new-patient .pricing-list article{background:#ffffff1a}.new-patient .pricing-list h3,.new-patient .pricing-list strong{color:#fff}.new-patient .pricing-list p,.new-patient .pricing-note{color:#d4e1dc}@media (width>=761px){.new-patient{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px 40px;display:grid}.new-patient>.pricing-panel{grid-column:1/-1}.new-patient-actions{justify-self:end}}.about{grid-template-areas:"portrait intro""portrait copy";row-gap:28px}.portrait{grid-area:portrait}.about-intro{grid-area:intro}.about-copy{grid-area:copy}.about-copy p:first-child{margin-top:0}@media (width<=760px){.new-patient .pricing-panel{border-top:0}.about{grid-template-areas:"intro""portrait""copy";gap:32px}}.footer-privacy{border-top:1px solid var(--line);grid-column:1/-1;margin-top:2rem;padding-top:1.5rem}.footer-privacy summary{cursor:pointer;color:var(--ink);font-weight:700;list-style-position:outside}.footer-privacy-content{max-width:48rem;margin-top:1.5rem}.footer-privacy-content h3{margin-bottom:1rem}.footer-privacy-content h4{margin-top:1.5rem;margin-bottom:.5rem}.footer-privacy-content p{margin-bottom:1rem}.footer-links{flex-direction:column;align-items:flex-start;gap:.8rem;display:flex}.footer-links a{width:fit-content;font-weight:600}.footer-credit{color:#6b7d8e;border-top:1px solid var(--line);grid-column:1/-1;padding-top:1.25rem;font-size:.78rem}.footer-credit p{color:inherit;max-width:none;margin:0}.footer-credit p+p{margin-top:.2rem}.header-booking{justify-items:end;gap:3px;display:grid}.header-booking>span,#mobile-assessment{color:var(--ink);font-size:.8rem;line-height:1.4}.step-mark{color:#fff;font-variant-numeric:tabular-nums;font-weight:700}.services-booking{text-align:center;max-width:100%}@media (width<=760px){.header-booking{display:none}#mobile-assessment{text-align:center;grid-column:1/-1}.mobile-contact-bar{row-gap:4px}.mobile-contact-bar a{min-height:44px}body{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}@media (width<=360px){.mobile-contact-bar a[href^=tel\:]{white-space:nowrap;font-size:.64rem}}img[data-astro-cid-he64pd7i]{max-width:100%;height:auto;display:block}.header[data-astro-cid-he64pd7i]{width:88px}.footer[data-astro-cid-he64pd7i]{width:168px}@media (width<=760px){.header[data-astro-cid-he64pd7i]{width:72px}}
