/* Shared page-title parameters. Authority: Design/Website_Style_Guide.md.
   Matched to Technology Procurement & Reselling, including its responsive sizes. */
:root {
  --page-title-font-family: Exo, Arial, sans-serif;
  --page-title-font-weight: 700;
  --page-title-font-size: clamp(36px, 3.65vw, 56px);
  --page-title-line-height: 1.05;
  --page-title-letter-spacing: -1.3px;
}
@media (max-width: 1250px) {
  :root { --page-title-font-size: 42px; }
}
@media (max-width: 450px) {
  :root {
    --page-title-font-size: clamp(30px, 8.6vw, 38px);
    --page-title-letter-spacing: -.9px;
  }
}
/* This common rule wins over legacy page-specific hero typography. */
body[data-page] main h1 {
  font-family: var(--page-title-font-family);
  font-weight: var(--page-title-font-weight);
  font-size: var(--page-title-font-size);
  line-height: var(--page-title-line-height);
  letter-spacing: var(--page-title-letter-spacing);
}
/* These primary title words have their own legacy type sizes; retain their colors/layout.
   Smaller product descriptors and trademark text keep their existing supporting sizes. */
body[data-page] main h1 .migrator-word,
body[data-page] main h1.sw-hero-title > span {
  font: inherit;
  letter-spacing: inherit;
}

/* Consistent page titles (2026-10-27): normal capitalization everywhere, and the same
   56px gap from the navigation bar to the title on every page (desktop). */
body[data-page] main h1 { text-transform: none; }
body[data-page="home"] main h1 { margin-top: 16px; }
body[data-page="managed-security-services"] main h1,
body[data-page="news-insights"] main h1,
body[data-page="professional-services"] main h1,
body[data-page="technology-procurement"] main h1 { margin-top: 0; }
body[data-page="secure-communications"] main h1 { margin-top: -6px; }
body[data-page="about"] .about-hero-inner { padding-top: 0; }
body[data-page="nist-cmmc"] .cs-hero-grid { align-items: start; padding-top: 0; }
body[data-page="nist-cmmc"] .cs-hero .stack-cube { align-self: center; }
body[data-page="nist-cmmc"] main h1 { margin-top: -6px; }
body[data-page="contact"] main h1 { margin-top: 0; }
body[data-page="about"] .about-hero-copy { align-self: start; }
body[data-page="about"] .about-hero-copy { padding-top: 19px; }
/* Phones: the same 45px gap from the navigation bar to the title on every page */
@media (max-width: 640px) {
  body[data-page="home"] main h1 { margin-top: 0; }
  body[data-page="about"] .about-hero-copy { padding-top: 8px; }
  body[data-page="odin-i"] main h1 { margin-top: -8px; }
}

/* Hero subheading: one style on every page (matches Home, Procurement, ControlStack) */
body[data-page="managed-security-services"] main h1 + h2,
body[data-page="professional-services"] main h1 + h2,
body[data-page="partner-with-us"] .partner-hero-copy > h2,
body[data-page="odin-i"] .odin-hero-copy > h2,
body[data-page="contract-vehicles"] .cv-tagline { font-family: 'Open Sans', Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.35; letter-spacing: -.3px; text-transform: none; color: #f2f7fd; margin-top: 16px; }
body[data-page="odin-i"] .odin-hero-copy > h2 span { display: inline; }
@media (max-width: 640px) {
  body[data-page="home"] .hero h2,
  body[data-page="technology-procurement"] .procurement-hero-copy > h2,
  body[data-page="nist-cmmc"] .cs-hero .stack-title h2,
  body[data-page="managed-security-services"] main h1 + h2,
  body[data-page="professional-services"] main h1 + h2,
  body[data-page="partner-with-us"] .partner-hero-copy > h2,
  body[data-page="odin-i"] .odin-hero-copy > h2,
  body[data-page="contract-vehicles"] .cv-tagline { font-size: 18px; }
}
