/* Licensed alternatives to CoMinVi's commercial fonts. See TYPOGRAPHY-AUDIT.md. */
@font-face {
  font-family: "Arimo"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("../fonts/arimo-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Arimo"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("../fonts/arimo-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/plex-mono-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/plex-mono-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
:root {
  --font-display: "Arimo", Arial, sans-serif;
  --font-body: var(--font-display);
  --font-ui: var(--font-display);
  --font-mono: "IBM Plex Mono", monospace;
  /* Compatibility aliases for existing component selectors, defined only here. */
  --font-sans: var(--font-body);
  --font-script: var(--font-display);
  --cn-font: var(--font-body);
  --cn-script: var(--font-display);
  --type-hero: 64px;
  --type-section: 44px;
  --type-subheading: 28px;
  --type-project: 56px;
  --type-body: 16px;
  --type-lead: 18px;
  --type-nav: 14px;
  --type-label: 12px;
  --leading-display: 1.08;
  --leading-body: 1.6;
}
html { font-synthesis: none; }
body { font-family: var(--font-body); font-size: var(--type-body); font-weight: 400; line-height: var(--leading-body); }
body :is(strong,b) { font-weight: 600; }
body :is(button,input,textarea,select,option) { font-family: var(--font-ui); letter-spacing: 0; }
body :is(input,textarea,select) { font-size: 16px; }
body :is(h1,h2,h3,h4,h5,h6,p,a,button,label,legend,strong,em,span,li,summary,blockquote) { letter-spacing: 0 !important; }
body main :is(h1,h2,h3,h4,h5,h6) { font-family: var(--font-display) !important; font-weight: 600 !important; font-style: normal !important; text-transform: none !important; text-wrap: balance; overflow-wrap: anywhere; }
body main h1 { font-size: var(--type-hero) !important; line-height: var(--leading-display) !important; }
body main h2 { font-size: var(--type-section) !important; line-height: 1.15 !important; }
body main h3 { font-size: var(--type-subheading) !important; line-height: 1.2 !important; }
body main :is(h4,h5,h6) { font-size: 20px !important; line-height: 1.3 !important; }
body main :is(h1,h2,h3,h4,h5,h6,.hero-title,.case-title,.project-title,.section-heading,.display-heading) :is(span,em,strong) { font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; font-style: normal !important; line-height: inherit !important; text-transform: inherit !important; }
body :is(.hero-title,.case-title,.project-title,.script-accent,.work-title-script) { font-family: var(--font-display) !important; font-weight: 600 !important; font-style: normal !important; text-transform: none !important; }
body .hero-copy h1 { font-size: 48px !important; }
body :is(.hero-copy > p,.hero-description,.hero-intro,.large-copy,.lead) { font-family: var(--font-body); font-size: var(--type-lead) !important; font-weight: 400 !important; line-height: var(--leading-body) !important; }
body :is(.project-content strong,.scene-heading h2,.project-title) { font-size: var(--type-project) !important; line-height: 1.1 !important; font-weight: 600 !important; }
body :is(.project-content > span:not(.project-index),.scene-caption p) { font-size: var(--type-body) !important; line-height: var(--leading-body) !important; }
body :is(.button,.nav-cta,.gallery-open,.work-link,.text-link,.project-link,.project-content em) { font-family: var(--font-ui) !important; font-size: var(--type-nav) !important; font-weight: 500 !important; font-style: normal; text-transform: none !important; line-height: 1.4; }
body :is(.primary-nav,.primary-nav a,.footer-links,.footer-links a) { font-family: var(--font-ui) !important; font-size: var(--type-nav); font-weight: 500 !important; text-transform: none !important; }
body .work-menu nav a { font-family: var(--font-ui) !important; font-weight: 500 !important; text-transform: none !important; }
body :is(.brand-link,.work-brand) { font-family: var(--font-ui); font-weight: 600 !important; }
body :is(.kicker,.stage-label,.scene-index,.scene-services,.hero-edition,.project-index,.archive-count,.brief-step-count,.scroll-cue,.section-index,.eyebrow,.metric-label,.case-label) { font-family: var(--font-mono) !important; font-size: var(--type-label) !important; font-weight: 400 !important; line-height: 1.6; }
body :is(.kicker,.stage-label,.scene-index,.scene-services,.hero-edition,.project-index,.archive-count,.brief-step-count,.scroll-cue,.section-index,.eyebrow,.metric-label,.case-label) * { font-family: inherit !important; font-size: inherit !important; font-weight: inherit !important; }
body :is(figcaption,small,.form-note,.field-hint) { font-size: var(--type-label); line-height: 1.5; }
@media (max-width: 1023px) {
  :root { --type-hero: 52px; --type-section: 36px; --type-project: 44px; }
}
@media (max-width: 680px) {
  :root { --type-hero: 36px; --type-section: 30px; --type-subheading: 24px; --type-project: 32px; --type-lead: 16px; }
  body .hero-copy h1 { font-size: 32px !important; }
}
