/*
Theme Name: Startup Rutland - Astra Child
Theme URI:
Description: Child theme of astra theme for the Astra theme
Author: <a href="https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme">Brainstorm Force</a>
Author URI:
Template: astra
Version: 4.13.4
*/

/* Generated by Orbisius Child Theme Creator (https://orbisius.com/products/wordpress-plugins/orbisius-child-theme-creator/) on Wed, 17 Jun 2026 02:31:17 +0000 */
/* The plugin now uses the recommended approach for loading the css files.*/

/* ================================================================
   Startup Rutland v3 — Brand Tokens & Global Styles
   ================================================================ */

:root {
  /* Palette */
  --blue:        #0c4ba0;
  --blue-dark:   #10286e;
  --yellow:      #fdb816;
  --yellow-2:    #e69a00;
  --green:       #009c73;

  /* Surfaces */
  --bg:          #ffffff;
  --paper:       #f3f6fb;
  --ink:         #0e1d3e;
  --ink-2:       #2d4268;
  --muted:       #6b80a8;
  --line:        rgba(12, 75, 160, 0.09);

  /* Semantic */
  --primary:     var(--blue);
  --primary-2:   var(--blue-dark);
  --accent:      var(--yellow);
  --highlight:   var(--green);

  /* Typography */
  --font-sans:   "Sofia Sans", ui-sans-serif, system-ui, sans-serif;
  --font-mono:   "JetBrains Mono", ui-monospace, monospace;

  /* Radii */
  --r-sm:  4px;
  --r-md:  8px;
  --r-lg:  14px;
  --r-xl:  20px;

  /* Shadows */
  --shadow-1: 0 1px 3px rgba(12,75,160,.06), 0 2px 8px rgba(12,75,160,.05);
  --shadow-2: 0 6px 24px rgba(12,75,160,.10), 0 16px 48px rgba(12,75,160,.07);

  /* Section spacing */
  --section-y: 120px;
}

/* ── Reset ── */
html { box-sizing: border-box; }
*, *::before, *::after { box-sizing: inherit; }

/* ── Base typography ── */
body {
  font-family: var(--font-sans);
  color: var(--ink);
  background-color: #ffffff !important;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4 {
  font-family: var(--font-sans);
  line-height: 1.15;
}

/* Eyebrow labels */
.sr-eyebrow {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--primary);
}

/* Mono accents */
.sr-mono {
  font-family: var(--font-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
}

/* Remove Astra container constraints when Elementor theme template is active */
.page-template-elementor_theme .ast-container {
  max-width: none !important;
  padding: 0 !important;
}
.page-template-elementor_theme #primary {
  margin: 0 !important;
  width: 100% !important;
}
.page-template-elementor_theme .entry-content,
.page-template-elementor_theme article,
.page-template-elementor_theme main {
  max-width: none !important;
  width: 100% !important;
}

/* Stages grid: 5 columns desktop, responsive breakpoints */
.elementor-element-s10grd {
  grid-template-columns: repeat(5, 1fr) !important;
}
@media (max-width: 1024px) {
  .elementor-element-s10grd { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px) {
  .elementor-element-s10grd { grid-template-columns: 1fr !important; }
}

/* Grants grid: 2 columns */
.elementor-element-g13grd {
  grid-template-columns: repeat(2, 1fr) !important;
}
@media (max-width: 767px) {
  .elementor-element-g13grd { grid-template-columns: 1fr !important; }
}

/* Events grid: 3 columns */
.elementor-element-ev14gd {
  grid-template-columns: repeat(3, 1fr) !important;
}
@media (max-width: 767px) {
  .elementor-element-ev14gd { grid-template-columns: 1fr !important; }
}

/* ── Offerings toolkit ── */
.sr-off-wrap {
  padding: 80px 40px;
  background: #ffffff;
  max-width: 1200px;
  margin: 0 auto;
}
.sr-off-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 48px;
  flex-wrap: wrap;
  margin-bottom: 48px;
}
.sr-off-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0c4ba0;
  margin-bottom: 20px;
}
.sr-off-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: #0c4ba0;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-off-title {
  font-family: var(--font-sans);
  font-size: clamp(40px, 5.5vw, 64px);
  font-weight: 800;
  color: #0e1d3e;
  line-height: 1.05;
  margin: 0;
}
.sr-off-title em { color: #0c4ba0; font-style: italic; }
.sr-off-sub {
  font-family: var(--font-sans);
  font-size: 15px;
  color: #2d4268;
  line-height: 1.6;
  max-width: 480px;
  margin: 0 0 24px;
}
.sr-off-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.sr-off-tab {
  font-family: var(--font-sans);
  font-size: 13px;
  font-weight: 600;
  color: #2d4268;
  background: #f3f6fb;
  border: 1px solid transparent;
  border-radius: 20px;
  padding: 6px 16px;
  cursor: pointer;
  transition: all 0.15s;
}
.sr-off-tab:hover { border-color: rgba(12,75,160,0.2); }
.sr-off-tab--active {
  background: #0e1d3e;
  color: #ffffff;
  border-color: #0e1d3e;
}
.sr-off-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}
.sr-off-card {
  grid-column: span 4;
  background: #f3f6fb;
  border: 1px solid rgba(12,75,160,0.08);
  border-radius: 12px;
  padding: 28px;
  cursor: pointer;
  transition: box-shadow 0.15s, border-color 0.15s;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.sr-off-card:hover { box-shadow: 0 4px 16px rgba(12,75,160,0.1); border-color: rgba(12,75,160,0.2); }
.sr-off-card--feature { grid-column: span 8; background: #0e1d3e; }
.sr-off-card--expanded { border-color: #0c4ba0; box-shadow: 0 4px 20px rgba(12,75,160,0.15); }
.sr-off-tag {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0c4ba0;
  background: rgba(12,75,160,0.08);
  border-radius: 20px;
  padding: 3px 10px;
  align-self: flex-start;
}
.sr-off-card--feature .sr-off-tag { color: #fdb816; background: rgba(253,184,22,0.15); }
.sr-off-card-title {
  font-family: var(--font-sans);
  font-size: 18px;
  font-weight: 700;
  color: #0e1d3e;
  line-height: 1.3;
  margin: 0;
}
.sr-off-card--feature .sr-off-card-title { color: #ffffff; font-size: 22px; }
.sr-off-card-title em { color: #0c4ba0; font-style: italic; }
.sr-off-card--feature .sr-off-card-title em { color: #fdb816; }
.sr-off-blurb {
  font-family: var(--font-sans);
  font-size: 13px;
  color: #6b80a8;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
.sr-off-card--feature .sr-off-blurb { color: rgba(255,255,255,0.6); }
.sr-off-expanded {
  border-top: 1px solid rgba(12,75,160,0.1);
  padding-top: 12px;
  margin-top: 4px;
}
.sr-off-card--feature .sr-off-expanded { border-color: rgba(255,255,255,0.1); }
.sr-off-expanded strong {
  display: block;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0c4ba0;
  margin-bottom: 10px;
}
.sr-off-card--feature .sr-off-expanded strong { color: #fdb816; }
.sr-off-expanded ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sr-off-expanded li {
  font-family: var(--font-sans);
  font-size: 13px;
  color: #2d4268;
  padding-left: 16px;
  position: relative;
}
.sr-off-expanded li::before { content: "\2713"; position: absolute; left: 0; color: #0c4ba0; font-size: 11px; }
.sr-off-card--feature .sr-off-expanded li { color: rgba(255,255,255,0.75); }
.sr-off-card--feature .sr-off-expanded li::before { color: #fdb816; }
.sr-off-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid rgba(12,75,160,0.08);
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #6b80a8;
}
.sr-off-card--feature .sr-off-meta { border-color: rgba(255,255,255,0.08); color: rgba(255,255,255,0.4); }
.sr-off-cta { color: #0c4ba0; font-weight: 600; }
.sr-off-card--feature .sr-off-cta { color: #fdb816; }

/* ── Footer watermark ── */
.sr-footer-mark {
  font-family: var(--font-sans);
  font-size: clamp(48px, 8vw, 100px);
  font-weight: 800;
  color: rgba(255,255,255,0.04);
  line-height: 1;
  padding: 24px 0;
  white-space: nowrap;
  overflow: hidden;
  user-select: none;
}
.sr-footer-mark em {
  color: rgba(253,184,22,0.06);
  font-style: italic;
}

/* ── Education course card ── */
.sr-edu-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 12px;
  overflow: hidden;
}
.sr-edu-card-header {
  padding: 20px 24px 0;
  display: none;
}
.sr-edu-list { list-style: none; padding: 0; margin: 0; }
.sr-edu-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 24px;
  border-bottom: 1px solid rgba(255,255,255,0.07);
}
.sr-edu-item:last-child { border-bottom: none; }
.sr-edu-name {
  font-family: var(--font-sans);
  font-size: 14px;
  font-weight: 600;
  color: rgba(255,255,255,0.9);
  flex: 1;
}
.sr-edu-badge {
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  border-radius: 20px;
  padding: 3px 10px;
  flex-shrink: 0;
  white-space: nowrap;
}
.sr-edu-badge--start    { background: rgba(253,184,22,0.15); color: #fdb816; }
.sr-edu-badge--foundations { background: rgba(12,75,160,0.25); color: #7aabff; }
.sr-edu-badge--growth   { background: rgba(34,197,94,0.15); color: #4ade80; }
.sr-edu-badge--applied  { background: rgba(168,85,247,0.15); color: #c084fc; }
.sr-edu-footer {
  padding: 14px 24px;
  border-top: 1px solid rgba(255,255,255,0.07);
}
.sr-edu-partner {
  font-family: var(--font-mono);
  font-size: 10px;
  color: rgba(255,255,255,0.4);
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

/* ── Education course list: single column on mobile — badge above name
   instead of side-by-side, so long course names never get squeezed or
   overflow next to the fixed-width badge on narrow phones ── */
@media (max-width: 480px) {
  .sr-edu-item {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}

/* ── Events section ── */
.sr-ev-wrap { padding: 80px 40px; background: #f3f6fb; }
.sr-ev-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 64px;
}
.sr-ev-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0c4ba0;
  margin-bottom: 20px;
}
.sr-ev-dot {
  display: inline-block;
  width: 8px; height: 8px;
  background: #0c4ba0;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-ev-title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 800;
  color: #0e1d3e;
  line-height: 1.05;
  margin: 0;
}
.sr-ev-title em { color: #0c4ba0; font-style: italic; }
.sr-ev-sub {
  font-family: var(--font-sans);
  font-size: 15px;
  color: #2d4268;
  line-height: 1.65;
  margin: 0;
}
.sr-ev-list {
  background: #ffffff;
  border: 1px solid rgba(12,75,160,0.09);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(12,75,160,.06), 0 2px 8px rgba(12,75,160,.05);
}
.sr-ev-row {
  display: grid;
  grid-template-columns: 58px 1fr auto auto;
  gap: 24px;
  align-items: center;
  padding: 20px 26px;
  border-bottom: 1px solid rgba(12,75,160,0.09);
  transition: background 0.15s;
}
.sr-ev-row--last { border-bottom: none; }
.sr-ev-row:hover { background: #f3f6fb; }
.sr-ev-date {
  text-align: center;
  background: #0c4ba0;
  color: #fff;
  border-radius: 4px;
  padding: 8px 4px 6px;
}
.sr-ev-mon {
  font-family: var(--font-mono);
  font-size: 8.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.7;
}
.sr-ev-day {
  font-family: var(--font-sans);
  font-size: 22px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.02em;
}
.sr-ev-name {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  color: #0e1d3e;
  line-height: 1.3;
}
.sr-ev-loc {
  margin-top: 4px;
  font-family: var(--font-mono);
  font-size: 10px;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #6b80a8;
}
.sr-ev-tag-col { flex-shrink: 0; }
.sr-ev-tag {
  font-family: var(--font-sans);
  font-size: 11px;
  font-weight: 600;
  color: #0c4ba0;
  background: rgba(12,75,160,0.08);
  border-radius: 20px;
  padding: 4px 12px;
  white-space: nowrap;
}
.sr-ev-rsvp {
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  color: #0c4ba0;
  text-decoration: none;
  white-space: nowrap;
  border: 1.5px solid rgba(12,75,160,0.3);
  border-radius: 6px;
  padding: 6px 14px;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.sr-ev-rsvp:hover { background: #0c4ba0; color: #fff; border-color: #0c4ba0; }
.sr-ev-footer { margin-top: 32px; text-align: center; }
.sr-ev-all {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  color: #0c4ba0;
  text-decoration: none;
  border: 1.5px solid rgba(12,75,160,0.25);
  border-radius: 8px;
  padding: 12px 28px;
  display: inline-block;
  transition: border-color 0.15s, background 0.15s;
}
.sr-ev-all:hover { border-color: #0c4ba0; background: rgba(12,75,160,0.04); }

/* ── Incubator section ── */
.sr-inc-inner {
  max-width: 1320px;
  margin: 0 auto;
  width: 100%;
}
.sr-inc-grid {
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 56px;
  align-items: start;
}
@media (max-width: 800px) { .sr-inc-grid { grid-template-columns: 1fr; gap: 24px; } }
.sr-inc-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
}
.sr-inc-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--accent);
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-inc-headline {
  font-family: var(--font-sans);
  font-size: clamp(34px, 4.5vw, 60px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.03;
  color: #fff;
  margin: 0;
}
.sr-inc-headline em { font-style: italic; color: var(--accent); }
.sr-inc-body {
  margin-top: 24px;
  font-family: var(--font-sans);
  font-size: 19px;
  color: rgba(255,255,255,0.82);
  line-height: 1.65;
  max-width: 700px;
}
.sr-inc-features {
  margin-top: 32px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
}
@media (max-width: 640px) { .sr-inc-features { grid-template-columns: 1fr; } }
.sr-inc-feature {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: rgba(255,255,255,0.82);
  line-height: 1.45;
}
.sr-inc-mark {
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--accent);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 4px;
}
.sr-inc-btns {
  margin-top: 36px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}
.sr-inc-btn-primary {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  background: var(--accent);
  color: #0e1d3e;
  border-radius: 6px;
  padding: 15px 26px;
  display: inline-block;
  transition: opacity 0.15s;
}
.sr-inc-btn-primary:hover { opacity: 0.9; color: #0e1d3e; }
.sr-inc-btn-ghost {
  font-family: var(--font-sans);
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  border: 1.5px solid rgba(255,255,255,0.3);
  border-radius: 6px;
  padding: 15px 26px;
  display: inline-block;
  transition: border-color 0.15s, background 0.15s;
}
.sr-inc-btn-ghost:hover { border-color: rgba(255,255,255,0.6); background: rgba(255,255,255,0.07); color: #fff; }

/* ── Eligibility numbered list ── */
.sr-elig-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sr-elig-list li {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  padding: 18px 0;
  border-bottom: 1px solid rgba(12,75,160,0.08);
}
.sr-elig-list li:first-child { padding-top: 0; }
.sr-elig-num {
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  color: #fdb816;
  flex-shrink: 0;
  padding-top: 3px;
  min-width: 24px;
}
.sr-elig-title {
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 700;
  color: #0e1d3e;
  margin-bottom: 4px;
}
.sr-elig-body {
  font-family: var(--font-sans);
  font-size: 14px;
  color: #6b80a8;
  line-height: 1.6;
}

/* ── Footer logo box ── */
[data-id="ftc1imgwrap"] { width: fit-content !important; }

/* ── Apply Band ── */
[data-id="ap17grid"] {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr !important;
  grid-template-rows: auto !important;
  gap: 48px !important;
  align-items: end !important;
}
[data-id="ap17right"] {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-end !important;
  gap: 16px !important;
}
#sr-apply-band {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
#sr-apply-band::after {
  content: "";
  position: absolute;
  right: -120px; bottom: -120px;
  width: 480px; height: 480px;
  border: 1px solid rgba(255,255,255,0.10);
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 0;
}
#sr-apply-band > .elementor-container,
#sr-apply-band > .e-con-inner {
  position: relative;
  z-index: 2;
}

/* Hero photo — fill the right column */
.elementor-element-h7heroimg {
  display: flex;
  align-self: stretch;
}
.elementor-element-h7heroimg .elementor-widget-container {
  display: flex;
  flex: 1;
}
.elementor-element-h7heroimg img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  border-radius: 12px;
  display: block;
}
/* ── Grants section ── */
.sr-gr-wrap { padding: 80px 40px; background: #ffffff; }
.sr-gr-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 56px;
  align-items: end;
  margin-bottom: 64px;
}
.sr-gr-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #0c4ba0;
  margin-bottom: 20px;
}
.sr-gr-dot {
  display: inline-block;
  width: 8px; height: 8px;
  background: #fdb816;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-gr-title {
  font-family: var(--font-sans);
  font-size: clamp(36px, 4.5vw, 64px);
  font-weight: 800;
  color: #0e1d3e;
  line-height: 1.05;
  margin: 0;
}
.sr-gr-title em { color: #0c4ba0; font-style: italic; }
.sr-gr-sub {
  font-family: var(--font-sans);
  font-size: 15px;
  color: #2d4268;
  line-height: 1.65;
  margin: 0;
}
.sr-gr-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
.sr-gr-card {
  background: #f3f6fb;
  border: 1px solid rgba(12,75,160,0.09);
  border-radius: 14px;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color 0.2s, transform 0.2s, box-shadow 0.2s;
}
.sr-gr-card:hover {
  border-color: #0c4ba0;
  transform: translateY(-2px);
  box-shadow: 0 6px 24px rgba(12,75,160,.10), 0 16px 48px rgba(12,75,160,.07);
}
.sr-gr-card--feature {
  background: #10286e;
  border-color: #10286e;
}
.sr-gr-tag {
  font-family: var(--font-sans);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b80a8;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 2px;
}
.sr-gr-tag::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fdb816;
  flex-shrink: 0;
}
.sr-gr-card--feature .sr-gr-tag { color: rgba(255,255,255,0.45); }
.sr-gr-amount {
  font-family: var(--font-sans);
  font-size: 30px;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: #0c4ba0;
  line-height: 1;
}
.sr-gr-card--feature .sr-gr-amount { color: #fdb816; }
.sr-gr-name {
  font-family: var(--font-sans);
  font-size: 16px;
  font-weight: 700;
  color: #0e1d3e;
  letter-spacing: -0.01em;
  margin: 2px 0 0;
}
.sr-gr-card--feature .sr-gr-name { color: #ffffff; }
.sr-gr-desc {
  font-family: var(--font-sans);
  font-size: 13.5px;
  color: #2d4268;
  line-height: 1.55;
  flex: 1;
  margin: 0;
}
.sr-gr-card--feature .sr-gr-desc { color: rgba(255,255,255,0.72); }
.sr-gr-cta {
  margin-top: 8px;
  font-family: var(--font-sans);
  font-size: 11.5px;
  font-weight: 700;
  color: #0c4ba0;
  text-decoration: none;
  letter-spacing: 0.06em;
}
.sr-gr-cta:hover { color: #10286e; }
.sr-gr-card--feature .sr-gr-cta { color: #fdb816; }
.sr-gr-card--feature .sr-gr-cta:hover { color: #ffffff; }

/* ── Hero headline ── */
.sr-hero-headline .elementor-heading-title {
  font-size: clamp(52px, 8vw, 108px) !important;
  letter-spacing: -0.04em !important;
  line-height: 0.92 !important;
  font-weight: 800 !important;
}

/* ── Hero headline (BRIC + Pathways): same fluid sizing as homepage ── */
[data-id="bhhead"] .elementor-heading-title,
[data-id="pwhhead"] .elementor-heading-title {
  font-size: clamp(44px, 8vw, 96px) !important;
  letter-spacing: -0.04em !important;
  line-height: 0.92 !important;
  font-weight: 800 !important;
}

/* ── Hero meta strip ── */
.sr-hero-meta {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  font-family: var(--font-mono) !important;
  font-size: 10.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6b80a8;
  margin: 28px 0 0;
}
.sr-hero-meta span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sr-hero-meta span::before {
  content: "";
  width: 6px; height: 6px;
  border-radius: 50%;
  background: #fdb816;
  flex-shrink: 0;
}

/* ── We support types strip ── */
.sr-types-row {
  border-top: 1px solid rgba(12,75,160,0.09) !important;
  border-bottom: 1px solid rgba(12,75,160,0.09) !important;
}
.sr-types-eyebrow .elementor-text-editor p {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #6b80a8 !important;
  white-space: nowrap;
  margin: 0;
}

/* ── We support inline row force ── */
[data-id="t8inner"] {
  flex-direction: row !important;
  align-items: center !important;
  gap: 32px !important;
  border-top: 1px solid rgba(12,75,160,0.12) !important;
  border-bottom: 1px solid rgba(12,75,160,0.12) !important;
  padding: 24px 0 !important;
}
[data-id="t8wesup"] {
  flex-shrink: 0 !important;
  width: auto !important;
  min-width: 0 !important;
}
[data-id="t8pills"] {
  flex: 1 !important;
  width: auto !important;
  min-width: 0 !important;
}

/* tighten types strip outer padding */
[data-id="t8outer"] {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Mission / Why We Exist ── */
[data-id="m9inner"] {
  display: grid !important;
  grid-template-columns: 220px 1fr !important;
  grid-template-rows: auto auto !important;
  column-gap: 56px !important;
  row-gap: 0 !important;
  align-items: start !important;
  flex-direction: unset !important;
}
[data-id="m9eybrw"] {
  grid-row: 1 / span 2 !important;
  grid-column: 1 !important;
  align-self: start !important;
  padding-top: 6px !important;
}
[data-id="m9head1"] {
  grid-row: 1 !important;
  grid-column: 2 !important;
}
[data-id="m9body1"] {
  grid-row: 2 !important;
  grid-column: 2 !important;
}
.sr-mission-head .elementor-heading-title {
  font-size: clamp(34px, 4.5vw, 60px) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.03 !important;
  font-weight: 800 !important;
}
/* mini-mark yellow diamond */
.sr-mini-mark {
  display: inline-block;
  width: 8px;
  height: 8px;
  flex-shrink: 0;
  transform: rotate(45deg);
  background: #fdb816;
  margin-right: 10px;
  vertical-align: middle;
  margin-bottom: 2px;
}

/* mission text-align fix */
[data-id="m9head1"] .elementor-heading-title,
[data-id="m9body1"] .elementor-text-editor p { text-align: left !important; }

/* ── How We Help / Stages ── */
[data-id="s10out"] {
  border-top: 1px solid rgba(12,75,160,0.09);
  border-bottom: 1px solid rgba(12,75,160,0.09);
}
[data-id="s10irw"] {
  flex-direction: row !important;
  align-items: flex-start !important;
  gap: 56px !important;
}
[data-id="s10ilf"] {
  flex: 0 0 220px !important;
  width: 220px !important;
  padding-top: 6px !important;
}
[data-id="s10irt"] {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
}
/* ── Fix: Safari computes a small/zero auto-height for this flex-direction:column
   container (WebKit quirk), so its own --flex-wrap:wrap (from Elementor's per-post
   CSS) makes the heading and paragraph wrap into two side-by-side columns instead
   of stacking — Chrome doesn't show this. Force nowrap so it can never split. ── */
.elementor-16461 .elementor-element.elementor-element-s10irt {
  --flex-wrap: nowrap !important;
  --flex-direction: column !important;
}
.sr-stages-head .elementor-heading-title {
  font-size: clamp(34px, 4.5vw, 60px) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.03 !important;
  font-weight: 800 !important;
  text-align: left !important;
}
/* stages bordered grid */
.sr-stages-grid.e-con {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1px !important;
  background: rgba(12,75,160,0.09) !important;
  margin-top: 48px !important;
  border: 1px solid rgba(12,75,160,0.09) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  flex-direction: unset !important;
  width: 100% !important;
}
@media (max-width: 1024px) {
  .sr-stages-grid.e-con { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 767px) {
  .sr-stages-grid.e-con { grid-template-columns: 1fr !important; }
}
.sr-stage-card {
  background: #f3f6fb !important;
  position: relative !important;
  transition: background .2s;
}
.sr-stage-card:hover { background: #fff !important; }
/* yellow diamond top-right of each stage */
.sr-stage-card::after {
  content: "";
  position: absolute;
  top: 22px; right: 22px;
  width: 8px; height: 8px;
  background: #fdb816;
  transform: rotate(45deg);
}
/* Stage num mono */
.sr-stage-card .elementor-text-editor p {
  font-family: var(--font-mono) !important;
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  color: #6b80a8 !important;
  margin: 0;
}

/* force stages grid box treatment */
[data-id="s10grd"] {
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 1px !important;
  background: rgba(12,75,160,0.09) !important;
  margin-top: 48px !important;
  border: 1px solid rgba(12,75,160,0.09) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  flex-direction: unset !important;
  padding: 0 !important;
  width: 100% !important;
  align-self: auto !important;
}
[data-id="s10s1crd"],[data-id="s10s2crd"],[data-id="s10s3crd"],[data-id="s10s4crd"],[data-id="s10s5crd"] {
  background: #f3f6fb !important;
  position: relative !important;
  padding: 28px 22px 32px !important;
  flex-direction: column !important;
  transition: background .2s;
  width: auto !important;
  flex: unset !important;
  min-width: 0 !important;
}
[data-id="s10s1crd"]:hover,[data-id="s10s2crd"]:hover,[data-id="s10s3crd"]:hover,[data-id="s10s4crd"]:hover,[data-id="s10s5crd"]:hover {
  background: #fff !important;
}
[data-id="s10s1crd"]::after,[data-id="s10s2crd"]::after,[data-id="s10s3crd"]::after,[data-id="s10s4crd"]::after,[data-id="s10s5crd"]::after {
  content: "";
  position: absolute;
  top: 22px; right: 22px;
  width: 8px; height: 8px;
  background: #fdb816;
  transform: rotate(45deg);
}
/* remove huge bottom padding from section */
[data-id="s10out"] {
  padding-bottom: 80px !important;
}

/* ── Testimonial row (Bubble Bubble) inside Stages section — never had responsive rules ── */
[data-id="f776f6c"] > .e-con-inner {
  display: grid !important;
  grid-template-columns: 200px 1fr 1fr !important;
  gap: 32px !important;
  align-items: center !important;
  flex-direction: unset !important;
}
[data-id="f776f6c"] {
  margin: 48px 0 !important;
}
[data-id="322868f"] img {
  width: 100% !important;
  height: auto !important;
  border-radius: var(--r-lg);
  display: block;
}
[data-id="34c99c1"], [data-id="90ceba3"] {
  width: auto !important;
  min-width: 0 !important;
}

/* ================================================================
   Mobile — 768px and below
   ================================================================ */
@media (max-width: 768px) {

  /* ── Mission: collapse 2-col grid → single column ── */
  [data-id="m9inner"] {
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
  }
  [data-id="m9eybrw"],
  [data-id="m9head1"],
  [data-id="m9body1"] {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  /* ── Stages header: collapse ── */
  [data-id="s10irw"] {
    flex-direction: column !important;
    gap: 20px !important;
  }
  [data-id="s10ilf"] {
    flex: unset !important;
    width: auto !important;
  }

  /* ── Stages grid: 1 col on phone ── */
  [data-id="s10grd"] {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
  }
  [data-id="s10s1crd"],
  [data-id="s10s2crd"],
  [data-id="s10s3crd"],
  [data-id="s10s4crd"],
  [data-id="s10s5crd"] {
    grid-row: auto !important;
    grid-column: auto !important;
  }

  /* ── Testimonial row: stack photo above quote ── */
  [data-id="f776f6c"] > .e-con-inner {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  [data-id="f776f6c"] {
    margin: 32px 0 !important;
  }
  [data-id="322868f"] img {
    max-width: 220px !important;
  }

  /* ── Types strip: allow wrapping ── */
  [data-id="t8inner"] {
    flex-wrap: wrap !important;
    gap: 16px 32px !important;
  }

  /* ── Apply Band: single column + reduce inner padding ── */
  [data-id="ap17grid"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
  }
  [data-id="ap17band"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  [data-id="ap17right"] {
    justify-content: flex-start !important;
  }

  /* ── Apply Band (BRIC + Pathways): same mobile treatment as homepage ── */
  [data-id="bagrid"], [data-id="pwgrid"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
  }
  [data-id="baband"], [data-id="pwaband"] {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  [data-id="baright"], [data-id="pwright"] {
    justify-content: flex-start !important;
  }

  /* ── Grants header: single column ── */
  .sr-gr-head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 36px !important;
  }
  /* Grants cards: single column */
  .sr-gr-grid {
    grid-template-columns: 1fr !important;
  }

  /* ── Events header: single column ── */
  .sr-ev-head {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-bottom: 36px !important;
  }
  /* Events rows: collapse tag+RSVP below date+title */
  .sr-ev-row {
    grid-template-columns: 58px 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px 16px !important;
    padding: 16px 18px !important;
  }
  .sr-ev-tag-col {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .sr-ev-rsvp {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
  }

  /* Outer horizontal padding for HTML widget sections */
  .sr-gr-wrap,
  .sr-ev-wrap {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
}

/* ── Grants + Events heading widget overrides (same pattern as Mission/Incubator) ── */
.sr-gr-title .elementor-heading-title {
  font-size: clamp(36px, 4.5vw, 64px) !important;
  font-weight: 800 !important;
  color: #0e1d3e !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}
.sr-gr-title .elementor-heading-title em { color: #0c4ba0; font-style: italic; }

.sr-ev-title .elementor-heading-title {
  font-size: clamp(36px, 4.5vw, 64px) !important;
  font-weight: 800 !important;
  color: #0e1d3e !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
}
.sr-ev-title .elementor-heading-title em { color: #0c4ba0; font-style: italic; }

/* ── Grants section: Elementor container grid overrides ── */
.sr-gr-head.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
  align-items: end !important;
  flex-direction: unset !important;
  margin-bottom: 64px;
}
.sr-gr-grid.e-con {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 20px !important;
  flex-direction: unset !important;
}
@media (max-width: 768px) {
  .sr-gr-head.e-con { grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 36px; }
  .sr-gr-grid.e-con { grid-template-columns: 1fr !important; }
}
/* Eyebrow dot via pseudo-element */
.sr-gr-eyebrow .elementor-text-editor {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.sr-gr-eyebrow .elementor-text-editor::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: #fdb816;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-gr-eyebrow .elementor-text-editor p { margin: 0; }
/* Tag dot via pseudo-element (already in CSS as ::before on .sr-gr-tag) */
.sr-gr-tag.elementor-widget { display: flex; align-items: center; gap: 6px; }
/* Amount heading reset */
.sr-gr-amount .elementor-heading-title {
  font-size: 30px !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  line-height: 1 !important;
}
/* Name heading reset */
.sr-gr-name .elementor-heading-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin: 2px 0 0 !important;
}
/* CTA button → plain link style */
.sr-gr-cta .elementor-button-wrapper { display: inline; }
.sr-gr-cta .elementor-button {
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  color: #0c4ba0 !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
  box-shadow: none !important;
}
.sr-gr-cta .elementor-button:hover { color: #10286e !important; background: none !important; }
.sr-gr-card--feature .sr-gr-cta .elementor-button { color: #fdb816 !important; }
.sr-gr-card--feature .sr-gr-cta .elementor-button:hover { color: #ffffff !important; }

/* ── Events section: Elementor container grid overrides ── */
.sr-ev-head.e-con {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 56px !important;
  align-items: end !important;
  flex-direction: unset !important;
  margin-bottom: 64px;
}
.sr-ev-row.e-con {
  display: grid !important;
  grid-template-columns: 58px 1fr auto auto !important;
  gap: 24px !important;
  align-items: center !important;
  flex-direction: unset !important;
  padding: 20px 26px !important;
  border-bottom: 1px solid rgba(12,75,160,0.09) !important;
  transition: background 0.15s;
}
.sr-ev-row.e-con:hover { background: #f3f6fb !important; }
.sr-ev-row--last.e-con { border-bottom: none !important; }
@media (max-width: 768px) {
  .sr-ev-head.e-con { grid-template-columns: 1fr !important; gap: 20px !important; margin-bottom: 36px; }
  .sr-ev-row.e-con {
    grid-template-columns: 58px 1fr !important;
    grid-template-rows: auto auto auto !important;
    gap: 8px 16px !important;
    padding: 16px 18px !important;
  }
  .sr-ev-row.e-con .sr-ev-tag-col { grid-column: 2; grid-row: 2; }
  .sr-ev-row.e-con .sr-ev-rsvp-wrap { grid-column: 1 / -1; grid-row: 3; }
}
/* Eyebrow dot */
.sr-ev-eyebrow .elementor-text-editor {
  display: flex !important;
  align-items: center;
  gap: 8px;
  margin: 0;
}
.sr-ev-eyebrow .elementor-text-editor::before {
  content: '';
  display: inline-block;
  width: 8px; height: 8px;
  background: #0c4ba0;
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-ev-eyebrow .elementor-text-editor p { margin: 0; }
/* Event date container */
.sr-ev-date.e-con {
  flex-direction: column !important;
  align-items: center !important;
  background: #0c4ba0 !important;
  border-radius: 4px !important;
  padding: 8px 4px 6px !important;
  text-align: center;
  gap: 0 !important;
}
/* Month + day text resets */
.sr-ev-mon .elementor-text-editor p,
.sr-ev-day .elementor-text-editor p { margin: 0; text-align: center; }
/* Tag span override */
.sr-ev-tag.elementor-widget-text-editor .elementor-text-editor { display: inline-block; }
/* RSVP button override */
.sr-ev-rsvp-wrap .elementor-button {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0c4ba0 !important;
  background: transparent !important;
  border: 1.5px solid rgba(12,75,160,0.3) !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  transition: background 0.15s, color 0.15s, border-color 0.15s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.sr-ev-rsvp-wrap .elementor-button:hover {
  background: #0c4ba0 !important;
  color: #fff !important;
  border-color: #0c4ba0 !important;
}
/* See all button */
.sr-ev-all-wrap { text-align: center; margin-top: 32px; }
.sr-ev-all-wrap .elementor-button {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #0c4ba0 !important;
  background: transparent !important;
  border: 1.5px solid rgba(12,75,160,0.25) !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  transition: border-color 0.15s, background 0.15s !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.sr-ev-all-wrap .elementor-button:hover {
  border-color: #0c4ba0 !important;
  background: rgba(12,75,160,0.04) !important;
  color: #0c4ba0 !important;
}

/* ── Events rows: data-id grid overrides (beats Elementor flex inline styles) ── */
[data-id="ev14r1"],[data-id="ev14r2"],[data-id="ev14r3"],[data-id="ev14r4"] {
  display: grid !important;
  grid-template-columns: 58px 1fr auto auto !important;
  gap: 24px !important;
  align-items: center !important;
  flex-direction: unset !important;
  padding: 20px 26px !important;
  border-bottom: 1px solid rgba(12,75,160,0.09) !important;
  transition: background 0.15s;
}
[data-id="ev14r1"]:hover,[data-id="ev14r2"]:hover,[data-id="ev14r3"]:hover,[data-id="ev14r4"]:hover { background: #f3f6fb !important; }
[data-id="ev14r4"] { border-bottom: none !important; }

/* Date block: fixed 58px, no grow */
[data-id="ev14r1dt"],[data-id="ev14r2dt"],[data-id="ev14r3dt"],[data-id="ev14r4dt"] {
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  flex: 0 0 58px !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  padding: 8px 4px 6px !important;
}

/* Info block: allow grow */
[data-id="ev14r1inf"],[data-id="ev14r2inf"],[data-id="ev14r3inf"],[data-id="ev14r4inf"] {
  flex: 1 !important;
  min-width: 0 !important;
  flex-direction: column !important;
  gap: 0 !important;
  align-items: flex-start !important;
}

/* Tag col and RSVP: no grow */
[data-id="ev14r1tgc"],[data-id="ev14r2tgc"],[data-id="ev14r3tgc"],[data-id="ev14r4tgc"] {
  flex: 0 0 auto !important;
  flex-direction: row !important;
  align-items: center !important;
}

/* stages: prevent empty implicit rows */
[data-id="s10grd"] {
  align-content: start !important;
  grid-auto-rows: auto !important;
  height: auto !important;
  min-height: 0 !important;
  grid-template-rows: auto !important;
}

/* explicit grid placement - desktop only (mobile uses auto flow) */
@media (min-width: 1025px) {
  [data-id="s10s1crd"] { grid-row: 1 !important; grid-column: 1 !important; }
  [data-id="s10s2crd"] { grid-row: 1 !important; grid-column: 2 !important; }
  [data-id="s10s3crd"] { grid-row: 1 !important; grid-column: 3 !important; }
  [data-id="s10s4crd"] { grid-row: 1 !important; grid-column: 4 !important; }
  [data-id="s10s5crd"] { grid-row: 1 !important; grid-column: 5 !important; }
}
/* ── Incubator: native Elementor widget styles (replaces HTML widget) ── */

/* Inner max-width wrapper */
.sr-inc-inner { display: flex; flex-direction: column; }

/* Two-column flex row */
[data-id="in15cols"] { flex-direction: row !important; gap: 56px; align-items: flex-start; width: 100%; }
.sr-inc-lcol { flex: 0 0 220px !important; }
[data-id="in15rcol"] { flex: 1 !important; min-width: 0; }
@media (max-width: 800px) {
  [data-id="in15cols"] { flex-direction: column !important; gap: 24px; }
  .sr-inc-lcol { flex: unset !important; width: 100% !important; }
}

/* Eyebrow via ::before (replaces sr-inc-dot span) */
.sr-inc-eyebrow::before {
  content: '';
  display: inline-block;
  width: 8px;
  height: 8px;
  background: var(--accent);
  border-radius: 50%;
  flex-shrink: 0;
}
.sr-inc-eyebrow p { margin: 0; display: flex; align-items: center; gap: 8px; }

/* Heading widget: cascade sr-inc-headline styles to inner title element */
.sr-inc-headline .elementor-heading-title {
  font-family: var(--font-sans);
  font-size: clamp(34px, 4.5vw, 60px);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.03;
  color: #fff;
  margin: 0;
  padding: 0;
}
.sr-inc-headline .elementor-heading-title em { font-style: italic; color: var(--accent); }

/* Body text widget */
.sr-inc-body.elementor-widget-text-editor { margin-top: 24px; }
.sr-inc-body p {
  font-size: 19px;
  color: rgba(255,255,255,0.82);
  line-height: 1.65;
  margin: 0;
}

/* Features: Elementor Icon List widget */
.sr-inc-features.elementor-widget-icon-list { margin-top: 32px; }
.sr-inc-features .elementor-icon-list-items {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px 32px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sr-inc-features .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 12px; }
.sr-inc-features .elementor-icon-list-icon { flex-shrink: 0; margin-top: 5px; line-height: 1; }
.sr-inc-features .elementor-icon-list-icon i { font-size: 8px !important; color: var(--accent) !important; }
.sr-inc-features .elementor-icon-list-text {
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: rgba(255,255,255,0.88);
  line-height: 1.5;
}
@media (max-width: 640px) {
  .sr-inc-features .elementor-icon-list-items { grid-template-columns: 1fr; }
}

/* CTA buttons: Elementor Button widget */
.sr-inc-btns { margin-top: 36px !important; }
.sr-inc-btn-primary-wrap .elementor-button,
.sr-inc-btn-ghost-wrap .elementor-button {
  font-family: var(--font-sans) !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 12px 22px !important;
  border-radius: 2px !important;
  text-decoration: none;
  display: inline-block;
  transition: opacity 0.18s, background 0.18s, border-color 0.18s;
}
.sr-inc-btn-primary-wrap .elementor-button {
  background: var(--accent) !important;
  color: #0e1d3e !important;
  border: none !important;
}
.sr-inc-btn-primary-wrap .elementor-button:hover { opacity: 0.9; }
.sr-inc-btn-ghost-wrap .elementor-button {
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.3) !important;
}
.sr-inc-btn-ghost-wrap .elementor-button:hover {
  border-color: rgba(255,255,255,0.6) !important;
  background: rgba(255,255,255,0.07) !important;
  color: #fff !important;
}


/* ── Pillars (v3 design sync — static, always-visible content) ── */
.sr-pillar-card {
  position: relative;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.sr-pillar-card:hover {
  border-color: #0c4ba0 !important;
  box-shadow: 0 6px 24px rgba(12,75,160,.10), 0 16px 48px rgba(12,75,160,.07);
  transform: translateY(-2px);
}
.sr-pillar-card::after {
  content: "";
  position: absolute;
  top: 24px; right: 24px;
  width: 8px; height: 8px;
  background: #fdb816;
  transform: rotate(45deg);
}
.sr-pillar-body-divider {
  border-top: 1px solid rgba(12,75,160,0.09);
}

/* Pathways to Business Ownership — checklist icon lists */
.sr-pw-checklist .elementor-icon-list-items {
  display: flex !important;
  flex-direction: column;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.sr-pw-checklist .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 12px; }
.sr-pw-checklist .elementor-icon-list-icon { flex-shrink: 0; margin-top: 5px; line-height: 1; }
.sr-pw-checklist .elementor-icon-list-icon i { font-size: 7px !important; color: #fdb816 !important; }
.sr-pw-checklist .elementor-icon-list-text {
  font-family: var(--font-sans);
  font-size: 14.5px;
  color: #0e1d3e;
  line-height: 1.5;
}

/* ── Fix: Elementor 4.1.5 CSS regen drops the 2-col grid override on the blue "apply" CTA bands, falling back to its 3x2 default and leaving huge empty space ── */
.elementor-16461 .elementor-element.elementor-element-ap17grid,
.elementor-88713 .elementor-element.elementor-element-bagrid,
.elementor-88715 .elementor-element.elementor-element-pwgrid {
  --e-con-grid-template-columns: 1.4fr 1fr !important;
  --e-con-grid-template-rows: repeat(1, 1fr) !important;
  align-items: end !important;
}

/* ── Stages grid (s10grd): force single column on phone — child theme's own
   .elementor-element-s10grd override was losing to Elementor's per-post
   custom-property rule (.elementor-16461 .elementor-element.elementor-element-s10grd),
   same specificity issue as the CTA bands above ── */
@media (max-width: 767px) {
  .elementor-16461 .elementor-element.elementor-element-s10grd {
    --e-con-grid-template-columns: 1fr !important;
    --e-con-grid-template-rows: none !important;
  }
}

/* ── Program Graduates carousel — cap logo height without cropping ── */
#sr-grad-carousel .elementor-image-carousel-wrapper img {
  max-height: 90px;
  width: auto;
  height: auto;
}

/* ================================================================
   Pathways to Business Ownership (88715) & BRIC Actuator (88713)
   Mobile — 768px and below
   These pages were built without responsive breakpoints; rows built
   as fixed-width label/sidebar + content (the same pattern as the
   homepage's Stages section) never collapsed on phones/tablets.
   ================================================================ */
@media (max-width: 768px) {

  /* ── Hero 2-col (photo + copy) ── */
  [data-id="pwh2col"],
  [data-id="bh2col"] {
    flex-direction: column !important;
    gap: 32px !important;
  }
  [data-id="pwhlft"], [data-id="pwhrgt"],
  [data-id="bhlft"], [data-id="bhrgt"] {
    width: 100% !important;
    flex: unset !important;
  }

  /* ── Eyebrow/label + heading rows (section headers) ── */
  [data-id="pw1"], [data-id="pw3hd"], [data-id="pw4hd"], [data-id="pw5hd"], [data-id="pw6row"],
  [data-id="bp1"], [data-id="bchd"], [data-id="bbhd"], [data-id="bwrow"], [data-id="bcohd"], [data-id="bfqhd"] {
    flex-direction: column !important;
    gap: 20px !important;
  }
  [data-id="pw1ec"], [data-id="bp1ec"],
  [data-id="bbhdlc"] {
    width: auto !important;
    flex: unset !important;
  }
  [data-id="pw6lft"] {
    width: 100% !important;
    flex: unset !important;
  }
  [data-id="pw6rgt"] {
    flex-direction: column !important;
    gap: 24px !important;
  }
  [data-id="pw5grd"] {
    flex-direction: column !important;
    gap: 24px !important;
  }
  [data-id="bwlft"] {
    width: 100% !important;
    flex: unset !important;
  }
  [data-id="bwstats"] {
    flex-direction: column !important;
    gap: 16px !important;
  }

  /* ── Eligibility list rows (label col + content col), Pathways ── */
  [data-id="pw3r1"], [data-id="pw3r2"], [data-id="pw3r3"], [data-id="pw3r4"],
  [data-id="pw3r5"], [data-id="pw3r6"], [data-id="pw3r7"] {
    flex-direction: column !important;
    gap: 12px !important;
  }
  [data-id="pw3r1lc"], [data-id="pw3r2lc"], [data-id="pw3r3lc"], [data-id="pw3r4lc"],
  [data-id="pw3r5lc"], [data-id="pw3r6lc"], [data-id="pw3r7lc"] {
    width: auto !important;
    flex: unset !important;
  }

  /* ── "What we look for" rows (number col + content col), Pathways ── */
  [data-id="pw4w1"], [data-id="pw4w2"], [data-id="pw4w3"],
  [data-id="pw4w4"], [data-id="pw4w5"], [data-id="pw4w6"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  [data-id="pw4w1n"], [data-id="pw4w2n"], [data-id="pw4w3n"],
  [data-id="pw4w4n"], [data-id="pw4w5n"], [data-id="pw4w6n"] {
    width: auto !important;
    flex: unset !important;
  }

  /* ── "What we look for" rows (number col + content col), BRIC ── */
  [data-id="bcw1"], [data-id="bcw2"], [data-id="bcw3"], [data-id="bcw4"], [data-id="bcw5"],
  [data-id="bcw6"], [data-id="bcw7"], [data-id="bcw8"], [data-id="bcw9"], [data-id="bcw10"] {
    flex-direction: column !important;
    gap: 10px !important;
  }
  [data-id="bcw1n"], [data-id="bcw2n"], [data-id="bcw3n"], [data-id="bcw4n"], [data-id="bcw5n"],
  [data-id="bcw6n"], [data-id="bcw7n"], [data-id="bcw8n"], [data-id="bcw9n"], [data-id="bcw10n"] {
    width: auto !important;
    flex: unset !important;
  }

  /* ── Grid sections: collapse to single column ── */
  [data-id="pw2grd"],
  [data-id="bp2grd"],
  [data-id="bbgrd"],
  [data-id="bcogrd"] {
    grid-template-columns: 1fr !important;
  }
}
