/* Delhi Premium School global typography system.
   Polymath is self-hosted; Sora is preloaded in includes/header.php. */

@font-face {
  font-family: "Polymath";
  src: url("../fonts/polymath/Polymath-Regular.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Polymath";
  src: url("../fonts/polymath/Polymath-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Polymath";
  src: url("../fonts/polymath/Polymath-Semibold.otf") format("opentype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

@font-face {
  font-family: "Polymath";
  src: url("../fonts/polymath/Polymath-Bold.otf") format("opentype");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}

@font-face {
  font-family: "Polymath";
  src: url("../fonts/polymath/Polymath-Black.otf") format("opentype");
  font-style: normal;
  font-weight: 900;
  font-display: swap;
}

:root {
  --font-heading: "Polymath", sans-serif;
  --font-body: "Sora", sans-serif;
  --title-font: var(--font-heading);
  --body-font: var(--font-body);
}

html,
body {
  font-family: var(--font-body);
}

body {
  font-weight: 400;
  line-height: 1.6;
  font-synthesis: none;
}

/* Editorial display type is reserved for primary page and section headings. */
body h1:not(#dps-font-specificity),
body h2:not(#dps-font-specificity) {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: -0.02em !important;
}

body h1:not(#dps-font-specificity) *,
body h2:not(#dps-font-specificity) * {
  font-family: inherit !important;
}

/* Keep every heading in the editorial Polymath family. */
body h3:not(#dps-font-specificity),
body h4:not(#dps-font-specificity),
body h5:not(#dps-font-specificity),
body h6:not(#dps-font-specificity) {
  font-family: var(--font-heading) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}

body p {
  font-family: var(--font-body);
  font-weight: 400;
  line-height: 1.7;
}

body a,
body button,
body nav,
body input,
body textarea,
body select,
body option,
body label,
body table,
body th,
body td,
body small,
body figcaption,
body blockquote {
  font-family: var(--font-body) !important;
}

body input::placeholder,
body textarea::placeholder {
  font-family: var(--font-body);
}

/* Keep emphasis refined instead of defaulting to an overly heavy UI. */
body strong,
body b {
  font-family: inherit;
  font-weight: 600;
}

/* Shared eyebrow/kicker patterns used throughout first-party pages. */
body :is(
  .sub-title,
  .small-title,
  [class*="eyebrow"],
  [class*="kicker"],
  [class*="overline"]
):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6) {
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase;
}
