/* Alphafisio: original cyan, violet-blue and grey identity. */
:root{--ink:#282950;--navy:#34356c;--blue:#34356c;--electric:#099fd9;--pale:#e3f4fc;--muted:#6b7480;--paper:#fcfcfd;--line:#dde4ea;--cyan:#12a5e1}
body{font-family:'Plus Jakarta Sans',sans-serif}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;letter-spacing:-.018em;font-weight:600}h2{font-size:clamp(42px,4.8vw,68px);line-height:1.08}em{font-family:inherit;font-style:normal;font-weight:inherit}h2 em{color:#068abf}.eyebrow{font-family:'Plus Jakarta Sans',sans-serif;letter-spacing:.12em}header{height:105px;background:#fff;color:var(--navy);border-bottom:1px solid var(--line)}header .brand{width:222px}.brand img{filter:none}nav{font-size:12px;gap:24px}nav a:hover{color:#007db0}.header-cta{border-color:#d6dce7;font-weight:600;font-size:12px;background:white}.header-cta:hover{background:#e7f5fc}.hero{padding:0 0 0 8%;height:740px;min-height:680px;max-height:none;grid-template-columns:1.05fr 1fr;background:#f3f8fb;color:var(--navy);align-items:stretch;isolation:isolate}.hero-copy{padding:64px 30px 80px 0;align-self:center}.hero .eyebrow{font-size:11px;color:#637288;margin-bottom:25px;letter-spacing:.13em;display:flex;align-items:center;gap:10px}.hero .eyebrow:before{content:'';height:2px;width:25px;background:var(--cyan);flex-shrink:0}.hero h1{font-family:'Barlow Condensed',sans-serif;font-weight:600;font-size:clamp(70px,7.5vw,112px);line-height:.98;letter-spacing:-.025em;color:var(--navy)}.hero h1 em{color:#079ed7;font-style:normal;letter-spacing:inherit}.hero-description{font-size:15px;line-height:1.85;color:#626c7c;max-width:390px;margin:25px 0}.button{background:var(--navy);border-radius:8px;padding:17px 22px;font-size:13px;gap:30px;box-shadow:none}.button:hover{background:#414282}.hero .button{background:var(--navy);border-left:4px solid var(--cyan)}.hero-rating{color:#677387;font-size:10px;margin-top:22px;gap:9px}.hero-rating strong{color:var(--navy)}.hero-rating .stars{color:#078fc7;font-size:12px}.hero-note{color:#77818f;font-size:10px;margin-top:12px}.hero-note .small-line{background:#13a5de}.hero-portrait{height:100%;width:100%;margin:0;border-radius:0 0 0 100px;align-self:stretch;border-left:8px solid var(--cyan)}.hero-portrait>img{object-position:50% 25%;height:100%;filter:saturate(.85)}.portrait-shade{background:linear-gradient(0deg,#282950f5 0%,#28295066 19%,transparent 46%)}.portrait-caption{left:42px;bottom:44px;gap:4px}.portrait-caption>span{color:#bfe9fb;font-size:9px}.portrait-caption strong{font-family:'Barlow Condensed',sans-serif;font-size:36px;letter-spacing:0;font-weight:500}.portrait-caption small{color:#dce4f0;font-size:11px}.portrait-tag{top:25px;right:25px;text-align:left;background:var(--navy);padding:19px 20px;color:white;text-shadow:none;line-height:1.5;font-size:9px;letter-spacing:.08em;border-top:3px solid var(--cyan)}.portrait-tag strong{font-family:'Barlow Condensed',sans-serif;font-size:29px;color:#60cfff;font-weight:600;letter-spacing:0;line-height:1.1}.hero-brand-symbol{position:absolute;left:24%;top:12%;width:480px;opacity:.045;z-index:-1;transform:rotate(-10deg);pointer-events:none}.hero-brand-symbol img{width:100%}.scroll-cue{left:8%;bottom:22px;color:#6f7d8d;font-size:10px}.scroll-cue span:last-child{color:#079ed7}.reading-progress{background:var(--cyan)}.movement-band{background:#eaf6fc}.movement-band>div{font-family:'Barlow Condensed',sans-serif;font-weight:500;letter-spacing:0}.movement-band em,.movement-band span{color:#078fc7}.clinic-gallery{background:#f0f6fa}.principles h3{font-size:28px;letter-spacing:0}.treatment-list h3{font-size:32px;font-weight:500;letter-spacing:0}.treatment-no{color:#048abc}.plus{border-color:#b6cedc}.text-link{color:#087ba5;border-color:#8dcfe7}.text-link:hover{color:var(--navy)}.about{background:#34356c}.about h2 em,.manifesto h2 em,.hydro-copy h2 em{color:#6ad3fc}.about h2{font-size:58px}.about-copy .eyebrow{color:#78d5f7}.about p:not(.eyebrow){color:#d4d8e9}.signature{font-family:'Barlow Condensed',sans-serif;font-style:normal;font-size:32px;letter-spacing:.015em}.credentials strong{color:#76d4fa}.registration,.credentials span{color:#c1c9e0}.journey-grid article{background:#ebf7fc;border-color:#d1e5ee;border-radius:8px}.journey-grid article:nth-child(2){background:#dbf0f9}.journey-grid article:nth-child(3){background:#c6e7f5}.journey-grid article:before{font-family:'Barlow Condensed',sans-serif;color:#42aacc;letter-spacing:0}.journey-grid article h3{font-size:34px;letter-spacing:0}.manifesto{background:#34356c}.manifesto h2{font-family:'Barlow Condensed',sans-serif;letter-spacing:-.015em;font-size:clamp(58px,7vw,100px)}.manifesto-rings i{border-color:#4cc5f536}.review-grid blockquote{font-family:'Plus Jakarta Sans',sans-serif;font-size:19px;letter-spacing:-.02em;line-height:1.6}.stars{color:#0897ca}.review-person>span{background:#ddf1fa;color:#087ca4}.google-score>strong{font-family:'Barlow Condensed',sans-serif;letter-spacing:-.03em}.contact{background:#e4f4fb}.contact h2{font-size:clamp(42px,5vw,72px)}.location-card{background:#ffffff80;border-color:#b8d7e7}.location-card h3{font-size:34px;letter-spacing:0}.contact .button{background:var(--navy)}footer{background:#f7fafc;color:var(--navy);border-top:1px solid var(--line)}.footer-top p,.footer-bottom{color:#6a7485}.footer-bottom{border-color:#d8e1e9}.footer-top>div a:hover{color:#0282b8}.mobile-booking{background:var(--navy);border-color:#52b9e1}.faq h2{font-size:50px}.hydro-copy h2{font-size:62px}.hydro-post-caption{font-family:'Barlow Condensed',sans-serif;font-size:28px}.hydro-story{background:#232c56}.hero-copy>*{animation-duration:1s}.hero-copy>:nth-child(2){animation-delay:.16s}
@media(min-width:1500px){.hero{padding-left:max(8%,calc((100vw - 1380px)/2));padding-right:0}}
@media(max-width:1050px) and (min-width:701px){header{padding:0 4%}header .brand{width:175px}nav{gap:12px;font-size:10px}.header-cta{font-size:10px;padding:11px}.hero{padding-left:6%;height:690px;grid-template-columns:1fr 1fr}.hero h1{font-size:84px}.hero .eyebrow{font-size:9px}.hero-description{font-size:14px}.hero-portrait{border-radius:0 0 0 65px}.portrait-caption{left:25px}.hero-rating{flex-wrap:wrap}.portrait-tag{padding:14px;right:16px}.hero-copy{padding-right:22px}.scroll-cue{left:6%}}
@media(max-width:700px){header{height:86px;padding:0 6%}header .brand{width:188px}.menu-toggle{border-color:#cfdce6}.menu-toggle span{background:var(--navy)}#mobile-menu{top:86px;background:white;border-bottom:1px solid var(--line);color:var(--navy)}.hero{padding:0;display:flex;height:auto;min-height:0;overflow:hidden;background:#f1f8fb}.hero-copy{padding:38px 6% 30px;align-self:stretch}.hero .eyebrow{font-size:9px;letter-spacing:.08em;margin-bottom:23px;gap:8px}.hero .eyebrow:before{width:16px}.hero h1{font-size:clamp(65px,18vw,100px);line-height:.98;letter-spacing:-.025em}.hero h1 em br{display:none}.hero-description{font-size:14px;line-height:1.85;max-width:360px;margin:23px 0}.hero .button{font-size:12px;padding:16px 20px;gap:25px}.hero-rating{font-size:10px;gap:8px}.hero-note{font-size:10px}.hero-portrait{height:440px;min-height:440px;margin:0 0 0 6%;width:94%;border-left:5px solid var(--cyan);border-radius:55px 0 0 0;align-self:stretch}.hero-portrait>img{object-position:center 26%}.portrait-caption{left:25px;bottom:28px}.portrait-caption strong{font-size:33px}.portrait-caption>span{font-size:8px}.portrait-caption small{font-size:10px}.portrait-tag{top:22px;right:20px;padding:12px 15px;font-size:8px}.portrait-tag strong{font-size:25px}.hero-brand-symbol{width:350px;left:42%;top:80px;opacity:.04}.section h2,.gallery-heading h2,.faq h2,.contact h2,.treatments h2{font-size:43px;line-height:1.08;letter-spacing:-.01em}.about h2{font-size:49px}.principles h3{font-size:26px;line-height:1.15}.treatment-list h3{font-size:27px;line-height:1.1}.treatment-list summary{gap:10px}.journey-grid article h3{font-size:31px}.journey-grid article:before{font-size:48px}.manifesto h2{font-size:clamp(50px,13vw,72px)}.hydro-copy h2{font-size:48px}.review-grid blockquote{font-size:18px}.movement-band>div{font-size:38px}.contact .button{font-size:13px}.footer-top .brand{width:190px}.location-card h3{font-size:31px}}
@media(max-width:360px){.hero h1{font-size:64px}.hero .eyebrow{font-size:8px}.hero-rating{font-size:9px;gap:6px}.hero-portrait{height:400px;min-height:400px}}
/* Readability and touch targets: mobile is the baseline. */
body{font-size:18px;line-height:1.75}nav{font-size:14px}.header-cta{font-size:14px;min-height:48px}.eyebrow,.section>.eyebrow,.section-heading .eyebrow,.about-copy .eyebrow,.faq .eyebrow,.contact .eyebrow,.gallery-heading .eyebrow,.manifesto .eyebrow,.hydro-copy .eyebrow,.location-card .eyebrow{font-size:14px;letter-spacing:.08em}.hero .eyebrow{font-size:14px;letter-spacing:.06em}.hero-description,.intro-grid p,.principles p,.section-heading>p,.treatment-body,.about p:not(.eyebrow),.journey-grid p,.faq h2+p,.faq-list details>p,.contact p:not(.eyebrow),.gallery-heading>div:last-child,.hydro-copy>p:not(.eyebrow){font-size:18px;line-height:1.8}.button,.hero .button,.contact .button,.mobile-booking{font-size:16px;min-height:54px}.text-link,.location-card .text-link{font-size:16px;min-height:44px;align-items:center}.hero-rating,.hero-note,.hero-rating .stars,.hero-rating strong,.treatment-footnote,.registration,.credentials>div,.journey-grid article>span,.review-person strong,.review-person small,.reviews-bottom p,.google-score>div,.footer-bottom,.gallery-toggle,.gallery-group figcaption,.hydro-copy>p.hydro-context,.hydro-profile,.hydro-post-label,.hydro-post-caption small{font-size:14px}.hero-rating{flex-wrap:wrap;row-gap:5px}.hero-note{line-height:1.6}.portrait-caption>span{font-size:12px;line-height:1.5}.portrait-caption small{font-size:14px;line-height:1.55}.portrait-tag{font-size:12px}.footer-top p,.footer-top>div,.contact-phone,.location-card address{font-size:16px}.footer-top a,.footer-bottom a,.hydro-profile,.contact-phone{min-height:44px;display:inline-flex;align-items:center}.faq-list summary{font-size:18px;min-height:64px;line-height:1.55}.gallery-toggle{min-height:44px}.treatment-no,.number{font-size:16px}.hero{height:auto;min-height:810px}.hero-portrait{position:relative;min-height:810px}.hero-copy{padding-top:65px;padding-bottom:75px}.portrait-caption{right:24px}.hero-rating>span:last-child{font-size:20px}.scroll-cue{font-size:14px}.footer-bottom{line-height:1.7}.credentials>div{gap:20px}.menu-toggle{width:48px;height:48px}
@media(max-width:1100px) and (min-width:701px){nav{gap:12px;font-size:14px}header .brand{width:170px}.header-cta{font-size:14px;padding:10px 14px;gap:10px}.hero .eyebrow{font-size:12px}.hero h1{font-size:82px}.hero-description{font-size:17px}.hero-copy{padding-right:24px}.hero-rating{font-size:13px}.hero-note{font-size:13px}.hero{min-height:820px}.hero-portrait{min-height:820px}.portrait-tag{font-size:11px}.portrait-caption small{font-size:13px}}
@media(max-width:900px){nav,.header-cta{display:none}.menu-toggle{display:grid;gap:6px;border:1px solid #cfdce6;background:transparent;padding:13px;border-radius:50%;place-content:center}.menu-toggle span{width:19px;height:2px;background:var(--navy);transition:transform .3s}#mobile-menu{position:absolute;top:105px;left:0;right:0;background:white;color:var(--navy);padding:22px 6%;border-bottom:1px solid var(--line)}#mobile-menu:not([hidden]){display:grid}#mobile-menu a{font-size:18px;min-height:52px;padding:10px 0}.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)}}
@media(max-width:700px){html{scroll-padding-top:24px}body{font-size:18px}header{height:90px}header .brand{width:195px}#mobile-menu{top:90px}.hero{min-height:0;height:auto}.hero-copy{padding:34px 6% 34px}.hero .eyebrow{font-size:14px;line-height:1.65;letter-spacing:.02em;max-width:300px;margin-bottom:22px}.hero .eyebrow:before{width:16px}.hero h1{font-size:clamp(64px,17.5vw,92px);line-height:1.02}.hero-description{font-size:18px;line-height:1.75;max-width:none;margin:24px 0}.hero .button{width:100%;justify-content:space-between;padding:17px 20px;font-size:16px}.hero-rating{font-size:14px;gap:9px;margin-top:23px}.hero-rating .stars,.hero-rating strong{font-size:14px}.hero-note{font-size:14px;line-height:1.6;margin-top:14px}.hero-portrait{height:440px;min-height:440px;max-height:none}.portrait-caption{left:22px;right:18px;bottom:25px}.portrait-caption strong{font-size:34px}.portrait-caption>span{font-size:12px;letter-spacing:.04em}.portrait-caption small{font-size:14px}.portrait-tag{font-size:11px;padding:12px;right:16px;top:18px}.portrait-tag strong{font-size:28px}.section{padding:60px 6%}.section>.eyebrow,.section-heading .eyebrow,.about-copy .eyebrow,.faq .eyebrow,.contact .eyebrow,.gallery-heading .eyebrow,.manifesto .eyebrow,.hydro-copy .eyebrow{font-size:14px;letter-spacing:.05em;line-height:1.7}.intro-grid p,.principles p,.section-heading>p,.treatment-body,.about p:not(.eyebrow),.journey-grid p,.faq h2+p,.faq-list details>p,.contact p:not(.eyebrow),.gallery-heading>div:last-child,.hydro-copy>p:not(.eyebrow){font-size:18px;line-height:1.75}.principles article{grid-template-columns:30px 1fr;gap:0 10px}.principles h3{font-size:29px;margin-bottom:14px}.number,.treatment-no{font-size:16px}.treatment-list summary{gap:12px;padding:23px 0;min-height:75px}.treatment-list h3{font-size:28px;line-height:1.15}.treatment-body{margin-left:0;padding:0 0 28px}.treatment-footnote{font-size:14px;line-height:1.75}.text-link,.location-card .text-link{font-size:16px;gap:16px;line-height:1.5}.credentials>div{font-size:15px;line-height:1.7}.registration{font-size:14px}.image-label{font-size:14px;letter-spacing:.04em}.journey-grid article{min-height:330px;padding:28px 24px}.journey-grid article>span{font-size:14px;letter-spacing:.025em}.journey-grid article:before{font-size:42px;top:24px;right:20px;opacity:.4}.journey-grid article h3{font-size:33px;margin-top:32px}.manifesto>p:not(.eyebrow){font-size:18px}.faq-list summary{font-size:18px;gap:16px;padding:22px 0}.faq-list details>p{padding-right:0}.plus{width:30px;height:30px}.plus:before,.plus:after{top:14px;left:9px}.contact .button{max-width:none;width:100%;font-size:16px}.location-card .eyebrow{font-size:14px}.location-card address{font-size:17px}.review-grid blockquote{font-size:20px;line-height:1.6}.review-person strong{font-size:16px}.review-person small,.reviews-bottom p,.google-score>div{font-size:14px}.google-score{gap:18px}.gallery-toggle{font-size:14px}.gallery-group figcaption{font-size:16px}.hydro-copy>p.hydro-context,.hydro-profile{font-size:14px;line-height:1.7}.hydro-post{width:88%;max-width:330px}.hydro-post-label{font-size:12px;letter-spacing:.025em}.hydro-post-caption small{font-size:14px;line-height:1.6}.footer-top p,.footer-top>div{font-size:16px}.footer-bottom{font-size:14px;gap:16px}.footer-top{gap:24px}.mobile-booking{font-size:16px;min-height:56px;padding:14px 22px}footer{padding-bottom:105px}.movement-band>div{font-size:40px}}
@media(max-width:360px){.hero h1{font-size:62px}.hero .eyebrow{font-size:14px}.hero-rating{font-size:14px;gap:8px}.hero-portrait{min-height:430px;height:430px}.hero-description{font-size:18px}.hero .button{font-size:16px;padding-left:16px;padding-right:16px}.section h2,.gallery-heading h2,.faq h2,.contact h2,.treatments h2{font-size:40px}}

/* Portrait supplied for the biography. */
.about-image img{object-position:50% 30%;filter:none}
@media(max-width:700px){.about-image{height:auto;min-height:0;aspect-ratio:1/1}.about-image img{height:100%;object-position:center}}
