/* CorpFlip: geometric display lettering with quiet, precise working type.
   All supplied faces are real variable weights. Script companions are explicit;
   the Latin display face is never represented as a universal-script font. */
@font-face {
  font-family: 'CorpFlip Symbols';
  src: local('Apple Symbols'), local('Segoe UI Symbol'), local('Arial');
  font-weight: 400;
  unicode-range: U+2190-23FF, U+2500-27FF, U+2B00-2BFF;
}
:root {
  --font-fallbacks: 'Manrope', 'CorpFlip Symbols', 'Noto Sans Arabic', 'Noto Sans Devanagari', 'Noto Sans JP', 'Noto Sans SC', 'Noto Sans KR', Arial, sans-serif;
  --font-ui: var(--font-fallbacks);
  --font-display: 'Sora', var(--font-fallbacks);
  --font-body-weight: 450;
  --font-label-weight: 650;
  --font-heading-weight: 600;
}
html { font-synthesis: none; font-kerning: normal; text-rendering: optimizeLegibility; }
body, .report-document { font-family: var(--font-ui); font-weight: var(--font-body-weight); line-height: 1.7; }
h1, h2, h3, .report-document :is(h1,h2,h3) {
  font-family: var(--font-display);
  font-weight: var(--font-heading-weight);
  letter-spacing: -.028em;
  line-height: 1.24;
  text-wrap: balance;
}
h1 { letter-spacing: -.035em; line-height: 1.16; }
h3 { letter-spacing: -.016em; line-height: 1.35; }
h4, .eyebrow, .button, .nav-cta, .header-nav, .sidebar, label, input, select, textarea, button {
  font-family: var(--font-ui);
}
.button, .nav-cta { font-weight: 700; letter-spacing: -.01em; line-height: 1.4; }
.eyebrow { font-weight: 700; letter-spacing: .085em; line-height: 1.6; }
.header-nav a { font-size: 13px; font-weight: 650; }
.home-page .language-bar { margin-block: 0; padding-block: 4px 8px; }
.field { line-height: 1.5; }
.field input, .field textarea, .field select { line-height: 1.55; }
.launch-hero h1 { font-family: var(--font-display); font-size: clamp(38px,4.35vw,67px); font-weight: 600; line-height: 1.13; letter-spacing: -.045em; max-width: 1150px; }
.launch-hero h1 em { display: block; }
.hero-description { max-width: 660px; line-height: 1.65; font-weight: 450; }
.statement h2 { font-size: clamp(36px,4.2vw,56px); line-height: 1.17; }
.feature-bands h2, .privacy-band h2 { font-size: clamp(34px,3.5vw,47px); line-height: 1.2; }
.page-intro h1 { max-width: 1050px; line-height: 1.18; }
.page-intro > p:not(.eyebrow), .locale-home > p { max-width: 74ch; line-height: 1.75; }
.locale-home h1 { max-width: 1080px; font-size: clamp(35px,4.7vw,64px); line-height: 1.19; }
.locale-home > h2 { margin-block-start: 28px; }
.locale-tool-card h2 { font-size: 26px; line-height: 1.3; }
.locale-tool-card p { font-size: 14px; line-height: 1.75; }
.article { max-width: 880px; }
.article > p, .article li, .guide-context p, .guide-context li { line-height: 1.8; }
.article h2 { margin-block: 36px 15px; line-height: 1.3; }
.pane-heading h2, .calc-form-head h2, .calc-results h2 { line-height: 1.3; }
.desk-section-head h3, .check-row h3, .record h3 { line-height: 1.4; }
.money-metrics strong, .result-rows dd, .ttm-values b, .report-document td bdi {
  font-family: 'Manrope', var(--font-ui); font-variant-numeric: tabular-nums lining-nums; letter-spacing: -.015em;
}
input[inputmode=decimal], input[type=date], input[type=month], .report-dateline, .csv-preview-table, .report-document table {
  font-variant-numeric: tabular-nums lining-nums;
}
.result-rows dd { line-height: 1.35; }
.report-document header h1 { font-family: var(--font-display); font-weight: 600; line-height: 1.22; letter-spacing: -.025em; }
.report-brand span, .report-profile dt { letter-spacing: .045em; font-weight: 650; }
.report-document :is(p,td,th) { line-height: 1.65; }
.report-document th { font-weight: 650; }
/* Greek and Cyrillic are in the verified Manrope file; Sora has neither. */
html:is(:lang(el),:lang(bg),:lang(uk),:lang(sr)) { --font-display: 'Manrope', var(--font-fallbacks); }
html:lang(ar) { --font-ui: 'Noto Sans Arabic', var(--font-fallbacks); --font-display: 'Noto Sans Arabic', var(--font-fallbacks); }
html:lang(hi) { --font-ui: 'Noto Sans Devanagari', var(--font-fallbacks); --font-display: 'Noto Sans Devanagari', var(--font-fallbacks); }
html:lang(ja) { --font-ui: 'Noto Sans JP', var(--font-fallbacks); --font-display: 'Noto Sans JP', var(--font-fallbacks); }
html:lang(zh) { --font-ui: 'Noto Sans SC', var(--font-fallbacks); --font-display: 'Noto Sans SC', var(--font-fallbacks); }
html:lang(ko) { --font-ui: 'Noto Sans KR', var(--font-fallbacks); --font-display: 'Noto Sans KR', var(--font-fallbacks); }
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(zh),:lang(ko)) body.locale-page,
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(zh),:lang(ko)) body.locale-page .report-document { font-family: var(--font-ui); }
html:is(:lang(ar),:lang(hi),:lang(ja),:lang(zh),:lang(ko)) :is(h1,h2,h3,.eyebrow,.report-brand span) { letter-spacing: 0; }
html:is(:lang(ar),:lang(hi)) :is(h1,h2,h3) { line-height: 1.5; }
html:is(:lang(ja),:lang(zh),:lang(ko)) :is(h1,h2,h3) { line-height: 1.45; }
html:is(:lang(ar),:lang(hi)) body { line-height: 1.9; }
html:is(:lang(ja),:lang(zh),:lang(ko)) body { line-height: 1.85; }
@media(max-width:600px) {
  .launch-hero h1 { font-size: clamp(33px,8.5vw,42px); line-height: 1.17; letter-spacing: -.035em; }
  .hero-description { font-size: 15px; }
  .page-intro h1 { font-size: 34px; }
  .locale-home h1 { font-size: 34px; }
  .locale-tool-card h2 { font-size: 24px; }
  .pane-heading h2, .locale-page .calc-form-head h2 { font-size: 25px; }
  .report-document header h1 { font-size: 28px; }
  .field input, .field textarea, .field select { font-size: 16px; }
}
@media print {
  .report-document { font-family: var(--font-ui); font-size: 10pt; }
  .report-document header h1 { font-size: 26pt; line-height: 1.3; }
  .report-document h2, .locale-page .report-document h2 { font-size: 16pt; line-height: 1.4; }
  .report-document h3, .locale-page .report-document h3 { font-size: 12pt; line-height: 1.45; }
  .report-document p { font-size: 10pt; line-height: 1.65; }
  .report-document td, .report-document th { font-size: 9pt; line-height: 1.55; }
  html:is(:lang(ar),:lang(hi)) .report-document :is(h1,h2,h3) { line-height: 1.55; }
  .report-document h2, .report-document h3 { break-after: avoid; }
  @page { @bottom-left { font-family: 'Manrope', sans-serif; } @bottom-right { font-family: 'Manrope', sans-serif; } }
}
