/*
 * Shared typography for the OrbiCraft product pages.
 * Values follow the title scale used by business-websites.php.
 * This file changes type only; page colors, spacing, and layout stay local.
 */

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main :is(
  .orbicrm-hero,
  .orbipayroll-hero,
  .orbidesk-hero,
  .orbibook-hero,
  .orbicampus-hero,
  .orbiai-hero
) h1 {
  font-size: clamp(42px, 4.2vw, 58px) !important;
  line-height: 1.045 !important;
  font-weight: 900 !important;
  letter-spacing: -1.9px !important;
  text-wrap: balance;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main :is(
  .intro-card,
  .section-title,
  .workflow-panel,
  .bestfor-panel,
  .cta-panel
) h2 {
  font-size: clamp(32px, 3.8vw, 50px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: -1.4px !important;
  text-wrap: balance;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .console-top h3 {
  font-size: 26px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -0.8px !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main :is(.feature-card, .workflow-step, .bestfor-card) h4 {
  font-size: clamp(20px, 1.8vw, 24px) !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -0.45px !important;
  text-wrap: balance;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .console-module h4 {
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .orbi-sidebar-visuals-header h4 {
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .orbi-sidebar-service-content h5 {
  font-size: 15.5px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main p {
  font-size: 16.5px !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
}

/* Keep the compact product preview and sidebar text at their reference scale. */
:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .console-card p {
  font-size: 14px !important;
  line-height: 1.6 !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) main.main .orbi-sidebar-visuals p {
  font-size: 12px !important;
  line-height: 1.55 !important;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) footer .orbi-footer-cta h2 {
  font-size: clamp(32px, 3.8vw, 50px) !important;
  line-height: 1.08 !important;
  font-weight: 900 !important;
  letter-spacing: -1.4px !important;
  text-wrap: balance;
}

:is(
  body#orbi-public-layout.orbi-global-layout.orbicrm-page,
  body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
  body#orbi-public-layout.orbi-global-layout.orbidesk-page,
  body#orbi-public-layout.orbi-global-layout.orbibook-page,
  body#orbi-public-layout.orbi-global-layout.orbicampus-page,
  body#orbi-public-layout.orbi-global-layout.orbiai-page
) footer :is(.footer-link-card, .footer-contact-card) h4 {
  font-size: 18px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

@media (max-width: 767.98px) {
  :is(
    body#orbi-public-layout.orbi-global-layout.orbicrm-page,
    body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
    body#orbi-public-layout.orbi-global-layout.orbidesk-page,
    body#orbi-public-layout.orbi-global-layout.orbibook-page,
    body#orbi-public-layout.orbi-global-layout.orbicampus-page,
    body#orbi-public-layout.orbi-global-layout.orbiai-page
  ) main.main :is(
    .orbicrm-hero,
    .orbipayroll-hero,
    .orbidesk-hero,
    .orbibook-hero,
    .orbicampus-hero,
    .orbiai-hero
  ) h1 {
    font-size: clamp(32px, 8.8vw, 39px) !important;
    line-height: 1.08 !important;
    letter-spacing: -1px !important;
  }

  :is(
    body#orbi-public-layout.orbi-global-layout.orbicrm-page,
    body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
    body#orbi-public-layout.orbi-global-layout.orbidesk-page,
    body#orbi-public-layout.orbi-global-layout.orbibook-page,
    body#orbi-public-layout.orbi-global-layout.orbicampus-page,
    body#orbi-public-layout.orbi-global-layout.orbiai-page
  ) main.main :is(
    .orbicrm-hero,
    .orbipayroll-hero,
    .orbidesk-hero,
    .orbibook-hero,
    .orbicampus-hero,
    .orbiai-hero
  ) > .container > .row > .col-lg-7 > p {
    font-size: 16px !important;
    line-height: 1.72 !important;
  }
}

@media (max-width: 390px) {
  :is(
    body#orbi-public-layout.orbi-global-layout.orbicrm-page,
    body#orbi-public-layout.orbi-global-layout.orbipayroll-page,
    body#orbi-public-layout.orbi-global-layout.orbidesk-page,
    body#orbi-public-layout.orbi-global-layout.orbibook-page,
    body#orbi-public-layout.orbi-global-layout.orbicampus-page,
    body#orbi-public-layout.orbi-global-layout.orbiai-page
  ) main.main :is(
    .orbicrm-hero,
    .orbipayroll-hero,
    .orbidesk-hero,
    .orbibook-hero,
    .orbicampus-hero,
    .orbiai-hero
  ) h1 {
    font-size: 30px !important;
    line-height: 1.1 !important;
  }
}
