

:root {
  --background: #ffffff;
  --foreground: #101828;
  --brand-950: #052a5f;
  --brand-900: #073b82;
  --brand-800: #0b4fac;
  --brand-700: #135fc4;
  --brand-600: #2474d5;
  --brand-100: #dbeafe;
  --brand-50: #f1f7ff;
  --gold-700: #a56c08;
  --gold-600: #c7890d;
  --gold-500: #dfa313;
  --gold-400: #f2bd32;
  --gold-300: #ffd96e;
  --gold-100: #fff3c9;
  --gold-50: #fffaf0;
  --ink: #111827;
  --cream: #fbf8ef;
  --footer: #041d40;
}



* {
  box-sizing: border-box;
}

html {
  background: var(--background);
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  background: var(--background);
  color: var(--foreground);
  font-family:
    Inter, "Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system,
    BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-rendering: optimizeLegibility;
}

::selection {
  background: var(--gold-300);
  color: var(--brand-950);
}

button,
input,
textarea,
select {
  font: inherit;
}

button,
summary,
a {
  -webkit-tap-highlight-color: transparent;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
svg {
  display: block;
}

:focus-visible {
  outline: 3px solid rgba(19, 95, 196, 0.28);
  outline-offset: 3px;
}

.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;
}

.site-container {
  width: min(100%, 1440px);
  margin-inline: auto;
}

.section-space {
  padding-block: clamp(4.75rem, 8vw, 8rem);
}

.section-kicker {
  margin: 0;
  font-size: 0.68rem;
  line-height: 1.4;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.section-title {
  max-width: 760px;
  margin-top: 0.75rem;
  font-size: clamp(2rem, 3.5vw, 3.65rem);
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: -0.045em;
}

.section-description {
  max-width: 680px;
  margin-top: 1.2rem;
  font-size: clamp(0.9rem, 1.2vw, 1rem);
  line-height: 1.8;
}

.announcement-bar {
  position: relative;
  z-index: 70;
  background: linear-gradient(90deg, var(--brand-950), var(--brand-800));
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 60;
  border-bottom: 1px solid rgba(5, 42, 95, 0.08);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 10px 35px rgba(5, 42, 95, 0.04);
  backdrop-filter: blur(18px);
}

.brand-lockup {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 0.75rem;
}

.brand-overline {
  font-size: 0.58rem;
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.16em;
  color: var(--brand-700);
  text-transform: uppercase;
}

.brand-title {
  margin-top: 0.2rem;
  overflow: hidden;
  font-size: clamp(0.9rem, 1.5vw, 1.08rem);
  line-height: 1.1;
  font-weight: 900;
  letter-spacing: -0.025em;
  color: var(--brand-950);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.brand-location {
  margin-top: 0.18rem;
  font-size: 0.56rem;
  font-weight: 600;
  color: #64748b;
}

.nav-link {
  position: relative;
  padding: 0.8rem 0.72rem;
  font-size: 0.76rem;
  font-weight: 700;
  color: #475569;
  transition: color 180ms ease;
}

.nav-link::after {
  position: absolute;
  right: 0.7rem;
  bottom: 0.28rem;
  left: 0.7rem;
  height: 2px;
  border-radius: 999px;
  background: var(--gold-400);
  content: "";
  opacity: 0;
  transform: scaleX(0.5);
  transition: opacity 180ms ease, transform 180ms ease;
}

.nav-link:hover,
.nav-link-active {
  color: var(--brand-950);
}

.nav-link:hover::after,
.nav-link-active::after {
  opacity: 1;
  transform: scaleX(1);
}

.header-cta,
.button-primary,
.button-secondary,
.button-outline,
.button-light {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  border-radius: 0.6rem;
  padding: 0.75rem 1.15rem;
  font-size: 0.76rem;
  font-weight: 800;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease,
    border-color 180ms ease, color 180ms ease;
}

.header-cta,
.button-primary {
  border: 1px solid var(--brand-950);
  background: var(--brand-950);
  color: white;
  box-shadow: 0 12px 25px rgba(5, 42, 95, 0.16);
}

.header-cta:hover,
.button-primary:hover {
  background: var(--brand-800);
  box-shadow: 0 16px 32px rgba(5, 42, 95, 0.22);
  transform: translateY(-2px);
}

.button-secondary {
  border: 1px solid var(--gold-400);
  background: var(--gold-400);
  color: var(--brand-950);
  box-shadow: 0 12px 24px rgba(223, 163, 19, 0.16);
}

.button-secondary:hover {
  background: var(--gold-300);
  transform: translateY(-2px);
}

.button-outline {
  border: 1px solid rgba(5, 42, 95, 0.16);
  background: white;
  color: var(--brand-950);
}

.button-outline:hover {
  border-color: var(--brand-700);
  box-shadow: 0 12px 25px rgba(5, 42, 95, 0.08);
  transform: translateY(-2px);
}

.button-light {
  border: 1px solid white;
  background: white;
  color: var(--brand-950);
}

.button-light:hover {
  background: var(--gold-100);
  border-color: var(--gold-100);
  transform: translateY(-2px);
}

.mobile-menu-button {
  display: inline-flex;
  height: 42px;
  width: 42px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(5, 42, 95, 0.12);
  border-radius: 0.75rem;
  background: white;
  color: var(--brand-950);
}

.mobile-nav-overlay {
  position: fixed;
  inset: 0;
  z-index: 80;
  visibility: hidden;
  background: rgba(2, 17, 39, 0.4);
  opacity: 0;
  transition: opacity 220ms ease, visibility 220ms ease;
}

.mobile-nav-overlay-open {
  visibility: visible;
  opacity: 1;
}

.mobile-nav-panel {
  display: flex;
  height: 100%;
  width: min(88vw, 360px);
  flex-direction: column;
  margin-left: auto;
  background: white;
  box-shadow: -25px 0 60px rgba(2, 17, 39, 0.18);
  transform: translateX(100%);
  transition: transform 260ms ease;
}

.mobile-nav-panel-open {
  transform: translateX(0);
}

.mobile-nav-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-radius: 0.8rem;
  padding: 0.9rem 1rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #475569;
}

.mobile-nav-link-active {
  background: var(--brand-50);
  color: var(--brand-950);
}

.home-hero {
  position: relative;
  z-index: 2;
  overflow: visible;
  isolation: isolate;
  background: #f7f9fc;
}

.home-hero-background {
  position: absolute;
  inset: 0;
  z-index: -3;
  overflow: hidden;
}

.home-hero-background-image {
  height: 100%;
  width: 100%;
  object-fit: cover;
  object-position: 72% center;
}

.home-hero-background-mobile {
  display: none;
}

.home-hero-fade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.98) 30%, rgba(255, 255, 255, 0.78) 47%, rgba(255, 255, 255, 0.13) 72%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.02) 55%, rgba(255, 255, 255, 0.78) 100%);
}

.home-hero::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: radial-gradient(rgba(5, 42, 95, 0.055) 1px, transparent 1px);
  background-size: 26px 26px;
  content: "";
  mask-image: linear-gradient(to right, black, transparent 56%);
}

.home-hero-content {
  display: flex;
  min-height: 650px;
  align-items: center;
  padding-block: 3.5rem 7rem;
}

.hero-ornament {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(223, 163, 19, 0.16);
  border-radius: 36%;
  transform: rotate(45deg);
}

.hero-ornament::before,
.hero-ornament::after {
  position: absolute;
  inset: 18%;
  border: inherit;
  border-radius: inherit;
  content: "";
}

.hero-ornament::after {
  inset: 36%;
}

.hero-ornament-left {
  top: 8%;
  left: -110px;
  height: 260px;
  width: 260px;
}

.hero-ornament-right {
  right: -130px;
  bottom: -100px;
  height: 310px;
  width: 310px;
}

.hero-kicker {
  display: inline-flex;
  border-radius: 0.65rem;
  background: var(--gold-100);
  padding: 0.5rem 0.78rem;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--gold-700);
  text-transform: uppercase;
}

.hero-title {
  max-width: 680px;
  margin-top: 1.15rem;
  font-size: clamp(2.75rem, 5vw, 5.1rem);
  line-height: 1.02;
  font-weight: 950;
  letter-spacing: -0.055em;
  color: var(--brand-950);
  text-wrap: balance;
}

.hero-title span,
.hero-title strong {
  display: block;
}

.hero-title strong {
  margin-top: 0.08em;
  color: var(--gold-500);
  font: inherit;
}

.hero-description {
  max-width: 570px;
  margin-top: 1.35rem;
  font-size: clamp(0.94rem, 1.3vw, 1.05rem);
  line-height: 1.78;
  color: #536176;
}

.home-hero-secondary-button {
  border-color: rgba(5, 42, 95, 0.34);
  background: rgba(255, 255, 255, 0.86);
  backdrop-filter: blur(8px);
}

.hero-avatar-stack {
  display: flex;
  min-width: 88px;
}

.hero-avatar {
  height: 36px;
  width: 36px;
  overflow: hidden;
  border: 3px solid white;
  border-radius: 999px;
  background: #dbe3ec;
  box-shadow: 0 5px 12px rgba(5, 42, 95, 0.1);
}

.hero-avatar + .hero-avatar {
  margin-left: -10px;
}

.hero-feature-strip {
  position: relative;
  z-index: 20;
  display: grid;
  margin-top: -58px;
  margin-bottom: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(5, 42, 95, 0.08);
  border-radius: 1.15rem;
  background: rgba(255, 255, 255, 0.98);
  box-shadow: 0 24px 55px rgba(5, 42, 95, 0.13);
  transform: none;
  backdrop-filter: blur(16px);
}

.hero-feature {
  display: flex;
  min-height: 116px;
  align-items: center;
  gap: 0.9rem;
  padding: 1.25rem;
}

.hero-feature + .hero-feature {
  border-left: 1px solid rgba(5, 42, 95, 0.08);
}

.hero-feature-icon {
  display: flex;
  height: 48px;
  width: 48px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 0.85rem;
  background: #e9f2ff;
  color: #0c63ce;
}

.hero-feature-icon-2 {
  background: var(--gold-100);
  color: var(--gold-700);
}

.hero-feature-icon-3 {
  background: #e7f7eb;
  color: #268c45;
}

.hero-feature-icon-4 {
  background: #e8f3ff;
  color: #1d6fca;
}


.home-about-section {
  position: relative;
  z-index: 1;
  padding-top: clamp(5rem, 7vw, 7rem);
}

.home-about-grid {
  display: grid;
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.home-about-copy {
  min-width: 0;
}

.home-about-stats {
  display: grid;
  margin-top: 2rem;
  gap: 1rem;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-about-stat {
  display: flex;
  min-width: 0;
  flex-direction: column;
}

.home-about-stat-icon {
  display: flex;
  height: 38px;
  width: 38px;
  align-items: center;
  justify-content: center;
  border-radius: 0.8rem;
  background: var(--brand-50);
  color: var(--brand-800);
}

.home-about-stat strong {
  margin-top: 0.65rem;
  font-size: clamp(1.35rem, 2.3vw, 2.15rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.05em;
  color: var(--brand-950);
}

.home-about-stat > span:last-child {
  margin-top: 0.35rem;
  font-size: 0.68rem;
  line-height: 1.45;
  color: #64748b;
}

.home-about-media {
  display: grid;
  min-height: 440px;
  gap: 0.75rem;
  grid-template-columns: minmax(0, 1.65fr) minmax(140px, 0.85fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
}

.home-about-media-primary,
.home-about-media-secondary,
.home-about-media-tertiary {
  overflow: hidden;
  border-radius: 1rem;
  background: #e2e8f0;
  box-shadow: 0 16px 36px rgba(5, 42, 95, 0.08);
}

.home-about-media-primary {
  grid-row: 1 / 3;
}

.home-about-media-secondary {
  grid-column: 2;
  grid-row: 1;
}

.home-about-media-tertiary {
  grid-column: 2;
  grid-row: 2;
}

.admin-primary-action {
  color: #ffffff !important;
}

.admin-settings-jump {
  position: sticky;
  top: 5.5rem;
  z-index: 15;
  display: flex;
  max-width: 100%;
  gap: 0.5rem;
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.94);
  padding: 0.65rem;
  box-shadow: 0 12px 30px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(14px);
  scrollbar-width: thin;
}

.admin-settings-jump-link {
  flex: 0 0 auto;
  border-radius: 0.75rem;
  padding: 0.7rem 0.9rem;
  font-size: 0.75rem;
  font-weight: 700;
  color: #475569;
  transition: background-color 180ms ease, color 180ms ease;
}

.admin-settings-jump-link:hover,
.admin-settings-jump-link:focus-visible {
  background: #eff6ff;
  color: var(--brand-950);
}
.about-media-grid {
  position: relative;
  min-height: 550px;
}

.about-media-large {
  position: absolute;
  top: 0;
  right: 0;
  height: 82%;
  width: 72%;
  overflow: hidden;
  border-radius: 1rem 3rem 1rem 3rem;
  background: #e2e8f0;
  box-shadow: 0 28px 55px rgba(5, 42, 95, 0.12);
}

.about-media-small {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 3;
  height: 48%;
  width: 53%;
  overflow: hidden;
  border: 8px solid white;
  border-radius: 2.2rem 0.8rem 2.2rem 2.2rem;
  background: #dbe3ec;
  box-shadow: 0 22px 45px rgba(5, 42, 95, 0.12);
}

.about-media-accent {
  position: absolute;
  top: 4%;
  left: 8%;
  height: 42%;
  width: 42%;
  border: 3px solid var(--gold-400);
  border-radius: 1.5rem;
}

.about-year-card {
  position: absolute;
  right: 2%;
  bottom: 2%;
  z-index: 5;
  display: flex;
  min-width: 160px;
  flex-direction: column;
  border-radius: 1rem;
  background: var(--brand-950);
  padding: 1.1rem 1.25rem;
  color: white;
  box-shadow: 0 20px 40px rgba(5, 42, 95, 0.22);
}

.about-year-card strong {
  margin-block: 0.25rem;
  font-size: 2.25rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.06em;
  color: var(--gold-300);
}

.about-point {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  border: 1px solid rgba(5, 42, 95, 0.08);
  border-radius: 1rem;
  padding: 1rem;
  color: var(--brand-700);
}

.feature-card {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border: 1px solid rgba(5, 42, 95, 0.1);
  border-radius: 1.15rem;
  padding: 1.5rem;
  background: white;
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.feature-card::after {
  position: absolute;
  right: -35px;
  bottom: -35px;
  height: 110px;
  width: 110px;
  border: 1px solid rgba(5, 42, 95, 0.08);
  border-radius: 40% 60% 55% 45%;
  content: "";
  transform: rotate(20deg);
}

.feature-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 22px 45px rgba(5, 42, 95, 0.09);
}

.feature-card-2 {
  background: #eef6ff;
}

.feature-card-3 {
  background: linear-gradient(145deg, #e8f4ff, #fff3c9);
}

.feature-card-4 {
  background: var(--gold-50);
}

.feature-card-icon {
  display: flex;
  height: 58px;
  width: 58px;
  align-items: center;
  justify-content: center;
  border-radius: 1rem;
  background: var(--brand-950);
  color: var(--gold-300);
}

.program-band {
  position: relative;
  overflow: hidden;
  background: #10233d;
}

.program-band-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.14;
  background-image:
    radial-gradient(circle at 14% 22%, transparent 0 52px, #f2bd32 53px 54px, transparent 55px),
    radial-gradient(circle at 86% 78%, transparent 0 82px, #f2bd32 83px 84px, transparent 85px),
    linear-gradient(45deg, transparent 48%, rgba(242, 189, 50, 0.35) 49%, transparent 51%);
  background-size: auto, auto, 90px 90px;
}

.service-card {
  position: relative;
  min-height: 330px;
  border-top: 5px solid var(--gold-400);
  background: white;
  padding: 1.5rem;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.18);
  transition: transform 220ms ease;
}

.service-card:hover {
  transform: translateY(-6px);
}

.service-card-icon {
  display: flex;
  height: 50px;
  width: 50px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--gold-400);
  color: var(--brand-950);
}

.course-card {
  overflow: hidden;
  border: 1px solid rgba(5, 42, 95, 0.09);
  border-radius: 0.9rem;
  background: white;
  box-shadow: 0 10px 28px rgba(5, 42, 95, 0.05);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.course-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 24px 45px rgba(5, 42, 95, 0.1);
}

.course-card-media {
  position: relative;
  height: 190px;
  overflow: hidden;
  background: #e4eaf1;
}

.course-card-badge {
  position: absolute;
  bottom: 0.75rem;
  left: 0.75rem;
  border-radius: 0.35rem;
  background: var(--brand-800);
  padding: 0.35rem 0.55rem;
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: white;
}

.course-card-link {
  display: flex;
  height: 34px;
  width: 34px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--gold-400);
  color: var(--brand-950);
}

.impact-section {
  background: linear-gradient(to bottom, #fbfaf7 50%, white 50%);
}

.impact-primary,
.impact-secondary {
  padding: clamp(2.2rem, 5vw, 4.5rem);
}

.impact-primary {
  border-radius: 1.2rem 0 0 1.2rem;
  background: linear-gradient(135deg, #ffda70, #f2bd32);
}

.impact-secondary {
  display: grid;
  align-items: center;
  gap: 2.5rem;
  border-radius: 0 1.2rem 1.2rem 0;
  background: linear-gradient(135deg, var(--brand-950), #0c4b9c);
  grid-template-columns: auto 1fr;
}

.impact-stat {
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(5, 42, 95, 0.18);
  padding-left: 0.8rem;
}

.impact-stat strong {
  font-size: clamp(1.6rem, 3vw, 2.7rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.06em;
  color: var(--brand-950);
}

.impact-stat span {
  margin-top: 0.45rem;
  font-size: 0.65rem;
  line-height: 1.45;
  font-weight: 700;
  color: rgba(5, 42, 95, 0.7);
}

.impact-score {
  display: flex;
  height: 150px;
  width: 150px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  text-align: center;
}

.impact-score strong {
  margin-top: 0.3rem;
  font-size: 2.8rem;
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.06em;
  color: white;
}

.impact-score span:last-child {
  margin-top: 0.35rem;
  max-width: 88px;
  font-size: 0.6rem;
  color: rgba(255, 255, 255, 0.58);
}

.testimonial-section {
  position: relative;
  overflow: hidden;
  background: #fbfcfe;
}

.testimonial-watermark {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: min(42vw, 620px);
  line-height: 0.8;
  font-weight: 950;
  letter-spacing: -0.1em;
  color: rgba(5, 42, 95, 0.025);
  transform: translate(-50%, -50%);
  user-select: none;
}

.testimonial-card {
  border: 1px solid rgba(5, 42, 95, 0.08);
  border-radius: 0.9rem;
  background: linear-gradient(135deg, #eff7ff, #f7fbff);
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.testimonial-card:nth-child(2) {
  background: linear-gradient(135deg, #fffaf0, #fff3c9);
}

.gallery-strip {
  display: grid;
  min-height: 370px;
  grid-template-columns: 1.2fr 0.9fr 1fr 1.1fr;
}

.gallery-strip-item {
  position: relative;
  min-height: 300px;
  overflow: hidden;
  background: #dbe3ec;
}

.gallery-strip-item-2,
.gallery-strip-item-4 {
  margin-top: 3rem;
}

.gallery-strip-overlay {
  position: absolute;
  inset: auto 0 0;
  display: flex;
  flex-direction: column;
  padding: 4rem 1.25rem 1.25rem;
  background: linear-gradient(to top, rgba(3, 25, 55, 0.82), transparent);
  color: white;
}

.gallery-strip-overlay small {
  font-size: 0.58rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  color: var(--gold-300);
  text-transform: uppercase;
}

.gallery-strip-overlay strong {
  margin-top: 0.35rem;
  font-size: 1rem;
  line-height: 1.25;
}

.news-card {
  overflow: hidden;
  border: 1px solid rgba(5, 42, 95, 0.08);
  border-radius: 0.8rem;
  background: white;
  box-shadow: 0 12px 30px rgba(5, 42, 95, 0.045);
}

.news-card-media {
  display: block;
  height: 180px;
  overflow: hidden;
  background: #e2e8f0;
}

.news-tag {
  border-radius: 0.3rem;
  background: var(--gold-100);
  padding: 0.25rem 0.45rem;
  font-weight: 800;
  color: var(--gold-700);
}

.site-footer {
  position: relative;
  margin-top: 4rem;
  background: var(--footer);
  color: white;
}

.footer-cta-wrap {
  position: relative;
  top: -3rem;
  margin-bottom: -3rem;
}

.footer-cta {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  border-radius: 0.85rem;
  background: linear-gradient(90deg, #0b8c63, #c6c900 58%, #f2bd32);
  padding: 1.25rem clamp(1.25rem, 4vw, 2.5rem);
  box-shadow: 0 22px 45px rgba(5, 42, 95, 0.2);
}

.footer-cta-icon {
  display: flex;
  height: 54px;
  width: 54px;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--gold-400);
  color: var(--brand-950);
}

.footer-cta > div:nth-child(2) {
  flex: 1;
}

.footer-title {
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  color: var(--gold-300);
  text-transform: uppercase;
}

.footer-links {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.1rem;
  font-size: 0.84rem;
  color: rgba(255, 255, 255, 0.62);
}

.footer-links a {
  transition: color 160ms ease, transform 160ms ease;
}

.footer-links a:hover {
  color: white;
  transform: translateX(3px);
}

.footer-social {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  padding: 0.45rem 0.7rem;
  font-size: 0.66rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.68);
}

.page-hero {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #fffdf7, #eef5fd);
}

.page-hero-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image:
    radial-gradient(circle at 8% 20%, transparent 0 60px, rgba(223, 163, 19, 0.16) 61px 62px, transparent 63px),
    radial-gradient(circle at 90% 80%, transparent 0 85px, rgba(5, 42, 95, 0.1) 86px 87px, transparent 88px);
}

.page-hero-title {
  max-width: 780px;
  margin-top: 0.85rem;
  font-size: clamp(2.45rem, 5vw, 4.8rem);
  line-height: 1;
  font-weight: 950;
  letter-spacing: -0.055em;
  color: var(--brand-950);
}

.page-hero-description {
  max-width: 680px;
  margin-top: 1.35rem;
  font-size: clamp(0.95rem, 1.4vw, 1.08rem);
  line-height: 1.8;
  color: #5b6779;
}

.page-hero-media {
  position: relative;
  height: 310px;
  overflow: hidden;
  border-radius: 2rem 2rem 0.6rem 2rem;
  background: #dce5ef;
  box-shadow: 0 28px 60px rgba(5, 42, 95, 0.17);
}

.page-hero-media::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(5, 42, 95, 0.5), transparent 60%);
  content: "";
}

.page-hero-media-badge {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 0.7rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 0.8rem;
  background: rgba(5, 42, 95, 0.83);
  padding: 0.65rem 0.85rem;
  backdrop-filter: blur(10px);
}

.image-placeholder {
  background:
    linear-gradient(135deg, rgba(5, 42, 95, 0.06), rgba(223, 163, 19, 0.12)),
    repeating-linear-gradient(45deg, transparent 0 18px, rgba(255, 255, 255, 0.4) 18px 36px);
}

.content-prose {
  font-size: 1rem;
  line-height: 1.9;
  color: #475569;
}

.content-prose p + p {
  margin-top: 1.15rem;
}

.content-prose h2,
.content-prose h3 {
  margin-top: 2rem;
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--brand-950);
}

.content-prose ul,
.content-prose ol {
  margin-top: 1rem;
  padding-left: 1.35rem;
}

.admin-card {
  border: 1px solid #e2e8f0;
  border-radius: 1.5rem;
  background: white;
  padding: clamp(1.25rem, 3vw, 2rem);
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.035);
}

.admin-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.admin-card-title {
  font-size: 0.95rem;
  font-weight: 800;
  color: #0f172a;
}

.admin-card-description {
  max-width: 680px;
  margin-top: 0.45rem;
  font-size: 0.82rem;
  line-height: 1.65;
  color: #64748b;
}

@media (max-width: 1279px) {
  .home-hero-background-image {
    object-position: 68% center;
  }

  .hero-feature {
    padding: 1rem;
  }

  .hero-feature-icon {
    height: 42px;
    width: 42px;
  }
}

@media (max-width: 1023px) {
  .home-hero-content {
    min-height: 610px;
    padding-block: 3.5rem 5.5rem;
  }

  .home-hero-background-image {
    object-position: 62% center;
  }

  .home-hero-fade {
    background:
      linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 43%, rgba(255, 255, 255, 0.5) 68%, rgba(255, 255, 255, 0.18) 100%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.06) 55%, rgba(255, 255, 255, 0.86) 100%);
  }

  .hero-feature-strip {
    margin-top: -2.5rem;
    margin-bottom: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    transform: none;
  }

  .hero-feature:nth-child(3) {
    border-top: 1px solid rgba(5, 42, 95, 0.08);
    border-left: 0;
  }

  .hero-feature:nth-child(4) {
    border-top: 1px solid rgba(5, 42, 95, 0.08);
  }

  .home-about-section {
    padding-top: 5rem;
  }

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

  .home-about-copy {
    order: 1;
  }

  .home-about-media {
    order: 2;
    min-height: 420px;
  }

  .about-media-grid {
    min-height: 500px;
  }

  .impact-primary,
  .impact-secondary {
    border-radius: 1.2rem;
  }

  .impact-secondary {
    margin-top: 0.8rem;
  }

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

  .gallery-strip-item-2,
  .gallery-strip-item-4 {
    margin-top: 0;
  }
}

@media (max-width: 767px) {
  .section-space {
    padding-block: 4.5rem;
  }

  .brand-lockup {
    gap: 0.55rem;
  }

  .brand-title {
    max-width: 185px;
  }

  .home-hero-background-desktop {
    display: none;
  }

  .home-hero-background-mobile {
    display: block;
    object-position: 64% center;
  }

  .home-hero::before {
    mask-image: none;
    opacity: 0.32;
  }

  .home-hero-fade {
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.88) 62%, rgba(255, 255, 255, 0.45) 100%),
      linear-gradient(180deg, rgba(255, 255, 255, 0.25) 0%, rgba(255, 255, 255, 0.3) 58%, #ffffff 100%);
  }

  .home-hero-content {
    min-height: 590px;
    align-items: flex-start;
    padding-block: 3.25rem 3.5rem;
  }

  .hero-title {
    max-width: 540px;
    font-size: clamp(2.45rem, 12vw, 3.9rem);
  }

  .hero-description {
    max-width: 470px;
  }

  .hero-feature-strip {
    margin-top: -1rem;
    grid-template-columns: 1fr;
  }

  .hero-feature {
    min-height: 96px;
  }

  .hero-feature + .hero-feature,
  .hero-feature:nth-child(3) {
    border-top: 1px solid rgba(5, 42, 95, 0.08);
    border-left: 0;
  }

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

  .home-about-media {
    min-height: 360px;
    grid-template-columns: minmax(0, 1.35fr) minmax(110px, 0.65fr);
  }

  .about-media-grid {
    min-height: 410px;
  }

  .about-media-large {
    height: 78%;
    width: 82%;
  }

  .about-media-small {
    width: 58%;
  }

  .about-year-card {
    min-width: 130px;
    padding: 0.85rem 1rem;
  }

  .about-year-card strong {
    font-size: 1.8rem;
  }

  .impact-primary,
  .impact-secondary {
    padding: 1.75rem;
  }

  .impact-secondary {
    grid-template-columns: 1fr;
  }

  .impact-score {
    height: 120px;
    width: 120px;
  }

  .gallery-strip {
    grid-template-columns: 1fr;
  }

  .gallery-strip-item {
    min-height: 280px;
  }

  .footer-cta {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .footer-cta .button-light {
    width: 100%;
  }

  .page-hero-media {
    height: 250px;
  }
}

@media (max-width: 479px) {
  .brand-location {
    display: none;
  }

  .brand-title {
    max-width: 145px;
    font-size: 0.82rem;
  }

  .home-hero-background-mobile {
    object-position: 69% center;
  }

  .home-hero-fade {
    background:
      linear-gradient(90deg, rgba(255, 255, 255, 0.97), rgba(255, 255, 255, 0.78)),
      linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, #ffffff 100%);
  }

  .home-hero-content {
    min-height: 570px;
  }

  .hero-title {
    font-size: clamp(2.25rem, 12vw, 3.35rem);
  }

  .home-about-media {
    min-height: 300px;
    gap: 0.5rem;
  }

  .home-about-stat strong {
    font-size: 1.45rem;
  }

  .about-media-grid {
    min-height: 350px;
  }

  .about-year-card {
    display: none;
  }

  .impact-stat {
    border-top: 1px solid rgba(5, 42, 95, 0.12);
    border-left: 0;
    padding-top: 0.75rem;
    padding-left: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Flask migration additions: replaces the Tailwind utility layer used by Next.js. */
.site-container{padding-inline:clamp(1.25rem,3vw,2.5rem)}
.relative{position:relative}.absolute{position:absolute}.hidden{display:none}.block{display:block}.inline-flex{display:inline-flex}.flex{display:flex}.grid{display:grid}
.h-full{height:100%}.w-full{width:100%}.h-4{height:1rem}.w-4{width:1rem}.h-5{height:1.25rem}.w-5{width:1.25rem}.h-6{height:1.5rem}.w-6{width:1.5rem}.h-7{height:1.75rem}.w-7{width:1.75rem}.h-8{height:2rem}.w-8{width:2rem}
.object-cover{object-fit:cover}.object-contain{object-fit:contain}.text-white{color:#fff}.text-ink{color:var(--ink)}.text-brand-700{color:var(--brand-700)}.text-brand-950{color:var(--brand-950)}.text-gold-300{color:var(--gold-300)}.text-slate-600{color:#475569}.text-white-70{color:rgba(255,255,255,.7)}
.text-center{text-align:center}.center-block{margin-inline:auto}.bg-soft{background:#f7f9fc}.bg-cream{background:#fbfaf7}.dark-section{background:var(--brand-950);color:#fff}.rounded-media{overflow:hidden;border-radius:2rem;background:#f1f5f9;box-shadow:0 25px 50px rgba(5,42,95,.12)}.portrait{min-height:560px}
.announcement-inner{padding-block:.48rem;color:#fff;text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.header-inner{display:flex;min-height:76px;align-items:center;gap:1.25rem;justify-content:space-between}.brand-logo{width:56px;height:56px;object-fit:contain;flex:0 0 auto}.desktop-nav{display:flex;align-items:center;margin-left:auto}.desktop-cta{white-space:nowrap}.mobile-menu-button{display:none;border:1px solid #e2e8f0;background:#fff;color:var(--brand-950);border-radius:.75rem;width:44px;height:44px;align-items:center;justify-content:center}.mobile-nav-panel{border-top:1px solid #e2e8f0;background:#fff;padding:1rem 1.25rem;box-shadow:0 18px 30px rgba(15,23,42,.08)}.mobile-nav-panel[hidden]{display:none}.mobile-nav-link{display:flex;align-items:center;justify-content:space-between;padding:.85rem .25rem;border-bottom:1px solid #f1f5f9;font-size:.9rem;font-weight:750;color:#334155}
.home-hero-wrap{position:relative}.hero-copy{position:relative;z-index:10;max-width:42rem}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.button-row.center{justify-content:center}.hero-proof{display:flex;align-items:center;gap:1rem;margin-top:2rem}.hero-proof p{max-width:20rem;font-size:.84rem;line-height:1.6;color:#475569}.feature-title-small{font-size:.875rem;font-weight:800;color:var(--brand-950)}.feature-text-small{margin-top:.25rem;font-size:.75rem;line-height:1.4;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.body-copy{max-width:42rem;margin:1.25rem 0 2rem;color:#475569;line-height:1.75}.card-grid{display:grid;gap:1.5rem;margin-top:3rem}.card-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid.narrow{max-width:1000px;margin-inline:auto;margin-top:3rem}.card-grid.compact{margin-top:2.5rem;gap:1rem}.card-eyebrow{margin:1.35rem 0 .4rem;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--brand-700)}.card-eyebrow.light{color:var(--gold-300)}.card-meta{display:block;margin-top:1.25rem;font-size:.75rem;font-weight:800;color:var(--brand-700)}.feature-card h3,.course-card h3,.news-card h3,.service-card h3,.facility-card h3,.mini-card h3,.dark-card h3{margin:.35rem 0 .7rem;font-size:1.15rem;line-height:1.25;font-weight:850;letter-spacing:-.02em}.feature-card p,.course-card p,.news-card p,.service-card p,.facility-card p,.mini-card p,.dark-card p{font-size:.875rem;line-height:1.7;color:#526176}.service-card p{color:rgba(255,255,255,.68)}.program-grid{position:relative}.service-card a,.text-link{display:inline-flex;align-items:center;gap:.45rem;margin-top:1.25rem;font-size:.78rem;font-weight:800;color:var(--brand-800)}.service-card a{color:var(--gold-300)}
.heading-row{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}.card-body{padding:1.25rem}.card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid #eef2f7;font-size:.75rem;color:#64748b}.impact-grid{display:grid;grid-template-columns:.95fr 1.05fr;padding-inline:0}.impact-primary h2{max-width:38rem;margin:.75rem 0 1rem;font-size:clamp(2rem,4vw,3.3rem);font-weight:900;line-height:1.08;letter-spacing:-.045em}.impact-primary>div>p:last-child{max-width:40rem;color:#526176;line-height:1.75}.impact-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:2.25rem}.impact-secondary h3{font-size:1.7rem;font-weight:850}.impact-secondary p{line-height:1.75;color:rgba(255,255,255,.68)}
.stars{display:flex;gap:.25rem;color:var(--gold-500)}.testimonial-card blockquote{margin:1.5rem 0;font-size:1rem;line-height:1.8;color:#334155}.testimonial-person{display:flex;align-items:center;gap:.75rem;padding-top:1.15rem;border-top:1px solid rgba(5,42,95,.08)}.testimonial-person>span{display:flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:#fff;color:var(--brand-800);box-shadow:0 4px 14px rgba(15,23,42,.08)}.testimonial-person strong,.testimonial-person small{display:block}.testimonial-person strong{font-size:.9rem;color:var(--brand-950)}.testimonial-person small{margin-top:.2rem;color:#64748b}.gallery-home{padding-top:5rem}.gallery-heading{padding-bottom:2rem}.news-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.7rem;color:#64748b}.news-card h3 a{color:inherit}.news-card .text-link{margin-top:1rem}
.footer-cta-title{margin:0;font-size:1rem;font-weight:800;color:#fff}.footer-cta-desc{margin:.3rem 0 0;font-size:.83rem;line-height:1.55;color:rgba(255,255,255,.7)}.footer-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr 1fr;gap:2.5rem;padding-top:6rem;padding-bottom:4rem}.footer-brand .brand-overline{color:var(--gold-300)}.footer-brand .brand-title{color:#fff}.footer-brand .brand-location{color:rgba(255,255,255,.55)}.footer-copy{max-width:24rem;margin-top:1.25rem;font-size:.875rem;line-height:1.8;color:rgba(255,255,255,.62)}.footer-socials{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.footer-contact{display:grid;gap:1rem;font-size:.84rem;line-height:1.55;color:rgba(255,255,255,.65)}.footer-contact div,.footer-contact a{display:flex;gap:.75rem}.footer-contact svg{flex:0 0 auto;color:var(--gold-300)}.footer-bottom{border-top:1px solid rgba(255,255,255,.1)}.footer-bottom .site-container{display:flex;justify-content:space-between;gap:1rem;padding-block:1.25rem;font-size:.7rem;color:rgba(255,255,255,.45)}
.page-hero-grid{position:relative;display:grid;min-height:390px;align-items:center;grid-template-columns:1fr .82fr;gap:3rem;padding-top:4rem;padding-bottom:4rem}.page-hero-copy{position:relative;z-index:10;max-width:48rem}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1.75rem;font-size:.75rem;color:#64748b}.breadcrumbs strong{color:var(--brand-900)}.page-hero-contact{display:inline-flex;align-items:center;gap:.5rem;margin-top:2rem;font-size:.85rem;font-weight:800;color:var(--brand-800)}
.split-grid{display:grid;grid-template-columns:.9fr 1.1fr;align-items:start;gap:5rem}.profile-intro .content-prose{margin-top:2rem}.vision-box{margin-top:2rem;border-radius:1rem;background:var(--brand-950);padding:2rem;color:#fff}.vision-box>p{font-size:.7rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-300)}.vision-box blockquote{margin:1rem 0 0;font-size:clamp(1.5rem,3vw,2rem);font-weight:900;line-height:1.2}.leader-grid{grid-template-columns:1.05fr .95fr;align-items:center}.leader-media{position:relative;max-width:560px;margin-inline:auto;overflow:visible}.leader-media>img{aspect-ratio:4/3;border-radius:2.2rem;box-shadow:0 25px 50px rgba(5,42,95,.12)}.quote-card{position:absolute;left:-2rem;bottom:-1.25rem;max-width:260px;border-radius:1rem;background:var(--gold-400);padding:1.25rem;color:var(--brand-950);box-shadow:0 16px 28px rgba(15,23,42,.16)}.quote-card p{margin:.75rem 0 0;font-size:.88rem;font-weight:800;line-height:1.55}.pill-gold{display:inline-flex;margin-top:1.5rem;border-radius:999px;background:var(--gold-100);padding:.5rem 1rem;font-size:.75rem;font-weight:800;color:var(--gold-700)}.facility-card{overflow:hidden;border-radius:1rem;background:#fff;color:var(--ink)}.facility-image{aspect-ratio:16/10;width:100%;object-fit:cover}.achievement-band{display:flex;align-items:center;justify-content:space-between;gap:2.5rem;border-radius:2rem;background:var(--gold-400);padding:2.5rem;color:var(--brand-950)}.achievement-band h2{max-width:48rem;margin:.75rem 0 1rem;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:900;line-height:1.12;letter-spacing:-.04em}.achievement-band p{max-width:48rem;line-height:1.75;color:rgba(5,42,95,.72)}.achievement-metrics{display:grid;grid-template-columns:repeat(2,minmax(140px,1fr));gap:.75rem;min-width:330px}.achievement-metrics div{border-radius:1rem;background:rgba(255,255,255,.76);padding:1.25rem}.achievement-metrics strong,.achievement-metrics span{display:block}.achievement-metrics strong{font-size:2rem}.achievement-metrics span{margin-top:.4rem;font-size:.75rem;font-weight:800}.closing-cta{padding:0 0 7rem}.closing-card{border:1px solid rgba(5,42,95,.1);border-radius:2rem;background:#f7f9fc;padding:2.5rem;text-align:center}.closing-card h2{font-size:clamp(1.6rem,3vw,2.2rem);font-weight:900;color:var(--brand-950)}.closing-card p{max-width:44rem;margin:.75rem auto 0;color:#526176;line-height:1.75}
.program-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:3rem}.program-list-card{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;border:1px solid rgba(5,42,95,.1);border-radius:1.5rem;background:#fff;box-shadow:0 14px 30px rgba(5,42,95,.05)}.program-list-image{min-height:280px;background:#f1f5f9}.program-list-body{display:flex;flex-direction:column;padding:1.75rem}.program-list-top{display:flex;align-items:center;justify-content:space-between}.program-number{font-size:.75rem;font-weight:900;color:var(--brand-100)}.program-list-body h2{margin:1.25rem 0 .8rem;font-size:1.55rem;font-weight:900;color:var(--brand-950);letter-spacing:-.035em}.program-list-body>p{color:#526176;line-height:1.75}.program-list-body .text-link{margin-top:auto;padding-top:1.5rem}.dark-card{border:1px solid rgba(255,255,255,.12);border-radius:1rem;background:rgba(255,255,255,.06);padding:1.5rem}.dark-card>span{display:flex;width:48px;height:48px;align-items:center;justify-content:center;border-radius:.75rem;background:var(--gold-400);color:var(--brand-950)}.dark-card h3{color:#fff}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:4rem;align-items:start}.summary-box{position:sticky;top:7rem;border-radius:1rem;background:var(--brand-950);padding:1.5rem;color:#fff}.summary-box dl{margin:1.25rem 0}.summary-box dl>div{padding:1rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.summary-box dt{font-size:.75rem;color:rgba(255,255,255,.5)}.summary-box dd{margin:.35rem 0 0;font-weight:800}.summary-box>p:not(.section-kicker){line-height:1.7;color:rgba(255,255,255,.68)}.summary-box .button-light{width:100%;margin-top:1.25rem}.mini-card{border:1px solid rgba(5,42,95,.1);border-radius:1rem;padding:1.25rem;background:#fff}.mini-card svg{color:var(--brand-700)}.medium-title{margin:.7rem 0 0;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:900;letter-spacing:-.04em;color:var(--brand-950)}.related-image{aspect-ratio:16/10;width:100%;object-fit:cover}
.featured-news{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;border:1px solid rgba(5,42,95,.1);border-radius:2rem;background:#f7f9fc}.featured-news>div:first-child{min-height:390px}.featured-news-copy{display:flex;flex-direction:column;justify-content:center;padding:2.5rem}.featured-news-copy h2{margin:1.25rem 0;font-size:clamp(2rem,4vw,3rem);font-weight:900;line-height:1.12;letter-spacing:-.04em;color:var(--brand-950)}.featured-news-copy p{line-height:1.75;color:#526176}.featured-news-copy .button-primary{align-self:flex-start;margin-top:1.75rem}.article-meta{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:2rem;font-size:.75rem;color:#64748b}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:300px;gap:1rem;margin-top:3rem}.gallery-card{position:relative;overflow:hidden;border-radius:1.25rem;background:#e2e8f0}.gallery-card-large{grid-row:span 2}.gallery-card figcaption{position:absolute;inset:auto 0 0;padding:4rem 1.25rem 1.25rem;background:linear-gradient(transparent,rgba(5,29,64,.92));color:#fff}.gallery-card figcaption small,.gallery-card figcaption strong,.gallery-card figcaption span{display:block}.gallery-card figcaption small{font-size:.65rem;text-transform:uppercase;letter-spacing:.14em;color:var(--gold-300)}.gallery-card figcaption strong{margin-top:.35rem;font-size:1.1rem}.gallery-card figcaption span{margin-top:.4rem;font-size:.76rem;line-height:1.5;color:rgba(255,255,255,.72)}
.contact-grid{grid-template-columns:1fr .8fr;align-items:stretch}.contact-cards{display:grid;gap:1rem;margin-top:2rem}.contact-card{display:flex;gap:1rem;border:1px solid #e2e8f0;border-radius:1rem;padding:1.25rem}.contact-card svg{flex:0 0 auto;color:var(--brand-700)}.contact-card strong{display:block;color:var(--brand-950)}.contact-card p{margin:.35rem 0 0;line-height:1.65;color:#526176}.contact-panel{border-radius:2rem;background:var(--brand-950);padding:2.5rem;color:#fff}.contact-panel h2{margin:1rem 0;font-size:2rem;font-weight:900}.contact-panel>p:last-of-type{line-height:1.75;color:rgba(255,255,255,.68)}.contact-actions{display:grid;gap:.75rem;margin-top:2rem}.button-outline.inverse{border-color:rgba(255,255,255,.25);color:#fff}.error-page{min-height:70vh;display:flex;align-items:center;padding-block:5rem;background:#f7f9fc}.error-card{text-align:center}.error-code{margin:0;font-size:clamp(5rem,15vw,10rem);font-weight:950;color:var(--brand-100);line-height:.9}.error-card h1{margin:1rem 0;font-size:2.5rem;color:var(--brand-950)}.error-card>p:not(.error-code){margin:0 auto 2rem;max-width:36rem;color:#526176}

/* Admin */
.admin-body{background:#f1f5f9;color:#0f172a}.admin-shell{display:flex;min-height:100vh;max-width:1680px;margin-inline:auto}.admin-sidebar{position:sticky;top:0;display:flex;width:288px;height:100vh;flex-direction:column;flex:0 0 auto;background:#061f4b;padding:1.75rem 1.25rem;color:#fff}.admin-brand{display:flex;align-items:center;gap:.75rem;padding:.4rem .75rem}.admin-brand img{width:50px;height:50px;object-fit:contain}.admin-brand small,.admin-brand strong{display:block}.admin-brand small{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:#fde68a}.admin-brand strong{margin-top:.25rem;font-size:.95rem;color:#fff}.admin-nav{display:grid;gap:.4rem;margin-top:2.5rem}.admin-nav a{display:flex;align-items:center;gap:.75rem;border-radius:.75rem;padding:.85rem 1rem;font-size:.86rem;font-weight:700;color:rgba(255,255,255,.7)}.admin-nav a:hover,.admin-nav a.active{background:rgba(255,255,255,.1);color:#fff}.admin-user{margin-top:auto;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:rgba(255,255,255,.05);padding:1rem}.admin-user strong,.admin-user span,.admin-user small{display:block}.admin-user strong{font-size:.88rem}.admin-user span{margin-top:.3rem;overflow:hidden;text-overflow:ellipsis;font-size:.72rem;color:rgba(255,255,255,.65)}.admin-user small{display:inline-block;margin-top:.75rem;border-radius:999px;background:rgba(253,230,138,.12);padding:.3rem .6rem;font-size:.6rem;text-transform:uppercase;color:#fde68a}.admin-main{min-width:0;flex:1}.admin-topbar{display:flex;min-height:80px;align-items:center;justify-content:space-between;gap:1rem;border-bottom:1px solid #e2e8f0;background:#fff;padding:0 2rem}.admin-topbar span{font-size:.88rem;color:#64748b}.admin-mobile-label{display:none}.admin-top-actions{display:flex;align-items:center;gap:.5rem}.admin-top-actions a,.admin-top-actions button{border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;padding:.65rem .9rem;font-size:.8rem;font-weight:650;color:#334155;cursor:pointer}.admin-content{padding:2rem}.flash-stack{display:grid;gap:.6rem;margin-bottom:1rem}.flash{border-radius:.75rem;padding:.9rem 1rem;font-size:.85rem;font-weight:650}.flash-success{border:1px solid #a7f3d0;background:#ecfdf5;color:#065f46}.flash-error{border:1px solid #fecaca;background:#fef2f2;color:#991b1b}.admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.admin-eyebrow{margin:0;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#1d4ed8}.admin-page-heading h1{margin:.45rem 0 0;font-size:2rem;letter-spacing:-.04em}.admin-page-heading p:last-child{margin:.5rem 0 0;color:#64748b}.admin-page-heading>a:not(.admin-primary-action){font-size:.8rem;font-weight:700;color:#1d4ed8}.admin-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.75rem;background:#0b3b82;padding:.75rem 1rem;font-size:.82rem;font-weight:800;color:#fff;cursor:pointer}.stat-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1.5rem}.admin-stat{border:1px solid #e2e8f0;border-radius:1rem;background:#fff;padding:1.25rem}.admin-stat span,.admin-stat strong,.admin-stat small{display:block}.admin-stat span{font-size:.75rem;color:#64748b}.admin-stat strong{margin:.6rem 0;font-size:2rem}.admin-stat small{font-size:.68rem;color:#1d4ed8}.admin-grid{display:grid;gap:1.5rem;margin-bottom:1.5rem}.admin-grid.two{grid-template-columns:1fr 1fr}.section-progress{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}.section-progress a{border:1px solid #f1f5f9;border-radius:.85rem;padding:.85rem}.section-progress a>div{display:flex;justify-content:space-between;gap:.5rem;font-size:.75rem}.section-progress progress{width:100%;height:6px;margin-top:.7rem;border:0}.check-list,.recent-list{margin-top:1.25rem}.check-list a,.recent-list a{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #f1f5f9;padding:1rem 0;font-size:.82rem}.check-list strong{border-radius:999px;background:#fef3c7;padding:.3rem .65rem;color:#92400e}.check-list strong.ready{background:#d1fae5;color:#065f46}.recent-list a>div{min-width:0}.recent-list small,.recent-list strong{display:block}.recent-list small{font-size:.62rem;text-transform:uppercase;color:#1d4ed8}.recent-list strong{margin-top:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-list time{font-size:.7rem;color:#94a3b8}.admin-filter{display:grid;grid-template-columns:minmax(200px,1fr) 190px 160px auto auto;gap:.75rem;margin-bottom:1rem}.admin-filter input,.admin-filter select,.admin-filter button,.admin-filter a{min-height:42px;border:1px solid #cbd5e1;border-radius:.7rem;background:#fff;padding:.65rem .8rem;font-size:.78rem}.admin-filter button{background:#0b3b82;color:#fff;font-weight:800}.admin-filter a{display:flex;align-items:center;justify-content:center}.table-card{padding:0;overflow:hidden}.content-table{min-width:850px}.content-row{display:grid;grid-template-columns:minmax(280px,1.4fr) minmax(140px,.7fr) 100px 70px minmax(260px,1fr);align-items:center;gap:1rem;border-top:1px solid #f1f5f9;padding:1rem 1.25rem;font-size:.78rem}.content-head{border-top:0;background:#f8fafc;font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#64748b}.content-identity{display:flex;min-width:0;align-items:center;gap:.75rem}.content-identity img,.content-no-image{width:50px;height:42px;border-radius:.55rem;object-fit:cover}.content-no-image{display:flex;align-items:center;justify-content:center;background:#f1f5f9;color:#94a3b8}.content-identity strong,.content-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.content-identity small{margin-top:.2rem;color:#94a3b8}.status{justify-self:start;border-radius:999px;padding:.3rem .6rem;font-size:.62rem;font-weight:800;text-transform:uppercase}.status-published{background:#d1fae5;color:#065f46}.status-draft{background:#fef3c7;color:#92400e}.status-archived{background:#e2e8f0;color:#475569}.row-actions{display:flex;align-items:center;gap:.35rem}.row-actions form{margin:0}.row-actions a,.row-actions button{border:1px solid #e2e8f0;border-radius:.55rem;background:#fff;padding:.45rem .6rem;font-size:.68rem;font-weight:700;color:#334155;cursor:pointer}.row-actions .danger{color:#b91c1c}.empty-state{padding:4rem;text-align:center;color:#64748b}.admin-form{display:grid;gap:1.5rem}.form-grid{display:grid;gap:1.1rem;margin-top:1.25rem}.form-grid.two{grid-template-columns:1fr 1fr}.form-grid label{font-size:.78rem;font-weight:700;color:#334155}.form-grid input,.form-grid textarea,.form-grid select{display:block;width:100%;margin-top:.45rem;border:1px solid #cbd5e1;border-radius:.75rem;background:#fff;padding:.75rem .9rem;font:inherit;font-weight:400;color:#0f172a;outline:none}.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{border-color:#1d4ed8;box-shadow:0 0 0 4px rgba(29,78,216,.08)}.form-grid small{display:block;margin-top:.35rem;font-size:.67rem;font-weight:400;color:#64748b}.span-two{grid-column:span 2}.checkbox-label{display:flex!important;align-items:center;gap:.6rem}.checkbox-label input{width:auto;margin:0}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:1rem}.form-actions>a{font-size:.8rem;font-weight:700;color:#64748b}.sticky-actions{position:sticky;bottom:1rem;border:1px solid #e2e8f0;border-radius:1rem;background:rgba(255,255,255,.94);padding:1rem;box-shadow:0 15px 35px rgba(15,23,42,.12);backdrop-filter:blur(12px)}.settings-section-list{display:grid;gap:1rem;margin-top:1.25rem}.settings-section-list fieldset{border:1px solid #e2e8f0;border-radius:1rem;padding:1rem}.settings-section-list legend{padding:0 .5rem;font-size:.72rem;font-weight:800;color:#1d4ed8}.toggle-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1.25rem}.toggle-grid>label{display:flex;align-items:flex-start;gap:.75rem;border:1px solid #e2e8f0;border-radius:1rem;background:#f8fafc;padding:1rem}.toggle-grid input{margin-top:.2rem}.toggle-grid strong,.toggle-grid small{display:block}.toggle-grid strong{font-size:.8rem}.toggle-grid small{margin-top:.3rem;font-size:.68rem;color:#64748b}
.login-body{min-height:100vh;background:#f8fafc}.login-shell{display:grid;min-height:100vh;grid-template-columns:1.05fr .95fr}.login-visual{display:flex;align-items:flex-end;background:linear-gradient(rgba(4,29,64,.78),rgba(4,29,64,.92)),url('/images/v03/hero-campus.webp') center/cover;padding:4rem;color:#fff}.login-visual>div{max-width:44rem}.login-visual .admin-brand{padding:0;margin-bottom:5rem}.login-visual h1{margin:1rem 0;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.02;letter-spacing:-.05em}.login-visual>div>p:last-child{max-width:38rem;line-height:1.8;color:rgba(255,255,255,.7)}.login-panel{display:flex;align-items:center;justify-content:center;padding:2rem}.login-card{display:grid;width:min(100%,460px);gap:1.25rem;border:1px solid #e2e8f0;border-radius:1.5rem;background:#fff;padding:2.25rem;box-shadow:0 25px 50px rgba(15,23,42,.08)}.login-card h2{margin:.5rem 0;font-size:2rem}.login-card>div>p:last-child{color:#64748b}.login-card label{font-size:.8rem;font-weight:700}.login-card input{display:block;width:100%;margin-top:.5rem;border:1px solid #cbd5e1;border-radius:.75rem;padding:.8rem .9rem}.login-back{text-align:center;font-size:.75rem;color:#64748b}
@media(max-width:1100px){.desktop-nav,.desktop-cta{display:none}.mobile-menu-button{display:flex}.footer-grid{grid-template-columns:1fr 1fr}.card-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.program-list-grid{grid-template-columns:1fr}.admin-sidebar{width:240px}.content-table{overflow-x:auto}.admin-filter{grid-template-columns:1fr 1fr 1fr}.admin-filter button,.admin-filter a{grid-column:auto}.login-shell{grid-template-columns:1fr}.login-visual{display:none}}
@media(max-width:850px){.page-hero-grid,.split-grid,.article-layout,.contact-grid,.impact-grid,.featured-news{grid-template-columns:1fr}.page-hero-grid{padding-top:3rem}.page-hero-media{height:300px}.portrait{min-height:420px}.impact-section .site-container{padding-inline:0}.summary-box{position:static}.achievement-band{align-items:flex-start;flex-direction:column}.achievement-metrics{min-width:0;width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:250px}.admin-sidebar{display:none}.admin-content{padding:1.25rem}.admin-mobile-label{display:block}.stat-cards{grid-template-columns:1fr 1fr}.admin-grid.two{grid-template-columns:1fr}.admin-filter{grid-template-columns:1fr 1fr}.admin-filter input{grid-column:span 2}.section-progress{grid-template-columns:1fr}.toggle-grid{grid-template-columns:1fr}}
@media(max-width:640px){.site-container{padding-inline:1rem}.announcement-inner{font-size:.64rem}.header-inner{min-height:68px}.brand-logo{width:48px;height:48px}.card-grid.two,.card-grid.three,.card-grid.four{grid-template-columns:1fr}.heading-row{align-items:flex-start;flex-direction:column}.home-hero-content{min-height:570px}.hero-feature-strip{grid-template-columns:1fr}.home-about-grid{gap:2.5rem}.footer-grid{grid-template-columns:1fr;padding-top:5rem}.footer-bottom .site-container{flex-direction:column}.program-list-card{grid-template-columns:1fr}.program-list-image{min-height:240px}.achievement-metrics{grid-template-columns:1fr 1fr}.gallery-grid{grid-template-columns:1fr;grid-auto-rows:280px}.gallery-card-large{grid-row:span 1}.admin-topbar{padding:0 1rem}.admin-top-actions>a{display:none}.admin-page-heading{align-items:flex-start;flex-direction:column}.stat-cards{grid-template-columns:1fr}.form-grid.two{grid-template-columns:1fr}.span-two{grid-column:span 1}.admin-filter{grid-template-columns:1fr}.admin-filter input{grid-column:span 1}.login-panel{padding:1rem}.login-card{padding:1.4rem}}
