:root{--ink:#12304a;--deep:#12304a;--paper:#ffffff;--cream:#eef5fa;--accent:#25658b;--muted:#526879;--line:#d8e4ed;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}img{display:block;max-width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}[hidden]{display:none!important}::selection{background:#d6eafb;color:var(--ink)}.skip{position:absolute;top:-100px;left:20px;z-index:99;background:white;padding:12px}.skip:focus{top:10px}.wrap{width:min(1360px,88%);margin-inline:auto}.section{padding-block:104px}.topline{text-align:center;background:var(--deep);color:var(--paper);font-size:12px;letter-spacing:.05em;padding:8px 18px}.topline span{margin:0 12px}.header{height:105px;margin-inline:6%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:26px}.wordmark{font-family:var(--serif);font-weight:500;font-size:35px;line-height:1;letter-spacing:-.025em;white-space:nowrap}.desktop-nav{display:flex;align-items:center;gap:34px;font-size:14px}.desktop-nav a{position:relative;padding-block:8px}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--accent);transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-actions{display:flex;gap:18px;align-items:center}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:34px;background:var(--deep);color:var(--paper);padding:18px 24px;line-height:1.5;font-size:14px;border:1px solid var(--deep);transition:background .2s,transform .2s;min-height:54px}.button:hover{background:#1b577e;transform:translateY(-2px)}.button.small{padding:12px 22px;gap:32px;min-height:47px}.button span{font-size:21px;line-height:1}.button.outline{background:transparent;color:var(--ink);border-color:#8faebf}.button.outline:hover{background:var(--deep);color:var(--paper)}.button.cream{background:var(--paper);color:var(--deep);border-color:var(--paper)}.button.cream:hover{background:#e0eff9}.menu-toggle{display:none;background:none;border:0;width:32px;height:44px;padding:6px}.menu-toggle span{display:block;width:24px;height:1px;background:var(--ink);margin:7px 0;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)}.mobile-menu{background:var(--paper);padding:18px 6% 30px;border-bottom:1px solid var(--line)}.mobile-menu a{display:block;padding:12px 0;font-size:20px}.hero{display:grid;grid-template-columns:.94fr 1.06fr;align-items:center;min-height:654px;padding:64px 0 65px;gap:5%}.eyebrow{font-size:12px;letter-spacing:.145em;font-weight:500;margin:0 0 26px;line-height:1.5}.accent-line{display:inline-block;width:26px;height:1px;background:var(--accent);margin-right:12px;vertical-align:middle}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(69px,6.75vw,110px);line-height:.99;letter-spacing:-.045em;margin-bottom:28px}h1 em,h2 em{font-weight:400;color:#25658b}h2{font-size:clamp(44px,4.7vw,74px);line-height:1.03;letter-spacing:-.035em;margin-bottom:28px}h3{line-height:1.2;letter-spacing:-.015em}.hero-intro{max-width:385px;color:var(--muted);font-size:16px;line-height:1.8;margin-bottom:12px}.hero-intro.secondary{max-width:365px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:28px;flex-wrap:wrap}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:5px;display:inline-block;line-height:1.65;transition:color .2s}.text-link:hover{color:var(--accent);border-color:var(--accent)}.hero-rating{display:flex;align-items:center;gap:12px;margin-top:32px;font-size:12px;color:var(--muted);flex-wrap:wrap}.hero-rating strong{color:var(--ink);font-weight:600}.stars{letter-spacing:3px;color:var(--accent);font-size:15px;white-space:nowrap}.rating-separator{color:#8fa5b5;margin-inline:8px}.hero-visual{position:relative;padding:15px 0 0}.hero-visual:before{content:'';position:absolute;inset:0 20px 45px -16px;border:1px solid #d8e4ed;z-index:-1}.team-photo{position:relative;width:100%;aspect-ratio:1080/794;overflow:hidden;background:#eff4f8}.team-photo img{position:absolute;top:-44.836272%;left:0;width:100%;max-width:none;height:auto}.team-caption{position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:12px;color:#ffffff;background:linear-gradient(100deg,#164269,#25658b,#163e60);padding:22px 26px}.team-caption>span{font-family:var(--serif);font-size:34px;line-height:1.1}.team-caption small{font-size:12px}.photo-footnote{display:flex;justify-content:space-between;gap:15px;margin:15px 0 0;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.photo-footnote span{letter-spacing:.04em}.chapter-strip{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:24px 0;border-top:1px solid var(--line)}.chapter-strip>span{font-size:11px;letter-spacing:.14em;color:var(--muted)}.chapter-strip p{font-family:var(--serif);font-size:25px;margin:0;line-height:1.3}.chapter-strip>a{font-size:25px;padding:0 12px}.results{background:var(--deep);color:var(--paper);padding-top:94px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:48px}.section-heading h2{margin-bottom:0}.results h2 em{color:#b3d7ef}.eyebrow.light{color:#cbdfea}.heading-aside{padding-bottom:5px;max-width:335px}.heading-aside p{color:#d6e5f0;line-height:1.8;font-size:14px;margin-bottom:21px}.light-link{border-color:#a9c6d9}.results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px}.result-card{margin:0;min-width:0}.result-image{width:100%;display:block;position:relative;padding:0;border:0;background:#fff;overflow:hidden;aspect-ratio:1170/1296}.result-image img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.result-image:hover img{transform:scale(1.01)}.expand-icon{position:absolute;bottom:12px;right:12px;background:var(--paper);color:var(--ink);width:36px;height:36px;display:grid;place-items:center;font-size:21px}.result-card figcaption{padding-top:24px}.result-card figcaption>span{font-size:10px;letter-spacing:.14em;color:#cbdfea}.result-card h3{font-size:32px;margin:9px 0 14px}.view-result{border:0;border-bottom:1px solid #7398b1;background:none;color:#e0edf6;padding:0 0 7px;font-size:14px;display:inline-flex;gap:24px;align-items:center;min-height:34px}.view-result:hover{color:white;border-color:white}.result-note{font-size:12px;color:#cbdfea;margin:40px 0 0;padding-top:23px;border-top:1px solid #527993;line-height:1.6}.treatments{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%}.treatment-intro>p:not(.eyebrow){color:var(--muted);max-width:330px;line-height:1.85}.treatment-intro .button{margin-top:18px}.treatment-intro p.menu-note{font-size:12px;margin-top:17px;line-height:1.6}.treatment-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:20px}summary::-webkit-details-marker{display:none}.treatment summary{padding:25px 0}.treatment-index{font-size:12px;color:#25658b;width:22px;flex-shrink:0}.treatment h3{font-size:30px;margin:0;flex:1}.plus{position:relative;width:18px;height:18px;display:inline-block;flex-shrink:0}.plus:before,.plus:after{content:'';position:absolute;top:8px;left:1px;width:15px;height:1px;background:currentColor}.plus:after{transform:rotate(90deg);transition:transform .2s}details[open]>summary .plus:after{transform:rotate(0)}.treatment-body{padding:0 30px 30px 42px}.treatment-body>p{font-size:15px;color:var(--muted);line-height:1.85}.treatment-tags{display:flex;flex-wrap:wrap;gap:7px 15px;margin:19px 0 22px;color:#45667e}.treatment-tags span{font-size:12px;line-height:1.6;padding:3px 0;border-bottom:1px solid #c3d8e8}.signature{background:var(--cream)}.signature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%}.signature-photo{position:relative}.signature-photo img{width:100%;aspect-ratio:1.2;object-fit:cover;object-position:40% center}.signature-photo>span{position:absolute;bottom:20px;left:23px;color:white;font-size:11px;letter-spacing:.15em;text-shadow:0 2px 8px #19364b}.signature-copy>p:not(.eyebrow){max-width:420px;line-height:1.85;color:var(--muted);font-size:16px}.signature-copy .text-link{margin-top:8px}.review{text-align:center;max-width:930px}.review .eyebrow{margin-bottom:18px}.review blockquote{font-family:var(--serif);font-size:clamp(31px,3.6vw,53px);line-height:1.2;letter-spacing:-.02em;margin:30px 0}.review-author{font-size:14px;margin-bottom:23px}.review-author span{display:block;font-size:12px;color:var(--muted);margin-top:4px}.consultation{background:var(--deep);color:var(--paper);overflow:hidden}.consultation-inner{position:relative;text-align:center;isolation:isolate}.consultation h2{font-size:clamp(46px,5.5vw,85px)}.consultation h2 em{color:#b3d7ef}.consultation p:not(.eyebrow){font-size:16px;color:#d6e5f0;position:relative;z-index:1}.consultation .button{margin-top:13px;position:relative;z-index:1}.consultation-word{position:absolute;right:-30px;bottom:-200px;font-family:var(--serif);font-size:430px;color:#c7e5f8;opacity:.055;line-height:1;z-index:-1;letter-spacing:-.1em;pointer-events:none}.visit{display:grid;grid-template-columns:1fr 1fr;gap:10%}.visit-copy>p:not(.eyebrow){font-size:17px;line-height:1.8}.visit-copy p.visit-note{font-size:14px;color:var(--muted);margin:0 0 25px}.visit-links{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.instagram-link{display:inline-flex;align-items:center;gap:12px;margin-top:35px;font-size:14px}.instagram-link svg{width:20px;height:20px}.instagram-link span{margin-left:10px}.faq{padding-top:7px}.faq>.eyebrow{margin-bottom:15px}.faq summary{justify-content:space-between;gap:20px;padding:23px 0;font-size:15px;font-weight:500;line-height:1.6}.faq details>p{color:var(--muted);font-size:15px;padding-right:26px;line-height:1.85;margin-bottom:24px}.opening-note{margin-top:34px;background:var(--cream);padding:23px 26px}.opening-note .eyebrow{font-size:11px}.opening-note p{margin:12px 0 0;font-size:14px;color:var(--muted)}footer{background:var(--cream)}.footer-top{padding:48px 0;display:flex;justify-content:space-between;align-items:center;gap:25px;border-bottom:1px solid #d0e0eb}.footer-top p{font-family:var(--serif);font-size:25px;margin:0}.footer-bottom{display:flex;justify-content:space-between;gap:24px;padding:24px 0;font-size:11px;color:var(--muted)}.mobile-booking{display:none}dialog{border:0;width:min(740px,92vw);padding:24px;background:var(--paper);color:var(--ink);max-height:92dvh;overflow:auto}dialog::backdrop{background:rgb(9 25 40 / .8);backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}.dialog-heading .eyebrow{font-size:10px;margin:0 0 7px}.dialog-heading h2{font-size:33px;margin:0}.dialog-close{font-size:32px;width:44px;height:44px;line-height:1;border:1px solid var(--line);background:none;flex-shrink:0}.dialog-close:hover{background:var(--cream)}#dialog-image{width:100%;height:auto;max-height:65dvh;object-fit:contain;background:white}.dialog-note{font-size:12px;margin:16px 0 0;color:var(--muted)}body.modal-open{overflow:hidden}
@media(min-width:1600px){.hero{min-height:750px}}
@media(max-width:1150px){.desktop-nav{gap:24px}.wordmark{font-size:31px}.hero{gap:4%;padding-top:53px;min-height:600px}h1{font-size:clamp(69px,7.2vw,87px)}.hero-actions{gap:18px}.hero-actions .button{padding:16px 19px;gap:20px}.hero-intro{font-size:15px}.team-caption{padding:21px;display:block}.team-caption>span{font-size:32px}.team-caption small{display:block;margin-top:6px}.chapter-strip>span{display:none}.treatments{gap:6%;grid-template-columns:.85fr 1.15fr}.treatment h3{font-size:26px}.treatment summary{gap:15px}.treatment-body{padding-left:37px}.result-card h3{font-size:27px}.result-card figcaption>span{font-size:9px}.section{padding-block:85px}.footer-top{flex-wrap:wrap}.footer-top p{font-size:22px}.signature-grid{gap:7%}}
@media(max-width:800px){.header{height:91px}.desktop-nav{display:none}.menu-toggle{display:block}.wordmark{font-size:32px}.hero{grid-template-columns:1fr;padding:44px 0 43px;gap:40px;min-height:auto}.hero-copy{max-width:620px}.hero h1{font-size:clamp(72px,13vw,105px);margin-bottom:25px}.hero-intro,.hero-intro.secondary{font-size:16px;max-width:465px}.hero-intro.secondary{margin-bottom:0}.hero-actions{margin-top:25px;gap:25px}.hero-rating{margin-top:27px}.hero-visual{max-width:650px;width:100%;padding-top:10px}.hero-visual:before{inset:0 18px 45px -12px}.team-caption{display:flex;padding:23px 25px}.team-caption>span{font-size:35px}.team-caption small{display:inline;margin:0}.chapter-strip{padding:20px 0;gap:15px}.chapter-strip p{font-size:23px}.section{padding-block:72px}.section-heading{gap:25px;align-items:flex-start;flex-direction:column;margin-bottom:35px}.section-heading h2{font-size:59px}.heading-aside{max-width:100%}.heading-aside p{margin-bottom:15px}.heading-aside p br{display:none}.results-grid{gap:18px}.result-card h3{font-size:23px}.result-card figcaption>span{font-size:9px;letter-spacing:.08em}.view-result{font-size:12px;gap:12px}.treatments{grid-template-columns:1fr;gap:45px}.treatment-intro>p:not(.eyebrow){max-width:490px}.treatment-intro h2{margin-bottom:24px}.treatment-intro .button{margin-top:4px}.treatment-intro p.menu-note{margin-bottom:0}.treatment h3{font-size:31px}.treatment-body{padding-right:10px}.signature-copy>p:not(.eyebrow){font-size:15px}.signature-photo img{aspect-ratio:.9}.signature-copy h2{font-size:48px}.visit{gap:7%}.visit h2{font-size:56px}.visit-links{gap:20px}.visit-links .button{gap:22px;padding:14px 18px}.faq summary{font-size:14px}.footer-top p{font-size:24px}.footer-bottom{font-size:10px;flex-wrap:wrap;gap:10px 25px}.footer-bottom>span:nth-child(2){display:none}}
@media(max-width:560px){.topline{font-size:10px;padding:8px 10px;letter-spacing:.035em}.topline span{margin:0 8px}.header{height:80px;gap:10px}.wordmark{font-size:28px}.button.small{font-size:12px;padding:10px 13px;gap:15px;min-height:43px}.header-actions{gap:10px}.menu-toggle{width:29px;padding:4px}.hero{padding-top:36px;gap:31px}.eyebrow{font-size:10px;letter-spacing:.14em;margin-bottom:23px}.accent-line{width:22px;margin-right:9px}.hero h1{font-size:clamp(65px,15.8vw,89px);line-height:1.01;letter-spacing:-.05em}.hero-intro,.hero-intro.secondary{font-size:16px;line-height:1.75}.hero-actions{gap:20px}.hero-actions .button{font-size:13px;min-height:53px;padding:16px 18px;gap:21px}.text-link{font-size:14px}.hero-actions>.text-link{font-size:13px}.hero-rating{font-size:11px;gap:10px;margin-top:25px}.hero-rating .stars{font-size:13px;letter-spacing:2px}.rating-separator{margin:0 5px}.team-caption{padding:19px 20px;display:block}.team-caption>span{font-size:32px}.team-caption small{display:block;margin-top:5px;font-size:12px}.photo-footnote{font-size:9px;margin-top:12px;gap:10px}.chapter-strip{padding:19px 0}.chapter-strip p{font-size:21px;max-width:280px}.chapter-strip>a{padding-right:0}.section{padding-block:60px}.section-heading h2,h2{font-size:52px}.results-grid{grid-template-columns:1fr;gap:38px}.result-image{aspect-ratio:auto}.result-image img{height:auto;object-fit:contain}.result-card figcaption{padding-top:17px}.result-card figcaption>span{font-size:10px;letter-spacing:.13em}.result-card h3{font-size:31px;margin:7px 0 12px}.view-result{font-size:14px;gap:20px}.result-note{margin-top:34px;font-size:12px}.treatments{gap:34px}.treatment-intro>p:not(.eyebrow){font-size:16px}.treatment h3{font-size:27px}.treatment summary{padding:23px 0;gap:10px}.treatment-index{width:21px;font-size:11px}.treatment-body{padding-left:31px;padding-bottom:25px}.treatment-body>p{font-size:15px}.treatment-tags{gap:7px 12px}.treatment-tags span{font-size:12px}.signature-grid{grid-template-columns:1fr;gap:38px}.signature-photo img{aspect-ratio:1.2}.signature-copy h2{font-size:54px}.signature-copy>p:not(.eyebrow){font-size:16px}.review{max-width:88%}.review blockquote{font-size:35px;margin:23px 0}.review-author{font-size:14px}.review-author span{font-size:11px}.consultation h2{font-size:48px}.consultation p:not(.eyebrow){font-size:16px;max-width:300px;margin-inline:auto}.consultation-word{font-size:310px;bottom:-140px;right:-20px}.visit{grid-template-columns:1fr;gap:48px}.visit h2{font-size:54px}.visit-copy>p:not(.eyebrow){font-size:16px}.visit-links .button{padding:16px 22px}.faq summary{font-size:16px}.footer-top{padding:36px 0 29px;gap:23px;align-items:flex-start}.footer-top .wordmark{font-size:33px}.footer-top p{font-size:26px;line-height:1.2}.footer-top>.text-link{font-size:14px}.footer-bottom{flex-direction:column;font-size:11px;padding:22px 0 96px;gap:8px}.mobile-booking{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;justify-content:space-between;padding:17px 6% calc(17px + env(safe-area-inset-bottom));border-top:1px solid #7b9db3;box-shadow:0 -4px 22px rgb(10 37 59 / .12);font-size:14px}.mobile-booking:hover{transform:none}.mobile-booking[aria-hidden=true]{display:none}dialog{padding:20px}.dialog-heading h2{font-size:29px}.dialog-heading{gap:12px}.dialog-note{font-size:12px}}
@media(max-width:360px){.wordmark{font-size:25px}.button.small{padding:10px 12px;gap:10px}.header-actions{gap:5px}.hero h1{font-size:62px}.hero-actions{gap:17px}.hero-actions .button{gap:14px;padding:15px}.hero-actions>.text-link{font-size:13px}.hero-rating{gap:7px;font-size:10px}.treatment h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
@media print{.topline,.header,.mobile-menu,.hero-actions,.button,.mobile-booking{display:none!important}.section{padding-block:30px}.hero{min-height:0}.results{background:white;color:black}a{color:inherit}dialog{display:none}}
/* Blue and white clinical direction. */
h1,h2,h3{font-family:var(--sans);font-weight:400}
.hero h1{font-size:clamp(3.6rem,5.2vw,5.25rem);line-height:1.07;letter-spacing:-.055em}
h1 em,h2 em{font-style:normal}
h2,.section-heading h2,.signature-copy h2,.visit h2{font-size:clamp(2.6rem,3.65vw,3.5rem);line-height:1.16;letter-spacing:-.045em}
.consultation h2{font-size:clamp(2.6rem,4.4vw,4rem);line-height:1.16;letter-spacing:-.04em}
.hero-visual{padding-top:0}
.hero-visual:before{display:none}
.team-photo{border-radius:8px 8px 0 0}
.team-caption{background:#164269;border-radius:0 0 8px 8px;align-items:center}
.team-caption>span{font-family:var(--sans);font-size:1.4rem;font-weight:500;letter-spacing:-.025em}
.team-caption small{font-size:.8125rem;color:#d6e5f0}
.button{border-radius:3px}
.treatment h3{font-size:1.5rem;line-height:1.4;letter-spacing:-.025em}
.result-card h3{font-size:1.5rem;line-height:1.4;letter-spacing:-.03em}
.chapter-strip p{font-family:var(--sans);font-size:1rem;letter-spacing:0;line-height:1.5}
.review blockquote{font-family:var(--sans);font-size:clamp(1.75rem,2.65vw,2.5rem);font-weight:400;line-height:1.45;letter-spacing:-.025em}
.footer-top p{font-family:var(--sans);font-size:1rem;line-height:1.6}
.dialog-heading h2{font-family:var(--sans);font-size:1.6rem;line-height:1.25}
.consultation-word{display:none}
@media(max-width:1150px){.hero h1{font-size:clamp(3.15rem,5.2vw,4rem)}.team-caption>span{font-size:1.25rem}.treatment h3,.result-card h3{font-size:1.35rem}}
@media(max-width:800px){.hero h1{font-size:clamp(3.1rem,9vw,4.9rem)}.hero{gap:36px}.team-caption>span{font-size:1.4rem}.treatment h3{font-size:1.5rem}.result-card h3{font-size:1.25rem}}
@media(max-width:560px){.hero h1{font-size:clamp(2.8rem,11.7vw,4rem);line-height:1.13}.hero-intro.secondary{margin-bottom:0}.hero-visual{padding-top:0}.team-caption>span{font-size:1.25rem}.team-caption small{font-size:.75rem}.section-heading h2,h2,.signature-copy h2,.visit h2,.consultation h2{font-size:2.5rem;line-height:1.2}.chapter-strip p{font-size:.9375rem;max-width:290px}.treatment h3{font-size:1.35rem}.result-card h3{font-size:1.5rem}.review blockquote{font-size:1.75rem}.footer-top p{font-size:1rem}.dialog-heading h2{font-size:1.5rem}}
