/* ==========================================================================
   SOUAE theme — single source of truth stylesheet
   Tokens → base → chrome → shared components → page sections → home → responsive
   ========================================================================== */

/* ==========================================================================
   Special Olympics UAE — base + shared header/footer
   Design tokens from the HTML export
   ========================================================================== */

:root {
  --souae-black: #0a0a0a;
  --souae-white: #ffffff;
  --souae-red: #ff0000;
  --souae-red-dark: #c90000;
  --souae-border: #e7e5d8;
  --souae-border-soft: #f1efe4;
  --souae-muted: #9a9a90;
  --souae-gray: #636359;
  --souae-utility-muted: #b9b9b9;
  --souae-utility-dim: #8a8a8a;
  --souae-max: 1440px;
  --souae-gutter: 40px;
  --souae-gutter-lg: 80px;
  --souae-font: "Ubuntu", sans-serif;
  --souae-mono: "Ubuntu Mono", ui-monospace, monospace;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background: var(--souae-white);
  color: var(--souae-black);
  font-family: var(--souae-font);
  -webkit-font-smoothing: antialiased;
}

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

a {
  color: var(--souae-black);
  text-decoration: none;
}

a:hover {
  color: var(--souae-red);
}

a:focus-visible,
button:focus-visible,
input:focus-visible {
  outline: 3px solid var(--souae-red);
  outline-offset: 3px;
}

::selection {
  background: var(--souae-red);
  color: var(--souae-white);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition: none !important;
    animation: none !important;
    scroll-behavior: auto !important;
  }
}

.souae-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 12px 16px;
  background: var(--souae-red);
  color: var(--souae-white);
  font-weight: 700;
}

.souae-skip:focus {
  left: 16px;
  top: 16px;
}

.souae-wrap {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding-left: var(--souae-gutter);
  padding-right: var(--souae-gutter);
}

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */

.souae-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--souae-white);
  border-bottom: 1px solid var(--souae-border);
}

.souae-utility {
  background: var(--souae-black);
  color: var(--souae-white);
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.souae-utility__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 28px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.souae-utility__left,
.souae-utility__right {
  display: flex;
  gap: 24px;
  align-items: center;
  flex-wrap: wrap;
}

.souae-utility__right {
  gap: 28px;
}

.souae-utility a {
  color: var(--souae-utility-muted);
}

.souae-utility a:hover {
  color: var(--souae-white);
}

.souae-utility__right > a:not(.souae-utility__employee) {
  color: var(--souae-white);
}

.souae-utility__right > a:not(.souae-utility__employee):hover {
  color: #ff6666;
}

.souae-utility__employee {
  color: var(--souae-utility-dim) !important;
}

.souae-utility__employee:hover {
  color: var(--souae-white) !important;
}

.souae-utility__sep {
  color: #444;
}

.souae-utility__muted {
  color: var(--souae-white);
  opacity: 0.7;
  cursor: default;
}

.souae-header__bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding-top: 16px;
  padding-bottom: 16px;
  position: relative;
}

.souae-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.souae-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  font-size: 15px;
  font-weight: 500;
}

.souae-nav a.is-current {
  color: var(--souae-red);
  font-weight: 700;
}

.souae-btn {
  background: var(--souae-red);
  color: var(--souae-white) !important;
  font-family: inherit;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 14px 24px;
  border: 0;
  border-radius: 5px;
  display: inline-block;
  flex-shrink: 0;
  white-space: nowrap;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  line-height: normal;
  box-sizing: border-box;
}
button.souae-btn {
  font: inherit;
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.souae-btn--lg {
  font-size: 16px;
  letter-spacing: 0.06em;
  padding: 20px 36px;
}

.souae-btn:hover {
  background: var(--souae-red-dark);
  color: var(--souae-white) !important;
}

.souae-btn--dark {
  background: #0a0a0a;
  color: #fff !important;
}

.souae-btn--dark:hover {
  background: var(--souae-red);
  color: #fff !important;
}

.souae-btn--dark.is-disabled {
  opacity: 0.35;
  pointer-events: none;
}

.souae-nav .souae-menu-join {
  display: none !important;
}

.souae-burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  flex: none;
  border: 1px solid var(--souae-black);
  border-radius: 6px;
  background: var(--souae-white);
  cursor: pointer;
  padding: 0;
}

.souae-burger span {
  display: block;
  width: 20px;
  height: 2px;
  background: var(--souae-black);
  transition: transform 0.25s, opacity 0.25s;
}

.souae-header.souae-menu-open .souae-burger span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.souae-header.souae-menu-open .souae-burger span:nth-child(2) {
  opacity: 0;
}

.souae-header.souae-menu-open .souae-burger span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

/* --------------------------------------------------------------------------
   Footer
   -------------------------------------------------------------------------- */

.souae-footer {
  background: var(--souae-white);
  border-top: 1px solid var(--souae-border);
}

.souae-footer__newsletter {
  background: #0a0a0a;
  color: #fff;
}

.souae-footer__newsletter-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 48px;
  flex-wrap: wrap;
  padding-top: 56px;
  padding-bottom: 56px;
  padding-left: var(--souae-gutter-lg);
  padding-right: var(--souae-gutter-lg);
}

.souae-footer__newsletter-copy {
  max-width: 520px;
  flex: 1 1 360px;
}

.souae-footer__newsletter-copy h3 {
  margin: 0;
  font-size: 26px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-footer__newsletter-copy p {
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.55;
  color: #c9c9c9;
}

.souae-footer__newsletter-form {
  flex: 1 1 320px;
  max-width: 480px;
  min-width: min(100%, 280px);
}

.souae-footer__newsletter .wpcf7 {
  margin: 0;
}

.souae-footer__newsletter .wpcf7 form,
.souae-footer__newsletter .wpcf7 form > p {
  display: flex;
  gap: 10px;
  flex-wrap: nowrap;
  align-items: stretch;
  margin: 0;
  width: 100%;
}

.souae-footer__newsletter .wpcf7 form > p > br {
  display: none;
}

.souae-footer__newsletter .wpcf7 label {
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.souae-footer__newsletter .wpcf7-form-control-wrap {
  flex: 1 1 auto;
  min-width: 0;
}

.souae-footer__newsletter .wpcf7 input[type="email"] {
  width: 100%;
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 0;
  background: #0a0a0a;
  color: #fff;
  padding: 14px 16px;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.06em;
}

.souae-footer__newsletter .wpcf7 input[type="email"]::placeholder {
  color: rgba(255, 255, 255, 0.55);
}

.souae-footer__newsletter .wpcf7 input[type="submit"] {
  background: #ff0000;
  color: #fff;
  border: none;
  font-family: var(--souae-font);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  padding: 14px 22px;
  border-radius: 5px;
  cursor: pointer;
  white-space: nowrap;
  text-transform: uppercase;
}

.souae-footer__newsletter .wpcf7 input[type="submit"]:hover {
  background: #c90000;
}

.souae-footer__newsletter .wpcf7-response-output {
  margin: 12px 0 0;
  width: 100%;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.4);
}

.souae-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  padding-top: 56px;
  padding-bottom: 56px;
  padding-left: var(--souae-gutter-lg);
  padding-right: var(--souae-gutter-lg);
}

.souae-footer__nav {
  display: flex;
  gap: 28px;
  flex-wrap: wrap;
  font-size: 14px;
}

.souae-footer__nav a {
  color: var(--souae-gray);
}

.souae-footer__nav a:hover,
.souae-footer__nav a.is-current {
  color: var(--souae-red);
}

.souae-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
  flex-wrap: wrap;
  font-size: 13px;
  color: var(--souae-muted);
  border-top: 1px solid var(--souae-border-soft);
  padding-top: 24px;
  padding-bottom: 40px;
  padding-left: var(--souae-gutter-lg);
  padding-right: var(--souae-gutter-lg);
}

.souae-footer__meta {
  margin: 0;
  max-width: 520px;
  line-height: 1.6;
}

.souae-footer__meta a {
  color: var(--souae-muted);
}

.souae-footer__meta a:hover {
  color: var(--souae-red);
}

.souae-footer__social,
.souae-footer__legal {
  display: flex;
  gap: 20px;
  align-items: center;
  flex-wrap: wrap;
}

.souae-footer__social a,
.souae-footer__legal a {
  color: var(--souae-muted);
}

.souae-footer__legal a {
  color: var(--souae-gray);
}

.souae-footer__social a:hover,
.souae-footer__legal a:hover {
  color: var(--souae-red);
}

.souae-footer__muted {
  color: var(--souae-muted);
}

/* --------------------------------------------------------------------------
   Main / stubs
   -------------------------------------------------------------------------- */

.souae-main {
  min-height: 50vh;
}

.souae-stub {
  max-width: 720px;
  margin: 0 auto;
  padding: 96px var(--souae-gutter);
}

.souae-stub h1 {
  margin: 0 0 16px;
  font-size: clamp(36px, 6vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.souae-stub p {
  margin: 0;
  font-size: 18px;
  line-height: 1.5;
  color: var(--souae-gray);
}

/* --------------------------------------------------------------------------
   Responsive header / footer
   -------------------------------------------------------------------------- */

@media (max-width: 1100px) {
  .souae-nav {
    display: none;
  }

  .souae-burger {
    display: inline-flex;
  }

  .souae-header-join {
    margin-inline-start: auto;
    margin-inline-end: 12px;
  }

  .souae-header.souae-menu-open .souae-nav {
    display: flex;
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--souae-white);
    padding: 8px 24px 24px;
    border-bottom: 1px solid var(--souae-border);
    box-shadow: 0 18px 30px rgba(10, 10, 10, 0.1);
    max-height: calc(100vh - 120px);
    overflow-y: auto;
  }

  .souae-header.souae-menu-open .souae-nav > a {
    padding: 14px 2px;
    border-bottom: 1px solid var(--souae-border-soft);
    font-size: 18px;
  }

  .souae-header.souae-menu-open .souae-nav .souae-menu-join {
    display: inline-block !important;
    margin-top: 18px;
    text-align: center;
  }

  .souae-footer__top,
  .souae-footer__bottom,
  .souae-footer__newsletter-inner {
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (max-width: 1100px) {
  :root {
    --souae-gutter-lg: 32px;
  }
}

@media (max-width: 720px) {
  :root {
    --souae-gutter: 20px;
    --souae-gutter-lg: 20px;
  }

  .souae-utility {
    display: none;
  }

  .souae-header-join {
    display: none;
  }

  .souae-logo__img {
    height: 38px !important;
  }

  .souae-footer__top,
  .souae-footer__bottom,
  .souae-footer__newsletter-inner {
    padding-left: 20px;
    padding-right: 20px;
  }

  .souae-footer__top {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .souae-footer__newsletter-inner {
    padding-top: 40px;
    padding-bottom: 40px;
    gap: 28px;
  }

  .souae-footer__newsletter-copy {
    max-width: none;
    flex: 1 1 100%;
  }

  .souae-footer__newsletter-form {
    flex: 1 1 100%;
    max-width: none;
  }

  .souae-footer__newsletter-copy h3 {
    font-size: 22px;
  }

  .souae-footer__newsletter .wpcf7 form > p {
    flex-wrap: wrap;
  }
}

.souae-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.souae-quick__inner{padding-left:var(--souae-gutter-lg);padding-right:var(--souae-gutter-lg)}

/* ==========================================================================
   Shared page components & interior layouts
   ========================================================================== */

.souae-eyebrow {
  margin: 0 0 16px;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  color: var(--souae-red);
  font-weight: 700;
  text-transform: uppercase;
}

.souae-eyebrow--light {
  color: #ff6b6b;
}

.souae-section-title {
  margin: 0;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-btn-outline {
  border: 2px solid var(--souae-white);
  color: var(--souae-white) !important;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 18px 34px;
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.souae-btn-outline:hover {
  border-color: #ff4d4d;
  color: #ff4d4d !important;
}

.souae-link-arrow {
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
}

.souae-link-underline {
  display: inline-block;
  color: var(--souae-white) !important;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--souae-red);
  padding-bottom: 3px;
}

.souae-link-underline:hover {
  color: #ff4d4d !important;
}

/* ---- Hero (home) ---- */
.souae-hero {
  position: relative;
  z-index: 0;
  min-height: 700px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--souae-white);
  overflow: hidden;
  background: var(--souae-black);
}

.souae-hero__media {
  position: absolute;
  inset: -9% 0;
}

.souae-hero__media video,
.souae-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.32) 0%, rgba(0, 0, 0, 0.52) 58%, rgba(0, 0, 0, 0.72) 100%);
  pointer-events: none;
}

.souae-hero__toggle {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 999px;
  background: rgba(10, 10, 10, 0.45);
  color: var(--souae-white);
  cursor: pointer;
  font-size: 12px;
}

.souae-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 940px;
  padding: 130px 48px;
}

.souae-hero__title {
  margin: 0;
  font-size: clamp(52px, 6vw, 88px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
  text-wrap: balance;
}

.souae-hero__title span {
  color: var(--souae-red);
}

.souae-hero__lead {
  margin: 28px auto 0;
  max-width: 58ch;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

.souae-hero__actions {
  display: flex;
  gap: 14px;
  margin-top: 40px;
  justify-content: center;
  flex-wrap: wrap;
}

/* ---- Quick access ---- */
.souae-quick {
  background: var(--souae-black);
  color: var(--souae-white);
}

.souae-quick__inner {
  display: flex;
  align-items: center;
  gap: 36px;
  flex-wrap: wrap;
  padding-top: 36px;
  padding-bottom: 36px;
  padding-left: var(--souae-gutter-lg);
  padding-right: var(--souae-gutter-lg);
}

.souae-quick__label {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 14px;
  letter-spacing: 0.22em;
  color: #ff4d4d;
  font-weight: 700;
  flex-shrink: 0;
}

.souae-quick__nav {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.souae-quick__nav a {
  border: 1px solid #3a3a3a;
  color: var(--souae-white) !important;
  font-weight: 700;
  font-size: 15px;
  padding: 14px 22px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  text-transform: uppercase;
}

.souae-quick__nav a:hover {
  border-color: var(--souae-red);
  color: #ff4d4d !important;
}

/* ---- Section shell ---- */
.souae-block {
  background: var(--souae-white);
}

.souae-block--dark {
  background: var(--souae-black);
  color: var(--souae-white);
}

.souae-block__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 120px var(--souae-gutter-lg);
}

.souae-block__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 40px;
  margin-bottom: 56px;
  flex-wrap: wrap;
}

/* ---- Program cards ---- */
.souae-cards-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
}

.souae-card-media {
  position: relative;
  height: 460px;
  overflow: hidden;
  display: block;
  color: inherit;
}

.souae-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-card-media__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0) 32%, rgba(10, 10, 10, 0.78) 100%);
  pointer-events: none;
}

.souae-card-media__body {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 40px;
}

.souae-card-media__num {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #ffd6d6;
}

.souae-card-media__title {
  margin: 6px 0 0;
  font-size: clamp(28px, 3vw, 44px);
  font-weight: 700;
  color: var(--souae-white);
  text-transform: uppercase;
}

.souae-card-media__text {
  margin: 10px 0 0;
  font-size: 18px;
  line-height: 1.55;
  color: #f2f0e3;
  max-width: 380px;
}

.souae-card-media .souae-link-underline {
  margin-top: 12px;
}

/* ---- Partners ---- */
.souae-partners__grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px 32px;
  align-items: center;
}

.souae-partners__grid img {
  max-height: 56px;
  width: auto;
  max-width: 100%;
  margin: 0 auto;
  display: block;
  filter: grayscale(1);
  opacity: 0.85;
}

/* ---- Path list (get involved home + page) ---- */
.souae-paths {
  display: grid;
  gap: 0;
  border-top: 1px solid var(--souae-border);
}

.souae-path {
  display: grid;
  grid-template-columns: 88px 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 28px 0;
  border-bottom: 1px solid var(--souae-border);
  color: inherit;
}

.souae-path:hover {
  color: var(--souae-red);
}

.souae-path__num {
  font-family: var(--souae-mono);
  font-size: 14px;
  letter-spacing: 0.16em;
  color: var(--souae-red);
  font-weight: 700;
}

.souae-path__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-path__text {
  margin: 6px 0 0;
  font-size: 16px;
  color: var(--souae-gray);
}

.souae-block--dark .souae-path {
  border-color: #1a1a1a;
}

.souae-block--dark .souae-path__text {
  color: #c9c9c9;
}

/* ---- Events list ---- */
.souae-events {
  display: grid;
  gap: 0;
}

.souae-event-row {
  display: grid;
  grid-template-columns: 88px 1fr auto;
  gap: 20px;
  align-items: start;
  padding: 28px 0;
  border-bottom: 1px solid var(--souae-border);
  text-decoration: none;
  color: inherit;
}

.souae-event-row__date {
  text-align: center;
  border: 1px solid var(--souae-border);
  padding: 12px 8px;
}

.souae-event-row__month {
  display: block;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--souae-red);
  font-weight: 700;
}

.souae-event-row__day {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}

.souae-event-row__title {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-event-row__meta {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--souae-gray);
}

.souae-event-row__cta {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-self: center;
  color: var(--souae-red);
}

/* ---- Stats ---- */
.souae-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 24px;
}

.souae-stat__value {
  margin: 0;
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.souae-stat__label {
  margin: 10px 0 0;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.16em;
  color: var(--souae-gray);
  text-transform: uppercase;
}

.souae-block--dark .souae-stat__label {
  color: #c9c9c9;
}

/* ---- Champions ---- */
.souae-champs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.souae-champ img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
  display: block;
}

.souae-champ__meta {
  margin: 16px 0 0;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--souae-red);
  text-transform: uppercase;
}

.souae-champ__title {
  margin: 8px 0 0;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-champ__sport {
  margin: 6px 0 0;
  font-size: 14px;
  color: var(--souae-gray);
}

/* ---- Journey ---- */
.souae-journey {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.souae-journey__item h3 {
  margin: 0;
  font-size: 22px;
  text-transform: uppercase;
}

.souae-journey__item p {
  margin: 10px 0 0;
  color: var(--souae-gray);
  line-height: 1.5;
}

/* ---- News teaser ---- */
.souae-news-feature {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
}

.souae-news-feature img {
  width: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
  display: block;
}

.souae-news-list {
  list-style: none;
  margin: 40px 0 0;
  padding: 0;
  border-top: 1px solid var(--souae-border);
}

.souae-news-list li {
  border-bottom: 1px solid var(--souae-border);
}

.souae-news-list a {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 0;
  font-weight: 700;
}

.souae-news-list time {
  color: var(--souae-gray);
  font-weight: 400;
  font-size: 14px;
  flex-shrink: 0;
}

/* ---- Band / CTA / about strip ---- */
.souae-band {
  position: relative;
  min-height: 600px;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: var(--souae-white);
  background: var(--souae-black);
}

.souae-band img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.souae-band__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 10, 10, 0.82), rgba(10, 10, 10, 0.35));
}

.souae-band__veil--side {
  background: linear-gradient(90deg, rgba(10, 10, 10, 0.8) 0%, rgba(10, 10, 10, 0.45) 55%, rgba(10, 10, 10, 0.15) 100%);
}

.souae-band__inner {
  position: relative;
  z-index: 1;
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 120px var(--souae-gutter-lg);
  width: 100%;
}

.souae-band--start {
  align-items: center;
}

.souae-band__inner h2 {
  margin: 0;
  font-size: clamp(48px, 5.2vw, 80px);
  line-height: 0.98;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  max-width: 16ch;
  font-weight: 700;
}

.souae-band__inner p,
.souae-band__lead {
  margin: 26px 0 0;
  max-width: 52ch;
  font-size: 18px;
  line-height: 1.65;
  color: #e5e5e5;
}

.souae-band__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 40px;
}

/* ---- Legal / program detail ---- */
.souae-legal-hero,
.souae-page-hero {
  position: relative;
  min-height: 520px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: var(--souae-black);
  color: var(--souae-white);
}

.souae-page-hero--tall {
  min-height: 820px;
}

.souae-page-hero--end {
  align-items: flex-end;
}

/* Sticky hero stack (matches HTML About.dc.html) */
.souae-main > .souae-page-hero#hero-pin[data-sticky-hero] {
  position: sticky;
  top: 0;
  z-index: 0;
}

.souae-main > .souae-page-hero#hero-pin[data-sticky-hero] ~ section,
.souae-main ~ .souae-footer {
  position: relative;
  z-index: 1;
}

.souae-main > .souae-page-hero#hero-pin[data-sticky-hero] + section {
  box-shadow: 0 -18px 46px rgba(10, 10, 10, 0.34);
}

.souae-page-hero__cover {
  position: absolute;
  inset: 0;
  background: #0a0a0a;
  opacity: 0;
  pointer-events: none;
  z-index: 5;
}

#hero-pin[data-covered] {
  visibility: hidden;
}

@keyframes souae-hero-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.06); }
}

html.souae-hero-zoom-ready #hero-pin[data-sticky-hero] .souae-page-hero__media img {
  transform-origin: center center;
  animation: souae-hero-zoom 2.8s cubic-bezier(0.22, 0.61, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  html.souae-hero-zoom-ready #hero-pin[data-sticky-hero] .souae-page-hero__media img {
    animation: none;
  }
}

.souae-legal-hero__media,
.souae-page-hero__media {
  position: absolute;
  inset: -9% 0;
}

.souae-legal-hero__media img,
.souae-page-hero__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-legal-hero__veil,
.souae-page-hero__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.55) 0%, rgba(10, 10, 10, 0.72) 55%, rgba(10, 10, 10, 0.88) 100%);
}

.souae-page-hero__veil--soft {
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.15) 0%, rgba(10, 10, 10, 0.35) 55%, rgba(10, 10, 10, 0.86) 100%);
}

/*
 * Careers hero veil — HTML is a .95fr solid #0A0A0A text column + image
 * column with only a short seam: linear-gradient(90deg,#0A0A0A→0 at 22%).
 * On full-bleed, keep ~47.5% solid then fade across the seam width.
 */
.souae-page-hero__veil--careers {
  background:
    linear-gradient(
      90deg,
      #0a0a0a 0%,
      #0a0a0a 47.5%,
      rgba(10, 10, 10, 0) 59%
    ),
    linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.18) 0%,
      rgba(10, 10, 10, 0.32) 50%,
      rgba(10, 10, 10, 0.86) 100%
    );
}

@media (max-width: 900px) {
  /* Mobile stacks — keep a readable dark field without a fake side seam. */
  .souae-page-hero__veil--careers {
    background:
      linear-gradient(
        180deg,
        rgba(10, 10, 10, 0.55) 0%,
        rgba(10, 10, 10, 0.72) 45%,
        rgba(10, 10, 10, 0.92) 100%
      );
  }
}

.souae-legal-hero__inner,
.souae-page-hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 120px var(--souae-gutter-lg);
  width: 100%;
}

.souae-page-hero--end .souae-page-hero__inner {
  padding: 0 var(--souae-gutter-lg) 90px;
}

.souae-legal-hero h1,
.souae-page-hero h1 {
  margin: 0;
  /* Uniform page-hero title scale (Programs is the reference) */
  font-size: clamp(40px, 5vw, 68px);
  line-height: 0.98;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
  max-width: none;
}

.souae-page-hero.souae-page-hero--careers .souae-page-hero__lead {
  max-width: 46ch;
  color: #c9c9c9;
}

.souae-legal-hero__lead,
.souae-page-hero__lead {
  margin: 28px 0 0;
  max-width: 54ch;
  font-size: 18px;
  line-height: 1.65;
  color: #ededed;
}

.souae-page-hero__actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 40px;
}

.souae-accent {
  color: var(--souae-red);
}

.souae-legal-hero__meta,
.souae-page-hero__meta {
  margin: 16px 0 0;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.12em;
  color: #c9c9c9;
  text-transform: uppercase;
}

.souae-legal-body {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 80px var(--souae-gutter-lg) 160px;
}

.souae-legal-body .souae-content {
  max-width: 72ch;
  font-size: 17px;
  line-height: 1.7;
}

.souae-legal-body .souae-content > *:first-child {
  margin-top: 0;
}

.souae-legal-body h2 {
  margin: 48px 0 16px;
  font-size: 28px;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

/* ---- Programs overview list ---- */
.souae-program-row {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 48px;
  align-items: center;
  padding: 72px 0;
  border-top: 1px solid var(--souae-border);
}

.souae-program-row--dark {
  background: var(--souae-black);
  color: var(--souae-white);
  border-top-color: #1a1a1a;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding-left: max(var(--souae-gutter-lg), calc(50vw - 720px));
  padding-right: max(var(--souae-gutter-lg), calc(50vw - 720px));
}

.souae-program-row img {
  width: 100%;
  aspect-ratio: 5/4;
  object-fit: cover;
  display: block;
}

.souae-program-row__num {
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.2em;
  color: var(--souae-red);
  font-weight: 700;
}

.souae-program-row h2 {
  margin: 12px 0 0;
  font-size: clamp(32px, 4vw, 48px);
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.souae-program-row p {
  margin: 16px 0 0;
  font-size: 18px;
  line-height: 1.55;
  color: var(--souae-gray);
  max-width: 48ch;
}

.souae-program-row--dark p {
  color: #c9c9c9;
}

.souae-program-row .souae-btn {
  margin-top: 28px;
}

/* ---- Careers positions ---- */
.souae-block__inner--jobs {
  padding-top: 150px;
  padding-bottom: 160px;
}

.souae-prose--jobs {
  margin: 0 0 64px;
  font-size: 19px;
  line-height: 1.65;
  color: #3a3a36;
  max-width: 56ch;
}

.souae-jobs {
  border-top: 1px solid var(--souae-border);
}

.souae-job {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  align-items: center;
  padding: 40px 0;
  border-bottom: 1px solid var(--souae-border);
}

.souae-job h3 {
  margin: 0 0 10px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.souae-job p {
  margin: 8px 0 0;
  color: var(--souae-gray);
}

.souae-job__meta {
  margin: 0 !important;
  font-size: 15px;
  letter-spacing: 0.06em;
  color: #636359 !important;
}

.souae-text-link--on-dark {
  color: #fff;
  border-bottom-color: var(--souae-red);
}

.souae-split__cta {
  margin: 28px 0 0;
}

.souae-section-title--purpose {
  margin: 0 0 70px;
  font-size: 64px;
  line-height: 1;
  max-width: 16ch;
}

.souae-form-block {
  margin-top: 64px;
  padding-top: 48px;
  border-top: 1px solid var(--souae-border);
}

.souae-form-block h2 {
  margin: 0 0 24px;
  font-size: 32px;
  text-transform: uppercase;
}

/* ---- Employee sign-in (standalone split — Employee Sign In.dc.html) ---- */
body.souae-is-signin .souae-header,
body.souae-is-signin .souae-footer {
  display: none;
}

body.souae-is-signin {
  background: #0a0a0a;
}

body.souae-is-signin .souae-main {
  padding: 0;
  margin: 0;
}

.souae-signin {
  min-height: 100vh;
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  background: #0a0a0a;
  color: #fff;
}

.admin-bar .souae-signin {
  min-height: calc(100vh - 32px);
  min-height: calc(100dvh - 32px);
}

.souae-signin__panel {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 48px 80px;
  background: #0a0a0a;
  color: #fff;
}

.souae-signin__logo {
  display: flex;
  align-items: center;
  width: fit-content;
}

.souae-signin__logo img {
  height: 40px;
  width: auto;
  display: block;
  /* HTML inverts the mark to pure white on the black panel. */
  filter: brightness(0) invert(1);
}

.souae-signin__copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 420px;
}

.souae-signin__copy .souae-eyebrow {
  margin: 0 0 20px;
  color: #ff4d4d;
}

.souae-signin h1 {
  margin: 0;
  font-size: 44px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-signin__lead {
  margin: 24px 0 0;
  font-size: 17px;
  line-height: 1.6;
  color: #c9c9c9;
}

.souae-signin__cta {
  display: inline-block;
  align-self: flex-start;
  margin-top: 36px;
  padding: 18px 32px;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.souae-signin__cta.is-disabled {
  opacity: 0.45;
  pointer-events: none;
  cursor: not-allowed;
}

.souae-signin__note {
  margin: 24px 0 0;
  font-size: 14px;
  color: #8a8a8a;
}

.souae-signin__hint {
  margin: 16px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: #9a9a90;
}

.souae-signin__back {
  font-size: 14px;
  color: #8a8a8a;
  width: fit-content;
  transition: color 0.2s ease;
}

.souae-signin__back:hover,
.souae-signin__back:focus-visible {
  color: #fff;
}

.souae-signin__media {
  position: relative;
  overflow: hidden;
  min-height: 100%;
  background: #1a1a1a;
}

.souae-signin__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-signin__veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(10, 10, 10, 0.25) 0%, rgba(10, 10, 10, 0) 30%);
}

@media (max-width: 1100px) {
  .souae-signin__panel {
    padding: 40px 32px;
  }

  .souae-signin h1 {
    font-size: clamp(36px, 5vw, 44px);
  }
}

@media (max-width: 720px) {
  /* HTML stacks to one column: panel first, photo below. */
  .souae-signin {
    grid-template-columns: 1fr;
    min-height: 100vh;
    min-height: 100dvh;
  }

  .admin-bar .souae-signin {
    min-height: calc(100vh - 46px);
    min-height: calc(100dvh - 46px);
  }

  .souae-signin__panel {
    min-height: 0;
    padding: 28px 20px 24px;
    gap: 28px;
  }

  .souae-signin__copy {
    flex: 1 1 auto;
    justify-content: center;
    padding: 12px 0;
  }

  .souae-signin__media {
    min-height: 280px;
    aspect-ratio: 5 / 4;
  }

  .souae-signin__veil {
    background: linear-gradient(180deg, rgba(10, 10, 10, 0) 45%, rgba(10, 10, 10, 0.5) 100%);
  }

  .souae-signin h1 {
    font-size: clamp(36px, 10.5vw, 52px);
    line-height: 1.02;
  }

  .souae-signin__cta {
    width: 100%;
    text-align: center;
    box-sizing: border-box;
  }
}

/* ---- Responsive ---- */
@media (max-width: 1100px) {
  .souae-cards-2,
  .souae-news-feature,
  .souae-program-row,
  .souae-champs,
  .souae-journey,
  .souae-stats,
  .souae-partners__grid {
    grid-template-columns: 1fr 1fr;
  }

  .souae-quick__inner,
  .souae-block__inner,
  .souae-band__inner,
  .souae-legal-hero__inner,
  .souae-legal-body {
    padding-left: 32px;
    padding-right: 32px;
  }
}

@media (max-width: 720px) {
  .souae-cards-2,
  .souae-news-feature,
  .souae-program-row,
  .souae-champs,
  .souae-journey,
  .souae-stats,
  .souae-partners__grid,
  .souae-path,
  .souae-event-row,
  .souae-job {
    grid-template-columns: 1fr;
  }

  .souae-card-media {
    height: 380px;
  }

  .souae-hero__inner {
    padding: 100px 20px;
  }

  .souae-hero__title {
    font-size: clamp(36px, 10.5vw, 52px);
    line-height: 1.02;
  }

  .souae-hero__lead {
    font-size: 16px;
  }

  .souae-section-title {
    font-size: clamp(28px, 8.4vw, 40px);
    line-height: 1.06;
  }

  .souae-card-media__title {
    font-size: 26px;
  }

  .souae-quick__inner,
  .souae-block__inner,
  .souae-band__inner,
  .souae-legal-hero__inner,
  .souae-legal-body {
    padding-left: 20px;
    padding-right: 20px;
  }

  .souae-block__inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}


/* ==========================================================================
   Shared utilities (single SOT additions)
   ========================================================================== */

.souae-prose {
  margin-top: 28px;
  max-width: 68ch;
  font-size: 18px;
  line-height: 1.65;
  color: var(--souae-gray);
}

.souae-prose--narrow {
  max-width: 56ch;
}

.souae-prose--tight {
  margin-top: 16px;
  max-width: 52ch;
}

.souae-prose--on-dark {
  color: #c9c9c9;
}

.souae-section-title--md {
  font-size: clamp(32px, 4vw, 48px);
}

.souae-section-title--sm {
  font-size: clamp(28px, 4vw, 44px);
  max-width: 20ch;
}

.souae-statement {
  border-top: 1px solid var(--souae-border);
  background: #0a0a0a;
  color: #fff;
}

.souae-statement__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 120px var(--souae-gutter-lg);
}

.souae-statement h2 {
  margin: 0;
  font-size: clamp(36px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
  max-width: 18ch;
}

.souae-statement p {
  margin: 24px 0 0;
  max-width: 42ch;
  font-size: 18px;
  line-height: 1.6;
  color: #c9c9c9;
}

.souae-dual-links {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-top: 48px;
}

.souae-dual-links a {
  display: block;
  padding: 36px 32px;
  border: 1px solid var(--souae-border);
  background: #fff;
  transition: border-color 0.2s;
}

.souae-dual-links a:hover {
  border-color: var(--souae-red);
  color: inherit;
}

.souae-dual-links__eyebrow {
  margin: 0 0 12px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--souae-red);
  text-transform: uppercase;
}

.souae-dual-links h3 {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.souae-dual-links p {
  margin: 12px 0 0;
  font-size: 15px;
  line-height: 1.5;
  color: var(--souae-gray);
}

.souae-values {
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.souae-values li {
  border-top: 2px solid #0a0a0a;
  padding-top: 20px;
}

.souae-values .num {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--souae-red);
}

.souae-values h3 {
  margin: 12px 0 8px;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-values p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--souae-gray);
}

/* Dark 2×2 board (Careers “Why Special Olympics UAE”) */
.souae-values--board {
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  margin-top: 72px;
  border-top: 1px solid #2c2c2a;
  border-left: 1px solid #2c2c2a;
}

.souae-values--board li {
  border: none;
  border-right: 1px solid #2c2c2a;
  border-bottom: 1px solid #2c2c2a;
  padding: 40px;
  transition: background-color 0.3s;
}

.souae-values--board li:hover {
  background-color: #141414;
}

.souae-values--board .num {
  font-size: 14px;
  letter-spacing: 0.2em;
  color: #ff4d4d;
}

.souae-values--board h3 {
  margin: 20px 0 12px;
  font-size: 28px;
  color: #fff;
}

.souae-values--board p {
  font-size: 16px;
  line-height: 1.6;
  color: #9a9a90;
  max-width: 44ch;
}

.souae-timeline-story {
  list-style: none;
  margin: 56px 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.souae-timeline-story li {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 32px;
  padding: 28px 0;
  border-top: 1px solid var(--souae-border);
}

.souae-timeline-story .year {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 14px;
  letter-spacing: 0.12em;
  color: var(--souae-red);
}

.souae-timeline-story h3 {
  margin: 0 0 8px;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-timeline-story p {
  margin: 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--souae-gray);
}


@media (max-width: 1100px) {
  .souae-statement__inner {
    padding-left: 32px;
    padding-right: 32px;
  }

  .souae-dual-links,
  .souae-values {
    grid-template-columns: 1fr 1fr;
  }

  .souae-section-title--purpose {
    font-size: clamp(36px, 7vw, 48px);
    margin-bottom: 40px;
  }

  .souae-values--board {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 720px) {
  .souae-statement__inner {
    padding: 80px 20px;
  }

  .souae-dual-links,
  .souae-values {
    grid-template-columns: 1fr;
  }

  .souae-timeline-story li {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .souae-prose,
  .souae-prose--narrow,
  .souae-prose--tight {
    font-size: 16px;
  }
}



/* ==========================================================================
   Homepage section layouts
   ========================================================================== */

#hero-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-hero__toggle {
  position: absolute;
  right: 28px;
  bottom: 28px;
  z-index: 3;
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 5px;
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  background: rgba(10, 10, 10, 0.38);
  color: #fff;
  font-size: 11px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(4px);
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}

.souae-hero__toggle:hover {
  background: rgba(10, 10, 10, 0.62);
  border-color: #fff;
  transform: scale(1.06);
}

.souae-hero .souae-btn {
  font-size: 16px;
  letter-spacing: 0.06em;
  padding: 20px 36px;
  text-transform: uppercase;
}

.souae-hero .souae-btn-outline {
  font-size: 16px;
  letter-spacing: 0.06em;
  padding: 18px 34px;
  text-transform: uppercase;
}

/* ---- Quick access ---- */
.souae-quick__label {
  text-transform: uppercase;
}

.souae-quick__nav a {
  text-transform: uppercase;
}

/* ---- Partners marquee ---- */
.souae-partners {
  border-top: 1px solid var(--souae-border);
  background: #fff;
}

.souae-partners__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 88px 80px 80px;
}

.souae-partners__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 44px;
  flex-wrap: wrap;
}

.souae-partners__title {
  margin: 0;
  font-size: 44px;
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-partners__lead {
  margin: 14px 0 0;
  max-width: 52ch;
  font-size: 16px;
  line-height: 1.6;
  color: #5a5a50;
}

.souae-partners__cta {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  flex-shrink: 0;
  color: #0a0a0a !important;
  border-bottom: 2px solid #c90000;
  padding-bottom: 4px;
  text-transform: uppercase;
}

.souae-partners__cta:hover {
  color: #c90000 !important;
}

.souae-partners__stage {
  position: relative;
}

@keyframes souae-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.souae-partners .m-track {
  display: flex;
  width: max-content;
  animation: souae-marquee 90s linear infinite;
}

.souae-partners-pause:checked ~ .m-viewport .m-track {
  animation-play-state: paused;
}

.souae-partners .m-viewport:hover .m-track,
.souae-partners .m-viewport:focus-within .m-track {
  animation-play-state: paused;
}

.souae-partners-pause {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.souae-partners .m-pause {
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5a5a50;
}

.souae-partners .m-pause .m-on { display: none; }
.souae-partners-pause:checked ~ .m-pause .m-on { display: inline; }
.souae-partners-pause:checked ~ .m-pause .m-off { display: none; }

.souae-partners .m-list {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 0;
  padding: 0 20px 0 0;
  list-style: none;
}

.souae-partners .m-list li {
  flex: 0 0 auto;
  width: 190px;
  height: 80px;
  box-sizing: border-box;
  padding: 8px 14px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.souae-partners .m-list img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: none;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .souae-partners .m-track { animation: none; }
}

/* ---- Get involved cards ---- */
.souae-join {
  border-top: 1px solid var(--souae-border);
  background: #fff;
  overflow: hidden;
}

.souae-join__grid-wrap {
  max-width: 1440px;
  margin: 0 auto;
  padding: 96px 80px 0;
}

.souae-join__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.souae-join__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 16px;
}

.souae-join__intro h2 {
  margin: 0;
  font-size: 40px;
  line-height: 1.04;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-join__card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 210px;
  box-sizing: border-box;
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.04), 0 10px 28px rgba(10, 10, 10, 0.06);
  border: 1px solid #d6d3c2;
  padding: 28px;
  transition: border-color 0.2s, transform 0.2s;
  color: inherit;
}

.souae-join__card:hover {
  border-color: #c90000;
  color: inherit;
}

.souae-join__card-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.souae-join__card-num,
.souae-join__card-arrow {
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.2em;
  color: #c90000;
}

.souae-join__card-arrow {
  font-family: var(--souae-font);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
}

.souae-join__card-title {
  display: block;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  color: #0a0a0a;
  text-transform: uppercase;
}

.souae-join__card-text {
  display: block;
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.5;
  color: #5a5a50;
}

.souae-join__art {
  position: relative;
  width: 100%;
  max-width: 1570px;
  margin: 56px auto 0;
  aspect-ratio: 1570 / 500;
  overflow: hidden;
  pointer-events: none;
}

.souae-join__ribbon {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.souae-join__art img {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
}

/* ---- Events timeline ---- */
.souae-home-events {
  background: #fff;
  border-top: 1px solid var(--souae-border);
}

.souae-home-events__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 120px 80px 104px;
}

.souae-home-events__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 60px;
  flex-wrap: wrap;
}

.souae-home-events__title {
  margin: 0;
  font-size: 44px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-home-events__more {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  color: #0a0a0a !important;
  border-bottom: 2px solid #c90000;
  padding-bottom: 4px;
  text-transform: uppercase;
}

.souae-home-events__more:hover {
  color: #c90000 !important;
}

.souae-timeline {
  position: relative;
}

.souae-timeline__line {
  position: absolute;
  left: 0;
  right: 0;
  top: 79px;
  height: 2px;
  background: #e7e5d8;
}

.souae-timeline__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 28px;
  position: relative;
}

.souae-timeline__item a {
  display: block;
  height: 100%;
  padding: 0 10px 20px 0;
  border-radius: 8px;
  transition: background 0.18s;
  color: inherit;
}

.souae-timeline__item a:hover {
  background: #faf9f4;
  color: inherit;
}

.souae-timeline__month {
  display: block;
  font-family: var(--souae-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: #c90000;
  line-height: 1.4;
  text-transform: uppercase;
}

.souae-timeline__day {
  display: block;
  margin-top: 2px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.15;
  color: #0a0a0a;
  letter-spacing: -0.02em;
}

.souae-timeline__dot-wrap {
  display: block;
  height: 32px;
  position: relative;
}

.souae-timeline__dot {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 11px;
  height: 11px;
  border-radius: 50%;
  background: #c90000;
  box-shadow: 0 0 0 4px #fff;
}

.souae-timeline__name {
  display: block;
  padding-top: 14px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: #0a0a0a;
  text-transform: uppercase;
}

.souae-timeline__meta {
  display: block;
  margin-top: 12px;
  font-family: var(--souae-mono);
  font-size: 11px;
  letter-spacing: 0.12em;
  color: #5a5a50;
  line-height: 1.7;
}

.souae-timeline__cat {
  display: inline-block;
  margin-top: 16px;
  font-family: var(--souae-mono);
  font-size: 10.5px;
  letter-spacing: 0.12em;
  color: #c90000;
  background: #fdecec;
  border-radius: 999px;
  padding: 5px 11px;
  text-transform: uppercase;
}

.souae-loop {
  margin-top: 72px;
  background: #c90000;
  border-radius: 12px;
  padding: 32px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  flex-wrap: wrap;
  color: #fff;
}

.souae-loop__copy {
  flex: 1 1 520px;
  min-width: min(100%, 280px);
  max-width: 720px;
}

.souae-loop h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-loop p {
  margin: 8px 0 0;
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.92);
  max-width: none;
}

.souae-loop .wpcf7 {
  flex: 0 1 360px;
  min-width: min(100%, 280px);
  margin: 0;
}

.souae-loop .wpcf7 form,
.souae-loop .wpcf7 form > p {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: stretch;
  margin: 0;
  width: 100%;
}

.souae-loop .wpcf7 form > p > br {
  display: none;
}

.souae-loop .wpcf7 label {
  position: absolute !important;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.souae-loop .wpcf7-form-control-wrap {
  flex: 1 1 220px;
  min-width: 0;
}

.souae-loop .wpcf7 input[type="email"] {
  width: 100%;
  border: 1px solid #fff;
  border-radius: 6px;
  background: #fff;
  padding: 14px 16px;
  font-family: var(--souae-mono);
  font-size: 12.5px;
  letter-spacing: 0.06em;
  color: #0a0a0a;
  box-sizing: border-box;
}

.souae-loop .wpcf7 input[type="submit"] {
  background: #0a0a0a;
  color: #fff;
  border: none;
  font-family: var(--souae-font);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.08em;
  padding: 14px 22px;
  border-radius: 6px;
  cursor: pointer;
  white-space: nowrap;
  text-transform: uppercase;
}

.souae-loop .wpcf7 input[type="submit"]:hover {
  background: #fff;
  color: #c90000;
}

.souae-loop .wpcf7-response-output {
  margin: 12px 0 0;
  width: 100%;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.5);
}

/* ---- Athletes ---- */
.souae-athletes {
  border-top: 1px solid var(--souae-border);
  background: #fff;
}

.souae-athletes__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 110px 80px 96px;
}

.souae-athletes__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 60px;
  margin-bottom: 48px;
  flex-wrap: wrap;
}

.souae-motif {
  display: block;
  margin-bottom: 18px;
}

.souae-athletes__title {
  margin: 0;
  font-size: 48px;
  line-height: 1.02;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-athletes__lead {
  margin: 0;
  max-width: 360px;
  font-size: 16px;
  line-height: 1.6;
  color: #5a5a50;
}

.souae-athletes__grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 32px;
}

.souae-athlete-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid #e7e5d8;
  border-radius: 10px;
  overflow: hidden;
}

.souae-athlete-card__img {
  overflow: hidden;
  min-width: 0;
}

.souae-athlete-card__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-athlete-card--feature .souae-athlete-card__img {
  height: 440px;
}

.souae-athlete-card--side .souae-athlete-card__img {
  height: 196px;
}

.souae-athlete-card__body {
  padding: 40px;
}

.souae-athlete-card--side .souae-athlete-card__body {
  padding: 28px;
}

.souae-athlete-card__meta {
  margin: 0 0 8px;
  font-family: var(--souae-mono);
  font-size: 11.5px;
  letter-spacing: 0.18em;
  color: #5a5a50;
  text-transform: uppercase;
}

.souae-athlete-card__meta span {
  color: #c90000;
}

.souae-athlete-card__name {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
}

.souae-athlete-card--side .souae-athlete-card__name {
  font-size: 20px;
}

.souae-athlete-card__sport {
  margin: 6px 0 10px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: #c90000;
  text-transform: uppercase;
}

.souae-athlete-card__sport--inline {
  font-weight: 400;
}

.souae-athlete-card__text {
  margin: 0 0 12px;
  font-size: 16px;
  line-height: 1.55;
  color: #3a3a36;
  max-width: 560px;
}

.souae-athlete-card__link {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06em;
  border-bottom: 2px solid #c90000;
  padding-bottom: 3px;
  text-transform: uppercase;
  color: #0a0a0a !important;
}

.souae-athlete-card__link:hover {
  color: #c90000 !important;
}

.souae-athletes__side {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 32px;
  min-width: 0;
}

.souae-athletes__footer {
  margin-top: 40px;
  text-align: right;
}

/* ---- Journey (sticky scrollytelling — matches HTML 320vh pin) ---- */
.souae-journey-home {
  border-top: 1px solid var(--souae-border);
  background: #fff;
  height: 320vh;
}

.souae-journey-home__pin {
  position: sticky;
  top: var(--souae-header-offset, 106px);
  height: calc(100vh - var(--souae-header-offset, 106px));
  overflow: hidden;
  display: flex;
  align-items: center;
}

.souae-journey-home__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px;
  width: 100%;
  box-sizing: border-box;
}

.souae-journey-home__headline {
  margin: 0;
  font-size: clamp(48px, 6vw, 72px);
  line-height: 0.98;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-journey-home__lead {
  margin: 20px 0 0;
  max-width: 520px;
  font-size: 18px;
  line-height: 1.6;
  color: #636359;
}

.souae-journey-home__track {
  position: relative;
  margin-top: 56px;
}

.souae-journey-home__svg {
  position: absolute;
  left: 0;
  top: -30px;
  width: 100%;
  height: 240px;
  pointer-events: none;
}

.souae-journey-home__svg path {
  transition: none;
}

.souae-journey-home__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 32px;
  position: relative;
}

.souae-journey-home__list > li {
  opacity: 0.12;
  transform: translateY(24px);
  will-change: opacity, transform;
}

.souae-journey-home__list h3 {
  margin: 8px 0 6px;
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-journey-home__list p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #636359;
}

.souae-journey-home__list .num {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 14px;
  color: #ff0000;
  letter-spacing: 0.2em;
}

.j-mt-0 { margin-top: 0; }
.j-mt-1 { margin-top: 30px; }
.j-mt-2 { margin-top: 54px; }
.j-mt-3 { margin-top: 84px; }
.j-mt-4 { margin-top: 92px; }

@media (prefers-reduced-motion: reduce) {
  .souae-journey-home {
    height: auto;
  }

  .souae-journey-home__pin {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
  }

  .souae-journey-home__inner {
    padding: 110px 80px 120px;
  }

  .souae-journey-home__list > li {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ---- Impact numbers ---- */
.souae-impact-home {
  background: #fff;
  border-top: 1px solid var(--souae-border);
}

.souae-impact-home__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 100px 80px 88px;
}

.souae-impact-home__title {
  margin: 0;
  font-size: 44px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-impact-home__title span {
  color: #ff0000;
}

.souae-impact-home__stats .stg {
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 0.65s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-impact-home__stats.is-in .stg {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .souae-impact-home__stats .stg {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.souae-impact-home__stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 32px;
  margin-top: 48px;
  border-top: 2px solid #0a0a0a;
  padding-top: 36px;
}

.souae-impact-home__stats .val {
  margin: 0;
  font-size: 46px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.souae-impact-home__stats .lab {
  margin: 10px 0 0;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: #5a5a50;
  text-transform: uppercase;
}

.souae-impact-home__motif {
  margin-top: 44px;
}

/* ---- Impact quote band ---- */
.souae-impact-quote {
  border-top: 1px solid var(--souae-border);
  position: relative;
  height: 680px;
  overflow: hidden;
}

.souae-impact-quote__media {
  position: absolute;
  left: 0;
  right: 0;
  top: -9%;
  bottom: -9%;
}

.souae-impact-quote__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-impact-quote__card {
  position: absolute;
  left: 80px;
  bottom: 64px;
  background: #fff;
  padding: 40px;
  max-width: 560px;
  border-left: 6px solid #ff0000;
}

.souae-impact-quote__card h2 {
  margin: 0;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-impact-quote__card p {
  margin: 20px 0 0;
  font-size: 17px;
  line-height: 1.6;
  color: #3a3a36;
}

/* ---- About ---- */
.souae-about-home {
  border-top: 1px solid var(--souae-border);
  background: #fff;
}

.souae-about-home__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 140px 80px;
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 72px;
  align-items: start;
}

.souae-about-home__inner h2 {
  margin: 0;
  font-size: 64px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-about-home__inner p {
  margin: 6px 0 0;
  font-size: 23px;
  line-height: 1.65;
  color: #3a3a36;
}

.souae-about-home__link {
  display: inline-block;
  margin-top: 28px;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.06em;
  border-bottom: 2px solid #ff0000;
  padding-bottom: 3px;
  text-transform: uppercase;
  color: #0a0a0a !important;
}

.souae-about-home__link:hover {
  color: #ff0000 !important;
}

/* ---- Final CTA split ---- */
.souae-final-cta {
  background: #0a0a0a;
  color: #fff;
  position: relative;
  overflow: hidden;
}

.souae-final-cta__inner {
  max-width: 1440px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 6fr 6fr;
  min-height: 640px;
}

.souae-final-cta__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 100px 60px 100px 80px;
}

.souae-final-cta__copy h2 {
  margin: 0;
  font-size: 84px;
  line-height: 0.98;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-final-cta__copy h2 span {
  color: #ff0000;
}

.souae-final-cta__copy p {
  margin: 28px 0 0;
  max-width: 480px;
  font-size: 19px;
  line-height: 1.6;
  color: #c9c9c9;
}

.souae-final-cta__actions {
  display: flex;
  gap: 16px;
  margin-top: 44px;
  flex-wrap: wrap;
}

.souae-final-cta__media {
  position: relative;
  overflow: hidden;
}

.souae-final-cta__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- Responsive ---- */
@media (max-width: 1100px) {
  .souae-partners__inner,
  .souae-join__grid-wrap,
  .souae-home-events__inner,
  .souae-athletes__inner,
  .souae-journey-home__inner,
  .souae-impact-home__inner,
  .souae-about-home__inner,
  .souae-final-cta__copy {
    padding-left: 32px;
    padding-right: 32px;
  }

  .souae-join__grid,
  .souae-timeline__list,
  .souae-athletes__grid,
  .souae-impact-home__stats,
  .souae-about-home__inner,
  .souae-final-cta__inner {
    grid-template-columns: 1fr 1fr;
  }

  /* Journey path is designed for 6 columns — flatten on tablet/mobile. */
  .souae-journey-home {
    height: auto;
  }

  .souae-journey-home__pin {
    position: relative;
    top: auto;
    height: auto;
    overflow: visible;
  }

  .souae-journey-home__inner {
    padding-top: 88px;
    padding-bottom: 96px;
  }

  .souae-journey-home__svg {
    display: none;
  }

  .souae-journey-home__list {
    grid-template-columns: 1fr 1fr;
    gap: 36px 28px;
  }

  .souae-journey-home__list > li {
    opacity: 1 !important;
    transform: none !important;
  }

  .j-mt-0,
  .j-mt-1,
  .j-mt-2,
  .j-mt-3,
  .j-mt-4 {
    margin-top: 0;
  }

  .souae-impact-quote__card {
    left: 32px;
    right: 32px;
    bottom: 40px;
    max-width: none;
    width: auto;
  }

  .souae-impact-quote__card h2 {
    font-size: 36px;
  }

  .souae-final-cta__copy h2 {
    font-size: 56px;
  }

  .souae-about-home__inner h2 {
    font-size: 40px;
  }
}

@media (max-width: 720px) {
  .souae-join__grid,
  .souae-timeline__list,
  .souae-athletes__grid,
  .souae-journey-home__list,
  .souae-impact-home__stats,
  .souae-about-home__inner,
  .souae-final-cta__inner {
    grid-template-columns: 1fr;
  }

  .souae-partners__inner,
  .souae-join__grid-wrap,
  .souae-home-events__inner,
  .souae-athletes__inner,
  .souae-journey-home__inner,
  .souae-impact-home__inner,
  .souae-about-home__inner,
  .souae-final-cta__copy {
    padding-left: 20px;
    padding-right: 20px;
  }

  .souae-partners__inner {
    padding-top: 72px;
    padding-bottom: 64px;
  }

  .souae-join__grid-wrap {
    padding-top: 72px;
  }

  .souae-home-events__inner {
    padding-top: 80px;
    padding-bottom: 72px;
  }

  .souae-athletes__inner {
    padding-top: 80px;
    padding-bottom: 72px;
  }

  .souae-impact-home__inner {
    padding-top: 72px;
    padding-bottom: 64px;
  }

  .souae-about-home__inner {
    padding-top: 80px;
    padding-bottom: 80px;
    gap: 32px;
  }

  .souae-final-cta__copy {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  /* Match HTML mobile type scale */
  .souae-partners__title,
  .souae-join__intro h2,
  .souae-home-events__title,
  .souae-athletes__title,
  .souae-impact-home__title,
  .souae-about-home__inner h2 {
    font-size: clamp(28px, 8.4vw, 40px);
    line-height: 1.06;
  }

  .souae-journey-home__headline {
    font-size: clamp(36px, 10.5vw, 48px);
    line-height: 1.02;
  }

  .souae-journey-home__lead {
    font-size: 16px;
  }

  .souae-impact-quote__card h2 {
    font-size: clamp(28px, 8.4vw, 34px);
  }

  .souae-impact-quote__card p {
    font-size: 15px;
  }

  .souae-about-home__inner p {
    font-size: 18px;
  }

  .souae-final-cta__copy h2 {
    font-size: clamp(36px, 11vw, 48px);
    line-height: 1.02;
  }

  .souae-final-cta__copy p {
    font-size: 16px;
  }

  .souae-impact-home__stats .val {
    font-size: 36px;
  }

  .souae-join__card {
    height: auto;
    min-height: 180px;
    padding: 22px 18px;
  }

  .souae-join__card-title {
    font-size: 18px;
  }

  .souae-loop {
    padding: 24px 20px;
    gap: 24px;
  }

  .souae-loop__copy {
    flex: 1 1 100%;
    max-width: none;
  }

  .souae-loop .wpcf7 {
    flex: 1 1 100%;
  }

  .souae-athletes__title {
    font-size: clamp(28px, 8.4vw, 40px);
  }

  .souae-athlete-card__name {
    font-size: 24px;
  }

  .souae-timeline__line {
    display: none;
  }

  /* Match HTML: keep card overlaid on full-bleed image */
  .souae-impact-quote {
    height: 560px;
  }

  .souae-impact-quote__card {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 24px;
    margin: 0;
    padding: 24px 20px;
    max-width: none;
    width: auto;
  }

  .souae-final-cta__media {
    min-height: 320px;
  }

  .souae-journey-home__inner {
    padding-top: 72px;
    padding-bottom: 80px;
  }

  .souae-journey-home__list {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .souae-journey-home__list h3 {
    font-size: 26px;
  }

  .souae-journey-home__track {
    margin-top: 40px;
  }

  .souae-hero .souae-btn,
  .souae-hero .souae-btn-outline {
    width: 100%;
    justify-content: center;
    text-align: center;
    padding: 16px 24px;
    font-size: 14px;
  }
}


/* ==========================================================================
   Shared polish — path jump, legal TOC, spacing helpers
   ========================================================================== */

.souae-path-jump {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 36px;
}

.souae-path-jump a {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.04em;
  border-bottom: 2px solid var(--souae-red);
  padding-bottom: 2px;
}

.souae-eyebrow--spaced {
  margin-top: 16px;
}

.souae-jobs--spaced,
.souae-events--spaced {
  margin-top: 40px;
}

.souae-form-block--on-dark {
  border-color: #1a1a1a;
}

.souae-news-feature__cta {
  margin: 24px 0 0;
}

.souae-pagination {
  margin-top: 48px;
}

/* Reading progress (legal pages — Privacy Policy.dc.html) */
.souae-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 0%;
  background: var(--souae-red);
  z-index: 200;
  pointer-events: none;
  transition: width 0.1s linear;
}

body.admin-bar .souae-reading-progress {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .souae-reading-progress {
    top: 46px;
  }
}

/* Legal hero — Privacy / Terms (html/Privacy Policy.dc.html) */
.souae-page-hero--legal h1 {
  font-size: clamp(48px, 6vw, 80px);
  letter-spacing: -0.03em;
  max-width: 10ch;
}

.souae-page-hero--legal .souae-page-hero__lead {
  margin-top: 24px;
  max-width: 56ch;
  line-height: 1.6;
}

.souae-eyebrow--legal {
  color: #ff6b6b;
}

.souae-legal-content {
  background: #fff;
  position: relative;
  z-index: 1;
}

.souae-legal-layout {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 80px var(--souae-gutter-lg) 160px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 72px;
  align-items: start;
}

.souae-legal-toc {
  position: sticky;
  top: calc(var(--souae-header-offset, 106px) + 14px);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.souae-legal-toc__label {
  margin: 0 0 10px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: #9a9a90;
  text-transform: uppercase;
  font-weight: 400;
}

.souae-legal-toc a {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.35;
  color: var(--souae-black);
  border-left: 2px solid transparent;
  padding-left: 12px;
  margin-left: -13px;
  transition: color 0.2s, border-color 0.2s;
}

.souae-legal-toc a:hover,
.souae-legal-toc a.is-active {
  color: var(--souae-red);
}

.souae-legal-toc a.is-active {
  border-left-color: var(--souae-red);
}

.souae-legal-layout .souae-legal-body {
  padding: 0;
  max-width: 66ch;
}

/* Editor-driven legal body (Privacy Policy) */
.souae-legal-body--editor .souae-content {
  max-width: none;
  counter-reset: souae-legal;
}

.souae-legal-body--editor .souae-content > h2 {
  margin: 0;
  padding-top: 0;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.15;
  scroll-margin-top: 140px;
  counter-increment: souae-legal;
}

.souae-legal-body--editor .souae-content > h2::before {
  content: counter(souae-legal, decimal-leading-zero);
  display: block;
  margin-bottom: 12px;
  font-family: var(--souae-mono);
  font-size: 13px;
  font-weight: 400;
  color: var(--souae-red);
  letter-spacing: 0.18em;
  text-transform: none;
}

.souae-legal-body--editor .souae-content > h2:not(:first-child) {
  margin-top: 44px;
  padding-top: 44px;
  border-top: 1px solid #e7e5d8;
}

.souae-legal-body--editor .souae-content > p,
.souae-legal-body--editor .souae-content > ul {
  margin: 18px 0 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3a3a36;
}

.souae-legal-body--editor .souae-content > ul {
  padding-left: 22px;
  line-height: 1.85;
}

.souae-legal-body--editor .souae-content > p + p {
  margin-top: 16px;
}

.souae-legal-body--editor .souae-content a {
  border-bottom: 2px solid var(--souae-red);
  padding-bottom: 2px;
}

.souae-legal-section {
  padding-bottom: 44px;
  border-bottom: 1px solid #e7e5d8;
  margin-bottom: 44px;
  scroll-margin-top: 140px;
}

.souae-legal-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.souae-legal-section__num {
  margin: 0;
  font-family: var(--souae-mono);
  font-size: 13px;
  color: var(--souae-red);
  letter-spacing: 0.18em;
}

.souae-legal-section h2 {
  margin: 12px 0 0;
  font-size: 28px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  line-height: 1.15;
}

.souae-legal-section__body {
  padding-top: 18px;
}

.souae-legal-section__body p {
  margin: 0;
  font-size: 17px;
  line-height: 1.75;
  color: #3a3a36;
}

.souae-legal-section__body p.souae-legal-section__p {
  margin-bottom: 16px;
}

.souae-legal-section__body ul {
  margin: 0;
  padding-left: 22px;
  font-size: 17px;
  line-height: 1.85;
  color: #3a3a36;
}

.souae-legal-section__body a {
  border-bottom: 2px solid var(--souae-red);
  padding-bottom: 2px;
}

.souae-content h2 {
  scroll-margin-top: 120px;
}

.souae-block--dark .souae-section-title {
  color: #fff;
}

@media (max-width: 1100px) {
  .souae-legal-layout {
    grid-template-columns: 1fr;
    padding-left: 32px;
    padding-right: 32px;
    gap: 40px;
  }

  .souae-legal-toc {
    position: relative;
    top: auto;
  }

  .souae-legal-toc a {
    margin-left: 0;
  }
}

@media (max-width: 720px) {
  .souae-legal-layout {
    padding: 56px 20px 100px;
    gap: 32px;
  }

  .souae-page-hero--legal h1 {
    font-size: clamp(40px, 10vw, 56px);
  }

  .souae-legal-body--editor .souae-content > h2 {
    font-size: 22px;
  }

  .souae-legal-body--editor .souae-content > h2:not(:first-child) {
    margin-top: 32px;
    padding-top: 32px;
  }

  .souae-legal-section {
    padding-bottom: 32px;
    margin-bottom: 32px;
  }

  .souae-legal-section h2 {
    font-size: 22px;
  }

  .souae-values {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   Shared interior patterns (About / Impact / Community / …)
   Single SOT — reuse across pages; only add page-unique rules below.
   ========================================================================== */

.souae-split {
  border-top: 1px solid var(--souae-border);
  background: #fff;
}

.souae-split--dark {
  background: #0a0a0a;
  color: #fff;
  border-top: none;
}

.souae-split__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg);
}

.souae-split__inner--flush {
  padding: 0;
}

.souae-split__inner--intro {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 72px;
  align-items: start;
}

.souae-split__inner--media {
  display: grid;
  grid-template-columns: 6fr 6fr;
  gap: 72px;
  align-items: center;
  padding-top: 150px;
  padding-bottom: 150px;
}

.souae-split__inner--media-first .souae-split__media {
  order: 0;
}

.souae-split__body {
  margin: 6px 0 0;
  font-size: 23px;
  line-height: 1.65;
  color: #3a3a36;
  max-width: 820px;
}

.souae-split__body p {
  margin: 0 0 28px;
}

.souae-split__body p:last-child {
  margin-bottom: 0;
}

.souae-split__body--on-dark {
  color: #c9c9c9;
  font-size: 20px;
  line-height: 1.7;
  max-width: 60ch;
}

.souae-split__media {
  position: relative;
  height: 520px;
  overflow: hidden;
  min-width: 0;
}

.souae-split__media.souae-split__media--tall {
  height: 560px;
}

.souae-split__media.souae-split__media--md {
  height: 480px;
}

.souae-split__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-section-title--on-dark {
  color: #fff;
}

.souae-section-title--story {
  margin-bottom: 72px;
  max-width: 20ch;
  font-size: clamp(48px, 5vw, 64px);
}

.souae-prose--emphasis {
  color: #fff !important;
  margin-top: 20px;
}

/* Sticky scroll stories (mission / vision / values / opportunity) */
.souae-sticky-story {
  border-top: 1px solid var(--souae-border);
  background: #fff;
  color: #0a0a0a;
}

.souae-sticky-story--dark {
  background: #0a0a0a;
  color: #fff;
  border-top: none;
}

.souae-sticky-story__track {
  position: relative;
  height: 2400px;
}

.souae-sticky-story__track--vision {
  height: 2600px;
}

.souae-sticky-story__track--believe,
.souae-sticky-story__track--beyond {
  height: 3200px;
}

.souae-sticky-story__pin {
  position: sticky;
  top: var(--souae-header-offset, 106px);
  height: calc(100vh - var(--souae-header-offset, 106px));
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 0 var(--souae-gutter-lg);
  box-sizing: border-box;
}

.souae-sticky-story__pin--start {
  align-items: flex-start;
  text-align: left;
  max-width: var(--souae-max);
  margin: 0 auto;
  width: 100%;
  justify-content: center;
}

.souae-section-title--believe {
  font-size: 56px;
  line-height: 1.05;
  margin-bottom: 0;
  transition: opacity 0.3s, transform 0.3s;
}

.souae-sticky-story__headline {
  margin: 0;
  max-width: 46ch;
  font-size: clamp(26px, 3.4vw, 44px);
  line-height: 1.4;
  letter-spacing: -0.01em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-sticky-story__headline [data-mission-phrase],
.souae-sticky-story__headline [data-vision-phrase],
.souae-sticky-story__headline [data-phrase] {
  transition: opacity 0.2s linear;
}

.souae-sticky-story__desc {
  margin: 36px 0 0;
  max-width: 56ch;
  font-size: 18px;
  line-height: 1.7;
  color: #636359;
  transition: opacity 0.4s ease, transform 0.4s ease;
}

.souae-sticky-story__desc--on-dark {
  color: #c9c9c9;
}

/* Story timeline (About) */
.souae-story-timeline {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--souae-border);
}

.souae-story-timeline li {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 48px;
  padding: 44px 0;
  border-bottom: 1px solid var(--souae-border);
  align-items: baseline;
}

.souae-story-timeline li:last-child {
  border-bottom: none;
}

.souae-story-timeline .year {
  margin: 0;
  font-size: clamp(30px, 3.4vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--souae-red);
  white-space: nowrap;
}

.souae-story-timeline li.is-muted .year {
  color: #0a0a0a;
}

.souae-story-timeline .text {
  margin: 0;
  font-size: 19px;
  line-height: 1.6;
  color: #3a3a36;
  max-width: 66ch;
}

/* Full-bleed media band with text */
.souae-media-band {
  position: relative;
  height: 720px;
  overflow: hidden;
  border-top: 1px solid var(--souae-border);
  color: #fff;
  background: #0a0a0a;
}

.souae-media-band__media {
  position: absolute;
  inset: -9% 0;
}

.souae-media-band__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-media-band__veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(10, 10, 10, 0.8) 0%, rgba(10, 10, 10, 0.4) 55%, rgba(10, 10, 10, 0) 100%);
  pointer-events: none;
}

.souae-media-band__inner {
  position: absolute;
  left: var(--souae-gutter-lg);
  bottom: 64px;
  max-width: 640px;
  z-index: 2;
}

.souae-media-band__inner h2 {
  margin: 0;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-media-band__inner > p:not(.souae-eyebrow) {
  margin: 24px 0 0;
  font-size: 18px;
  line-height: 1.6;
  color: #e5e5e5;
}

.souae-media-band__inner .souae-eyebrow {
  margin: 0 0 20px;
  font-size: 13px;
  line-height: normal;
}

.souae-media-band--quote {
  height: 640px;
  display: flex;
  align-items: flex-end;
}

.souae-media-band--quote .souae-media-band__inner {
  position: relative;
  left: auto;
  bottom: auto;
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 0 var(--souae-gutter-lg) 80px;
  width: 100%;
}

.souae-media-band--quote h2 {
  max-width: 18ch;
  font-size: clamp(36px, 5vw, 64px);
}

/* Values wordscape */
.souae-wordscape {
  position: relative;
  height: 520px;
  width: 100%;
  margin-top: 70px;
}

.souae-wordscape__word {
  position: absolute;
  margin: 0;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.souae-wordscape__word.is-xl {
  font-size: clamp(48px, 6vw, 90px);
}

.souae-wordscape__word.is-lg {
  font-size: clamp(40px, 5vw, 78px);
}

.souae-wordscape__word.is-sm {
  font-size: 24px;
  color: #636359;
}

.souae-wordscape__word.is-accent {
  color: var(--souae-red);
}

.souae-wordscape__word.is-tl { left: 0; top: 10px; }
.souae-wordscape__word.is-tr { left: 74%; top: 60px; }
.souae-wordscape__word.is-ml { left: 26%; top: 170px; }
.souae-wordscape__word.is-bl { left: 2%; top: 310px; }
.souae-wordscape__word.is-bm { left: 16%; top: 360px; }
.souae-wordscape__word.is-br { left: 44%; top: 440px; }

/* Careers purpose wordscape positions (Careers.dc.html) */
.souae-wordscape__word.is-purpose-tr { left: 76%; top: 60px; }
.souae-wordscape__word.is-purpose-ml { left: 26%; top: 180px; }
.souae-wordscape__word.is-purpose-bl { left: 2%; top: 320px; }
.souae-wordscape__word.is-purpose-bm {
  left: 16%;
  top: 370px;
  font-size: 88px;
}

.souae-wordscape-list {
  display: none;
  list-style: none;
  margin: 48px 0 0;
  padding: 0;
  gap: 12px;
}

.souae-wordscape-list li {
  font-size: clamp(28px, 6vw, 40px);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
  border-top: 1px solid var(--souae-border);
  padding: 16px 0;
}

.souae-wordscape-list li:last-child {
  color: var(--souae-red);
  border-bottom: 1px solid var(--souae-border);
}

/* Global / glance stats */
.souae-stat-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
  border-top: 1px solid #2c2c2a;
  margin-top: 72px;
  padding-top: 52px;
}

.souae-stat-row .val {
  margin: 0;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.souae-stat-row .lab {
  margin: 12px 0 0;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  color: #9a9a90;
  text-transform: uppercase;
}

.souae-stat-board {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  grid-template-rows: auto auto;
  border: 1px solid #2c2c2a;
}

.souae-stat-board__hero {
  grid-column: 1;
  grid-row: 1 / 3;
  padding: 56px 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid #2c2c2a;
}

.souae-stat-board__hero .val {
  font-size: clamp(72px, 9vw, 132px);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: var(--souae-red);
  margin: 0;
}

.souae-stat-board__hero .lab {
  margin-top: 16px;
  font-family: var(--souae-mono);
  font-size: 15px;
  letter-spacing: 0.18em;
  color: #c9c9c9;
  text-transform: uppercase;
}

.souae-stat-board__cell {
  padding: 28px;
}

.souae-stat-board__cell:nth-child(2) {
  border-right: 1px solid #2c2c2a;
  border-bottom: 1px solid #2c2c2a;
}

.souae-stat-board__cell:nth-child(3) {
  border-bottom: 1px solid #2c2c2a;
}

.souae-stat-board__cell:nth-child(4) {
  border-right: 1px solid #2c2c2a;
}

.souae-stat-board__cell .val {
  display: block;
  margin: 0;
  font-size: clamp(40px, 4.5vw, 64px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
}

.souae-stat-board__cell .lab {
  display: block;
  margin-top: 12px;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.16em;
  color: #9a9a90;
  text-transform: uppercase;
}

/* Dual connect (text columns + underline links — not cards) */
.souae-dual-connect {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
}

.souae-dual-connect h3 {
  margin: 0 0 20px;
  font-size: 40px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-dual-connect p:not(.souae-eyebrow) {
  margin: 0 0 28px;
  font-size: 17px;
  line-height: 1.6;
  color: #636359;
  max-width: 42ch;
}

.souae-dual-connect .souae-eyebrow {
  margin: 0 0 16px;
}

.souae-text-link {
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 2px solid var(--souae-red);
  padding-bottom: 3px;
  color: inherit;
  display: inline-block;
}

.souae-text-link:hover {
  color: var(--souae-red);
}

.souae-statement--light {
  background: #fff;
  color: #0a0a0a;
  border-top: none;
}

.souae-statement--center {
  text-align: center;
}

.souae-statement--center .souae-statement__inner {
  max-width: 1200px;
  padding: 160px var(--souae-gutter-lg);
}

.souae-statement--center h2 {
  max-width: none;
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.06;
  margin: 0 auto;
}

.souae-statement--light h2 {
  color: #0a0a0a;
}

/* Dimension tabs (Impact) */
.souae-dim-tabs {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 64px;
  margin-top: 64px;
  align-items: start;
}

.souae-dim-tabs__list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--souae-border);
}

.souae-dim-tabs__list button {
  width: 100%;
  text-align: left;
  background: none;
  border: 0;
  border-bottom: 1px solid var(--souae-border);
  padding: 22px 0;
  font: inherit;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #9a9a90;
  cursor: pointer;
  display: flex;
  gap: 16px;
  align-items: baseline;
}

.souae-dim-tabs__list button[aria-selected="true"],
.souae-dim-tabs__list button:hover {
  color: #0a0a0a;
}

.souae-dim-tabs__list .num {
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.16em;
  color: var(--souae-red);
}

.souae-dim-tabs__panel {
  position: relative;
}

.souae-dim-tabs__media {
  position: relative;
  height: 420px;
  overflow: hidden;
  margin-bottom: 28px;
}

.souae-dim-tabs__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-dim-tabs__count {
  margin: 0 0 12px;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  color: var(--souae-red);
  text-transform: uppercase;
}

.souae-dim-tabs__panel h3 {
  margin: 0 0 16px;
  font-size: 36px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.souae-dim-tabs__panel p {
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: #636359;
  max-width: 48ch;
}

@media (max-width: 1100px) {
  .souae-page-hero--tall {
    min-height: 640px;
  }

  .souae-split__inner--intro,
  .souae-split__inner--media,
  .souae-dual-connect,
  .souae-dim-tabs,
  .souae-stat-row {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .souae-split__inner--media-first .souae-split__media {
    order: -1;
  }

  .souae-split__media,
  .souae-media-band {
    height: 400px;
  }

  .souae-stat-board {
    grid-template-columns: 1fr 1fr;
  }

  .souae-stat-board__hero {
    grid-column: 1 / -1;
    grid-row: auto;
    border-right: none;
    border-bottom: 1px solid #2c2c2a;
  }

  .souae-main > .souae-page-hero#hero-pin[data-sticky-hero] {
    position: relative;
  }

  .souae-main > .souae-page-hero#hero-pin[data-sticky-hero] + section {
    box-shadow: none;
  }

  #hero-pin[data-covered] {
    visibility: visible;
  }

  /* Mission / vision collapse on tablet; values keep scroll story */
  .souae-sticky-story__track--mission,
  .souae-sticky-story__track--vision {
    height: auto;
  }

  .souae-sticky-story__track--mission .souae-sticky-story__pin,
  .souae-sticky-story__track--vision .souae-sticky-story__pin {
    position: relative;
    top: auto;
    height: auto;
    min-height: 0;
    padding: 80px var(--souae-gutter-lg);
  }

  .souae-section-title--believe {
    font-size: clamp(32px, 7vw, 48px);
  }

  /* Tablet: keep absolute wordscape, slightly tighter */
  .souae-wordscape {
    height: 420px;
    margin-top: 40px;
  }

  .souae-wordscape__word.is-xl {
    font-size: clamp(36px, 12vw, 56px);
  }

  .souae-wordscape__word.is-lg {
    font-size: clamp(28px, 9vw, 44px);
  }

  .souae-wordscape__word.is-sm {
    font-size: 18px;
  }

  .souae-wordscape__word.is-tr { left: 58%; top: 48px; }
  .souae-wordscape__word.is-ml { left: 8%; top: 150px; }
  .souae-wordscape__word.is-bl { left: 4%; top: 280px; }
  .souae-wordscape__word.is-bm { left: 12%; top: 320px; }
  .souae-wordscape__word.is-br { left: 28%; top: 360px; }

  .souae-wordscape-list {
    display: none;
  }

  .souae-split__media,
  .souae-media-band {
    height: 520px;
  }

  .souae-split__media.souae-split__media--tall,
  .souae-split__media.souae-split__media--md {
    height: 480px;
  }

  .souae-story-timeline li {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .souae-story-timeline .year {
    white-space: normal;
  }
}

@media (max-width: 720px) {
  .souae-page-hero--tall {
    min-height: min(100dvh, 820px);
    min-height: 820px;
  }

  .souae-values--board {
    grid-template-columns: 1fr;
  }

  .souae-values--board li {
    padding: 28px 20px;
  }

  .souae-values--board h3 {
    font-size: 22px;
  }

  .souae-job {
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
    padding: 32px 0;
  }

  .souae-job h3 {
    font-size: 22px;
  }

  .souae-split__media.souae-split__media--tall,
  .souae-split__media.souae-split__media--md {
    height: 360px;
  }

  .souae-section-title--purpose {
    font-size: clamp(32px, 9vw, 40px);
  }

  .souae-block__inner--jobs {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .souae-prose--jobs {
    margin-bottom: 40px;
    font-size: 17px;
  }

  .souae-page-hero--end .souae-page-hero__inner {
    padding-bottom: 64px;
  }

  .souae-page-hero__actions {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    margin-top: 28px;
  }

  .souae-page-hero__actions .souae-btn,
  .souae-page-hero__actions .souae-btn-outline,
  .souae-band__actions .souae-btn,
  .souae-band__actions .souae-btn-outline {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  .souae-btn--lg {
    padding: 18px 28px;
    font-size: 15px;
  }

  .souae-band__actions {
    flex-direction: column;
    align-items: stretch;
  }

  /* Unified mobile section gutters (match HTML ~20 / 72–80) */
  .souae-split__inner,
  .souae-split__inner--intro,
  .souae-split__inner--media,
  .souae-dual-connect,
  .souae-statement__inner,
  .souae-statement--center .souae-statement__inner,
  .souae-block__inner,
  .souae-band__inner,
  .souae-page-hero__inner {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .souae-split__inner,
  .souae-split__inner--intro,
  .souae-split__inner--media,
  .souae-dual-connect,
  .souae-block__inner {
    padding-top: 72px;
    padding-bottom: 72px;
  }

  .souae-statement__inner,
  .souae-statement--center .souae-statement__inner {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  .souae-band__inner {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  .souae-sticky-story__track--mission .souae-sticky-story__pin,
  .souae-sticky-story__track--vision .souae-sticky-story__pin {
    padding: 72px 20px;
  }

  .souae-sticky-story__pin--start {
    padding-left: 20px;
    padding-right: 20px;
  }

  /* Values wordscape → left-stacked list (match HTML ≤720) */
  .souae-wordscape {
    position: relative;
    height: auto !important;
    min-height: 0;
    margin-top: 24px;
  }

  .souae-wordscape__word {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    display: block;
    font-size: 34px !important;
    line-height: 1.1 !important;
    margin: 0 0 14px !important;
    white-space: normal !important;
    letter-spacing: -0.02em;
  }

  .souae-wordscape__word.is-sm {
    font-size: 34px !important;
    line-height: 1.1 !important;
    margin: 0 0 14px !important;
    color: inherit;
    letter-spacing: -0.02em;
  }

  .souae-wordscape__word.is-accent {
    color: var(--souae-red);
  }

  .souae-media-band {
    height: 720px;
  }

  .souae-media-band__inner {
    left: 20px;
    right: 20px;
    bottom: 48px;
    max-width: none;
  }

  .souae-media-band__inner h2 {
    font-size: clamp(32px, 9vw, 44px);
  }

  .souae-split__body {
    font-size: 18px;
  }

  .souae-dual-connect h3 {
    font-size: 28px;
  }

  .souae-media-band__inner {
    left: 20px;
    right: 20px;
    bottom: 40px;
  }

  .souae-stat-board {
    grid-template-columns: 1fr;
  }

  .souae-stat-board__cell:nth-child(n) {
    border-right: none;
    border-bottom: 1px solid #2c2c2a;
  }

  .souae-stat-board__cell:last-child {
    border-bottom: none;
  }

  .souae-page-hero h1 {
    font-size: clamp(30px, 8vw, 38px);
  }

  .souae-page-hero__lead {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.45;
  }
}


/* ==========================================================================
   Community page (html/Community.dc.html)
   ========================================================================== */

.souae-page-hero--community .souae-page-hero__lead {
  max-width: 46ch;
  color: #c9c9c9;
}

.souae-community-intro .souae-split__inner--intro {
  padding: 130px var(--souae-gutter-lg);
}

.souae-community-intro .souae-section-title {
  font-size: 56px;
}

.souae-community-ecosystem {
  border-top: 1px solid var(--souae-border);
  overflow: hidden;
}

.souae-community-ecosystem .souae-split__inner {
  padding: 150px var(--souae-gutter-lg) 140px;
}

.souae-community-ecosystem .souae-section-title {
  font-size: 56px;
  margin-bottom: 24px;
}

.souae-prose--community {
  margin: 0 0 40px;
  font-size: 19px;
  line-height: 1.65;
  color: var(--souae-gray);
  max-width: 60ch;
}

.souae-ecosystem {
  position: relative;
  width: min(680px, 100%);
  aspect-ratio: 1;
  margin: 0 auto;
}

.souae-ecosystem__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.souae-ecosystem__center {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: clamp(140px, 32%, 220px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: var(--souae-red);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(18px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  z-index: 2;
  margin: 0;
  animation: souae-eco-pulse 2.6s ease-in-out infinite;
}

.souae-ecosystem__node {
  position: absolute;
  transform: translate(-50%, -50%);
  margin: 0;
  font-size: clamp(16px, 2vw, 26px);
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: center;
  z-index: 2;
}

.souae-ecosystem__node::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #0a0a0a;
  margin: 0 auto 12px;
  animation: souae-eco-dot 3s ease-in-out infinite;
}

.souae-ecosystem__node--schools { left: 50%; top: 13.2%; }
.souae-ecosystem__node--partners { left: 85%; top: 38.6%; animation-delay: 0.6s; }
.souae-ecosystem__node--partners::before { animation-delay: 0.6s; }
.souae-ecosystem__node--supporters { left: 71.6%; top: 79.7%; }
.souae-ecosystem__node--supporters::before { animation-delay: 1.2s; }
.souae-ecosystem__node--volunteers { left: 28.4%; top: 79.7%; }
.souae-ecosystem__node--volunteers::before { animation-delay: 1.8s; }
.souae-ecosystem__node--families { left: 15%; top: 38.6%; }
.souae-ecosystem__node--families::before { animation-delay: 2.4s; }

@keyframes souae-eco-pulse {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.04); }
}

@keyframes souae-eco-dot {
  0%, 100% { opacity: 0.35; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.25); }
}

.souae-community-story {
  border-top: 1px solid var(--souae-border);
}

.souae-community-story .souae-split__inner--media {
  padding-top: 140px;
  padding-bottom: 140px;
}

.souae-community-story .souae-split__media {
  height: 600px;
}

.souae-community-story__title {
  font-size: 52px;
  line-height: 1.05;
  margin-bottom: 24px;
}

.souae-community-action {
  border-top: 1px solid var(--souae-border);
}

.souae-community-action .souae-split__inner {
  padding: 150px var(--souae-gutter-lg) 140px;
}

.souae-community-action__title {
  font-size: 64px;
  margin-bottom: 64px;
}

.souae-action-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.2fr);
  gap: 24px;
  align-items: start;
  margin-top: 0;
}

.souae-action-grid__item {
  overflow: hidden;
  min-width: 0;
}

.souae-action-grid__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-action-grid__item--1 { height: 420px; }
.souae-action-grid__item--2 { height: 340px; margin-top: 80px; }
.souae-action-grid__item--3 { height: 380px; margin-top: 40px; }
.souae-action-grid__item--4 { height: 440px; }

.souae-community-explore {
  border-top: 1px solid var(--souae-border);
}

.souae-community-explore .souae-block__inner {
  padding: 140px var(--souae-gutter-lg);
}

.souae-community-explore__title {
  font-size: 64px;
  margin-bottom: 64px;
}

.souae-explore-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 0;
}

.souae-explore-grid__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  color: var(--souae-black);
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.06);
  transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.2, 1), box-shadow 0.3s;
}

.souae-explore-grid__card:hover {
  color: var(--souae-black);
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(10, 10, 10, 0.14);
}

.souae-explore-grid__media {
  height: 280px;
  overflow: hidden;
  min-width: 0;
  margin: 0;
}

.souae-explore-grid__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-explore-grid__body {
  padding: 28px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.souae-explore-grid__body .souae-eyebrow {
  margin: 0 0 8px;
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--souae-red);
}

.souae-explore-grid__body h3 {
  margin: 0;
  font-size: 21px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.souae-explore-grid__body p {
  margin: 10px 0 0;
  font-size: 14px;
  line-height: 1.55;
  color: var(--souae-gray);
}

.souae-explore-grid__cta {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid var(--souae-border);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  align-self: stretch;
}

.souae-community .souae-statement__inner {
  max-width: 1200px;
  padding: 160px var(--souae-gutter-lg);
}

.souae-community .souae-statement__inner h2 {
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.06;
}

.souae-community-uae {
  border-top: 1px solid #1a1a1a;
}

.souae-community-uae__inner {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 72px;
  align-items: center;
  padding: 130px var(--souae-gutter-lg) 0;
}

.souae-community-uae__title {
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 1.05;
  max-width: 18ch;
  margin-bottom: 28px;
}

.souae-community-uae .souae-split__body--on-dark {
  font-size: 19px;
  line-height: 1.65;
  color: #c9c9c9;
  max-width: 60ch;
}

.souae-community-uae .souae-split__media {
  height: 420px;
}

.souae-community-uae__emirates {
  max-width: var(--souae-max);
  margin: 110px auto 0;
  padding: 56px var(--souae-gutter-lg) 130px;
  border-top: 1px solid #1a1a1a;
}

.souae-emirates__inner {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  font-size: 22px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

.souae-emirates__sep {
  font-weight: 700;
}

.souae-community .souae-stats--rule {
  border-top: 2px solid #0a0a0a;
  margin-top: 72px;
  padding-top: 52px;
}

.souae-community .souae-stats--rule .souae-stat__value {
  font-size: 56px;
}

.souae-community > .souae-block:not(.souae-community-explore) .souae-block__inner {
  padding: 150px var(--souae-gutter-lg);
}

.souae-community > .souae-block:not(.souae-community-explore) .souae-section-title {
  font-size: 52px;
  line-height: 1.05;
}

.souae-block__foot-link {
  margin-top: 40px;
}

.souae-why-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px 48px;
  margin-top: 56px;
}

.souae-why-grid h3 {
  margin: 0 0 12px;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

.souae-why-grid p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #c9c9c9;
}

@media (max-width: 1100px) {
  .souae-explore-grid {
    grid-template-columns: 1fr 1fr;
  }

  .souae-action-grid {
    grid-template-columns: 1fr 1fr;
  }

  .souae-action-grid__item--1,
  .souae-action-grid__item--2,
  .souae-action-grid__item--3,
  .souae-action-grid__item--4 {
    height: 280px;
    margin-top: 0;
  }

  .souae-community-uae__inner {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .souae-ecosystem {
    width: min(480px, 100%);
  }
}

@media (max-width: 720px) {
  .souae-community-intro .souae-split__inner--intro,
  .souae-community-ecosystem .souae-split__inner,
  .souae-community-story .souae-split__inner--media,
  .souae-community-action .souae-split__inner,
  .souae-community-explore .souae-block__inner,
  .souae-community .souae-statement__inner,
  .souae-community-uae__inner,
  .souae-community-uae__emirates,
  .souae-community > .souae-block:not(.souae-community-explore) .souae-block__inner {
    padding: 80px 20px;
  }

  .souae-community-uae__inner {
    padding-bottom: 0;
  }

  .souae-community-intro .souae-section-title,
  .souae-community-ecosystem .souae-section-title,
  .souae-community-action__title,
  .souae-community-explore__title,
  .souae-community-story__title,
  .souae-community .souae-block .souae-section-title {
    font-size: clamp(36px, 9vw, 48px);
  }

  .souae-community-action__title,
  .souae-community-explore__title {
    margin-bottom: 40px;
  }

  .souae-community-story .souae-split__media,
  .souae-community-uae .souae-split__media {
    height: 280px;
  }

  .souae-explore-grid,
  .souae-why-grid,
  .souae-action-grid {
    grid-template-columns: 1fr;
  }

  .souae-action-grid__item--1,
  .souae-action-grid__item--2,
  .souae-action-grid__item--3,
  .souae-action-grid__item--4 {
    height: 240px;
    margin-top: 0;
  }

  .souae-explore-grid__media {
    height: 220px;
  }

  .souae-impact-quote__card {
    left: 20px;
    right: 20px;
    bottom: 32px;
    max-width: none;
    padding: 28px;
  }

  .souae-impact-quote__card h2 {
    font-size: clamp(28px, 8vw, 40px);
  }

  .souae-community-uae__emirates {
    margin-top: 64px;
    padding-top: 40px;
    padding-bottom: 80px;
  }

  .souae-emirates__inner {
    font-size: 16px;
    gap: 10px 8px;
  }

  .souae-community .souae-stats--rule {
    margin-top: 48px;
    padding-top: 36px;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
  }

  .souae-community .souae-stats--rule .souae-stat__value {
    font-size: 40px;
  }

  .souae-ecosystem__node {
    font-size: 14px;
  }

  @media (prefers-reduced-motion: reduce) {
    .souae-ecosystem__center,
    .souae-ecosystem__node::before {
      animation: none;
    }
  }
}


/* ==========================================================================
   Page transition (matches .dc.html #pt)
   ========================================================================== */
.souae-pt {
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
  display: flex;
  overflow: hidden;
}

.souae-pt__col {
  flex: 1;
  background: #0a0a0a;
  transform-origin: top;
  will-change: transform;
  animation: souae-pt-reveal 0.58s cubic-bezier(0.76, 0, 0.24, 1) both;
}

.souae-pt__col + .souae-pt__col {
  margin-left: -1px;
}

@keyframes souae-pt-reveal {
  from { transform: scaleY(1); }
  to { transform: scaleY(0); }
}

.souae-pt__badge {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  animation: souae-pt-badge-out 0.34s ease both;
}

.souae-pt__badge img {
  height: 52px;
  width: auto;
  max-height: 52px;
  max-width: 220px;
  display: block;
  flex-shrink: 0;
}

.souae-pt__rule {
  display: block;
  width: 150px;
  height: 2px;
  background: #ed1c24;
  transform-origin: center;
}

@keyframes souae-pt-badge-out {
  from { opacity: 1; }
  to { opacity: 0; }
}

.souae-pt.is-out .souae-pt__col {
  transform-origin: bottom;
  animation: souae-pt-cover 0.44s cubic-bezier(0.76, 0, 0.24, 1) both;
}

@keyframes souae-pt-cover {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

.souae-pt.is-out .souae-pt__badge {
  animation: souae-pt-badge-in 0.46s cubic-bezier(0.34, 1.2, 0.64, 1) 0.14s both;
}

/* Opacity only — no scale (HTML spring easing overshoots and reads as size jump). */
@keyframes souae-pt-badge-in {
  from { opacity: 0; transform: translate(-50%, -50%); }
  to { opacity: 1; transform: translate(-50%, -50%); }
}

.souae-pt.is-out .souae-pt__rule {
  animation: souae-pt-rule 0.5s cubic-bezier(0.76, 0, 0.24, 1) 0.2s both;
}

@keyframes souae-pt-rule {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@media (prefers-reduced-motion: reduce) {
  .souae-pt {
    display: none;
  }
}

/* ==========================================================================
   Events page (html/Events.dc.html) — calendar omitted; upcoming full-width
   ========================================================================== */
.souae-page-hero--events {
  min-height: 780px;
  align-items: center;
}

.souae-page-hero--events .souae-page-hero__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.souae-page-hero__veil--events {
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.25) 0%,
    rgba(10, 10, 10, 0.55) 62%,
    rgba(10, 10, 10, 0.82) 100%
  );
}

.souae-page-hero--events h1 {
  max-width: none;
}

.souae-event-date {
  border: 2px solid #0a0a0a;
  text-align: center;
  padding: 10px 6px;
  box-sizing: border-box;
}

.souae-event-date--lg {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 20px;
  margin-bottom: 28px;
}

.souae-event-date__month {
  display: block;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  color: #ff0000;
  font-weight: 700;
}

.souae-event-date--lg .souae-event-date__month {
  font-size: 13px;
}

.souae-event-date__day {
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}

.souae-event-date--lg .souae-event-date__day {
  font-size: 36px;
}

.souae-event-meta {
  margin: 6px 0 0;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #636359;
  text-transform: none;
}

.souae-event-meta__cat {
  color: #ff0000;
}

.souae-events-featured {
  border-top: 1px solid #e7e5d8;
  background: #fff;
}

.souae-events-featured__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg) 140px;
}

.souae-events-featured .souae-eyebrow,
.souae-events-upcoming .souae-eyebrow,
.souae-events-past .souae-eyebrow {
  margin-bottom: 20px;
}

.souae-events-featured .souae-section-title,
.souae-events-upcoming .souae-section-title {
  margin: 0 0 64px;
  font-size: 56px;
}

.souae-events-featured__card {
  display: grid;
  grid-template-columns: 7fr 5fr;
  gap: 72px;
  align-items: center;
}

.souae-events-featured__media {
  position: relative;
  height: 560px;
  overflow: hidden;
  min-width: 0;
}

.souae-events-featured__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-events-featured__title {
  margin: 0 0 14px;
  font-size: 40px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: none;
}

.souae-events-featured__body .souae-event-meta {
  margin: 0 0 24px;
  letter-spacing: 0.16em;
  color: #9a9a90;
}

.souae-events-featured__desc {
  margin: 0 0 32px;
  font-size: 18px;
  line-height: 1.65;
  color: #636359;
  max-width: 44ch;
}

.souae-events-upcoming {
  border-top: 1px solid #e7e5d8;
  background: #fff;
}

.souae-events-upcoming__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg) 140px;
}

.souae-events-list {
  border-top: 2px solid #0a0a0a;
}

.souae-events-list__row {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr) auto auto;
  gap: 28px;
  padding: 32px 4px;
  border-bottom: 1px solid #d6d3c2;
  align-items: center;
}

.souae-events-list__copy h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 700;
  text-transform: none;
}

.souae-events-list__badge {
  font-family: var(--souae-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #ff0000;
  border: 1px solid #ff0000;
  padding: 6px 10px;
  border-radius: 3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.souae-statement--events {
  border-top: 1px solid #e7e5d8;
}

.souae-statement--events .souae-statement__inner {
  max-width: 1200px;
  padding-top: 160px;
  padding-bottom: 160px;
}

.souae-statement--events h2 {
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.06;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.souae-events-past {
  background: #fff;
  border-top: 1px solid #e7e5d8;
}

.souae-events-past__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 80px var(--souae-gutter-lg) 140px;
}

.souae-events-past__inner .souae-section-title {
  margin-bottom: 56px;
  font-size: 44px;
}

.souae-events-past__list {
  border-top: 1px solid #e7e5d8;
}

.souae-events-past__row {
  display: grid;
  grid-template-columns: 88px 130px minmax(0, 1fr) auto auto;
  gap: 28px;
  padding: 24px;
  margin: 0 -24px;
  border-bottom: 1px solid #e7e5d8;
  align-items: center;
  color: #0a0a0a;
  background: transparent;
  transform: translateX(0);
  transition: background-color 0.45s cubic-bezier(0.2, 0.6, 0.2, 1),
    transform 0.45s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-events-past__row:hover {
  background-color: #f7f7f7;
  transform: translateX(10px);
  color: #0a0a0a;
}

.souae-events-past__thumb {
  width: 88px;
  height: 88px;
  overflow: hidden;
  filter: grayscale(0.4);
  opacity: 0.85;
}

.souae-events-past__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-events-past__date {
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.1em;
  color: #9a9a90;
}

.souae-events-past__copy h3 {
  margin: 0;
  font-size: 19px;
  font-weight: 700;
  text-transform: none;
}

.souae-events-past__copy p {
  margin: 4px 0 0;
  font-family: var(--souae-mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  color: #9a9a90;
}

.souae-events-past__badge {
  font-family: var(--souae-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  color: #9a9a90;
  border: 1px solid #d6d3c2;
  padding: 6px 10px;
  border-radius: 3px;
  text-transform: uppercase;
  white-space: nowrap;
}

.souae-events-past__cta {
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.06em;
  color: #0a0a0a;
  text-transform: uppercase;
  white-space: nowrap;
}

.souae-events-connect {
  background: #0a0a0a;
  color: #fff;
}

.souae-events-connect__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg);
}

.souae-events-connect .souae-eyebrow {
  margin-bottom: 20px;
  color: #ff4d4d;
}

.souae-events-connect__inner .souae-section-title {
  max-width: 20.5ch;
  margin: 0 0 56px;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.souae-events-connect__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: #2a2a2a;
  border: 1px solid #2a2a2a;
}

.souae-events-connect__card {
  background: #0a0a0a;
  padding: 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  color: #fff;
  transition: background 0.3s;
}

.souae-events-connect__card:hover {
  background: #1a1a1a;
  color: #fff;
}

.souae-events-connect__top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}

.souae-events-connect__title {
  font-weight: 700;
  font-size: 17px;
  text-transform: uppercase;
}

.souae-events-connect__arrow {
  font-weight: 700;
  color: #ff0000;
}

.souae-events-connect__text {
  font-size: 15px;
  line-height: 1.5;
  color: #c9c9c9;
}

.souae-band--events .souae-band__veil--side {
  background: linear-gradient(
    90deg,
    rgba(10, 10, 10, 0.8) 0%,
    rgba(10, 10, 10, 0.45) 55%,
    rgba(10, 10, 10, 0.15) 100%
  );
}

@media (max-width: 1100px) {
  .souae-events-featured__card {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .souae-events-featured__media {
    height: 420px;
  }

  .souae-events-connect__grid {
    grid-template-columns: 1fr;
  }

  .souae-events-list__row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px 16px;
    align-items: start;
  }

  .souae-events-list__badge,
  .souae-events-list__row .souae-btn {
    grid-column: 2;
    justify-self: start;
  }

  .souae-events-past__row {
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 10px 16px;
    margin: 0;
    padding: 20px 0;
  }

  .souae-events-past__thumb {
    grid-row: 1 / span 3;
    width: 72px;
    height: 72px;
  }

  .souae-events-past__date,
  .souae-events-past__copy,
  .souae-events-past__badge,
  .souae-events-past__cta {
    grid-column: 2;
    justify-self: start;
  }
}

@media (max-width: 720px) {
  .souae-page-hero--events {
    min-height: min(100dvh, 680px);
  }

  /* Even mobile section rhythm (was 130–160 vs 0 on past) */
  .souae-events-featured__inner,
  .souae-events-upcoming__inner,
  .souae-events-past__inner,
  .souae-events-connect__inner {
    padding: 80px 20px;
  }

  .souae-statement--events .souae-statement__inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .souae-events-featured .souae-section-title,
  .souae-events-upcoming .souae-section-title {
    font-size: clamp(36px, 9vw, 48px);
    margin-bottom: 40px;
  }

  .souae-events-past__inner .souae-section-title {
    margin-bottom: 40px;
  }

  .souae-events-connect__inner .souae-section-title {
    margin-bottom: 40px;
    font-size: clamp(32px, 8vw, 44px);
  }

  .souae-events-featured__media {
    height: 280px;
  }

  .souae-events-featured__title {
    font-size: clamp(28px, 8vw, 36px);
  }

  .souae-events-past__row:hover {
    transform: none;
  }
}

/* ==========================================================================
   Get Involved page (html/Get Involved.dc.html)
   ========================================================================== */
.souae-page-hero--gi {
  min-height: 780px;
  align-items: center;
}

.souae-page-hero--gi .souae-page-hero__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.souae-page-hero__veil--gi {
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.25) 0%,
    rgba(10, 10, 10, 0.55) 62%,
    rgba(10, 10, 10, 0.82) 100%
  );
}

.souae-page-hero--gi h1 {
  max-width: none;
}

.souae-page-hero--gi .souae-page-hero__lead {
  max-width: 52ch;
}

.souae-page-hero--gi .souae-page-hero__actions {
  margin-top: 40px;
}

.souae-gi-why .souae-split__inner--intro {
  padding: 130px var(--souae-gutter-lg);
}

.souae-gi-why__title {
  font-size: 56px;
}

.souae-gi-choose .souae-block__inner {
  padding: 130px var(--souae-gutter-lg) 140px;
}

.souae-gi-choose__title {
  margin: 0 0 72px;
  font-size: 64px;
}

.souae-gi-paths {
  border-top: 1px solid #e7e5d8;
}

.souae-gi-path {
  display: grid;
  grid-template-columns: 64px 1fr 2fr auto;
  align-items: center;
  gap: 36px;
  padding: 32px 24px;
  margin: 0 -24px;
  border-bottom: 1px solid #e7e5d8;
  color: #0a0a0a;
  background: transparent;
  transform: translateX(0);
  transition: background-color 0.45s cubic-bezier(0.2, 0.6, 0.2, 1),
    transform 0.45s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-gi-path:hover {
  background-color: #f7f7f7;
  transform: translateX(14px);
  color: #0a0a0a;
}

.souae-gi-path__num {
  font-family: var(--souae-mono);
  font-size: 14px;
  letter-spacing: 0.14em;
  color: #ff0000;
  font-weight: 700;
}

.souae-gi-path__title {
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-gi-path__aud {
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #9a9a90;
  text-transform: uppercase;
}

.souae-gi-path__arrow {
  font-weight: 700;
  color: #ff0000;
}

.souae-statement--gi {
  border-top: 1px solid #e7e5d8;
}

.souae-gi-path-detail {
  border-top: 1px solid #e7e5d8;
  background: #fff;
}

.souae-gi-path-detail--dark {
  background: #0a0a0a;
  color: #fff;
  border-top: none;
}

.souae-gi-path-detail--dark .souae-eyebrow--light {
  color: #ff4d4d;
}

.souae-gi-path-detail__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 140px var(--souae-gutter-lg);
  display: grid;
  gap: 72px;
  align-items: center;
}

.souae-gi-path-detail__inner--7-5 {
  grid-template-columns: 7fr 5fr;
}

.souae-gi-path-detail__inner--5-7 {
  grid-template-columns: 5fr 7fr;
}

.souae-gi-path-detail__inner--6-6 {
  grid-template-columns: 6fr 6fr;
}

.souae-gi-path-detail__inner--5-4 {
  grid-template-columns: 5fr 4fr;
}

.souae-gi-path-detail__media {
  position: relative;
  overflow: hidden;
  min-width: 0;
}

.souae-gi-path-detail__media--tall {
  height: 640px;
}

.souae-gi-path-detail__media--md {
  height: 560px;
}

.souae-gi-path-detail__media--sm {
  height: 340px;
  border: 1px solid #e0ded0;
}

.souae-gi-path-detail__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-gi-path-detail__title {
  margin: 0 0 14px;
  font-size: 52px;
  line-height: 1.02;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-gi-path-detail__title--sm {
  font-size: 44px;
  line-height: 1.05;
}

.souae-gi-path-detail__aud {
  margin: 0 0 24px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  color: #9a9a90;
  text-transform: uppercase;
}

.souae-gi-path-detail__text {
  margin: 0 0 32px;
  font-size: 18px;
  line-height: 1.65;
  color: #636359;
  max-width: 44ch;
}

.souae-gi-path-detail--dark .souae-gi-path-detail__text {
  color: #c9c9c9;
}

.souae-gi-path-detail__title--sm + .souae-gi-path-detail__aud + .souae-gi-path-detail__text,
.souae-gi-path-detail__title--sm ~ .souae-gi-path-detail__text {
  font-size: 17px;
}

.souae-gi-path-detail__cta {
  margin: 0;
}

.souae-gi-path-detail__cta .souae-form-block {
  margin-top: 40px;
}

.souae-media-band--gi-event .souae-media-band__veil--gi-event {
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0) 22%,
    rgba(10, 10, 10, 0.55) 55%,
    rgba(10, 10, 10, 0.92) 100%
  );
}

.souae-media-band--gi-event .souae-media-band__inner h2 {
  font-size: 56px;
  text-shadow: 0 2px 14px rgba(0, 0, 0, 0.6);
}

.souae-gi-path-detail__aud--on-media {
  margin: 0 0 16px;
  color: #ededed;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}

.souae-gi-path-detail__text--on-media {
  margin: 0 0 28px;
  color: #fff;
  max-width: none;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}

.souae-media-band--gi-event .souae-eyebrow--light {
  margin-bottom: 16px;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.7);
}

.souae-media-band--gi-event .souae-text-link--on-dark {
  color: #fff;
  border-bottom-color: #fff;
}

.souae-media-band--gi-event .souae-text-link--on-dark:hover {
  color: #ff4d4d;
  border-bottom-color: #ff4d4d;
}

.souae-gi-impact__link .souae-text-link {
  font-size: 16px;
  letter-spacing: 0.08em;
  border-bottom: none;
  padding-bottom: 0;
}

.souae-gi-impact {
  border-top: 1px solid #e7e5d8;
  background: #fff;
}

.souae-gi-impact__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 140px var(--souae-gutter-lg);
}

.souae-gi-impact__intro {
  display: grid;
  grid-template-columns: 4fr 8fr;
  gap: 72px;
  align-items: start;
}

.souae-gi-impact__title {
  margin: 0;
  font-size: 52px;
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-gi-impact__body {
  margin: 6px 0 0;
  font-size: 23px;
  line-height: 1.65;
  color: #3a3a36;
  max-width: 60ch;
}

.souae-gi-impact__stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  border-top: 2px solid #0a0a0a;
  margin-top: 72px;
  padding-top: 52px;
}

.souae-gi-impact__stats .stg {
  opacity: 0;
  transform: translateY(20px);
  transition-property: opacity, transform;
  transition-duration: 0.65s;
  transition-timing-function: cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-gi-impact__stats.is-in .stg {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .souae-gi-impact__stats .stg {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.souae-gi-impact__val {
  margin: 0;
  font-size: 56px;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
}

.souae-gi-impact__lab {
  margin: 12px 0 0;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  color: #636359;
  text-transform: uppercase;
}

.souae-gi-impact__link {
  margin: 56px 0 0;
  text-align: right;
}

.souae-band--gi .souae-band__veil--side {
  background: linear-gradient(
    90deg,
    rgba(10, 10, 10, 0.8) 0%,
    rgba(10, 10, 10, 0.45) 55%,
    rgba(10, 10, 10, 0.15) 100%
  );
}

@media (max-width: 1100px) {
  .souae-gi-path {
    grid-template-columns: 48px minmax(0, 1fr) auto;
    gap: 16px 20px;
    padding: 24px 0;
    margin: 0;
  }

  .souae-gi-path__aud {
    grid-column: 2;
  }

  .souae-gi-path__arrow {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
  }

  .souae-gi-path-detail__inner--7-5,
  .souae-gi-path-detail__inner--5-7,
  .souae-gi-path-detail__inner--6-6,
  .souae-gi-path-detail__inner--5-4 {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .souae-gi-path-detail__inner--media-first .souae-gi-path-detail__media {
    order: -1;
  }

  .souae-gi-path-detail__media--tall,
  .souae-gi-path-detail__media--md {
    height: 420px;
  }

  .souae-gi-impact__intro {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .souae-gi-impact__stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 24px;
  }
}

@media (max-width: 720px) {
  .souae-page-hero--gi {
    min-height: min(100dvh, 680px);
  }

  .souae-gi-why .souae-split__inner--intro,
  .souae-gi-choose .souae-block__inner,
  .souae-gi-path-detail__inner,
  .souae-gi-impact__inner {
    padding: 80px 20px;
  }

  .souae-statement--gi .souae-statement__inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .souae-gi-why__title,
  .souae-gi-choose__title {
    font-size: clamp(36px, 9vw, 48px);
  }

  .souae-gi-choose__title {
    margin-bottom: 40px;
  }

  .souae-gi-path:hover {
    transform: none;
  }

  .souae-gi-path-detail__title {
    font-size: clamp(32px, 8vw, 40px);
  }

  .souae-gi-path-detail__title--sm {
    font-size: clamp(28px, 7vw, 36px);
  }

  .souae-gi-path-detail__media--tall,
  .souae-gi-path-detail__media--md {
    height: 280px;
  }

  .souae-gi-path-detail__media--sm {
    height: 220px;
  }

  .souae-media-band--gi-event .souae-media-band__inner h2 {
    font-size: clamp(32px, 8vw, 44px);
  }

  .souae-gi-impact__title {
    font-size: clamp(32px, 8vw, 40px);
  }

  .souae-gi-impact__body {
    font-size: 18px;
  }

  .souae-gi-impact__stats {
    grid-template-columns: 1fr 1fr;
    margin-top: 48px;
    padding-top: 36px;
    gap: 24px 16px;
  }

  .souae-gi-impact__val {
    font-size: 40px;
  }

  .souae-gi-impact__link {
    margin-top: 40px;
    text-align: left;
  }
}

/* ==========================================================================
   Impact page (html/Impact.dc.html)
   ========================================================================== */
.souae-page-hero--impact {
  min-height: 780px;
  align-items: center;
}

.souae-page-hero--impact .souae-page-hero__inner {
  padding-top: 0;
  padding-bottom: 0;
}

.souae-page-hero__veil--impact {
  background: linear-gradient(
    180deg,
    rgba(10, 10, 10, 0.25) 0%,
    rgba(10, 10, 10, 0.55) 62%,
    rgba(10, 10, 10, 0.82) 100%
  );
}

.souae-page-hero--impact h1 {
  max-width: none;
}

.souae-page-hero--impact .souae-page-hero__lead {
  max-width: 52ch;
}

.souae-impact-intro .souae-split__inner--intro {
  padding: 130px var(--souae-gutter-lg);
}

.souae-impact-intro__title {
  font-size: 56px;
}

.souae-impact-glance .souae-block__inner {
  padding: 140px var(--souae-gutter-lg);
}

.souae-impact-glance .souae-eyebrow--light {
  color: #ff4d4d;
}

.souae-impact-glance__title {
  margin: 0 0 64px;
  font-size: 56px;
}

.souae-impact-dims .souae-block__inner {
  padding: 150px var(--souae-gutter-lg) 140px;
}

.souae-impact-dims__title {
  margin: 0 0 72px;
  font-size: 64px;
}

.souae-impact-dims .souae-dim-tabs {
  margin-top: 0;
  gap: 72px;
}

.souae-impact-dims .souae-dim-tabs__list button {
  gap: 20px;
  padding: 26px 4px 26px 20px;
  border-left: 3px solid transparent;
  font-size: 28px;
  align-items: center;
  color: #0a0a0a;
  transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}

.souae-impact-dims .souae-dim-tabs__list button:hover {
  background-color: #faf9f3;
  color: #0a0a0a;
}

.souae-impact-dims .souae-dim-tabs__list button[aria-selected="true"] {
  border-left-color: #ff0000;
  color: #ff0000;
  background-color: transparent;
}

.souae-impact-dims .souae-dim-tabs__list .num {
  letter-spacing: 0.14em;
  color: #9a9a90;
}

.souae-impact-dims .souae-dim-tabs__list button[aria-selected="true"] .num {
  color: #ff0000;
}

.souae-impact-dims .souae-dim-tabs__media {
  height: 340px;
}

.souae-impact-dims .souae-dim-tabs__panel .souae-dim-tabs__count {
  margin: 0 0 12px;
  font-family: var(--souae-mono);
  font-size: 13px;
  letter-spacing: 0.18em;
  color: #ff0000;
  text-transform: uppercase;
}

.souae-impact-dims .souae-dim-tabs__panel h3 {
  font-size: 34px;
}

.souae-impact-beyond__title {
  margin: 0 0 70px;
  font-size: 56px;
  line-height: 1.05;
  max-width: 20ch;
}

.souae-wordscape--impact {
  height: 640px;
  margin-top: 0;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-tl {
  left: 0;
  top: 0;
  font-size: 80px;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-tr {
  left: 58%;
  top: 26px;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-ml {
  left: 16%;
  top: 180px;
  font-size: 74px;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-mr {
  left: 66%;
  top: 220px;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-bl {
  left: 4%;
  top: 360px;
  font-size: 78px;
}

.souae-wordscape--impact .souae-wordscape__word.is-impact-br {
  left: 48%;
  top: 490px;
  font-size: 92px;
}

.souae-media-band--impact-quote {
  height: 680px;
}

.souae-media-band__veil--impact-quote {
  background: linear-gradient(
    90deg,
    rgba(10, 10, 10, 0.78) 0%,
    rgba(10, 10, 10, 0.35) 55%,
    rgba(10, 10, 10, 0) 100%
  );
}

.souae-media-band--impact-quote .souae-media-band__inner {
  left: var(--souae-gutter-lg);
  bottom: 64px;
  max-width: 640px;
}

.souae-media-band--impact-quote .souae-media-band__inner h2 {
  margin: 0;
  font-size: 56px;
  line-height: 1.05;
  letter-spacing: -0.02em;
  text-transform: none;
  max-width: none;
}

.souae-media-band--impact-quote .souae-eyebrow {
  margin: 24px 0 0;
  letter-spacing: 0.18em;
  color: #c9c9c9;
}

.souae-impact-community .souae-split__inner--media {
  padding-top: 140px;
  padding-bottom: 140px;
}

.souae-impact-community__title {
  margin: 0 0 24px;
  font-size: 48px;
  line-height: 1.08;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-impact-community .souae-prose--narrow {
  margin: 0;
  font-size: 18px;
  line-height: 1.65;
  color: #636359;
  max-width: 46ch;
}

.souae-impact-uae__inner {
  grid-template-columns: 7fr 5fr;
  padding-top: 150px;
  padding-bottom: 150px;
}

.souae-impact-uae .souae-eyebrow--light {
  color: #ff4d4d;
}

.souae-impact-uae__title {
  margin: 0;
  font-size: clamp(40px, 4.6vw, 68px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  font-weight: 700;
  text-transform: uppercase;
  max-width: 18ch;
  color: #fff;
}

.souae-impact-uae__body {
  margin: 32px 0 0;
  max-width: 60ch;
  font-size: 19px;
  line-height: 1.65;
  color: #c9c9c9;
}

.souae-impact-uae__media {
  height: 420px;
}

.souae-statement--impact .souae-statement__inner {
  padding-top: 160px;
  padding-bottom: 160px;
}

.souae-band--impact .souae-band__veil--side {
  background: linear-gradient(
    90deg,
    rgba(10, 10, 10, 0.8) 0%,
    rgba(10, 10, 10, 0.45) 55%,
    rgba(10, 10, 10, 0.15) 100%
  );
}

@media (max-width: 1100px) {
  .souae-impact-uae__inner {
    grid-template-columns: 1fr;
  }

  .souae-impact-dims .souae-dim-tabs__list button {
    font-size: 22px;
  }

  .souae-wordscape--impact {
    height: 480px;
  }

  .souae-wordscape--impact .souae-wordscape__word.is-impact-tl {
    font-size: clamp(40px, 8vw, 56px);
  }

  .souae-wordscape--impact .souae-wordscape__word.is-impact-ml,
  .souae-wordscape--impact .souae-wordscape__word.is-impact-bl {
    font-size: clamp(36px, 7vw, 52px);
  }

  .souae-wordscape--impact .souae-wordscape__word.is-impact-br {
    font-size: clamp(40px, 8vw, 64px);
  }
}

@media (max-width: 720px) {
  .souae-page-hero--impact {
    min-height: min(100dvh, 680px);
  }

  .souae-impact-intro .souae-split__inner--intro,
  .souae-impact-glance .souae-block__inner,
  .souae-impact-dims .souae-block__inner,
  .souae-impact-community .souae-split__inner--media,
  .souae-impact-uae__inner {
    padding: 80px 20px;
  }

  .souae-statement--impact .souae-statement__inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .souae-impact-intro__title,
  .souae-impact-glance__title,
  .souae-impact-beyond__title {
    font-size: clamp(36px, 9vw, 48px);
  }

  .souae-impact-dims__title {
    font-size: clamp(36px, 9vw, 48px);
    margin-bottom: 40px;
  }

  .souae-impact-dims .souae-dim-tabs__media {
    height: 240px;
  }

  .souae-impact-dims .souae-dim-tabs__list button {
    font-size: 20px;
    padding: 20px 0 20px 16px;
  }

  .souae-media-band--impact-quote {
    height: 560px;
  }

  .souae-media-band--impact-quote .souae-media-band__inner {
    left: 20px;
    right: 20px;
    bottom: 40px;
    max-width: none;
  }

  .souae-media-band--impact-quote .souae-media-band__inner h2 {
    font-size: clamp(28px, 8vw, 40px);
  }

  .souae-impact-community__title {
    font-size: clamp(28px, 7vw, 36px);
  }

  .souae-impact-uae__title {
    font-size: clamp(32px, 8vw, 44px);
  }

  .souae-impact-uae__media {
    height: 280px;
  }

  .souae-impact-uae__body {
    font-size: 17px;
  }
}

/* ============================================================
   Single news article
   ============================================================ */
.souae-news-article {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 80px var(--souae-gutter-lg) 120px;
}

.souae-news-article__header {
  max-width: 42rem;
  margin: 0 auto 40px;
  text-align: center;
}

.souae-news-article__header .souae-eyebrow a {
  color: inherit;
}

.souae-news-article__title {
  margin: 12px 0 0;
  font-size: clamp(36px, 4.5vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-news-article__meta {
  margin: 16px 0 0;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.14em;
  color: var(--souae-gray);
  text-transform: uppercase;
}

.souae-news-article__figure {
  margin: 0 auto 48px;
  max-width: 860px;
  text-align: center;
}

.souae-news-article__image {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}

.souae-news-article__body {
  max-width: 42rem;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.7;
}

.souae-news-article__body > *:first-child {
  margin-top: 0;
}

.souae-news-article__back {
  max-width: 42rem;
  margin: 48px auto 0;
}

@media (max-width: 720px) {
  .souae-news-article {
    padding: 80px 20px;
  }

  .souae-news-article__header {
    margin-bottom: 28px;
    text-align: left;
  }

  .souae-news-article__figure {
    margin-bottom: 32px;
  }
}

/* ============================================================
   News page (/news/) — matches News.dc.html remaining sections
   ============================================================ */
.souae-news-page {
  background: var(--souae-white);
}

.souae-news-latest__inner,
.souae-news-more__inner,
.souae-news-list-section__inner {
  max-width: var(--souae-max);
  margin: 0 auto;
  padding: 100px var(--souae-gutter-lg) 40px;
  border-top: 1px solid var(--souae-border);
}

.souae-news-more__inner,
.souae-news-list-section__inner {
  padding-top: 130px;
}

.souae-news-list-section__inner {
  padding-bottom: 60px;
}

.souae-news-latest__title {
  margin: 0 0 56px;
  font-size: 48px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
}

.souae-news-card {
  display: block;
  min-width: 0;
  color: var(--souae-black);
  transition: transform 0.3s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-news-card:hover {
  color: var(--souae-black);
  transform: translateY(-6px);
}

.souae-news-card__media {
  height: 280px;
  overflow: hidden;
  min-width: 0;
}

.souae-news-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.souae-news-card__meta {
  margin: 20px 0 8px;
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  color: var(--souae-red);
  text-transform: uppercase;
}

.souae-news-card__title {
  margin: 0;
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

.souae-news-card--sm .souae-news-card__media {
  height: 210px;
}

.souae-news-card--sm .souae-news-card__meta {
  margin: 16px 0 6px;
  font-size: 11px;
  letter-spacing: 0.16em;
}

.souae-news-card--sm .souae-news-card__title {
  font-size: 19px;
}

.souae-news-card--lg .souae-news-card__media {
  height: 460px;
}

.souae-news-card--lg .souae-news-card__title {
  font-size: 28px;
  max-width: 34ch;
}

.souae-news-card--lg:hover {
  transform: none;
}

.souae-news-more__layout {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: 32px;
}

.souae-news-more__stack {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-width: 0;
}

.souae-news-empty {
  padding: 80px 0;
  text-align: center;
  border-top: 1px solid var(--souae-border);
  border-bottom: 1px solid var(--souae-border);
}

.souae-news-empty__title {
  margin: 0 0 10px;
  font-size: 24px;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-news-empty__text {
  margin: 0;
  font-size: 16px;
  color: var(--souae-gray);
}

.souae-news-list-section__title {
  margin: 0 0 40px;
  font-size: 40px;
  line-height: 1;
  letter-spacing: -0.03em;
  font-weight: 700;
  text-transform: uppercase;
}

.souae-news-rows {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 2px solid var(--souae-black);
}

.souae-news-rows a {
  display: grid;
  grid-template-columns: 170px 1fr auto;
  align-items: center;
  gap: 28px;
  padding: 26px 4px;
  border-bottom: 1px solid var(--souae-border);
  color: var(--souae-black);
}

.souae-news-rows a:hover {
  color: var(--souae-black);
}

.souae-news-rows__cat {
  font-family: var(--souae-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  color: var(--souae-red);
  text-transform: uppercase;
}

.souae-news-rows__title {
  font-size: 19px;
  font-weight: 700;
}

.souae-news-rows__arrow {
  font-weight: 700;
  color: var(--souae-red);
}

.souae-news-pager {
  margin-top: 48px;
  text-align: center;
}

.souae-news-pager .page-numbers {
  display: inline-block;
  margin: 0 6px;
  min-width: 40px;
  padding: 10px 14px;
  border: 2px solid var(--souae-black);
  font-weight: 700;
  font-size: 14px;
  letter-spacing: 0.08em;
  color: var(--souae-black);
}

.souae-news-pager .page-numbers.current,
.souae-news-pager a.page-numbers:hover {
  background: var(--souae-black);
  color: var(--souae-white);
}

@media (max-width: 1024px) {
  .souae-news-more__layout {
    grid-template-columns: 1fr;
  }

  .souae-news-card--lg .souae-news-card__media {
    height: 320px;
  }
}

@media (max-width: 900px) {
  .souae-news-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .souae-news-card__media,
  .souae-news-card--sm .souae-news-card__media,
  .souae-news-card--lg .souae-news-card__media {
    height: 240px;
  }

  .souae-news-rows a {
    grid-template-columns: 1fr auto;
    gap: 16px;
  }

  .souae-news-rows__cat {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .souae-news-latest__inner,
  .souae-news-more__inner,
  .souae-news-list-section__inner {
    padding: 80px 20px;
  }

  .souae-news-latest__title {
    font-size: clamp(32px, 9vw, 40px);
    margin-bottom: 40px;
  }

  .souae-news-list-section__title {
    font-size: clamp(28px, 8vw, 36px);
    margin-bottom: 28px;
  }

  .souae-news-card__title {
    font-size: 20px;
  }

  .souae-news-card--lg .souae-news-card__title {
    font-size: 24px;
  }

  .souae-news-rows__title {
    font-size: 17px;
  }
}

/* ==========================================================================
   Programs overview (html/Programs Overview.dc.html)
   Hero follows Community / Careers veil pattern.
   ========================================================================== */

.souae-page-hero--programs .souae-page-hero__lead {
  max-width: 46ch;
  color: #c9c9c9;
}

.souae-programs-work {
  background: #fff;
}

.souae-programs-work__intro {
  max-width: 1440px;
  margin: 0 auto;
  padding: 130px var(--souae-gutter-lg) 0;
  display: grid;
  grid-template-columns: 6fr 6fr;
  gap: 64px;
  align-items: center;
}

.souae-programs-work__copy .souae-section-title {
  font-size: clamp(48px, 6vw, 72px);
  margin: 0 0 28px;
}

.souae-programs-work__copy .souae-prose {
  font-size: 20px;
  line-height: 1.65;
  color: #5a5a50;
  max-width: 56ch;
}

.souae-programs-work__cluster {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 201px 201px;
  gap: 18px;
}

.souae-programs-work__shot {
  position: relative;
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}

.souae-programs-work__shot--tall {
  grid-row: span 2;
  min-height: 420px;
}

.souae-programs-work__shot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.9s cubic-bezier(0.2, 0.6, 0.2, 1);
}

.souae-programs-work__shot:hover img {
  transform: scale(1.06);
}

@keyframes souaeOwRunL {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@keyframes souaeOwRunR {
  from { transform: translate3d(-50%, 0, 0); }
  to { transform: translate3d(0, 0, 0); }
}

.souae-programs-pillars {
  margin-top: 110px;
  background: #0a0a0a;
  color: #fff;
  overflow: hidden;
  position: relative;
}

.souae-programs-pillars__head {
  max-width: 1440px;
  margin: 0 auto;
  padding: 78px var(--souae-gutter-lg) 30px;
}

.souae-programs-pillars__pause-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.souae-programs-pillars__pause {
  position: absolute;
  top: 78px;
  right: var(--souae-gutter-lg);
  z-index: 2;
  cursor: pointer;
  font-family: var(--souae-mono, "Ubuntu Mono", monospace);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.souae-programs-pillars__pause .on {
  display: none;
}

.souae-programs-pillars__pause-input:checked ~ .souae-programs-pillars__pause .on {
  display: inline;
}

.souae-programs-pillars__pause-input:checked ~ .souae-programs-pillars__pause .off {
  display: none;
}

.souae-programs-pillars__pause-input:focus-visible ~ .souae-programs-pillars__pause {
  outline: 3px solid #ff4d4d;
  outline-offset: 4px;
}

.souae-programs-pillars__rows {
  display: grid;
  gap: 14px;
}

.souae-programs-pillars__strip {
  overflow: hidden;
}

.souae-programs-pillars__track {
  display: flex;
  align-items: center;
  width: max-content;
  will-change: transform;
}

.souae-programs-pillars__strip--a .souae-programs-pillars__track {
  animation: souaeOwRunL 46s linear infinite;
}

.souae-programs-pillars__strip--b .souae-programs-pillars__track {
  animation: souaeOwRunR 58s linear infinite;
}

.souae-programs-pillars__pause-input:checked ~ .souae-programs-pillars__rows .souae-programs-pillars__track,
.souae-programs-pillars__rows:hover .souae-programs-pillars__track,
.souae-programs-pillars__rows:focus-within .souae-programs-pillars__track {
  animation-play-state: paused;
}

.souae-programs-pillars__set {
  display: flex;
  align-items: center;
}

.souae-programs-pillars__word {
  font-size: clamp(36px, 4.6vw, 64px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.12;
  padding: 0 22px;
  color: #fff;
  white-space: nowrap;
  transition: color 0.25s ease;
}

.souae-programs-pillars__plus {
  font-size: clamp(18px, 2.2vw, 30px);
  font-weight: 700;
  color: #f00;
}

.souae-programs-pillars__strip--a .souae-programs-pillars__word:hover {
  color: #ff4d4d;
}

.souae-programs-pillars__strip--b .souae-programs-pillars__word {
  color: transparent;
  -webkit-text-stroke: 1px rgba(255, 255, 255, 0.34);
}

.souae-programs-pillars__strip--b .souae-programs-pillars__plus {
  color: rgba(255, 0, 0, 0.5);
}

.souae-programs-pillars__foot {
  max-width: 1440px;
  margin: 0 auto;
  padding: 40px var(--souae-gutter-lg) 120px;
}

.souae-programs-pillars__foot .souae-section-title {
  margin: 0;
  max-width: 24ch;
  font-size: clamp(34px, 4vw, 52px);
}

.souae-programs-card:not(.souae-block--dark) {
  border-top: 1px solid #e7e5d8;
}

/* HTML: section shell is padding 110px 80px; card itself is flush 6/6 grid (no gap) */
.souae-programs-card__inner {
  padding: 110px var(--souae-gutter-lg);
}

.souae-programs-card .souae-split__inner--media {
  padding-top: 0;
  padding-bottom: 0;
  gap: 0;
  align-items: stretch;
}

.souae-programs-card:not(.souae-block--dark) .souae-split__inner--media {
  background: #fff;
  box-shadow: 0 1px 2px rgba(10, 10, 10, 0.04), 0 10px 28px rgba(10, 10, 10, 0.06);
  overflow: hidden;
}

.souae-programs-card.souae-block--dark .souae-split__inner--media {
  background: #141414;
  box-shadow: none;
  overflow: hidden;
}

.souae-programs-card .souae-split__aside {
  padding: 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.souae-programs-card__media {
  height: 520px;
  min-height: 520px;
}

.souae-programs-statement .souae-statement__inner {
  max-width: 1200px;
  padding: 160px var(--souae-gutter-lg);
}

.souae-programs-statement h2 {
  font-size: clamp(44px, 5.2vw, 76px);
  line-height: 1.06;
}

.souae-programs-band.souae-media-band {
  height: 720px;
}

.souae-programs-card__title {
  font-size: clamp(32px, 4vw, 44px);
}

.souae-programs-card__audience {
  margin-top: 18px;
  font-size: 12px;
  letter-spacing: 0.16em;
  color: #5a5a50;
}

.souae-programs-card.souae-block--dark .souae-programs-card__audience {
  color: rgba(255, 255, 255, 0.55);
}

.souae-programs-card__detail {
  font-size: 14px;
  margin-top: 16px;
}

.souae-programs-card__cta {
  margin-top: 28px;
}

.souae-programs-band__veil {
  background: linear-gradient(180deg, rgba(10, 10, 10, 0) 22%, rgba(10, 10, 10, 0.55) 55%, rgba(10, 10, 10, 0.92) 100%);
}

.souae-programs-ucs .souae-split__inner--intro {
  padding: 130px var(--souae-gutter-lg);
  grid-template-columns: 5fr 7fr;
  gap: 72px;
}

.souae-programs-ucs__title {
  font-size: clamp(32px, 4vw, 44px);
}

.souae-programs-ucs__body {
  font-size: 19px;
}

.souae-programs-ucs__cta {
  margin-top: 28px;
}

.souae-programs .souae-impact-home__inner {
  padding: 130px var(--souae-gutter-lg) 140px;
}

.souae-programs .souae-impact-home__title {
  font-size: clamp(40px, 5vw, 64px);
  margin: 0 0 88px;
}

.souae-programs .souae-impact-home__stats {
  margin-top: 0;
  border-top: 2px solid #0a0a0a;
  padding-top: 52px;
  gap: 40px;
}

.souae-programs .souae-impact-home__stats .val {
  font-size: 60px;
}

.souae-impact-home__eyebrow {
  color: #c90000;
}

.souae-impact-home__foot {
  margin-top: 56px;
  text-align: right;
}

@media (prefers-reduced-motion: reduce) {
  .souae-programs-pillars__track {
    animation: none;
  }

  .souae-programs-work__shot:hover img {
    transform: none;
  }
}

@media (max-width: 900px) {
  .souae-programs-work__intro {
    grid-template-columns: 1fr;
    padding: 90px var(--souae-gutter) 0;
    gap: 40px;
  }

  .souae-programs-work__cluster {
    grid-template-rows: 160px 160px;
  }

  .souae-programs-work__shot--tall {
    min-height: 340px;
  }

  .souae-programs-pillars {
    margin-top: 72px;
  }

  .souae-programs-pillars__head {
    padding: 56px var(--souae-gutter) 24px;
  }

  .souae-programs-pillars__pause {
    top: 56px;
    right: var(--souae-gutter);
  }

  .souae-programs-pillars__foot {
    padding: 32px var(--souae-gutter) 80px;
  }

  .souae-programs-card__inner {
    padding: 72px var(--souae-gutter);
  }

  .souae-programs-card .souae-split__inner--media {
    gap: 0;
    padding-top: 0;
    padding-bottom: 0;
  }

  .souae-programs-card .souae-split__aside {
    padding: 32px 24px;
  }

  .souae-programs-card__media {
    height: 320px;
    min-height: 320px;
  }

  .souae-programs-band.souae-media-band {
    height: 520px;
  }

  .souae-programs-statement .souae-statement__inner {
    padding: 100px var(--souae-gutter);
  }

  .souae-programs-ucs .souae-split__inner--intro {
    padding: 72px var(--souae-gutter);
  }

  .souae-impact-home__foot {
    text-align: left;
  }
}

@media (max-width: 720px) {
  /* Fit below sticky chrome so bottom-aligned copy isn’t clipped */
  .souae-page-hero--programs.souae-page-hero--tall {
    min-height: calc(100svh - var(--souae-header-offset, 106px));
    min-height: calc(100dvh - var(--souae-header-offset, 106px));
  }

  .souae-page-hero--programs .souae-page-hero__lead {
    max-width: 32ch;
  }

  .souae-page-hero--programs.souae-page-hero--end .souae-page-hero__inner {
    padding-bottom: 28px;
  }

  .souae-programs-work__copy .souae-section-title {
    font-size: clamp(36px, 9vw, 48px);
  }

  .souae-programs-work__copy .souae-prose {
    font-size: 17px;
  }

  .souae-programs-work__cluster {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 120px 120px;
    gap: 10px;
  }

  .souae-programs-work__shot--tall {
    min-height: 250px;
  }

  .souae-programs-pillars__word {
    font-size: clamp(28px, 8vw, 40px);
    padding: 0 14px;
  }

  .souae-programs-band.souae-media-band {
    height: 460px;
  }

  .souae-programs-statement h2 {
    font-size: clamp(32px, 8.5vw, 44px);
  }
}

/* ---- Community explore carousel ---- */
.souae-explore-carousel {
  position: relative;
}

.souae-explore-carousel__controls {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-bottom: 16px;
}

.souae-explore-carousel__btn {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--souae-border);
  border-radius: 50%;
  background: #fff;
  color: var(--souae-black);
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background 0.2s, color 0.2s, border-color 0.2s, opacity 0.2s;
}

.souae-explore-carousel__btn:hover:not(:disabled),
.souae-explore-carousel__btn:focus-visible {
  background: var(--souae-black);
  color: #fff;
  border-color: var(--souae-black);
}

.souae-explore-carousel__btn:disabled {
  opacity: 0.35;
  cursor: default;
}

.souae-explore-carousel .souae-explore-carousel__track {
  display: flex;
  grid-template-columns: none;
  gap: 24px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 6px 2px 24px;
  margin: 0 -2px;
}

.souae-explore-carousel .souae-explore-carousel__track::-webkit-scrollbar {
  display: none;
}

.souae-explore-carousel .souae-explore-carousel__track:focus-visible {
  outline: 2px solid var(--souae-red);
  outline-offset: 2px;
}

.souae-explore-carousel .souae-explore-grid__card {
  flex: 0 0 calc((100% - 72px) / 4);
  height: auto;
  scroll-snap-align: start;
}

@media (max-width: 1100px) {
  .souae-explore-carousel .souae-explore-grid__card {
    flex-basis: calc((100% - 24px) / 2);
  }
}

@media (max-width: 640px) {
  .souae-explore-carousel .souae-explore-grid__card {
    flex-basis: 85%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .souae-explore-carousel .souae-explore-carousel__track {
    scroll-behavior: auto;
  }
}

/* ---- Partners static grid (responsive) ---- */
.souae-partners__stage .souae-partners__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.souae-partners__stage .souae-partners__grid li {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
  padding: 8px 14px;
  box-sizing: border-box;
}

.souae-partners__stage .souae-partners__grid img {
  max-height: 100%;
  filter: none;
  opacity: 1;
  object-fit: contain;
}

@media (max-width: 1100px) {
  .souae-partners__stage .souae-partners__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .souae-partners__stage .souae-partners__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 20px; }
}

@media (max-width: 520px) {
  .souae-partners__stage .souae-partners__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* —— Board of Trustees (About) — live-site inspired —— */
.souae-board {
  padding: clamp(72px, 10vw, 120px) 0;
  background: #fff;
}
.souae-board__inner {
  width: min(1100px, calc(100% - 48px));
  margin-inline: auto;
  text-align: center;
}
.souae-board__title {
  margin: 0 0 clamp(40px, 6vw, 64px);
  font-family: var(--souae-font-display, inherit);
  font-size: clamp(36px, 5vw, 56px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #c90000;
  line-height: 1.1;
}
.souae-board__honorary {
  margin: 0 auto clamp(48px, 6vw, 72px);
  max-width: 720px;
}
.souae-board__label {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8a8a;
}
.souae-board__honorary-name {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 32px);
  font-weight: 700;
  line-height: 1.25;
  color: #0a0a0a;
}
.souae-board__org {
  margin: 0 auto clamp(56px, 7vw, 80px);
}
.souae-board__org-heading {
  margin: 0 0 28px;
  font-size: clamp(22px, 2.5vw, 28px);
  font-weight: 700;
  color: #0a0a0a;
}
.souae-board__chair {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.souae-board__photo {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  overflow: hidden;
  border: 1px solid #e6e6e6;
  background: #f5f5f5;
  margin: 0 auto 12px;
}
.souae-board__photo--lg {
  width: 180px;
  height: 180px;
  margin-bottom: 14px;
}
.souae-board__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.souae-board__name {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  color: #0a0a0a;
}
.souae-board__chair .souae-board__name {
  font-size: clamp(18px, 2vw, 22px);
}
.souae-board__role {
  margin: 6px 0 0;
  font-size: 13px;
  line-height: 1.45;
  color: #6b6b6b;
  max-width: 240px;
  margin-inline: auto;
}
.souae-board__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(36px, 5vw, 56px) 28px;
  justify-items: center;
}
.souae-board__member {
  max-width: 260px;
  width: 100%;
}
@media (max-width: 900px) {
  .souae-board__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .souae-board__inner {
    width: calc(100% - 32px);
  }
  .souae-board__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }
  .souae-board__photo {
    width: 120px;
    height: 120px;
  }
  .souae-board__photo--lg {
    width: 150px;
    height: 150px;
  }
}

/* —— Get Involved CF7 forms —— */
.souae-form-block .wpcf7-form {
  display: grid;
  gap: 28px;
  max-width: 640px;
}
.souae-cf7-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 16px;
}
.souae-cf7-fieldset legend {
  margin: 0 0 8px;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #c90000;
}
.souae-form-block .wpcf7 label {
  display: grid;
  gap: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.souae-cf7-hint {
  font-weight: 400;
  color: #6b6b6b;
}
.souae-form-block .wpcf7 input[type="text"],
.souae-form-block .wpcf7 input[type="email"],
.souae-form-block .wpcf7 input[type="tel"],
.souae-form-block .wpcf7 input[type="file"],
.souae-form-block .wpcf7 select,
.souae-form-block .wpcf7 textarea {
  width: 100%;
  box-sizing: border-box;
  padding: 14px 16px;
  border: 1px solid #d8d5c4;
  border-radius: 0;
  font: inherit;
  background: #fff;
}
.souae-form-block .wpcf7 input[type="submit"] {
  justify-self: start;
  margin-top: 8px;
  padding: 14px 28px;
  border: 0;
  background: #c90000;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}
.souae-form-block .wpcf7 input[type="submit"]:hover {
  background: #a00000;
}
/* Checkbox/radio: keep box + text on one line (override label grid). */
.souae-form-block .wpcf7-checkbox,
.souae-form-block .wpcf7-radio {
  display: grid;
  gap: 10px;
}
.souae-form-block .wpcf7-list-item {
  display: block;
  margin: 0 !important;
}
.souae-form-block .wpcf7-list-item label {
  display: flex !important;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-weight: 500;
  line-height: 1.35;
  cursor: pointer;
}
.souae-form-block .wpcf7-list-item input[type="checkbox"],
.souae-form-block .wpcf7-list-item input[type="radio"] {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
  accent-color: #c90000;
}
.souae-form-block .wpcf7-list-item-label {
  display: block;
}
.souae-cf7-countdown {
  margin: -8px 0 0;
  font-size: 13px;
  color: #6b6b6b;
}

/* —— Unified Get Involved form —— */
.souae-gi-form {
  background: #f7f6f1;
}
.souae-gi-form__inner {
  max-width: 720px;
}
.souae-gi-form__lead {
  margin: 12px 0 32px;
}
.souae-gi-form__block {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.souae-gi-path-select {
  margin-bottom: 8px;
}
.souae-gi-panel[hidden] {
  display: none !important;
}
.souae-gi-panel {
  display: grid;
  gap: 28px;
  margin-top: 8px;
}

/* —— Careers Apply (single CTA + popup) —— */
.souae-careers-apply__action {
  margin: 28px 0 0;
}
.souae-text-link--btn {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  text-align: inherit;
  cursor: pointer;
}
html.souae-dialog-open {
  overflow: hidden;
}
.souae-careers-dialog {
  width: min(640px, calc(100vw - 32px));
  max-height: min(90vh, 900px);
  margin: auto;
  padding: 0;
  border: 0;
  background: transparent;
}
.souae-careers-dialog::backdrop {
  background: rgba(10, 10, 10, 0.55);
}
.souae-careers-dialog__panel {
  display: flex;
  flex-direction: column;
  max-height: min(90vh, 900px);
  background: #f7f6f1;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28);
}
.souae-careers-dialog__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 28px 12px;
  border-bottom: 1px solid #e4e1d4;
}
.souae-careers-dialog__head .souae-eyebrow {
  margin: 0 0 6px;
}
.souae-careers-dialog__title {
  margin: 0;
  font-size: clamp(1.4rem, 2vw, 1.85rem);
  line-height: 1.15;
  color: #0a0a0a;
}
.souae-careers-dialog__close {
  flex-shrink: 0;
  width: 40px;
  height: 40px;
  border: 1px solid #d8d5c4;
  background: #fff;
  color: #0a0a0a;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}
.souae-careers-dialog__close:hover {
  background: #0a0a0a;
  border-color: #0a0a0a;
  color: #fff;
}
.souae-careers-dialog__body {
  overflow: auto;
  margin-top: 0;
  padding: 16px 28px 28px;
  padding-top: 16px;
  border-top: 0;
}
.souae-careers-dialog .souae-form-block .wpcf7 {
  display: grid;
  gap: 16px;
}
.souae-careers-dialog .souae-cf7-fieldset--inline .wpcf7-radio,
.souae-careers-dialog .souae-cf7-fieldset--inline .wpcf7-checkbox {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.souae-careers-dialog .souae-cf7-fieldset--inline .wpcf7-list-item {
  margin: 0;
}
.souae-careers-dialog .souae-cf7-label {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: #0a0a0a;
}
.souae-careers-pod[hidden] {
  display: none !important;
}
.souae-careers-pod {
  display: grid;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border: 1px solid #e4e1d4;
}
@media (max-width: 640px) {
  .souae-careers-dialog__head,
  .souae-careers-dialog__body {
    padding-left: 18px;
    padding-right: 18px;
  }
}
