
/* One reading system; wide prose justified, narrow prose aligned to the start. */
:root{
 --type-body:1rem;--type-lead:1.0625rem;--type-detail:.875rem;
 --reading-measure:68ch;--content-width:1048px;
}
body{font-size:var(--type-body);line-height:1.7}
body:not(.home) main>.section>.container,
body:not(.home) main>.section-space>.container,
body:not(.home) main>.page-header>.container,
body:not(.home) main>.treatment-catalog>.container,
body:not(.home) main>.cta-banner>.container,
body:not(.home) main>.container{max-width:var(--content-width)}
body:not(.home) main>.page-header{padding-block:44px 36px}
main h1,main h2,main h3{ text-wrap:balance;word-break:normal;overflow-wrap:normal }
body:not(.home) .page-header h1{
 font-size:clamp(2.125rem,4.5vw,3.625rem);line-height:1.16;
 font-weight:400;letter-spacing:-.025em;margin:0 0 20px;max-width:24ch;
}
body:not(.home) .page-header p:not(.breadcrumb){
 font-size:var(--type-lead);line-height:1.65;max-width:var(--reading-measure);
 text-align:start;text-wrap:pretty;
}
body:not(.home) .page-header .breadcrumb{
 font-family:var(--font-body);font-size:var(--type-detail);line-height:1.5;
 letter-spacing:.025em;margin:0 0 14px;text-transform:none;
}
.section-heading h2,.clinic h2,.consultation-basics h2,.visit-preparation h2,
.about-copy h2,.section-head h2,.subsection-title{
 font-size:clamp(1.75rem,2.8vw,2.25rem);font-weight:400;
 line-height:1.25;letter-spacing:-.02em;max-width:28ch;margin:0 0 18px;
}
.home-paths h2{font-size:clamp(1.625rem,2.5vw,1.875rem);line-height:1.25;letter-spacing:-.015em}
.treatment-copy h3,.tab-panel-grid h3,.treatment-panel .section-head h3,
.visit-steps h3,.visit-logistics h3{
 font-size:1.5rem;line-height:1.3;letter-spacing:-.015em;font-weight:500;
 margin:0 0 12px;
}
.service-row h3,.service-tile h3{font-size:1.25rem;line-height:1.35;letter-spacing:-.01em;margin-bottom:8px}
.treatment-panel>h4,.accordion-body h4,.info-card h4{font-size:1.125rem;line-height:1.4;margin:28px 0 10px}
main p.reading-copy,main .need-content>p:not(.context-note),
main .visit-steps p,main .service-row p,main .service-tile p,
main .treatment-copy p,main .accordion-panel p,main .accordion-body p,
main .treatment-panel p:not(.table-note),main .visit-checklist dd{
 font-size:var(--type-body);line-height:1.7;letter-spacing:normal;
 text-align:start;text-wrap:pretty;max-width:var(--reading-measure);
}
main .reading-copy{margin-block:0 1.125em;word-break:normal;overflow-wrap:break-word}
main .reading-copy:last-child{margin-bottom:0}
.about-copy{min-width:0;align-self:start}
.about-copy p:not(.context-note):not(.about-role){max-width:var(--reading-measure)}
.about-copy .about-role{
 font-family:var(--font-body);font-size:var(--type-detail);line-height:1.55;
 font-weight:500;text-transform:none;letter-spacing:normal;margin:0 0 20px;
}
.about-copy blockquote{font-size:1.5rem;line-height:1.45;letter-spacing:-.01em;max-width:32ch}
main .section-lead,main .section-intro{font-size:var(--type-lead);line-height:1.65;max-width:var(--reading-measure)}
main .check-list,main .checklist,main .reading-list{max-width:var(--reading-measure)}
main .check-list li,main .checklist li,main .reading-list li{
 font-size:var(--type-body);line-height:1.65;text-align:start;text-wrap:pretty;
}
.visit-checklist dt{font-size:var(--type-body);line-height:1.55}
.treatment-panel>p,.treatment-panel>.reading-list{max-width:var(--reading-measure)}
.treatment-panel .info-card p{font-size:var(--type-body)!important;line-height:1.7;text-align:start}
.compare-table td,.compare-table th{line-height:1.6;text-align:start;vertical-align:top}
.need summary{grid-template-columns:minmax(0,1fr) 18px}
.need summary>span:first-child{min-width:0}
.need-content h3{line-height:1.3;letter-spacing:-.02em;margin-bottom:12px}
.needs .section-heading>p:last-child{max-width:45ch}
.contact-item p{font-family:var(--font-body);font-size:var(--type-body);line-height:1.65;letter-spacing:normal}
.contact-item strong{font-size:1.125rem;line-height:1.4}
.contact-item a[href^="tel:"]{font-variant-numeric:tabular-nums}
.contact-item a[href^="mailto:"]{font-size:var(--type-detail)}
.cta-banner h2{font-size:1.75rem;line-height:1.3;letter-spacing:-.015em}
.cta-banner p{max-width:var(--reading-measure);line-height:1.7}
.home .intro-lead{max-width:42ch;text-wrap:pretty}
.home .doctor-portrait figcaption a{gap:6px;flex-wrap:nowrap;font-size:.875rem;white-space:normal}
.mobile-contact>a{display:flex;flex-wrap:wrap;align-content:center;align-items:center;justify-content:flex-start;gap:0 6px;padding:10px 16px}
.mobile-contact>a>.ui-icon{width:16px;height:16px;flex:0 0 16px;margin:0}
.mobile-contact>a>span{font-size:var(--type-detail)}
.mobile-contact>a[href^="tel:"]>.ui-icon{display:none}
@media(min-width:1100px){
 .about-copy>p.justified-copy,
 .treatment-panel>p.justified-copy,
 .treatment-copy>p.justified-copy{
  text-align:justify;text-align-last:start;text-justify:inter-word;
  hyphens:auto;hyphenate-limit-chars:7 3 3;word-spacing:normal;
 }
}
@media(max-width:760px){
 body:not(.home) main>.page-header{padding-block:28px 26px}
 body:not(.home) .page-header h1{font-size:2.125rem;margin-bottom:16px;line-height:1.2}
 body:not(.home) .page-header p:not(.breadcrumb),main .section-lead,main .section-intro{font-size:var(--type-body)}
 main p.reading-copy{max-width:100%;text-align:start;hyphens:manual}
 .section-heading h2,.clinic h2,.consultation-basics h2,.visit-preparation h2,
 .about-copy h2,.section-head h2,.subsection-title{font-size:1.75rem;line-height:1.25;margin-bottom:16px}
 .visit-steps h3{font-size:1.375rem;margin-bottom:10px}
 .home .intro-lead{max-width:none}
 .home .doctor-portrait figcaption a{font-size:.875rem;gap:5px}
 .home .doctor-portrait figcaption a .ui-icon{width:14px;height:14px;flex-basis:14px}
 .mobile-contact>a{font-size:var(--type-detail);min-height:60px}
}
