/* BETENSH typography: Owner-approved site-wide role contract, 2026-10-19.
   Geometry, imagery and colors remain owned by existing component styles. */
@font-face {
  font-family: "Inter";
  src: url("fonts/inter-variable-a64c5635173e.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("fonts/inter-variable-italic-de3d300d26c0.woff2") format("woff2");
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
}
@font-face {
  font-family: "IBM Plex Sans";
  src: url("fonts/ibm-plex-sans-variable-9434b57270a0.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 700;
  font-display: swap;
}
:root,
body.approved-system {
  --font: "Inter", Arial, Helvetica, sans-serif;
  --font-body: "Inter", Arial, Helvetica, sans-serif;
  --font-heading: "IBM Plex Sans", Arial, Helvetica, sans-serif;
  --font-display: var(--font-heading);
}
body.approved-system {
  font-family: var(--font-body);
  font-weight: 400;
  font-optical-sizing: auto;
  font-synthesis: none;
}
/* Existing pages carry legacy display declarations. Keep their typography
   precedence here, rather than scattering page-by-page overrides. */
body :is(p, li, figcaption, label, input, select, textarea, td, th, nav, button, a, code, pre, kbd, samp) {
  font-family: var(--font-body);
}
body :is(p, li, figcaption, td, th) :is(strong, b) {
  font-family: var(--font-body) !important;
}
body a:not(.brand) { font-weight: 500 !important; }
body :is(button, .button, .nav-cta, .featured-inquiry, .case-link) {
  font-weight: 600 !important;
}
body :is(h1, h2, h3, h4, h5, h6, [role="heading"], .faq-question,
  summary, .featured-panel__toggle, .home-intent__title, .work-card strong) {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
}
body :is(h1, h2, h3, h4, h5, h6, [role="heading"], .faq-question,
  summary, .featured-panel__toggle, .home-intent__title, .work-card strong) :is(a, span, strong, b, em) {
  font-family: inherit !important;
  font-weight: inherit !important;
}
/* Hero is the role exception: every text role remains Inter. */
body :is(.internal-hero, .hero-carousel, .listing-hero, .hero),
body :is(.internal-hero, .hero-carousel, .listing-hero, .hero) :is(h1, h2, h3, h4, h5, h6,
  p, a, button, span, strong, b, em, small, label, li, [role="heading"]) {
  font-family: var(--font-body) !important;
}
/* Preserve the existing HTML brand mark; image logos and icon fonts are not targeted. */
body .brand__name,
body .brand__tagline {
  font-family: "Segoe UI", Arial, Helvetica, sans-serif !important;
}

body .order-steps li > span { font-family: var(--font-body); }
