/* Locally hosted fonts for the selected graphite design, including UA and RU. */
@font-face {
  font-family: "Manrope";
  src: url("/assets/fonts/manrope-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/fonts/inter-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
}

body.graphite:not(.hybrid) {
  font-family: "Inter", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.7;
  font-optical-sizing: auto;
  font-synthesis: none;
}
.graphite:not(.hybrid) h1,
.graphite:not(.hybrid) h2,
.graphite:not(.hybrid) h3,
.graphite:not(.hybrid) .brand-wordmark {
  font-family: "Manrope", Arial, sans-serif;
}
.graphite:not(.hybrid) .concept-hero h1 {
  font-weight: 600;
  line-height: 1.1;
  letter-spacing: -.04em;
}
.graphite:not(.hybrid) .concept-services h2,
.graphite:not(.hybrid) .graphite-bureau h2 {
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: -.03em;
}
.graphite:not(.hybrid) .graphite-audience h2,
.graphite:not(.hybrid) .graphite-process > h2 {
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.graphite:not(.hybrid) .concept-card h3,
.graphite:not(.hybrid) .graphite-process h3 {
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -.02em;
}
.graphite:not(.hybrid) .brand-wordmark {
  font-weight: 700;
  letter-spacing: .07em;
}
.graphite:not(.hybrid) .brand-wordmark small {
  font-family: "Inter", Arial, sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: .12em;
}
.graphite:not(.hybrid) .concept-nav {
  font-size: 13px;
  gap: 22px;
}
.graphite:not(.hybrid) .concept-languages a {
  font-size: 11px;
  font-weight: 500;
}
.graphite:not(.hybrid) .pill {
  font-size: 12px;
  letter-spacing: 0;
}
.graphite:not(.hybrid) .section-label,
.graphite:not(.hybrid) .audience-label {
  font-size: 11px;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: .1em;
}
.graphite:not(.hybrid) .concept-hero .lead {
  font-size: 16px;
  line-height: 1.8;
}
.graphite:not(.hybrid) .concept-btn {
  font-size: 14px;
  line-height: 1.5;
  gap: 18px;
}
.graphite:not(.hybrid) .concept-note {
  font-size: 12px;
  line-height: 1.7;
}
.graphite:not(.hybrid) .concept-card p,
.graphite:not(.hybrid) .graphite-audience p,
.graphite:not(.hybrid) .graphite-process p {
  font-size: 14px;
  line-height: 1.75;
}
.graphite:not(.hybrid) .concept-card p {
  overflow-wrap: break-word;
  hyphens: auto;
}
.graphite:not(.hybrid) .graphite-bureau > p {
  font-size: 16px;
  line-height: 1.8;
}
.graphite:not(.hybrid) .concept-card .card-num,
.graphite:not(.hybrid) .work-number {
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.graphite:not(.hybrid) .bureau-advocate span {
  font-size: 13px;
}
.graphite:not(.hybrid) .bureau-advocate strong {
  font-weight: 500;
}
.graphite:not(.hybrid) .bureau-more {
  font-size: 14px;
}
.graphite:not(.hybrid) .concept-footer {
  font-size: 12px;
  line-height: 1.7;
}
@media (max-width: 1050px) {
  .graphite:not(.hybrid) .concept-nav {
    gap: 16px;
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .graphite:not(.hybrid) .brand-wordmark small {
    font-size: 8.5px;
    letter-spacing: .1em;
  }
  .graphite:not(.hybrid) .concept-hero h1 {
    font-size: clamp(37px, 10.6vw, 51px);
    letter-spacing: -.035em;
  }
  .graphite:not(.hybrid) .concept-hero .lead,
  .graphite:not(.hybrid) .graphite-bureau > p {
    font-size: 15px;
  }
  .graphite:not(.hybrid) .concept-btn {
    font-size: 13px;
    gap: 12px;
  }
  .graphite:not(.hybrid) .concept-card h3 {
    font-size: 20px;
  }
  .graphite:not(.hybrid) .concept-card p {
    font-size: 13px;
  }
}
