/**
 * Design tokens — 2026 refresh.
 * Source: src/index.css (@theme + header height vars)
 */

:root {
  --font-sans: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --color-theme-blue: #163664;
  --color-accent: #0d2343;
  --color-body: #545354;
  --color-contrast: #000000;
  --color-contrast-2: #575760;
  --color-contrast-3: #b2b2be;
  --color-commercial: #4da5d7;
  --color-education: #9974bd;
  --color-planning: #00a79e;
  --color-gold: #84754e;
  --color-gold-legacy: #d7a338;
  --color-footer: #1a3761;
  --color-blue-grey: #d1d5df;
  --color-light-blue: #dceef9;
  --color-lavender: #a488c8;
  --color-base: #f0f0f0;
  --color-base-2: #f7f7f7;
  --color-divider: #d9d9d9;
  --color-ui-grey: #8f9ab0;
  --color-white: #ffffff;

  --max-width-content: 76.25rem;
  --content-max-width: 1220px;

  --radius-brand-sm: 3px;
  --radius-brand: 4px;
  --radius-card: 12px;
  --radius-tile: 24px;
  --radius-signature: 50px;

  --shadow-card: 0 4px 12px rgba(0, 0, 0, 0.06);
  --shadow-card-hover: 0 8px 20px rgba(0, 0, 0, 0.08);
  --shadow-tile: 5px 5px 10px 0 rgb(0 0 0 / 10%);

  --spacing-section-inset: 5rem;
  --spacing-section-inset-half: 2.5rem;
  --spacing-section-gap: var(--spacing-section-inset);
  --spacing-section-gap-same: var(--spacing-section-inset-half);
  --spacing-section-intro-gap: 2.5rem;
  --spacing-section-heading-gap: 3rem;
  --spacing-section-major-gap: 3.5rem;
  --spacing-section-block-gap: 4rem;
  --spacing-section-eyebrow-gap: 1.5rem;
  --spacing-process-header-pt: 3.5rem;
  --spacing-process-header-pb: 1.5rem;
  --process-icon-half: 3.375rem;
  --process-card-half: 3.875rem;

  --site-header-height: 87px;
  --base-3: #ffffff;

  /* px — rem was rounding differently on news vs 2026 interiors (~647 vs ~642) */
  --hero-content-min-height-md: 640px;
  --hero-content-min-height-lg: 680px;

  /* GP desktop header + nav stack — matches main-navigation-2025 #page pull */
  --legacy-gp-desktop-page-offset: -125px;
  --legacy-gp-desktop-header-offset: 125px;
  --legacy-gp-mobile-logo-height: 80px;
}

@media (max-width: 63.9375rem) {
  :root {
    --site-header-height: 7.125rem;
    /* Enquiry bar sits absolute below logo — not in #mobile-header flow height */
    --legacy-gp-mobile-enquiry-clearance: calc(var(--site-header-height) - var(--legacy-gp-mobile-logo-height));
  }
}

@media (max-width: 48rem) {
  :root {
    --spacing-section-inset: 3.5rem;
    --spacing-section-inset-half: 1.75rem;
    --spacing-section-gap: var(--spacing-section-inset);
    --spacing-section-gap-same: var(--spacing-section-inset-half);
    --spacing-section-intro-gap: 1.75rem;
    --spacing-section-heading-gap: 1.75rem;
    --spacing-section-major-gap: 1.75rem;
    --spacing-section-block-gap: 1.75rem;
    --spacing-section-eyebrow-gap: 1rem;
    --spacing-process-header-pt: 3rem;
    --spacing-process-header-pb: 1.25rem;
    --process-icon-half: 3rem;
    --process-card-half: 3.5rem;
  }
}

.container-innova {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  max-width: var(--max-width-content);
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 76.25rem) {
  .container-innova {
    padding-left: 0;
    padding-right: 0;
  }
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

body.nav-open {
  overflow: hidden;
}

.site-header-mobile {
  display: block;
}

@media (min-width: 64rem) {
  .site-header-mobile {
    display: none;
  }
}
