/* Walter Sisulu public alumni landing page and section views */

@import url('vanguard-brand.css');
@import url('wsu-typography.css');

.alumni-public-page {
  background: #fff;
  color: #171717;
  font-family: var(--gate-font-sans);
  line-height: var(--gate-font-body-line);
}

div.alumni-public {
  width: 100%;
}

.alumni-public a {
  text-decoration: none;
}

.alumni-container {
  width: min(1280px, 100%);
  margin-left: auto;
  margin-right: auto;
}

/* Loader */
.alumni-public-loader {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  background: rgba(var(--vanguard-primary-rgb), 0.9);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.16s ease, visibility 0.16s ease;
}

.alumni-public-loader.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.alumni-public-loader,
.alumni-public-loader * {
  pointer-events: none !important;
}

.alumni-loader-card {
  width: min(520px, 100%);
  background: #551516;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 10px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
  overflow: hidden;
}

.alumni-loader-brand {
  padding: 1.35rem 1.35rem 0.85rem;
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 1rem;
  align-items: center;
}

.alumni-loader-brand img {
  width: 150px;
  max-width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 10px 24px rgba(0, 0, 0, 0.25));
}

.alumni-loader-brand small {
  display: block;
  color: #CB892C;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-weight: 900;
  font-size: 0.7rem;
  margin-bottom: 0.3rem;
}

.alumni-loader-brand strong {
  display: block;
  color: #fff;
  font-size: 1.35rem;
  line-height: 1.2;
}

.alumni-loader-brand span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.86rem;
  line-height: 1.45;
  margin-top: 0.3rem;
}

.alumni-loader-progress {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0 1.35rem 1rem;
}

.alumni-loader-bar {
  height: 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  overflow: hidden;
}

.alumni-loader-bar__progress {
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  height: 5px;
  border: none;
  border-radius: 999px;
  background: transparent;
}

.alumni-loader-bar__progress::-webkit-progress-bar {
  background: rgba(255, 255, 255, 0.16);
  border-radius: 999px;
}

.alumni-loader-bar__progress::-webkit-progress-value {
  background: #CB892C;
  border-radius: 999px;
  transition: width 0.28s ease;
}

.alumni-loader-bar__progress::-moz-progress-bar {
  background: #CB892C;
  border-radius: 999px;
}

.alumni-loader-bar span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: #CB892C;
  transition: width 0.28s ease;
}

.alumni-loader-percent {
  font-weight: 900;
  font-size: 0.82rem;
  color: #CB892C;
  font-variant-numeric: tabular-nums;
}

.alumni-loader-tags {
  display: flex;
  gap: 0.45rem;
  flex-wrap: wrap;
  padding: 0 1.35rem 1.25rem;
}

.alumni-loader-tags span {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.08);
  border-radius: 999px;
  padding: 0.28rem 0.6rem;
  font-size: 0.72rem;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.88);
}

/* Shared public nav */
.alumni-top {
  background: #111;
  color: #ddd;
  padding: 0.45rem clamp(1rem, 4vw, 2rem);
  font-size: 0.78rem;
}

.alumni-top-inner {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.alumni-top a {
  color: #fff;
  font-weight: 700;
}

.alumni-site-header {
  position: sticky;
  top: 0;
  z-index: 120;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12);
}

.alumni-header {
  background: #fff;
  border-bottom: 4px solid #CB892C;
}

.alumni-header-inner {
  min-height: 84px;
  padding: 0.85rem clamp(1rem, 4vw, 2rem);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.alumni-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  color: #171717;
  flex-shrink: 0;
}

.alumni-brand img {
  width: min(240px, 42vw);
  height: auto;
}

.alumni-brand span {
  display: block;
  border-left: 1px solid #ddd;
  padding-left: 1rem;
  font-size: 0.8rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #551516;
  white-space: nowrap;
}

.alumni-nav {
  display: flex;
  gap: 0.65rem;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.alumni-nav a,
.alumni-menu-button {
  font-size: 0.76rem;
  text-transform: uppercase;
  font-weight: 800;
  color: #222;
  letter-spacing: 0.05em;
  white-space: nowrap;
}

.alumni-nav a:hover,
.alumni-menu-button:hover {
  color: #551516;
}

.alumni-menu {
  position: relative;
}

.alumni-menu-button {
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
}

.alumni-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 0.75rem);
  z-index: 95;
  width: min(360px, 92vw);
  background: #fff;
  border: 1px solid #eadfcd;
  border-top: 4px solid #CB892C;
  border-radius: 8px;
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.18);
  padding: 0.65rem;
  display: none;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem;
}

.alumni-menu-panel a {
  display: block;
  padding: 0.78rem 0.82rem;
  border-radius: 7px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.86rem;
  color: #222;
  background: #fff;
  white-space: normal;
}

.alumni-menu-panel a:hover {
  background: #fff7ed;
  color: #551516;
}

.alumni-menu:hover .alumni-menu-panel,
.alumni-menu:focus-within .alumni-menu-panel {
  display: grid;
}

.alumni-nav .portal-link {
  background: #551516;
  color: #fff;
  border-radius: 999px;
  padding: 0.62rem 0.95rem;
}

.alumni-nav .portal-link:hover {
  background: #3f0e0f;
  color: #fff;
}

/* Hero */
.alumni-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-hero-bg) right center / cover no-repeat;
}

.alumni-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(33, 7, 8, 0.72);
}

.alumni-hero--awards::before {
  background: var(--alumni-hero-bg) right center / auto min(100%, 520px) no-repeat;
}

.alumni-hero--awards::after {
  background: linear-gradient(
    90deg,
    rgba(33, 7, 8, 0.94) 0%,
    rgba(33, 7, 8, 0.82) 38%,
    rgba(33, 7, 8, 0.42) 72%,
    rgba(33, 7, 8, 0.18) 100%
  );
}

.alumni-hero-inner {
  position: relative;
  z-index: 2;
  min-height: min(560px, auto);
  padding: clamp(2.5rem, 6vw, 5rem) clamp(1rem, 4vw, 2rem);
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  color: #CB892C;
  font-size: 0.78rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.13em;
  margin-bottom: 1rem;
}

.eyebrow::before {
  content: "";
  width: 34px;
  height: 2px;
  background: #CB892C;
}

.alumni-hero h1 {
  font-size: clamp(2.2rem, 5vw, 4.25rem);
  line-height: 1.08;
  color: #fff;
  margin: 0 0 1rem;
  max-width: 14ch;
}

.alumni-hero p {
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.86);
  max-width: 62ch;
  margin: 0;
}

.hero-actions {
  display: flex;
  gap: 0.85rem;
  flex-wrap: wrap;
  margin-top: 1.8rem;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 2rem;
  max-width: 760px;
}

.hero-stat {
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  padding: 0.95rem;
  backdrop-filter: blur(6px);
}

.hero-stat strong {
  display: block;
  color: #CB892C;
  font-size: 1rem;
  line-height: 1.2;
}

.hero-stat span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.8rem;
  line-height: 1.45;
  margin-top: 0.35rem;
}

.btn-light {
  background: #fff;
  color: #551516;
  border: 1px solid #fff;
}

.btn-light:hover {
  background: #f3f3f3;
  color: #551516;
}

.alumni-public .btn-ghost {
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.7);
  background: rgba(255, 255, 255, 0.08);
}

.alumni-public .btn-ghost:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.18);
  border-color: #fff;
}

.hero-panel {
  background: rgba(255, 255, 255, 0.97);
  color: #171717;
  border-radius: 8px;
  overflow: hidden;
  border-top: 5px solid #CB892C;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  align-self: center;
}

.hero-panel h2 {
  background: #111;
  color: #fff;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  padding: 1rem 1.1rem;
}

.hero-panel a {
  display: block;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #e8e8e8;
  color: #171717;
}

.hero-panel a:hover {
  background: #fff7ed;
}

.hero-panel strong {
  display: block;
  color: #551516;
  font-size: 0.96rem;
}

.hero-panel span {
  display: block;
  color: #666;
  font-size: 0.83rem;
  line-height: 1.45;
  margin-top: 0.15rem;
}

/* Sections */
.alumni-section {
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-section > * {
  width: min(1280px, 100%);
  margin-left: auto;
  margin-right: auto;
}

.alumni-section.alt {
  background: #f6f6f6;
}

.showcase {
  padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1rem, 4vw, 2rem);
  background: #fff;
}

.showcase-inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: stretch;
}

.showcase-media {
  position: relative;
  min-height: 380px;
  border-radius: 8px;
  overflow: hidden;
  background: #551516;
  box-shadow: 0 22px 56px rgba(60, 22, 14, 0.18);
}

.showcase-media__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.showcase-media::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(17, 17, 17, 0.22);
}

.showcase-media::after {
  content: "";
  position: absolute;
  left: 1rem;
  right: 1rem;
  bottom: 1rem;
  height: 5px;
  background: #CB892C;
  border-radius: 99px;
  z-index: 2;
}

.showcase-badge {
  position: absolute;
  left: 1rem;
  top: 1rem;
  z-index: 3;
  background: #fff;
  color: #551516;
  border-radius: 999px;
  padding: 0.5rem 0.8rem;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.16);
}

.showcase-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: #551516;
  color: #fff;
  border-radius: 8px;
  padding: clamp(1.35rem, 3vw, 2.2rem);
  box-shadow: 0 22px 56px rgba(60, 22, 14, 0.16);
}

.showcase-content small {
  color: #CB892C;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.74rem;
  font-weight: 900;
}

.showcase-content h2 {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.08;
  margin: 0.55rem 0 1rem;
}

.showcase-content p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 1rem;
  line-height: 1.75;
  margin: 0;
}

.showcase-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin-top: 1.35rem;
}

.showcase-stat {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 8px;
  padding: 0.75rem;
}

.showcase-stat strong {
  display: block;
  color: #fff;
  font-size: 0.9rem;
}

.showcase-stat span {
  display: block;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
  line-height: 1.35;
  margin-top: 0.2rem;
}

.section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 3px solid #111;
  padding-bottom: 0.8rem;
  margin-bottom: 1.5rem;
}

.section-head h2 {
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.12;
  margin: 0;
  color: #111;
}

.section-head span {
  display: block;
  font-size: 0.76rem;
  color: #551516;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.12em;
  margin-top: 0.35rem;
}

.section-head-link {
  font-size: 0.82rem;
  font-weight: 800;
  color: #551516;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
}

.section-head-link:hover {
  color: #CB892C;
}

.public-event-card .news-card-body small {
  font-weight: 800;
  color: #551516;
}

.tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.15rem;
}

.tile {
  position: relative;
  min-height: 280px;
  border-radius: 8px;
  overflow: hidden;
  color: #fff;
  display: flex;
  align-items: flex-end;
  box-shadow: 0 18px 42px rgba(60, 22, 14, 0.14);
}

.tile__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.tile::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(0, 0, 0, 0.55);
}

.tile::after {
  content: "";
  position: absolute;
  inset: auto 1rem 1rem auto;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.55);
  background: rgba(255, 255, 255, 0.12);
  transition: transform 0.18s ease, background 0.18s ease;
  z-index: 2;
}

.tile:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 52px rgba(60, 22, 14, 0.18);
}

.tile:hover::after {
  transform: translateX(4px);
  background: rgba(255, 255, 255, 0.22);
}

.tile-body {
  position: relative;
  z-index: 1;
  padding: 1.15rem;
}

.tile h3 {
  color: #fff;
  font-size: 1.12rem;
  line-height: 1.25;
  margin: 0 0 0.45rem;
}

.tile p {
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 0 0 0.9rem;
}

.area-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 0.85rem;
  margin-top: 1rem;
}

.area-link {
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1rem;
  background: #fff;
  color: #171717;
  box-shadow: 0 10px 24px rgba(60, 22, 14, 0.07);
}

.area-link strong {
  display: block;
  color: #551516;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.area-link span {
  display: block;
  color: #666;
  font-size: 0.82rem;
  line-height: 1.45;
}

.content-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.info-card {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1.2rem;
  box-shadow: 0 12px 30px rgba(60, 22, 14, 0.08);
}

.info-card h3 {
  font-size: 1rem;
  color: #551516;
  margin: 0 0 0.5rem;
}

.info-card p,
.info-card li {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #555;
}

.info-card ul {
  margin: 0.5rem 0 0;
  padding-left: 1.1rem;
}

.impact-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.impact-card {
  position: relative;
  overflow: hidden;
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1.25rem;
  box-shadow: 0 16px 38px rgba(60, 22, 14, 0.1);
}

.impact-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #CB892C;
}

.impact-card .metric {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border-radius: 999px;
  background: #551516;
  color: #fff;
  padding: 0.2rem 0.72rem;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 1rem;
}

.impact-card h3 {
  font-size: 1.1rem;
  color: #111;
  margin: 0 0 0.5rem;
}

.impact-card p {
  font-size: 0.9rem;
  line-height: 1.7;
  color: #555;
  margin: 0;
}

.feature-band {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 1rem;
  align-items: stretch;
}

.feature-copy {
  background: #551516;
  color: #fff;
  border-radius: 8px;
  padding: 1.5rem;
  box-shadow: 0 16px 38px rgba(60, 22, 14, 0.14);
}

.feature-copy h3 {
  color: #fff;
  font-size: 1.45rem;
  line-height: 1.2;
  margin: 0 0 0.75rem;
}

.feature-copy p {
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.75;
  margin: 0;
}

.feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.feature-list {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1.2rem;
  box-shadow: 0 16px 38px rgba(60, 22, 14, 0.08);
}

.feature-list h3 {
  font-size: 1rem;
  color: #551516;
  margin: 0 0 0.7rem;
}

.feature-list ul {
  display: grid;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.feature-list li {
  position: relative;
  padding-left: 1.2rem;
  color: #555;
  font-size: 0.9rem;
  line-height: 1.55;
}

.feature-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55rem;
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #CB892C;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.15rem;
}

.news-card {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  overflow: hidden;
  color: #171717;
  box-shadow: 0 14px 34px rgba(60, 22, 14, 0.1);
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.news-card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  background: #f7f4ef;
  padding: 0.45rem;
}

.news-card-body {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  flex: 1;
}

.news-card small {
  display: block;
  color: #551516;
  font-size: 0.72rem;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.news-card h3 {
  font-size: 1rem;
  line-height: 1.3;
  color: #111;
  margin: 0;
}

.news-card p {
  font-size: 0.86rem;
  line-height: 1.62;
  color: #555;
  margin: 0;
}

.news-card .byline {
  margin-top: auto;
  color: #777;
  font-size: 0.78rem;
  font-weight: 800;
}

.read-more {
  align-self: flex-start;
  margin-top: 0.2rem;
  background: #551516;
  color: #fff;
  border-radius: 999px;
  padding: 0.52rem 0.82rem;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 0;
  cursor: pointer;
}

.read-more:hover {
  background: #3f0e0f;
  color: #fff;
}

.story-detail {
  display: grid;
  grid-template-columns: minmax(260px, 380px) minmax(0, 1fr);
  gap: 1.4rem;
  align-items: start;
}

.story-detail img {
  width: 100%;
  border-radius: 8px;
  background: #f7f4ef;
  object-fit: contain;
  box-shadow: 0 14px 34px rgba(60, 22, 14, 0.12);
}

.story-copy {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1.3rem;
  box-shadow: 0 14px 34px rgba(60, 22, 14, 0.08);
}

.story-copy h2 {
  font-size: clamp(1.7rem, 3vw, 2.6rem);
  line-height: 1.12;
  color: #111;
  margin: 0 0 0.8rem;
}

.story-copy p {
  font-size: 1rem;
  line-height: 1.8;
  color: #444;
  margin: 0.85rem 0;
}

.donor-panel,
.contact-form-card,
.assistance-panel {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  padding: 1.25rem;
  box-shadow: 0 14px 34px rgba(60, 22, 14, 0.08);
}

.donor-options {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  margin-top: 1rem;
}

.contact-form {
  display: grid;
  gap: 0.85rem;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  border: 1px solid #d8cfc2;
  border-radius: 8px;
  padding: 0.82rem 0.9rem;
  font: inherit;
}

.contact-form textarea {
  min-height: 150px;
  resize: vertical;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.form-grid > * {
  min-width: 0;
}

.form-alert {
  border-radius: 8px;
  padding: 0.85rem 1rem;
  font-weight: 800;
  margin-bottom: 0.9rem;
}

.form-alert.success {
  background: #edf8ef;
  color: #176b2c;
}

.form-alert.error {
  background: #fff0f0;
  color: #8a1d1d;
}

.hidden-field {
  position: absolute;
  left: -9999px;
  opacity: 0;
}

.payment-frame {
  width: 100%;
  min-height: 620px;
  border: 1px solid #eadfcd;
  border-radius: 8px;
  background: #fff;
}

.payment-frame.is-hidden {
  display: none;
}

.payment-embed-wrap {
  margin: 1rem 0;
}

.payment-embed-placeholder.is-hidden {
  display: none;
}

.payment-notice {
  margin-top: 0.75rem;
}

.contact-band {
  --contact-band-bg: #551516;
  --contact-band-bg-image: none;
  position: relative;
  overflow: hidden;
  background-color: var(--contact-band-bg);
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--contact-band-bg-image);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  color: #fff;
  padding: clamp(3rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.contact-band::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 14% 12%, rgba(255, 185, 64, 0.16), transparent 40%),
    radial-gradient(circle at 86% 88%, rgba(255, 255, 255, 0.07), transparent 38%);
  pointer-events: none;
}

.contact-band-inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: clamp(1.75rem, 3vw, 2.5rem);
}

.contact-band__header {
  text-align: center;
  max-width: 52rem;
  margin: 0 auto;
}

.contact-band__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #CB892C;
}

.contact-band h2 {
  color: #fff;
  margin: 0 0 0.85rem;
  font-size: clamp(1.85rem, 4vw, 2.5rem);
  line-height: 1.12;
}

.contact-band__lead {
  color: rgba(255, 255, 255, 0.88);
  margin: 0 auto 1.5rem;
  line-height: 1.7;
  max-width: 46ch;
  font-size: 1rem;
}

.contact-band__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
}

.contact-band__team {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.contact-band__card {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-height: 100%;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  padding: 1.2rem 1.15rem 1.15rem;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
  backdrop-filter: blur(10px);
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.contact-band__card:hover {
  border-color: rgba(255, 185, 64, 0.55);
  transform: translateY(-3px);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.2);
}

.contact-band__card-top {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
}

.contact-band .alumni-team-avatar {
  border-color: rgba(255, 255, 255, 0.35);
  background: rgba(203, 137, 44, 0.22);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

.contact-band .alumni-team-avatar__initials {
  color: #CB892C;
}

.contact-band__card-linkedin {
  font-size: 0.78rem;
  font-weight: 600;
  color: #CB892C;
  text-decoration: none;
}

.contact-band__card-linkedin:hover,
.contact-band__card-linkedin:focus-visible {
  color: #fff;
}

.contact-band__card-role {
  margin: 0 0 0.3rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #CB892C;
  line-height: 1.35;
}

.contact-band__card-name {
  margin: 0;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.35;
  color: #fff;
}

.contact-band__card-focus {
  margin: 0;
  flex: 1 1 auto;
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.contact-band__card-email {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin-top: auto;
  padding: 0.7rem 0.8rem;
  border-radius: 8px;
  background: rgba(8, 8, 33, 0.22);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #fff;
  text-decoration: none;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.contact-band__card-email:hover,
.contact-band__card-email:focus-visible {
  background: rgba(255, 185, 64, 0.16);
  border-color: rgba(255, 185, 64, 0.45);
  color: #CB892C;
}

.contact-band__card-email-label {
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.contact-band__card-email-value {
  font-size: 0.86rem;
  line-height: 1.45;
  word-break: break-word;
}

.contact-band__office {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  padding-top: 0.35rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
}

.contact-band__office-title {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #CB892C;
}

.contact-band__office-text {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
}

.contact-band__office a {
  color: #fff;
  text-decoration: none;
}

.contact-band__office a:hover,
.contact-band__office a:focus-visible {
  color: #CB892C;
}

@media (max-width: 1024px) {
  .contact-band__team,
  .contact-band__office {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .contact-band__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .contact-band__actions .btn {
    width: 100%;
    text-align: center;
  }
}

/* Contact page form */
.alumni-contact-section {
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1rem, 4vw, 2rem);
  background: #f6f6f6;
}

.alumni-contact-layout {
  display: grid;
  grid-template-columns: minmax(260px, 0.95fr) minmax(0, 1.25fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: start;
}

.alumni-contact-aside {
  background: #551516;
  color: #fff;
  border-radius: 12px;
  padding: clamp(1.35rem, 3vw, 1.75rem);
  box-shadow: 0 20px 44px rgba(var(--vanguard-primary-rgb), 0.22);
  position: relative;
  overflow: hidden;
}

.alumni-contact-aside::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 185, 64, 0.16), transparent 42%),
    radial-gradient(circle at 88% 90%, rgba(255, 255, 255, 0.06), transparent 38%);
  pointer-events: none;
}

.alumni-contact-aside > * {
  position: relative;
  z-index: 1;
}

.alumni-contact-aside__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-contact-aside h2 {
  margin: 0 0 0.75rem;
  font-size: clamp(1.45rem, 3vw, 1.9rem);
  line-height: 1.15;
  color: #fff;
}

.alumni-contact-aside__lead {
  margin: 0 0 1.25rem;
  font-size: 0.94rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
}

.alumni-contact-team {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  display: grid;
  gap: 0.75rem;
}

.alumni-contact-team__item {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.8rem 0.85rem;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.alumni-contact-aside .alumni-team-avatar {
  border-color: rgba(255, 255, 255, 0.22);
  background: rgba(203, 137, 44, 0.2);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.alumni-contact-aside .alumni-team-avatar__initials {
  color: #CB892C;
}

.alumni-contact-team__body {
  min-width: 0;
}

.alumni-contact-team__role {
  display: block;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #CB892C;
  margin-bottom: 0.2rem;
}

.alumni-contact-team__name {
  display: block;
  font-size: 0.95rem;
  line-height: 1.35;
  color: #fff;
  margin-bottom: 0.25rem;
}

.alumni-contact-team__email {
  font-size: 0.84rem;
  color: #fff;
  text-decoration: none;
  word-break: break-word;
}

.alumni-contact-team__email:hover,
.alumni-contact-team__email:focus-visible {
  color: #CB892C;
}

.alumni-contact-aside__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.alumni-contact-aside__actions .btn-primary {
  background: #CB892C;
  border-color: #CB892C;
  color: #551516;
}

.alumni-contact-aside__actions .btn-primary:hover {
  background: #CB892C;
  border-color: #CB892C;
  color: #551516;
}

.alumni-contact-aside__actions .btn-outline {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.55);
  background: transparent;
}

.alumni-contact-aside__actions .btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}

.alumni-contact-form-card {
  background: #fff;
  border: 1px solid #eadfcd;
  border-radius: 12px;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  box-shadow: 0 18px 40px rgba(60, 22, 14, 0.08);
  border-top: 5px solid #551516;
}

.alumni-contact-form-card__head {
  margin-bottom: 1.1rem;
}

.alumni-contact-form-card__head h3 {
  margin: 0 0 0.35rem;
  font-size: 1.25rem;
  color: #551516;
}

.alumni-contact-form-card__head p {
  margin: 0;
  font-size: 0.88rem;
  color: #666;
}

.alumni-contact-required {
  color: #c0392b;
  font-weight: 800;
}

.alumni-contact-field {
  display: grid;
  gap: 0.4rem;
}

.alumni-contact-field label {
  font-size: 0.84rem;
  font-weight: 700;
  color: #333;
}

.alumni-contact-form input:focus,
.alumni-contact-form select:focus,
.alumni-contact-form textarea:focus {
  outline: none;
  border-color: #551516;
  box-shadow: 0 0 0 3px rgba(var(--vanguard-primary-rgb), 0.12);
}

.alumni-contact-form__footer {
  display: grid;
  gap: 0.65rem;
}

.alumni-contact-form__note {
  margin: 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #777;
}

@media (max-width: 960px) {
  .alumni-contact-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .alumni-contact-aside__actions {
    flex-direction: column;
  }

  .alumni-contact-aside__actions .btn {
    width: 100%;
    text-align: center;
  }
}

#public-rsvp-alert[hidden],
.public-rsvp-alert[hidden] {
  display: none !important;
}

/* RSVP modal — alumni landing */
.alumni-public-page #public-event-rsvp-modal.auth-modal {
  z-index: 10050;
  display: none;
  align-items: center;
  justify-content: center;
  padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
}

.alumni-public-page #public-event-rsvp-modal.auth-modal.open {
  display: flex;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-box {
  --rsvp-pad: 1.25rem;
  width: 100%;
  max-width: min(460px, 100%);
  max-height: min(90dvh, 100%);
  margin: 0;
  padding: 0 !important;
  overflow: hidden !important;
  display: flex;
  flex-direction: column;
  border-radius: 12px;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-head {
  flex-shrink: 0;
  padding: var(--rsvp-pad) var(--rsvp-pad) 0.9rem;
  border-bottom: 1px solid #e8e8e8;
  background: #fff;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-head-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-head-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-eyebrow {
  margin: 0 0 0.2rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #551516;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-head h3 {
  margin: 0 0 0.3rem;
  padding: 0;
  font-size: 1.1rem;
  line-height: 1.3;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-event-title {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: #64748b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-close {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 8px;
  background: #f8fafc;
  color: #64748b;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-close:hover {
  background: #f1f5f9;
  color: #171717;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-progress {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
  margin-top: 0.85rem;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-progress-step {
  text-align: center;
  font-size: 0.68rem;
  font-weight: 700;
  color: #64748b;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  padding: 0.4rem 0.35rem;
  line-height: 1.25;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-progress-step.is-active {
  color: #551516;
  background: #fff7ed;
  border-color: #f3d5b5;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-progress-step.is-complete {
  color: #166534;
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-alert {
  margin-top: 0.75rem;
  padding: 0.65rem 0.75rem;
  border-radius: 8px;
  font-size: 0.84rem;
  line-height: 1.45;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-alert.is-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #991b1b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  padding: var(--rsvp-pad);
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-step[hidden] {
  display: none !important;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-step-label {
  margin: 0 0 0.35rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #171717;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-step-hint {
  margin: 0 0 1rem;
  font-size: 0.84rem;
  line-height: 1.55;
  color: #64748b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-type-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
}

@media (min-width: 420px) {
  .alumni-public-page #public-event-rsvp-modal .public-rsvp-type-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-type-grid .btn {
  width: 100%;
  min-height: 2.85rem;
  justify-content: center;
  text-align: center;
  white-space: normal;
  line-height: 1.35;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-field {
  margin-bottom: 0.9rem;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-field:last-child {
  margin-bottom: 0;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-field label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.82rem;
  font-weight: 600;
  color: #171717;
  line-height: 1.35;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-required {
  color: #dc2626;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-optional {
  font-weight: 500;
  color: #94a3b8;
  font-size: 0.78rem;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-field input,
.alumni-public-page #public-event-rsvp-modal .public-rsvp-field select {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.6rem 0.75rem;
  border: 1px solid #d4d4d8;
  border-radius: 8px;
  font: inherit;
  font-size: 0.9rem;
  color: #171717;
  background: #fff;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-field input:focus,
.alumni-public-page #public-event-rsvp-modal .public-rsvp-field select:focus {
  outline: none;
  border-color: #551516;
  box-shadow: 0 0 0 3px rgba(85, 21, 22, 0.1);
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-record {
  margin-bottom: 1rem;
  padding: 0.85rem;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  background: #fafafa;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-record-row {
  display: grid;
  grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid #ececec;
  align-items: start;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-record-row:last-of-type {
  border-bottom: 0;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-record-label {
  font-size: 0.78rem;
  font-weight: 600;
  color: #64748b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-record-value {
  font-size: 0.84rem;
  font-weight: 600;
  color: #171717;
  text-align: right;
  word-break: break-word;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-portal-note {
  margin: 0.65rem 0 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #64748b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-honeypot {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-modal-footer {
  flex-shrink: 0;
  padding: 0.85rem var(--rsvp-pad) var(--rsvp-pad);
  border-top: 1px solid #e8e8e8;
  background: #fff;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-footer-actions {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: 1fr 1fr;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-footer-actions[data-layout="single"] {
  grid-template-columns: 1fr;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-footer-actions .btn {
  width: 100%;
  min-height: 2.75rem;
  justify-content: center;
  text-align: center;
  white-space: normal;
  line-height: 1.35;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-footer-actions .btn[hidden] {
  display: none !important;
}

.alumni-public-page #public-event-rsvp-modal.public-rsvp-modal--busy .public-rsvp-footer-actions .btn {
  opacity: 0.7;
  cursor: wait;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-success {
  text-align: center;
  padding: 0.75rem 0 0.25rem;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-success strong {
  display: block;
  font-size: 1rem;
  margin-bottom: 0.35rem;
  color: #171717;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-success p {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: #64748b;
}

.alumni-public-page #public-event-rsvp-modal .public-rsvp-success-icon {
  width: 3rem;
  height: 3rem;
  margin: 0 auto 0.75rem;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: #f0fdf4;
  color: #166534;
  font-size: 1.35rem;
  font-weight: 800;
}

@media (max-width: 420px) {
  .alumni-public-page #public-event-rsvp-modal .public-rsvp-record-row {
    grid-template-columns: 1fr;
    gap: 0.15rem;
  }

  .alumni-public-page #public-event-rsvp-modal .public-rsvp-record-value {
    text-align: left;
  }

  .alumni-public-page #public-event-rsvp-modal .public-rsvp-footer-actions {
    grid-template-columns: 1fr;
  }
}
.payment-embed-placeholder {
  border: 1px dashed #d8cfc2;
  border-radius: 8px;
  background: #fffaf2;
  padding: 1.25rem;
  text-align: center;
  color: #555;
}

.payment-embed-placeholder strong {
  display: block;
  color: #551516;
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.payment-embed-placeholder p {
  max-width: 680px;
  margin: 0 auto 1rem;
  line-height: 1.65;
}

body.alumni-public-scroll-lock {
  overflow: hidden;
  touch-action: none;
}

html.alumni-public-scroll-lock {
  overflow: hidden;
}

.footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer a {
  color: #CB892C;
}

.footer-brand img {
  height: 52px;
  width: auto;
  display: block;
}

.footer-copy {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.footer-brand {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (max-width: 1100px) {
  .alumni-hero-inner,
  .story-detail,
  .feature-band,
  .showcase-inner {
    grid-template-columns: 1fr;
  }

  .alumni-hero h1 {
    max-width: none;
  }

  .hero-panel {
    max-width: 520px;
  }

  .showcase-media {
    min-height: 320px;
  }
}

@media (max-width: 900px) {
  .alumni-header-inner {
    align-items: flex-start;
    flex-direction: column;
  }

  .alumni-nav {
    justify-content: flex-start;
    width: 100%;
  }

  .alumni-menu-panel {
    left: 0;
    right: auto;
  }
}

@media (max-width: 720px) {
  .alumni-loader-brand {
    grid-template-columns: 1fr;
  }

  .alumni-loader-brand img {
    width: 190px;
  }

  .alumni-brand {
    align-items: flex-start;
    flex-direction: column;
  }

  .alumni-brand span {
    border-left: 0;
    border-top: 1px solid #ddd;
    padding-left: 0;
    padding-top: 0.65rem;
    white-space: normal;
  }

  .form-grid,
  .hero-stats,
  .showcase-stats {
    grid-template-columns: 1fr;
  }

  .section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .alumni-menu-panel {
    grid-template-columns: 1fr;
  }

  .showcase-media {
    min-height: 260px;
  }

  .showcase-content {
    padding: 1.2rem;
  }

.footer-inner {
    flex-direction: column;
    align-items: flex-start;
  }
}

.alumni-page-hero {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 2rem;
  align-items: center;
  padding: 2.5rem 0 2rem;
}

.alumni-page-hero--news .eyebrow {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--primary);
  font-weight: 800;
  margin-bottom: 0.4rem;
}

.alumni-page-hero h1 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.15;
  margin: 0 0 0.75rem;
}

.alumni-page-hero p {
  color: var(--muted);
  max-width: 40rem;
  line-height: 1.65;
}

.alumni-page-hero-media img {
  width: 100%;
  max-height: 280px;
  object-fit: cover;
  border-radius: var(--r-lg);
  box-shadow: var(--sh-md);
}

.alumni-public-footer {
  padding: 2rem 0 2.5rem;
  border-top: 1px solid var(--border);
  color: var(--muted);
  font-size: 0.88rem;
}

.alumni-public-footer p {
  margin: 0.35rem 0;
}

.faculty-news-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 1.25rem;
}

.faculty-news-chip {
  display: inline-flex;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid var(--border);
  background: #fff;
  color: var(--text);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 600;
}

.faculty-news-chip.is-active,
.faculty-news-chip:hover {
  border-color: var(--primary);
  color: var(--primary);
}

.faculty-news-card .news-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, #f8f6f2 0%, #efeae3 100%);
}

.faculty-news-card .news-card-media img {
  width: 100%;
  height: 220px;
  object-fit: contain;
  object-position: center center;
}

/* ── Alumni news hub (general news) ───────────────────────── */
.alumni-media-cover {
  position: relative;
  overflow: hidden;
}

.alumni-media-cover__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-media-cover__overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.alumni-media-cover__content {
  position: relative;
  z-index: 1;
}

.alumni-news-list-hero {
  min-height: 360px;
  color: #fff;
}

.alumni-news-list-hero--cover .alumni-media-cover__img {
  position: absolute;
  inset: 0;
}

.alumni-news-list-hero__overlay {
  background: linear-gradient(120deg, rgba(63, 14, 15, 0.9) 0%, rgba(var(--vanguard-primary-rgb), 0.72) 45%, rgba(15, 23, 42, 0.45) 100%);
}

.alumni-news-list-hero-inner {
  min-height: 360px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3rem 0 2.5rem;
}

.alumni-news-list-hero-inner small {
  display: block;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 800;
  opacity: 0.85;
  margin-bottom: 0.45rem;
}

.alumni-news-list-hero-inner h1 {
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.08;
  margin: 0 0 0.75rem;
  max-width: 14ch;
}

.alumni-news-list-hero-inner p {
  margin: 0 0 1.1rem;
  max-width: 42rem;
  line-height: 1.65;
  opacity: 0.92;
}

.alumni-news-list-section {
  padding-top: 2.5rem;
}

.alumni-news-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.alumni-news-card {
  transition: transform 0.18s, box-shadow 0.18s;
}

.alumni-news-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(60, 22, 14, 0.14);
}

.alumni-news-card .news-card-media {
  display: block;
  position: relative;
  overflow: hidden;
}

.alumni-news-card .news-card-media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  padding: 0;
  background: #1f2937;
  transition: transform 0.25s;
}

.alumni-news-card:hover .news-card-media img {
  transform: scale(1.03);
}

.alumni-news-card-type {
  position: absolute;
  top: 0.65rem;
  left: 0.65rem;
  padding: 0.22rem 0.55rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: #551516;
  font-size: 0.62rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.alumni-news-card h3 a {
  color: inherit;
  text-decoration: none;
}

.alumni-news-card h3 a:hover {
  color: #551516;
}

.alumni-story-hero {
  min-height: 420px;
  color: #fff;
}

.alumni-story-hero--overlay-bottom .alumni-media-cover__img {
  position: absolute;
  inset: 0;
}

.alumni-story-hero--overlay-bottom .alumni-media-cover__overlay {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.15) 0%, rgba(15, 23, 42, 0.55) 45%, rgba(15, 23, 42, 0.92) 100%);
}

.alumni-story-hero-inner {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2.5rem 0 2rem;
}

.alumni-story-breadcrumb {
  color: rgba(255, 255, 255, 0.88);
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.alumni-story-breadcrumb:hover {
  color: #fff;
}

.alumni-story-type {
  display: inline-block;
  width: fit-content;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  background: rgba(212, 138, 25, 0.92);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.65rem;
}

.alumni-story-hero h1 {
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.12;
  margin: 0 0 0.65rem;
  max-width: 18ch;
}

.alumni-story-meta,
.alumni-story-lead {
  margin: 0;
  max-width: 44rem;
  line-height: 1.6;
  opacity: 0.92;
}

.alumni-story-article {
  padding: 2.5rem 0 1rem;
  background: #fff;
}

.alumni-story-article-inner {
  max-width: 46rem;
}

.alumni-story-article-inner p {
  font-size: 1.02rem;
  line-height: 1.85;
  color: #333;
  margin: 0 0 1.1rem;
}

.alumni-story-note {
  margin-top: 1.5rem !important;
  padding-top: 1.25rem;
  border-top: 1px solid #eadfcd;
  font-size: 0.9rem !important;
  color: #666 !important;
}

.alumni-story-article-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding: 0 0 2.5rem;
}

.alumni-related-stories {
  padding-top: 0;
  background: #faf8f5;
}

.alumni-news-missing {
  padding: 4rem 0 3rem;
  background: linear-gradient(180deg, #faf8f5 0%, #fff 100%);
}

.alumni-news-missing-inner {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto;
}

.alumni-news-missing-inner small {
  display: block;
  color: #551516;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 800;
  margin-bottom: 0.5rem;
}

.alumni-news-missing-inner h1 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
  margin: 0 0 0.75rem;
}

.alumni-news-missing-inner p {
  color: #555;
  line-height: 1.65;
  margin: 0 0 1.25rem;
}

.alumni-news-missing-inner .hero-actions {
  justify-content: center;
}

@media (max-width: 900px) {
  .alumni-page-hero {
    grid-template-columns: 1fr;
  }

  .alumni-news-list-hero,
  .alumni-news-list-hero-inner,
  .alumni-story-hero,
  .alumni-story-hero-inner {
    min-height: 300px;
  }
}

/* Newsletter page */
.alumni-newsletter-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-newsletter-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-newsletter-hero) right center / cover no-repeat;
}

.alumni-newsletter-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(var(--vanguard-primary-rgb), 0.55) 100%);
}

.alumni-newsletter-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-newsletter-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-newsletter-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-newsletter-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-newsletter-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-newsletter-hero__panel {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: 1.35rem 1.25rem;
  backdrop-filter: blur(6px);
}

.alumni-newsletter-hero__panel h2 {
  margin: 0 0 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CB892C;
}

.alumni-newsletter-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.alumni-newsletter-hero__panel li {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-newsletter-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-newsletter-hero__panel strong {
  color: #fff;
  font-size: 0.95rem;
}

.alumni-newsletter-hero__panel span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.5;
}

.alumni-newsletter-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-newsletter-pillar {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-newsletter-pillar__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-newsletter-pillar h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: #2b1516;
}

.alumni-newsletter-pillar p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-newsletter-stories__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-newsletter-story {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid #ece7e2;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-newsletter-story img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.alumni-newsletter-story__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.1rem 1.15rem;
  flex: 1 1 auto;
}

.alumni-newsletter-story__body small {
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-newsletter-story__body h3 {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.35;
}

.alumni-newsletter-story__body p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.9rem;
  flex: 1 1 auto;
}

.alumni-newsletter-stories__note {
  margin: 1.25rem 0 0;
  text-align: center;
  color: #5a4f50;
}

.alumni-newsletter-stories__note a {
  color: #551516;
  font-weight: 700;
}

.alumni-newsletter-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-newsletter-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.15rem 1.2rem;
}

.alumni-newsletter-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: #551516;
  color: #CB892C;
  font-size: 0.82rem;
  font-weight: 800;
}

.alumni-newsletter-step h3 {
  margin: 0 0 0.35rem;
  font-size: 1.02rem;
}

.alumni-newsletter-step p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.92rem;
}

.alumni-newsletter-assist__panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.65rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid #ece7e2;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-newsletter-assist__panel h2 {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
}

.alumni-newsletter-assist__panel p {
  margin: 0;
  max-width: 42rem;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-newsletter-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-newsletter-bg);
  background-size: cover;
  background-position: center;
}

.alumni-newsletter-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-newsletter-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-newsletter-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-newsletter-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-newsletter-cta__actions .btn {
  width: 100%;
  text-align: center;
}

@media (max-width: 900px) {
  .alumni-newsletter-hero__inner,
  .alumni-newsletter-cta__inner {
    grid-template-columns: 1fr;
  }

  .alumni-newsletter-pillars__grid,
  .alumni-newsletter-stories__grid {
    grid-template-columns: 1fr;
  }

  .alumni-newsletter-steps__list {
    grid-template-columns: 1fr;
  }

  .alumni-newsletter-assist__panel {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Events page */
.alumni-events-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-events-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-events-hero) right center / cover no-repeat;
}

.alumni-events-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(var(--vanguard-primary-rgb), 0.55) 100%);
}

.alumni-events-hero--roadshow::after {
  background:
    radial-gradient(ellipse 70% 80% at 85% 20%, rgba(203, 137, 44, 0.28), transparent 55%),
    linear-gradient(112deg, rgba(22, 5, 6, 0.96) 0%, rgba(85, 21, 22, 0.9) 48%, rgba(85, 21, 22, 0.62) 100%);
}

.alumni-events-hero__glow {
  display: none;
}

.alumni-events-hero--roadshow .alumni-events-hero__glow {
  display: block;
  position: absolute;
  z-index: 1;
  width: min(48vw, 520px);
  height: min(48vw, 520px);
  right: -8%;
  bottom: -28%;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(203, 137, 44, 0.22), transparent 68%);
  pointer-events: none;
}

.alumni-events-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 400px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-events-hero__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-events-hero__brand {
  margin: 0 0 0.85rem;
  font-size: clamp(1.05rem, 2.4vw, 1.35rem);
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #fff;
  line-height: 1.25;
}

.alumni-events-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.45rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-events-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-events-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-events-hero__pills {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.alumni-events-hero__pills li {
  margin: 0;
  padding: 0.35rem 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(255, 255, 255, 0.06);
}

.alumni-events-hero__panel {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: 1.35rem 1.25rem;
  backdrop-filter: blur(6px);
}

.alumni-events-hero__panel--schedule {
  padding: 1.15rem 1.1rem 1.2rem;
  max-height: min(34rem, 72vh);
  overflow: auto;
}

.alumni-events-hero__panel-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.alumni-events-hero__panel h2,
.alumni-events-hero__panel-head h2 {
  margin: 0;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CB892C;
}

.alumni-events-hero__panel-head span {
  font-size: 0.75rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.65);
  letter-spacing: 0.04em;
}

.alumni-events-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.alumni-events-hero__panel li {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-events-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-events-hero__panel strong {
  color: #fff;
  font-size: 0.95rem;
}

.alumni-events-hero__panel span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.5;
}

.alumni-events-hero__schedule {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.alumni-events-hero__schedule li {
  display: grid;
  grid-template-columns: 4.1rem minmax(0, 1fr);
  gap: 0.65rem;
  align-items: start;
  padding: 0.55rem 0.45rem;
  border: 0;
  border-radius: 0.55rem;
  background: rgba(0, 0, 0, 0.18);
}

.alumni-events-hero__schedule-date {
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #CB892C;
  padding-top: 0.1rem;
}

.alumni-events-hero__schedule-body {
  display: grid;
  gap: 0.15rem;
  min-width: 0;
}

.alumni-events-hero__schedule-body strong {
  font-size: 0.88rem;
  line-height: 1.3;
}

.alumni-events-hero__schedule-body span {
  font-size: 0.78rem;
  color: rgba(255, 255, 255, 0.72);
}

.alumni-events-card__walkin {
  display: inline-block;
  margin-top: 0.65rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #551516;
  background: #f6ebe4;
  border: 1px solid #e8d2c4;
}

.alumni-events-types__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-events-type {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-events-type__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-events-type h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: #2b1516;
}

.alumni-events-type p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-events-calendar .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.alumni-events-calendar__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-events-card {
  display: grid;
  grid-template-columns: minmax(140px, 200px) minmax(0, 1fr);
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-events-card__media {
  position: relative;
  min-height: 100%;
}

.alumni-events-card__media img {
  width: 100%;
  height: 100%;
  min-height: 180px;
  object-fit: cover;
}

.alumni-events-card__date {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  display: grid;
  justify-items: center;
  min-width: 3.25rem;
  padding: 0.45rem 0.55rem;
  border-radius: 0.65rem;
  background: #551516;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.2);
}

.alumni-events-card__date-day {
  font-size: 1.15rem;
  font-weight: 800;
  line-height: 1;
}

.alumni-events-card__date-month {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-events-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.1rem 1.15rem;
}

.alumni-events-card__body small {
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-events-card__body h3 {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.35;
}

.alumni-events-card__body p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.9rem;
}

.alumni-events-card__location {
  font-size: 0.84rem !important;
  color: #7a6d6e !important;
}

.alumni-events-card__body .btn {
  align-self: flex-start;
  margin-top: auto;
}

.alumni-events-card__pending {
  margin-top: auto;
  font-size: 0.84rem;
  color: #7a6d6e;
}

.alumni-events-empty {
  text-align: center;
  padding: 2rem 1.25rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px dashed #d8cfcf;
}

.alumni-events-empty h3 {
  margin: 0 0 0.5rem;
}

.alumni-events-empty p {
  margin: 0 0 1rem;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-events-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-events-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.15rem 1.2rem;
}

.alumni-events-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: #551516;
  color: #CB892C;
  font-size: 0.82rem;
  font-weight: 800;
}

.alumni-events-step h3 {
  margin: 0 0 0.35rem;
  font-size: 1.02rem;
}

.alumni-events-step p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.92rem;
}

.alumni-events-assist__panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.5rem 1.65rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid #ece7e2;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-events-assist__panel h2 {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
}

.alumni-events-assist__panel p {
  margin: 0;
  max-width: 42rem;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-events-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-events-bg);
  background-size: cover;
  background-position: center;
}

.alumni-events-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-events-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-events-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-events-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-events-cta__actions .btn {
  width: 100%;
  text-align: center;
}

@media (max-width: 900px) {
  .alumni-events-hero__inner,
  .alumni-events-cta__inner {
    grid-template-columns: 1fr;
  }

  .alumni-events-types__grid,
  .alumni-events-calendar__grid {
    grid-template-columns: 1fr;
  }

  .alumni-events-card {
    grid-template-columns: 1fr;
  }

  .alumni-events-steps__list {
    grid-template-columns: 1fr;
  }

  .alumni-events-assist__panel {
    flex-direction: column;
    align-items: stretch;
  }
}

/* News page */
.alumni-news-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-news-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-news-hero) right center / cover no-repeat;
}

.alumni-news-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(var(--vanguard-primary-rgb), 0.55) 100%);
}

.alumni-news-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-news-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-news-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-news-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-news-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-news-hero__panel {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: 1.35rem 1.25rem;
  backdrop-filter: blur(6px);
}

.alumni-news-hero__panel h2 {
  margin: 0 0 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CB892C;
}

.alumni-news-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.alumni-news-hero__panel li {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-news-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-news-hero__panel strong {
  color: #fff;
  font-size: 0.95rem;
}

.alumni-news-hero__panel span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.5;
}

.alumni-news-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-news-pillar {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-news-pillar__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-news-pillar h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: #2b1516;
}

.alumni-news-pillar p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-news-stories .anw-toolbar {
  margin-bottom: 1rem;
}

.alumni-news-stories .section-head {
  margin-bottom: 0;
}

.alumni-news-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-news-bg);
  background-size: cover;
  background-position: center;
}

.alumni-news-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-news-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-news-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-news-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-news-cta__actions .btn {
  width: 100%;
  text-align: center;
}

@media (max-width: 900px) {
  .alumni-news-hero__inner,
  .alumni-news-cta__inner {
    grid-template-columns: 1fr;
  }

  .alumni-news-pillars__grid {
    grid-template-columns: 1fr;
  }
}

/* Brand shop page */
.alumni-brandshop-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-brandshop-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-brandshop-hero) right center / cover no-repeat;
}

.alumni-brandshop-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(var(--vanguard-primary-rgb), 0.55) 100%);
}

.alumni-brandshop-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-brandshop-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-brandshop-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-brandshop-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-brandshop-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-brandshop-hero__panel {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: 1.35rem 1.25rem;
  backdrop-filter: blur(6px);
}

.alumni-brandshop-hero__panel h2 {
  margin: 0 0 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CB892C;
}

.alumni-brandshop-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.alumni-brandshop-hero__panel li {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-brandshop-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-brandshop-hero__panel strong {
  color: #fff;
  font-size: 0.95rem;
}

.alumni-brandshop-hero__panel span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.5;
}

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

.alumni-brandshop-category {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-brandshop-category__media {
  position: relative;
}

.alumni-brandshop-category__media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

.alumni-brandshop-category__tag {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: #551516;
  color: #CB892C;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-brandshop-category__body {
  padding: 1.15rem 1.2rem 1.25rem;
}

.alumni-brandshop-category__body h3 {
  margin: 0 0 0.55rem;
  font-size: 1.15rem;
}

.alumni-brandshop-category__body p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-brandshop-official__panel {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 320px);
  gap: 1.5rem;
  align-items: start;
  padding: 1.5rem 1.65rem;
  border-radius: 1rem;
  background: #fff;
  border: 1px solid #ece7e2;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-brandshop-official__panel h2 {
  margin: 0 0 0.65rem;
  font-size: 1.35rem;
}

.alumni-brandshop-official__copy p {
  margin: 0 0 0.75rem;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-brandshop-official__notice {
  font-size: 0.84rem !important;
  color: #7a6d6e !important;
}

.alumni-brandshop-official__links {
  display: grid;
  gap: 0.65rem;
}

.alumni-brandshop-official__links .btn {
  width: 100%;
  text-align: center;
}

.alumni-brandshop-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-brandshop-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.15rem 1.2rem;
}

.alumni-brandshop-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: #551516;
  color: #CB892C;
  font-size: 0.82rem;
  font-weight: 800;
}

.alumni-brandshop-step h3 {
  margin: 0 0 0.35rem;
  font-size: 1.02rem;
}

.alumni-brandshop-step p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.92rem;
}

.alumni-brandshop-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-brandshop-bg);
  background-size: cover;
  background-position: center;
}

.alumni-brandshop-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-brandshop-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-brandshop-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-brandshop-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-brandshop-cta__actions .btn {
  width: 100%;
  text-align: center;
}

@media (max-width: 900px) {
  .alumni-brandshop-hero__inner,
  .alumni-brandshop-cta__inner,
  .alumni-brandshop-official__panel {
    grid-template-columns: 1fr;
  }

  .alumni-brandshop-categories__grid,
  .alumni-brandshop-steps__list {
    grid-template-columns: 1fr;
  }
}

/* Alumni fund page */
.alumni-fund-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
}

.alumni-fund-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-fund-hero) right center / cover no-repeat;
}

.alumni-fund-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(26, 77, 46, 0.45) 100%);
}

.alumni-fund-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 380px);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-fund-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-fund-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.1rem, 5vw, 3.6rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-fund-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-fund-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-fund-hero__panel {
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1rem;
  padding: 1.35rem 1.25rem;
  backdrop-filter: blur(6px);
}

.alumni-fund-hero__panel h2 {
  margin: 0 0 1rem;
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #CB892C;
}

.alumni-fund-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.9rem;
}

.alumni-fund-hero__panel li {
  display: grid;
  gap: 0.2rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-fund-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-fund-hero__panel strong {
  color: #fff;
  font-size: 0.95rem;
}

.alumni-fund-hero__panel span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.88rem;
  line-height: 1.5;
}

.alumni-fund-areas__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-fund-area {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-fund-area__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-fund-area h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: #2b1516;
}

.alumni-fund-area p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-fund-donate__layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-fund-donate__choice h3,
.alumni-fund-donate__payments h3 {
  margin: 0 0 0.65rem;
  font-size: 1.15rem;
}

.alumni-fund-donate__choice p,
.alumni-fund-donate__payments p {
  margin: 0 0 0.75rem;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-fund-steps__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-fund-step {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.15rem 1.2rem;
}

.alumni-fund-step__num {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 999px;
  background: #551516;
  color: #CB892C;
  font-size: 0.82rem;
  font-weight: 800;
}

.alumni-fund-step h3 {
  margin: 0 0 0.35rem;
  font-size: 1.02rem;
}

.alumni-fund-step p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.92rem;
}

.alumni-fund-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-fund-bg);
  background-size: cover;
  background-position: center;
}

.alumni-fund-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-fund-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-fund-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-fund-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-fund-cta__actions .btn {
  width: 100%;
  text-align: center;
}

@media (max-width: 900px) {
  .alumni-fund-hero__inner,
  .alumni-fund-cta__inner,
  .alumni-fund-donate__layout {
    grid-template-columns: 1fr;
  }

  .alumni-fund-areas__grid,
  .alumni-fund-steps__list {
    grid-template-columns: 1fr;
  }
}

/* Alumni home page */
.alumni-home-hero {
  position: relative;
  overflow: hidden;
  background: #551516;
  color: #fff;
  isolation: isolate;
}

.alumni-home-hero::before,
.alumni-home-hero::after {
  pointer-events: none;
}

.alumni-home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--alumni-home-hero) right center / cover no-repeat;
}

.alumni-home-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.94) 0%, rgba(var(--vanguard-primary-rgb), 0.82) 52%, rgba(var(--vanguard-primary-rgb), 0.55) 100%);
}

.alumni-home-hero__inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 380px);
  grid-template-areas: "content aside";
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-home-hero__content {
  grid-area: content;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
  z-index: 5;
}

@media (min-width: 901px) {
  .alumni-home-hero__eyebrow { order: 1; }
  .alumni-home-hero h1 { order: 2; }
  .alumni-home-hero__lead { order: 3; }
  .alumni-home-hero__actions { order: 4; }
  .alumni-home-hero__highlights { order: 5; }
}

.alumni-hero-portal-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  position: relative;
  z-index: 30;
  pointer-events: auto;
}

.alumni-portal-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.55rem 1rem;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.2);
  pointer-events: auto;
  cursor: pointer;
  position: relative;
  z-index: 31;
}

.alumni-portal-link:hover,
.alumni-portal-link:focus-visible {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  outline: 2px solid rgba(255, 255, 255, 0.45);
  outline-offset: 2px;
}

.alumni-portal-link--primary {
  background: #fff;
  border-color: #fff;
  color: #551516;
}

.alumni-portal-link--primary:hover,
.alumni-portal-link--primary:focus-visible {
  background: #f5f5f5;
  color: #551516;
}

.alumni-portal-link.is-pending {
  opacity: 0.75;
  cursor: default;
}

.alumni-home-hero__aside {
  grid-area: aside;
  display: grid;
  gap: 1rem;
  align-content: start;
  position: relative;
  z-index: 1;
  pointer-events: auto;
}

.alumni-home-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  gap: 0.5rem;
  margin: 0 0 0.85rem;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  border: 1px solid rgba(203, 137, 44, 0.32);
  background: rgba(203, 137, 44, 0.1);
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #f4d7a3;
}

.alumni-home-hero__eyebrow::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #CB892C;
  box-shadow: 0 0 0 4px rgba(203, 137, 44, 0.16);
}

.alumni-home-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(2.2rem, 5vw, 3.8rem);
  line-height: 1.08;
  color: #fff;
}

.alumni-home-hero__lead {
  margin: 0;
  max-width: 38rem;
  font-size: 1.05rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  margin-top: 0.5rem;
}

.alumni-home-hero__actions .btn {
  min-width: 11rem;
  justify-content: center;
}

.alumni-home-hero__highlights {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  margin-top: 0.2rem;
  max-width: 52rem;
}

.alumni-home-hero__highlight {
  padding: 1rem 1rem 1.05rem;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
}

.alumni-home-hero__highlight strong {
  display: block;
  margin-bottom: 0.35rem;
  color: #fff;
  font-size: 0.95rem;
}

.alumni-home-hero__highlight span {
  display: block;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.82rem;
  line-height: 1.55;
}

.alumni-home-hero--revamp::before {
  opacity: 0.35;
}

.alumni-home-hero--revamp::after {
  background: linear-gradient(105deg, rgba(33, 7, 8, 0.96) 0%, rgba(var(--vanguard-primary-rgb), 0.88) 46%, rgba(var(--vanguard-primary-rgb), 0.72) 100%);
}

.alumni-home-hero__video {
  position: relative;
  aspect-ratio: 16 / 9;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
  background: #111;
}

.alumni-home-hero__video-play {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.alumni-home-hero__video-poster {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-home-hero__video-play-icon {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 50%;
  background: rgba(203, 137, 44, 0.95);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  transition: transform 0.2s ease, background 0.2s ease;
}

.alumni-home-hero__video-play-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  transform: translate(-50%, -50%);
  border-style: solid;
  border-width: 0.72rem 0 0.72rem 1.15rem;
  border-color: transparent transparent transparent #fff;
}

.alumni-home-hero__video-play-label {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 0.85rem 1rem;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.78) 100%);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align: left;
}

.alumni-home-hero__video-play:hover .alumni-home-hero__video-play-icon,
.alumni-home-hero__video-play:focus-visible .alumni-home-hero__video-play-icon {
  transform: scale(1.06);
  background: #CB892C;
}

.alumni-home-hero__video-play:focus-visible {
  outline: 2px solid #CB892C;
  outline-offset: 3px;
}

.alumni-home-hero__video.is-playing iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Built-in animated portal preview (default hero demo) */
.alumni-home-hero__demo {
  position: relative;
}

.alumni-home-hero__demo-frame {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  aspect-ratio: 16 / 10;
  border-radius: 1rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.28);
  background: #f4f6f8;
}

.alumni-home-hero__demo-chrome {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.55rem 0.75rem;
  background: #eceff3;
  border-bottom: 1px solid #dde3ea;
}

.alumni-home-hero__demo-dots {
  display: inline-flex;
  gap: 0.28rem;
}

.alumni-home-hero__demo-dots i {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #c5ced8;
  font-style: normal;
}

.alumni-home-hero__demo-dots i:first-child { background: #e57373; }
.alumni-home-hero__demo-dots i:nth-child(2) { background: #ffb74d; }
.alumni-home-hero__demo-dots i:nth-child(3) { background: #81c784; }

.alumni-home-hero__demo-url {
  flex: 1;
  text-align: center;
  font-size: 0.62rem;
  color: #667085;
  letter-spacing: 0.02em;
}

.alumni-home-hero__demo-stage {
  position: relative;
  min-height: 0;
  background: linear-gradient(180deg, #fff 0%, #f8fafb 100%);
}

.alumni-home-hero__demo-scene {
  position: absolute;
  inset: 0;
  padding: 0.85rem 0.95rem 1rem;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.55s ease, transform 0.55s ease;
  pointer-events: none;
}

.alumni-home-hero__demo-scene.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.alumni-home-hero__demo-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid #e8edf2;
}

.alumni-home-hero__demo-logo {
  height: 1.1rem;
  width: auto;
  object-fit: contain;
}

.alumni-home-hero__demo-topbar span {
  font-size: 0.62rem;
  font-weight: 700;
  color: #551516;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.alumni-home-hero__demo-kicker {
  margin: 0 0 0.25rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #CB892C;
}

.alumni-home-hero__demo-scene h3 {
  margin: 0 0 0.65rem;
  font-size: 0.82rem;
  line-height: 1.25;
  color: #1f2937;
}

.alumni-home-hero__demo-body--split {
  display: grid;
  grid-template-columns: 3.2rem minmax(0, 1fr);
  gap: 0.65rem;
}

.alumni-home-hero__demo-nav {
  display: grid;
  gap: 0.35rem;
}

.alumni-home-hero__demo-nav span {
  display: block;
  height: 0.42rem;
  border-radius: 999px;
  background: #e5ebf0;
}

.alumni-home-hero__demo-nav span.is-active {
  background: #551516;
  width: 80%;
}

.alumni-home-hero__demo-form {
  display: grid;
  gap: 0.35rem;
  margin-bottom: 0.65rem;
}

.alumni-home-hero__demo-form span {
  display: block;
  height: 0.55rem;
  border-radius: 0.35rem;
  background: #e8edf2;
}

.alumni-home-hero__demo-form span.is-wide {
  width: 72%;
}

.alumni-home-hero__demo-btn {
  width: 42% !important;
  background: linear-gradient(90deg, #551516, #7a1f20) !important;
  animation: alumniHeroDemoPulse 2.4s ease-in-out infinite;
}

.alumni-home-hero__demo-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.35rem;
}

.alumni-home-hero__demo-stats div {
  padding: 0.4rem 0.35rem;
  border-radius: 0.45rem;
  background: #f3f7f5;
  border: 1px solid #dfe8e2;
}

.alumni-home-hero__demo-stats strong,
.alumni-home-hero__demo-stats em {
  display: block;
  font-style: normal;
}

.alumni-home-hero__demo-stats strong {
  font-size: 0.55rem;
  color: #551516;
}

.alumni-home-hero__demo-stats em {
  font-size: 0.5rem;
  color: #667085;
  margin-top: 0.12rem;
}

.alumni-home-hero__demo-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.4rem;
}

.alumni-home-hero__demo-cards div {
  padding: 0.35rem;
  border-radius: 0.45rem;
  background: #fff;
  border: 1px solid #e5ebf0;
}

.alumni-home-hero__demo-cards div span {
  display: block;
  aspect-ratio: 4 / 3;
  border-radius: 0.35rem;
  margin-bottom: 0.35rem;
  background: linear-gradient(135deg, #f8f6f2 0%, #efeae3 100%);
}

.alumni-home-hero__demo-cards strong,
.alumni-home-hero__demo-cards em {
  display: block;
  font-style: normal;
}

.alumni-home-hero__demo-cards strong {
  font-size: 0.52rem;
  color: #551516;
}

.alumni-home-hero__demo-cards em {
  font-size: 0.48rem;
  color: #667085;
  margin-top: 0.1rem;
}

.alumni-home-hero__demo-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}

.alumni-home-hero__demo-list li {
  display: grid;
  grid-template-columns: 1.6rem minmax(0, 1fr);
  gap: 0.45rem;
  align-items: center;
  padding: 0.4rem 0.45rem;
  border-radius: 0.45rem;
  background: #fff;
  border: 1px solid #e5ebf0;
}

.alumni-home-hero__demo-list li.is-highlight {
  border-color: rgba(203, 137, 44, 0.45);
  background: #fffaf3;
}

.alumni-home-hero__demo-list li span {
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  border-radius: 0.35rem;
  background: linear-gradient(135deg, #551516 0%, #7a1f20 100%);
}

.alumni-home-hero__demo-list strong,
.alumni-home-hero__demo-list em {
  display: block;
  font-style: normal;
}

.alumni-home-hero__demo-list strong {
  font-size: 0.58rem;
  color: #1f2937;
}

.alumni-home-hero__demo-list em {
  font-size: 0.5rem;
  color: #667085;
  margin-top: 0.08rem;
}

.alumni-home-hero__demo-progress {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  background: rgba(85, 21, 22, 0.12);
}

.alumni-home-hero__demo-progress-bar {
  display: block;
  height: 100%;
  width: 0;
  background: #CB892C;
  animation: alumniHeroDemoProgress 12s linear infinite;
}

.alumni-home-hero__demo-badge {
  position: absolute;
  top: 0.65rem;
  right: 0.65rem;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: rgba(17, 24, 39, 0.72);
  color: #fff;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@keyframes alumniHeroDemoPulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.72; }
}

@keyframes alumniHeroDemoProgress {
  0% { width: 0; }
  100% { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .alumni-home-hero__demo-scene {
    transition: none;
  }

  .alumni-home-hero__demo-progress-bar,
  .alumni-home-hero__demo-btn {
    animation: none;
  }
}

.alumni-home-hero__panel {
  background: rgba(255, 255, 255, 0.98);
  border: 1px solid rgba(203, 137, 44, 0.22);
  border-radius: 1rem;
  padding: 0;
  overflow: hidden;
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.24);
}

.alumni-home-hero__panel h2 {
  margin: 0;
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, #1b1b1b 0%, #551516 100%);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
}

.alumni-home-hero__panel ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.alumni-home-hero__panel li {
  border-bottom: 1px solid #ece7e2;
}

.alumni-home-hero__panel li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.alumni-home-hero__panel a {
  display: grid;
  gap: 0.2rem;
  padding: 1rem 1.1rem;
  color: #171717;
  text-decoration: none;
}

.alumni-home-hero__panel a:hover,
.alumni-home-hero__panel a:focus-visible {
  background: #fff7ed;
}

.alumni-home-hero__panel a:hover strong,
.alumni-home-hero__panel a:focus-visible strong {
  color: #CB892C;
}

.alumni-home-hero__panel strong {
  color: #551516;
  font-size: 0.95rem;
}

.alumni-home-hero__panel span {
  color: #4b5563;
  font-size: 0.82rem;
  line-height: 1.5;
}

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

.alumni-home-pillar {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-home-pillar__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-home-pillar h3 {
  margin: 0 0 0.55rem;
  font-size: 1.2rem;
  color: #2b1516;
}

.alumni-home-pillar p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
}

.alumni-offices-section {
  position: relative;
}

.alumni-offices-intro {
  max-width: 52rem;
  margin-bottom: 1.35rem;
}

.alumni-offices-lead {
  margin: 0.85rem 0 0;
  color: #5a4f50;
  line-height: 1.7;
  font-size: 0.98rem;
}

.alumni-offices-lead--secondary {
  margin-top: 0.65rem;
  font-size: 0.92rem;
}

.alumni-offices-pillars__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.alumni-offices-pillar {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.35rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-offices-pillar__tag {
  display: inline-flex;
  margin-bottom: 0.75rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(var(--vanguard-primary-rgb), 0.08);
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-offices-pillar h3 {
  margin: 0 0 0.55rem;
  font-size: 1.08rem;
  color: #2b1516;
  line-height: 1.35;
}

.alumni-offices-pillar p {
  margin: 0 0 0.75rem;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.92rem;
}

.alumni-offices-pillar__examples {
  margin: 0;
  padding-left: 1.1rem;
  color: #6b5f60;
  font-size: 0.84rem;
  line-height: 1.55;
}

.alumni-offices-pillar__examples li {
  margin-bottom: 0.2rem;
}

.alumni-offices-pillar__contact {
  margin: 0.15rem 0 0.65rem;
  line-height: 1.45;
}

.alumni-offices-pillar__learn {
  align-self: flex-start;
}

.alumni-pillar-learn__back {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: 0.88rem;
  font-weight: 600;
  text-decoration: none;
}

.alumni-pillar-learn__back:hover {
  text-decoration: underline;
}

.alumni-pillar-learn__hero {
  border-radius: 1rem;
  padding: 1.5rem 1.35rem;
  color: #fff;
  margin-bottom: 1.25rem;
}

.alumni-pillar-learn__tag {
  display: inline-flex;
  margin-bottom: 0.55rem;
  padding: 0.28rem 0.65rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.16);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-pillar-learn__hero h1 {
  margin: 0 0 0.45rem;
  color: #fff;
  font-size: clamp(1.45rem, 3vw, 2rem);
  line-height: 1.2;
}

.alumni-pillar-learn__hero p {
  margin: 0;
  max-width: 44rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.92);
}

.alumni-pillar-learn__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(280px, 0.8fr);
  gap: 1.25rem;
  align-items: start;
}

.alumni-pillar-learn__main h2,
.alumni-pillar-learn__main h3,
.alumni-pillar-learn__aside h2 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  color: #2b1516;
}

.alumni-pillar-learn__main h3 {
  margin-top: 1rem;
  font-size: 0.95rem;
}

.alumni-pillar-learn__main p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.7;
}

.alumni-pillar-learn__list,
.alumni-pillar-learn__activities {
  margin: 0;
  padding-left: 1.15rem;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.92rem;
}

.alumni-pillar-learn__aside {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.alumni-pillar-learn__contact,
.alumni-pillar-learn__cta {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1.1rem;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-pillar-learn__contact-list {
  display: grid;
  gap: 0.75rem;
}

.alumni-pillar-learn__cta {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.alumni-pillar-learn__cta p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.55;
  font-size: 0.9rem;
}

@media (max-width: 900px) {
  .alumni-pillar-learn__layout {
    grid-template-columns: 1fr;
  }
}

.alumni-offices-team {
  background: linear-gradient(180deg, #fff 0%, #faf8f6 100%);
  border: 1px solid #ece7e2;
  border-radius: 1.15rem;
  padding: 1.5rem;
  box-shadow: 0 18px 42px rgba(33, 7, 8, 0.07);
  margin-bottom: 1.25rem;
}

.alumni-offices-team__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #7a6869;
}

.alumni-offices-team__head h3 {
  margin: 0 0 0.45rem;
  font-size: 1.35rem;
  color: #2b1516;
}

.alumni-offices-team__head p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
  font-size: 0.94rem;
  max-width: 52rem;
}

.alumni-offices-team__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.25rem;
}

.alumni-offices-team-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 1rem 0.85rem 1.1rem;
  border: 1px solid #f0ebe6;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 10px 24px rgba(33, 7, 8, 0.05);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.alumni-offices-team-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(33, 7, 8, 0.08);
}

.alumni-offices-team-card__body {
  width: 100%;
}

.alumni-offices-team-card strong {
  display: block;
  font-size: 0.95rem;
  color: #2b1516;
  line-height: 1.35;
  margin-top: 0.75rem;
}

.alumni-offices-team-card__role {
  display: block;
  font-size: 0.76rem;
  font-weight: 700;
  color: #551516;
  margin: 0.2rem 0 0.45rem;
  line-height: 1.45;
}

.alumni-offices-team-card p {
  margin: 0 0 0.75rem;
  font-size: 0.8rem;
  line-height: 1.55;
  color: #6b5f60;
}

.alumni-team-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
}

.alumni-team-links--contact,
.alumni-team-links--compact {
  justify-content: flex-start;
  margin-top: 0.35rem;
}

.alumni-team-links__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.42rem 0.7rem;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  text-decoration: none;
  border: 1px solid #e8dfd8;
  background: #fff;
  color: #551516;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.alumni-team-links__btn svg,
.alumni-team-links__icon {
  width: 1rem;
  height: 1rem;
  flex-shrink: 0;
  display: block;
}

.alumni-team-links__btn--linkedin .alumni-team-links__icon--linkedin {
  width: 1.05rem;
  height: 1.05rem;
}

.alumni-team-links__btn:hover,
.alumni-team-links__btn:focus-visible {
  transform: translateY(-1px);
  border-color: #551516;
  color: #551516;
}

.alumni-team-links__btn--email:hover,
.alumni-team-links__btn--email:focus-visible {
  background: rgba(85, 21, 22, 0.06);
}

.alumni-team-links__btn--linkedin {
  border-color: rgba(10, 102, 194, 0.22);
  color: #0a66c2;
  background: rgba(10, 102, 194, 0.06);
}

.alumni-team-links__btn--linkedin:hover,
.alumni-team-links__btn--linkedin:focus-visible {
  background: rgba(10, 102, 194, 0.08);
  border-color: #0a66c2;
  color: #0a66c2;
}

.contact-band .alumni-team-links {
  margin-top: auto;
}

.contact-band .alumni-team-links__btn {
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(8, 8, 33, 0.22);
  color: #fff;
}

.contact-band .alumni-team-links__btn--email:hover,
.contact-band .alumni-team-links__btn--email:focus-visible {
  background: rgba(255, 185, 64, 0.16);
  border-color: rgba(255, 185, 64, 0.45);
  color: #CB892C;
}

.contact-band .alumni-team-links__btn--linkedin {
  color: #CB892C;
  border-color: rgba(203, 137, 44, 0.35);
}

.contact-band .alumni-team-links__btn--linkedin:hover,
.contact-band .alumni-team-links__btn--linkedin:focus-visible {
  background: rgba(203, 137, 44, 0.14);
  border-color: #CB892C;
  color: #fff;
}

.alumni-contact-aside .alumni-team-links__btn {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.alumni-contact-aside .alumni-team-links__btn--linkedin {
  color: #CB892C;
  border-color: rgba(203, 137, 44, 0.35);
}

.alumni-offices-team-card__links {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  align-items: center;
}

.alumni-offices-team-card__links a {
  font-size: 0.78rem;
  font-weight: 600;
  word-break: break-word;
}

.alumni-team-avatar {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 3px solid #fff;
  box-shadow: 0 8px 20px rgba(85, 21, 22, 0.14);
  background: rgba(85, 21, 22, 0.08);
  display: grid;
  place-items: center;
}

.alumni-team-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-team-avatar__initials {
  font-size: 0.95rem;
  font-weight: 800;
  color: #551516;
  letter-spacing: 0.04em;
}

.alumni-team-avatar--card {
  width: 88px;
  height: 88px;
}

.alumni-team-avatar--card .alumni-team-avatar__initials {
  font-size: 1.05rem;
}

.alumni-team-avatar--band,
.alumni-team-avatar--contact {
  width: 56px;
  height: 56px;
}

.alumni-team-avatar--lg {
  width: 96px;
  height: 96px;
}

.contact-band__card-links,
.alumni-contact-team__linkedin,
.contact-band__card-linkedin {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.alumni-contact-team__linkedin,
.contact-band__card-linkedin {
  font-size: 0.78rem;
  font-weight: 600;
  color: #CB892C;
}

.alumni-pillar-learn__contact-card {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.85rem;
  border: 1px solid #f0ebe6;
  border-radius: 0.85rem;
  background: #faf8f6;
}

.alumni-pillar-learn__contact-body strong {
  display: block;
  font-size: 0.92rem;
  color: #2b1516;
}

.alumni-pillar-learn__contact-body p {
  margin: 0 0 0.35rem;
  font-size: 0.8rem;
  line-height: 1.5;
  color: #6b5f60;
}

@media (max-width: 1200px) {
  .alumni-offices-team__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.alumni-offices-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

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

.alumni-home-pathway {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
  transition: transform 0.18s, box-shadow 0.18s;
}

.alumni-home-pathway:hover,
.alumni-home-pathway:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 20px 42px rgba(33, 7, 8, 0.1);
}

.alumni-home-pathway img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.alumni-home-pathway__body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: 1rem 1.1rem 1.15rem;
  flex: 1 1 auto;
}

.alumni-home-pathway h3 {
  margin: 0;
  font-size: 1.05rem;
  color: #2b1516;
}

.alumni-home-pathway p {
  margin: 0;
  flex: 1 1 auto;
  color: #5a4f50;
  line-height: 1.6;
  font-size: 0.9rem;
}

.alumni-home-pathway__link {
  font-size: 0.82rem;
  font-weight: 700;
  color: #551516;
}

.alumni-home-events .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

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

.alumni-home-events__card {
  display: flex;
  flex-direction: column;
  grid-template-columns: none;
}

.alumni-home-events__card .alumni-events-card__media {
  min-height: 0;
}

.alumni-home-events__card .alumni-events-card__media img {
  min-height: 160px;
  aspect-ratio: 16 / 10;
}

.alumni-home-news .section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.alumni-home-news__featured {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
  gap: 1.25rem;
  margin-bottom: 1.25rem;
  padding: 1rem;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  background: #fff;
  box-shadow: 0 14px 34px rgba(33, 7, 8, 0.06);
}

.alumni-home-news__featured-media {
  display: block;
  overflow: hidden;
  border-radius: 0.75rem;
}

.alumni-home-news__featured-media img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  transition: transform 0.25s;
}

.alumni-home-news__featured:hover .alumni-home-news__featured-media img {
  transform: scale(1.02);
}

.alumni-home-news__featured-body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  justify-content: center;
}

.alumni-home-news__featured-body small {
  color: #551516;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.alumni-home-news__featured-body h3 {
  margin: 0;
  font-size: clamp(1.2rem, 2.5vw, 1.65rem);
  line-height: 1.3;
}

.alumni-home-news__featured-body h3 a {
  color: inherit;
  text-decoration: none;
}

.alumni-home-news__featured-body h3 a:hover {
  color: #551516;
}

.alumni-home-news__featured-body p {
  margin: 0;
  color: #5a4f50;
  line-height: 1.65;
}

.alumni-home-news__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.alumni-home-cta {
  position: relative;
  overflow: hidden;
  background-color: #551516;
  background-image:
    linear-gradient(180deg, rgba(var(--vanguard-primary-rgb), 0.92) 0%, rgba(var(--vanguard-primary-rgb), 0.98) 100%),
    var(--alumni-home-bg);
  background-size: cover;
  background-position: center;
}

.alumni-home-cta__inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 380px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 4vw, 2rem);
}

.alumni-home-cta h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
}

.alumni-home-cta__copy p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.7;
}

.alumni-home-cta__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-home-cta__actions .btn {
  width: 100%;
  text-align: center;
}

.alumni-home-faculty-stats {
  background: linear-gradient(180deg, #faf8f6 0%, #f3efeb 100%);
}

.alumni-fstats-head {
  margin-bottom: 1.5rem;
}

.alumni-fstats-head__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #551516;
}

.alumni-fstats-head__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1.25rem;
  flex-wrap: wrap;
}

.alumni-fstats-head h2 {
  margin: 0 0 0.45rem;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  line-height: 1.15;
  color: #2b1516;
}

.alumni-fstats-head__lead {
  margin: 0;
  max-width: 42rem;
  color: #5a4f50;
  font-size: 0.94rem;
  line-height: 1.65;
}

.alumni-fstats-head__cta {
  flex-shrink: 0;
}

.alumni-fstats-showcase {
  display: grid;
  grid-template-columns: minmax(220px, 0.95fr) minmax(0, 1.35fr);
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.alumni-fstats-hero {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 100%;
  padding: 1.5rem 1.35rem;
  border-radius: 1.1rem;
  background: linear-gradient(145deg, #551516 0%, #3d0f10 58%, #2b1516 100%);
  color: #fff;
  box-shadow: 0 18px 42px rgba(43, 21, 22, 0.22);
}

.alumni-fstats-hero__label {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.88;
}

.alumni-fstats-hero__value {
  display: block;
  margin: 0.35rem 0 0.2rem;
  font-size: clamp(2.2rem, 4.5vw, 3.2rem);
  line-height: 1.05;
  font-weight: 800;
  color: #fff;
}

.alumni-fstats-hero__note {
  font-size: 0.84rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}

.alumni-fstats-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.85rem;
}

.alumni-fstats-metric {
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  padding: 1rem 1.05rem;
  box-shadow: 0 10px 28px rgba(33, 7, 8, 0.05);
}

.alumni-fstats-metric--gender {
  grid-column: 1 / -1;
}

.alumni-fstats-metric__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #71717a;
}

.alumni-fstats-metric strong {
  display: block;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem);
  line-height: 1.1;
  color: #551516;
}

.alumni-fstats-metric__hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.8rem;
  color: #6b5f60;
}

.alumni-fstats-gender-bar {
  display: flex;
  height: 0.55rem;
  overflow: hidden;
  border-radius: 999px;
  background: #f1ebe6;
  margin: 0.15rem 0 0.65rem;
}

.alumni-fstats-gender-bar__male {
  display: block;
  height: 100%;
  background: #551516;
}

.alumni-fstats-gender-bar__female {
  display: block;
  height: 100%;
  background: #cb892c;
}

.alumni-fstats-gender-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  font-size: 0.82rem;
  color: #5a4f50;
}

.alumni-fstats-gender-legend strong {
  display: inline;
  font-size: inherit;
  color: #2b1516;
}

.alumni-fstats-faculties__title {
  margin: 0 0 0.85rem;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #551516;
}

.alumni-fstats-faculties__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 0.9rem;
}

.alumni-fstats-card {
  position: relative;
  display: flex;
  text-decoration: none;
  color: inherit;
  background: #fff;
  border: 1px solid #ece7e2;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 12px 30px rgba(33, 7, 8, 0.06);
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.alumni-fstats-card:hover {
  transform: translateY(-3px);
  border-color: rgba(var(--faculty-brand-rgb), 0.35);
  box-shadow: 0 16px 36px rgba(33, 7, 8, 0.1);
}

.alumni-fstats-card__accent {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--faculty-brand, #551516);
}

.alumni-fstats-card__body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 1.1rem 1.15rem 1rem;
}

.alumni-fstats-card__name {
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.35;
  color: #2b1516;
}

.alumni-fstats-card__value {
  font-size: clamp(1.55rem, 2.4vw, 1.95rem);
  line-height: 1.1;
  color: var(--faculty-brand, #551516);
}

.alumni-fstats-card__meta {
  font-size: 0.78rem;
  line-height: 1.45;
  color: #6b5f60;
}

.alumni-fstats-card__link {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--faculty-brand, #551516);
}

.alumni-fstats-card:hover .alumni-fstats-card__link {
  text-decoration: underline;
}

@media (max-width: 1100px) {
  .alumni-home-news__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .alumni-home-hero__inner,
  .alumni-home-hero--revamp .alumni-home-hero__inner,
  .alumni-home-cta__inner,
  .alumni-home-news__featured {
    grid-template-columns: 1fr;
    grid-template-areas:
      "content"
      "aside";
    align-items: stretch;
    padding-top: 1.35rem;
    padding-bottom: 1.75rem;
  }

  .alumni-hero-portal-bar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
  }

  .alumni-hero-portal-bar .alumni-portal-link {
    width: 100%;
    min-height: 3rem;
    font-size: 0.9rem;
  }

  .alumni-home-hero h1 {
    font-size: clamp(1.65rem, 7vw, 2.35rem);
  }

  .alumni-home-hero__lead {
    font-size: 0.95rem;
  }

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

  .alumni-home-hero__actions .btn {
    width: 100%;
    min-width: 0;
  }

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

  .alumni-home-hero__aside--media {
    margin-top: 0.5rem;
  }

  .alumni-home-hero__demo-scene,
  .alumni-home-hero__demo-scene.is-active {
    pointer-events: none !important;
  }

  .alumni-home-pillars__grid,
  .alumni-offices-pillars__grid,
  .alumni-offices-team__grid,
  .alumni-home-pathways__grid,
  .alumni-home-events__grid {
    grid-template-columns: 1fr;
  }

  .alumni-fstats-showcase {
    grid-template-columns: 1fr;
  }

  .alumni-fstats-metrics {
    grid-template-columns: 1fr;
  }

  .alumni-fstats-head__row {
    flex-direction: column;
    align-items: stretch;
  }

  .alumni-fstats-head__cta {
    width: 100%;
    justify-content: center;
  }

  .alumni-fstats-faculties__grid {
    grid-template-columns: 1fr;
  }

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

/* Convocation Excellence Awards */
.alumni-cea {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(85, 21, 22, 0.97) 0%, rgba(45, 12, 13, 0.98) 52%, rgba(15, 23, 42, 0.96) 100%);
  color: #fff;
}

.alumni-cea--banner {
  border-block: 1px solid rgba(212, 138, 25, 0.35);
}

.alumni-cea__inner {
  padding: clamp(2rem, 5vw, 3.25rem) clamp(1rem, 4vw, 2rem);
}

.alumni-cea__header {
  max-width: 760px;
  margin-bottom: 1.5rem;
}

.alumni-cea__eyebrow {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.alumni-cea h2 {
  margin: 0;
  font-size: clamp(2rem, 5vw, 3.2rem);
  line-height: 1.05;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.alumni-cea__kicker {
  margin: 0.35rem 0 0.85rem;
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  font-weight: 700;
  color: #f0b429;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.alumni-cea__intro,
.alumni-cea__banner-note {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.75;
  font-size: 1.02rem;
}

.alumni-cea__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 360px);
  gap: 1.25rem;
  align-items: start;
}

.alumni-cea__main {
  display: grid;
  gap: 1rem;
}

.alumni-cea-card {
  padding: 1.15rem 1.25rem;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.alumni-cea-card h3 {
  margin: 0 0 0.65rem;
  font-size: 1.05rem;
  color: #fff;
}

.alumni-cea-card p {
  margin: 0 0 0.55rem;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.65;
}

.alumni-cea-list {
  margin: 0;
  padding-left: 1.15rem;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.65;
}

.alumni-cea-list li + li {
  margin-top: 0.45rem;
}

.alumni-cea-list ul {
  margin: 0.45rem 0 0;
  padding-left: 1rem;
}

.alumni-cea-list--checks {
  list-style: none;
  padding-left: 0;
}

.alumni-cea-list--checks li {
  position: relative;
  padding-left: 1.35rem;
}

.alumni-cea-list--checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #f0b429;
  font-weight: 800;
}

.alumni-cea__aside {
  display: grid;
  gap: 1rem;
  padding: 1.15rem;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.14);
}

.alumni-cea-deadline {
  text-align: center;
  padding: 0.85rem 1rem;
  border-radius: 10px;
  background: rgba(240, 180, 41, 0.16);
  border: 1px solid rgba(240, 180, 41, 0.45);
}

.alumni-cea-deadline__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}

.alumni-cea-deadline__date {
  display: block;
  margin-top: 0.25rem;
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  line-height: 1.1;
}

.alumni-cea-qr {
  text-align: center;
}

.alumni-cea-qr img {
  width: 160px;
  height: 160px;
  border-radius: 10px;
  background: #fff;
  padding: 0.45rem;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22);
}

.alumni-cea-qr p {
  margin: 0.75rem 0 0;
  font-size: 0.88rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.alumni-cea-actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-cea-actions .btn {
  width: 100%;
  text-align: center;
}

.alumni-cea-more {
  display: inline-block;
  text-align: center;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none;
}

.alumni-cea-more:hover {
  color: #fff;
  text-decoration: underline;
}

.alumni-cea-contact {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

.alumni-cea-contact a {
  color: #fff;
  font-weight: 700;
}

.alumni-cea-quote {
  margin-top: 1.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.alumni-cea-quote blockquote {
  margin: 0;
  max-width: 720px;
}

.alumni-cea-quote p {
  margin: 0 0 0.75rem;
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
  line-height: 1.55;
  font-style: italic;
  color: rgba(255, 255, 255, 0.94);
}

.alumni-cea-quote cite {
  display: block;
  font-style: normal;
  font-size: 0.92rem;
  font-weight: 700;
  color: #f0b429;
}

.alumni-cea-quote cite span {
  display: block;
  margin-top: 0.2rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.78);
}

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

/* --- Our Alumni showcase ----------------------------------- */
.alumni-our-page {
  --alumni-our-hero: none;
  --our-ink: #2a1213;
  --our-maroon: #551516;
  --our-gold: #CB892C;
  --our-muted: #6a595a;
  --our-line: #e6ddd8;
  --our-paper: #faf7f4;
}

.alumni-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;
}

.alumni-our-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(22rem, 52vh, 30rem);
  display: flex;
  align-items: flex-end;
  color: #fff;
  background:
    linear-gradient(105deg, rgba(20, 5, 6, 0.92) 0%, rgba(85, 21, 22, 0.72) 55%, rgba(85, 21, 22, 0.45) 100%),
    var(--alumni-our-hero) center / cover no-repeat;
}

.alumni-our-hero__shade {
  position: absolute;
  inset: auto 0 0;
  height: 45%;
  background: linear-gradient(180deg, transparent, rgba(20, 5, 6, 0.55));
  pointer-events: none;
}

.alumni-our-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 46rem;
  padding: clamp(3rem, 8vw, 5.5rem) clamp(1rem, 4vw, 2rem) clamp(2.5rem, 5vw, 3.5rem);
  animation: alumni-our-fade-up 0.7s ease both;
}

.alumni-our-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.76rem;
  font-weight: 750;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--our-gold);
}

.alumni-our-hero h1 {
  margin: 0 0 0.9rem;
  font-size: clamp(2.4rem, 6vw, 4rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: #fff;
}

.alumni-our-hero__lead {
  margin: 0 0 1.6rem;
  max-width: 34rem;
  font-size: 1.08rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
}

.alumni-our-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-our-tabs {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(250, 247, 244, 0.94);
  border-bottom: 1px solid var(--our-line);
  backdrop-filter: blur(10px);
}

.alumni-our-tabs__inner {
  display: flex;
  gap: 0.15rem;
  overflow-x: auto;
  padding: 0.35rem clamp(1rem, 4vw, 2rem);
  scrollbar-width: thin;
}

.alumni-our-tab {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
  flex: 0 0 auto;
  padding: 0.9rem 1rem 0.85rem;
  text-decoration: none;
  color: var(--our-muted);
  border-bottom: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.alumni-our-tab__label {
  font-size: 0.92rem;
  font-weight: 650;
}

.alumni-our-tab__count {
  font-size: 0.78rem;
  font-weight: 700;
  color: #9a8586;
}

.alumni-our-tab:hover {
  color: var(--our-maroon);
}

.alumni-our-tab.is-active {
  color: var(--our-maroon);
  border-bottom-color: var(--our-gold);
}

.alumni-our-tab.is-active .alumni-our-tab__count {
  color: var(--our-gold);
}

.alumni-our-featured {
  background: #fff;
}

.alumni-our-featured__card {
  display: block;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  pointer-events: auto !important;
}

.alumni-our-featured__card.is-static {
  cursor: default;
}

.alumni-our-featured__layout {
  display: grid;
  grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.25rem);
  align-items: center;
}

.alumni-our-featured__media {
  position: relative;
  overflow: hidden;
  width: 100%;
  max-width: 240px;
  aspect-ratio: 1;
  border-radius: 0.35rem;
  background: #2a1213;
  animation: alumni-our-fade-up 0.75s ease both;
}

.alumni-our-featured__media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 28%;
  background: linear-gradient(180deg, transparent, rgba(20, 5, 6, 0.35));
  pointer-events: none;
}

.alumni-our-featured__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

a.alumni-our-featured__card:hover .alumni-our-featured__media img {
  transform: scale(1.03);
}

.alumni-our-featured__copy {
  animation: alumni-our-fade-up 0.8s ease 0.08s both;
}

.alumni-our-featured__cta {
  display: inline-flex;
  margin-top: 0.25rem;
  pointer-events: none;
}

.alumni-our-featured__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--our-gold);
}

.alumni-our-featured__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.85rem;
}

.alumni-our-featured__tags span,
.alumni-our-card__tags span {
  display: inline-flex;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(85, 21, 22, 0.14);
  background: rgba(85, 21, 22, 0.04);
  color: var(--our-maroon);
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.alumni-our-featured h2 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.7rem, 3.4vw, 2.45rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  color: var(--our-ink);
}

.alumni-our-featured h2 a {
  color: inherit;
  text-decoration: none;
}

.alumni-our-featured h2 a:hover {
  color: var(--our-maroon);
}

.alumni-our-featured__role {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  font-weight: 650;
  color: var(--our-maroon);
}

.alumni-our-featured__meta {
  margin: 0 0 1rem;
  color: var(--our-muted);
  font-size: 0.9rem;
}

.alumni-our-featured__summary {
  margin: 0 0 1.4rem;
  max-width: 38rem;
  color: #4d3f40;
  font-size: 0.98rem;
  line-height: 1.65;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alumni-our-directory.alt {
  background: var(--our-paper);
}

.alumni-our-directory__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.25rem 2rem;
  align-items: flex-end;
  margin-bottom: 1.75rem;
}

.alumni-our-directory__head h2 {
  margin: 0 0 0.4rem;
  font-size: clamp(1.55rem, 3vw, 2rem);
  color: var(--our-ink);
}

.alumni-our-directory__sub {
  margin: 0;
  max-width: 36rem;
  color: var(--our-muted);
  line-height: 1.6;
}

.alumni-our-directory__note {
  margin: 0;
  color: var(--our-muted);
}

.alumni-our-search {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.alumni-our-search input[type="search"] {
  min-width: min(100%, 16rem);
  min-height: 2.55rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--our-line);
  background: #fff;
  font: inherit;
  color: var(--our-ink);
}

.alumni-our-search input[type="search"]:focus {
  outline: 2px solid rgba(203, 137, 44, 0.45);
  outline-offset: 1px;
  border-color: rgba(85, 21, 22, 0.35);
}

.alumni-our-search__clear {
  color: var(--our-maroon);
  font-size: 0.88rem;
  font-weight: 650;
  text-decoration: none;
}

.alumni-our-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.alumni-our-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 0.85rem;
  align-items: center;
  padding: 0.7rem 0.85rem 0.7rem 0.7rem;
  background: #fff;
  border: 1px solid var(--our-line);
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  pointer-events: auto !important;
  animation: alumni-our-fade-up 0.55s ease both;
  animation-delay: var(--our-delay, 0s);
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

a.alumni-our-row:hover {
  border-color: rgba(85, 21, 22, 0.28);
  background: #fffdfb;
  transform: translateY(-1px);
}

a.alumni-our-row:hover .alumni-our-row__action {
  color: var(--our-maroon);
}

.alumni-our-row__photo {
  display: block;
  width: 72px;
  height: 72px;
  overflow: hidden;
  border-radius: 999px;
  background: #2a1213;
  flex: 0 0 auto;
}

.alumni-our-row__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-our-row__copy {
  display: grid;
  gap: 0.12rem;
  min-width: 0;
}

.alumni-our-row__tag {
  justify-self: start;
  margin-bottom: 0.1rem;
  padding: 0.12rem 0.45rem;
  border: 1px solid rgba(85, 21, 22, 0.12);
  background: rgba(85, 21, 22, 0.04);
  color: var(--our-maroon);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.alumni-our-row__name {
  font-size: 1rem;
  font-weight: 750;
  line-height: 1.25;
  color: var(--our-ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alumni-our-row__role {
  font-size: 0.86rem;
  font-weight: 600;
  color: var(--our-maroon);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.alumni-our-row__meta {
  font-size: 0.78rem;
  color: #8a7778;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.alumni-our-row__action {
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--our-gold);
}

.alumni-our-empty {
  padding: 2.5rem 1.5rem;
  border: 1px solid var(--our-line);
  background: #fff;
  text-align: center;
}

.alumni-our-empty h3 {
  margin: 0 0 0.65rem;
  color: var(--our-ink);
}

.alumni-our-empty p {
  margin: 0 auto 1.25rem;
  max-width: 34rem;
  color: var(--our-muted);
  line-height: 1.65;
}

.alumni-our-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: center;
}

.alumni-our-nominate {
  background:
    linear-gradient(180deg, rgba(33, 7, 8, 0.94), rgba(85, 21, 22, 0.98)),
    #551516;
  color: #fff;
}

.alumni-our-nominate__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, 320px);
  gap: 1.5rem;
  align-items: center;
  padding: clamp(2.5rem, 5vw, 3.75rem) clamp(1rem, 4vw, 2rem);
}

.alumni-our-nominate__eyebrow {
  margin: 0 0 0.55rem;
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--our-gold);
}

.alumni-our-nominate h2 {
  margin: 0 0 0.65rem;
  color: #fff;
  font-size: clamp(1.5rem, 3.2vw, 2.1rem);
  line-height: 1.2;
}

.alumni-our-nominate p {
  margin: 0;
  max-width: 40rem;
  color: rgba(255, 255, 255, 0.86);
  line-height: 1.7;
}

.alumni-our-nominate__actions {
  display: grid;
  gap: 0.65rem;
}

.alumni-our-nominate__actions .btn {
  width: 100%;
  text-align: center;
}

@keyframes alumni-our-fade-up {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 980px) {
  .alumni-our-featured__layout,
  .alumni-our-nominate__inner,
  .alumni-our-list {
    grid-template-columns: 1fr;
  }

  .alumni-our-featured__media {
    max-width: 200px;
  }
}

@media (max-width: 700px) {
  .alumni-our-directory__head {
    align-items: stretch;
  }

  .alumni-our-search {
    width: 100%;
  }

  .alumni-our-search input[type="search"] {
    flex: 1 1 auto;
    min-width: 0;
  }

  .alumni-our-row {
    grid-template-columns: 64px minmax(0, 1fr);
  }

  .alumni-our-row__photo {
    width: 64px;
    height: 64px;
  }

  .alumni-our-row__action {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alumni-our-hero__inner,
  .alumni-our-featured__media,
  .alumni-our-featured__copy,
  .alumni-our-row {
    animation: none;
  }

  a.alumni-our-row:hover,
  .alumni-our-featured__media:hover img {
    transform: none;
  }
}

/* ── Our Alumni full story ───────────────────────────────── */
.alumni-our-story-hero {
  position: relative;
  padding: 3.5rem 0 2.5rem;
  background:
    linear-gradient(160deg, rgba(8, 28, 48, 0.94), rgba(14, 58, 86, 0.88)),
    radial-gradient(circle at 85% 20%, rgba(212, 168, 67, 0.18), transparent 42%);
  color: #f7f3ea;
}

.alumni-our-story-hero__inner {
  max-width: 48rem;
  animation: alumni-our-fade-up 0.65s ease both;
}

.alumni-our-story-back {
  display: inline-block;
  margin-bottom: 1.25rem;
  color: rgba(247, 243, 234, 0.78);
  text-decoration: none;
  font-size: 0.92rem;
}

.alumni-our-story-back:hover {
  color: #f7f3ea;
}

.alumni-our-story-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
}

.alumni-our-story-tags span {
  display: inline-block;
  padding: 0.2rem 0.55rem;
  border: 1px solid rgba(247, 243, 234, 0.28);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(247, 243, 234, 0.9);
}

.alumni-our-story-hero h1 {
  margin: 0 0 0.65rem;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.1;
  color: #f7f3ea;
}

.alumni-our-story-role {
  margin: 0 0 0.35rem;
  font-size: 1.1rem;
  color: rgba(247, 243, 234, 0.92);
}

.alumni-our-story-meta {
  margin: 0;
  font-size: 0.95rem;
  color: rgba(247, 243, 234, 0.68);
}

.alumni-our-story-body__layout {
  display: grid;
  grid-template-columns: minmax(0, 17rem) minmax(0, 1fr);
  gap: 2.5rem;
  align-items: start;
}

.alumni-our-story-portrait {
  position: sticky;
  top: 5.5rem;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: #0e3a56;
}

.alumni-our-story-portrait img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-our-story-copy {
  max-width: 42rem;
  animation: alumni-our-fade-up 0.7s ease 0.05s both;
  color: #1f2a33;
}

.alumni-our-story-copy p {
  margin: 0 0 1.15rem;
  font-size: 1.08rem;
  line-height: 1.75;
  color: #1f2a33;
  opacity: 1;
  visibility: visible;
}

.alumni-our-story-copy p:last-child {
  margin-bottom: 0;
}

.alumni-our-story-missing {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.alumni-our-story-kicker {
  margin: 0 0 0.5rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
  color: #6b7280;
}

@media (max-width: 860px) {
  .alumni-our-story-body__layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .alumni-our-story-portrait {
    position: static;
    max-width: 18rem;
    margin: 0 auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alumni-our-story-hero__inner,
  .alumni-our-story-copy {
    animation: none;
  }
}


/* -- Sports & Recreation hub ------------------------------- */
.alumni-sports-page {
  --sports-ink: #0f2418;
  --sports-green: #1a4d2e;
  --sports-green-deep: #0d2e1a;
  --sports-gold: #d4a843;
  --sports-mist: #eef5f0;
  --sports-line: rgba(26, 77, 46, 0.14);
  color: var(--sports-ink);
  background:
    radial-gradient(circle at 8% 12%, rgba(212, 168, 67, 0.08), transparent 28%),
    linear-gradient(180deg, #f7faf8 0%, #fff 40%, var(--sports-mist) 100%);
}

.alumni-sports-hero {
  position: relative;
  min-height: clamp(26rem, 72vh, 38rem);
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  color: #fff;
  background: #0d2e1a;
}

.alumni-sports-hero__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #0d2e1a;
}

.alumni-sports-hero__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
  display: block;
  transform: scale(1.04);
  animation: alumni-sports-ken 22s ease-in-out infinite alternate;
}

.alumni-sports-hero__shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(105deg, rgba(8, 24, 16, 0.92) 0%, rgba(13, 46, 26, 0.72) 42%, rgba(8, 24, 16, 0.28) 72%, rgba(8, 24, 16, 0.55) 100%),
    linear-gradient(180deg, rgba(8, 24, 16, 0.15) 0%, transparent 35%, rgba(8, 24, 16, 0.72) 100%);
  pointer-events: none;
}

.alumni-sports-hero__grain {
  position: absolute;
  inset: 0;
  z-index: 1;
  opacity: 0.18;
  pointer-events: none;
  background-image: radial-gradient(rgba(255, 255, 255, 0.35) 0.6px, transparent 0.7px);
  background-size: 3px 3px;
  mix-blend-mode: soft-light;
}

.alumni-sports-hero__inner {
  position: relative;
  z-index: 2;
  max-width: 42rem;
  padding: clamp(3.5rem, 10vw, 6.5rem) 0 clamp(2.6rem, 6vw, 3.8rem);
  animation: alumni-sports-rise 0.75s ease both;
}

.alumni-sports-hero__brand {
  margin: 0 0 0.9rem;
  font-size: clamp(1.55rem, 3.6vw, 2.25rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.alumni-sports-hero__brand::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3px;
  margin-top: 0.7rem;
  background: var(--sports-gold);
}

.alumni-sports-hero h1 {
  margin: 0 0 0.9rem;
  font-size: clamp(2.55rem, 6.5vw, 4.35rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
  color: #fff;
  text-shadow: 0 3px 24px rgba(0, 0, 0, 0.35);
}

.alumni-sports-hero__lead {
  margin: 0 0 1.65rem;
  max-width: 34rem;
  font-size: 1.12rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
}

.alumni-sports-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.alumni-sports-codes {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(247, 250, 248, 0.92);
  border-bottom: 1px solid var(--sports-line);
  backdrop-filter: blur(10px);
}

.alumni-sports-codes__inner {
  display: flex;
  gap: 0.4rem;
  overflow-x: auto;
  padding: 0.7rem 0;
  scrollbar-width: thin;
}

.alumni-sports-code {
  flex: 0 0 auto;
  border: 1px solid var(--sports-line);
  background: #fff;
  color: var(--sports-green);
  padding: 0.45rem 0.9rem;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.alumni-sports-code:hover,
.alumni-sports-code.is-active {
  background: var(--sports-green);
  border-color: var(--sports-green);
  color: #fff;
}

.alumni-sports-news {
  padding: clamp(2.5rem, 5vw, 3.75rem) 0;
  background:
    linear-gradient(180deg, #10281a 0%, #163524 55%, #1a4d2e 100%);
  color: #f3f7f4;
}

.alumni-sports-news__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.5rem;
}

.alumni-sports-news__head h2 {
  margin: 0 0 0.35rem;
  font-size: clamp(1.7rem, 3vw, 2.2rem);
  letter-spacing: -0.02em;
}

.alumni-sports-news__head p {
  margin: 0;
  max-width: 36rem;
  color: #4a5d52;
}

.alumni-sports-desk-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  align-items: end;
  margin-bottom: 1.75rem;
  padding-bottom: 1.15rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.alumni-sports-desk-head__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--sports-gold);
}

.alumni-sports-desk-head h2 {
  margin: 0 0 0.4rem;
  font-size: clamp(2rem, 4vw, 2.75rem);
  letter-spacing: -0.03em;
  color: #fff;
}

.alumni-sports-desk-head p {
  margin: 0;
  max-width: 34rem;
  color: rgba(243, 247, 244, 0.78);
}

.alumni-sports-desk-head__link {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  padding-bottom: 0.1rem;
}

.alumni-sports-desk-head__link:hover {
  border-bottom-color: var(--sports-gold);
  color: var(--sports-gold);
}

.alumni-sports-desk {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.9fr);
  gap: 1.15rem;
  align-items: stretch;
}

.alumni-sports-lead {
  position: relative;
  display: grid;
  min-height: 28rem;
  text-decoration: none;
  color: #fff;
  overflow: hidden;
  isolation: isolate;
  animation: alumni-sports-rise 0.65s ease both;
}

.alumni-sports-lead__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #0a1f13;
}

.alumni-sports-lead__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transform: scale(1.03);
  transition: transform 0.7s ease;
}

.alumni-sports-lead::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(8, 24, 16, 0.18) 0%, rgba(8, 24, 16, 0.35) 35%, rgba(8, 24, 16, 0.92) 100%),
    linear-gradient(90deg, rgba(8, 24, 16, 0.55) 0%, transparent 55%);
  pointer-events: none;
}

.alumni-sports-lead:hover .alumni-sports-lead__media img {
  transform: scale(1.08);
}

.alumni-sports-lead__copy {
  position: relative;
  z-index: 2;
  align-self: end;
  display: grid;
  gap: 0.7rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  max-width: 36rem;
}

.alumni-sports-lead__kicker {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  width: fit-content;
  font-size: 0.74rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sports-gold);
}

.alumni-sports-lead__live {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #ef4444;
  box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55);
  animation: alumni-sports-pulse 1.6s ease infinite;
}

.alumni-sports-lead__title {
  font-size: clamp(1.55rem, 3.2vw, 2.35rem);
  font-weight: 800;
  line-height: 1.12;
  letter-spacing: -0.03em;
  color: #fff;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.alumni-sports-lead__text {
  color: rgba(243, 247, 244, 0.88);
  line-height: 1.55;
  font-size: 1.02rem;
}

.alumni-sports-lead__foot {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
  margin-top: 0.25rem;
}

.alumni-sports-lead__meta {
  font-size: 0.86rem;
  color: rgba(243, 247, 244, 0.7);
}

.alumni-sports-lead__cta {
  font-size: 0.92rem;
  font-weight: 750;
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
  padding-bottom: 0.05rem;
}

.alumni-sports-lead:hover .alumni-sports-lead__cta {
  border-bottom-color: var(--sports-gold);
  color: var(--sports-gold);
}

.alumni-sports-rail {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  background: rgba(8, 24, 16, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.1);
  padding: 1rem 0.9rem 0.9rem;
}

.alumni-sports-rail__label {
  margin: 0 0 0.85rem;
  padding: 0 0.25rem;
  font-size: 0.72rem;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(243, 247, 244, 0.65);
}

.alumni-sports-feed {
  display: grid;
  gap: 0.55rem;
  flex: 1;
}

.alumni-sports-item {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0.55rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid transparent;
  text-decoration: none;
  color: #f3f7f4;
  animation: alumni-sports-rise 0.55s ease both;
  animation-delay: calc(var(--desk-i, 0) * 0.05s);
  transition: border-color 0.2s ease, background 0.2s ease;
}

.alumni-sports-item:hover {
  border-color: rgba(212, 168, 67, 0.35);
  background: rgba(255, 255, 255, 0.08);
}

.alumni-sports-item__media {
  display: block;
  width: 88px;
  height: 88px;
  overflow: hidden;
  background: #0a1f13;
}

.alumni-sports-item__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.alumni-sports-item__copy {
  display: grid;
  gap: 0.22rem;
  align-content: center;
  min-width: 0;
}

.alumni-sports-item__tag {
  display: inline-flex;
  width: fit-content;
  font-size: 0.68rem;
  font-weight: 750;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--sports-gold);
}

.alumni-sports-item__title {
  font-weight: 750;
  line-height: 1.25;
  color: #fff;
}

.alumni-sports-item__text {
  color: rgba(243, 247, 244, 0.72);
  line-height: 1.45;
  font-size: 0.9rem;
}

.alumni-sports-item__more {
  font-size: 0.84rem;
  font-weight: 750;
  color: rgba(243, 247, 244, 0.9);
}

.alumni-sports-news .alumni-sports-filter-empty {
  color: rgba(243, 247, 244, 0.75);
}

.alumni-sports-news .alumni-sports-empty {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(8, 24, 16, 0.35);
  color: #f3f7f4;
}

.alumni-sports-news .alumni-sports-empty p {
  color: rgba(243, 247, 244, 0.78);
}

@keyframes alumni-sports-pulse {
  0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55); }
  70% { box-shadow: 0 0 0 8px rgba(239, 68, 68, 0); }
  100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
}

.alumni-sports-fixtures {
  display: grid;
  gap: 0.75rem;
}

.alumni-sports-fixture {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 1.1rem;
  background: #fff;
  border: 1px solid var(--sports-line);
  animation: alumni-sports-rise 0.55s ease both;
}

.alumni-sports-fixture__when {
  display: grid;
  place-content: center;
  text-align: center;
  background: var(--sports-green);
  color: #fff;
  min-height: 88px;
}

.alumni-sports-fixture__day {
  font-size: 1.8rem;
  font-weight: 800;
  line-height: 1;
}

.alumni-sports-fixture__month {
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.9;
}

.alumni-sports-fixture__body h3 {
  margin: 0 0 0.35rem;
  font-size: 1.15rem;
}

.alumni-sports-fixture__meta,
.alumni-sports-fixture__body p {
  margin: 0 0 0.4rem;
  color: #44574c;
}

.alumni-sports-fixture__where {
  font-weight: 650;
  color: var(--sports-ink) !important;
}

.alumni-sports-fixture__where span {
  display: inline-block;
  margin-right: 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--sports-green);
}

.alumni-sports-people {
  background: #fff;
}

.alumni-sports-people__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.alumni-sports-person {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding: 0.65rem 0.8rem;
  border: 1px solid var(--sports-line);
  text-decoration: none;
  color: inherit;
  transition: border-color 0.2s ease, transform 0.2s ease;
}

.alumni-sports-person:hover {
  border-color: rgba(26, 77, 46, 0.35);
  transform: translateY(-1px);
}

.alumni-sports-person img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 999px;
  background: var(--sports-green-deep);
}

.alumni-sports-person strong {
  display: block;
  font-size: 1rem;
}

.alumni-sports-person em {
  display: block;
  margin-top: 0.15rem;
  font-style: normal;
  font-size: 0.88rem;
  color: #567062;
}

.alumni-sports-person__go {
  font-size: 0.84rem;
  font-weight: 750;
  color: var(--sports-green);
}

.alumni-sports-empty {
  padding: 1.5rem;
  border: 1px solid var(--sports-line);
  background: rgba(26, 77, 46, 0.04);
}

.alumni-sports-empty h3 {
  margin: 0 0 0.45rem;
}

.alumni-sports-empty p {
  margin: 0 0 1rem;
  max-width: 38rem;
  color: #44574c;
}

.alumni-sports-filter-empty {
  margin: 1rem 0 0;
  color: #567062;
}

.alumni-sports-cta {
  background:
    linear-gradient(120deg, var(--sports-green-deep), var(--sports-green)),
    radial-gradient(circle at 90% 20%, rgba(212, 168, 67, 0.25), transparent 40%);
  color: #fff;
  padding: clamp(2.5rem, 5vw, 3.5rem) 0;
}

.alumni-sports-cta__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.25rem;
  align-items: center;
}

.alumni-sports-cta h2 {
  margin: 0 0 0.45rem;
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.1rem);
}

.alumni-sports-cta p {
  margin: 0;
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.88);
}

.alumni-sports-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

@keyframes alumni-sports-rise {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

@keyframes alumni-sports-ken {
  from { transform: scale(1.02); }
  to { transform: scale(1.08); }
}

@media (max-width: 960px) {
  .alumni-sports-desk,
  .alumni-sports-people__list {
    grid-template-columns: 1fr;
  }

  .alumni-sports-lead {
    min-height: 22rem;
  }
}

@media (max-width: 700px) {
  .alumni-sports-fixture {
    grid-template-columns: 72px minmax(0, 1fr);
  }

  .alumni-sports-item {
    grid-template-columns: 76px minmax(0, 1fr);
  }

  .alumni-sports-item__media {
    width: 76px;
    height: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .alumni-sports-hero__photo,
  .alumni-sports-hero__inner,
  .alumni-sports-lead,
  .alumni-sports-item,
  .alumni-sports-fixture {
    animation: none;
  }

  .alumni-sports-lead:hover,
  .alumni-sports-person:hover,
  .alumni-sports-lead:hover .alumni-sports-lead__media img,
  .alumni-sports-hero__photo {
    transform: none;
  }
}

/* Broken content photos swap to a person-style placeholder */
img.is-person-image-fallback {
  object-fit: cover;
  object-position: center 18%;
  background: #0e3a56;
}

/* ─── GATE Roadshow hero slideshow ─────────────────────────── */
.roadshow-hero {
  --roadshow-burgundy: #551516;
  --roadshow-gold: #cb892c;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  min-height: min(56vh, 580px);
  background: #1a0607;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Photos stay behind all copy/controls (!important beats interaction-guard [class*="-hero"]) */
.roadshow-hero__stage,
.roadshow-hero__slide,
.roadshow-hero__photo,
.roadshow-hero__shade,
.roadshow-hero__vignette {
  position: absolute !important;
  inset: 0 !important;
}

.roadshow-hero__stage {
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.roadshow-hero__ui {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 0 auto;
  width: 100%;
  gap: 0;
  pointer-events: none;
}

.roadshow-hero__ui a,
.roadshow-hero__ui button {
  pointer-events: auto;
}

.roadshow-hero__slide {
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1s ease, visibility 1s ease;
  background: #1a0607;
  overflow: hidden;
  z-index: 0;
}

.roadshow-hero__slide.is-active {
  opacity: 1;
  visibility: visible;
  z-index: 1;
}

.roadshow-hero__photo {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover;
  object-position: center 40%;
  display: block;
  transform: scale(1.08);
  transition: transform 9s ease-out;
  filter: saturate(1.05) contrast(1.04);
  pointer-events: none;
  z-index: 0;
}

.roadshow-hero__slide.is-active .roadshow-hero__photo {
  transform: scale(1);
}

.roadshow-hero__shade {
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(18, 4, 5, 0.88) 0%, rgba(18, 4, 5, 0.55) 42%, rgba(18, 4, 5, 0.18) 68%, rgba(18, 4, 5, 0.08) 100%),
    linear-gradient(180deg, rgba(18, 4, 5, 0.82) 0%, rgba(18, 4, 5, 0.35) 32%, transparent 58%, rgba(18, 4, 5, 0.55) 100%);
}

.roadshow-hero__vignette {
  z-index: 3;
  pointer-events: none;
  box-shadow: inset 0 0 120px rgba(0, 0, 0, 0.35);
}

.roadshow-hero__frame {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(240px, 360px);
  gap: clamp(1.25rem, 4vw, 3rem);
  align-items: start;
  padding: clamp(1.15rem, 3vw, 1.85rem) clamp(1rem, 4vw, 2rem) 0.75rem;
}

.roadshow-hero__brand {
  margin: 0 0 0.35rem;
  font-size: clamp(1.85rem, 4.5vw, 3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.05;
  color: #fff;
  opacity: 1;
  text-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
  animation: roadshow-rise 0.7s ease both;
}

.roadshow-hero__eyebrow {
  margin: 0 0 0.85rem;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--roadshow-gold);
  opacity: 1;
  animation: roadshow-rise 0.7s ease 0.08s both;
}

.roadshow-hero h1 {
  margin: 0 0 0.9rem;
  font-size: clamp(2.35rem, 5.8vw, 4.1rem);
  line-height: 0.98;
  letter-spacing: -0.03em;
  color: #fff;
  max-width: 11ch;
  opacity: 1;
  animation: roadshow-rise 0.7s ease 0.14s both;
}

.roadshow-hero__lead {
  margin: 0 0 1.5rem;
  max-width: 32rem;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  opacity: 1;
  animation: roadshow-rise 0.7s ease 0.2s both;
}

.roadshow-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
  opacity: 1;
  animation: roadshow-rise 0.7s ease 0.28s both;
}

.roadshow-hero__actions .btn-ghost {
  border-color: rgba(255, 255, 255, 0.45);
  color: #fff;
}

.roadshow-hero__actions .btn-ghost:hover {
  background: rgba(255, 255, 255, 0.12);
}

.roadshow-hero__story {
  justify-self: end;
  width: 100%;
  max-width: 22rem;
  padding: 1.15rem 1.2rem 1.2rem;
  border-left: 3px solid var(--roadshow-gold);
  background: linear-gradient(135deg, rgba(0, 0, 0, 0.28), rgba(85, 21, 22, 0.18));
  backdrop-filter: blur(8px);
  opacity: 1;
  animation: roadshow-rise 0.7s ease 0.24s both;
}

.roadshow-hero__story-panel span {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--roadshow-gold);
}

.roadshow-hero__story-panel strong {
  display: block;
  margin: 0 0 0.45rem;
  font-size: 1.2rem;
  line-height: 1.25;
  color: #fff;
}

.roadshow-hero__story-panel p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.roadshow-hero__story-panel {
  animation: roadshow-rise 0.4s ease;
}

.roadshow-hero__dock {
  position: relative;
  margin-top: 0.35rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(10, 2, 3, 0.55);
  backdrop-filter: blur(12px);
  pointer-events: auto;
}

.roadshow-hero__dock-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.85rem 1.25rem;
  padding: 0.85rem clamp(1rem, 4vw, 2rem);
}

.roadshow-hero__route {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.4rem;
  flex: 1 1 28rem;
  min-width: 0;
}

.roadshow-hero__stop {
  appearance: none;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 0.55rem;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  padding: 0.55rem 0.65rem;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  font: inherit;
}

.roadshow-hero__stop:hover,
.roadshow-hero__stop:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  outline: none;
  color: #fff;
}

.roadshow-hero__stop.is-active {
  background: rgba(203, 137, 44, 0.16);
  border-color: rgba(203, 137, 44, 0.55);
  color: #fff;
}

.roadshow-hero__stop-label {
  display: block;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.25;
}

.roadshow-hero__stop-meta {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.7rem;
  color: rgba(255, 255, 255, 0.62);
}

.roadshow-hero__controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
}

.roadshow-hero__nav,
.roadshow-hero__pause,
.roadshow-hero__dot {
  font: inherit;
  cursor: pointer;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.roadshow-hero__nav,
.roadshow-hero__pause {
  border-radius: 999px;
  padding: 0.4rem 0.8rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.roadshow-hero__nav {
  width: 2.15rem;
  height: 2.15rem;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1;
}

.roadshow-hero__nav:hover,
.roadshow-hero__pause:hover,
.roadshow-hero__nav:focus-visible,
.roadshow-hero__pause:focus-visible,
.roadshow-hero__dot:focus-visible {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.5);
  outline: none;
}

.roadshow-hero__dots {
  display: flex;
  gap: 0.35rem;
  align-items: center;
}

.roadshow-hero__dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  padding: 0;
}

.roadshow-hero__dot.is-active {
  width: 1.4rem;
  background: var(--roadshow-gold);
  border-color: var(--roadshow-gold);
}

.roadshow-hero__progress {
  height: 3px;
  background: rgba(255, 255, 255, 0.08);
}

.roadshow-hero__progress span {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #cb892c, #f0c27a);
}

.roadshow-hero.is-paused .roadshow-hero__photo {
  transition: none;
}

.roadshow-hero-follow {
  padding-top: 0.85rem;
  padding-bottom: 1.15rem;
}

.roadshow-hero-follow__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  align-items: center;
}

.roadshow-hero-follow h2 {
  margin: 0 0 0.3rem;
  font-size: 1.2rem;
}

.roadshow-hero-follow p {
  margin: 0;
  color: var(--muted, #666);
  max-width: 36rem;
  line-height: 1.5;
}

.roadshow-hero-follow__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

@keyframes roadshow-rise {
  from { transform: translateY(16px); }
  to { transform: translateY(0); }
}

@media (max-width: 960px) {
  .roadshow-hero {
    min-height: auto;
  }

  .roadshow-hero__frame {
    grid-template-columns: 1fr;
    padding-top: clamp(1.15rem, 5vw, 1.75rem);
    padding-bottom: 1.1rem;
  }

  .roadshow-hero h1 {
    max-width: none;
  }

  .roadshow-hero__story {
    justify-self: stretch;
    max-width: none;
  }

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

@media (max-width: 560px) {
  .roadshow-hero__route {
    grid-template-columns: 1fr 1fr;
  }

  .roadshow-hero__dock-inner {
    padding-top: 0.7rem;
    padding-bottom: 0.7rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .roadshow-hero__slide,
  .roadshow-hero__photo,
  .roadshow-hero__story-panel,
  .roadshow-hero__brand,
  .roadshow-hero__eyebrow,
  .roadshow-hero h1,
  .roadshow-hero__lead,
  .roadshow-hero__actions,
  .roadshow-hero__story {
    animation: none !important;
    transition: opacity 0.2s ease !important;
    transform: none !important;
  }

  .roadshow-hero__progress span {
    transition: none !important;
  }
}

/* Education Tree · Entrepreneurship Skills Training promo */
.edu-tree-promo {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.edu-tree-promo__card {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.2fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(85, 21, 22, 0.12);
  background:
    linear-gradient(135deg, rgba(85, 21, 22, 0.04), rgba(203, 137, 44, 0.08)),
    #fff;
  box-shadow: 0 14px 36px rgba(26, 26, 46, 0.08);
}

.edu-tree-promo__media {
  position: relative;
  min-height: 240px;
  background: #1a1a2e;
}

.edu-tree-promo__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.edu-tree-promo__badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  padding: 0.35rem 0.7rem;
  background: #551516;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.edu-tree-promo__body {
  padding: clamp(1.25rem, 3vw, 2rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.65rem;
}

.edu-tree-promo__eyebrow {
  margin: 0;
  color: #cb892c;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.edu-tree-promo__body h2 {
  margin: 0;
  color: #551516;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  line-height: 1.2;
}

.edu-tree-promo__lead {
  margin: 0;
  color: #444;
  line-height: 1.55;
  max-width: 38rem;
}

.edu-tree-promo__meta {
  list-style: none;
  margin: 0.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.edu-tree-promo__meta li {
  display: grid;
  grid-template-columns: 4.5rem 1fr;
  gap: 0.5rem;
  font-size: 0.92rem;
  color: #1a1a2e;
}

.edu-tree-promo__meta span {
  color: #71717a;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  align-self: center;
}

.edu-tree-promo__tagline {
  margin: 0.15rem 0 0;
  color: #551516;
  font-weight: 600;
  font-style: italic;
}

.edu-tree-promo__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: 0.35rem;
}

@media (max-width: 860px) {
  .edu-tree-promo__card {
    grid-template-columns: 1fr;
  }

  .edu-tree-promo__media {
    min-height: 200px;
    max-height: 260px;
  }
}
