/* One type scale and reading grid, independent of legacy section-specific widths. */
:root{--body-leading:1.7;--paragraph-gap:18px;--heading-section:clamp(32px,3.3vw,48px)}
/* Match the MCPK reference's Manrope weight and upright heading rhythm. */
body main .section .section-surface h2,
body main .section .section-surface h2 :is(strong,span,em){
 font-family:var(--font-ui);font-style:normal;font-weight:500;
 font-size:var(--heading-section);line-height:1.22;letter-spacing:-.02em;word-spacing:.045em;text-wrap:balance;
}
body main .hero .hero-title-wrap h1{
 font-family:var(--font-ui);font-style:normal;font-weight:500;
 font-size:clamp(32px,4.1vw,60px);line-height:1.1;letter-spacing:-.055em;word-spacing:.045em;
}
body main .hero .hero-title-wrap h1 .hero-region{
 display:block;font-size:.8em;font-weight:700;font-style:normal;line-height:1.2;letter-spacing:-.025em;margin-top:8px;
}
@media(max-width:1000px){body main .hero .hero-title-wrap h1{font-size:clamp(32px,5.7vw,48px)}}
@media(max-width:600px){body main .hero .hero-title-wrap h1{line-height:1.12}body main .hero .hero-title-wrap h1 .hero-region{font-size:.76em}}
@media(max-width:360px){body main .hero .hero-title-wrap h1{font-size:29px}}
body main .section .section-surface :is(h3,h4){font-family:var(--font-ui)}
body main .section .section-surface :is(p,li),body main .hero-copy>p{line-height:var(--body-leading)}
body main .section .section-surface :is(p,li):not(.fine):not(.form-note):not(.eyebrow):not(.founder-role):not(.journey-hint){word-break:normal;overflow-wrap:break-word}
/* Keep labels/captions and legal references in their deliberately smaller scale. */
body .section .section-surface .company-portrait-caption h3{font-size:18px;line-height:1.3;font-style:normal}
body .section .section-surface .company-portrait-caption .founder-role{font-size:12px;line-height:1.4}
body .chaz-section .chaz-surface .chaz-legal li{font-size:13px;line-height:1.6}
body .section.journey .section-surface .journey-hint{font-size:12px;line-height:1.5}

.section>.section-surface:not(.photo-surface){padding-inline:var(--section-inset)}
.section .section-surface :is(.chaz-copy,.company-copy,.service-summaries,.international-intro,.support-overview,.jobseeker-intro,.brief-heading,.journey-caption){min-width:0;text-align:left}
.section .section-surface :is(.chaz-copy,.company-copy,.service-summaries,.international-intro,.support-overview,.jobseeker-intro,.brief-heading,.journey-caption) p,
.section .photo-stage .section-head :is(h2,p),
.section .section-surface :is(.service-description,.service-scope,.service-end,.candidate-steps,.scope-columns,.permit-route) :is(p,ul,ol){
 width:100%;max-width:100%;margin-inline:0;float:none;text-indent:0;letter-spacing:0;
}
.section .section-surface :is(.chaz-copy,.service-description,.service-end,.candidate-steps) p{margin-bottom:var(--paragraph-gap)}
.section .section-surface :is(.chaz-copy,.service-description,.service-end,.candidate-steps) p:last-child{margin-bottom:0}
.section .section-surface :is(.international-intro,.support-overview,.jobseeker-intro,.brief-heading) p+p{margin-top:var(--paragraph-gap)}
.section .photo-stage .section-head h2{letter-spacing:-.025em}
.section .photo-stage .section-head{margin-bottom:28px}
.section .photo-stage .section-subtitle{margin-top:18px}
.company-approach-grid,.company-approach-column{gap:24px}
.company-approach-grid h4{line-height:1.4;margin-bottom:10px}
.company-approach-grid p{margin:0}
.section .section-surface :is(.service-summaries,.support-overview,.candidate-paths) p{font-size:var(--text-body);line-height:var(--body-leading)}
.brief-detail-grid label{display:flex;flex-direction:column;gap:10px;min-width:0;line-height:1.5}
.brief-detail-grid :is(input,textarea){margin-top:auto}

@media(min-width:1001px){
 .journey .section-head{display:block;width:var(--photo-copy-width);max-width:none}
 .journey .section-head :is(h2,p){max-width:100%}
 .journey .section-head p{margin-top:18px}
 .section .brief-surface:not(.is-detailed),.candidate-application{grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%}
 .section .brief-surface .brief-heading{width:100%;max-width:none}
 .section .brief-surface.is-detailed .brief-heading{width:46%}
 .services .service-body>div:not(.service-international-content){grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%;padding-inline:0}
 .services .service-body .service-end{grid-column:1;max-width:none}
 .services .service-body>.service-international-content{padding-inline:0}
 .jobseekers .photo-followup{display:grid;grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%;align-items:start}
 .jobseekers .candidate-application{grid-column:1/-1}
 .support-body .scope-columns{grid-template-columns:minmax(0,46%) minmax(0,46%);column-gap:8%;row-gap:26px}
 .support-body>div>p{width:46%;max-width:none}
 .support-body .source-service-list{column-gap:8%}
}
@media(max-width:1000px){
 .section .section-surface :is(.company-copy,.service-summaries,.international-intro,.support-overview,.jobseeker-intro,.brief-heading){max-width:100%}
 .section .photo-stage .section-head{width:100%;max-width:100%}
 .journey .section-head :is(h2,p){max-width:100%}
 .section .brief-surface.is-detailed .brief-heading{width:100%}
}
@media(max-width:700px){
 :root{--heading-section:32px;--body-leading:1.65;--paragraph-gap:16px}
 body main .section .section-surface h2{line-height:1.22}
 .section .photo-stage .section-head{margin-bottom:24px}
 .company-approach-grid,.company-approach-column{gap:22px}
}
@media(max-width:360px){:root{--heading-section:29px}}
