.elementor-kit-5{--e-global-color-primary:#E8180A;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#E2DDD6;--e-global-color-a9b93f3:#B81005;--e-global-color-16d277c:#1A1A1A;--e-global-color-bea62fc:#FFFFFF;--e-global-color-1adf5f8:#F5F2EC;--e-global-color-33c3ab9:#7A756F;--e-global-typography-primary-font-family:"Space Grotesk";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;font-family:"Inter", Sans-serif;}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}.elementor-kit-5 h1{font-family:"Space Grotesk", Sans-serif;}.elementor-kit-5 h2{font-family:"Space Grotesk", Sans-serif;}.elementor-kit-5 h3{font-family:"Space Grotesk", Sans-serif;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --red:#FF5A3C; --red-dark:#D4541A; --red-light:#FFF4EE; --mac-black:#251E4A; --cream:#FAF0E2; --stone:#FFD8A6; --muted:#6B6257; --border:#E8D9C4; --teal:#C4E0CF; --teal-dark:#5A9E7C; --font-display:Space Grotesk; --font-body:Inter; }
/* Start custom CSS *//* === Typography improvements — Jun 2026 === */

/* Press & Media: spacing between text and images in asset/coverage grids */
[data-id="pm-assets"] .elementor-widget-image .elementor-widget-container,
[data-id="pm-coverage"] .elementor-widget-image .elementor-widget-container {
  margin-bottom: 0.75rem;
}
[data-id="pm-aginfa0"], [data-id="pm-aginfa1"], [data-id="pm-aginfa2"],
[data-id="pm-aginfa3"], [data-id="pm-aginfa4"], [data-id="pm-aginfa5"],
[data-id="pm-aginfa6"], [data-id="pm-aginfa7"] {
  padding-top: 0.75rem;
}
[data-id="pm-cginf0"], [data-id="pm-cginf1"], [data-id="pm-cginf2"] {
  padding-top: 0.75rem;
}

/* Programs: ensure body text reads at 1rem */
[data-id="pg-cs-p1"] .elementor-widget-container p,
[data-id="pg-wf-body"] .elementor-widget-container p,
[data-id="pg-se-body"] .elementor-widget-container p,
[data-id="pg-ps-body"] .elementor-widget-container p {
  font-size: 1rem;
  line-height: 1.78;
}

/* Programs: lead sub on hero */
[data-id="pg-hero-sub"] .elementor-widget-container p {
  font-size: 1rem;
  line-height: 1.75;
}

/* === Golden Ratio Type Scale — Jun 2026 ===
   h1: 3.125rem (50px)
   h2: 2.125rem (~34px) +10%
   h3/p: 1.313rem (~21px) +10%
   Base: 16px, ratio: 1.618
*/
:root {
  --fs-h1: 3.125rem;
  --fs-h2: 2.2rem;
  --fs-h3: 1.925rem;
  --fs-body: 1.313rem;
  --lh-heading: 1.15;
  --lh-body: 1.75;
}

/* Base heading scale (where Elementor doesn't override) */
.elementor-heading-title { line-height: var(--lh-heading); }

h1, .elementor-widget-heading h1 .elementor-heading-title { font-size: var(--fs-h1); }
h2, .elementor-widget-heading h2 .elementor-heading-title { font-size: var(--fs-h2); }
h3, .elementor-widget-heading h3 .elementor-heading-title { font-size: var(--fs-h3); }

/* Body copy */
.elementor-widget-text-editor .elementor-widget-container p {
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  margin-bottom: 0.9em;
}

/* === Unified button system — Jun 2026 ===
   Primary:   red solid, white text, 2px radius
   Secondary: white outline 1px, white text, 2px radius
*/

/* Elementor button widget — primary */
.elementor-button {
  border-radius: 2px !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  transition: background 0.15s, border-color 0.15s !important;
}

/* Ghost/outline Elementor buttons on dark sections */
.elementor-button.elementor-button-link,
[class*="ghost"] .elementor-button,
[class*="outline"] .elementor-button {
  border-width: 1px !important;
}/* End custom CSS */