/* Shared typography: self-hosted Nunito, SIL Open Font License 1.1. */
@font-face{font-family:Nunito;src:url('./fonts/nunito-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
:root{--font-ui:'Nunito',system-ui,-apple-system,'Segoe UI','PingFang SC','Microsoft YaHei',sans-serif}
body{font-family:var(--font-ui);font-weight:400;font-size:16px;line-height:1.75;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font-family:var(--font-ui);font-size:16px}
h1,h2,h3,h4,.brand,.scope-strip strong,.footer-top h3,tbody th,.stage-number{font-family:var(--font-ui)}
h1,h2,h3,h4{font-weight:650;letter-spacing:-.022em}
h1{line-height:1.16}h2{line-height:1.22}h3,h4{line-height:1.35}
.hero h1,.inner-hero h1,.page-intro h1{font-weight:600;letter-spacing:-.026em;line-height:1.16}
.hero .lead,.inner-hero .lead,.page-intro .lead{font-size:18px;line-height:1.75}
.eyebrow,.section-heading .eyebrow,.hero .eyebrow{font-size:12px;font-weight:650;letter-spacing:.075em;line-height:1.5}
.hero-foot{font-size:14px;line-height:1.55;font-weight:500;gap:24px;color:#fff}
.hero-foot span:first-child{font-size:14px;font-weight:700;letter-spacing:.025em}
.hero-foot span:last-child{font-size:14px;font-weight:500;letter-spacing:0;color:#fff}
.button,header .button{font-family:var(--font-ui);font-size:14px;font-weight:700;letter-spacing:0;line-height:1.4}
nav,.text-link{font-size:15px}.scope-strip span{font-size:13px;line-height:1.55}.scope-strip strong{font-weight:700}
.breadcrumb,.inner-hero .breadcrumb,.page-intro .breadcrumb{font-size:13px;line-height:1.6}
.page-jumps>span,.operation-photo figcaption,.proof-layout figcaption,.stage-output>span,.service-num,.service-lines>a>span{font-family:var(--font-ui);font-size:12px;letter-spacing:.045em;line-height:1.55}
.stage-output{font-size:14px;line-height:1.6}.footer-top h3{font-size:15px;font-weight:750}.footer-bottom,.small{font-size:13px;line-height:1.65}
@media(max-width:600px){
 body{font-size:16px;line-height:1.75}
 .hero h1{font-size:clamp(31px,8.1vw,41px);letter-spacing:-.022em;line-height:1.18}
 .inner-hero h1,.page-intro h1{font-size:clamp(31px,8vw,40px);line-height:1.2;letter-spacing:-.02em}
 .hero .lead,.inner-hero .lead,.page-intro .lead{font-size:16px;line-height:1.75}
 .eyebrow,.section-heading .eyebrow,.hero .eyebrow{font-size:11px;letter-spacing:.06em}
 .hero-foot{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;font-size:13px}
 .hero-foot span:first-child,.hero-foot span:last-child{font-size:13px;line-height:1.55}
 .hero-foot span:first-child{letter-spacing:.015em}
 .button,header .button{font-size:13px;font-weight:700}
 .scope-strip strong{font-size:14px}.scope-strip span{font-size:12px}
 .service-assurance b{font-size:14px}.service-assurance>span{font-size:12px}
 .page-jumps a{font-size:13px}.page-jumps>span{font-size:11px}
 .stage-output>span,.proof-layout figcaption,.operation-photo figcaption{font-size:11px}
 .table-scroll td[data-label]:before{font-size:11px;letter-spacing:.035em}
 .footer-top h3{font-size:14px}.footer-bottom{font-size:12px}
}
