:root{
  --type-display:32px;
  --type-section:24px;
  --type-module:18px;
  --type-subhead:16px;
  --type-body:15px;
  --type-small:13px;
  --type-label:11px;
  --leading-display:1.25;
  --leading-section:1.3;
  --leading-module:1.4;
  --leading-subhead:1.45;
  --leading-body:1.7;
  --leading-small:1.6;
  --weight-display:600;
  --weight-section:600;
  --weight-module:600;
  --weight-subhead:500;
  --weight-body:400;
  --weight-label:600;
}

body{
  font-size:var(--type-body);
  line-height:var(--leading-body);
  font-weight:var(--weight-body);
}

:is(
  .hero h1,.product-intro h1,.product-intro h2,.capability-heading h2,.capability-copy h2,
  .capability-equipment-heading h3,.capability-indigo .product-card-body strong,
  .clients-heading h2,.about-heading h2,.contact-heading h2,
  .brand-film-copy h2,
  .cases-hero h1,.case-hero h1,.careers-hero h1,.job-heading h2,.career-status h2,
  .story-quote blockquote
){
  font-size:var(--type-display) !important;
  line-height:var(--leading-display) !important;
  letter-spacing:-.02em !important;
  font-weight:var(--weight-display) !important;
}

/* One visual rule for page and primary section titles across all languages. */
:is(
  .hero h1,.product-intro h1,.product-intro h2,.capability-heading h2,.capability-copy h2,
  .capability-equipment-heading h3,.capability-indigo .product-card-body strong,
  .clients-heading h2,.about-heading h2,.contact-heading h2,
  .cases-hero h1,.case-hero h1,.careers-hero h1
){
  color:#f06423 !important;
  font-weight:var(--weight-display) !important;
}

:is(
  .case-feature h2,.story-copy h2,.capability-equipment-heading h2,
  .dialog-content h2,.career-values>h2
){
  font-size:var(--type-section) !important;
  line-height:var(--leading-section) !important;
  letter-spacing:-.015em !important;
  font-weight:var(--weight-section) !important;
}

:is(
  .product-card-body strong,.process-list strong,.about-points strong,
  .case-facts strong,.system-grid h3,.finish-grid h3,.theme-grid h3,
  .job-details h3,.career-values h3,.career-process li strong
){
  font-size:var(--type-module) !important;
  line-height:var(--leading-module) !important;
  font-weight:var(--weight-module) !important;
}

:is(.contact-item strong,.story-label,.career-meta strong,.case-open){
  font-size:var(--type-subhead) !important;
  line-height:var(--leading-subhead) !important;
  font-weight:var(--weight-subhead) !important;
}

:is(
  .hero-lead,.product-intro>p,.cap-intro,.clients-heading>p:not(.eyebrow),
  .capability-equipment-heading>p,.about-content>p,.contact-heading>p:not(.eyebrow),
  .case-feature-copy>p,.cases-hero>p:last-child,.case-hero-intro,.story-copy p,
  .system-grid p,.finish-grid p,.theme-grid p,.job-details li,.career-status>p,
  .career-values p
){
  font-size:var(--type-body) !important;
  line-height:var(--leading-body) !important;
  font-weight:var(--weight-body) !important;
}

:is(
  .product-card-body p,.process-list p,.about-points p,.contact-item small,
  .case-facts small,.omee-detail figcaption,.job-footer p,.career-process li small,
  .career-meta small
){
  font-size:var(--type-small) !important;
  line-height:var(--leading-small) !important;
  font-weight:var(--weight-body) !important;
}

:is(
  .eyebrow,.case-no,.case-tags span,.product-card-body small,.dialog-kicker,
  .job-summary span,.career-kicker,.status-pill
){
  font-size:var(--type-label) !important;
  line-height:1.4 !important;
  font-weight:var(--weight-label) !important;
}

:is(.product-intro,.clients-heading,.capability-heading,.about-heading,.contact-heading,.cases-hero,.case-hero,.careers-hero) h1,
:is(.product-intro,.clients-heading,.capability-heading,.about-heading,.contact-heading,.cases-hero,.case-hero,.careers-hero) h2{
  margin-bottom:24px;
}

:is(.story-copy,.case-feature-copy,.job-details,.career-values) p+p{margin-top:16px}

@media(max-width:680px){
  :root{
    --type-display:32px;
    --type-section:22px;
    --type-module:17px;
    --type-subhead:15px;
    --type-body:14px;
    --type-small:12.5px;
  }
}
