/*
 * Global design tokens. Keep component selectors out of this file.
 * Fluid sizes scale from 320px to 1440px at a 16px root font size.
 * Rem-based limits respect the visitor's font-size preference.
 */
:root {
  /* Brand palette. */
  --primary: #230C8A;
  --secondary: #180C52;
  --bg: #fff;
  --cyan_df5: #1EEDF5;
  --mint_2e7: #8EF2E7;
  --light-grey: #f5f5f5;
  --light-yellow: #f3e4bf;

  --gradient-primary: linear-gradient(
    115deg,var(--primary) 0%, var(--secondary) 100%
  );

  --gradient-accent: linear-gradient(
    90deg, var(--cyan_df5) 0%, var(--mint_2e7) 100%
  );

  /* Surfaces, text, and borders. */
  --surface: #fff;
  --surface2: rgba(0, 56, 42, 0.04);
  --text: #191919;
  --text-heading: #180C52;
  --text-light: #FFFFFF;
  --text-muted-light: #E0E0E3;
  --line: rgba(0, 56, 42, 0.14);
  --transparent: transparent;

  /* Typography. Variable font faces are declared in font.css. */
  --body-font: "Red Hat Display", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --heading-font: "Red Hat Display", var(--body-font);
  --h1: clamp(2.5000rem, 2.1429rem + 1.7857vw, 3.7500rem);
  --h2: clamp(1.8750rem, 1.6071rem + 1.3393vw, 2.8125rem);
  --h3: clamp(1.3750rem, 1.1429rem + 1.1607vw, 2.1875rem);
  --h4: clamp(1.2500rem, 1.1607rem + 0.4464vw, 1.5625rem);
  --h5: clamp(1.1250rem, 1.0536rem + 0.3571vw, 1.3750rem);
  --h6: clamp(1.0000rem, 0.9286rem + 0.3571vw, 1.2500rem);
  --base: 1rem;
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: var(--base);
  --eyebrow: var(--text-base);
  --text-md: clamp(1.0000rem, 0.9643rem + 0.1786vw, 1.1250rem);
  --counter: clamp(2.1875rem, 1.7411rem + 2.2321vw, 3.7500rem);
  --heading-lh: 1.2;
  --body-lh: 1.6;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* Per-style overrides are optional and saved by Theme Settings, for example
     --h1-weight, --h1-lh, --h1-letter-spacing, and --text-sm-font.
     Unset overrides follow the shared defaults. */

  /* Maximum content widths; outer gutters remain fluid. */
  --container: 68.75rem;
  --containerWide: 81.25rem;
  --gutter: clamp(1.0000rem, 0.9286rem + 0.3571vw, 1.2500rem);
  --grid-gap: var(--gutter);
  --grid-columns: 12;
  --header-height: clamp(5.0000rem, 4.6429rem + 1.7857vw, 6.2500rem);

  /* Default section padding; ACF can override each side. */
  --section-padding-y: clamp(2.5rem, 1.785714rem + 3.571429vw, 5rem);
  --section-padding-x: clamp(1rem, 5vw, 4.5rem);

  /* Fluid spacing. */
  --gap-vert-dxl: clamp(3.1250rem, 1.3393rem + 8.9286vw, 9.3750rem);
  --gap-vert-xl: clamp(2.5000rem, 1.4286rem + 5.3571vw, 6.2500rem);
  --gap-vert-l: clamp(1.8750rem, 0.9821rem + 4.4643vw, 5.0000rem);
  --gap-vert: clamp(1.2500rem, 0.5357rem + 3.5714vw, 3.7500rem);
  --gap-horz: clamp(1.2500rem, 0.8929rem + 1.7857vw, 2.5000rem);
  --gap-sm: clamp(0.6250rem, 0.5536rem + 0.3571vw, 0.8750rem);

  /* Padding presets for utilities and ACF section overrides. */
  --pad-y-lg: clamp(2.5000rem, 1.7857rem + 3.5714vw, 5.0000rem);
  --pad-y-lg_2xl: calc(var(--pad-y-lg) * 2);
  --pad-y-md: clamp(1.8750rem, 1.3393rem + 2.6786vw, 3.7500rem);
  --pad-y-sm: clamp(1.2500rem, 0.8929rem + 1.7857vw, 2.5000rem);
  --pad-x-lg: clamp(1.2500rem, 0.4643rem + 3.9286vw, 4.0000rem);
  --pad-x-md: clamp(1.0000rem, 0.4286rem + 2.8571vw, 3.0000rem);
  --pad-x-sm: clamp(0.5000rem, 0.3571rem + 0.7143vw, 1.0000rem);

  /* Shape and effects. Alpha colors work without relative-color syntax. */
  --radius: 16px;
  --radiusSm: 12px;
  --radius_xs: 8px;
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.08);
  --shadow-card-hover: 0 20px 50px rgba(209, 150, 0, 0.55);

  /* Shared decorative divider. */
  --divider-width: 100%;
  --divider-height: 1px;
  --divider-color: currentColor;
  --divider-opacity: 0.45;

  /* Defaults for layouts that opt into AOS. */
  --animation-duration: 700ms;
  --animation-offset: 80px;
  --animation-easing: ease-out-cubic;
  --animation-once: 1;
}
