/* Larger reading text and a hero that responds to available browser height. */
.hero-copy .intro{font-size:20px;line-height:1.6}
.hero .button,.hero .text-link,.button,.text-link{font-size:17px}
.hero-copy .eyebrow,.eyebrow{font-size:13px;letter-spacing:.09em}
.welcome-strip>div>span,.first-visit .steps p,.treatment-content p:not(.eyebrow),.studio-intro>p:last-child{font-size:19px;line-height:1.65}
.treatment-jumps a,.treatment-teaser,.treatment-note p:not(.eyebrow),.provider-proof span{font-size:16px;line-height:1.6}
.consult-link,.treatment-note .text-link,.first-visit-actions .text-link{font-size:16px}
.visit-details dl{font-size:17px}
.hero-signature p{font-size:12px;letter-spacing:.06em}
.consult-intro{font-size:18px;line-height:1.65}
.consult-help,.consult-fee>p,.consult-note,.consult-footer>p,.consult-phone{font-size:14px;line-height:1.65}
.consult-label,.consult-questions h3,.consult-questions ul,#consult-interest,.consult-footer .button,.consult-close{font-size:16px}
.consult-top>span,.consult-scroll>.eyebrow,.consult-fee>div>span{font-size:12px;letter-spacing:.08em}
@media(min-width:981px) and (max-height:780px){
 .header{padding-block:17px}
 .hero{margin-top:12px;margin-bottom:30px;align-items:stretch}
 .hero-inner{padding:24px 30px;align-items:flex-start}
 .hero-copy .eyebrow{margin-bottom:16px}
 .hero h1{font-size:clamp(64px,5.2vw,78px);line-height:1.02;margin-bottom:18px}
 .hero h1 br:nth-of-type(2){display:none}
 .hero-copy .intro{max-width:38ch}
 .hero .actions{margin-top:22px;gap:14px 22px}
 .hero-image{min-height:0;height:100%;position:absolute;inset:0;object-fit:cover;object-position:right center}
 .hero-portrait{min-height:440px}
 .hero-signature{padding:14px 20px;gap:18px}
}
@media(min-width:651px) and (max-width:980px) and (max-height:780px){
 .header{padding-block:17px}
 .hero{margin-top:8px;align-items:stretch}
 .hero-inner{padding:24px 22px;align-items:flex-start}
 .hero-copy .eyebrow{font-size:12px;margin-bottom:16px}
 .hero h1{font-size:clamp(55px,6.9vw,66px);line-height:1.02;margin-bottom:18px}
 .hero-copy .intro{font-size:19px;line-height:1.6}
 .hero .actions{margin-top:20px;gap:12px}
 .hero-image{min-height:0;position:absolute;inset:0;height:100%;object-fit:cover}
 .hero-portrait{min-height:440px}
}
@media(max-width:650px){
 .hero-copy .intro{font-size:19px}
 .hero-copy .eyebrow{font-size:12px;letter-spacing:.08em}
 .hero .button,.hero .text-link{font-size:17px}
 .hero-signature p{font-size:11px}
 .treatment-jumps a,.treatment-teaser{font-size:15px}
 .welcome-strip>div>span,.first-visit .steps p,.treatment-content p:not(.eyebrow){font-size:18px}
}
@media(max-width:650px) and (max-height:720px){
 .header{padding-block:16px}
 .hero-inner{padding:20px 20px 25px}
 .hero-copy .eyebrow{margin-bottom:12px}
 .hero h1{font-size:clamp(54px,14vw,68px);line-height:1.01;margin-bottom:16px}
 .hero-copy .intro{font-size:19px;line-height:1.6}
 .hero .actions{margin-top:16px;gap:13px 20px}
}
/* Landscape prioritizes a full-width introduction and lets the portrait follow it. */
@media(min-width:651px) and (max-height:500px){
 .header{padding-block:12px}
 .hero{grid-template-columns:minmax(0,1fr);margin-top:8px;background:var(--ivory)}
 .hero-inner{padding:18px 24px 24px}
 .hero-copy{max-width:1100px}
 .hero-copy .eyebrow{margin-bottom:12px;max-width:none}
 .hero h1{font-size:clamp(50px,6.4vw,70px);line-height:1.04;margin-bottom:12px}
 .hero h1 br{display:none}
 .hero-copy .intro{font-size:19px;line-height:1.5;max-width:65ch}
 .hero .actions{margin-top:15px;gap:14px 24px}
 .hero-portrait{min-height:0;max-width:900px;width:100%;justify-self:center}
 .hero-image{position:static;height:auto;min-height:0;aspect-ratio:16/9;object-position:right center}
}
@media(max-height:480px){
 .consultation-drawer[open]{overflow-y:auto;overscroll-behavior:contain}
 .consultation-drawer .consult-shell{height:auto;min-height:100%}
 .consultation-drawer .consult-scroll{flex:none;overflow:visible;padding-block:24px}
 .consultation-drawer .consult-top,.consultation-drawer .consult-footer{position:static}
 .consultation-drawer .consult-phone{min-height:44px}
}

/* Keep enquiry forms readable, including low windows and the on-screen keyboard. */
dialog.inquiry-drawer{height:100vh;height:100dvh;max-height:none}
dialog.inquiry-drawer .drawer-intro{font-size:17px;line-height:1.65}
dialog.inquiry-drawer .drawer-label{font-size:15px;line-height:1.5}
dialog.inquiry-drawer .drawer-label span{font-size:12px}
dialog.inquiry-drawer .drawer-label>span[id]{margin:0;color:inherit;font:inherit}
dialog.inquiry-drawer .drawer-control{font-size:16px;line-height:1.5}
dialog.inquiry-drawer .drawer-primary{font-size:16px;min-height:52px}
dialog.inquiry-drawer .drawer-text-button{font-size:14px;min-height:44px}
dialog.inquiry-drawer .drawer-help,dialog.inquiry-drawer .drawer-footer-note,dialog.inquiry-drawer .drawer-copy-status,dialog.inquiry-drawer .drawer-field-error{font-size:14px;line-height:1.55}
dialog.inquiry-drawer .drawer-steps li{font-size:14px}
dialog.inquiry-drawer .drawer-steps li>span{font-size:12px}
dialog.inquiry-drawer legend{font-size:13px}
dialog.inquiry-drawer .drawer-summary dt{font-size:14px}
dialog.inquiry-drawer .drawer-summary dd{font-size:16px}
dialog.inquiry-drawer .drawer-recipient,dialog.inquiry-drawer .drawer-email-preview>summary,dialog.inquiry-drawer .drawer-email-preview pre{font-size:14px;line-height:1.6}
@media(max-height:650px){
 dialog.inquiry-drawer .drawer-topbar{padding-block:10px}
 dialog.inquiry-drawer .drawer-scroll{padding-top:24px;padding-bottom:24px}
 dialog.inquiry-drawer .drawer-footer{padding-top:12px;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 dialog.inquiry-drawer .drawer-footer-note{margin-bottom:9px}
 dialog.inquiry-drawer .drawer-steps{margin-block:20px}
}
/* Let the whole drawer scroll when a keyboard or landscape window is very short. */
@media(max-height:480px){
 dialog.inquiry-drawer[open]{display:block;overflow-y:auto;overscroll-behavior:contain}
 dialog.inquiry-drawer .drawer-scroll{overflow:visible;min-height:0;scrollbar-gutter:auto}
 dialog.inquiry-drawer .drawer-topbar,dialog.inquiry-drawer .drawer-footer{position:static}
 dialog.inquiry-drawer .drawer-heading{font-size:38px}
}
