:root{--ink:#25164e;--ink-deep:#1d123f;--gold:#b38d22;--gold-ink:#836510;--paper:#f8f7f3;--white:#fff;--muted:#655e73;--line:#e0dce7;--soft:#f1eef5;--serif:"Baskerville","Iowan Old Style","Palatino Linotype",Georgia,serif;--sans:"Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;--shell:1312px;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:125px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--sans);-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-weight:400}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,summary,select{-webkit-tap-highlight-color:transparent}button{border:0}a,button,select{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold-ink);outline-offset:5px}img{display:block;max-width:100%;height:auto}svg{display:block;flex-shrink:0}button:disabled{cursor:not-allowed}::selection{background:#ddc888;color:var(--ink)}[hidden]{display:none!important}.shell{width:min(var(--shell),calc(100% - 112px));margin-inline:auto}.icon{width:23px;height:23px}.eyebrow{font-size:10px;font-weight:600;line-height:1.6;letter-spacing:.235em;text-transform:uppercase}.section{padding-block:104px}.section h2,.faq-section h2{font:400 clamp(40px,4vw,58px)/1.13 var(--serif);letter-spacing:-.035em}.section h2{margin:19px 0 23px}.section-rule{display:block;width:45px;height:2px;background:var(--gold);margin:25px 0}.gold-dot{color:var(--gold)}.skip-link{position:fixed;z-index:1000;left:20px;top:-120px;background:var(--ink);color:#fff;padding:13px 20px;border-radius:8px}.skip-link:focus{top:15px}
.preview-bar{min-height:30px;padding:6px 22px;background:#eeebf1;color:#655b76;display:flex;gap:12px;align-items:center;justify-content:center;font-size:10px;line-height:1.45;letter-spacing:.025em}.preview-bar>span:first-child{font-weight:600}.preview-bar button{display:flex;align-items:center;gap:3px;font-size:10px;background:transparent;margin-left:12px;padding:0;border-bottom:1px solid #b9b1c6}.preview-bar .icon{width:12px;height:12px}.site-header{position:sticky;top:0;z-index:30;background:rgba(248,247,243,.97);border-bottom:1px solid rgba(37,22,78,.06);backdrop-filter:blur(15px)}.header-inner{height:102px;display:flex;align-items:center;justify-content:space-between;gap:35px}.brand{display:inline-block;flex-shrink:0}.brand img{width:220px;height:51px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:28px;margin-left:auto}.main-nav>a{position:relative;font-size:12px;font-weight:500;padding:14px 0;white-space:nowrap}.main-nav>a::after{position:absolute;bottom:8px;left:0;width:0;height:1px;background:var(--gold);content:"";transition:width .2s}.main-nav>a:hover::after,.main-nav>a.active::after{width:100%}.header-actions{display:flex;align-items:center;gap:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--ink);border:1px solid var(--ink);color:#fff;border-radius:100px;min-height:53px;padding:14px 25px;font-size:13px;line-height:1.45;font-weight:500;transition:background .2s,box-shadow .2s,transform .2s;white-space:nowrap}.button .icon{width:20px;height:20px}.button .button-arrow{margin-left:5px}.button:hover{background:#392366;box-shadow:0 7px 24px rgba(37,22,78,.12);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button-outline{background:transparent;color:var(--ink);border-color:var(--ink)}.button-outline:hover{background:#eeebf4;box-shadow:none}.button-light{background:#fff;color:var(--ink);border-color:#fff}.button-light:hover{background:#f1eafa}.button:disabled{background:#ebe8ef;border-color:#ebe8ef;color:#756c84;box-shadow:none;transform:none}.header-book{min-height:48px;padding:12px 22px;font-size:12px}.header-book .button-arrow{display:none}.menu-toggle{display:none;width:44px;height:44px;padding:10px;background:transparent;border:1px solid var(--line);border-radius:50%}.menu-toggle .icon{width:22px;height:22px}.text-link{background:none;color:var(--ink);padding:0 0 4px;display:inline-flex;align-items:center;gap:12px;font-size:12px;font-weight:600;line-height:1.6;border-bottom:1px solid var(--gold);text-align:left}.text-link .icon{width:19px;height:19px}.text-link:hover{color:var(--gold-ink)}
.values{border-bottom:1px solid var(--line);background:#fff}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);padding-block:31px}.value-item{display:flex;gap:19px;align-items:center;padding:4px 22px}.value-item:first-child{padding-left:0}.value-item+.value-item{border-left:1px solid var(--line)}.value-item>.icon{width:35px;height:35px;stroke-width:1.3}.value-item h2{font:600 12px/1.5 var(--sans);margin-bottom:4px}.value-item p{font-size:11px;line-height:1.6;color:var(--muted)}
.about{display:grid;grid-template-columns:1fr 1fr;gap:108px;align-items:center}.about-intro{padding-right:12px}.about-intro>p:not(.eyebrow){max-width:436px;color:var(--muted);font-size:14px}.about-intro .about-lead{font-size:19px!important;line-height:1.6;color:var(--ink)!important;margin-bottom:15px;max-width:390px!important}.about-signature{margin:32px 0 23px;border-left:1px solid var(--gold);padding-left:19px}.about-signature>span{display:block;font:italic 23px/1.4 var(--serif)}.about-signature small{display:block;font-size:8px;letter-spacing:.2em;color:var(--muted);margin-top:4px}.profile-panel{background:#fff;border:1px solid #e7e3eb;border-radius:var(--radius);box-shadow:0 10px 45px rgba(37,22,78,.03);overflow:hidden;scroll-margin-top:120px}.profile-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#faf9fc;padding-inline:24px;gap:18px}.profile-tabs button{min-height:71px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;font-size:12px;font-weight:500;color:var(--muted);position:relative;padding:13px 0}.profile-tabs button[aria-selected=true]{color:var(--ink)}.profile-tabs button[aria-selected=true]::after{position:absolute;height:2px;background:var(--gold);content:"";bottom:-1px;left:0;right:0}.profile-tabs .icon{width:19px;height:19px}.tab-panel{padding:31px 37px 33px;min-height:435px}.tab-panel>.eyebrow{font-size:9px;letter-spacing:.2em;color:var(--gold-ink)}.tab-panel h3{font:400 37px/1.12 var(--serif);letter-spacing:-.035em;margin:15px 0 17px}.tab-panel>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.8}.profile-facts{margin-top:20px;border-top:1px solid var(--line)}.profile-facts>div{padding-block:11px;display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);font-size:11px}.profile-facts dt{color:var(--muted)}.profile-facts dd{text-align:right;font-weight:500}.pending-note{font-size:10px!important;color:#797082!important;line-height:1.7!important;margin-top:18px}.tab-panel .text-link{margin-top:18px;font-size:11px}.personal-initial{font:italic 56px/1 var(--serif);color:var(--gold-ink);margin:25px 0 20px}#panel-personal{min-height:496px}
.treatments-section{background:#efedf3;border-block:1px solid #e8e3ed}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);font-size:13px;line-height:1.8;padding-bottom:6px;margin-right:6%}.treatment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.treatment-card{background:rgba(255,255,255,.73);padding:28px 23px 23px;border:1px solid rgba(37,22,78,.05);border-radius:16px;display:flex;flex-direction:column;transition:transform .2s,background .2s}.treatment-card:hover{background:#fff;transform:translateY(-4px)}.treatment-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.treatment-top>.icon{width:38px;height:38px;stroke-width:1.25}.treatment-top>span{font:italic 17px var(--serif);color:#8e819e}.treatment-card h3{font:400 29px/1.18 var(--serif);letter-spacing:-.025em;margin-bottom:15px}.treatment-card p{font-size:11px;line-height:1.8;color:var(--muted);max-width:210px}.card-link{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px;line-height:1.55;font-weight:600;padding:21px 0 0;margin-top:auto;background:none;text-align:left;min-height:61px}.card-link .icon{width:20px;height:20px}.source-note{font-size:9px;line-height:1.8;color:#6f647c;margin-top:20px}.source-note a{text-decoration:underline;text-underline-offset:3px}
.location-section{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:108px}.location-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;color:var(--muted);max-width:370px}.location-intro>.text-link{margin-top:28px}.location-card{border:1px solid #ded9e5;background:#f1eef3;border-radius:var(--radius);padding:36px 38px;position:relative;overflow:hidden}.location-number{position:absolute;right:-10px;top:-28px;font:400 245px/1 var(--serif);color:#e5dfea;letter-spacing:-.08em;pointer-events:none}.location-card-content{position:relative;z-index:1}.location-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.8);margin-bottom:19px}.location-icon>.icon{width:21px;height:21px}.location-card .eyebrow{font-size:9px}.location-card h3{font:400 35px/1.2 var(--serif);letter-spacing:-.035em;margin:11px 0 9px}.location-card p:not(.eyebrow){font-size:13px;color:var(--muted)}.location-divider{height:1px;background:#d8d2e0;margin:22px 0 17px}.location-meta{display:flex;align-items:center;gap:10px;margin-bottom:22px}.location-meta>.icon{width:17px;height:17px}.location-meta p{font-size:11px!important}.location-card .button{min-height:46px;font-size:11px;width:100%;justify-content:space-between;background:rgba(255,255,255,.5);border-color:#c2b9ce}.location-card .button:hover{background:#fff}.faq-section{display:grid;grid-template-columns:1fr 1.23fr;gap:89px;padding-top:0;padding-bottom:104px}.faq-section h2{font-size:43px;margin-top:20px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:22px;list-style:none;font-size:12px;font-weight:500;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:24px;line-height:1;font-weight:300;transition:transform .2s}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{color:var(--muted);font-size:12px;line-height:1.85;padding:0 30px 23px 0}.faq-list p a{text-decoration:underline;text-underline-offset:3px}
.booking-band{background:var(--ink-deep);color:#fff;position:relative;overflow:hidden}.booking-band-inner{position:relative;z-index:1;padding-block:61px 65px;display:flex;justify-content:space-between;align-items:center;gap:70px}.booking-band .eyebrow{font-size:9px;color:#ddc783;letter-spacing:.27em}.booking-band h2{font:400 clamp(43px,4.3vw,61px)/1.12 var(--serif);letter-spacing:-.025em;margin:17px 0 17px}.booking-band p:not(.eyebrow){font-size:12px;color:#d3cbe2}.booking-band-actions{display:flex;align-items:center;flex-direction:column;gap:15px;margin-right:8%}.booking-band-actions .button{min-height:58px;padding:16px 28px;font-size:13px}.booking-status{font-size:10px;color:#c4b8da;text-align:center}.booking-art{position:absolute;right:9%;bottom:-180px;width:620px;height:650px;border:1px solid rgba(214,192,129,.12);border-radius:50% 50% 0 0;transform:rotate(30deg)}.booking-art:before,.booking-art:after{position:absolute;content:"";inset:30px;border:1px solid rgba(214,192,129,.09);border-radius:inherit}.booking-art:after{inset:65px}.site-footer{padding:51px 0 22px;background:#fbfaf7}.footer-main{display:grid;grid-template-columns:1fr 1.3fr 1fr .85fr;gap:40px;align-items:center;padding-bottom:39px}.footer-main .brand img{width:187px;height:auto}.footer-address{display:flex;gap:11px;align-items:center}.footer-address>.icon{width:21px;height:21px}.footer-address p{font-size:11px;color:var(--muted);line-height:1.8}.footer-contact{display:flex;flex-direction:column;font-size:10px;gap:7px}.footer-contact a:hover{text-decoration:underline;text-underline-offset:3px}.footer-statement{font:400 19px/1.4 var(--serif);border-left:1px solid var(--line);padding-left:27px}.footer-statement em{font-weight:400;color:var(--muted)}.footer-bottom{padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;font-size:9px;color:#786d85}.footer-bottom>div{display:flex;gap:21px;align-items:center;flex-wrap:wrap}.footer-bottom button{padding:0;background:none;font-size:9px;line-height:1.7}.footer-bottom button:hover{text-decoration:underline}.site-credit{font-size:8px;color:#897e92}.medical-note{font-size:8px;line-height:1.8;color:#897e92;margin-top:12px}.medical-note a{text-decoration:underline;text-underline-offset:2px}.mobile-booking{display:none}
.modal{width:min(520px,calc(100% - 32px));padding:38px;border:1px solid #e2dce9;border-radius:25px;background:var(--paper);color:var(--ink);max-height:calc(100dvh - 42px);overflow-y:auto;box-shadow:0 30px 100px rgba(18,10,36,.2)}.modal::backdrop{background:rgba(24,16,42,.57);backdrop-filter:blur(5px)}.modal-close{position:absolute;right:20px;top:18px;background:#eeebf2;border:1px solid #e0d9e8;width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.modal-close>.icon{width:17px;height:17px}.modal-icon{width:45px;height:45px;border:1px solid #dfd7e9;border-radius:50%;display:grid;place-items:center;margin-bottom:20px}.modal-icon>.icon{width:23px;height:23px}.modal .eyebrow{font-size:9px;color:var(--gold-ink)}.modal h2{font:400 45px/1.07 var(--serif);letter-spacing:-.03em;margin:13px 0 18px}.modal>p:not(.eyebrow){font-size:12px;color:var(--muted);line-height:1.85}.modal form{margin-top:24px}.modal label{display:block;font-size:11px;font-weight:600;margin-bottom:9px}.modal select{display:block;width:100%;min-height:48px;background:#fff;border:1px solid #ccc3d8;border-radius:11px;color:var(--ink);font-size:13px;padding:12px 36px 12px 15px}.booking-message{margin:17px 0;background:#eeebf2;border:1px solid #e0dae7;border-radius:12px;padding:15px 17px;font-size:11px}.booking-message>strong{display:block;font-size:11px;font-weight:600;line-height:1.55;margin-bottom:5px}.booking-message>p{font-size:11px;line-height:1.7;color:var(--muted)}.modal-submit{width:100%;margin-top:4px;min-height:50px}.booking-alternative{margin-top:19px;font-size:11px}.modal-fineprint{font-size:9px;line-height:1.8;color:#7d7189;margin-top:15px}.text-modal{width:min(650px,calc(100% - 32px));padding:43px}.text-modal h2{font-size:40px}.text-modal h3{font:400 24px/1.2 var(--serif);margin:26px 0 11px}.text-modal>p{margin-top:10px}.text-modal a{text-decoration:underline;text-underline-offset:3px}.noscript-notice{padding:25px;background:#efe9d8;font-size:13px;text-align:center}.noscript-notice a{text-decoration:underline}
@media(min-width:1650px){}
@media(max-width:1180px){.shell{width:calc(100% - 72px)}.header-inner{gap:22px}.brand img{width:186px;height:45px}.main-nav{gap:20px}.main-nav>a{font-size:11px}.header-book{padding-inline:17px}.about,.location-section{gap:65px}.value-item{padding-inline:18px;gap:12px}.value-item>.icon{width:30px;height:30px}.value-item h2{font-size:11px}.value-item p{font-size:10px}.treatment-card{padding:25px 20px 20px}.treatment-card h3{font-size:26px}.card-link{font-size:9px}.footer-main{gap:25px}.footer-main .brand img{width:165px}.footer-statement{font-size:17px;padding-left:22px}.tab-panel{padding:29px 28px}.profile-tabs{padding-inline:20px;gap:15px}.profile-tabs button{font-size:11px}.booking-band-actions{margin-right:2%}.faq-section{gap:65px}}
@media(max-width:980px){html{scroll-padding-top:100px}.shell{width:calc(100% - 48px)}.header-inner{height:84px}.brand img{width:186px;height:43px}.main-nav{position:absolute;top:100%;left:0;right:0;background:#fbfaf8;padding:20px 24px 28px;display:none;flex-direction:column;gap:4px;border-bottom:1px solid var(--line);box-shadow:0 15px 25px rgba(37,22,78,.05);align-items:stretch}.main-nav.open{display:flex}.main-nav>a{font-size:14px;padding:13px 4px}.main-nav>a:after{bottom:9px}.menu-toggle{display:block}.header-actions{margin-left:auto}.values-grid{grid-template-columns:repeat(2,1fr);gap:23px;padding-block:28px}.value-item{padding:0 20px;gap:18px}.value-item:nth-child(odd){border-left:0;padding-left:0}.value-item h2{font-size:12px}.value-item p{font-size:11px}.section{padding-block:77px}.about,.location-section{gap:37px}.about h2{font-size:45px}.about-intro .about-lead{font-size:17px!important}.about-intro>p:not(.eyebrow){font-size:13px}.about .text-link{font-size:10px}.profile-tabs{gap:12px;padding-inline:17px}.profile-tabs button{font-size:10px;gap:6px}.profile-tabs .icon{width:17px;height:17px}.tab-panel{padding:27px 22px}.tab-panel h3{font-size:34px}.profile-facts>div{font-size:10px;gap:12px}.tab-panel>p:not(.eyebrow){font-size:11px}.treatment-grid{grid-template-columns:repeat(2,1fr);gap:18px}.treatment-card{padding:26px}.treatment-top{margin-bottom:23px}.treatment-card h3{font-size:31px}.treatment-card h3 br{display:none}.treatment-card p{max-width:260px;font-size:12px}.card-link{font-size:11px;min-height:57px}.section-heading>p{margin-right:0;font-size:12px}.location-card{padding:30px 27px}.location-card h3{font-size:30px}.location-section h2{font-size:42px}.faq-section{gap:35px;padding-bottom:77px}.faq-section h2{font-size:37px}.footer-main{grid-template-columns:1fr 1.2fr;gap:33px 55px}.footer-main .brand img{width:187px}.footer-statement{border:0;padding:0}.footer-bottom{flex-direction:column;gap:12px}.booking-band-inner{gap:45px}.booking-band h2{font-size:49px}.booking-band-actions{margin-right:0}.booking-band-actions .button{padding-inline:23px}.booking-band p:not(.eyebrow){max-width:380px}}
@media(max-width:700px){html{scroll-padding-top:88px}body{padding-bottom:84px}.shell{width:calc(100% - 40px)}.preview-bar{padding:6px 12px;gap:7px;min-height:29px;font-size:8px}.preview-bar button{font-size:8px;margin-left:3px}.preview-bar .icon{display:none}.header-inner{height:75px;gap:15px}.brand img{width:155px;height:37px}.header-book{font-size:10px;min-height:39px;padding:9px 14px;gap:7px}.header-book>.icon{width:15px;height:15px}.menu-toggle{width:37px;height:37px;padding:8px}.menu-toggle>.icon{width:19px;height:19px}.header-actions{gap:8px}.values-grid{gap:21px 16px;padding-block:25px}.value-item{gap:11px;padding:0 0 0 14px}.value-item>.icon{width:28px;height:28px}.value-item h2{font-size:10px}.value-item p{font-size:9px;line-height:1.6;max-width:140px}.section{padding-block:63px}.section h2{font-size:42px;line-height:1.13;margin-top:17px}.eyebrow{font-size:8px;letter-spacing:.22em}.about{grid-template-columns:1fr;gap:34px;align-items:start}.about-intro{padding:0}.about-intro>p:not(.eyebrow){font-size:13px;max-width:100%}.about-intro .about-lead{font-size:18px!important;max-width:330px!important}.section-rule{margin:21px 0}.about-signature{margin:24px 0 23px}.about-signature>span{font-size:23px}.about .text-link{font-size:11px}.profile-tabs{padding-inline:24px;gap:20px}.profile-tabs button{min-height:63px;font-size:11px;gap:9px}.profile-tabs .icon{width:18px;height:18px}.tab-panel{padding:27px 26px 29px;min-height:420px}.tab-panel h3{font-size:37px}.tab-panel>p:not(.eyebrow){font-size:12px}.profile-facts>div{font-size:10px;padding-block:12px}.pending-note{font-size:10px!important}.tab-panel .text-link{font-size:11px}.section-heading{display:block;margin-bottom:26px}.section-heading>p{font-size:12px;margin-top:18px;line-height:1.8}.section-heading>p br{display:none}.treatment-grid{gap:12px}.treatment-card{padding:22px 17px 16px;border-radius:14px}.treatment-top{margin-bottom:22px}.treatment-top>.icon{width:30px;height:30px}.treatment-top>span{font-size:14px}.treatment-card h3{font-size:25px;line-height:1.12;margin-bottom:12px}.treatment-card h3 br{display:block}.treatment-card p{font-size:10px;line-height:1.8}.card-link{font-size:9px;line-height:1.6;gap:6px;min-height:65px;padding-top:20px}.card-link .icon{width:17px;height:17px}.source-note{font-size:8px;line-height:1.8}.location-section{grid-template-columns:1fr;gap:30px}.location-intro>p:not(.eyebrow){font-size:13px;max-width:380px}.location-intro>.text-link{margin-top:22px;font-size:11px}.location-card{padding:30px}.location-card h3{font-size:34px}.location-card .button{min-height:47px;font-size:11px}.faq-section{grid-template-columns:1fr;gap:28px;padding-bottom:63px}.faq-section h2{font-size:40px;line-height:1.13;margin-top:17px}.faq-list summary{font-size:12px;padding-block:21px;line-height:1.65}.faq-list details p{font-size:11px;padding-right:20px}.booking-band-inner{display:block;padding-block:48px 45px}.booking-band h2{font-size:49px;line-height:1.12;margin-top:18px}.booking-band .eyebrow{font-size:8px;letter-spacing:.22em}.booking-band p:not(.eyebrow){font-size:12px;max-width:320px}.booking-band-actions{align-items:flex-start;gap:12px;margin-top:28px}.booking-band-actions .button{min-height:53px;padding-inline:25px;font-size:12px}.booking-status{font-size:9px}.booking-art{right:-115%;bottom:-315px}.site-footer{padding:36px 0 22px}.footer-main{grid-template-columns:1fr 1fr;gap:29px 20px;padding-bottom:29px;align-items:start}.footer-main .brand img{width:153px;height:36px}.footer-address{gap:7px}.footer-address>.icon{width:17px;height:17px}.footer-address p{font-size:9px}.footer-contact{font-size:10px;gap:8px}.footer-statement{font-size:18px}.footer-bottom{font-size:8px;gap:13px;padding-top:19px}.footer-bottom>div{gap:12px}.footer-bottom button{font-size:8px}.site-credit{font-size:7px}.medical-note{font-size:7px;line-height:1.9}.mobile-booking{display:flex;position:fixed;z-index:25;bottom:0;left:0;right:0;padding:10px 20px calc(10px + env(safe-area-inset-bottom));min-height:74px;background:rgba(251,250,247,.97);border-top:1px solid var(--line);backdrop-filter:blur(15px);gap:18px;align-items:center;justify-content:space-between}.mobile-booking>a{font-size:10px;display:flex;gap:7px;align-items:center;min-height:44px}.mobile-booking>a>.icon{width:19px;height:19px}.mobile-booking>.button{min-height:46px;padding:12px 23px;gap:10px;font-size:12px;flex:1;max-width:265px}.mobile-booking .button-arrow{display:none}.mobile-booking .icon{width:19px;height:19px}.modal{padding:30px 25px;max-height:calc(100dvh - 28px);border-radius:22px}.modal h2{font-size:42px}.modal-close{top:15px;right:15px}.text-modal h2{font-size:35px}.text-modal h3{font-size:23px}.modal select{font-size:16px;min-height:49px}.modal-submit{font-size:12px}.modal form{margin-top:21px}}
@media(max-width:370px){.shell{width:calc(100% - 32px)}.preview-bar{gap:5px;font-size:7px}.preview-bar button{font-size:7px}.brand img{width:136px;height:33px}.header-inner{gap:9px}.header-book{padding:9px 11px;font-size:9px}.header-book>.icon{display:none}.header-actions{gap:7px}.value-item{gap:8px;padding-left:10px}.value-item>.icon{width:24px;height:24px}.value-item h2{font-size:9px}.value-item p{font-size:8px}.treatment-card{padding:19px 13px 14px}.treatment-card h3{font-size:24px}.treatment-card p{font-size:9px}.card-link{font-size:8px}.profile-tabs{gap:13px;padding-inline:20px}.profile-tabs button{font-size:10px}.tab-panel{padding-inline:22px}.location-card{padding:26px}.location-card h3{font-size:29px}.mobile-booking{padding-inline:16px;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.preview-bar,.site-header,.mobile-booking,.card-link,.booking-band,.footer-contact,.footer-bottom button,dialog{display:none!important}body{padding:0;background:#fff}.shell{width:100%}.section{padding-block:30px}.values-grid{padding-block:15px}.profile-panel,.location-card,.treatment-card{break-inside:avoid}.section h2{font-size:35px}.about,.location-section{gap:30px}.faq-section{padding-bottom:30px}.site-footer{padding-top:20px}.source-note{font-size:9px}}


/* V4: retrato contenido. La fotografía acompaña; la reserva tiene prioridad. */
.hero { background: #f4f2ee; }
.hero-inner {
  width: min(1152px, calc(100% - 112px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: clamp(48px, 7vw, 104px);
  align-items: center;
  min-height: 604px;
  padding-block: 60px 64px;
}
.hero-copy { min-width: 0; width: 100%; max-width: 650px; }
.hero .eyebrow { display: flex; align-items: center; gap: 12px; font-size: 10px; letter-spacing: .21em; }
.gold-line { height: 1px; width: 26px; background: var(--gold); flex-shrink: 0; }
.hero h1 {
  font: 400 clamp(58px, 5.15vw, 76px)/1.035 var(--serif);
  letter-spacing: -.043em;
  margin: 23px 0 24px;
}
.hero h1 em { font-style: italic; font-weight: 400; }
.hero-description { font-size: 15px; line-height: 1.8; max-width: 460px; color: #50485f; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 27px; }
.hero-actions .button { min-height: 54px; padding: 14px 25px; font-size: 13px; gap: 13px; }
.hero-secondary { border-bottom-color: transparent; font-size: 12px; min-height: 44px; padding: 10px 0; gap: 10px; white-space: nowrap; }
.hero-secondary:hover { border-bottom-color: var(--gold); }
.hero-location { display: flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 10px; color: #665c74; width: fit-content; }
.hero-location .icon { width: 15px; height: 15px; }
.hero-location:hover span { text-decoration: underline; text-underline-offset: 3px; }
.doctor-portrait { width: 100%; max-width: 310px; justify-self: end; }
.portrait-frame { overflow: hidden; border-radius: 18px; background: #e5e1da; box-shadow: 0 15px 42px rgba(37,22,78,.055); }
.portrait-frame img { display: block; width: 100%; height: auto; aspect-ratio: 713 / 707; object-fit: contain; }
.doctor-caption { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 14px; padding-top: 20px; }
.caption-rule { height: 1px; width: 24px; background: var(--gold); margin-top: 13px; }
.doctor-caption p { font: 400 25px/1.25 var(--serif); letter-spacing: -.015em; }
.doctor-caption strong { font-weight: 400; }
.small-label { display: block; text-transform: uppercase; font-size: 9px; letter-spacing: .17em; color: var(--muted); margin-top: 10px; }

@media (max-width: 1180px) {
  .hero-inner { width: calc(100% - 80px); grid-template-columns: minmax(0, 1fr) 270px; gap: 54px; min-height: 565px; padding-block: 48px 52px; }
  .hero h1 { font-size: 64px; }
  .hero-description { font-size: 14px; max-width: 430px; }
  .hero-actions { gap: 20px; }
  .hero-actions .button { font-size: 12px; padding-inline: 21px; }
  .hero-secondary { font-size: 11px; }
}
@media (max-width: 980px) {
  .hero-inner { width: calc(100% - 64px); grid-template-columns: minmax(0, 1fr) 225px; gap: 34px; min-height: 540px; }
  .hero h1 { font-size: 57px; margin-top: 20px; }
  .hero .eyebrow { font-size: 8px; }
  .hero-description { font-size: 13px; }
  .hero-actions { gap: 15px; }
  .hero-actions .button { font-size: 11px; min-height: 50px; padding-inline: 19px; gap: 8px; }
  .hero-actions .button-arrow { display: none; }
  .hero-secondary { font-size: 10px; gap: 7px; }
  .hero-location { font-size: 9px; align-items: flex-start; }
  .doctor-caption { grid-template-columns: 18px minmax(0,1fr); gap: 10px; }
  .caption-rule { width: 18px; }
  .doctor-caption p { font-size: 23px; }
  .small-label { font-size: 8px; }
}
@media (max-width: 700px) {
  .hero-inner { width: calc(100% - 40px); display: flex; flex-direction: column; align-items: stretch; gap: 28px; min-height: 0; padding-block: 32px 30px; }
  .hero-copy { max-width: none; }
  .hero .eyebrow { font-size: 8px; letter-spacing: .19em; gap: 8px; }
  .gold-line { width: 20px; }
  .hero h1 { font-size: clamp(45px, 11.5vw, 62px); line-height: 1.04; margin: 18px 0 20px; letter-spacing: -.045em; }
  .hero-description { font-size: 13px; line-height: 1.75; max-width: 480px; }
  .hero-actions { margin-top: 23px; gap: 18px; flex-wrap: wrap; }
  .hero-actions .button { min-height: 49px; padding: 12px 20px; font-size: 12px; gap: 9px; }
  .hero-actions .button .icon { width: 18px; height: 18px; }
  .hero-secondary { font-size: 11px; gap: 7px; font-weight: 500; }
  .hero-secondary .icon { width: 17px; height: 17px; }
  .hero-location { font-size: 9px; line-height: 1.65; margin-top: 16px; gap: 7px; }
  .hero-location .icon { width: 13px; height: 13px; margin-top: 1px; }
  .doctor-portrait { display: grid; grid-template-columns: 96px minmax(0,1fr); gap: 20px; align-items: center; max-width: none; border-top: 1px solid var(--line); padding-top: 24px; }
  .portrait-frame { border-radius: 12px; box-shadow: none; }
  .doctor-caption { display: block; padding: 0; }
  .doctor-caption .caption-rule { display: none; }
  .doctor-caption p { font-size: 23px; line-height: 1.23; }
  .small-label { font-size: 8px; margin-top: 9px; }
}
@media (max-width: 370px) {
  .hero-inner { width: calc(100% - 32px); padding-top: 28px; gap: 25px; }
  .hero .eyebrow { font-size: 7px; }
  .hero h1 { font-size: 43px; }
  .hero-description { font-size: 12px; }
  .hero-actions { gap: 12px; }
  .hero-actions .button { font-size: 11px; padding-inline: 16px; gap: 7px; }
  .hero-secondary { font-size: 10px; gap: 6px; }
  .hero-secondary .icon { width: 15px; height: 15px; }
  .hero-location { font-size: 8px; }
  .doctor-portrait { grid-template-columns: 86px minmax(0,1fr); gap: 17px; }
  .doctor-caption p { font-size: 21px; }
}
@media print {
  .hero-inner { width: 100%; grid-template-columns: minmax(0,1fr) 180px; gap: 32px; min-height: 0; padding-block: 24px; }
  .hero h1 { font-size: 42px; }
  .hero-description { font-size: 12px; }
  .hero-actions { display: none; }
  .doctor-caption p { font-size: 20px; }
}

/* V5: contacto de reservas, sin alterar el retrato ni la composición de la V4. */
.footer-whatsapp{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:6px;font-weight:600;line-height:1.6}
.footer-whatsapp .contact-channel{font-size:10px;font-weight:500;letter-spacing:.03em;color:var(--muted)}
.footer-whatsapp #public-whatsapp-number{font-size:15px;white-space:nowrap}
.footer-whatsapp:hover #public-whatsapp-number{text-decoration:underline;text-underline-offset:4px}

/* Publicación V6: el CV detallado y la biografía se incorporarán cuando estén disponibles. */
.profile-tabs{grid-template-columns:1fr}
.profile-tabs button{justify-content:flex-start}
.tab-panel{min-height:360px}
