/* Self-hosted variable fonts. Sources and licenses: fonts/README.md. */
@font-face {
  font-family: "Manrope";
  src: url("fonts/manrope-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Noto Sans SC";
  src: url("fonts/noto-sans-sc-variable.woff2?v=20261003-hero3") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
:root {
  --display: "Manrope", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
  --body: "Manrope", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}
body { font-weight: 400; font-kerning: normal; font-synthesis: none; }
h1,h2,h3 { font-weight: 650; letter-spacing: -.03em; text-wrap: balance; }
h2 { line-height: 1.38; }
:lang(en) h1,:lang(en) h2 { letter-spacing: -.045em; }
.hero h1 { font-size: clamp(54px,4.75vw,70px); font-weight: 650; line-height: 1.28; letter-spacing: -.025em; }
:lang(en) .hero h1 { letter-spacing: -.047em; line-height: 1.38; }
.hero-lead { font-size: 17px; line-height: 1.9; max-width: 500px; }
.hero-assurance { font-size: 11px; font-weight: 500; letter-spacing: .04em; }
.nav-links { font-size: 14px; font-weight: 550; }
.button { font-size: 14px; font-weight: 650; letter-spacing: .01em; }
.text-link { font-size: 14px; font-weight: 500; }
.eyebrow,.kicker { font-size: 10px; font-weight: 650; letter-spacing: .17em; }
.hero .eyebrow { font-size: 10px; letter-spacing: .17em; }
.country-heading { font-size: 10px; letter-spacing: .13em; }
.market-links a { font-size: 14px; font-weight: 500; }
.country-code { font-size: 11px; font-weight: 600; letter-spacing: .02em; }
.proof-item .glyph,.team-pillars span,.step small { font-variant-numeric: tabular-nums; font-weight: 500; }
.proof-item strong { font-size: 15px; font-weight: 600; }
.proof-item small { font-size: 12px; line-height: 1.7; }
.section-head>p,.report-intro p,.team-heading>p,.contact-copy>p { font-size: 15px; line-height: 1.85; }
.case-no { font-size: 9px; font-weight: 600; letter-spacing: .10em; }
.test-card h3 { font-size: 20px; font-weight: 650; letter-spacing: -.025em; line-height: 1.45; }
.test-card p { font-size: 14px; line-height: 1.85; }
.test-card .text-link { font-size: 12px; }
.service-tail { font-size: 12px; line-height: 1.8; }
.service-tail .text-link { font-size: 13px; }
.team-heading h2 { font-size: 43px; font-weight: 650; }
.team-pillars h3 { font-size: 18px; font-weight: 600; letter-spacing: -.02em; }
.team-pillars p { font-size: 14px; line-height: 1.8; }
.country-tab { font-size: 15px; font-weight: 500; }
.country-large { font-weight: 500; letter-spacing: -.07em; }
.country-info h3 { font-weight: 650; }
.country-info p { font-size: 14px; line-height: 1.8; }
.country-info .text-link,.resource-list>div { font-size: 13px; }
.coverage-note { font-size: 11px; line-height: 1.85; }
.report-mast { font-size: 10px; font-weight: 550; letter-spacing: .08em; }
.report-mast span:last-child { font-size: 10px; }
.report-tab { font-size: 13px; font-weight: 500; }
.report-field { font-size: 13px; line-height: 1.8; }
.report-caption { font-size: 11px; line-height: 1.85; }
.step h3 { font-size: 16px; font-weight: 600; letter-spacing: -.01em; }
.step p { font-size: 13px; line-height: 1.8; }
.faqs summary { font-size: 17px; font-weight: 500; line-height: 1.65; }
.faqs details p { font-size: 15px; line-height: 1.85; }
.contact-note>span { font-size: 11px; font-weight: 600; letter-spacing: .08em; }
.contact-note p { font-size: 12px; line-height: 1.8; }
.field label,.request-form legend { font-size: 13px; font-weight: 550; }
.field input,.field textarea,.field select { font-size: 14px; line-height: 1.65; }
.country-choice { font-size: 13px; }
.form-action .button { font-size: 13px; font-weight: 650; }
.form-action small { font-size: 10px; line-height: 1.8; }
.footer-links,.footer small { font-size: 11px; }
.subpage h1 { font-weight: 650; letter-spacing: -.03em; }
.subpage h2 { font-weight: 650; }
.subpage p { font-size: 16px; line-height: 1.9; }
.scope-links { font-size: 13px; }
.dialog-top h2 { font-weight: 650; }
.summary-dialog p,.summary-dialog textarea { font-size: 14px; line-height: 1.8; }

@media(min-width:801px) and (max-width:1150px) {
  .hero h1 { font-size: clamp(44px,5.3vw,58px); }
  .hero-lead { font-size: 15px; }
  .team-heading h2 { font-size: 36px; }
}
@media(min-width:801px) and (max-width:1000px) {
  .nav-links { font-size: 12px; gap: 18px; }
  .nav-cta { padding-inline: 14px; }
  .locale { padding-left: 18px; }
  .hero-actions { gap: 20px; }
  .hero-actions .button,.hero-actions .text-link { font-size: 12px; }
  .hero-bottom { gap: 22px; }
  .market-links { gap: 18px; }
  .market-links a { font-size: 12px; }
  .country-heading { font-size: 9px; }
}
@media(max-width:800px) {
  .menu-toggle { font-size: 13px; }
  .nav-links { font-size: 15px; }
  .hero h1,.home-page:lang(en) .hero h1 { font-size: 44px; line-height: 1.28; letter-spacing: -.025em; }
  .home-page:lang(en) .hero h1 { letter-spacing: -.045em; line-height: 1.45; }
  .hero .eyebrow { font-size: 9px; letter-spacing: .14em; }
  .hero-lead { font-size: 15px; line-height: 1.9; }
  .hero-actions { gap: 22px; flex-wrap: wrap; }
  .hero-actions .button { font-size: 13px; }
  .hero-actions .text-link { font-size: 12px; }
  .hero-assurance { font-size: 10px; letter-spacing: .01em; }
  .country-heading { font-size: 10px; }
  .market-links a { font-size: 13px; }
  .country-code { font-size: 10px; }
  .proof-item strong { font-size: 12px; line-height: 1.6; }
  .proof-item small { font-size: 10.5px; line-height: 1.75; }
  .kicker { font-size: 9px; letter-spacing: .15em; }
  h2 { font-size: 30px; line-height: 1.4; }
  .section-head>p,.report-intro p,.team-heading>p,.contact-copy>p { font-size: 14px; line-height: 1.9; }
  .case-no { font-size: 8px; letter-spacing: .065em; }
  .test-card h3 { font-size: 17px; line-height: 1.5; letter-spacing: -.025em; }
  .test-card p { font-size: 13px; line-height: 1.85; }
  .test-card .text-link { font-size: 11px; }
  .service-tail { font-size: 11px; }
  .service-tail .text-link { font-size: 12px; }
  .team-heading h2 { font-size: 32px; }
  .team-pillars h3 { font-size: 17px; }
  .team-pillars p { font-size: 13px; line-height: 1.85; }
  .country-tab { font-size: 14px; }
  .country-info p { font-size: 12px; }
  .country-info .text-link { font-size: 12px; }
  .resource-list>div { font-size: 12px; }
  .coverage-note { font-size: 11px; }
  .report-mast { font-size: 9px; }
  .report-mast span:last-child { font-size: 8px; }
  .report-tab { font-size: 12px; }
  .report-field { font-size: 12px; }
  .report-caption { font-size: 10px; }
  .step h3 { font-size: 14px; }
  .step p { font-size: 12px; }
  .faqs summary { font-size: 15px; line-height: 1.7; }
  .faqs details p { font-size: 14px; line-height: 1.9; }
  .contact h2 { font-size: 35px; }
  .contact-note p { font-size: 11px; }
  .field label,.request-form legend { font-size: 13px; }
  .field input,.field textarea,.field select { font-size: 16px; }
  .country-choice { font-size: 13px; }
  .form-action .button { font-size: 14px; }
  .form-action small { font-size: 10px; }
  .footer-links { font-size: 11px; gap: 12px; }
  .footer small { font-size: 10px; }
  .subpage p { font-size: 15px; }
  .scope-links { font-size: 12px; }
  .summary-dialog textarea { font-size: 13px; }
}
@media(max-width:380px) {
  .hero h1,.home-page:lang(en) .hero h1 { font-size: 41px; }
  .hero-actions { gap: 17px; }
  .hero-actions .button { padding-inline: 18px; }
  .hero .eyebrow { font-size: 8.5px; }
  .test-card h3 { font-size: 16px; }
  .test-card .text-link { font-size: 10px; }
  .market-links a { font-size: 12px; }
}
