/*
 * APIIP shared narrative typography
 * Mirrors the approved Landing Page V2 body copy without changing its own
 * component hierarchy or the archived, self-contained Landing Page V1.
 */

@font-face {
  font-family: "APIIP Open Sans";
  src: url("../fonts/opensans/opensans-400.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "APIIP Open Sans";
  src: url("../fonts/opensans/opensans-600.woff2") format("woff2");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "APIIP Open Sans";
  src: url("../fonts/opensans/opensans-700.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

:root {
  --apiip-body-font: "APIIP Open Sans", "Segoe UI", Arial, sans-serif;
}

body:not(.landing-v2-page) {
  font-family: var(--apiip-body-font);
  font-size: 15px;
  line-height: 27px;
}

/*
 * Public content is emitted as a direct main/section/page wrapper after the
 * shared header. Keeping the scope structural protects navigation, ticker,
 * footer, chatbot, buttons and other compact interface typography.
 */
body:not(.landing-v2-page) > :is(main, section, .key-sectors-page)
  :where(
    p,
    li:not(.breadcrumb-item),
    dd,
    td,
    th,
    input,
    select,
    textarea
  ) {
  font-family: var(--apiip-body-font) !important;
}

body:not(.landing-v2-page) > :is(main, section, .key-sectors-page)
  p:not([class*="stat"]):not([class*="badge"]):not([class*="label"]):not([class*="eyebrow"]):not([class*="kicker"]):not([class*="breadcrumb"]):not([class*="btn"]):not([class*="link"]) {
  font-size: 15px !important;
  line-height: 27px !important;
}

body:not(.landing-v2-page) > :is(main, section, .key-sectors-page)
  :where(input, select, textarea) {
  font-size: 15px !important;
  line-height: 1.5 !important;
}

/* Leadership quotations remain readable on narrow screens. */
#cm-message .cm-mgs h2, #dcm-message .cm-mgs h2 { text-align: left; line-height: 1.55; }
@media (max-width: 767px) {
  #cm-message .cm-mgs h2, #dcm-message .cm-mgs h2 { font-size: 22px; }
}

/* Shared prose alignment; headings and specialist layouts keep their hierarchy. */
#main-content .content-text-ar p, #main-content .content-text-ar li { text-align: left; }
#main-content .inner-page-hd h1 { font-size: clamp(28px, 3.4vw, 44px); line-height: 1.2; }
