/* Shared typography roles: section title, subheading, body, supporting note. */
:root{--type-title:clamp(22px,2.35vw,34px);--type-subtitle:20px;--type-body:15px;--type-note:12px;--type-label:12px;--type-heading-color:#70538e;--type-body-color:#514b59;--type-note-color:#81758d}
main h2,main .clinic-access h1,main .price-hero h1{font-family:serif!important;font-size:var(--type-title)!important;font-weight:600!important;line-height:1.75!important;letter-spacing:.025em!important;color:var(--type-heading-color)}
main h3,main h4{font-size:var(--type-subtitle)!important;font-weight:500!important;line-height:1.7!important;letter-spacing:.015em!important}
main p,main .body,main .service p,main .step p,main details p,main .medical-partnership>p,main .clinic-access p{font-size:var(--type-body)!important;line-height:1.95!important;font-weight:400!important;letter-spacing:.015em!important}
main p,main .body{color:var(--type-body-color)}
main small,main .aging-caption,main .menu-experience-note p,main .flow-footnote,main .booking-note,main .clinic-source,main .artist-photo figcaption,main .aging-reference p,main .aging-reference summary{font-size:var(--type-note)!important;line-height:1.85!important;letter-spacing:.015em!important;font-weight:400!important;color:var(--type-note-color)}
main .eyebrow,main .record-label,main .clinic-location,main .num,main .kicker{font-size:var(--type-label)!important;line-height:1.7!important;font-weight:500!important;letter-spacing:.12em!important}
main .strength-label{font-size:var(--type-subtitle)!important;line-height:1.7!important;font-weight:600!important;letter-spacing:.025em!important}
main .text-link,main .clinic-links a,main .tokyo-consult,main .consult-link,main .service-link{font-size:14px!important;line-height:1.8!important;font-weight:500!important}
main .faq summary,main .artist-history>summary{font-size:16px!important;line-height:1.8!important;font-weight:500!important;color:var(--type-body-color)}
main .aging-insight strong{font-size:var(--type-body)!important;font-weight:600!important;line-height:1.8!important}
main .aging-age-line label,main .aging-ticks,main .aging-badge,main .clinic-panel-label{font-size:var(--type-note)!important;line-height:1.7!important}
main .service small{font-size:var(--type-note)!important;line-height:1.8!important}
main .service p{min-height:0}
main .hero p{color:#ded7e5}.contact h2{color:#fff!important}.contact p{color:#dcd5e5!important}.contact .booking-note{color:#bfb2cd!important}
#concept.intro{grid-template-columns:1.25fr 1.4fr;gap:6%}
main .philosophy-heading>span{white-space:nowrap}
main .section h2{margin-top:16px;margin-bottom:24px}.faq-heading h2{margin-bottom:0!important}
main .clinic-details dd{font-size:var(--type-body);line-height:1.95}
main table{font-size:var(--type-body);line-height:1.8}
@media(max-width:750px){:root{--type-title:clamp(19px,5.65vw,24px);--type-subtitle:18px;--type-body:14px;--type-note:12px;--type-label:12px}#concept.intro{grid-template-columns:1fr;gap:24px}main .section h2{margin-bottom:22px}main .faq summary,main .artist-history>summary{font-size:15px!important}main .aging-controls h3{margin:6px 0 14px}.faq-heading h2{white-space:nowrap}#artist .artist-identity h2{font-size:clamp(15px,4.4vw,20px)!important;line-height:1.75!important;color:#fff!important}#artist .artist-identity h3{color:#fff}#artist .artist-identity .eyebrow{font-size:9px!important;letter-spacing:.04em!important;line-height:1.7!important}}
main .clinic-access dl>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:14px;padding:16px 0;border-bottom:1px solid #ded9e6}main .clinic-access dt{font-size:var(--type-note)!important;line-height:1.9;font-weight:500;color:var(--type-note-color)}main .clinic-access dd{font-size:var(--type-body)!important;line-height:1.95;margin:0;color:var(--type-body-color)}@media(max-width:750px){main .clinic-access dl>div{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:14px 0}}
