/*
 * Binary Genes responsive typography
 *
 * This file loads after page-specific styles so every route follows the same
 * compact-screen type scale without modifying the generated Arc bundles.
 */

html[data-brand-theme="binarygenes"] body {
  --arc-font-size-heading-level-1-jumbo-at-xs: 30px;
  --arc-font-size-heading-level-1-jumbo-at-sm: 34px;
  --arc-font-size-heading-level-1-jumbo-at-md: 42px;
  --arc-font-size-heading-level-1-jumbo-at-lg: 52px;

  --arc-font-size-heading-level-1-at-xs: 26px;
  --arc-font-size-heading-level-1-at-sm: 28px;
  --arc-font-size-heading-level-1-at-md: 32px;
  --arc-font-size-heading-level-1-at-lg: 42px;

  --arc-font-size-heading-level-2-at-xs: 23px;
  --arc-font-size-heading-level-2-at-sm: 24px;
  --arc-font-size-heading-level-2-at-md: 27px;
  --arc-font-size-heading-level-2-at-lg: 32px;

  --arc-font-size-heading-level-3-at-xs: 20px;
  --arc-font-size-heading-level-3-at-sm: 21px;
  --arc-font-size-heading-level-3-at-md: 23px;
  --arc-font-size-heading-level-3-at-lg: 26px;

  --arc-font-size-heading-level-4-at-xs: 19px;
  --arc-font-size-heading-level-4-at-sm: 19px;
  --arc-font-size-heading-level-4-at-md: 21px;
  --arc-font-size-heading-level-4-at-lg: 23px;

  --arc-font-size-heading-level-5-at-xs: 18px;
  --arc-font-size-heading-level-5-at-sm: 18px;
  --arc-font-size-heading-level-5-at-md: 19px;
  --arc-font-size-heading-level-5-at-lg: 21px;

  --arc-font-size-body-xlarge-at-xs: 17px;
  --arc-font-size-body-xlarge-at-sm: 18px;
  --arc-font-size-body-xlarge-at-md: 19px;
  --arc-font-size-body-xlarge-at-lg: 21px;

  --arc-font-size-body-large-at-xs: 17px;
  --arc-font-size-body-large-at-sm: 18px;
  --arc-font-size-body-large-at-md: 18px;
  --arc-font-size-body-large-at-lg: 19px;

  --arc-font-size-body-medium-at-xs: 16px;
  --arc-font-size-body-medium-at-sm: 16px;
  --arc-font-size-body-medium-at-md: 16px;
  --arc-font-size-body-medium-at-lg: 17px;
}

/* Direct Arc overrides that otherwise bypass the shared body-level scale. */
body.page_arc_service #overview arc-heading[heading-size-override="h1-jumbo"] {
  --arc-font-size-heading-level-1-jumbo-at-md: 42px;
  --arc-font-size-heading-level-1-jumbo-at-lg: 50px;
}

body.page_arc_about #overview arc-heading[heading-size-override="h1-jumbo"] {
  --arc-font-size-heading-level-1-jumbo-at-md: 40px;
  --arc-font-size-heading-level-1-jumbo-at-lg: 46px;
}

body.page_arc_homepage arc-next-steps .next-steps-heading {
  --arc-font-size-heading-level-1-at-md: 36px;
  --arc-font-size-heading-level-1-at-lg: 42px;
}

@media only screen and (min-width: 768px) and (max-width: 1365px) {
  body.page_arc_homepage arc-next-steps .next-steps-heading-line {
    white-space: normal;
  }
}

/* Phone-sized custom page headings. */
@media only screen and (max-width: 680px) {
  body:is(.page_arc_products, .page_arc_industries) .products-hero h1,
  body.page_arc_industries .industries-hero h1,
  body.page_arc_contact .contact-hero h1,
  body.page_arc_policy .policy-hero h1 {
    font-size: clamp(34px, 10vw, 42px);
  }

  body:is(.page_arc_products, .page_arc_industries) .products-section-heading h2,
  body:is(.page_arc_products, .page_arc_industries) .products-cta-card h2,
  body.page_arc_contact .contact-section-heading h2,
  body.page_arc_about :is(.about-statement, .about-section-heading) h2 {
    font-size: clamp(30px, 8.5vw, 36px);
  }

  body:is(.page_arc_products, .page_arc_industries) .product-overview-copy h3 {
    font-size: clamp(24px, 7vw, 28px);
  }

  body.page_arc_contact .contact-form-card h2 {
    font-size: clamp(28px, 8vw, 32px);
  }

  body.page_arc_contact :is(.contact-route-card, .contact-process-list) h3 {
    font-size: clamp(22px, 6vw, 26px);
  }

  body.page_arc_policy .policy-section h2 {
    font-size: clamp(24px, 7vw, 30px);
  }

  body.page_arc_policy .policy-contact-card h2 {
    font-size: clamp(28px, 8vw, 34px);
  }

  body.page_arc_service .service-section h2 {
    font-size: clamp(28px, 8vw, 32px);
  }

  body.page_arc_service .service-section h3 {
    font-size: clamp(21px, 6vw, 25px);
  }

  body:is(.page_arc_products, .page_arc_industries) .products-hero-intro,
  body.page_arc_contact .contact-hero-intro,
  body.page_arc_about .about-statement-copy p,
  body.page_arc_policy .policy-intro {
    font-size: 17px;
  }
}

/* Tablets and compact laptops. */
@media only screen and (min-width: 681px) and (max-width: 1180px) {
  body:is(.page_arc_products, .page_arc_industries) .products-hero h1,
  body.page_arc_industries .industries-hero h1,
  body.page_arc_contact .contact-hero h1,
  body.page_arc_policy .policy-hero h1 {
    font-size: clamp(42px, 4.6vw, 54px);
  }

  body:is(.page_arc_products, .page_arc_industries) .products-section-heading h2,
  body:is(.page_arc_products, .page_arc_industries) .products-cta-card h2,
  body.page_arc_contact .contact-section-heading h2,
  body.page_arc_about :is(.about-statement, .about-section-heading) h2 {
    font-size: clamp(32px, 3.8vw, 42px);
  }

  body:is(.page_arc_products, .page_arc_industries) .product-overview-copy h3 {
    font-size: clamp(26px, 2.8vw, 32px);
  }

  body.page_arc_contact .contact-form-card h2 {
    font-size: clamp(30px, 3.2vw, 36px);
  }

  body.page_arc_contact :is(.contact-route-card, .contact-process-list) h3 {
    font-size: clamp(23px, 2.5vw, 28px);
  }

  body.page_arc_policy .policy-section h2 {
    font-size: clamp(26px, 3vw, 34px);
  }

  body.page_arc_policy .policy-contact-card h2 {
    font-size: clamp(30px, 3.4vw, 40px);
  }

  body.page_arc_service .service-section h2 {
    font-size: clamp(30px, 3.5vw, 40px);
  }

  body.page_arc_service .service-section h3 {
    font-size: clamp(22px, 2.4vw, 27px);
  }

  body:is(.page_arc_products, .page_arc_industries) .products-hero-intro,
  body.page_arc_contact .contact-hero-intro,
  body.page_arc_about .about-statement-copy p,
  body.page_arc_policy .policy-intro {
    font-size: 18px;
  }
}
