﻿/* ==========================================================================
   Parusha Foundation â€” Global Stylesheet
   Opportunity for Every Student
   --------------------------------------------------------------------------
   Contents
   1. Design tokens
   2. Base / reset
   3. Utilities & buttons
   4. Site header
      4a. Utility strip
      4b. Main bar + logo
      4c. Navigation + "Our Work" sub-menu
      4d. Actions (search, CTA, menu button)
      4e. Search panel
      4f. Responsive â€” tighter laptop, then the mobile drawer
   5. Site footer
   6. Homepage sections
   7. Our Story page
   8. Our Impact page
   9. Education & STEM page
  10. Student Well-Being page
  11. Reduced motion / print
   ========================================================================== */

/* ==========================================================================
   1. DESIGN TOKENS
   Brand blues sampled from the logo artwork; neutrals warmed slightly so the
   site reads as paper-and-ink rather than corporate grey.
   ========================================================================== */
:root {
  /* --- Brand blues --- */
  --navy-900: #01275C;
  --navy-800: #01367A;   /* footer â€” matches the reversed logo file */
  --navy-700: #003993;   /* wordmark blue */
  --blue-600: #0A4CC4;   /* action blue (AA contrast on white) */
  --blue-500: #0084FE;   /* accent blue from the icon mark */
  --blue-400: #0094FE;

  /* --- Warm neutrals --- */
  --paper:      #FAF8F5;  /* utility strip, quiet section grounds */
  --paper-line: #EDE7DF;  /* hairline on warm grounds */
  --ink:        #23262C;  /* body copy */
  --ink-soft:   #5C6270;  /* secondary copy */
  --ink-nav:    #343A45;  /* navigation â€” quieter than brand blue */
  --line:       #E6E8EC;  /* hairline on white */
  --surface:    #F4F7FC;  /* cool tint, used sparingly */
  --white:      #FFFFFF;

  /* --- Typography --- */
  --font-heading: "Montserrat", "Segoe UI", Arial, sans-serif;
  --font-body:    "Source Sans 3", "Segoe UI", Arial, sans-serif;

  --fs-nav:   clamp(0.875rem, 0.95vw, 0.95rem);
  --fs-body:  1.0625rem;
  --fs-small: 0.875rem;

  /* --- Layout --- */
  --container: 1240px;
  --container-wide: 1400px;
  --gutter: 20px;
  --radius: 9px;
  --radius-lg: 14px;

  /* Header band heights */
  --strip-h:    36px;
  --bar-h:     112px;
  --bar-h-sm:   76px;

  --shadow-sm: 0 1px 2px rgba(35, 38, 44, .06);
  --shadow-md: 0 6px 22px rgba(35, 38, 44, .10);
  --shadow-lg: 0 18px 44px rgba(35, 38, 44, .14);

  --ease: cubic-bezier(.4, 0, .2, 1);
}

/* ==========================================================================
   2. BASE
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; overflow-x: clip; }

body {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--fs-body);
  line-height: 1.68;
  color: var(--ink);
  background: var(--white);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-heading);
  color: var(--navy-700);
  line-height: 1.22;
  margin: 0 0 .5em;
  font-weight: 700;
  text-wrap: balance;
}

a { color: var(--blue-600); }
a:hover { color: var(--navy-700); }

img { max-width: 100%; height: auto; display: block; }

:focus-visible {
  outline: 3px solid var(--blue-500);
  outline-offset: 2px;
  border-radius: 4px;
}

/* ==========================================================================
   3. UTILITIES
   ========================================================================== */
.container {
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

.visually-hidden {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: absolute;
  left: 50%;
  top: -100px;
  transform: translateX(-50%);
  z-index: 200;
  background: var(--navy-700);
  color: #fff;
  padding: .75rem 1.25rem;
  border-radius: 0 0 var(--radius) var(--radius);
  font-family: var(--font-heading);
  font-weight: 600;
  text-decoration: none;
  transition: top .2s var(--ease);
}
.skip-link:focus { top: 0; color: #fff; }

/* Buttons â€” softer corners, sentence case, no shouty uppercase */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--font-body);
  font-size: .95rem;
  font-weight: 600;
  letter-spacing: .005em;
  text-decoration: none;
  padding: .85rem 1.9rem;
  border: 1.5px solid transparent;
  border-radius: 10px;
  cursor: pointer;
  transition: background-color .2s var(--ease), color .2s var(--ease),
              box-shadow .2s var(--ease), transform .2s var(--ease);
}
.btn--primary {
  background: var(--blue-600);
  color: #fff;
  box-shadow: 0 2px 10px rgba(10, 76, 196, .22);
}
.btn--primary:hover {
  background: var(--navy-700);
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(10, 76, 196, .28);
}
.btn--ghost { background: transparent; color: var(--navy-700); border-color: #C9D4E6; }
.btn--ghost:hover { background: var(--surface); color: var(--navy-700); border-color: var(--blue-500); }

/* ==========================================================================
   4. SITE HEADER
   Sticky with a negative offset equal to the utility strip, so the strip
   scrolls away and the main bar pins â€” then shrinks to its compact height.
   ========================================================================== */
.site-header {
  position: sticky;
  top: calc(-1 * var(--strip-h));
  z-index: 100;
  background: var(--white);
  transition: box-shadow .3s var(--ease), top .28s var(--ease);
}
.site-header.is-stuck {
  top: 0;
  box-shadow: var(--shadow-md);
}

.site-header .container { max-width: var(--container-wide); }

/* --------------------------------------------------------------------------
   4a. Utility strip
   -------------------------------------------------------------------------- */
.utility-strip {
  background: var(--blue-600);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
  color: #fff;
}
.utility-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--strip-h);
}

.utility-line {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .55rem;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.utility-line .dot { color: rgba(255, 255, 255, .5); font-size: .7rem; }

.utility-social {
  display: flex;
  align-items: center;
  gap: .1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.utility-social a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px; height: 28px;
  border-radius: 50%;
  color: #fff;
  transition: color .2s var(--ease), background-color .2s var(--ease);
}
.utility-social a:hover { color: #fff; background: rgba(255, 255, 255, .18); }
.utility-social svg { width: 14px; height: 14px; fill: currentColor; }

/* --------------------------------------------------------------------------
   4b. Main bar + logo
   -------------------------------------------------------------------------- */
.main-bar { background: var(--white); border-bottom: 1px solid var(--line); }
.site-header.is-stuck .main-bar { border-bottom-color: transparent; }

.main-bar-inner {
  display: flex;
  align-items: center;
  gap: 2rem;
  min-height: var(--bar-h);
  transition: min-height .28s var(--ease);
}
.site-header.is-stuck .main-bar-inner { min-height: var(--bar-h-sm); }

.site-logo { display: block; flex: 0 0 auto; line-height: 0; }
.site-logo img { width: auto; transition: height .28s var(--ease); }
.site-logo .logo-primary { height: 50px; }
.site-logo .logo-compact { display: none; height: 36px; }

.site-header.is-stuck .logo-primary { display: none; }
.site-header.is-stuck .logo-compact { display: block; }

/* --------------------------------------------------------------------------
   4c. Navigation
   -------------------------------------------------------------------------- */
.primary-nav { flex: 1 1 auto; min-width: 0; }

.nav-list {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(.3rem, 1.1vw, 1.1rem);
  list-style: none;
  margin: 0;
  padding: 0;
}
.nav-list > li { position: relative; }

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  font-family: var(--font-body);
  font-size: var(--fs-nav);
  font-weight: 500;
  line-height: 1.3;
  color: var(--ink-nav);
  text-decoration: none;
  white-space: nowrap;
  padding: .55rem .2rem;
  border: 0;
  background: none;
  cursor: pointer;
  transition: color .2s var(--ease);
}
.nav-link:hover { color: var(--blue-600); }

/* Active page / active section â€” a short rule under the label */
.nav-link[aria-current="page"],
.nav-link[data-section-current="true"] { color: var(--navy-700); font-weight: 600; }

.nav-link[aria-current="page"]::after,
.nav-link[data-section-current="true"]::after {
  content: "";
  position: absolute;
  left: .2rem; right: .2rem;
  bottom: -.35rem;
  height: 2px;
  border-radius: 2px;
  background: var(--blue-500);
}
.nav-sub-toggle[data-section-current="true"]::after { right: 1.3rem; }

.nav-sub-toggle .chev { width: 14px; height: 14px; transition: transform .2s var(--ease); }
.nav-sub-toggle[aria-expanded="true"] { color: var(--blue-600); }
.nav-sub-toggle[aria-expanded="true"] .chev { transform: rotate(180deg); }

/* --- "Our Work" panel ---------------------------------------------------- */
.sub-menu {
  position: absolute;
  top: calc(100% + 1.1rem);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  z-index: 10;
  width: 320px;
  list-style: none;
  margin: 0;
  padding: .5rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-lg);
  opacity: 0;
  visibility: hidden;
  transition: opacity .18s var(--ease), transform .18s var(--ease), visibility .18s var(--ease);
}
.nav-sub-toggle[aria-expanded="true"] + .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
/* Bridges the gap so the pointer can travel from the tab into the panel */
.sub-menu::before {
  content: "";
  position: absolute;
  left: 0; right: 0; top: -1.1rem;
  height: 1.1rem;
}

.sub-menu a {
  display: block;
  padding: .7rem .85rem;
  border-radius: 8px;
  text-decoration: none;
  color: var(--ink);
  transition: background-color .18s var(--ease);
}
.sub-menu a:hover { background: var(--paper); }
.sub-menu a[aria-current="page"] { background: var(--surface); }

.sub-label {
  display: block;
  font-weight: 600;
  font-size: .95rem;
  color: var(--navy-700);
  line-height: 1.35;
}
.sub-blurb {
  display: block;
  font-size: .82rem;
  color: var(--ink-soft);
  line-height: 1.45;
  margin-top: .1rem;
}

/* Drawer-only items */
.drawer-cta, .drawer-email { display: none; }

/* --------------------------------------------------------------------------
   4d. Actions
   -------------------------------------------------------------------------- */
.main-bar-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex: 0 0 auto;
}

.header-cta { padding: .72rem 1.6rem; font-size: .9rem; }

.search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--ink-nav);
  cursor: pointer;
  transition: background-color .2s var(--ease), color .2s var(--ease);
}
.search-toggle:hover { background: var(--paper); color: var(--blue-600); }
.search-toggle svg { width: 19px; height: 19px; }

.nav-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px; height: 44px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--ink-nav);
  cursor: pointer;
}
.nav-toggle:hover { background: var(--paper); }
.nav-toggle-bars { position: relative; width: 22px; height: 2px; background: currentColor; border-radius: 2px; transition: background-color .2s var(--ease); }
.nav-toggle-bars::before,
.nav-toggle-bars::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px; height: 2px;
  background: currentColor;
  border-radius: 2px;
  transition: transform .25s var(--ease), top .25s var(--ease);
}
.nav-toggle-bars::before { top: -7px; }
.nav-toggle-bars::after  { top: 7px; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars { background: transparent; }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::before { top: 0; transform: rotate(45deg); }
.nav-toggle[aria-expanded="true"] .nav-toggle-bars::after  { top: 0; transform: rotate(-45deg); }

/* --------------------------------------------------------------------------
   4e. Search panel
   -------------------------------------------------------------------------- */
.header-search {
  display: none;
  border-bottom: 1px solid var(--line);
  background: var(--paper);
  padding: 1rem 0;
}
.header-search.is-open { display: block; }
.header-search form { display: flex; gap: .5rem; }
.header-search input[type="search"] {
  flex: 1 1 auto;
  font: inherit;
  font-size: 1rem;
  padding: .75rem 1rem;
  border: 1px solid var(--paper-line);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
}
.header-search input[type="search"]::placeholder { color: var(--ink-soft); }

/* --------------------------------------------------------------------------
   4f. Responsive
   -------------------------------------------------------------------------- */

/* Tighter through the laptop range */
@media (max-width: 1279px) {
  :root { --bar-h: 100px; }
  .main-bar-inner { gap: 1.25rem; }
  .site-logo .logo-primary { height: 46px; }
  .header-cta { padding: .68rem 1.25rem; font-size: .875rem; }
}

/* Drawer below 1100px â€” seven tabs plus the button need real room */
@media (max-width: 1099px) {
  :root { --bar-h: 72px; --bar-h-sm: 66px; }

  .utility-line { font-size: .66rem; letter-spacing: .08em; }

  .site-logo .logo-primary { display: none; }
  .site-logo .logo-compact { display: block; height: 34px; }

  .main-bar-inner { justify-content: space-between; }

  .main-bar-actions {
    position: relative;
    z-index: 101;
    margin-left: auto;
  }

  .header-cta { display: none; }        /* moves into the drawer */
  .nav-toggle { display: inline-flex !important; flex: 0 0 44px; }

  .primary-nav {
    position: fixed;
    top: var(--drawer-top, 108px);
    right: 0;
    bottom: 0;
    width: min(360px, 88vw);
    background: var(--white);
    border-left: 1px solid var(--line);
    box-shadow: var(--shadow-lg);
    overflow-y: auto;
    padding: .75rem var(--gutter) 2.5rem;
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .3s var(--ease), visibility .3s var(--ease);
  }
  .primary-nav.is-open { transform: translateX(0); visibility: visible; }

  .nav-list { flex-direction: column; align-items: stretch; gap: 0; }
  .nav-list > li { border-bottom: 1px solid var(--line); }

  .nav-link {
    width: 100%;
    justify-content: space-between;
    font-size: 1.02rem;
    padding: .95rem .25rem;
    text-align: left;
  }
  .nav-link[aria-current="page"]::after,
  .nav-link[data-section-current="true"]::after {
    left: .25rem; right: auto;
    width: 24px;
    bottom: .7rem;
  }
  .nav-sub-toggle[data-section-current="true"]::after { right: auto; }

  /* Sub-menu becomes an inline accordion */
  .sub-menu {
    position: static;
    transform: none;
    width: auto;
    border: 0;
    box-shadow: none;
    background: var(--paper);
    border-radius: 10px;
    padding: .35rem;
    margin: 0 0 .75rem;
    display: none;
    opacity: 1;
    visibility: visible;
  }
  .nav-sub-toggle[aria-expanded="true"] + .sub-menu { display: block; transform: none; }
  .sub-menu::before { display: none; }
  .sub-menu a:hover { background: var(--white); }

  .drawer-cta {
    display: inline-flex;
    justify-content: center;
    width: 100%;
    margin-top: 1.5rem;
  }
  .drawer-email {
    display: block;
    margin-top: 1.1rem;
    font-size: .9rem;
    color: var(--ink-soft);
    text-decoration: none;
  }
  .drawer-email:hover { color: var(--blue-600); }

  .nav-backdrop {
    position: fixed;
    inset: var(--drawer-top, 108px) 0 0 0;
    background: rgba(35, 38, 44, .42);
    opacity: 0;
    visibility: hidden;
    transition: opacity .3s var(--ease), visibility .3s var(--ease);
    z-index: 99;
  }
  .nav-backdrop.is-open { opacity: 1; visibility: visible; }

  body.nav-open { overflow: hidden; }
}

@media (max-width: 600px) {
  .utility-line { display: none; }       /* keeps the strip to social only */
  .utility-inner { justify-content: flex-end; }
  .site-logo .logo-compact { height: 31px; }
}

/* ==========================================================================
   5. SITE FOOTER
   ========================================================================== */
.site-footer {
  background: var(--navy-800);
  color: rgba(255, 255, 255, .88);
  font-size: var(--fs-small);
  padding-top: 0;
}

.footer-kicker {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .55);
  margin: 0 0 .65rem;
}

.footer-heading {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .5);
  margin: 0 0 1rem;
}

.footer-newsletter {
  background: var(--blue-600);
  color: #fff;
}

.footer-newsletter__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 1fr) auto;
  gap: 1.5rem 2.5rem;
  align-items: center;
  padding-top: 1.6rem;
  padding-bottom: 1.6rem;
}

.footer-newsletter .footer-kicker {
  color: rgba(255, 255, 255, .78);
  margin-bottom: .4rem;
}

.newsletter-heading {
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  color: #fff;
  margin: 0 0 .4rem;
  max-width: none;
  text-wrap: nowrap;
}

.newsletter-lead {
  margin: 0;
  color: rgba(255, 255, 255, .88);
  line-height: 1.5;
  max-width: 46ch;
  font-size: .95rem;
}

.newsletter-form { position: relative; }

.newsletter-row {
  display: flex;
  align-items: center;
  gap: 0;
  background: #fff;
  border-radius: 999px;
  padding: .28rem .28rem .28rem .2rem;
  max-width: 460px;
}

.newsletter-input {
  flex: 1 1 auto;
  min-width: 0;
  font: inherit;
  font-size: .95rem;
  padding: .7rem 1.15rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}
.newsletter-input::placeholder { color: var(--ink-soft); }
.newsletter-input:focus {
  outline: none;
}
.newsletter-row:focus-within {
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .45);
}
.newsletter-input.is-invalid { box-shadow: none; }

.newsletter-submit {
  flex: 0 0 auto;
  padding: .7rem 1.2rem;
  white-space: nowrap;
  border-radius: 999px;
  background: var(--blue-600);
  color: #fff;
  box-shadow: none;
}
.newsletter-submit:hover,
.newsletter-submit:focus-visible {
  background: var(--navy-800);
  color: #fff;
}
.newsletter-submit:disabled {
  opacity: .72;
  cursor: wait;
  transform: none;
  box-shadow: none;
}

.newsletter-hp {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.newsletter-status {
  min-height: 0;
  margin: .45rem 0 0;
  font-weight: 600;
  color: transparent;
}
.newsletter-status.is-success { color: #B8F0C8; }
.newsletter-status.is-error { color: #FFC9C9; }

.newsletter-deco {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.35rem, 1.8vw, 1.7rem);
  font-weight: 600;
  line-height: 1.15;
  color: rgba(255, 255, 255, .92);
  text-align: right;
  white-space: nowrap;
}

.footer-main {
  display: grid;
  grid-template-columns: minmax(200px, 1.35fr) repeat(3, minmax(0, 1fr));
  gap: 2.5rem 2.25rem;
  align-items: start;
  padding: 2.75rem 0 2.25rem;
}

.footer-logo { margin-bottom: .65rem; }
.footer-logo img { height: 62px; width: auto; }

.footer-brand-line {
  margin: 0 0 .55rem;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .88rem;
  color: rgba(255, 255, 255, .78);
}

.footer-tagline {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: .95rem;
  color: #fff;
  line-height: 1.5;
  margin: 0 0 1.1rem;
}

.footer-email {
  display: flex;
  align-items: center;
  gap: .45rem;
  width: fit-content;
  max-width: 100%;
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  margin-bottom: 1.15rem;
  word-break: break-word;
  transition: color .2s var(--ease);
}
.footer-email:hover,
.footer-email:focus-visible { color: #fff; text-decoration: underline; }
.footer-email svg { flex-shrink: 0; opacity: .8; }

.social-links {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: .6rem;
  margin: 0;
  padding: 0;
}
.social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, .12);
  transition: background-color .2s var(--ease), transform .2s var(--ease);
}
.social-links a:hover { background: var(--blue-500); transform: translateY(-2px); }
.social-links svg { width: 18px; height: 18px; fill: currentColor; }

.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.footer-col a {
  display: inline-block;
  color: rgba(255, 255, 255, .88);
  text-decoration: none;
  padding: .35rem 0;
  line-height: 1.4;
  transition: color .2s var(--ease);
}
.footer-col a:hover,
.footer-col a:focus-visible { color: #fff; text-decoration: underline; }

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, .16);
  padding: 1.15rem 0 1.6rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .75rem 1.5rem;
  font-size: .8125rem;
  color: rgba(255, 255, 255, .78);
}
.footer-legal { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .85rem; margin: 0; }
.footer-legal a { color: rgba(255, 255, 255, .78); text-decoration: none; }
.footer-legal a:hover { color: #fff; text-decoration: underline; }
.footer-legal .sep { color: rgba(255, 255, 255, .35); }
.footer-legal .legal-item { display: inline-flex; align-items: center; gap: .85rem; white-space: nowrap; }

.footer-regions { margin: 0; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.footer-regions .sep { color: rgba(255, 255, 255, .35); }

@media (max-width: 1099px) {
  .footer-newsletter__inner {
    grid-template-columns: 1fr auto;
    gap: 1.25rem 1.5rem;
  }
  .newsletter-form { grid-column: 1; }
  .newsletter-deco { grid-column: 2; grid-row: 1; align-self: center; }
  .newsletter-heading { max-width: none; text-wrap: pretty; }
  .footer-main {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.25rem 2rem;
    padding: 2.35rem 0 1.85rem;
  }
}

@media (max-width: 720px) {
  .site-footer { padding-top: 0; }
  .footer-newsletter__inner {
    grid-template-columns: 1fr;
    padding-top: 1.4rem;
    padding-bottom: 1.4rem;
  }
  .newsletter-form,
  .newsletter-deco { grid-column: 1; grid-row: auto; }
  .newsletter-deco { text-align: left; }
  .newsletter-heading { text-wrap: pretty; white-space: normal; }
  .newsletter-row { max-width: none; }
  .newsletter-submit { justify-content: center; }
  .footer-main {
    grid-template-columns: 1fr;
    gap: 1.75rem;
    padding: 2rem 0 1.5rem;
  }
  .footer-logo img { height: 52px; }
  .footer-col a { padding: .5rem 0; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .footer-legal .legal-item { white-space: normal; }
}

@media (max-width: 400px) {
  .footer-legal { gap: .4rem .6rem; }
}

/* ==========================================================================
   6. HOMEPAGE SECTIONS
   ========================================================================== */

/* --- Shared section helpers ----------------------------------------------- */
.section-kicker {
  display: block;
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-500);
  margin: 0 0 .75rem;
  text-align: center;
}
.section-kicker--light { color: rgba(255, 255, 255, .7); }

.section-heading {
  font-size: clamp(1.6rem, 3.2vw, 2.25rem);
  max-width: 50ch;
  margin-inline: auto;
  margin-bottom: 1.25rem;
  text-align: center;
}
.section-heading--light { color: #fff; }

.mission-content .section-heading,
.movement-content .section-heading,
.stories-content .section-heading,
.bio .section-heading,
.evolve-copy .section-heading {
  margin-inline: 0;
  text-align: left;
}
.mission-content .section-kicker,
.movement-content .section-kicker,
.stories-content .section-kicker,
.evolve-copy .section-kicker {
  text-align: left;
}

.section-cta-wrap { text-align: center; margin-top: 2.5rem; }

/* --------------------------------------------------------------------------
   6a. Hero slider
   -------------------------------------------------------------------------- */
.hero { position: relative; overflow: hidden; }

.hero-slider { position: relative; }

.hero-slides { position: relative; width: 100%; }

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .8s var(--ease);
}
.hero-slide.is-active {
  position: relative;
  opacity: 1;
}
.hero-slide img {
  width: 100%;
  height: clamp(420px, 56vw, 640px);
  object-fit: cover;
  display: block;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  z-index: 1;
  background: linear-gradient(
    90deg,
    rgba(1, 54, 122, .96) 0%,
    rgba(1, 54, 122, .9) 34%,
    rgba(1, 54, 122, .42) 58%,
    rgba(1, 54, 122, .12) 78%,
    transparent 100%
  );
}
.hero-overlay .container {
  position: relative;
  z-index: 1;
  width: 100%;
}
.hero-overlay .swb-hero__inner {
  align-items: center;
  width: 100%;
}
.hero .btn--primary {
  background: #fff;
  color: var(--navy-700);
  box-shadow: none;
  margin-top: 1.5rem;
}
.hero .btn--primary:hover {
  background: var(--surface);
  color: var(--navy-800);
}

.hero-kicker {
  font-family: var(--font-heading);
  font-weight: 700;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue-500);
  margin: 0 0 .75rem;
}

.hero-headline {
  font-size: clamp(2rem, 5.2vw, 3.5rem);
  color: var(--navy-800);
  margin-bottom: .5rem;
  max-width: 14ch;
  line-height: 1.12;
}

.hero-sub {
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  color: var(--ink-soft);
  margin: 0 0 .75rem;
  max-width: 36ch;
}

.hero-lead {
  font-size: 1.02rem;
  color: var(--ink-soft);
  line-height: 1.6;
  max-width: 48ch;
  margin: 0 0 1.75rem;
}

.hero-cta { font-size: 1rem; }

.hero-dots {
  position: absolute;
  bottom: 1.5rem;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: .6rem;
  z-index: 2;
}
.hero-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  border: 2px solid #fff;
  background: transparent;
  cursor: pointer;
  padding: 0;
  transition: background-color .25s var(--ease);
}
.hero-dot.is-active { background: #fff; }

@media (max-width: 767px) {
  .hero-overlay {
    background: linear-gradient(
      180deg,
      rgba(1, 54, 122, .92) 0%,
      rgba(1, 54, 122, .78) 62%,
      rgba(1, 54, 122, .45) 100%
    );
  }
  .hero-headline { max-width: none; }
  .hero-lead { margin-bottom: 1.35rem; }
  .hero-dots { bottom: 1rem; }
}

/* --------------------------------------------------------------------------
   6b. Four Focus Areas
   -------------------------------------------------------------------------- */
.focus-areas {
  padding: 5rem 0;
  background: var(--white);
  text-align: center;
}

.focus-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin-top: 3rem;
}

.focus-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  color: var(--ink);
  padding: 2rem 1.5rem;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: var(--white);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.focus-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
  border-color: var(--blue-500);
  color: var(--ink);
}

.focus-icon { width: 56px; height: 56px; margin-bottom: 1.25rem; }
.focus-icon svg { width: 100%; height: 100%; }

.focus-title {
  align-self: stretch;
  width: 100%;
  font-size: 1.05rem;
  color: var(--navy-700);
  text-align: center;
  margin-bottom: .65rem;
}

.focus-desc {
  align-self: stretch;
  width: 100%;
  font-size: .92rem;
  color: var(--ink-soft);
  line-height: 1.55;
  text-align: center;
  margin: 0;
}

@media (max-width: 991px) {
  .focus-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .focus-areas { padding: 3.5rem 0; }
  .focus-grid { grid-template-columns: 1fr; gap: 1.25rem; margin-top: 2rem; }
  .focus-card { padding: 1.5rem 1.25rem; }
}

/* --------------------------------------------------------------------------
   6c. Our Mission / Founder
   -------------------------------------------------------------------------- */
.mission {
  padding: 5rem 0;
  background: var(--paper);
}

.mission-grid {
  display: grid;
  grid-template-columns: 1fr minmax(260px, 400px);
  gap: 3.5rem;
  align-items: center;
}

.mission-body {
  font-size: 1.05rem;
  color: var(--ink-soft);
  line-height: 1.7;
  max-width: 54ch;
  margin: 0 0 .25rem;
}

.mission-photo {
  min-width: 0;
  margin: 0;
}
.mission-photo img {
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 30%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.mission-photo figcaption {
  margin-top: .85rem;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}
.mission-photo figcaption strong {
  font-family: var(--font-heading);
  color: var(--navy-700);
  font-size: .95rem;
}
.mission-photo figcaption span {
  color: var(--ink-soft);
  font-size: .85rem;
}

.mission-quote {
  margin: 1.5rem 0 2rem;
  padding: 0;
  border: 0;
}
.mission-quote p {
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1.8vw, 1.2rem);
  font-weight: 500;
  line-height: 1.65;
  color: var(--ink);
  font-style: italic;
  margin: 0 0 1rem;
}
.mission-quote footer { font-size: .9rem; }
.mission-quote cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.mission-quote cite strong { color: var(--navy-700); font-weight: 700; }
.mission-quote cite span { color: var(--ink-soft); font-size: .85rem; }

@media (max-width: 767px) {
  .mission { padding: 3.5rem 0; }
  .mission-grid { grid-template-columns: 1fr; gap: 2rem; }
  .mission-photo { max-width: 280px; margin: 0 auto; }
}

/* --------------------------------------------------------------------------
   6d. Our Impact preview
   -------------------------------------------------------------------------- */
.impact {
  padding: 4.5rem 0;
  background: var(--navy-800);
  color: #fff;
}

.impact-inner {
  display: grid;
  grid-template-columns: minmax(280px, .92fr) minmax(0, 1.2fr);
  gap: 2.75rem 3rem;
  align-items: stretch;
}

.impact-visual {
  margin: 0;
  min-width: 0;
}
.impact-visual img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: center 30%;
  border-radius: var(--radius-lg);
  display: block;
}

.impact-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.impact-content .section-heading {
  margin-inline: 0;
  text-align: left;
  margin-bottom: .85rem;
}
.impact-content .section-kicker { text-align: left; }

.impact-number {
  font-family: var(--font-heading);
  font-size: clamp(2.8rem, 5.5vw, 4rem);
  font-weight: 700;
  color: #fff;
  line-height: 1.02;
  display: block;
  margin: 0 0 .2rem;
  letter-spacing: -.02em;
}
.impact-number sup { font-size: .45em; vertical-align: super; }

.impact-support {
  margin: 0 0 1.35rem;
  font-size: 1.08rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, .86);
  max-width: none;
}

.impact-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  margin: 0 0 1.25rem;
}

.impact-fact {
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-lg);
  padding: 1.25rem 1.2rem 1.2rem;
}

.impact-note {
  font-size: .85rem;
  color: rgba(255, 255, 255, .58);
  margin: 0 0 1.5rem;
  font-style: italic;
}

.impact-cta {
  align-self: flex-start;
  color: #fff;
  border-color: rgba(255, 255, 255, .4);
}
.impact-cta:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border-color: rgba(255, 255, 255, .65);
}

.impact-fact-value {
  font-family: var(--font-heading);
  font-size: clamp(1.85rem, 2.8vw, 2.4rem);
  font-weight: 700;
  line-height: 1.05;
  color: #fff;
  display: block;
  margin-bottom: .3rem;
}
.impact-fact-value sup { font-size: .5em; vertical-align: super; }

.impact-fact-label {
  font-family: var(--font-heading);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .7);
  display: block;
  margin-bottom: .25rem;
}

.impact-fact-detail {
  font-size: .92rem;
  color: rgba(255, 255, 255, .88);
  line-height: 1.4;
}

@media (max-width: 900px) {
  .impact { padding: 3.25rem 0; }
  .impact-inner { grid-template-columns: 1fr; gap: 1.75rem; }
  .impact-visual img { min-height: 220px; max-height: 260px; }
}

@media (max-width: 520px) {
  .impact-facts { grid-template-columns: 1fr; }
  .impact-cta { width: 100%; justify-content: center; }
}

/* --------------------------------------------------------------------------
   6e. Movement preview
   -------------------------------------------------------------------------- */
.movement {
  padding: 5rem 0;
  background: var(--surface);
}

.movement-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 3.5rem;
  align-items: center;
}

.movement-content p {
  font-size: 1.05rem;
  color: var(--ink-soft);
  line-height: 1.7;
  max-width: 50ch;
  margin: 0 0 1.25rem;
}

.movement-pillars {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin: 0 0 1rem;
  padding: 0;
}
.movement-pillars li {
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--navy-700);
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .4rem .9rem;
}

.movement-concept {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.05rem;
  color: var(--navy-700);
  margin: 0 0 1.75rem !important;
}

.movement-visual {
  min-width: 0;
}
.movement-visual img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

@media (max-width: 767px) {
  .movement { padding: 3.5rem 0; }
  .movement-inner { grid-template-columns: 1fr; gap: 2rem; }
  .movement-visual { order: -1; }
}

/* --------------------------------------------------------------------------
   6f. Leaders Who Inspire preview
   -------------------------------------------------------------------------- */
.leaders-preview {
  padding: 5rem 0;
  background: var(--paper);
  text-align: center;
}

.leaders-intro {
  max-width: 56ch;
  margin: 0 auto 3rem;
  color: var(--ink-soft);
  font-size: 1.05rem;
}

.leaders-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}

.leader-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2.25rem 1.5rem 2rem;
  text-align: center;
}

.leader-photo-placeholder {
  width: 90px; height: 90px;
  border-radius: 50%;
  background: var(--surface);
  margin: 0 auto 1.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.leader-photo-placeholder svg { width: 56px; height: 56px; }

.leader-name {
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 1.02rem;
  color: var(--navy-700);
  margin: 0 0 .25rem;
}

.leader-role {
  font-size: .85rem;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 767px) {
  .leaders-preview { padding: 3.5rem 0; }
  .leaders-grid { grid-template-columns: 1fr; max-width: 340px; margin-inline: auto; }
}

/* --------------------------------------------------------------------------
   6g. Stories & Videos preview
   -------------------------------------------------------------------------- */
.stories-preview {
  padding: 5rem 0;
  background: var(--blue-600);
  color: #fff;
}

.stories-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5rem;
  align-items: center;
}

.stories-content p {
  font-size: 1.05rem;
  color: rgba(255, 255, 255, .82);
  line-height: 1.7;
  max-width: 44ch;
  margin: 0 0 2rem;
}

.stories-cta {
  color: #fff;
  border-color: rgba(255, 255, 255, .4);
}
.stories-cta:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border-color: rgba(255, 255, 255, .6);
}

.stories-placeholder {
  background: rgba(255, 255, 255, .08);
  border-radius: var(--radius-lg);
  padding: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 3 / 2;
}
.stories-placeholder svg { width: 100%; max-width: 180px; height: auto; }

.stories-visual img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

@media (max-width: 767px) {
  .stories-preview { padding: 3.5rem 0; }
  .stories-inner { grid-template-columns: 1fr; gap: 2rem; }
  .stories-visual { order: -1; }
}

/* --------------------------------------------------------------------------
   6h. Get Involved
   -------------------------------------------------------------------------- */
.get-involved {
  padding: 5rem 0;
  background: var(--white);
  text-align: center;
}

.involve-intro {
  max-width: 56ch;
  margin: 0 auto 3rem;
  color: var(--ink-soft);
  font-size: 1.05rem;
}

.involve-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.5rem;
  text-align: center;
}

.involve-card {
  padding: 1.5rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--white);
  transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.involve-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}

.involve-icon {
  width: 44px; height: 44px;
  background: var(--surface);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.involve-icon svg { width: 24px; height: 24px; }

.involve-card h3 {
  font-size: .95rem;
  margin-bottom: .5rem;
}

.involve-card p {
  font-size: .85rem;
  color: var(--ink-soft);
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 991px) {
  .involve-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .get-involved { padding: 3.5rem 0; }
  .involve-grid { grid-template-columns: repeat(2, 1fr); gap: 1rem; }
  .involve-card { padding: 1.25rem .75rem; }
}

/* ==========================================================================
   7. OUR STORY PAGE
   ========================================================================== */

.media-ph { margin: 0; }
.media-ph-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .65rem;
  min-height: 240px;
  padding: 1.5rem;
  border-radius: var(--radius-lg);
  border: 1.5px dashed #C9D4E6;
  background: var(--surface);
  color: var(--ink-soft);
  text-align: center;
}
.media-ph-frame svg {
  width: 42px;
  height: 42px;
  color: var(--blue-500);
}
.media-ph-frame span {
  font-size: .85rem;
  line-height: 1.45;
  max-width: 22ch;
}
.media-ph figcaption {
  margin-top: .75rem;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.media-ph figcaption strong {
  font-family: var(--font-heading);
  color: var(--navy-700);
  font-size: .95rem;
}
.media-ph figcaption span {
  color: var(--ink-soft);
  font-size: .85rem;
  line-height: 1.45;
}
.media-ph--portrait .media-ph-frame {
  min-height: 280px;
  aspect-ratio: 4 / 5;
}
.media-ph-frame--dark {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .28);
  color: rgba(255, 255, 255, .78);
  min-height: 280px;
}
.media-ph-frame--dark svg { color: rgba(255, 255, 255, .7); }

.page-hero {
  padding: 4rem 0 3rem;
  background: var(--paper);
}
.page-hero-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 3rem;
  align-items: center;
}
.page-hero-heading {
  font-size: clamp(2rem, 4.2vw, 3rem);
  color: var(--navy-800);
  max-width: 16ch;
  margin-bottom: .75rem;
  line-height: 1.12;
}
.page-hero-lead {
  font-size: 1.12rem;
  color: var(--ink-soft);
  line-height: 1.65;
  max-width: 42ch;
  margin: 0 0 1.75rem;
}
.page-hero-visual img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  object-position: center;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  display: block;
}

@media (max-width: 767px) {
  .page-hero { padding: 2.5rem 0 3rem; }
  .page-hero-inner { grid-template-columns: 1fr; gap: 1.75rem; }
  .page-hero-visual { order: -1; }
  .page-hero-visual img { min-height: 200px; max-height: 240px; }
  .page-hero-heading { max-width: none; }
}

.exist {
  padding: 4.5rem 0;
  background: var(--white);
}
.exist-inner {
  display: flex;
  flex-direction: column;
  gap: 2.75rem;
}

.exist-copy {
  text-align: center;
  width: 80%;
  max-width: 80%;
  margin-inline: auto;
}
.exist-copy .section-heading {
  max-width: none;
  margin-inline: auto;
  text-align: center;
}
.exist-copy > p {
  color: var(--ink-soft);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 auto 1.1rem;
}
.exist-copy .btn { margin-top: .5rem; }

.exist-founder {
  display: grid;
  grid-template-columns: minmax(120px, 20%) minmax(0, 1fr);
  gap: 1.5rem 2rem;
  align-items: center;
  width: 100%;
  background: var(--navy-800);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.75rem 1.6rem;
}

.exist-photo {
  min-width: 0;
  width: 100%;
  max-width: 220px;
  margin: 0;
}
.exist-photo img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 8%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  display: block;
  background: #EAF0F8;
}

.exist-quote {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}
.exist-quote p {
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.65;
  color: #fff;
  margin: 0 0 1rem;
}
.exist-quote footer { font-size: .9rem; }
.exist-quote cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: .2rem;
}
.exist-quote cite strong {
  font-family: var(--font-heading);
  color: #fff;
  font-weight: 700;
  font-size: 1.08rem;
}
.exist-quote cite span {
  color: var(--blue-400);
  font-size: .88rem;
  font-weight: 600;
}

@media (max-width: 767px) {
  .exist { padding: 3.5rem 0; }
  .exist-copy { width: 100%; max-width: none; }
  .exist-copy .section-heading { max-width: none; }
  .exist-founder {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: 1.25rem;
    padding: 1.35rem 1.25rem 1.5rem;
  }
  .exist-photo { max-width: 180px; }
  .exist-quote cite { align-items: center; }
}

.bio {
  padding: 5rem 0;
  background: var(--paper);
}
.bio .section-heading { max-width: 28ch; }
.bio-sub {
  font-size: 1.15rem;
  color: var(--ink-soft);
  margin: -.5rem 0 2.25rem;
}
.bio-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, .8fr);
  gap: 3rem;
  align-items: start;
}
.bio-copy p {
  color: var(--ink);
  font-size: 1.04rem;
  line-height: 1.75;
  margin: 0 0 1.1rem;
}
.bio-photos {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media (max-width: 767px) {
  .bio { padding: 3.5rem 0; }
  .bio-grid { grid-template-columns: 1fr; gap: 2rem; }
  .bio-sub { margin-bottom: 1.5rem; }
}

.commitment {
  padding: 4.75rem 0;
  background: var(--navy-800);
  color: #fff;
  text-align: center;
}
.commitment-heading {
  font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  color: #fff;
  max-width: 18em;
  margin: 0 auto .9rem;
  line-height: 1.25;
  text-wrap: balance;
}
.commitment-support {
  margin: 0 auto;
  max-width: 40ch;
  font-size: 1.12rem;
  color: rgba(255, 255, 255, .8);
  line-height: 1.6;
}

@media (max-width: 767px) {
  .commitment { padding: 3.5rem 0; }
  .commitment-heading { max-width: none; }
}

.evolve {
  padding: 5rem 0;
  background: var(--white);
}
.evolve-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: 3.25rem;
  align-items: center;
}
.evolve-copy p {
  color: var(--ink-soft);
  font-size: 1.05rem;
  line-height: 1.7;
  margin: 0 0 1.1rem;
}
.evolve-copy .btn { margin-top: .65rem; }
.evolve-visual { margin: 0; }
.evolve-visual img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  display: block;
}

@media (max-width: 767px) {
  .evolve { padding: 3.5rem 0; }
  .evolve-inner { grid-template-columns: 1fr; gap: 2rem; }
  .evolve-visual { order: -1; }
}

.values {
  padding: 5rem 0;
  background: var(--paper);
  text-align: center;
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.35rem;
  margin-top: 2.5rem;
  text-align: left;
}
.value-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 1.6rem 1.35rem 1.5rem;
}
.value-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.value-icon svg { width: 28px; height: 28px; }
.value-card h3 {
  font-size: 1.02rem;
  margin-bottom: .5rem;
}
.value-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .92rem;
  line-height: 1.55;
}

@media (max-width: 991px) {
  .values-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .values { padding: 3.5rem 0; }
  .values-grid { grid-template-columns: 1fr; }
}

.story-close {
  padding: 5rem 0;
  background: var(--blue-600);
  color: #fff;
}
.story-close-inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr);
  gap: 2.75rem;
  align-items: center;
}
.story-close-copy .section-heading {
  margin-inline: 0;
  text-align: left;
  max-width: 18ch;
}
.story-close-copy .section-kicker { text-align: left; }
.story-close-copy p {
  font-size: 1.08rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, .82);
  max-width: 48ch;
  margin: 0 0 1.75rem;
}
.story-close-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem 1rem;
}
.story-close .btn--primary {
  background: #fff;
  color: var(--navy-700);
  box-shadow: 0 2px 10px rgba(1, 39, 92, .16);
}
.story-close .btn--primary:hover {
  background: var(--paper);
  color: var(--navy-900);
  box-shadow: 0 6px 18px rgba(1, 39, 92, .18);
}
.story-close-secondary {
  color: #fff;
  border-color: rgba(255, 255, 255, .4);
}
.story-close-secondary:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border-color: rgba(255, 255, 255, .65);
}
.story-close-ph { margin: 0; }
.story-close-ph .media-ph-frame { min-height: 260px; height: 100%; }

@media (max-width: 767px) {
  .story-close { padding: 3.5rem 0; }
  .story-close-inner { grid-template-columns: 1fr; }
  .story-close-copy .section-heading { max-width: none; }
  .story-close-actions .btn { width: 100%; justify-content: center; }
}

/* ==========================================================================
   8. OUR IMPACT PAGE
   ========================================================================== */

/* --- 7a. Hero ------------------------------------------------------------ */
.oi-hero {
  padding: 5rem 0 0;
  background: var(--white);
  text-align: center;
}
.oi-hero__eyebrow {
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
  margin: 0 0 .75rem;
}
.oi-hero__headline {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--navy-800);
  margin: 0 0 1.25rem;
}
.oi-hero__body {
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 720px;
  margin: 0 auto 2.5rem;
}
.oi-hero__body strong { color: var(--navy-700); }

.oi-hero__image {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.oi-hero__image-placeholder {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.oi-hero__image-placeholder svg { width: 100%; max-width: 400px; }

/* --- 7b. Impact at a Glance ---------------------------------------------- */
.oi-glance {
  padding: 4.6rem 0 3.6rem;
  background: #F4F8FD;
  text-align: center;
}

.oi-glance__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: 2.2rem;
}

.oi-glance__card {
  background: #fff;
  border-radius: 20px;
  padding: 1.7rem 1.15rem 1.5rem;
  text-align: center;
  box-shadow: 0 10px 26px rgba(1, 54, 122, .05);
}

.oi-glance__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0 auto .85rem;
  color: var(--blue-600);
}

.oi-glance__icon svg {
  width: 26px;
  height: 26px;
}

.oi-glance__card strong {
  display: block;
  margin-bottom: .4rem;
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.2vw, 1.85rem);
  color: var(--navy-800);
  line-height: 1.15;
}

.oi-glance__card > span:not(.oi-glance__icon) {
  display: block;
  margin-bottom: .7rem;
  font-family: var(--font-heading);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--navy-800);
}

.oi-glance__card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .88rem;
  line-height: 1.55;
}

@media (max-width: 991px) {
  .oi-glance__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .oi-glance { padding: 3.5rem 0; }
  .oi-glance__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* --- 7c. Contributions --------------------------------------------------- */
.oi-contributions {
  padding: 3.2rem 0 3.6rem;
  background: #fff;
}

.oi-contributions .container {
  max-width: var(--container);
  padding-inline: var(--gutter);
}

.oi-contributions__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 2rem;
  align-items: start;
}

.oi-contributions__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-self: center;
  width: 100%;
  max-width: 760px;
  min-width: 0;
  text-align: center;
}

.oi-contributions__copy .section-kicker,
.oi-contributions__copy .section-heading {
  margin-inline: auto;
  text-align: center;
}

.oi-contributions__copy .section-heading {
  max-width: none;
  margin-bottom: .55rem;
  font-size: 2.15rem;
  line-height: 1.12;
  text-wrap: unset;
}

.oi-contributions__copy > p {
  margin: 0;
  max-width: 64ch;
  color: var(--ink-soft);
  line-height: 1.6;
}

.oi-contributions__actions {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .75rem;
  margin-top: 0;
  padding-top: 1.15rem;
}

.oi-contributions__deco {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1.1;
  color: var(--navy-800);
}

.oi-contributions__deco::after {
  content: "";
  display: block;
  width: 2.1rem;
  height: 2px;
  margin: .25rem auto 0;
  background: #F5C518;
}

.oi-contributions__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
  justify-self: center;
  width: 100%;
  max-width: none;
}

.oi-contrib-card {
  min-width: 0;
  overflow: hidden;
  text-align: center;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(1, 54, 122, .07);
}

.oi-contrib-card img {
  width: 100%;
  height: 158px;
  object-fit: cover;
  display: block;
}

.oi-contrib-card > div {
  padding: .95rem .85rem 1.05rem;
}

.oi-contrib-card strong {
  display: block;
  margin-bottom: .35rem;
  font-family: var(--font-heading);
  font-size: 1.2rem;
  color: var(--navy-800);
}

.oi-contrib-card h3 {
  margin: 0 0 .15rem;
  font-size: .92rem;
  line-height: 1.3;
  color: var(--navy-800);
}

.oi-contrib-card span {
  display: block;
  margin-bottom: .5rem;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--blue-600);
  min-height: 1em;
}

.oi-contrib-card p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .82rem;
  line-height: 1.45;
}

@media (max-width: 1100px) {
  .oi-contributions__copy .section-heading {
    font-size: 2rem;
  }
}

@media (max-width: 480px) {
  .oi-contributions { padding: 3.5rem 0; }
  .oi-contributions__grid { grid-template-columns: minmax(0, 1fr); }
  .oi-contributions__copy .section-heading { font-size: 1.7rem; }
}

/* --- 7d. What Support Helped --------------------------------------------- */
.oi-outcomes {
  padding: 5rem 0;
  background: var(--surface);
}
.oi-outcomes__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.oi-outcome-card {
  text-align: center;
  padding: 1.5rem 1rem;
}
.oi-outcome-card__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
}
.oi-outcome-card__icon svg { width: 100%; height: 100%; }
.oi-outcome-card h3 {
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0 0 .5rem;
}
.oi-outcome-card p {
  font-size: .88rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 991px) {
  .oi-outcomes__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .oi-outcomes { padding: 3.5rem 0; }
  .oi-outcomes__grid { grid-template-columns: 1fr; gap: .5rem; }
}

/* --- 7e. Founder Quote --------------------------------------------------- */
.oi-quote {
  padding: 5rem 0;
  background: var(--white);
}
.oi-quote__block {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
  border: none;
  text-align: center;
}
.oi-quote__mark {
  width: 48px;
  height: auto;
  margin-bottom: 1rem;
}
.oi-quote__block p {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.6;
  color: var(--navy-800);
  margin: 0 0 1.5rem;
}
.oi-quote__block footer {
  font-size: .95rem;
}
.oi-quote__block cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .15rem;
}
.oi-quote__block cite strong {
  color: var(--navy-700);
  font-weight: 700;
}
.oi-quote__block cite span {
  color: var(--ink-soft);
  font-size: .85rem;
}

/* --- 7f. Where We Work --------------------------------------------------- */
.oi-where {
  padding: 5rem 0;
  background: var(--surface);
}
.oi-where__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.oi-where__content p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 1rem 0 0;
}
.oi-where__content p strong { color: var(--navy-700); }

.oi-where__map {
  background: var(--white);
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  padding: 1rem;
  display: flex;
  justify-content: center;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.oi-where__map img { width: 100%; height: auto; border-radius: calc(var(--radius-lg) - .5rem); }

@media (max-width: 768px) {
  .oi-where__inner { grid-template-columns: 1fr; gap: 2rem; }
  .oi-where__map { order: -1; }
}

/* --- 7g. Continued Commitment -------------------------------------------- */
.oi-commitment {
  padding: 5rem 0;
  background: var(--white);
}
.oi-commitment__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.oi-commitment__card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: box-shadow .25s var(--ease);
}
.oi-commitment__card:hover { box-shadow: var(--shadow-md); }
.oi-commitment__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
}
.oi-commitment__icon svg { width: 100%; height: 100%; }
.oi-commitment__card h3 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0 0 .5rem;
}
.oi-commitment__card p {
  font-size: .9rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 768px) {
  .oi-commitment__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* --- 7h. From Impact to a Movement (CTA) -------------------------------- */
.oi-movement {
  position: relative;
  padding: 2.7rem 0 2.85rem;
  min-height: 280px;
  color: #fff;
  text-align: left;
  overflow: hidden;
  background-color: #01367A;
  background-image: url("../images/mylife_long_commitment.webp");
  background-repeat: no-repeat;
  background-position: 82% 58%;
  background-size: cover;
}

.oi-movement::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(1, 28, 78, .72) 0%,
    rgba(1, 40, 100, .32) 34%,
    rgba(1, 54, 122, .06) 58%,
    transparent 100%
  );
}

.oi-movement .container {
  max-width: var(--container-wide);
}

.oi-movement__layout {
  position: relative;
  z-index: 1;
}

.oi-movement__copy {
  max-width: 46rem;
}

.oi-movement__eyebrow {
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
  margin: 0 0 .55rem;
}

.oi-movement__headline {
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  margin: 0 0 .7rem;
  color: #fff;
}

@media (min-width: 900px) {
  .oi-movement__headline {
    white-space: nowrap;
  }
}

.oi-movement__body {
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, .88);
  max-width: 58ch;
  margin: 0 0 1.2rem;
}

.oi-movement__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(1, 24, 70, .18);
}

.oi-movement__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
  transform: translateY(-1px);
}

.oi-movement__deco {
  position: absolute;
  top: .15rem;
  right: .4rem;
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.7rem, 2.4vw, 2.15rem);
  font-weight: 600;
  line-height: 1.05;
  color: #fff;
  text-align: right;
}

.oi-movement__deco::after {
  content: "";
  display: block;
  width: 3.2rem;
  height: 2px;
  margin: .35rem 0 0 auto;
  background: #F5C518;
}

@media (max-width: 720px) {
  .oi-movement {
    background-position: 70% center;
    padding: 2.6rem 0 2.8rem;
  }
  .oi-movement__deco {
    position: static;
    display: inline-block;
    margin: 1rem 0 0;
    text-align: left;
  }
  .oi-movement__deco::after {
    margin-left: 0;
  }
}

/* ==========================================================================
   9. EDUCATION & STEM PAGE
   ========================================================================== */

/* --- 9a. Hero ------------------------------------------------------------ */
.es-hero {
  padding: 5rem 0 0;
  background: var(--white);
  text-align: center;
}
.es-hero__eyebrow {
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
  margin: 0 0 .75rem;
}
.es-hero__headline {
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--navy-800);
  margin: 0 0 1.25rem;
}
.es-hero__body {
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 720px;
  margin: 0 auto 2.5rem;
}

.es-hero__image {
  max-width: 960px;
  margin: 0 auto;
  padding: 0 var(--gutter);
}
.es-hero__image img {
  width: 100%;
  height: clamp(220px, 32vw, 380px);
  object-fit: cover;
  object-position: center 40%;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}
.es-hero__image-placeholder {
  background: var(--surface);
  border-radius: var(--radius-lg);
  padding: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.es-hero__image-placeholder svg { width: 100%; max-width: 640px; }

/* --- 9b. Our Approach ---------------------------------------------------- */
.es-approach {
  padding: 4.2rem 0;
  background: #F4F7FC;
}

.es-approach__layout {
  display: grid;
  grid-template-columns: minmax(340px, .82fr) minmax(0, 1.18fr);
  gap: 2rem 2.2rem;
  align-items: center;
}

.es-approach__copy .section-kicker,
.es-approach__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.es-approach__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .75rem;
}

.es-approach__copy .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.es-approach__copy .section-heading {
  max-width: none;
  margin-bottom: .85rem;
  font-size: clamp(1.65rem, 2.3vw, 2.1rem);
  line-height: 1.15;
  text-wrap: unset;
}

@media (min-width: 901px) {
  .es-approach__copy .section-heading {
    white-space: nowrap;
  }
}

.es-approach__copy > p {
  margin: 0;
  max-width: 38ch;
  color: var(--ink-soft);
  line-height: 1.65;
}

.es-approach__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}

.es-approach__card {
  background: #fff;
  border-radius: 18px;
  padding: 1.55rem 1rem 1.45rem;
  text-align: center;
  box-shadow: 0 10px 24px rgba(1, 54, 122, .05);
}

.es-approach__icon {
  width: 40px;
  height: 40px;
  margin: 0 auto 1rem;
  color: var(--blue-600);
}

.es-approach__icon svg {
  width: 100%;
  height: 100%;
}

.es-approach__card h3 {
  font-family: var(--font-heading);
  font-size: .98rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0 0 .45rem;
  line-height: 1.3;
}

.es-approach__card p {
  font-size: .86rem;
  line-height: 1.5;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 1100px) {
  .es-approach__layout {
    grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
    gap: 1.5rem;
  }
}

@media (max-width: 900px) {
  .es-approach__layout { grid-template-columns: 1fr; }
  .es-approach__copy .section-heading { max-width: none; }
}

@media (max-width: 720px) {
  .es-approach { padding: 3.2rem 0; }
  .es-approach__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .es-approach__grid { grid-template-columns: 1fr; }
}

/* --- 9c. Initiatives (dark band) ----------------------------------------- */
.es-initiatives {
  position: relative;
  padding: 2.6rem 0 3.6rem;
  overflow: hidden;
  color: #fff;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 180' fill='none' stroke='rgba(255,255,255,.08)' stroke-width='1.6'%3E%3Ccircle cx='90' cy='118' r='22'/%3E%3Ccircle cx='90' cy='118' r='8'/%3E%3Cellipse cx='90' cy='118' rx='38' ry='14' transform='rotate(-28 90 118)'/%3E%3Cellipse cx='90' cy='118' rx='38' ry='14' transform='rotate(28 90 118)'/%3E%3Cpath d='M210 150l46-78 10 6-46 78z'/%3E%3Cpath d='M248 80l18-8 8 18'/%3E%3Cpath d='M390 86c0-16 12-28 26-28s26 12 26 28c0 14-10 22-16 28-4 4-6 8-6 14h-8c0-6-2-10-6-14-6-6-16-14-16-28z'/%3E%3Cpath d='M408 142h16'/%3E%3C/svg%3E")
      left 6% bottom -6px / min(92vw, 920px) auto no-repeat,
    #0A3B8F;
}

.es-initiatives__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr);
  gap: 2rem 2rem;
  align-items: start;
}

.es-initiatives__copy .section-kicker,
.es-initiatives__copy .section-heading {
  margin-inline: 0;
  text-align: left;
  color: #fff;
}

.es-initiatives__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .75rem;
  color: rgba(255, 255, 255, .78);
}

.es-initiatives__copy .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.es-initiatives__copy .section-heading {
  max-width: none;
  margin-bottom: .8rem;
  font-size: clamp(1.7rem, 2.5vw, 2.2rem);
  line-height: 1.15;
  text-wrap: unset;
}

@media (min-width: 901px) {
  .es-initiatives__copy .section-heading {
    white-space: nowrap;
  }
}

.es-initiatives__copy > p {
  margin: 0 0 1.25rem;
  max-width: 32ch;
  color: rgba(255, 255, 255, .84);
  line-height: 1.6;
}

.es-initiatives__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
}

.es-initiatives__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
  transform: translateY(-1px);
}

.es-initiatives__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem .75rem;
}

.es-initiative-card {
  text-align: center;
  padding: 1.35rem .85rem 1.3rem;
  background: rgba(255, 255, 255, .1);
  border-radius: 18px;
}

.es-initiative-card__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 1rem;
  color: #fff;
  background: rgba(255, 255, 255, .16);
  border-radius: 50%;
}

.es-initiative-card__icon svg {
  width: 28px;
  height: 28px;
}

.es-initiative-card h3 {
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .45rem;
  line-height: 1.3;
}

.es-initiative-card p {
  font-size: .84rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, .72);
  margin: 0;
}

.es-initiatives__deco {
  position: absolute;
  right: max(1.4rem, calc((100% - var(--container-wide)) / 2 + var(--gutter)));
  bottom: 1.1rem;
  z-index: 1;
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.35rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.1;
  color: #fff;
  text-align: right;
}

@media (max-width: 1100px) {
  .es-initiatives__layout {
    grid-template-columns: minmax(240px, .8fr) minmax(0, 1.2fr);
    gap: 1.5rem;
  }
}

@media (max-width: 900px) {
  .es-initiatives__layout { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
  .es-initiatives { padding: 2.2rem 0 3.2rem; }
  .es-initiatives__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.4rem 1rem; }
}

@media (max-width: 480px) {
  .es-initiatives__grid { grid-template-columns: 1fr; }
  .es-initiatives__deco { position: static; display: block; margin-top: 1.4rem; text-align: left; }
}

/* --- 9d. Beyond STEM ----------------------------------------------------- */
.es-beyond {
  position: relative;
  padding: 4.2rem 0;
  overflow: hidden;
  background: #fff;
}

.es-beyond::after {
  content: "";
  position: absolute;
  top: -2rem;
  right: -3rem;
  width: 220px;
  height: 220px;
  background: url("../images/logo/parusha-icon-mark.png") center / contain no-repeat;
  opacity: .05;
  pointer-events: none;
}

.es-beyond__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 2.4rem 3rem;
  align-items: center;
}

.es-beyond__visual {
  position: relative;
  margin: 0;
}

.es-beyond__visual img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 22px;
  display: block;
}

.es-beyond__note {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  width: 9.6rem;
  padding: 1rem .85rem .9rem;
  background: #fff;
  border-radius: 4px;
  box-shadow: 0 10px 24px rgba(1, 54, 122, .12);
  transform: rotate(-6deg);
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.15;
  color: var(--navy-800);
}

.es-beyond__copy .section-kicker,
.es-beyond__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.es-beyond__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .55rem;
}

.es-beyond__copy .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.es-beyond__copy .section-heading {
  max-width: none;
  margin-bottom: .75rem;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
}

.es-beyond__copy > p {
  margin: 0 0 1.15rem;
  max-width: 52ch;
  color: var(--ink-soft);
  line-height: 1.65;
}

.es-beyond__btn {
  background: var(--blue-600);
  color: #fff;
  border-radius: 999px;
}

.es-beyond__btn:hover {
  background: var(--navy-700);
  color: #fff;
}

.es-beyond__points {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.1rem 1.4rem;
  margin-top: 1.5rem;
}

.es-beyond__points article {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: .7rem;
  align-items: start;
}

.es-beyond__icon {
  width: 28px;
  height: 28px;
  color: var(--blue-600);
}

.es-beyond__icon svg {
  width: 100%;
  height: 100%;
}

.es-beyond__points h3 {
  margin: 0 0 .25rem;
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy-800);
}

.es-beyond__points p {
  margin: 0;
  font-size: .86rem;
  line-height: 1.5;
  color: var(--ink-soft);
}

@media (max-width: 900px) {
  .es-beyond__layout { grid-template-columns: 1fr; }
  .es-beyond__visual img { height: 280px; }
}

@media (max-width: 560px) {
  .es-beyond { padding: 3.2rem 0; }
  .es-beyond__points { grid-template-columns: 1fr; }
}

/* --- 9e. Founder Perspective (quote) ------------------------------------- */
.es-quote {
  padding: 5rem 0;
  background: var(--surface);
}
.es-quote__block {
  position: relative;
  max-width: 760px;
  margin: 0 auto;
  padding: 0;
  border: none;
  text-align: center;
}
.es-quote__mark {
  width: 48px;
  height: auto;
  margin-bottom: 1rem;
}
.es-quote__block p {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.6;
  color: var(--navy-800);
  margin: 0 0 1.5rem;
}
.es-quote__block footer {
  font-size: .95rem;
}
.es-quote__block cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .15rem;
}
.es-quote__block cite strong {
  color: var(--navy-700);
  font-weight: 700;
}
.es-quote__block cite span {
  color: var(--ink-soft);
  font-size: .85rem;
}

/* --- 9f. Our Commitment -------------------------------------------------- */
.es-commitment {
  padding: 5rem 0;
  background: var(--white);
}
.es-commitment__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
}
.es-commitment__card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 2rem 1.5rem;
  text-align: center;
  transition: box-shadow .25s var(--ease);
}
.es-commitment__card:hover { box-shadow: var(--shadow-md); }
.es-commitment__icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 1rem;
}
.es-commitment__icon svg { width: 100%; height: 100%; }
.es-commitment__card h3 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0 0 .5rem;
}
.es-commitment__card p {
  font-size: .9rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

@media (max-width: 991px) {
  .es-commitment__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .es-commitment { padding: 3.5rem 0; }
  .es-commitment__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* --- 9g. Closing Banner -------------------------------------------------- */
.es-closing {
  position: relative;
  padding: 2.7rem 0 2.85rem;
  min-height: 280px;
  color: #fff;
  overflow: hidden;
  background-color: #01367A;
  background-image: url("../images/mylife_long_commitment.webp");
  background-repeat: no-repeat;
  background-position: 82% 58%;
  background-size: cover;
}

/* Keep the Education & STEM closing artwork legible on wide screens. The
   source image is 3:1, so a little extra banner height prevents the people
   and the embedded "Stronger Together" message from being over-cropped. */
@media (min-width: 721px) {
  .page-education .es-closing {
    min-height: clamp(380px, 26vw, 500px);
    display: flex;
    align-items: center;
    background-position: center center;
  }
}

.es-closing::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(1, 28, 78, .72) 0%,
    rgba(1, 40, 100, .32) 34%,
    rgba(1, 54, 122, .06) 58%,
    transparent 100%
  );
}

.es-closing .container {
  max-width: var(--container-wide);
}

.es-closing__layout {
  position: relative;
  z-index: 1;
}

.es-closing__copy {
  max-width: 38rem;
}

.es-closing__copy .section-kicker,
.es-closing__copy .section-heading {
  margin-inline: 0;
  text-align: left;
  color: #fff;
}

.es-closing__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .55rem;
  color: rgba(255, 255, 255, .82);
}

.es-closing__copy .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.es-closing__copy .section-heading {
  max-width: none;
  margin-bottom: .7rem;
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
  line-height: 1.12;
  text-wrap: unset;
}

.es-closing__copy > p {
  margin: 0 0 1.2rem;
  max-width: 46ch;
  color: rgba(255, 255, 255, .88);
  line-height: 1.55;
}

.es-closing__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(1, 24, 70, .18);
}

.es-closing__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
  transform: translateY(-1px);
}

.es-closing__deco {
  position: absolute;
  top: .15rem;
  right: .4rem;
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.7rem, 2.4vw, 2.15rem);
  font-weight: 600;
  line-height: 1.05;
  color: #fff;
  text-align: right;
}

.es-closing__deco::after {
  content: "";
  display: block;
  width: 3.2rem;
  height: 2px;
  margin: .35rem 0 0 auto;
  background: #F5C518;
}

@media (max-width: 720px) {
  .es-closing {
    background-position: 70% center;
    padding: 2.6rem 0 2.8rem;
  }
  .es-closing__deco {
    position: static;
    display: inline-block;
    margin: 1rem 0 0;
    text-align: left;
  }
  .es-closing__deco::after {
    margin-left: 0;
  }
}

/* ==========================================================================
   10. STUDENT WELL-BEING PAGE
   ========================================================================== */

.swb-heading {
  margin-inline: 0;
  text-align: left;
  color: var(--navy-800);
}
.swb-lead {
  font-size: 1.12rem;
  line-height: 1.65;
  color: var(--blue-600);
  margin: -0.35rem 0 2.25rem;
  max-width: 62ch;
}
.swb-lead--light {
  color: rgba(255, 255, 255, .78);
}
.es-approach-intro {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 70ch;
  margin: -1.25rem 0 2.25rem;
}

.swb-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.35rem 1.6rem;
  text-align: center;
  transition: box-shadow .25s var(--ease), transform .25s var(--ease);
}
.swb-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-3px);
}
.swb-card__icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 1rem;
}
.swb-card__icon svg { width: 100%; height: 100%; }
.swb-card h3 {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 700;
  color: var(--navy-800);
  margin: 0 0 .5rem;
}
.swb-card p {
  font-size: .92rem;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

/* --- 10a. Hero ------------------------------------------------------------ */
.swb-hero {
  position: relative;
  overflow: hidden;
  min-height: 420px;
  display: flex;
  align-items: stretch;
  background: var(--navy-800);
}
.swb-hero__media {
  position: absolute;
  inset: 0;
}
.swb-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 78% center;
}
.page-education .swb-hero__media img {
  object-position: 62% top;
}
.page-our-story .swb-hero__media img {
  object-position: 78% center;
}
.page-our-impact .swb-hero__media img {
  object-position: 72% center;
}
.page-opportunity .swb-hero__media img {
  object-position: 78% 30%;
}
.page-leaders .swb-hero__media img {
  object-position: 42% 40%;
}
.page-stories .swb-hero__media img {
  object-position: center center;
}
.page-gallery .swb-hero__media img {
  object-position: center top;
}
@media (min-width: 768px) {
  .page-gallery .swb-hero__phrase {
    position: absolute;
    right: var(--gutter);
    bottom: 1.25rem;
    margin: 0;
  }
}
.page-contact .swb-hero__media img {
  object-position: 78% top;
}
.page-get-involved .swb-hero__media img {
  object-position: 78% top;
}
.page-well-being .swb-hero__media img {
  object-position: 78% top;
}
.swb-hero__overlay {
  position: relative;
  z-index: 1;
  width: 100%;
  background: linear-gradient(
    90deg,
    rgba(1, 54, 122, .96) 0%,
    rgba(1, 54, 122, .9) 34%,
    rgba(1, 54, 122, .42) 58%,
    rgba(1, 54, 122, .12) 78%,
    transparent 100%
  );
  padding: 4.5rem 0 4.75rem;
}
.swb-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 2rem;
  align-items: end;
}
.swb-hero__copy { max-width: 38rem; }
.swb-hero__eyebrow {
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
  margin: 0 0 .85rem;
}
.swb-hero__headline {
  font-family: var(--font-heading);
  font-size: clamp(2.05rem, 4.6vw, 3.35rem);
  font-weight: 800;
  line-height: 1.12;
  color: #fff;
  margin: 0 0 1.15rem;
}
.swb-hero__body {
  font-size: 1.08rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, .9);
  margin: 0;
  max-width: 46ch;
}
.swb-hero__copy .btn {
  margin-top: 1.5rem;
}
.swb-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.5rem;
}
.swb-hero__actions .btn { margin-top: 0; }
.swb-hero .btn--primary {
  background: #fff;
  color: var(--navy-700);
  box-shadow: none;
}
.swb-hero .btn--primary:hover {
  background: var(--surface);
  color: var(--navy-800);
}
.swb-hero .btn--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .45);
}
.swb-hero .btn--ghost:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border-color: #fff;
}
.swb-hero__phrase {
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 700;
  font-style: italic;
  color: #fff;
  text-align: right;
  line-height: 1.25;
  margin: 0 0 .35rem;
  text-shadow: 0 8px 24px rgba(1, 39, 92, .45);
}

@media (max-width: 767px) {
  .swb-hero { min-height: 0; }
  .swb-hero__overlay {
    background: linear-gradient(
      180deg,
      rgba(1, 54, 122, .92) 0%,
      rgba(1, 54, 122, .78) 62%,
      rgba(1, 54, 122, .45) 100%
    );
    padding: 3.25rem 0 3.5rem;
  }
  .swb-hero__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .swb-hero__phrase { text-align: left; }
}

/* --- 10b. Our Focus ------------------------------------------------------ */
.swb-focus {
  padding: 5rem 0;
  background: var(--white);
}
.swb-focus__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}

@media (max-width: 1100px) {
  .swb-focus__grid { grid-template-columns: repeat(3, 1fr); }
}
.swb-focus__grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .swb-focus__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .swb-focus { padding: 3.5rem 0; }
  .swb-focus__grid,
  .swb-focus__grid--4 { grid-template-columns: 1fr; gap: 1rem; }
}

.page-well-being .swb-focus {
  position: relative;
  padding: 3.6rem 0 4.2rem;
  overflow: hidden;
  background: #fff;
}

.page-well-being .swb-focus::after {
  content: "";
  position: absolute;
  top: -2.2rem;
  right: -1.4rem;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245, 197, 24, .45) 0%, rgba(245, 197, 24, 0) 70%);
  pointer-events: none;
}

.page-well-being .swb-focus__head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.25rem 2.2rem;
  align-items: end;
  margin-bottom: 1.8rem;
}

.page-well-being .swb-focus__head .section-kicker,
.page-well-being .swb-focus__head .section-heading {
  margin-inline: 0;
  text-align: left;
}

.page-well-being .swb-focus__head .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .7rem;
}

.page-well-being .swb-focus__head .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.page-well-being .swb-focus__head .section-heading {
  max-width: 16ch;
  margin-bottom: 0;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
  line-height: 1.15;
  text-wrap: unset;
}

.page-well-being .swb-focus__intro {
  margin: 0 0 .15rem;
  padding-left: 1.75rem;
  max-width: none;
  width: 100%;
  color: var(--blue-600);
  font-size: 1.05rem;
  line-height: 1.55;
}

.page-well-being .swb-focus__grid {
  position: relative;
  z-index: 1;
  gap: .9rem;
}

.page-well-being .swb-focus .swb-card {
  padding: 1.5rem 1rem 1.35rem;
  border: 1px solid #E4EAF3;
  border-radius: 16px;
  box-shadow: none;
}

.page-well-being .swb-focus .swb-card:hover {
  transform: none;
  box-shadow: 0 8px 20px rgba(1, 54, 122, .06);
}

.page-well-being .swb-focus .swb-card h3 {
  font-size: .95rem;
  line-height: 1.3;
}

.page-well-being .swb-focus .swb-card p {
  font-size: .84rem;
  line-height: 1.5;
}

@media (min-width: 1101px) {
  .page-well-being .swb-focus__head .section-heading {
    white-space: nowrap;
    max-width: none;
  }
}

@media (max-width: 900px) {
  .page-well-being .swb-focus__head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .page-well-being .swb-focus__head .section-heading {
    max-width: none;
  }
}

/* --- 10c. Why it matters ------------------------------------------------- */
.swb-why {
  padding: 5rem 0;
  background: var(--surface);
}
.swb-why__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(240px, .9fr);
  gap: 1.75rem;
  align-items: stretch;
  margin-top: 1.5rem;
}
.swb-why__grid--two {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}
.swb-why__photo {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.swb-why__photo img {
  width: 100%;
  height: 100%;
  min-height: 340px;
  object-fit: cover;
  object-position: center;
}
.swb-why__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.swb-why__copy p {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 1rem;
}
.swb-why__copy p:last-child { margin-bottom: 0; }
.swb-why__copy .btn {
  margin-top: .5rem;
  align-self: flex-start;
}
.swb-why__quote {
  margin: 0;
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.75rem 1.5rem 1.6rem;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.swb-why__mark {
  width: 36px;
  height: auto;
  color: var(--blue-500);
  opacity: .35;
  margin-bottom: .85rem;
}
.swb-why__quote p {
  font-family: var(--font-heading);
  font-size: 1.12rem;
  font-weight: 600;
  font-style: italic;
  line-height: 1.5;
  color: var(--blue-600);
  margin: 0 0 1.15rem;
}
.swb-why__quote footer { font-size: .95rem; }
.swb-why__quote cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}
.swb-why__quote cite strong {
  color: var(--navy-800);
  font-weight: 700;
}
.swb-why__quote cite span {
  color: var(--ink-soft);
  font-size: .85rem;
}

@media (max-width: 991px) {
  .swb-why__grid,
  .swb-why__grid--two {
    grid-template-columns: 1fr;
  }
  .swb-why__photo { grid-column: 1 / -1; }
  .swb-why__photo img { min-height: 220px; max-height: 280px; }
}
@media (max-width: 700px) {
  .swb-why { padding: 3.5rem 0; }
  .swb-why__grid { grid-template-columns: 1fr; gap: 1.25rem; }
}

.page-well-being .swb-why {
  position: relative;
  padding: 3.2rem 0 3.6rem;
  overflow: hidden;
  background: #F3F7FC;
}

.page-well-being .swb-why::after {
  content: "";
  position: absolute;
  top: 1.2rem;
  right: -1rem;
  width: 9rem;
  height: 9rem;
  background: url("../images/logo/parusha-icon-mark.png") center / contain no-repeat;
  opacity: .06;
  pointer-events: none;
}

.page-well-being .swb-why__grid {
  position: relative;
  z-index: 1;
  grid-template-columns: minmax(260px, 1.05fr) minmax(250px, .9fr) minmax(230px, .85fr);
  gap: 1.15rem 1.25rem;
  align-items: center;
  margin-top: 0;
}

.page-well-being .swb-why__copy .section-kicker,
.page-well-being .swb-why__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.page-well-being .swb-why__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .6rem;
}

.page-well-being .swb-why__copy .section-kicker::after {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: #F5C518;
}

.page-well-being .swb-why__copy .section-heading {
  max-width: none;
  margin-bottom: .75rem;
  font-size: clamp(1.65rem, 2.3vw, 2.05rem);
  line-height: 1.12;
  text-wrap: unset;
}

.page-well-being .swb-why__copy > p {
  max-width: none;
  width: 100%;
  margin: 0 0 1.15rem;
  font-size: .98rem;
  line-height: 1.55;
}

.page-well-being .swb-why__btn {
  margin-top: .15rem;
  padding: .95rem 1.7rem;
  border-radius: 999px;
  background: var(--blue-600);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(10, 76, 196, .28);
}

.page-well-being .swb-why__btn:hover {
  background: var(--navy-800);
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 14px 26px rgba(1, 54, 122, .28);
}

.page-well-being .swb-why__photo {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  margin: 0;
  border-radius: 0;
  overflow: visible;
  box-shadow: none;
  background: transparent;
}

.page-well-being .swb-why__photo img {
  width: 100%;
  height: 250px;
  min-height: 0;
  object-fit: cover;
  object-position: center 20%;
  border-radius: 46% 54% 48% 52% / 42% 46% 54% 58%;
  display: block;
}

.page-well-being .swb-why__words {
  position: static;
  margin: 0 0 .35rem .45rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.05;
  color: var(--navy-800);
  text-align: left;
}

.page-well-being .swb-why__words::before {
  content: "";
  position: absolute;
  left: -.85rem;
  top: -.15rem;
  width: .55rem;
  height: .55rem;
  background:
    linear-gradient(#F5C518, #F5C518) center / 100% 2px no-repeat,
    linear-gradient(#F5C518, #F5C518) center / 2px 100% no-repeat;
  transform: rotate(20deg);
}

.page-well-being .swb-why__quote {
  margin: 0;
  padding: 1.35rem 1.25rem 1.2rem;
  background: #fff;
  border: 0;
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(1, 54, 122, .06);
}

.page-well-being .swb-why__mark {
  display: block;
  margin-bottom: .35rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.6rem;
  line-height: .7;
  color: var(--blue-600);
}

.page-well-being .swb-why__quote p {
  font-family: var(--font-heading);
  font-size: 1rem;
  font-style: italic;
  font-weight: 600;
  line-height: 1.45;
  color: var(--blue-600);
  margin: 0 0 .9rem;
}

.page-well-being .swb-why__quote cite strong {
  display: block;
  color: var(--navy-800);
  font-style: normal;
}

.page-well-being .swb-why__quote cite span {
  color: var(--ink-soft);
}

@media (min-width: 901px) {
  .page-well-being .swb-why__copy .section-heading {
    white-space: nowrap;
  }
}

@media (max-width: 1100px) {
  .page-well-being .swb-why__grid {
    grid-template-columns: minmax(0, 1fr) minmax(200px, .8fr);
  }
  .page-well-being .swb-why__quote {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .page-well-being .swb-why__grid { grid-template-columns: 1fr; }
  .page-well-being .swb-why__photo { margin-right: 1.6rem; }
  .page-well-being .swb-why__copy .section-heading { max-width: none; }
}

.page-well-being .swb-approach {
  padding: 3.4rem 0 3.2rem;
  background: #fff;
}

.page-well-being .swb-approach .section-kicker,
.page-well-being .swb-approach .section-heading {
  margin-inline: 0;
  text-align: left;
}

.page-well-being .swb-approach .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .65rem;
}

.page-well-being .swb-approach .section-kicker::after {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: #F5C518;
}

.page-well-being .swb-approach .section-heading {
  max-width: none;
  margin-bottom: 1.35rem;
  font-size: clamp(1.65rem, 2.4vw, 2.05rem);
  line-height: 1.15;
  text-wrap: unset;
}

.page-well-being .swb-approach__grid {
  gap: .85rem;
}

.page-well-being .swb-approach .swb-card {
  background: #fff;
  border: 1px solid #E4EAF3;
  border-radius: 16px;
  padding: 1.35rem .9rem 1.2rem;
  box-shadow: none;
}

.page-well-being .swb-approach .swb-card:hover {
  transform: none;
  box-shadow: 0 8px 18px rgba(1, 54, 122, .05);
}

.page-well-being .swb-approach .swb-card__icon {
  width: 36px;
  height: 36px;
  margin-bottom: .75rem;
  color: var(--blue-600);
}

.page-well-being .swb-approach .swb-card h3 {
  font-size: .95rem;
  line-height: 1.3;
  min-height: 2.6em;
}

.page-well-being .swb-approach .swb-card p {
  font-size: .84rem;
  line-height: 1.45;
}

.page-well-being .swb-resources {
  padding: 3.2rem 0 3.6rem;
  background: #F3F7FC;
}

.page-well-being .swb-resources__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  margin-bottom: 1.35rem;
}

.page-well-being .swb-resources__head .section-kicker,
.page-well-being .swb-resources__head .section-heading {
  margin-inline: 0;
  text-align: left;
}

.page-well-being .swb-resources__head .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .6rem;
}

.page-well-being .swb-resources__head .section-kicker::after {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: #F5C518;
}

.page-well-being .swb-resources__head .section-heading {
  max-width: none;
  margin-bottom: 0;
  font-size: clamp(1.65rem, 2.4vw, 2.05rem);
  line-height: 1.15;
  text-wrap: unset;
}

.page-well-being .swb-resources__all {
  flex: 0 0 auto;
  margin-bottom: .15rem;
  padding: .7rem 1.15rem;
  border-radius: 999px;
  border-color: #C9D4E6;
  background: #fff;
  color: var(--navy-800);
  box-shadow: none;
}

.page-well-being .swb-resources__all:hover {
  background: #fff;
  border-color: var(--blue-600);
  color: var(--navy-800);
}

.page-well-being .swb-resources__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}

.page-well-being .swb-resource {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(1, 54, 122, .05);
}

.page-well-being .swb-resource img {
  width: 100%;
  height: 148px;
  object-fit: cover;
  object-position: center 30%;
  display: block;
}

.page-well-being .swb-resource > div {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: .95rem .95rem 2.2rem;
}

.page-well-being .swb-resource h3 {
  margin: 0 0 .4rem;
  font-family: var(--font-heading);
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-800);
}

.page-well-being .swb-resource p {
  margin: 0;
  font-size: .84rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.page-well-being .swb-resource__more {
  position: absolute;
  right: .85rem;
  bottom: .75rem;
  color: var(--blue-600);
}

.page-well-being .swb-resource__more svg {
  width: 16px;
  height: 16px;
}

@media (min-width: 901px) {
  .page-well-being .swb-approach .section-heading,
  .page-well-being .swb-resources__head .section-heading {
    white-space: nowrap;
  }
}

@media (max-width: 1100px) {
  .page-well-being .swb-approach__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-well-being .swb-resources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .page-well-being .swb-resources__head {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 700px) {
  .page-well-being .swb-approach__grid,
  .page-well-being .swb-resources__grid { grid-template-columns: 1fr; }
}

.swb-vision {
  position: relative;
  padding: 3.2rem 0 3.4rem;
  min-height: 280px;
  color: #fff;
  overflow: hidden;
  background-color: #01367A;
  background-image: url("../images/people%20support%20possibities.webp");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}

.swb-vision::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(1, 28, 78, .82) 0%,
    rgba(1, 40, 110, .55) 42%,
    rgba(1, 54, 122, .12) 68%,
    transparent 100%
  );
}

.swb-vision .container {
  max-width: var(--container-wide);
}

.swb-vision__layout {
  position: relative;
  z-index: 1;
}

.swb-vision__copy {
  max-width: 40rem;
}

.swb-vision__copy .section-heading {
  margin: 0 0 .75rem;
  max-width: none;
  text-align: left;
  color: #fff;
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
  line-height: 1.15;
  text-wrap: unset;
}

.swb-vision__copy > p {
  margin: 0 0 1.25rem;
  max-width: 52ch;
  color: rgba(255, 255, 255, .9);
  line-height: 1.55;
}

.swb-vision__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
  box-shadow: 0 8px 22px rgba(1, 24, 70, .18);
}

.swb-vision__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
  transform: translateY(-1px);
}

@media (min-width: 901px) {
  .swb-vision__copy .section-heading {
    white-space: nowrap;
  }
}

@media (max-width: 720px) {
  .swb-vision {
    background-position: 70% center;
    padding: 2.6rem 0 2.8rem;
  }
}

/* --- 10d. Our Approach --------------------------------------------------- */
.swb-approach {
  padding: 5rem 0;
  background: var(--white);
}
.swb-approach__grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
}
.swb-approach .swb-card {
  background: var(--surface);
  border-color: transparent;
}

.swb-approach__grid.swb-focus__grid--4,
.swb-focus__grid.swb-focus__grid--4 {
  grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1100px) {
  .swb-approach__grid { grid-template-columns: repeat(3, 1fr); }
  .swb-approach__grid.swb-focus__grid--4,
  .swb-focus__grid.swb-focus__grid--4 { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 991px) {
  .swb-approach__grid.swb-focus__grid--4,
  .swb-focus__grid.swb-focus__grid--4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .swb-approach { padding: 3.5rem 0; }
  .swb-approach__grid,
  .swb-approach__grid.swb-focus__grid--4,
  .swb-focus__grid.swb-focus__grid--4 { grid-template-columns: 1fr; gap: 1rem; }
}

/* --- 10e. Helpful Resources ---------------------------------------------- */
.swb-resources {
  padding: 5rem 0;
  background: var(--surface);
}
.swb-resources__grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 1.25rem;
}
.swb-resources__grid > .swb-card:nth-child(1) { grid-column: 1; grid-row: 1; }
.swb-resources__grid > .swb-card:nth-child(2) { grid-column: 2; grid-row: 1; }
.swb-resources__grid > .swb-card:nth-child(3) { grid-column: 1; grid-row: 2; }
.swb-resources__grid > .swb-card:nth-child(4) { grid-column: 2; grid-row: 2; }
.swb-resources__panel {
  grid-column: 3;
  grid-row: 1 / span 2;
  background: var(--navy-800);
  color: #fff;
  border-radius: var(--radius-lg);
  padding: 2rem 1.75rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.swb-resources__panel h3 {
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  color: #fff;
  margin: 0 0 .75rem;
}
.swb-resources__panel p {
  font-size: 1rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, .86);
  margin: 0;
}

@media (max-width: 991px) {
  .swb-resources__grid { grid-template-columns: 1fr 1fr; }
  .swb-resources__grid > .swb-card:nth-child(1),
  .swb-resources__grid > .swb-card:nth-child(2),
  .swb-resources__grid > .swb-card:nth-child(3),
  .swb-resources__grid > .swb-card:nth-child(4) {
    grid-column: auto;
    grid-row: auto;
  }
  .swb-resources__panel {
    grid-column: 1 / -1;
    grid-row: auto;
  }
}
@media (max-width: 700px) {
  .swb-resources { padding: 3.5rem 0; }
  .swb-resources__grid { grid-template-columns: 1fr; gap: 1rem; }
}

/* --- 10f. Closing banner ------------------------------------------------- */
.swb-closing {
  padding: 5rem 0;
  background: linear-gradient(135deg, var(--navy-800) 0%, var(--blue-600) 100%);
  color: #fff;
}
.swb-closing__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "headline phrase"
    "body     ."
    "cta      .";
  column-gap: 2.5rem;
  row-gap: .85rem;
  align-items: start;
}
.swb-closing__heading {
  grid-area: headline;
}
.swb-closing__headline {
  grid-area: headline;
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 3.5vw, 2.5rem);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
  margin: 0;
}
.swb-closing__heading .swb-closing__headline {
  grid-area: auto;
}
.swb-closing__body {
  grid-area: body;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, .88);
  max-width: none;
  margin: 0;
}
.swb-closing__inner > .btn,
.swb-closing__actions {
  grid-area: cta;
  justify-self: start;
  margin-top: .65rem;
}
.swb-closing__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}
.swb-closing .btn--primary {
  background: #fff;
  color: var(--navy-700);
  box-shadow: none;
}
.swb-closing .btn--primary:hover {
  background: var(--surface);
  color: var(--navy-800);
}
.swb-closing .btn--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, .45);
}
.swb-closing .btn--ghost:hover {
  background: rgba(255, 255, 255, .12);
  color: #fff;
  border-color: #fff;
}
.swb-closing__phrase {
  grid-area: phrase;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2.4vw, 1.9rem);
  font-weight: 700;
  font-style: italic;
  color: #fff;
  text-align: right;
  line-height: 1.25;
  margin: 0;
  padding-top: .15em;
}

@media (max-width: 767px) {
  .swb-closing { padding: 3.75rem 0; }
  .swb-closing__inner {
    grid-template-columns: 1fr;
    grid-template-areas:
      "headline"
      "body"
      "cta"
      "phrase";
    row-gap: 1rem;
  }
  .swb-closing__phrase { text-align: left; }
}

.page-stories .sav-close,
.page-contact .ct-close,
.page-get-involved .gi-close {
  padding: 2.5rem 0 2.65rem;
  min-height: 280px;
  background-color: #01306e;
  background-image:
    linear-gradient(90deg, rgba(1, 22, 68, .9) 0%, rgba(1, 34, 98, .62) 36%, rgba(1, 48, 120, .22) 58%, transparent 78%),
    url("../images/people support possibities.webp");
  background-repeat: no-repeat;
  background-position: center, 78% center;
  background-size: cover, cover;
}

.page-stories .sav-close .sav-closing__eyebrow,
.page-contact .ct-close .sav-closing__eyebrow,
.page-get-involved .gi-close .sav-closing__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .55rem;
  color: rgba(255, 255, 255, .88);
}

.page-stories .sav-close .sav-closing__eyebrow::after,
.page-contact .ct-close .sav-closing__eyebrow::after,
.page-get-involved .gi-close .sav-closing__eyebrow::after {
  content: "";
  width: 2.4rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}

.page-stories .sav-close .swb-closing__headline,
.page-contact .ct-close .swb-closing__headline,
.page-get-involved .gi-close .swb-closing__headline {
  max-width: 20ch;
  font-size: clamp(1.6rem, 2.5vw, 2.15rem);
  line-height: 1.12;
}

.page-stories .sav-close .swb-closing__body,
.page-contact .ct-close .swb-closing__body,
.page-get-involved .gi-close .swb-closing__body {
  max-width: 54ch;
  font-size: .98rem;
  line-height: 1.55;
}

.page-stories .sav-close .swb-closing__phrase,
.page-contact .ct-close .swb-closing__phrase,
.page-get-involved .gi-close .swb-closing__phrase {
  font-family: "Caveat", "Segoe Script", cursive;
  font-style: normal;
  font-weight: 600;
  font-size: clamp(1.85rem, 2.6vw, 2.4rem);
  line-height: 1.02;
  text-align: right;
}
.page-get-involved .gi-close .swb-closing__phrase {
  color: var(--navy-800);
}
.page-stories .sav-close .swb-closing__phrase {
  justify-self: end;
  padding: .7rem .9rem .8rem;
  color: #fff;
  background: rgba(1, 22, 68, .78);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(1, 22, 58, .2);
  text-shadow: 0 2px 8px rgba(0, 0, 0, .45);
}

.page-stories .sav-close .swb-closing__phrase::after,
.page-contact .ct-close .swb-closing__phrase::after,
.page-get-involved .gi-close .swb-closing__phrase::after {
  content: "";
  display: block;
  width: 3.6rem;
  height: 3px;
  margin: .4rem 0 0 auto;
  border-radius: 2px;
  background: #F5C518;
  transform: rotate(-8deg);
}

.page-stories .sav-close .btn--primary,
.page-stories .sav-close .btn--ghost,
.page-contact .ct-close .btn--primary,
.page-contact .ct-close .btn--ghost,
.page-get-involved .gi-close .btn--primary,
.page-get-involved .gi-close .btn--ghost {
  border-radius: 999px;
}

@media (max-width: 767px) {
  .page-stories .sav-close,
  .page-contact .ct-close,
  .page-get-involved .gi-close {
    padding: 2.3rem 0 2.45rem;
    background-position: center, 70% center;
  }
  .page-stories .sav-close .swb-closing__headline,
  .page-contact .ct-close .swb-closing__headline,
  .page-get-involved .gi-close .swb-closing__headline { max-width: none; }
  .page-stories .sav-close .swb-closing__phrase,
  .page-contact .ct-close .swb-closing__phrase,
  .page-get-involved .gi-close .swb-closing__phrase { text-align: left; }
  .page-stories .sav-close .swb-closing__phrase { justify-self: start; }
  .page-stories .sav-close .swb-closing__phrase::after,
  .page-contact .ct-close .swb-closing__phrase::after,
  .page-get-involved .gi-close .swb-closing__phrase::after { margin-left: 0; }
}

/* ==========================================================================
   12. OPPORTUNITY FOR EVERY STUDENT
   ========================================================================== */

.oes-vision {
  position: relative;
  padding: 2.8rem 0 3rem;
  overflow: hidden;
  background-color: #F4F8FD;
  background-image: radial-gradient(circle, rgba(1, 54, 122, .07) 1px, transparent 1.2px);
  background-size: 18px 18px;
}

.oes-vision__layout {
  display: grid;
  grid-template-columns: minmax(280px, 1.08fr) minmax(300px, .92fr);
  gap: 1.35rem 1.6rem;
  align-items: center;
}

.oes-vision__copy .section-kicker,
.oes-vision__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.oes-vision__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: .7rem;
  color: var(--blue-600);
}

.oes-vision__copy .section-kicker::after {
  content: "";
  width: 2.5rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}

.oes-vision__copy .section-heading {
  max-width: none;
  margin-bottom: .7rem;
  font-size: clamp(2rem, 3.1vw, 2.7rem);
  line-height: 1.08;
  text-wrap: unset;
}

.oes-vision__lead {
  margin: 0 0 .75rem;
  color: #5c6d82;
  font-size: 1.05rem;
  line-height: 1.45;
}

.oes-vision__copy > p {
  margin: 0 0 .7rem;
  max-width: none;
  color: var(--ink-soft);
  line-height: 1.55;
}

.oes-vision__btn {
  margin-top: .35rem;
  border-radius: 999px;
}

.oes-vision__visual {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 0 0 .25rem;
}

.oes-vision__photo {
  margin: .15rem 0 0;
  align-self: flex-start;
  width: min(100%, 390px);
}

.oes-vision__photo img {
  display: block;
  width: 100%;
  height: 390px;
  object-fit: cover;
  object-position: center 18%;
  border-radius: 50%;
}

.oes-vision__deco {
  position: relative;
  z-index: 1;
  margin: 0 0 -3.6rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.7rem, 2.3vw, 2.15rem);
  font-weight: 600;
  line-height: 1.02;
  text-align: right;
  color: #1d4ed8;
}

.oes-vision__deco::after {
  content: "";
  display: block;
  width: 4.2rem;
  height: 3px;
  margin: .35rem 0 0 auto;
  border-radius: 2px;
  background: #F5C518;
}

.oes-vision__quote {
  position: absolute;
  right: 0;
  bottom: 0;
  width: min(300px, 62%);
  margin: 0;
  padding: 1.15rem 1.25rem 1.1rem;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 16px 36px rgba(1, 54, 122, .12);
}

.oes-vision__mark {
  display: block;
  margin-bottom: .15rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 2.6rem;
  line-height: .7;
  color: var(--blue-600);
}

.oes-vision__quote p {
  margin: 0 0 .85rem;
  color: var(--blue-600);
  font-size: 1.02rem;
  font-weight: 600;
  line-height: 1.45;
}

.oes-vision__quote cite {
  display: block;
  font-style: normal;
}

.oes-vision__quote cite strong {
  display: block;
  color: var(--navy-800);
  font-size: .92rem;
}

.oes-vision__quote cite span {
  display: block;
  margin-top: .1rem;
  color: #6b7c90;
  font-size: .82rem;
}

@media (min-width: 901px) {
  .oes-vision__copy .section-heading {
    white-space: nowrap;
  }
}

@media (max-width: 900px) {
  .oes-vision__layout { grid-template-columns: 1fr; }
  .oes-vision__visual { min-height: 0; padding: 1.4rem 0 0; }
  .oes-vision__deco { position: static; display: inline-block; margin-bottom: .8rem; }
  .oes-vision__deco::after { margin-left: 0; }
  .oes-vision__photo { width: min(100%, 420px); }
  .oes-vision__photo img { height: 340px; }
  .oes-vision__quote {
    position: static;
    width: min(100%, 420px);
    margin-top: -2.2rem;
    margin-left: auto;
  }
}

.oes-pillars {
  padding: 3.2rem 0 3.6rem;
  background: #F4F8FD;
}
.oes-pillars .section-kicker,
.oes-pillars .section-heading,
.oes-pillars__lead {
  margin-inline: 0;
  text-align: left;
}
.oes-pillars .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin-bottom: .65rem;
  color: var(--blue-600);
}
.oes-pillars .section-kicker::after {
  content: "";
  width: 2.5rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.oes-pillars .section-heading {
  max-width: none;
  margin-bottom: .55rem;
  font-size: clamp(1.7rem, 2.6vw, 2.15rem);
}
.oes-pillars__lead {
  max-width: 68ch;
  margin: 0 0 1.5rem;
  color: var(--ink-soft);
  line-height: 1.55;
}
.oes-pillars__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
}
.oes-pillar {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 22px;
  padding: 1.35rem 1.35rem 1.25rem;
  background: #fff;
  box-shadow: 0 10px 28px rgba(1, 54, 122, .05);
}
.oes-pillar--well { background: #F4F8F4; }
.oes-pillar__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 46%);
  gap: .5rem;
  align-items: start;
  min-height: 168px;
}
.oes-pillar__num {
  display: flex;
  align-items: center;
  gap: .55rem;
  margin: 0 0 .45rem;
  font-family: var(--font-heading);
  font-size: 2.35rem;
  font-weight: 700;
  line-height: 1;
  color: #8EBFEE;
}
.oes-pillar--well .oes-pillar__num { color: #8FB5A6; }
.oes-pillar h3 {
  margin: 0 0 .3rem;
  font-family: var(--font-heading);
  font-size: 1.55rem;
  font-weight: 800;
  line-height: 1.15;
  color: var(--navy-800);
}
.oes-pillar--well h3 { color: #1C4A3C; }
.oes-pillar__sub {
  margin: 0;
  font-family: var(--font-heading);
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--blue-600);
}
.oes-pillar--well .oes-pillar__sub { color: #2C6B56; }
.oes-pillar__head img {
  width: 100%;
  height: 168px;
  object-fit: cover;
  object-position: center 30%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 42%);
}
.oes-pillar > p {
  margin: .2rem 0 1rem;
  color: #5c6778;
  font-size: .95rem;
  line-height: 1.55;
}
.oes-pillar__tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0 0 1.1rem;
  padding: 0;
  list-style: none;
}
.oes-pillar__tags li {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .42rem .75rem;
  border-radius: 999px;
  background: #F4F7FB;
  color: #3E5678;
  font-size: .8rem;
  font-weight: 600;
}
.oes-pillar--well .oes-pillar__tags li {
  background: #fff;
  color: #2C6B56;
}
.oes-pillar__tags svg {
  width: 16px;
  height: 16px;
  flex: none;
}
.oes-pillar__btn {
  width: 100%;
  justify-content: center;
  margin-top: auto;
  border-radius: 999px;
  background: var(--blue-600);
  color: #fff;
}
.oes-pillar--well .oes-pillar__btn {
  background: #1F6A4A;
}
.oes-pillar__btn:hover { color: #fff; }
.oes-pillar--edu .oes-pillar__btn:hover { background: var(--navy-700); }
.oes-pillar--well .oes-pillar__btn:hover { background: #174F37; }

@media (max-width: 900px) {
  .oes-pillars__grid { grid-template-columns: 1fr; }
  .oes-pillar__head {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: .9rem;
  }
  .oes-pillar__head img {
    order: -1;
    width: 100%;
    height: 210px;
    border-radius: 16px;
    object-fit: cover;
    object-position: center 28%;
    -webkit-mask-image: none;
    mask-image: none;
  }
}
@media (max-width: 700px) {
  .oes-pillars { padding: 2.6rem 0 3rem; }
  .oes-pillar__head img { height: 188px; }
}

.oes-evidence {
  padding: 3.5rem 0;
  background: #fff;
}
.oes-evidence .section-heading {
  max-width: none;
  margin: 0 0 1rem;
  font-size: 2rem;
  text-align: left;
}
.oes-evidence .section-kicker { margin-inline: 0; text-align: left; }
.oes-evidence__lead {
  max-width: 80ch;
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.6;
}
.oes-evidence__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  margin: 2rem 0;
  padding-block: 1.5rem;
  border-block: 1px solid #D8E1EC;
}
.oes-evidence__facts dt {
  color: var(--navy-800);
  font-family: var(--font-heading);
  font-size: 1.65rem;
  font-weight: 700;
  line-height: 1.3;
}
.oes-evidence__facts dd {
  margin: .4rem 0 0;
  color: var(--ink-soft);
}

@media (max-width: 700px) {
  .oes-evidence { padding: 2.6rem 0; }
  .oes-evidence .section-heading { font-size: 1.7rem; }
  .oes-evidence__facts { grid-template-columns: minmax(0, 1fr); }
}

.oes-join {
  padding: 2.6rem 0 3.2rem;
  background: #F7FBFE;
}
.oes-join .section-heading {
  display: flex;
  align-items: center;
  gap: .8rem;
  margin: 0 0 .45rem;
  max-width: none;
  text-align: left;
  font-size: clamp(1.7rem, 2.6vw, 2.15rem);
}
.oes-join .section-heading::after {
  content: "";
  width: 2.6rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
  flex: none;
}
.oes-join__lead {
  margin: 0 0 1.25rem;
  color: #6a7688;
  font-size: 1.02rem;
}
.oes-join__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .9rem;
}
.oes-role {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 148px;
  padding: 1rem 1.05rem 1rem;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 8px 22px rgba(1, 54, 122, .05);
}
.oes-role__icon {
  position: relative;
  z-index: 1;
  display: block;
  width: 28px;
  height: 28px;
  margin-bottom: .45rem;
  color: var(--blue-600);
}
.oes-role__icon svg { width: 100%; height: 100%; }
.oes-role h3,
.oes-role p {
  position: relative;
  z-index: 1;
}
.oes-role h3 {
  max-width: 100%;
}
.oes-role p {
  max-width: 100%;
}
.oes-role h3 {
  margin: 0 0 .3rem;
  font-family: var(--font-heading);
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  color: var(--navy-800);
}
.oes-role p {
  margin: 0;
  color: #5c6b80;
  font-size: .9rem;
  line-height: 1.4;
}
.oes-role img {
  order: -1;
  width: 100%;
  height: 140px;
  margin-bottom: .85rem;
  border-radius: 8px;
  object-fit: cover;
  object-position: center 30%;
}
.oes-join__foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 1.25rem;
}
.oes-join__btn {
  border-radius: 999px;
  padding-inline: 1.35rem;
}
.oes-join__deco {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.6rem, 2.2vw, 2rem);
  font-weight: 600;
  line-height: 1.02;
  text-align: right;
  color: #1d4ed8;
}
.oes-join__deco::after {
  content: "";
  display: block;
  width: 4.2rem;
  height: 3px;
  margin: .3rem 0 0 auto;
  border-radius: 2px;
  background: #F5C518;
}

@media (max-width: 991px) {
  .oes-join__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .oes-join { padding: 2.4rem 0 2.8rem; }
  .oes-join__grid { grid-template-columns: 1fr; gap: .8rem; }
  .oes-join .section-heading { flex-wrap: wrap; }
  .oes-join__foot { flex-direction: column; align-items: flex-start; }
  .oes-join__deco { text-align: left; }
  .oes-join__deco::after { margin-left: 0; }
}

.oes-core {
  padding: 4.75rem 0;
  background: var(--navy-800);
  color: #fff;
  text-align: center;
}
.oes-core__headline {
  font-family: var(--font-heading);
  font-size: clamp(1.55rem, 3.4vw, 2.35rem);
  font-weight: 800;
  line-height: 1.25;
  color: #fff;
  max-width: 22ch;
  margin: 0 auto 1rem;
}
.oes-core__body {
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.6;
  color: rgba(255, 255, 255, .86);
  max-width: 42ch;
  margin: 0 auto;
}

.oes-invite {
  padding: 5rem 0;
  background: var(--white);
}
.oes-invite__ways {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.25rem;
  margin: 0 0 2.5rem;
  padding: 0;
}
.oes-invite__ways li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .7rem;
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 700;
  color: var(--navy-800);
}
.oes-invite__icon {
  width: 52px;
  height: 52px;
}
.oes-invite__icon svg { width: 100%; height: 100%; }
.oes-invite__cta { margin-top: .25rem; }
.oes-participate { text-align: center; }
.oes-participate .section-heading {
  max-width: none;
  margin-bottom: 1rem;
  font-size: 2rem;
}
.oes-participate p:not(.section-kicker) {
  max-width: 68ch;
  margin: 0 auto 1.5rem;
  color: var(--ink-soft);
  line-height: 1.6;
}
.oes-participate .oes-participate__note {
  margin: 1rem auto 0;
  font-size: .9rem;
}

@media (max-width: 991px) {
  .oes-invite__ways { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 700px) {
  .oes-invite { padding: 3.5rem 0; }
  .oes-participate .section-heading { font-size: 1.7rem; }
  .oes-invite__ways { grid-template-columns: 1fr 1fr; gap: 1.25rem 1rem; }
}

.oes-act__banner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 300px;
  padding: 2.6rem 36% 2.4rem 11.5rem;
  color: #fff;
  overflow: hidden;
  background-color: #01367A;
  background-image:
    linear-gradient(90deg, #012e68 0%, #01408f 32%, rgba(1, 54, 122, .62) 52%, rgba(1, 40, 100, .16) 70%, transparent 86%),
    url("../images/people%20support%20possibities.webp");
  background-repeat: no-repeat;
  background-position: center, right center;
  background-size: cover, cover;
}
.oes-act__banner-copy {
  width: min(100%, 34rem);
  text-align: center;
}
.oes-act__banner-copy h2 {
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3vw, 2.55rem);
  font-weight: 800;
  line-height: 1.12;
  color: #fff;
}
.oes-act__banner-copy h2 span {
  position: relative;
  display: inline-block;
  color: #F5C518;
}
.oes-act__banner-copy h2 span::after {
  content: "";
  position: absolute;
  left: 8%;
  right: 6%;
  bottom: -6px;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.oes-act__banner-copy p {
  margin: .85rem auto 0;
  max-width: 42ch;
  color: rgba(255, 255, 255, .9);
  line-height: 1.5;
}
.oes-act__script {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 1.55rem;
  font-weight: 600;
  line-height: 1.05;
  color: rgba(255, 255, 255, .92);
}
.oes-act__script--left {
  position: absolute;
  left: 2.2rem;
  top: 50%;
  transform: translateY(-54%);
  text-align: left;
}
.oes-act__script--left::after,
.oes-act__script--corner::after {
  content: "";
  display: block;
  width: 3.4rem;
  height: 2px;
  margin-top: .35rem;
  border-radius: 2px;
  background: rgba(255, 255, 255, .75);
}
.oes-act__body {
  position: relative;
  overflow: hidden;
  padding: 2.6rem 1.5rem 3rem;
  text-align: center;
  background: #F7FBFE;
}
.oes-act__body::before,
.oes-act__body::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: #E7F1FB;
  pointer-events: none;
}
.oes-act__body::before { width: 280px; height: 180px; left: -80px; bottom: -50px; }
.oes-act__body::after { width: 220px; height: 160px; right: -40px; top: 20px; }
.oes-act__kicker,
.oes-act__title,
.oes-act__lead,
.oes-act__cards,
.oes-act__btn,
.oes-act__note { position: relative; z-index: 1; }
.oes-act__kicker {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .7rem;
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #7d8da3;
}
.oes-act__kicker::before,
.oes-act__kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #c5d2e2;
}
.oes-act__title {
  margin: 0 0 .55rem;
  font-family: var(--font-heading);
  font-size: clamp(1.6rem, 2.6vw, 2.15rem);
  font-weight: 800;
  color: var(--navy-800);
}
.oes-act__title span { color: var(--blue-600); }
.oes-act__lead {
  max-width: 62ch;
  margin: 0 auto 1.4rem;
  color: #6b7c90;
  line-height: 1.5;
}
.oes-act__cards {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
  max-width: 1100px;
  margin: 0 auto 1.4rem;
  padding: 0;
  list-style: none;
}
.oes-act__cards li {
  padding: 1.15rem .8rem 1rem;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(1, 54, 122, .06);
}
.oes-act__icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto .7rem;
  border-radius: 50%;
}
.oes-act__icon svg { width: 24px; height: 24px; }
.oes-act__icon--blue { background: #E7F0FF; color: #3B82F6; }
.oes-act__icon--green { background: #E5F6EC; color: #3AAA68; }
.oes-act__icon--gold { background: #FFF3DC; color: #E0A106; }
.oes-act__icon--rose { background: #FDECEC; color: #E15B6A; }
.oes-act__icon--violet { background: #F3EAFB; color: #8B6BC4; }
.oes-act__cards h3 {
  margin: 0 0 .25rem;
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 800;
  color: var(--navy-800);
}
.oes-act__cards p {
  margin: 0;
  color: #6b7c90;
  font-size: .82rem;
  line-height: 1.4;
}
.oes-act__btn {
  border-radius: 999px;
  padding-inline: 1.4rem;
}
.oes-act__note {
  margin: .8rem 0 0;
  font-family: var(--font-heading);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #8b9bb0;
}
.oes-act__script--corner {
  position: absolute;
  left: 1.5rem;
  bottom: 1.2rem;
  z-index: 1;
  text-align: left;
  color: #8aa0bd;
}
.oes-act__script--corner::after { background: #c5d4e6; }
.oes-act__plane {
  position: absolute;
  top: 1.4rem;
  right: 8%;
  z-index: 1;
  width: 42px;
  height: 42px;
  transform: rotate(18deg);
}

@media (max-width: 900px) {
  .oes-act__banner {
    display: block;
    padding: 1.6rem 1.25rem 1.8rem;
    background-position: center, 72% center;
  }
  .oes-act__script--left {
    position: static;
    transform: none;
    display: inline-block;
    text-align: left;
    margin-bottom: .8rem;
  }
  .oes-act__cards { grid-template-columns: repeat(2, 1fr); }
  .oes-act__script--corner,
  .oes-act__plane { display: none; }
}
@media (max-width: 560px) {
  .oes-act__cards { grid-template-columns: 1fr; }
}

.oes-close {
  position: relative;
  padding: 3.4rem 0;
  min-height: 280px;
  color: #fff;
  overflow: hidden;
  background-color: #01367A;
  background-image:
    linear-gradient(90deg, rgba(1, 28, 78, .82) 0%, rgba(1, 40, 110, .5) 42%, rgba(1, 54, 122, .12) 68%, transparent 100%),
    url("../images/join.webp");
  background-repeat: no-repeat;
  background-position: center, right center;
  background-size: cover, cover;
}
.oes-close__layout {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}
.oes-close__copy { max-width: 38rem; }
.oes-close__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}
.oes-close__actions .oes-close__btn--outline {
  border: 1px solid #fff;
  background: transparent;
  color: #fff;
}
.oes-close__actions .oes-close__btn--outline:hover {
  background: #fff;
  color: var(--navy-800);
}
.oes-close__kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .9);
}
.oes-close__kicker::after {
  content: "";
  width: 2.4rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.oes-close__copy h2 {
  margin: 0 0 .75rem;
  font-family: var(--font-heading);
  font-size: clamp(1.8rem, 3vw, 2.45rem);
  font-weight: 800;
  line-height: 1.12;
  color: #fff;
}
.oes-close__copy > p {
  margin: 0 0 1.25rem;
  max-width: 48ch;
  color: rgba(255, 255, 255, .9);
  line-height: 1.55;
}
.oes-close__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
}
.oes-close__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
}
.oes-close__script {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(2rem, 3vw, 2.6rem);
  font-weight: 600;
  line-height: 1.02;
  text-align: right;
  color: #fff;
}
.oes-close__script::after {
  content: "";
  display: block;
  width: 4.2rem;
  height: 3px;
  margin: .4rem 0 0 auto;
  border-radius: 2px;
  background: #F5C518;
}

@media (min-width: 901px) {
  .oes-close__copy h2 { white-space: nowrap; }
}
@media (max-width: 800px) {
  .oes-close { padding: 2.4rem 0 2.6rem; background-position: center, 70% center; }
  .oes-close__layout { flex-direction: column; align-items: flex-start; }
  .oes-close__copy h2 { white-space: normal; }
  .oes-close__script { text-align: left; }
  .oes-close__script::after { margin-left: 0; }
}

/* ==========================================================================
   13. LEADERS WHO INSPIRE
   ========================================================================== */

/* --- Why these conversations matter -------------------------------------- */
.lwi-impact {
  padding: 2.85rem 0 2.35rem;
  background: #fff;
}

.lwi-impact__intro {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 1.15rem 3.5rem;
  align-items: center;
  margin-bottom: 1.85rem;
}

.lwi-impact__eyebrow {
  margin: 0 0 .45rem;
  text-align: left;
  color: var(--blue-600);
}

.lwi-impact__heading {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 2.5vw, 2.35rem);
  font-weight: 700;
  line-height: 1.18;
  letter-spacing: -.03em;
  text-align: left;
  color: var(--navy-800);
}

.lwi-impact__lead {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.6;
  color: #3E5A82;
}

.lwi-impact__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.5rem 1.25rem;
}

.lwi-impact__card {
  padding: 0 .35rem;
  text-align: center;
}

.lwi-impact__icon {
  display: grid;
  place-items: center;
  width: 4.15rem;
  height: 4.15rem;
  margin: 0 auto .85rem;
  border-radius: 50%;
}

.lwi-impact__icon svg {
  width: 1.7rem;
  height: 1.7rem;
  stroke: currentColor;
  stroke-width: 1.7;
}

.lwi-impact__card h3 {
  margin: 0 0 .35rem;
  font-family: var(--font-heading);
  font-size: 1.02rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-800);
}

.lwi-impact__card p {
  margin: 0 auto;
  max-width: 28ch;
  font-size: .95rem;
  line-height: 1.5;
  color: #5A6F8A;
}

.lwi-impact__card--blue .lwi-impact__icon { background: #E6F0FF; color: #1B6FE0; }
.lwi-impact__card--gold .lwi-impact__icon { background: #FFF4D6; color: #D39A12; }
.lwi-impact__card--amber .lwi-impact__icon { background: #FFF0CE; color: #D8910A; }
.lwi-impact__card--rose .lwi-impact__icon { background: #FFE4E8; color: #E23B52; }

@media (max-width: 800px) {
  .lwi-impact { padding: 2.75rem 0 2.5rem; }
  .lwi-impact__intro { grid-template-columns: 1fr; gap: .85rem; margin-bottom: 1.75rem; }
  .lwi-impact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.6rem 1rem; }
}

@media (max-width: 520px) {
  .lwi-impact__grid { grid-template-columns: 1fr; gap: 1.35rem; }
  .lwi-impact__icon { width: 3.8rem; height: 3.8rem; }
}

/* --- Questions + categories ---------------------------------------------- */
.lwi-explore {
  padding: 2.5rem 0 2.65rem;
  background: #F5F8FC;
}

.lwi-explore__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 2.25rem 3.25rem;
  align-items: start;
}

.lwi-explore__heading {
  margin: 0 0 .5rem;
  font-family: var(--font-heading);
  font-size: clamp(1.35rem, 2vw, 1.65rem);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--navy-800);
}

.lwi-questions__heading {
  display: inline-block;
}

.lwi-questions__heading::after {
  content: "";
  display: block;
  width: 2.35rem;
  height: 3px;
  margin-top: .4rem;
  background: #E8B423;
  border-radius: 2px;
}

.lwi-explore__lead {
  margin: 0 0 1.15rem;
  font-size: .98rem;
  line-height: 1.55;
  color: #4A607C;
}

.lwi-questions__list {
  list-style: none;
  counter-reset: lwi-q;
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
}

.lwi-questions__list li {
  counter-increment: lwi-q;
  display: flex;
  align-items: center;
  gap: .7rem;
  background: var(--white);
  border: 1px solid #E8EEF6;
  border-radius: 10px;
  padding: .72rem .9rem;
  font-size: .95rem;
  line-height: 1.45;
  color: var(--navy-800);
  font-weight: 600;
}

.lwi-questions__list li::before {
  content: counter(lwi-q, decimal-leading-zero);
  flex: 0 0 1.55rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .02em;
  color: #8A97AB;
}

.lwi-questions__list li::after {
  content: "";
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  margin-left: auto;
  border-right: 1.6px solid #B7C3D4;
  border-top: 1.6px solid #B7C3D4;
  transform: rotate(45deg);
}

.lwi-categories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.35rem .9rem;
}

.lwi-cat { text-align: center; }

.lwi-cat__icon {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
  margin: 0 auto .55rem;
  color: var(--blue-600);
}

.lwi-cat__icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  stroke-width: 1.7;
}

.lwi-cat h3 {
  margin: 0 0 .3rem;
  font-family: var(--font-heading);
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-800);
}

.lwi-cat p {
  margin: 0;
  font-size: .82rem;
  line-height: 1.45;
  color: #6A7B91;
}

@media (max-width: 991px) {
  .lwi-explore { padding: 2.6rem 0; }
  .lwi-explore__grid { grid-template-columns: 1fr; gap: 2rem; }
  .lwi-categories__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .lwi-categories__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem .75rem; }
}

@media (max-width: 520px) {
  .lwi-categories__grid { grid-template-columns: 1fr; }
}

.lwi-featured,
.lwi-recent {
  padding: 5rem 0;
  background: var(--surface);
}
.lwi-featured__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 2rem;
  align-items: start;
}
.lwi-video {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--navy-800);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
.lwi-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.lwi-featured__copy h3 {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  color: var(--navy-800);
  margin: 0 0 .35rem;
}
.lwi-featured__role {
  color: var(--blue-600);
  font-weight: 600;
  margin: 0 0 1rem;
}
.lwi-recent__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.lwi-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
}
.lwi-card h3 {
  font-family: var(--font-heading);
  font-size: 1.1rem;
  color: var(--navy-800);
  margin: 0 0 .35rem;
}
.lwi-card__role {
  color: var(--blue-600);
  font-size: .9rem;
  font-weight: 600;
  margin: 0 0 .75rem;
}

@media (max-width: 900px) {
  .lwi-featured__grid,
  .lwi-recent__grid { grid-template-columns: 1fr; }
}

.lwi-lessons {
  padding: 5rem 0;
  background: var(--surface);
}
.lwi-lessons__intro {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink-soft);
  max-width: 62ch;
  margin: -1.25rem 0 1.75rem;
}
.lwi-lessons__list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin: 0;
  padding: 0;
}
.lwi-lessons__list li {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: .45rem .95rem;
  font-size: .9rem;
  font-weight: 700;
  color: var(--navy-700);
}

.lwi-connect {
  padding: 5rem 0;
  background: var(--white);
}
.lwi-connect .gi-connect__grid { align-items: center; }
.lwi-connect .swb-why__grid { margin-top: 1.5rem; }
@media (max-width: 700px) {
  .lwi-connect { padding: 3.5rem 0; }
}

.lwi-lessons .oes-invite__cta { margin-top: 2rem; }

.lwi-close {
  position: relative;
  padding: 2.35rem 0;
  min-height: 268px;
  color: #fff;
  overflow: hidden;
  background-color: #01367A;
  background-image:
    linear-gradient(90deg, rgba(1, 24, 72, .9) 0%, rgba(1, 36, 102, .62) 32%, rgba(1, 54, 122, .2) 52%, transparent 72%),
    url("../images/people%20support%20possibities.webp");
  background-repeat: no-repeat;
  background-position: center, 90% center;
  background-size: cover, cover;
}

.lwi-close__layout {
  position: relative;
  z-index: 1;
  min-height: 220px;
  display: flex;
  align-items: center;
}

.lwi-close__copy { max-width: 34rem; }

.lwi-close__copy h2 {
  margin: 0 0 .55rem;
  font-family: var(--font-heading);
  font-size: clamp(1.45rem, 2.3vw, 1.95rem);
  font-weight: 800;
  line-height: 1.15;
  color: #fff;
}

.lwi-close__copy > p {
  margin: 0 0 1rem;
  max-width: 50ch;
  font-size: .92rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, .9);
}

.lwi-close__btn {
  background: #fff;
  color: var(--navy-800);
  border-radius: 999px;
}

.lwi-close__btn:hover {
  background: #f4f7fc;
  color: var(--navy-800);
}

.lwi-close__phrase {
  position: absolute;
  left: 38%;
  top: 50%;
  transform: translateY(-50%);
  width: max-content;
  max-width: 26rem;
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.15rem, 1.8vw, 1.5rem);
  font-weight: 700;
  font-style: italic;
  line-height: 1.3;
  color: #fff;
}

.lwi-close__phrase::after {
  content: "";
  display: block;
  width: 3.2rem;
  height: 3px;
  margin-top: .4rem;
  border-radius: 2px;
  background: #F5C518;
}

@media (max-width: 900px) {
  .lwi-close {
    padding: 2.3rem 0 2.45rem;
    background-position: center, 68% center;
  }
  .lwi-close__layout { display: block; min-height: 0; }
  .lwi-close__phrase {
    position: static;
    transform: none;
    width: auto;
    margin-top: 1.15rem;
  }
}

.sav-kicker {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  margin: 0 0 .55rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
}

.sav-kicker::after {
  content: "";
  width: 2.4rem;
  height: 3px;
  border-radius: 2px;
  background: #E8B423;
}

.sav-lessons {
  padding: 2.6rem 0 2.4rem;
  background: #F4F8FD;
  overflow: hidden;
}

.sav-lessons__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 22rem);
  gap: 1.25rem 2rem;
  align-items: center;
}

.sav-lessons__copy h2,
.sav-explore h2 {
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: clamp(1.7rem, 2.8vw, 2.35rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--navy-800);
}

@media (min-width: 901px) {
  .sav-explore h2 { white-space: nowrap; }
}

.sav-lessons__lead,
.sav-explore__lead {
  margin: 0 0 .7rem;
  max-width: 58ch;
  font-size: 1.02rem;
  line-height: 1.55;
  color: #4A607C;
}

.sav-lessons__lead { margin-bottom: 1.15rem; }

.sav-lessons__pills {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sav-lessons__pills li {
  background: #fff;
  border: 1px solid #E3EAF4;
  border-radius: 999px;
  padding: .38rem .85rem;
  font-size: .84rem;
  font-weight: 600;
  color: #31588A;
}

.sav-lessons__quote {
  position: relative;
  margin: 0;
  padding: 2.35rem 1.55rem 1.2rem 1.7rem;
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 255, 255, .7), transparent 26%),
    radial-gradient(circle at 8% 92%, rgba(255, 255, 255, .45), transparent 24%),
    #E8F3FC;
  border-radius: 2.1rem 2.6rem 2.3rem 1.7rem;
}

.sav-lessons__quote::before,
.sav-lessons__quote::after {
  position: absolute;
  font-family: Georgia, "Times New Roman", serif;
  line-height: 1;
  color: #6AADF0;
  pointer-events: none;
}

.sav-lessons__quote::before {
  content: "\201C";
  top: .45rem;
  left: .85rem;
  font-size: 4rem;
}

.sav-lessons__quote::after {
  content: "\201D";
  right: .7rem;
  bottom: .15rem;
  font-size: 4.4rem;
  opacity: .35;
}

.sav-lessons__quote p {
  position: relative;
  margin: 0 0 .7rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.7rem, 2.3vw, 2.15rem);
  font-weight: 600;
  line-height: 1.12;
  color: #1E4F9A;
}

.sav-lessons__quote p::after {
  content: "";
  display: block;
  width: 3.1rem;
  height: 3px;
  margin-top: .35rem;
  border-radius: 2px;
  background: #E8B423;
  transform: rotate(-4deg);
}

.sav-lessons__quote footer {
  position: relative;
  font-size: .9rem;
  color: #5C7090;
}

.sav-explore {
  padding: 2.85rem 0 3.1rem;
  background: #fff;
}

.sav-explore__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.5rem;
}

.sav-topic {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  text-decoration: none;
  padding: 1.35rem 1rem 1.15rem;
  border-radius: 18px;
  min-height: 100%;
  transition: transform .2s var(--ease), box-shadow .2s var(--ease);
}

.sav-topic:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
  color: inherit;
}

.sav-topic__icon {
  display: grid;
  place-items: center;
  width: 3.35rem;
  height: 3.35rem;
  margin-bottom: .85rem;
  border-radius: 50%;
}

.sav-topic__icon svg {
  width: 1.45rem;
  height: 1.45rem;
  stroke: currentColor;
  stroke-width: 1.8;
}

.sav-topic h3 {
  margin: 0 0 .4rem;
  font-family: var(--font-heading);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1.3;
  color: var(--navy-800);
}

.sav-topic p {
  margin: 0 0 1rem;
  font-size: .82rem;
  line-height: 1.45;
  color: #5C6F86;
}

.sav-topic__go {
  display: grid;
  place-items: center;
  width: 2rem;
  height: 2rem;
  margin-top: auto;
  border-radius: 50%;
  background: #fff;
  color: var(--blue-600);
}

.sav-topic__go svg { width: 14px; height: 14px; }

.sav-topic--blue { background: #F3F7FF; }
.sav-topic--blue .sav-topic__icon { background: #DCE9FF; color: #1B6FE0; }
.sav-topic--gold { background: #FFF8E8; }
.sav-topic--gold .sav-topic__icon { background: #FFE9B8; color: #D39A12; }
.sav-topic--mint { background: #F1FBF6; }
.sav-topic--mint .sav-topic__icon { background: #D4F3E4; color: #2A9B6B; }
.sav-topic--rose { background: #FFF4F6; }
.sav-topic--rose .sav-topic__icon { background: #FFD9E0; color: #E23B52; }
.sav-topic--violet { background: #F6F3FF; }
.sav-topic--violet .sav-topic__icon { background: #E6DCFF; color: #6B4DE0; }

@media (max-width: 1050px) {
  .sav-explore__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .sav-lessons { padding: 2.5rem 0; }
  .sav-lessons__layout { grid-template-columns: 1fr; gap: 1.5rem; }
  .sav-kicker { display: block; }
  .sav-kicker::after { display: block; margin-top: .4rem; }
  .sav-explore { padding: 2.4rem 0 2.6rem; }
  .sav-explore__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .sav-explore__grid { grid-template-columns: 1fr; }
}

.sav-action {
  padding: 2.75rem 0 3rem;
  background: #fff;
}

.sav-action__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 2rem 2.75rem;
  align-items: center;
}

.sav-action__photo {
  position: relative;
  margin: 0;
  border-radius: 18px;
  overflow: hidden;
  background: var(--navy-800);
}

.sav-action__photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 500 / 276;
  object-fit: cover;
  object-position: center;
}

.sav-action__copy h2 {
  margin: 0 0 .45rem;
  font-family: var(--font-heading);
  font-size: clamp(1.65rem, 2.6vw, 2.2rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -.03em;
  color: var(--navy-800);
}

.sav-action__sub {
  margin: 0 0 1rem;
  font-size: 1.02rem;
  line-height: 1.5;
  color: #3E5A82;
}

.sav-action__copy > p:not(.sav-action__sub) {
  margin: 0 0 .85rem;
  font-size: .98rem;
  line-height: 1.6;
  color: #4A607C;
}

.sav-action__copy > p:last-child { margin-bottom: 0; }

@media (max-width: 800px) {
  .sav-action { padding: 2.3rem 0 2.5rem; }
  .sav-action__layout { grid-template-columns: 1fr; gap: 1.35rem; }
  .sav-action__photo img { aspect-ratio: 16 / 10; }
}

.sav-closing__eyebrow {
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .72);
  margin: 0 0 .55rem;
}

.sav-featured,
.sav-latest,
.sav-videos {
  padding: 5rem 0;
  background: var(--white);
}
.sav-latest,
.sav-videos { background: var(--surface); }
.sav-latest__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
}
.sav-videos__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.sav-video {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}
.sav-video__frame {
  position: relative;
  aspect-ratio: 16 / 9;
  background: var(--navy-800);
}
.sav-video__frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.sav-video h3 {
  margin: 0;
  padding: .95rem 1.1rem 1.1rem;
  font-family: var(--font-heading);
  font-size: 1.02rem;
  line-height: 1.35;
  color: var(--navy-800);
}
.sav-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  padding: 1.5rem;
}
.sav-card__cat {
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
  margin: 0 0 .45rem;
}
.sav-card h3 {
  font-family: var(--font-heading);
  font-size: 1.12rem;
  color: var(--navy-800);
  margin: 0 0 .5rem;
}
@media (max-width: 900px) {
  .sav-latest__grid { grid-template-columns: 1fr; }
}
@media (max-width: 1100px) {
  .sav-videos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .sav-videos__grid { grid-template-columns: 1fr; }
}

/* ==========================================================================
   14. CONTACT
   ========================================================================== */

#contact-form {
  scroll-margin-top: 7.5rem;
}
.ct-connect {
  padding: 5rem 0 2rem;
  background: var(--white);
}
.ct-connect__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 32rem);
  gap: 1.25rem 2rem;
  align-items: start;
  margin-bottom: 1.6rem;
}
.ct-connect__header .section-heading {
  margin: 0;
  text-align: left;
}
.ct-connect__intro {
  margin: .35rem 0 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.ct-connect__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.ct-link-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1.3rem 1.35rem;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(10, 56, 114, .08);
  box-shadow: 0 18px 42px rgba(12, 55, 117, .08);
  color: inherit;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ct-link-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 44px rgba(12, 55, 117, .12);
  border-color: rgba(22, 101, 216, .18);
}
.ct-link-card__icon {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  flex-shrink: 0;
}
.ct-link-card__icon svg {
  width: 2rem;
  height: 2rem;
}
.ct-link-card--blue .ct-link-card__icon {
  background: linear-gradient(135deg, #4FAAFF 0%, #256EE8 100%);
}
.ct-link-card--mint .ct-link-card__icon {
  background: linear-gradient(135deg, #42E0BF 0%, #16B98C 100%);
}
.ct-link-card--sky .ct-link-card__icon {
  background: linear-gradient(135deg, #73D4FF 0%, #37A0F6 100%);
}
.ct-link-card__copy {
  min-width: 0;
}
.ct-link-card__copy strong,
.ct-link-card__copy span {
  display: block;
}
.ct-link-card__copy strong {
  font-family: var(--font-heading);
  font-size: 1.16rem;
  font-weight: 800;
  line-height: 1.2;
  color: var(--navy-800);
  margin-bottom: .35rem;
}
.ct-link-card__copy span {
  font-size: .95rem;
  line-height: 1.55;
  color: var(--ink-soft);
}
.ct-link-card__arrow {
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid rgba(17, 88, 182, .35);
  color: var(--blue-600);
}
.ct-link-card__arrow svg {
  width: 1rem;
  height: 1rem;
}

.ct-conversation {
  padding: 1.25rem 0 5rem;
  background: var(--white);
}
.ct-conversation__grid {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
  gap: 1rem;
  align-items: stretch;
  margin-bottom: 1rem;
}
.ct-conversation__main {
  min-width: 0;
}
.ct-conversation__card,
.ct-where-panel {
  border-radius: 28px;
  box-shadow: 0 22px 56px rgba(9, 45, 95, .10);
}
.ct-conversation__card {
  padding: 1.2rem 1.15rem 1.1rem;
  background:
    radial-gradient(circle at top right, rgba(115, 182, 255, .18), transparent 34%),
    linear-gradient(180deg, #F7FBFF 0%, #EFF5FF 100%);
  border: 1px solid rgba(26, 88, 173, .09);
}
.ct-conversation__kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 .35rem;
  text-align: left;
}
.ct-conversation__kicker::after {
  content: "";
  width: 3rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.ct-conversation__card .section-heading {
  margin: 0;
  text-align: left;
  font-size: clamp(1.75rem, 2.55vw, 2.6rem);
  line-height: 1.06;
}
.ct-conversation__lead {
  margin: .25rem 0 0;
  font-size: .92rem;
  line-height: 1.5;
  color: var(--ink-soft);
}
.ct-alert {
  border-radius: var(--radius);
  padding: .9rem 1rem;
  margin: .9rem 0 0;
  font-size: .94rem;
  line-height: 1.55;
}
.ct-alert--success {
  background: #E8F7EE;
  color: var(--navy-800);
}
.ct-alert--error {
  background: #FDECEC;
  color: #8A1F1F;
}
.ct-fields {
  display: flex;
  flex-direction: column;
  gap: .68rem;
  margin-top: .8rem;
}
.ct-fields__row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .68rem;
}
.ct-fields p { margin: 0; }
.ct-fields label,
.ct-consent label {
  display: block;
  font-size: .8rem;
  font-weight: 700;
  color: var(--navy-800);
  margin-bottom: .22rem;
}
.ct-optional {
  font-weight: 500;
  color: var(--ink-soft);
}
.ct-fields input[type="text"],
.ct-fields input[type="email"],
.ct-fields select,
.ct-fields textarea {
  width: 100%;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  padding: .62rem .82rem;
  font: inherit;
  font-size: .94rem;
  color: var(--navy-800);
  background: rgba(255, 255, 255, .9);
}
.ct-fields textarea {
  min-height: 5.9rem;
  resize: vertical;
}
.ct-fields ::placeholder {
  color: #96A1B5;
}
.ct-fields input:focus,
.ct-fields select:focus,
.ct-fields textarea:focus {
  outline: none;
  border-color: var(--blue-500);
  box-shadow: 0 0 0 3px rgba(0, 148, 254, .16);
}
.ct-fields input[aria-invalid="true"],
.ct-fields select[aria-invalid="true"],
.ct-fields textarea[aria-invalid="true"] {
  border-color: #D45B5B;
}
.ct-error {
  display: block;
  margin-top: .2rem;
  font-size: .76rem;
  color: #8A1F1F;
}
.ct-consent label {
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  font-size: .78rem;
  font-weight: 500;
  line-height: 1.4;
}
.ct-consent input { margin-top: .2rem; }
.ct-privacy {
  font-size: .78rem;
  color: var(--ink-soft);
}
.ct-privacy a { color: var(--blue-600); }
.ct-fields > .btn {
  align-self: flex-start;
  min-width: 10.75rem;
  padding: .8rem 1.15rem;
  font-size: .95rem;
  justify-content: center;
  box-shadow: 0 18px 34px rgba(18, 88, 191, .2);
}

.ct-where {
  padding: 2rem 0 2.2rem;
  background: var(--white);
}
.ct-where__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 1.4rem;
  align-items: stretch;
  padding: 1.35rem;
  border-radius: 30px;
  background:
    radial-gradient(circle at top left, rgba(96, 165, 250, .14), transparent 28%),
    linear-gradient(180deg, #F7FBFF 0%, #EEF6FF 100%);
  border: 1px solid rgba(19, 82, 171, .08);
  box-shadow: 0 20px 44px rgba(12, 55, 117, .08);
}
.ct-where__copy {
  padding: .1rem 0;
}
.ct-where__kicker,
.ct-faq__kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 .45rem;
  text-align: left;
}
.ct-where__kicker::after,
.ct-faq__kicker::after {
  content: "";
  width: 3rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.ct-where__copy .section-heading,
.ct-faq__intro .section-heading {
  margin: 0;
  text-align: left;
  line-height: 1.08;
}
.ct-where__copy .section-heading {
  font-size: clamp(2rem, 3.2vw, 3.05rem);
}
.ct-where__body {
  margin: .65rem 0 0;
  max-width: 48ch;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.ct-where__cards {
  display: flex;
  flex-wrap: wrap;
  gap: .9rem;
  margin-top: 1.35rem;
}
.ct-state-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: center;
  min-width: 210px;
  padding: .75rem .95rem;
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  border: 1px solid rgba(19, 82, 171, .08);
  box-shadow: 0 14px 28px rgba(12, 55, 117, .08);
}
.ct-state-card__badge {
  width: 3.3rem;
  height: 3.3rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-heading);
  font-size: 1rem;
  font-weight: 800;
  color: #fff;
  background: linear-gradient(135deg, #59A9FF 0%, #215FD6 100%);
}
.ct-state-card__badge--alt {
  background: linear-gradient(135deg, #7AB8FF 0%, #3B7BEE 100%);
}
.ct-state-card h3 {
  margin: 0 0 .15rem;
  font-family: var(--font-heading);
  font-size: 1rem;
  line-height: 1.2;
  color: var(--navy-800);
}
.ct-state-card p {
  margin: 0;
  font-size: .88rem;
  line-height: 1.45;
  color: var(--ink-soft);
}
.ct-where__visual {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  justify-items: center;
  align-items: center;
  min-height: 320px;
  padding: .9rem 1.15rem 1.1rem;
  border-radius: 26px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .82), rgba(255, 255, 255, .4)),
    linear-gradient(120deg, #E9F3FF 0%, #A9D0FF 55%, #6AA8FF 100%);
}
.ct-where__map {
  position: relative;
  grid-row: 2;
  width: 100%;
  min-height: 230px;
  align-self: stretch;
}
.ct-where__map::before,
.ct-where__map::after {
  content: "";
  position: absolute;
  inset: 0;
}
.ct-where__map::before {
  background:
    linear-gradient(rgba(255, 255, 255, .62), rgba(255, 255, 255, .62)) 0 34% / 100% 2px no-repeat,
    linear-gradient(rgba(255, 255, 255, .62), rgba(255, 255, 255, .62)) 0 68% / 100% 2px no-repeat,
    linear-gradient(90deg, rgba(255, 255, 255, .45), rgba(255, 255, 255, .45)) 58% 0 / 2px 100% no-repeat;
  opacity: .85;
}
.ct-where__map::after {
  background:
    radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .9) 0 5px, transparent 6px),
    radial-gradient(circle at 83% 80%, rgba(255, 255, 255, .8) 0 4px, transparent 5px);
  opacity: .75;
}
.ct-where__shape {
  position: absolute;
  top: 6%;
  left: 34%;
  width: 36%;
  height: 78%;
  background: linear-gradient(135deg, rgba(8, 85, 199, .88), rgba(46, 124, 232, .76));
  clip-path: polygon(8% 13%, 42% 6%, 68% 0, 92% 19%, 95% 40%, 82% 54%, 85% 78%, 64% 100%, 45% 92%, 24% 84%, 12% 67%, 0 39%);
  box-shadow: 0 16px 36px rgba(16, 77, 167, .18);
}
.ct-where__pin {
  position: absolute;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  font-family: var(--font-heading);
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--navy-800);
}
.ct-where__pin-dot {
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 50%;
  background: #0E53C2;
  box-shadow: 0 0 0 5px rgba(255, 255, 255, .72);
}
.ct-where__pin-dot::after {
  content: "";
  display: block;
  width: .36rem;
  height: .36rem;
  margin: .345rem auto 0;
  border-radius: 50%;
  background: #fff;
}
.ct-where__pin--maryland {
  top: 18%;
  left: 46%;
}
.ct-where__pin--virginia {
  top: 46%;
  left: 40%;
}
.ct-where__phrase {
  position: relative;
  grid-row: 1;
  margin: .2rem 0 .4rem;
  transform: rotate(-6deg);
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(2rem, 3vw, 2.7rem);
  font-weight: 600;
  line-height: 1.02;
  max-width: none;
  text-align: center;
  color: #16407D;
}
.ct-where__phrase::after {
  content: "";
  display: block;
  width: 3.7rem;
  height: 3px;
  margin: .42rem auto 0;
  border-radius: 2px;
  background: #F5C518;
  transform: rotate(-8deg);
}

.ct-conversation__visual {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  min-height: 100%;
  box-shadow: 0 22px 56px rgba(9, 45, 95, .12);
}
.ct-conversation__visual img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.ct-opportunity-panel {
  position: absolute;
  top: 50%;
  right: 1.1rem;
  bottom: auto;
  transform: translateY(-50%);
  z-index: 1;
  width: min(238px, calc(100% - 2rem));
  padding: 1rem .95rem;
  border-radius: 24px;
  background: rgba(255, 255, 255, .88);
  backdrop-filter: blur(10px);
  box-shadow: 0 22px 44px rgba(10, 45, 90, .15);
}
.ct-opportunity-panel__item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: .85rem;
  align-items: start;
}
.ct-opportunity-panel__item + .ct-opportunity-panel__item {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(24, 65, 132, .08);
}
.ct-opportunity-panel__icon {
  width: 2.7rem;
  height: 2.7rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.ct-opportunity-panel__icon svg {
  width: 1.35rem;
  height: 1.35rem;
}
.ct-opportunity-panel__item h3 {
  margin: .05rem 0 .2rem;
  font-family: var(--font-heading);
  font-size: .9rem;
  line-height: 1.2;
  color: var(--navy-800);
}
.ct-opportunity-panel__item p {
  margin: 0;
  font-size: .76rem;
  line-height: 1.45;
  color: var(--ink-soft);
}
.ct-opportunity-panel__item--blue .ct-opportunity-panel__icon {
  background: #E7F2FF;
  color: #2E7BFF;
}
.ct-opportunity-panel__item--sky .ct-opportunity-panel__icon {
  background: #E8F8FF;
  color: #21A2F4;
}
.ct-opportunity-panel__item--indigo .ct-opportunity-panel__icon {
  background: #EEF0FF;
  color: #4167F5;
}
.ct-opportunity-panel__item--rose .ct-opportunity-panel__icon {
  background: #FFECEF;
  color: #FF5A68;
}

@media (max-width: 1100px) {
  .ct-connect__cards,
  .ct-conversation__grid,
  .ct-fields__row,
  .ct-where-panel {
    grid-template-columns: 1fr;
  }
  .ct-opportunity-panel {
    top: 50%;
    right: 1rem;
    bottom: auto;
    transform: translateY(-50%);
  }
}

@media (max-width: 900px) {
  .ct-connect__header {
    grid-template-columns: 1fr;
  }
  .ct-connect__intro {
    margin-top: 0;
  }
  .ct-conversation__visual {
    min-height: 420px;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 700px) {
  .ct-connect {
    padding: 3.5rem 0 1.6rem;
  }
  .ct-conversation,
  .ct-faq {
    padding: 1rem 0 3.5rem;
  }
  .ct-link-card {
    padding: 1.15rem 1.1rem;
  }
  .ct-conversation__card {
    padding: 1.5rem 1.15rem;
  }
  .ct-fields > .btn {
    width: 100%;
  }
  .ct-conversation__visual {
    min-height: 360px;
    aspect-ratio: 3 / 4;
  }
  .ct-opportunity-panel {
    position: absolute;
    width: calc(100% - 2rem);
    top: auto;
    right: 1rem;
    bottom: 1rem;
    transform: none;
  }
}

.ct-faq {
  padding: .4rem 0 5rem;
  background: var(--white);
}
.ct-faq__layout {
  display: grid;
  grid-template-columns: minmax(300px, .78fr) minmax(0, 1.22fr);
  gap: 1.3rem;
  align-items: start;
  padding: 1.25rem;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(96, 165, 250, .12), transparent 26%),
    linear-gradient(180deg, #F9FBFF 0%, #F2F7FF 100%);
  border: 1px solid rgba(19, 82, 171, .08);
  box-shadow: 0 20px 44px rgba(12, 55, 117, .08);
}
.ct-faq__intro {
  padding: .25rem 0;
}
.ct-faq__intro .section-heading {
  font-size: clamp(2rem, 3vw, 3rem);
}
.ct-faq__lead {
  margin: .75rem 0 0;
  max-width: 31ch;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--ink-soft);
}
.ct-faq__btn {
  margin-top: 1.3rem;
  border-radius: 999px;
  background: #fff;
  color: var(--navy-800);
  border-color: rgba(19, 82, 171, .18);
  box-shadow: 0 12px 28px rgba(12, 55, 117, .08);
}
.ct-faq__btn:hover {
  background: var(--surface);
  color: var(--navy-800);
  border-color: rgba(19, 82, 171, .24);
}
.ct-faq__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
}
.ct-faq details {
  background: #fff;
  border-radius: 18px;
  border: 1px solid rgba(19, 82, 171, .08);
  box-shadow: 0 12px 28px rgba(12, 55, 117, .06);
  padding: 0 1.1rem;
}
.ct-faq summary {
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: 1.02rem;
  font-weight: 700;
  color: var(--navy-800);
  padding: 1.05rem 0;
  list-style: none;
}
.ct-faq summary::-webkit-details-marker { display: none; }
.ct-faq summary::after {
  content: '+';
  float: right;
  color: var(--blue-600);
  font-weight: 800;
}
.ct-faq details[open] summary::after { content: '–'; }
.ct-faq details p {
  margin: 0 0 1.15rem;
  font-size: .95rem;
  line-height: 1.65;
  color: var(--ink-soft);
}
.ct-faq details a { color: var(--blue-600); }

@media (max-width: 1100px) {
  .ct-where__layout,
  .ct-faq__layout,
  .ct-faq__list {
    grid-template-columns: 1fr;
  }
  .ct-where__visual {
    min-height: 340px;
  }
  .ct-where__body,
  .ct-faq__lead {
    max-width: none;
  }
}

@media (max-width: 700px) {
  .ct-where {
    padding: 1.5rem 0 1.75rem;
  }
  .ct-where__layout,
  .ct-faq__layout {
    padding: 1rem;
  }
  .ct-where__cards {
    flex-direction: column;
  }
  .ct-state-card {
    min-width: 0;
  }
  .ct-where__visual {
    min-height: 300px;
  }
  .ct-where__pin {
    font-size: .98rem;
  }
  .ct-where__phrase {
    right: 1rem;
    font-size: 1.9rem;
  }
  .ct-faq { padding: 3.5rem 0; }
}

/* ==========================================================================
   15. GET INVOLVED
   ========================================================================== */

#ways-to-get-involved,
#interest-form,
#join-movement {
  scroll-margin-top: 7.5rem;
}
#join-movement { display: block; }

.gi-intro {
  padding: 4.2rem 0 1.1rem;
  background: var(--white);
}
.gi-intro__layout {
  display: grid;
  grid-template-columns: minmax(0, 32rem) minmax(0, 1fr);
  gap: 1.15rem 1.35rem;
  align-items: center;
}
.gi-intro__kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  margin: 0 0 .85rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
}
.gi-intro__kicker::after {
  content: "";
  width: 2.6rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.gi-intro__copy .section-heading {
  max-width: 14ch;
  margin-bottom: 1rem;
  font-size: clamp(2rem, 3.3vw, 2.85rem);
  line-height: 1.08;
  letter-spacing: -.03em;
}
.gi-intro__copy p {
  margin: 0 0 .9rem;
  max-width: none;
  font-size: 1.02rem;
  line-height: 1.65;
  color: #3E5A82;
}
.gi-intro__copy p:last-child { margin-bottom: 0; }
.gi-intro__visual {
  position: relative;
  margin: 0;
  min-height: 320px;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(12, 55, 117, .12);
}
.gi-intro__visual img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  object-position: 28% center;
}
.gi-intro__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 42%, rgba(1, 39, 92, .55) 100%);
  pointer-events: none;
}
.gi-intro__phrase {
  position: absolute;
  z-index: 1;
  top: 1.35rem;
  right: 1.25rem;
  margin: 0;
  max-width: 8.2rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.85rem, 2.5vw, 2.4rem);
  font-weight: 600;
  line-height: 1.02;
  text-align: right;
  color: #fff;
  text-shadow: 0 2px 12px rgba(1, 39, 92, .35);
}
.gi-intro__phrase::after {
  content: "";
  display: block;
  width: 4rem;
  height: 3px;
  margin: .35rem 0 0 auto;
  border-radius: 2px;
  background: #F5C518;
}

.gi-ways {
  padding: 1.4rem 0 4.5rem;
  background: var(--white);
}
.gi-ways__head .section-heading {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .4rem;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
}
.gi-ways__head .section-heading::after {
  content: "";
  width: 2.6rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.gi-ways .swb-lead {
  margin-bottom: 1.45rem;
  color: #5c6d82;
  font-size: 1.02rem;
}
.gi-ways__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.05rem;
}
.gi-way {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(108px, .82fr);
  gap: .7rem;
  align-items: stretch;
  min-width: 0;
  padding: .9rem .85rem .95rem 1rem;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #E6EEF8;
  box-shadow: 0 12px 28px rgba(12, 55, 117, .06);
}
.gi-way--warm {
  background: #FFF8EE;
  border-color: #F4E7C8;
}
.gi-way__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: .7rem;
  border-radius: 50%;
  background: #E8F2FF;
}
.gi-way__icon svg { width: 26px; height: 26px; }
.gi-way h3 {
  margin: 0 0 .35rem;
  font-size: 1.05rem;
  color: var(--navy-800);
}
.gi-way p {
  margin: 0 0 .75rem;
  font-size: .88rem;
  line-height: 1.45;
  color: #5c6d82;
}
.gi-way__more {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .92rem;
  font-weight: 700;
  color: var(--blue-600);
  text-decoration: none;
}
.gi-way__more:hover { color: var(--navy-700); }
.gi-way__more svg { width: 14px; height: 14px; }
.gi-way__photo {
  margin: 0;
  border-radius: 14px;
  overflow: hidden;
  min-height: 100%;
}
.gi-way__photo img {
  width: 100%;
  height: 100%;
  min-height: 168px;
  object-fit: cover;
  object-position: center;
}
.gi-note {
  font-size: .95rem;
  line-height: 1.6;
  color: var(--ink-soft);
  margin: 1.75rem 0 0;
  max-width: 70ch;
}
.gi-ways__grid .gi-note {
  align-self: center;
  margin: 0;
  max-width: none;
  padding: .2rem .15rem .2rem 1.05rem;
  border-left: 3px solid #F5C518;
  font-family: var(--font-heading);
  font-style: italic;
  font-weight: 700;
  font-size: 1.02rem;
  line-height: 1.45;
  color: var(--blue-600);
}
.gi-ways__grid .gi-note::before {
  content: "\201C";
  display: block;
  margin-bottom: .15rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 2.6rem;
  font-style: normal;
  font-weight: 600;
  line-height: .7;
  color: var(--blue-500);
}

.gi-bring {
  padding: 3.4rem 0 3.2rem;
  background: #F3F8FE;
}
.gi-bring__head .section-heading {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .45rem;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
}
.gi-bring__head .section-heading::after {
  content: "";
  width: 2.6rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.gi-bring .swb-lead {
  margin-bottom: 1.45rem;
  color: #3E5A82;
  font-size: 1.05rem;
}
.gi-bring__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .9rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gi-bring__grid li {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  min-width: 0;
  padding: 1.35rem .85rem 1.2rem;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(12, 55, 117, .06);
}
.gi-bring__icon {
  display: inline-flex;
  width: 36px;
  height: 36px;
  margin-bottom: .75rem;
  color: var(--blue-600);
}
.gi-bring__icon svg { width: 100%; height: 100%; }
.gi-bring__grid strong {
  display: block;
  margin-bottom: .4rem;
  font-family: var(--font-heading);
  font-size: .98rem;
  font-weight: 700;
  color: var(--navy-800);
}
.gi-bring__grid li span:last-child {
  font-size: .84rem;
  line-height: 1.45;
  color: #5c6d82;
}
.gi-why {
  padding: 2.6rem 0 3.4rem;
  background: #fff;
}
.gi-why__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 1.5rem 2.2rem;
  align-items: center;
}
.gi-why__copy .section-heading {
  display: inline-flex;
  align-items: center;
  gap: .75rem;
  margin-bottom: .7rem;
  font-size: .8rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--blue-600);
}
.gi-why__copy .section-heading::after {
  content: "";
  width: 2.6rem;
  height: 3px;
  border-radius: 2px;
  background: #F5C518;
}
.gi-why__copy > p {
  margin: 0 0 1.5rem;
  max-width: 52ch;
  font-size: 1.02rem;
  line-height: 1.6;
  color: #5c6d82;
}
.gi-why__points {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .7rem .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.gi-why__points li {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .45rem;
  text-align: center;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  line-height: 1.25;
  color: var(--navy-800);
}
.gi-why__icon {
  display: inline-flex;
  width: 34px;
  height: 34px;
  color: var(--blue-600);
}
.gi-why__icon svg { width: 100%; height: 100%; }
.gi-why__quote {
  position: relative;
  margin: 0;
  padding: 2.4rem 1.7rem 1.6rem;
  border-radius: 22px;
  background: #F7FBFF;
  box-shadow: 0 16px 36px rgba(12, 55, 117, .08);
  text-align: center;
}
.gi-why__mark {
  display: block;
  margin-bottom: .2rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 3.4rem;
  font-weight: 600;
  line-height: .6;
  color: var(--blue-500);
}
.gi-why__quote p {
  margin: 0 0 1.15rem;
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1.5vw, 1.22rem);
  font-style: italic;
  font-weight: 600;
  line-height: 1.45;
  color: var(--navy-800);
}
.gi-why__quote cite {
  display: flex;
  flex-direction: column;
  gap: .15rem;
  font-style: normal;
}
.gi-why__quote cite strong {
  font-family: var(--font-heading);
  font-size: .92rem;
  color: var(--navy-800);
}
.gi-why__quote cite span {
  font-size: .82rem;
  color: #6b7c90;
}

.gi-form {
  padding: 5rem 0;
  background: var(--surface);
}
.gi-form__inner { max-width: 760px; }
.gi-form .swb-lead { margin-bottom: 1.75rem; }
.gi-form .ct-fields > .btn { align-self: flex-start; }
.gi-pair .gi-form { padding: 1.15rem 0 1rem; }
.gi-form .section-heading {
  font-size: clamp(1.28rem, 1.8vw, 1.6rem);
  line-height: 1.15;
  margin-bottom: .28rem;
}
.gi-pair .gi-form .swb-lead {
  font-size: .92rem;
  line-height: 1.35;
  margin: 0 0 .45rem;
}
.gi-form .ct-fields {
  gap: .38rem;
  margin-top: 0;
}
.gi-form .ct-fields label,
.gi-form .ct-consent label {
  font-size: .72rem;
  margin-bottom: .1rem;
}
.gi-form .ct-fields input[type="text"],
.gi-form .ct-fields input[type="email"],
.gi-form .ct-fields select,
.gi-form .ct-fields textarea {
  padding: .34rem .65rem;
  font-size: .88rem;
  border-radius: 8px;
}
.gi-pair .gi-form { padding: .85rem 0 .7rem; }
.gi-form .ct-fields textarea {
  min-height: 0;
  height: 2.65rem;
  resize: vertical;
}
@media (min-width: 701px) {
  .gi-form .gi-checks__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.gi-form .gi-checks legend {
  font-size: .72rem;
  margin-bottom: .22rem;
}
.gi-form .gi-checks__grid { gap: .16rem .75rem; }
.gi-form .gi-checks__grid label {
  font-size: .82rem;
  gap: .38rem;
  align-items: center;
}
.gi-form .ct-consent label {
  font-size: .72rem;
  line-height: 1.3;
  gap: .4rem;
}
.gi-form .ct-privacy {
  font-size: .7rem;
  margin: 0;
  line-height: 1.3;
}
.gi-form .gi-note {
  margin: 0;
  font-size: .7rem;
  line-height: 1.35;
}
.gi-form .ct-fields > .btn {
  padding: .5rem .95rem;
  font-size: .88rem;
  min-width: 0;
  box-shadow: none;
}
.gi-checks {
  border: 0;
  margin: 0;
  padding: 0;
}
.gi-checks legend {
  font-size: .88rem;
  font-weight: 700;
  color: var(--navy-800);
  margin-bottom: .65rem;
}
.gi-checks__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .55rem 1rem;
}
.gi-checks__grid label {
  display: flex;
  gap: .55rem;
  align-items: flex-start;
  font-size: .95rem;
  font-weight: 500;
  color: var(--navy-800);
  margin: 0;
}
.gi-connect {
  padding: 5rem 0;
  background: var(--white);
}
.gi-connect__grid {
  display: grid;
  grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
  gap: 3.25rem;
  align-items: center;
}
.gi-connect__photo {
  margin: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
  aspect-ratio: 4 / 5;
  max-height: 460px;
}
.gi-connect__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
}
.gi-connect__copy {
  max-width: 38rem;
}
.gi-connect__eyebrow {
  font-family: var(--font-heading);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--blue-600);
  margin: 0 0 .55rem;
}
.gi-connect__copy .swb-heading { margin: 0 0 .65rem; }
.gi-connect__copy .swb-lead { margin: 0 0 1.15rem; }
.gi-connect__body {
  font-size: 1.05rem;
  line-height: 1.7;
  color: var(--ink-soft);
  margin: 0 0 1.5rem;
}
.gi-connect__copy .btn { margin-top: .1rem; }
.gi-connect__photo--wide {
  aspect-ratio: 4 / 3;
  max-height: 400px;
}
.gi-connect__photo--wide img {
  object-position: 72% center;
}

.gi-band {
  background: #F4F7FC;
}
.gi-pair {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: stretch;
  width: 100%;
  max-width: var(--container);
  margin-inline: auto;
  padding-inline: var(--gutter);
}
.gi-pair .gi-form__inner {
  max-width: none;
  margin: 0;
  padding-left: 0;
  padding-right: 1.35rem;
}
.gi-connect.gi-connect--panel {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 100%;
  padding: 3.5rem 0;
  overflow: hidden;
  background: var(--navy-800);
  color: #fff;
}
.gi-connect--panel .gi-connect__bg {
  position: absolute;
  inset: 0;
  margin: 0;
}
.gi-connect--panel .gi-connect__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
}
.gi-connect--panel .gi-connect__bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(1, 22, 58, .84) 0%, rgba(1, 42, 98, .58) 46%, rgba(8, 40, 96, .32) 100%);
}
.gi-connect--panel .gi-connect__copy {
  position: relative;
  z-index: 1;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  max-width: none;
  box-sizing: border-box;
  padding-left: 2.2rem;
  padding-right: 2.2rem;
}
.gi-connect--panel .gi-connect__eyebrow { color: #F5C518; }
.gi-connect--panel .swb-heading,
.gi-connect--panel .section-heading { color: #fff; }
.gi-connect--panel .swb-lead { color: rgba(255, 255, 255, .88); }
.gi-connect--panel .gi-connect__body { color: rgba(255, 255, 255, .92); }
.gi-connect--panel .btn--primary {
  background: #fff;
  color: var(--navy-800);
  border-color: #fff;
}
.gi-connect--panel .btn--primary:hover {
  background: var(--blue-500);
  color: #fff;
  border-color: var(--blue-500);
}

@media (max-width: 900px) {
  .gi-intro__layout { grid-template-columns: 1fr; }
  .gi-intro__copy .section-heading { max-width: 16ch; }
  .gi-intro__visual,
  .gi-intro__visual img { min-height: 260px; }
  .gi-pair { grid-template-columns: 1fr; }
  .gi-pair .gi-form__inner {
    padding-left: 0;
    padding-right: 0;
  }
  .gi-connect--panel .gi-connect__copy {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .gi-connect.gi-connect--panel { min-height: 28rem; }
  .gi-connect__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .gi-connect__photo {
    max-height: 280px;
    aspect-ratio: 16 / 9;
  }
  .gi-connect__photo img { object-position: center 18%; }
}
@media (max-width: 700px) {
  .gi-connect { padding: 3.5rem 0; }
}

@media (max-width: 1100px) {
  .gi-ways__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gi-bring__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gi-why__layout { grid-template-columns: 1fr; }
  .gi-why__points { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .gi-form .ct-fields__row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .gi-pair .gi-form { padding: 1.5rem 0 1.25rem; }
  .gi-form .ct-fields input[type="text"],
  .gi-form .ct-fields input[type="email"],
  .gi-form .ct-fields select,
  .gi-form .ct-fields textarea { padding: .5rem .7rem; }
  .gi-form .ct-fields textarea { min-height: 3rem; }
  .gi-form .ct-fields__row { grid-template-columns: 1fr; }
  .gi-bring { padding: 2.6rem 0 2.2rem; }
  .gi-why { padding: 2rem 0 2.6rem; }
  .gi-bring__grid { grid-template-columns: 1fr 1fr; }
  .gi-bring__grid li:last-child { grid-column: 1 / -1; max-width: 50%; justify-self: center; width: 100%; }
  .gi-why__copy > p { max-width: none; }
  .gi-why__points { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .gi-why__points li { grid-column: span 2; }
  .gi-why__points li:nth-child(4) { grid-column: 2 / span 2; }
  .gi-why__points li:nth-child(5) { grid-column: 4 / span 2; }
  .gi-intro { padding: 2.4rem 0 .6rem; }
  .gi-intro__kicker {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: .4rem;
    max-width: 100%;
    font-size: .72rem;
    letter-spacing: .08em;
    white-space: normal;
  }
  .gi-ways { padding: .8rem 0 3rem; }
  .gi-ways__grid,
  .gi-checks__grid { grid-template-columns: 1fr; }
  .gi-way { grid-template-columns: minmax(0, 1fr) 132px; }
  .gi-intro__phrase { font-size: 2rem; }
}

/* ==========================================================================
   16. HOMEPAGE SAMPLE REWORK
   ========================================================================== */

.page-home .section-heading.home-focus__heading,
.page-home .home-quicklinks__heading {
  max-width: none;
}

.home-link {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  font-family: var(--font-heading);
  font-size: .92rem;
  font-weight: 700;
  color: var(--blue-600);
  text-decoration: none;
}

.home-placeholder {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px dashed rgba(1, 54, 122, .22);
  background:
    linear-gradient(135deg, rgba(0, 148, 254, .12), rgba(1, 54, 122, .04)),
    repeating-linear-gradient(
      -45deg,
      rgba(255, 255, 255, .55) 0 14px,
      rgba(255, 255, 255, .2) 14px 28px
    );
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 1.5rem;
  color: var(--navy-700);
}

.home-placeholder__label {
  font-family: var(--font-heading);
  font-size: .84rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-placeholder__sub {
  display: block;
  font-size: .9rem;
  color: var(--ink-soft);
  margin-top: .35rem;
}

.home-hero {
  position: relative;
  padding: 0;
  background: var(--white);
}

.home-hero__banner {
  position: relative;
}

.home-hero__content {
  position: relative;
  z-index: 2;
  min-height: 430px;
  display: flex;
  align-items: center;
}

.home-hero__copy {
  max-width: 32rem;
  padding: 2.2rem 1rem 2.2rem 0;
}

.home-hero__eyebrow {
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: .95rem;
  font-style: italic;
  color: rgba(255, 255, 255, .88);
}

.home-hero__title {
  margin: 0 0 .9rem;
  font-size: clamp(2.5rem, 5vw, 4.3rem);
  line-height: .95;
  letter-spacing: -.04em;
  color: #fff;
}

.home-hero__body {
  max-width: 30rem;
  margin: 0 0 1.4rem;
  font-size: 1.02rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, .9);
}

.home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
}
.home-hero__actions .btn--primary {
  background: #fff;
  color: var(--navy-800);
  box-shadow: none;
}
.home-hero__actions .btn--primary:hover {
  background: var(--blue-500);
  color: #fff;
}
.home-hero__actions .btn--ghost {
  background: transparent;
  color: #fff;
  border-color: rgba(255, 255, 255, .7);
}
.home-hero__actions .btn--ghost:hover {
  background: rgba(255, 255, 255, .14);
  color: #fff;
  border-color: #fff;
}

.home-hero__slider {
  position: absolute;
  inset: 0;
  width: 100%;
  min-height: 100%;
  overflow: hidden;
  background: #E7F0FB;
}

.home-hero__slides {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100%;
}

.home-hero__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .8s var(--ease);
}

.home-hero__slide.is-active {
  position: relative;
  height: 100%;
  opacity: 1;
}

@keyframes kenburns {
  0% { transform: scale(1); }
  100% { transform: scale(1.08); }
}

.home-hero__slide img {
  width: 100%;
  height: 100%;
  min-height: 430px;
  object-fit: cover;
  object-position: center;
  display: block;
  transform: scale(1);
  will-change: transform;
}

.home-hero__slide:first-child img {
  object-position: center 10%;
}

.home-hero__slide:nth-child(2) img {
  object-position: center 35%;
}

.home-hero__slide.is-active img {
  animation: kenburns 8s linear forwards;
}

.home-hero__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(1, 22, 68, .92) 0%,
    rgba(1, 34, 98, .78) 26%,
    rgba(1, 48, 120, .4) 52%,
    rgba(1, 54, 122, .1) 74%,
    rgba(1, 54, 122, 0) 100%
  );
  pointer-events: none;
}

.home-hero__dots {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 1.1rem;
  display: flex;
  gap: .45rem;
  z-index: 2;
}

.home-hero__dots .hero-dot {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, .75);
  background: transparent;
  padding: 0;
}

.home-hero__dots .hero-dot.is-active {
  background: #fff;
  border-color: #fff;
}

.home-stats {
  margin-top: -1.35rem;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.35fr repeat(4, 1fr);
  border-radius: var(--radius-lg);
  background: #fff;
  box-shadow: var(--shadow-md);
  overflow: hidden;
}

.home-stat {
  padding: 1.15rem 1.2rem;
  border-right: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 100px;
}

.home-stat:last-child { border-right: 0; }

.home-stat--intro {
  background: linear-gradient(135deg, rgba(0, 148, 254, .14), rgba(0, 148, 254, .04));
}

.home-stat h2,
.home-stat strong {
  margin: 0 0 .25rem;
  font-family: var(--font-heading);
  color: var(--navy-800);
}

.home-stat h2 {
  font-size: 1.18rem;
  line-height: 1.2;
}

.home-stat strong {
  font-size: 1.7rem;
  line-height: 1.05;
}

.home-stat span {
  font-size: .84rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.home-focus {
  padding: 4.8rem 0;
  background: var(--white);
}

.home-focus__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.3rem;
  margin-top: 2.2rem;
}

.home-focus__card {
  display: flex;
  flex-direction: column;
  gap: .85rem;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border-radius: var(--radius-lg);
  padding: .65rem .65rem 1rem;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
}

.home-focus__card > h3,
.home-focus__card > p,
.home-focus__card > span {
  padding: 0 .5rem;
}

.home-focus__card > span {
  margin-top: auto;
}

.home-focus__figure {
  margin: 0;
  border-radius: var(--radius-md) var(--radius-md) 0 0;
  overflow: hidden;
  height: 180px;
}

.home-focus__figure img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-focus__icon {
  width: 60px;
  height: 60px;
  margin: -1.75rem 0 0 1rem;
  position: relative;
  z-index: 2;
  border-radius: 50%;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.home-focus__icon svg {
  width: 32px;
  height: 32px;
}

.home-placeholder--card {
  aspect-ratio: 4 / 3;
  border-style: solid;
}

.home-focus__card h3 {
  margin: 0;
  font-size: 1rem;
  color: var(--navy-800);
}

.home-focus__card p {
  margin: 0;
  font-size: .9rem;
  line-height: 1.55;
  color: var(--ink-soft);
}

.home-focus__card span:last-child {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin-top: auto;
  font-size: .84rem;
  font-weight: 700;
  color: var(--blue-600);
}

.home-why {
  padding: 4.5rem 0 5rem;
  background: #fff;
  overflow: hidden;
}

.home-why__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 1.15fr) minmax(0, 1fr);
  gap: 2rem 1.5rem;
  align-items: center;
}

.home-why__quote,
.home-why__copy {
  min-width: 0;
}

.home-why__quote .section-kicker {
  text-align: left;
  margin-bottom: 1rem;
}

.home-why__quote blockquote {
  position: relative;
  margin: 0 0 1.35rem;
  padding: .35rem 0 0 1.85rem;
}

.home-why__quote blockquote::before {
  content: "\201C";
  position: absolute;
  top: -0.35rem;
  left: -0.15rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 4.25rem;
  line-height: 1;
  color: var(--blue-400);
  opacity: .7;
}

.home-why__quote blockquote p {
  margin: 0;
  font-family: var(--font-heading);
  font-size: clamp(1.05rem, 1.45vw, 1.28rem);
  font-weight: 500;
  line-height: 1.38;
  color: var(--navy-800);
}

.home-why__quote footer {
  margin-top: 1.15rem;
}

.home-why__quote cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: .15rem;
}

.home-why__quote cite strong {
  font-family: var(--font-heading);
  font-size: .95rem;
  color: var(--navy-800);
}

.home-why__quote cite span {
  font-size: .88rem;
  color: var(--ink-soft);
}

.home-why__founder {
  margin: 0;
  min-width: 0;
}

.home-why__founder img {
  display: block;
  width: 100%;
  max-width: 520px;
  height: auto;
  margin: 0 auto;
}

.home-why__copy .section-heading {
  margin: 0 0 .9rem;
  max-width: 16ch;
  text-align: left;
  line-height: 1.2;
}

.home-why__copy p {
  margin: 0 0 1.15rem;
  max-width: 38ch;
  line-height: 1.7;
  color: var(--ink-soft);
}

.home-impact {
  padding: 5rem 0;
  background: var(--white);
}

.home-impact__panel {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.15fr);
  align-items: stretch;
  overflow: hidden;
  border-radius: 22px;
  background: var(--navy-800);
}

.home-impact__visual {
  position: relative;
  margin: 0;
  min-width: 0;
  overflow: hidden;
}

.home-impact__visual img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
}

.home-impact__card {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 0;
  color: #fff;
  padding: 1.5rem 2.6rem 1.4rem 2.2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--navy-800);
}

.home-impact__caption {
  position: absolute;
  top: 12%;
  right: 1.4rem;
  left: auto;
  bottom: auto;
  z-index: 1;
  margin: 0;
  max-width: 11ch;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 600;
  line-height: 1.12;
  color: #fff;
  text-align: right;
  text-shadow: 0 2px 12px rgba(1, 54, 122, .35);
}

.home-impact__card .section-heading,
.home-impact__card .section-kicker {
  margin-inline: 0;
  text-align: left;
}

.home-impact__card .section-heading {
  max-width: none;
  width: 100%;
  margin-bottom: .45rem;
  white-space: nowrap;
  text-wrap: nowrap;
  font-size: clamp(1.55rem, 2.15vw, 2.15rem);
}

.home-impact__copy {
  margin: 0 0 1rem;
  max-width: none;
  color: rgba(255, 255, 255, .84);
  line-height: 1.45;
  font-size: .98rem;
}

.home-impact__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
  margin-bottom: 1.1rem;
  width: 100%;
}

.home-impact__facts div {
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 14px;
  padding: .75rem .8rem;
}

.home-impact__facts strong {
  display: block;
  font-family: var(--font-heading);
  font-size: clamp(1.2rem, 1.7vw, 1.55rem);
  line-height: 1.05;
}

.home-impact__facts span {
  display: block;
  margin-top: .22rem;
  font-size: .72rem;
  line-height: 1.3;
  color: rgba(255, 255, 255, .74);
}

.home-impact__card .btn--primary {
  align-self: flex-start;
  background: #fff;
  color: var(--navy-800);
  border: 2px solid #fff;
  border-radius: 999px;
  box-shadow: none;
}

.home-impact__card .btn--primary:hover {
  background: #eef4ff;
  color: var(--navy-800);
  border-color: #eef4ff;
}

@media (min-width: 901px) {
  .home-why,
  .home-impact {
    padding: 0;
  }

  .home-impact > .container {
    max-width: none;
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }

  .home-why__grid {
    gap: 1rem;
    padding: 1.2rem 0 0;
  }

  .home-why__founder img {
    max-width: 365px;
  }

  .home-impact__panel {
    width: 100%;
    border-radius: 0;
  }
}

@media (max-width: 1200px) and (min-width: 901px) {
  .home-impact__panel {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  }

  .home-impact__card {
    padding: 1.3rem 1.8rem 1.25rem 1.8rem;
  }

  .home-impact__card .section-heading {
    font-size: clamp(1.35rem, 2.3vw, 1.8rem);
  }
}

.home-stories {
  padding: 5rem 0;
  background: var(--paper);
}

.home-stories__grid,
.home-leaders__grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 1.8rem;
  align-items: center;
}

.home-stories__copy .section-heading,
.home-leaders__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.home-stories__copy .section-kicker,
.home-leaders__copy .section-kicker {
  text-align: left;
}

.home-stories__copy p,
.home-leaders__copy p {
  margin: 0 0 1.1rem;
  color: var(--ink-soft);
  line-height: 1.7;
}

.home-stories__video {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--navy-800);
  box-shadow: var(--shadow-md);
}
.home-stories__video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.home-stories__thumbs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .9rem;
}

.home-placeholder--thumb {
  min-height: 96px;
  border-radius: 14px;
}

.home-leaders {
  padding: 4.8rem 0;
  background: var(--white);
}
.home-leaders__grid--intro {
  grid-template-columns: minmax(0, 42rem);
}

.home-leaders__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}

.home-person {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  padding: .9rem;
}

.home-placeholder--person {
  aspect-ratio: 1 / 1;
  margin-bottom: .8rem;
  border-radius: 16px;
}

.home-person h3 {
  margin: 0 0 .18rem;
  font-size: .98rem;
  color: var(--navy-800);
}

.home-person p {
  margin: 0 0 .55rem;
  font-size: .83rem;
  color: var(--ink-soft);
}

.home-person blockquote {
  margin: 0;
  padding: .7rem .75rem;
  border-radius: 12px;
  background: #fff;
  font-size: .84rem;
  line-height: 1.45;
  color: var(--ink-soft);
}

.home-movement {
  padding: 2.4rem 0 2.6rem;
  background: linear-gradient(180deg, #F7F9FC 0%, #EEF3FA 100%);
}

.home-movement__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .9fr);
  grid-template-rows: auto auto;
  column-gap: 1rem;
  align-items: end;
}

.home-movement__copy {
  grid-column: 1;
  grid-row: 1;
  padding-bottom: .35rem;
}

.home-movement__copy .section-heading,
.home-movement__copy .section-kicker {
  margin-inline: 0;
  text-align: left;
}

.home-movement__copy .section-heading {
  margin-bottom: .45rem;
  white-space: nowrap;
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.home-movement__copy p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.55;
  max-width: 46ch;
}

.home-movement__ways {
  grid-column: 1 / -1;
  grid-row: 2;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(5, minmax(92px, 118px));
  gap: .75rem;
  margin: 1.15rem 0 0;
  padding: 0;
  list-style: none;
}

.home-movement__ways a {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: .4rem;
  min-height: 96px;
  padding: .7rem .45rem;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 10px 24px rgba(1, 54, 122, .08);
  color: var(--navy-800);
  text-decoration: none;
  font-family: var(--font-heading);
  font-size: .82rem;
  font-weight: 700;
}

.home-movement__ways a:hover {
  color: var(--blue-600);
  transform: translateY(-2px);
}

.home-movement__icon {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  color: var(--blue-600);
}

.home-movement__icon svg {
  width: 26px;
  height: 26px;
}

.home-movement__banner {
  grid-column: 2;
  grid-row: 1 / span 2;
  position: relative;
  margin: 0;
  min-width: 0;
  align-self: stretch;
}

.home-movement__banner img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: contain;
  object-position: right center;
}

.home-movement__caption {
  position: absolute;
  top: .35rem;
  right: .2rem;
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  font-weight: 600;
  line-height: 1.05;
  color: var(--blue-500);
  text-align: right;
}

.home-movement__cta {
  position: absolute;
  right: 0;
  bottom: 1.15rem;
  z-index: 3;
}

.home-quicklinks {
  padding: 4.5rem 0 4.8rem;
  background: var(--paper);
}

.home-quicklinks__head {
  max-width: 40rem;
  margin-bottom: 2rem;
}

.home-quicklinks__head .section-kicker,
.home-quicklinks__head .section-heading {
  margin-inline: 0;
  text-align: left;
}

.home-quicklinks__head p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.6;
}

.home-quicklinks__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.2fr);
  gap: 1.15rem;
  align-items: stretch;
}

.home-quicklinks__featured {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: 2rem 1.7rem 1.7rem;
  border-radius: 22px;
  background: var(--navy-800);
  color: #fff;
  text-decoration: none;
}

.home-quicklinks__featured .section-kicker {
  margin-inline: 0;
  text-align: left;
}

.home-quicklinks__featured h3 {
  margin: 0 0 .7rem;
  font-size: clamp(1.7rem, 2.6vw, 2.2rem);
  color: #fff;
}

.home-quicklinks__featured p {
  margin: 0 0 1.4rem;
  max-width: 28ch;
  color: rgba(255, 255, 255, .82);
  line-height: 1.55;
}

.home-quicklinks__featured span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  font-family: var(--font-heading);
  font-size: .92rem;
  font-weight: 700;
  color: #fff;
}

.home-quicklinks__featured:hover {
  color: #fff;
}

.home-quicklinks__featured:hover span {
  gap: .65rem;
}

.home-quicklinks__list {
  display: flex;
  flex-direction: column;
  gap: .65rem;
}

.home-quicklinks__list a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: .9rem;
  align-items: center;
  padding: .9rem 1rem;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  text-decoration: none;
  color: inherit;
}

.home-quicklinks__list a:hover {
  border-color: rgba(10, 76, 196, .28);
  box-shadow: 0 8px 20px rgba(1, 54, 122, .06);
}

.home-quicklinks__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: var(--surface);
  color: var(--blue-600);
}

.home-quicklinks__icon svg {
  width: 22px;
  height: 22px;
}

.home-quicklinks__list strong {
  display: block;
  margin-bottom: .18rem;
  color: var(--navy-800);
  font-family: var(--font-heading);
  font-size: .95rem;
}

.home-quicklinks__list em {
  display: block;
  font-style: normal;
  color: var(--ink-soft);
  font-size: .86rem;
  line-height: 1.45;
}

.home-quicklinks__list a > svg {
  color: var(--blue-600);
}

@media (max-width: 1100px) {
  .home-stories__grid,
  .home-leaders__grid {
    grid-template-columns: 1fr;
  }

  .home-movement__copy .section-heading {
    white-space: normal;
  }

  .home-movement__ways {
    grid-template-columns: repeat(5, minmax(80px, 1fr));
  }

  .home-why__grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 2rem 1.75rem;
  }

  .home-why__founder {
    grid-column: 1 / -1;
    order: -1;
    max-width: 420px;
    margin: 0 auto;
  }

  .home-why__copy .section-heading {
    max-width: none;
  }

  .home-stats {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-stat--intro {
    grid-column: 1 / -1;
  }

  .home-focus__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .home-leaders__cards {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .home-quicklinks__layout {
    grid-template-columns: 1fr;
  }

  .home-quicklinks__featured {
    min-height: 240px;
  }

  .home-impact__panel {
    grid-template-columns: 1fr;
    height: auto;
  }

  .home-impact__visual {
    min-height: 0;
    height: auto;
  }

  .home-impact__card {
    padding: 1.8rem 1.4rem 1.7rem;
  }

  .home-impact__card .section-heading,
  .home-impact__copy {
    max-width: none;
    white-space: normal;
    text-wrap: pretty;
  }

  .home-impact__caption {
    top: 1.1rem;
    left: auto;
    right: 1.2rem;
    bottom: auto;
    text-align: right;
  }

  .home-hero__content {
    min-height: 0;
    height: auto;
    padding-block: 1.4rem 2.4rem;
  }

  .home-hero__slide img {
    min-height: 100%;
  }

  .home-hero__shade {
    background: linear-gradient(
      90deg,
      rgba(1, 22, 68, .94) 0%,
      rgba(1, 34, 98, .82) 38%,
      rgba(1, 48, 120, .4) 68%,
      rgba(1, 54, 122, 0) 90%
    );
  }
}

@media (max-width: 700px) {
  .home-hero,
  .home-focus,
  .home-why,
  .home-impact,
  .home-stories,
  .home-leaders,
  .home-movement,
  .home-quicklinks {
    padding: 3.5rem 0;
  }

  .home-hero { padding: 0 0 2.5rem; }

  .home-hero__slider {
    inset: 0;
  }

  .home-hero__title {
    font-size: clamp(1.85rem, 8.4vw, 2.45rem);
    line-height: 1.05;
  }

  .home-hero__content {
    min-height: 0;
    height: auto;
    align-items: flex-start;
    padding-block: 1.15rem 2.35rem;
  }

  .home-hero__slider,
  .home-hero__slides,
  .home-hero__slide img {
    min-height: 100%;
    height: 100%;
  }

  .home-hero__shade {
    background: linear-gradient(
      180deg,
      rgba(1, 22, 68, .9) 0%,
      rgba(1, 34, 98, .82) 52%,
      rgba(1, 48, 120, .72) 100%
    );
  }

  .home-hero__copy {
    max-width: none;
    padding: .25rem 0 0;
  }

  .home-hero__body {
    max-width: none;
    font-size: .96rem;
    margin-bottom: 1.05rem;
  }

  .home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .home-hero__actions .btn {
    width: 100%;
    justify-content: center;
  }

  .home-hero__actions .btn--ghost {
    background: transparent;
    color: #fff;
    border-color: rgba(255, 255, 255, .75);
  }

  .home-hero__dots {
    bottom: .75rem;
  }

  .home-stats,
  .home-focus__grid,
  .home-stories__thumbs {
    grid-template-columns: 1fr;
  }

  .home-impact__facts {
    grid-template-columns: 1fr;
    gap: .55rem;
  }

  .home-impact__facts div {
    padding: .85rem .75rem;
  }

  .home-impact__card .section-heading {
    font-size: clamp(1.45rem, 6.5vw, 1.85rem);
  }

  .home-why__grid {
    grid-template-columns: 1fr;
    gap: 2.25rem;
  }

  .home-why__founder {
    order: 0;
    max-width: 340px;
    margin: 0 auto;
  }

  .home-why__quote blockquote {
    padding-left: 1.6rem;
  }

  .home-why__copy .section-heading,
  .home-why__copy p {
    max-width: none;
  }

  .home-movement__ways {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-movement__ways li:last-child {
    grid-column: 1 / -1;
    max-width: 50%;
    justify-self: center;
  }

  .home-movement__inner {
    grid-template-columns: 1fr;
  }

  .home-movement__copy,
  .home-movement__ways,
  .home-movement__banner {
    grid-column: 1;
    grid-row: auto;
  }

  .home-movement__banner img {
    min-height: 200px;
    object-position: center;
  }

  .home-movement__cta {
    position: static;
    margin-top: 1rem;
    justify-self: start;
  }
}

/* ==========================================================================
  11. MOTION & PRINT
   ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  .site-header, .site-footer, .skip-link { display: none !important; }
}

/* ==========================================================================
   12. OUR-WHY & OUR-IMPACT REDESIGN OVERRIDES (Sept 2026)
   ========================================================================== */

/* --- OUR WHY: italic blockquote --- */
.home-why__quote blockquote p {
  font-style: italic;
}

/* --- OUR WHY: founder figure positioning for decorative elements --- */
.home-why__founder {
  position: relative;
  overflow: hidden;
}

/* --- OUR WHY: wavy SVG shape behind founder photo --- */
.home-why__wave {
  position: absolute;
  top: -1rem;
  left: -1rem;
  width: calc(100% + 2rem);
  height: calc(100% + 2rem);
  z-index: 0;
  pointer-events: none;
}

.home-why__founder img {
  position: relative;
  z-index: 1;
  border-radius: 0px;
}

/* --- OUR WHY: decorative cursive text overlay --- */
.home-why__deco-text {
  position: absolute;
  top: 22%;
  right: -0.5rem;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .1rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.15rem, 1.6vw, 1.5rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--blue-500);
  opacity: .55;
  text-align: right;
  pointer-events: none;
}

.home-why__deco-text span {
  display: block;
}

/* --- OUR IMPACT: caption sits in the sky, button stays solid white --- */

/* --- Responsive: hide deco text on smaller screens --- */
@media (max-width: 991px) {
  .home-why__deco-text {
    display: none;
  }
  .home-why__wave {
    left: -1rem;
    width: calc(100% + 2rem);
  }
}

/* ==========================================================================
   OUR STORY PAGE
   ========================================================================== */
.os-hero {
  position: relative;
  overflow: hidden;
  min-height: 460px;
  background: #01367A;
}

.os-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: right 30%;
}

.os-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    #01275C 0%,
    rgba(1, 39, 92, .94) 26%,
    rgba(1, 54, 122, .55) 48%,
    rgba(1, 54, 122, 0) 70%
  );
  pointer-events: none;
  z-index: 0;
}

.os-hero__inner {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  min-height: 460px;
  padding-top: 3.2rem;
  padding-bottom: 3.2rem;
}

.os-hero__copy {
  max-width: 28rem;
}

.os-hero__copy .section-kicker,
.os-hero__copy .os-hero__title {
  margin-inline: 0;
  text-align: left;
}

.os-hero__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .85rem;
  color: rgba(255, 255, 255, .82);
}

.os-hero__copy .section-kicker::after {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: #F5C518;
}

.os-hero__title {
  margin: 0 0 .9rem;
  font-size: clamp(2.15rem, 4.6vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -.03em;
  color: #fff;
}

.os-hero__body {
  max-width: 36ch;
  margin: 0 0 1.4rem;
  color: rgba(255, 255, 255, .88);
  line-height: 1.65;
}

.os-hero__copy .btn--primary {
  background: #fff;
  color: var(--navy-800);
  box-shadow: none;
}

.os-hero__copy .btn--primary:hover {
  background: #eef4ff;
  color: var(--navy-800);
}

.os-exist {
  position: relative;
  padding: 4.6rem 0 4.2rem;
  background:
    radial-gradient(ellipse 70% 80% at 50% 0%, rgba(0, 132, 254, .08), transparent 60%),
    linear-gradient(180deg, #F4F8FD 0%, #fff 100%);
  text-align: center;
  overflow: hidden;
}

.os-exist::before {
  content: "Opportunity";
  position: absolute;
  left: 50%;
  top: .2rem;
  transform: translateX(-50%);
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 12vw, 8.5rem);
  font-weight: 700;
  letter-spacing: -.05em;
  color: rgba(1, 54, 122, .045);
  white-space: nowrap;
  pointer-events: none;
}

.os-exist .section-kicker {
  position: relative;
}

.os-exist__title {
  position: relative;
  margin: 0 auto 2rem;
  max-width: 16ch;
  font-size: clamp(2rem, 4.2vw, 3rem);
  line-height: 1.12;
  color: var(--navy-800);
}

.os-exist__title em {
  display: inline-block;
  font-style: normal;
  background: linear-gradient(180deg, transparent 62%, rgba(245, 197, 24, .45) 62%);
}

.os-exist__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
  text-align: left;
  max-width: 920px;
  margin: 0 auto 2rem;
}

.os-exist__card {
  background: #fff;
  border: 1px solid rgba(1, 54, 122, .08);
  border-radius: 22px;
  padding: 1.6rem 1.5rem 1.5rem;
  box-shadow: 0 16px 36px rgba(1, 54, 122, .07);
}

.os-exist__num {
  display: inline-block;
  margin-bottom: .7rem;
  font-family: var(--font-heading);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .16em;
  color: var(--blue-600);
}

.os-exist__card h3 {
  margin: 0 0 .55rem;
  font-size: 1.15rem;
  color: var(--navy-800);
}

.os-exist__card p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.7;
}

.os-exist__cta {
  position: relative;
}

.os-quote {
  background: var(--navy-800);
  color: #fff;
  padding: 1.6rem 0;
}

.os-quote__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: 1.25rem 1.5rem;
  align-items: center;
}

.os-quote__photo {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
  object-position: 28% 18%;
  background: #fff;
}

.os-quote blockquote {
  margin: 0;
}

.os-quote blockquote p {
  margin: 0 0 .7rem;
  font-family: var(--font-heading);
  font-size: clamp(1rem, 1.6vw, 1.2rem);
  font-weight: 500;
  font-style: italic;
  line-height: 1.55;
}

.os-quote cite {
  font-style: normal;
  display: flex;
  flex-direction: column;
  gap: .1rem;
}

.os-quote cite strong {
  color: #fff;
  font-family: var(--font-heading);
}

.os-quote cite span {
  color: rgba(255, 255, 255, .7);
  font-size: .86rem;
}

.os-quote__deco {
  margin: 0;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 1.45rem;
  font-weight: 600;
  line-height: 1.1;
  color: rgba(255, 255, 255, .88);
}

.os-quote__cta {
  background: #fff;
  color: var(--navy-800);
  box-shadow: none;
}

.os-quote__cta:hover {
  background: #eef4ff;
  color: var(--navy-800);
}

.os-bio {
  padding: 4.6rem 0 5rem;
  background: #F7F4EF;
}

.os-bio__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr);
  gap: 2.75rem 3.5rem;
  align-items: start;
}

.os-bio__copy .section-kicker,
.os-bio__copy .section-heading {
  margin-inline: 0;
  text-align: left;
}

.os-bio__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: .7rem;
}

.os-bio__copy .section-kicker::after {
  content: "";
  width: 2.2rem;
  height: 2px;
  background: #F5C518;
}

.os-bio__copy .section-heading {
  max-width: none;
  margin-bottom: .45rem;
}

.os-bio__sub {
  margin: 0 0 1.2rem;
  color: var(--ink);
  font-size: 1.05rem;
}

.os-bio__copy > p {
  margin: 0 0 1rem;
  color: var(--ink-soft);
  line-height: 1.75;
}

.os-bio__sign {
  margin: 1.5rem 0 .1rem !important;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 2.15rem;
  font-weight: 600;
  color: var(--navy-800) !important;
  line-height: 1;
}

.os-bio__name {
  margin: 0 0 .1rem !important;
  font-family: var(--font-heading);
  font-weight: 700;
  color: var(--navy-800) !important;
}

.os-bio__role {
  margin: 0 !important;
  font-size: .92rem;
}

.os-bio__cards {
  display: flex;
  flex-direction: column;
  gap: 1.15rem;
}

.os-bio__card {
  overflow: hidden;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 12px 30px rgba(35, 38, 44, .07);
}

.os-bio__card img {
  width: 100%;
  height: 158px;
  object-fit: cover;
  display: block;
}

.os-bio__card--portrait {
  display: grid;
  grid-template-columns: 13.5rem minmax(0, 1fr);
  align-items: stretch;
  min-height: 15.5rem;
}

.os-bio__card--portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 8%;
}

.os-bio__card--portrait > div {
  align-items: center;
}

.os-bio__card > div {
  display: flex;
  align-items: flex-start;
  gap: .7rem;
  padding: .95rem 1.1rem 1.05rem;
}

.os-flag,
.os-bio__icon {
  flex: 0 0 auto;
  margin-top: .15rem;
}

.os-flag {
  width: 22px;
  height: 15px;
  border-radius: 2px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .08);
}

.os-bio__icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  color: var(--blue-600);
}

.os-bio__icon svg {
  width: 20px;
  height: 20px;
}

.os-bio__card p {
  margin: 0;
}

.os-bio__card strong {
  display: block;
  margin-bottom: .18rem;
  color: var(--navy-800);
  font-size: .95rem;
}

.os-bio__card span {
  display: block;
  color: var(--ink-soft);
  font-size: .86rem;
  line-height: 1.45;
}

.os-commit {
  position: relative;
  color: #fff;
  padding: 3.6rem 0;
  min-height: 280px;
  background-color: #01367A;
  background-image: url("../images/mylife_long_commitment.webp");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
}

.os-commit__grid {
  position: relative;
  z-index: 1;
  display: block;
}

.os-commit__copy {
  max-width: 34rem;
}

.os-commit__copy .section-kicker {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  text-align: left;
  margin-inline: 0;
  margin-bottom: .75rem;
  color: rgba(255, 255, 255, .82);
}

.os-commit__copy .section-kicker::after {
  content: "";
  width: 2.4rem;
  height: 2px;
  background: #F5C518;
}

.os-commit__title {
  margin: 0 0 .85rem;
  font-size: clamp(1.7rem, 3.2vw, 2.45rem);
  line-height: 1.15;
  color: #fff;
  max-width: 18em;
}

.os-commit__copy p {
  margin: 0;
  max-width: 36ch;
  color: rgba(255, 255, 255, .86);
  line-height: 1.6;
}

@media (max-width: 767px) {
  .os-commit {
    min-height: 0;
    padding: 0;
    background-image: none;
  }

  .os-commit::before {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 3 / 1;
    background: url("../images/mylife_long_commitment.webp") center / cover no-repeat;
  }

  .os-commit__grid {
    padding-top: 2.25rem;
    padding-bottom: 2.5rem;
  }

  .os-commit__copy {
    max-width: none;
  }

  .os-commit__title {
    max-width: 20ch;
    font-size: clamp(1.75rem, 7.6vw, 2.1rem);
    line-height: 1.12;
  }

  .os-commit__title br {
    display: none;
  }
}

.os-evolve {
  padding: 4.8rem 0;
  background: #fff;
}

.os-evolve__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 2.5rem;
  align-items: center;
}

.os-evolve__copy .section-heading {
  margin-inline: 0;
  text-align: left;
  max-width: 16ch;
}

.os-evolve__copy p {
  margin: 0 0 1rem;
  color: var(--ink-soft);
  line-height: 1.7;
}

.os-evolve__copy .btn {
  margin-top: .4rem;
}

.os-evolve__visual {
  position: relative;
  margin: 0;
}

.os-evolve__visual img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  border-radius: 22px;
  display: block;
}

.os-evolve__visual figcaption {
  position: absolute;
  top: 1.1rem;
  right: 1.2rem;
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 600;
  line-height: 1.05;
  color: #fff;
  text-align: right;
  text-shadow: 0 2px 12px rgba(1, 54, 122, .3);
}

.os-values {
  padding: 4.4rem 0 5rem;
  background: #fff;
  text-align: center;
}

.os-values .section-kicker,
.os-values .section-heading {
  text-align: center;
}

.os-values__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1.1rem;
  margin-top: 2.2rem;
  text-align: left;
}

.os-values__grid article {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 1.4rem 1.2rem 1.3rem;
  box-shadow: 0 8px 22px rgba(1, 54, 122, .05);
}

.os-values__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  margin-bottom: .85rem;
  border-radius: 50%;
  background: var(--surface);
  color: var(--blue-600);
}

.os-values__icon svg {
  width: 22px;
  height: 22px;
}

.os-values__grid h3 {
  margin: 0 0 .4rem;
  font-size: 1.02rem;
  color: var(--navy-800);
}

.os-values__grid p {
  margin: 0;
  color: var(--ink-soft);
  font-size: .92rem;
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .os-quote__inner {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .os-quote__deco { display: none; }
  .os-quote__cta { justify-self: start; }
}

@media (max-width: 900px) {
  .os-exist__grid,
  .os-bio__grid,
  .os-evolve__grid,
  .os-values__grid {
    grid-template-columns: 1fr;
  }

  .os-hero,
  .os-hero__inner { min-height: 380px; }
  .os-hero__inner { padding-top: 2rem; padding-bottom: 2rem; }
  .os-hero__title { font-size: clamp(1.9rem, 8vw, 2.6rem); }
  .os-quote__inner { gap: 1rem; }
  .os-quote__photo { width: 80px; height: 80px; }
  .os-bio__card img { height: 180px; }
  .os-evolve__visual img { height: 220px; }
  .os-values__grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  .os-hero::after {
    background: linear-gradient(
      180deg,
      rgba(1, 39, 92, .96) 0%,
      rgba(1, 54, 122, .9) 55%,
      rgba(1, 54, 122, .62) 100%
    );
  }
  .os-hero__bg {
    object-position: 78% top;
  }
  .os-hero__inner {
    flex-direction: column;
    min-height: 0;
  }
  .os-hero__copy .btn { width: 100%; justify-content: center; }
  .os-quote__inner { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .os-values__grid { grid-template-columns: 1fr; }
  .os-quote__cta { width: 100%; justify-content: center; }
}

/* ==========================================================================
   GALLERY
   ========================================================================== */
.gallery {
  padding: 3.4rem 0 4rem;
  background: #F4F7FC;
}
.gallery .swb-lead { margin-bottom: 1.6rem; }
.gallery-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.gallery-card {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  border-radius: 16px;
  overflow: hidden;
  background: var(--navy-800);
  cursor: pointer;
  aspect-ratio: 4 / 3;
}
.gallery-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s var(--ease);
}
.gallery-card:hover img,
.gallery-card:focus-visible img { transform: scale(1.04); }
.gallery-card:focus-visible {
  outline: 3px solid var(--blue-500);
  outline-offset: 3px;
}
.gallery-lightbox {
  width: min(1080px, calc(100vw - 2rem));
  max-height: calc(100vh - 2rem);
  padding: 0;
  border: 0;
  background: transparent;
  overflow: visible;
}
.gallery-lightbox::backdrop { background: rgba(1, 22, 58, .82); }
.gallery-lightbox__img {
  display: block;
  width: 100%;
  max-height: calc(100vh - 4rem);
  object-fit: contain;
  border-radius: 12px;
  background: #01163a;
}
.gallery-lightbox__close,
.gallery-lightbox__nav {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--navy-800);
  cursor: pointer;
}
.gallery-lightbox__close {
  top: .6rem;
  right: .6rem;
  width: 2.4rem;
  height: 2.4rem;
  font-size: 1.6rem;
  line-height: 1;
}
.gallery-lightbox__nav {
  top: 50%;
  width: 2.6rem;
  height: 2.6rem;
  transform: translateY(-50%);
}
.gallery-lightbox__prev { left: .6rem; }
.gallery-lightbox__next { right: .6rem; }

/* Client feedback: preserve photographs and the words baked into banners. */
.home-stats { grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr)); }
.home-hero__body strong { font-weight: 700; }
.home-hero__dots {
  top: 1rem;
  right: var(--gutter);
  bottom: auto;
  left: auto;
  transform: none;
  align-items: center;
  z-index: 4;
}
.home-hero__dots .hero-dot,
.home-hero__dots .hero-dot.is-active {
  width: 24px;
  height: 24px;
  border: 0;
  background: transparent;
}
.home-hero__dots .hero-dot::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: 7px;
  border: 1px solid #fff;
  border-radius: 50%;
  box-sizing: border-box;
}
.home-hero__dots .hero-dot.is-active::before { background: #fff; }
.os-bio__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.os-bio__card--portrait img {
  width: 100%;
  max-width: none;
  height: 100%;
  max-height: none;
  margin: 0;
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center 8%;
}
@media (max-width: 560px) {
  .os-bio__card--portrait {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .os-bio__card--portrait img {
    height: 280px;
  }
}
.os-bio__card:last-child img {
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  object-position: center top;
}
.oi-contrib-card img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 180px;
  margin-inline: auto;
  aspect-ratio: auto;
  object-fit: contain;
}
.oi-contrib-card { display: block; }
.oi-contrib-card > div { padding: 1.25rem; }
.hero-pause {
  width: 30px;
  height: 30px;
  border: 1px solid #fff;
  border-radius: 4px;
  background: #01367A;
  color: #fff;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: .9rem;
}

.full-banner {
  display: grid;
  padding: 0;
  min-height: 0;
  background-image: none;
}
.full-banner__image {
  grid-area: 1 / 1;
  width: 100%;
  height: auto;
  align-self: center;
  display: block;
}
.full-banner__message {
  position: absolute;
  z-index: 3;
  top: 18%;
  right: 3%;
  width: 20%;
  max-width: 280px;
  margin: 0;
  color: var(--navy-800);
  font-family: "Caveat", "Segoe Script", cursive;
  font-size: 2.5rem;
  font-weight: 600;
  line-height: 1.05;
  text-align: center;
}
.full-banner__message span { display: block; white-space: nowrap; }
.full-banner__message::after {
  content: "";
  display: block;
  width: 80%;
  height: 5px;
  margin: .5rem auto 0;
  border-radius: 50%;
  background: #F5C518;
  transform: rotate(-8deg);
}
.full-banner > .container {
  position: relative;
  z-index: 2;
  grid-area: 1 / 1;
  width: 100%;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  align-self: center;
}
.full-banner .oi-movement__copy,
.full-banner .oes-close__copy,
.full-banner .lwi-close__copy,
.full-banner .swb-vision__copy { max-width: 44%; }
.full-banner .swb-vision__copy .section-heading { white-space: normal; font-size: 2rem; }
.full-banner h2 { white-space: normal; font-size: 2rem; letter-spacing: 0; }
.full-banner::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(1, 28, 78, .9), rgba(1, 28, 78, .6) 44%, transparent 60%);
}
.full-banner.full-banner--background {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  min-height: 420px;
  background-image: url("../images/people%20support%20possibities.webp");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.full-banner.full-banner--background::before { display: block; }
.full-banner--background > .container { padding-block: 3rem; }

.sav-library { padding: 3rem 0 4rem; background: #fff; }
.sav-library > .container > .section-heading { text-align: left; margin-inline: 0; }
.sav-topic-filters,
.sav-category-links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.5rem 0 2rem; }
.sav-topic-filters[hidden],
.sav-category[hidden] { display: none; }
.sav-topic-filters button {
  padding: .65rem .85rem;
  border: 1px solid #B6C6DB;
  border-radius: 4px;
  background: #fff;
  color: #01367A;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.4;
  letter-spacing: 0;
}
.sav-topic-filters button[aria-pressed="true"] { background: #01367A; border-color: #01367A; color: #fff; }
.sav-topic-filters button:hover { border-color: #01367A; }
.sav-category { padding: 2rem 0; border-top: 1px solid #D8E1EC; scroll-margin-top: 100px; }
.sav-category__heading h3 { font-size: 1.5rem; line-height: 1.3; margin: 0 0 .5rem; letter-spacing: 0; }
.sav-category__heading p { color: #3E5A82; margin: 0 0 1.5rem; }
.sav-category .sav-videos__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.5rem; }
.sav-category .sav-video { min-width: 0; border-radius: 8px; }
.sav-video h4 { font-size: 1rem; line-height: 1.5; margin: 1rem 0 .75rem; overflow-wrap: anywhere; letter-spacing: 0; }
.sav-video .home-link { font-size: .9rem; }
.sav-video h4 a { color: inherit; }
.sav-video h4 a:hover { color: #0A4CC4; text-decoration: underline; }
.video-detail { padding: 3rem 0 4rem; }
.video-detail .container { max-width: 1000px; }
.video-detail .section-kicker { margin-top: 2rem; }
.video-detail h1 { font-size: 2rem; line-height: 1.4; margin: 1rem 0 1.5rem; overflow-wrap: anywhere; letter-spacing: 0; }
.video-detail__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 1rem; }
.video-detail__meta time { color: #3E5A82; }
.sav-category__empty { border-left: 3px solid #F5C518; padding: .25rem 0 .25rem 1rem; }
.sav-category__empty p { margin: 0 0 .75rem; }

@media (max-width: 1100px) {
  .full-banner { display: flex; flex-direction: column; }
  .full-banner__image { order: 1; }
  .full-banner__message { font-size: 1.75rem; }
  .full-banner > .container { padding-top: 2rem; padding-bottom: 2rem; }
  .full-banner::before { display: none; }
  .full-banner .oi-movement__copy,
  .full-banner .oes-close__copy,
  .full-banner .lwi-close__copy,
  .full-banner .swb-vision__copy { max-width: 100%; }
  .full-banner--background .oes-close__copy,
  .full-banner--background .lwi-close__copy,
  .full-banner--background .swb-vision__copy { max-width: 60%; }
  .full-banner .swb-vision__copy .section-heading { font-size: 1.75rem; }
  .full-banner .lwi-close__layout { min-height: 0; }
  .full-banner h2 { font-size: 1.75rem; }
  .home-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-stat--intro { grid-column: 1 / -1; }
  .sav-category .sav-videos__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .full-banner__message { font-size: 1.4rem; }
  .os-bio__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .full-banner.full-banner--background {
    min-height: 640px;
    align-items: start;
    background-position: 70% center;
  }
  .full-banner.full-banner--background::before {
    background: linear-gradient(180deg, rgba(1, 28, 78, .94), rgba(1, 28, 78, .8) 60%, rgba(1, 28, 78, .2));
  }
  .full-banner--background > .container { padding: 2.5rem var(--gutter) 11rem; }
  .full-banner--background .oes-close__copy,
  .full-banner--background .lwi-close__copy,
  .full-banner--background .swb-vision__copy { max-width: 100%; }
  .full-banner__message {
    top: auto;
    bottom: 1.5rem;
    right: var(--gutter);
    width: 150px;
    color: #fff;
    font-size: 1.75rem;
  }
  .full-banner__message::after { height: 3px; margin-top: .25rem; }
  .home-stats,
  .sav-category .sav-videos__grid { grid-template-columns: minmax(0, 1fr); }
  .sav-topic-filters button { max-width: 100%; text-align: left; }
  .sav-category__heading h3 { font-size: 1.25rem; }
}

@media (max-width: 900px) {
  .gallery { padding: 2.4rem 0 3rem; }
  .gallery-grid { grid-template-columns: 1fr 1fr; gap: .7rem; }
}
@media (max-width: 520px) {
  .gallery-lightbox__nav { display: none; }
}

.legal-page {
  padding: 3.25rem 0 4.5rem;
  background: #fff;
}
.legal-page__wrap { max-width: 42rem; }
.legal-page h1 {
  margin: 0 0 .55rem;
  font-family: var(--font-heading);
  font-size: clamp(2rem, 4vw, 2.7rem);
  line-height: 1.15;
  color: var(--navy-800);
}
.legal-page__date {
  margin: 0 0 1.35rem;
  color: var(--ink-soft);
  font-size: .95rem;
}
.legal-page__lead,
.legal-page p,
.legal-page li {
  color: #3d4553;
  font-size: 1.02rem;
  line-height: 1.7;
}
.legal-page h2 {
  margin: 2rem 0 .45rem;
  font-family: var(--font-heading);
  font-size: 1.28rem;
  line-height: 1.3;
  color: var(--navy-800);
}
.legal-page ul {
  margin: .35rem 0 0;
  padding-left: 1.2rem;
}
.legal-page li + li { margin-top: .35rem; }
.legal-page a { color: var(--blue-600); }
.legal-page a:hover { text-decoration: none; }
