/* Inner pages extend the homepage's colour, type, card and motion language. */
.inner-page {
  --page-accent: var(--pas-purple);
  --page-accent-rgb: 131, 41, 150;
  --page-accent-soft: var(--pas-lavender);
  --page-accent-deep: var(--pas-plum);
  background: var(--pas-ivory);
}

/* ========================================================================== */
/* Management page - editorial leadership profiles                           */
/* ========================================================================== */

.management-page {
  --management-purple: #842b92;
  --management-orange: #ee7a16;
  --management-teal: #087f78;
  --management-ink: #24102c;
}

.management-page .inner-hero__overlay {
  background:
    linear-gradient(90deg, rgba(31, 8, 40, 0.92) 0%, rgba(54, 19, 63, 0.72) 48%, rgba(16, 75, 79, 0.36) 100%),
    linear-gradient(0deg, rgba(25, 7, 33, 0.55), transparent 55%);
}

.management-page :is(.inner-hero__media, .inner-hero__video) {
  filter: saturate(0.78) contrast(1.03);
}

.management-page .inner-section__number {
  display: none !important;
}

.management-intro {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) 0 clamp(3.5rem, 6vw, 6rem);
  background:
    radial-gradient(circle at 91% 11%, rgba(238, 122, 22, 0.13), transparent 23rem),
    radial-gradient(circle at 5% 85%, rgba(132, 43, 146, 0.1), transparent 24rem),
    linear-gradient(135deg, #fff 0%, #fffafb 52%, #f6fbfa 100%);
}

.management-intro::before {
  content: "VISION";
  position: absolute;
  right: -0.04em;
  top: 0.12em;
  color: rgba(73, 28, 83, 0.035);
  font: 800 clamp(6rem, 17vw, 15rem)/1 "Urbanist", sans-serif;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.management-intro .container {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: end;
}

.management-intro__copy h2 {
  max-width: 760px;
  margin: 1rem 0 0;
  color: var(--management-ink);
  font-size: clamp(3rem, 5.8vw, 6.25rem);
  line-height: 0.94;
  letter-spacing: -0.06em;
}

.management-intro__message {
  position: relative;
  padding: 1.4rem 0 1.4rem clamp(1.5rem, 3vw, 2.6rem);
  border-left: 3px solid var(--management-orange);
}

.management-intro__message > i {
  position: absolute;
  right: 0;
  top: -2.5rem;
  color: rgba(132, 43, 146, 0.12);
  font-size: clamp(4.5rem, 7vw, 7rem);
  line-height: 1;
}

.management-intro__message p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #5d5361;
  font-size: clamp(1.08rem, 1.55vw, 1.35rem);
  line-height: 1.85;
}

.management-values {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: clamp(1rem, 3vw, 2.6rem);
  border-top: 1px solid rgba(44, 17, 52, 0.12);
  border-bottom: 1px solid rgba(44, 17, 52, 0.12);
}

.management-value {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1rem;
  align-items: center;
  min-height: 118px;
  padding: 1.6rem clamp(1rem, 2.5vw, 2.2rem);
}

.management-value + .management-value {
  border-left: 1px solid rgba(44, 17, 52, 0.12);
}

.management-value > i {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--management-purple);
  box-shadow: 0 10px 24px rgba(132, 43, 146, 0.2);
  font-size: 1.15rem;
}

.management-value:nth-child(2) > i { background: var(--management-orange); box-shadow: 0 10px 24px rgba(238, 122, 22, 0.2); }
.management-value:nth-child(3) > i { background: var(--management-teal); box-shadow: 0 10px 24px rgba(8, 127, 120, 0.2); }

.management-value strong,
.management-value span {
  display: block;
}

.management-value strong {
  color: var(--management-ink);
  font-size: 1.05rem;
}

.management-value span {
  margin-top: 0.22rem;
  color: #766c79;
  font-size: 0.88rem;
  line-height: 1.55;
}

.leadership-profiles {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  background:
    linear-gradient(rgba(39, 20, 46, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(39, 20, 46, 0.035) 1px, transparent 1px),
    #fffdfb;
  background-size: 52px 52px;
}

.leadership-profiles::before,
.leadership-profiles::after {
  content: "";
  position: absolute;
  width: 34rem;
  height: 34rem;
  border: 1px solid rgba(132, 43, 146, 0.09);
  border-radius: 50%;
  pointer-events: none;
}

.leadership-profiles::before { top: 9rem; right: -20rem; }
.leadership-profiles::after { bottom: 16rem; left: -23rem; border-color: rgba(8, 127, 120, 0.11); }

.leadership-profiles__header {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.65fr);
  gap: 2rem 5rem;
  align-items: end;
  max-width: 1060px;
  margin-bottom: clamp(3.5rem, 6vw, 6rem);
}

.leadership-profiles__header .eyebrow {
  grid-column: 1 / -1;
}

.leadership-profiles__header h2 {
  margin: -0.6rem 0 0;
  color: var(--management-ink);
  font-size: clamp(2.8rem, 5vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.leadership-profiles__header p {
  margin: 0;
  color: #706773;
  font-size: 1.05rem;
  line-height: 1.78;
}

.leader-profile {
  --leader-accent: var(--management-purple);
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
  gap: clamp(2.25rem, 4.5vw, 4.5rem);
  align-items: start;
  padding: clamp(2.5rem, 5vw, 5.5rem) 0;
  border-top: 1px solid rgba(43, 19, 51, 0.13);
}

.leader-profile:last-child {
  border-bottom: 1px solid rgba(43, 19, 51, 0.13);
}

.leader-profile--orange { --leader-accent: var(--management-orange); }
.leader-profile--teal { --leader-accent: var(--management-teal); }

/* Mirrored profile: the track sizes flip with the order so the aside stays narrow. */
.leader-profile--reverse {
  grid-template-columns: minmax(0, 1.28fr) minmax(280px, 0.72fr);
}

.leader-profile--reverse .leader-profile__aside { order: 2; }
.leader-profile--reverse .leader-profile__content { order: 1; }

/* Portrait, name and focus list travel together as a compact column. */
.leader-profile__aside {
  display: grid;
  gap: clamp(1.15rem, 1.8vw, 1.6rem);
  align-content: start;
}

.leader-profile__media {
  position: relative;
  overflow: hidden;
  /* 4:3 keeps the aside close to the height of a short message; a taller
     portrait left a large void beside the Vice-Chairman's page. */
  aspect-ratio: 4 / 3;
  border-radius: 2px 48px 2px 48px;
  background: #e9e4e9;
  box-shadow: 0 28px 70px rgba(45, 18, 52, 0.16);
}

.leader-profile__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgba(29, 9, 35, 0.3));
  pointer-events: none;
}

.leader-profile__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  transition: transform 0.8s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.5s ease;
}

.leader-profile__accent {
  position: absolute;
  z-index: 2;
  left: 1.5rem;
  bottom: 1.5rem;
  width: 76px;
  height: 7px;
  border-radius: 20px;
  background: var(--leader-accent);
  box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.18);
  transition: width 0.35s ease;
}

.leader-profile:hover .leader-profile__media img {
  transform: scale(1.035);
  filter: saturate(1.06);
}

.leader-profile:hover .leader-profile__accent { width: 122px; }

.leader-profile__content {
  padding: 0;
}

.leader-profile__role {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--leader-accent);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.leader-profile__role::before {
  content: "";
  width: 34px;
  height: 2px;
  background: currentColor;
}

.leader-profile__id h3 {
  margin: 0.7rem 0 0;
  color: var(--management-ink);
  font-size: clamp(1.9rem, 2.6vw, 2.7rem);
  line-height: 1.02;
  letter-spacing: -0.045em;
}

.leader-profile__content > p {
  margin: 0;
  color: #68606b;
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.85;
}

.leader-profile__focus {
  display: grid;
  gap: 0;
  margin-top: 1.3rem;
  border-top: 1px solid rgba(43, 19, 51, 0.12);
}

.leader-profile__focus span {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(43, 19, 51, 0.1);
  color: #443b47;
  font-size: 0.94rem;
  font-weight: 650;
}

.leader-profile__focus i { color: var(--leader-accent); font-size: 1.05rem; }

.management-belief {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  background:
    radial-gradient(circle at 90% 20%, rgba(4, 152, 143, 0.28), transparent 28rem),
    radial-gradient(circle at 8% 100%, rgba(238, 122, 22, 0.22), transparent 27rem),
    linear-gradient(118deg, #2f102f 0%, #37133f 48%, #0b4651 100%);
}

.management-belief::after {
  content: "LEAD";
  position: absolute;
  right: -0.04em;
  bottom: -0.2em;
  color: rgba(255, 255, 255, 0.035);
  font: 800 clamp(8rem, 22vw, 20rem)/0.8 "Urbanist", sans-serif;
  letter-spacing: -0.08em;
}

.management-belief__card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem 3rem;
  align-items: end;
  max-width: 1080px;
}

.management-belief__card .eyebrow,
.management-belief__card h2 {
  grid-column: 1;
}

.management-belief__card .eyebrow { color: #f5ad61; }

.management-belief__card h2 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 5.5vw, 5.75rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.management-belief__card a {
  grid-column: 2;
  grid-row: 1 / 3;
  display: inline-flex;
  gap: 0.8rem;
  align-items: center;
  align-self: end;
  padding: 1rem 1.3rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.management-belief__card a:hover {
  color: var(--management-ink);
  background: #fff;
  transform: translateY(-3px);
}

@media (max-width: 980px) {
  .management-intro .container,
  .leadership-profiles__header,
  .leader-profile {
    grid-template-columns: 1fr;
  }

  .management-intro__message { max-width: 760px; }

  .leader-profile { gap: 2.5rem; }
  .leader-profile--reverse .leader-profile__aside,
  .leader-profile--reverse .leader-profile__content { order: initial; }

  /* Stacked: portrait sits beside the name block instead of above it. */
  .leader-profile__aside {
    grid-template-columns: minmax(0, 0.9fr) minmax(260px, 1.1fr);
    gap: clamp(1.5rem, 4vw, 2.75rem);
    align-items: center;
  }

  .leader-profile__media { aspect-ratio: 4 / 3; }

  .leader-profile__content { display: block; }
}

@media (max-width: 700px) {
  .management-intro,
  .leadership-profiles,
  .management-belief { padding: 3.75rem 0; }

  .management-intro .container { gap: 2rem; }
  .management-intro__copy h2 { font-size: clamp(2.65rem, 13vw, 4rem); }

  .management-values { grid-template-columns: 1fr; margin-top: 0.75rem; }
  .management-value { min-height: 100px; padding: 1.25rem 0; }
  .management-value + .management-value { border-left: 0; border-top: 1px solid rgba(44, 17, 52, 0.12); }

  .leadership-profiles__header { margin-bottom: 2.5rem; }
  .leadership-profiles__header h2 { font-size: clamp(2.6rem, 13vw, 3.8rem); }

  .leader-profile { padding: 2.6rem 0; gap: 2rem; }
  .leader-profile__aside { grid-template-columns: 1fr; gap: 1.35rem; }
  .leader-profile__media { aspect-ratio: 4 / 3; border-radius: 2px 30px 2px 30px; }
  .leader-profile__content { display: block; padding: 0; }
  .leader-profile__id h3 { font-size: clamp(2rem, 9vw, 2.6rem); }
  .leader-profile__focus { margin-top: 1.2rem; }

  .management-belief__card { grid-template-columns: 1fr; }
  .management-belief__card h2 { font-size: clamp(2.65rem, 13vw, 4rem); }
  .management-belief__card a { grid-column: 1; grid-row: auto; justify-self: start; }
}

@media (prefers-reduced-motion: reduce) {
  .leader-profile__media img,
  .leader-profile__accent,
  .management-belief__card a { transition: none; }
}

.inner-page--orange {
  --page-accent: var(--pas-orange);
  --page-accent-rgb: 220, 118, 3;
  --page-accent-soft: var(--pas-cream);
  --page-accent-deep: #4b2507;
}

.inner-page--teal {
  --page-accent: var(--pas-teal);
  --page-accent-rgb: 15, 118, 110;
  --page-accent-soft: var(--pas-mint);
  --page-accent-deep: #0b3d3a;
}

.inner-page--gold {
  --page-accent: var(--pas-gold);
  --page-accent-rgb: 201, 138, 30;
  --page-accent-soft: #fff6d9;
  --page-accent-deep: #493008;
}

.inner-page main {
  overflow: clip;
}

.inner-page [id] {
  scroll-margin-top: 88px;
}

.reading-progress {
  position: fixed;
  inset: 0 0 auto;
  height: 4px;
  z-index: 150;
  background: rgba(255, 255, 255, 0.12);
  pointer-events: none;
}

.reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, var(--page-accent), var(--pas-orange-light));
  transform: scaleX(0);
  transform-origin: left center;
  will-change: transform;
}

/* Hero */
.inner-hero {
  position: relative;
  min-height: clamp(540px, 72svh, 700px);
  display: grid;
  place-items: center;
  overflow: hidden;
  isolation: isolate;
  background: var(--page-accent-deep);
}

.inner-hero__media,
.inner-hero__video,
.inner-hero__overlay {
  position: absolute;
  inset: 0;
}

.inner-hero__media {
  z-index: -3;
  background-image: var(--inner-hero-image);
  background-position: center;
  background-size: cover;
  transform: scale(1.045);
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 900ms ease;
}

.inner-hero__video {
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.96) contrast(1.04);
  transform: scale(1.045);
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 900ms ease;
}

.inner-hero__overlay {
  z-index: -2;
  background:
    radial-gradient(circle at 18% 20%, rgba(var(--page-accent-rgb), 0.56), transparent 36%),
    radial-gradient(circle at 88% 86%, rgba(240, 136, 32, 0.3), transparent 34%),
    linear-gradient(180deg, rgba(23, 9, 29, 0.38), rgba(18, 7, 24, 0.82));
}

.inner-hero__overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.13;
  background-image: radial-gradient(rgba(255, 255, 255, 0.75) 0.5px, transparent 0.7px);
  background-size: 4px 4px;
  mix-blend-mode: soft-light;
}

.inner-hero__content {
  position: relative;
  z-index: 2;
  width: min(920px, calc(100% - 2.5rem));
  padding-top: 6rem;
  text-align: center;
  color: #fff;
}

.inner-hero__back {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.13em;
  text-transform: uppercase;
  transition: color 240ms ease, transform 240ms ease;
}

.inner-hero__back:hover {
  color: #fff;
  transform: translateX(-4px);
}

.inner-hero__eyebrow {
  margin: 0 0 1rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.72rem, 1.5vw, 0.9rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.inner-hero__title {
  margin: 0;
  color: #fff;
  font-size: clamp(3rem, 8vw, 6.8rem);
  font-weight: 600;
  letter-spacing: -0.045em;
  line-height: 0.98;
  text-wrap: balance;
}

.inner-hero__rule {
  display: block;
  width: clamp(76px, 10vw, 130px);
  height: 4px;
  margin: 2rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--page-accent), var(--pas-orange-light));
  box-shadow: 0 8px 24px rgba(var(--page-accent-rgb), 0.44);
}

.inner-hero__scroll {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.65rem;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  transform: translateX(-50%);
}

.inner-hero__scroll i {
  animation: innerBounce 1.8s ease-in-out infinite;
}

.inner-hero__curve {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: clamp(90px, 12vw, 150px);
  pointer-events: none;
  opacity: 0.72;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-40 110C250 20 420 28 720 100C1020 172 1220 150 1640 30' fill='none' stroke='white' stroke-opacity='.72' stroke-width='2.5' stroke-linecap='round' stroke-dasharray='2 14'/%3E%3Ccircle cx='240' cy='47' r='6' fill='white' fill-opacity='.8'/%3E%3Ccircle cx='725' cy='101' r='8' fill='white' fill-opacity='.72'/%3E%3Ccircle cx='1260' cy='130' r='5' fill='white' fill-opacity='.78'/%3E%3C/svg%3E");
  background-position: center bottom;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

@keyframes innerBounce {
  0%, 100% { transform: translateY(-2px); }
  50% { transform: translateY(5px); }
}

html.js body:not(.is-loaded) :is(.inner-hero__media, .inner-hero__video) {
  opacity: 0;
  transform: scale(1.11);
}

html.js body:not(.is-loaded) .inner-hero__back,
html.js body:not(.is-loaded) .inner-hero__eyebrow,
html.js body:not(.is-loaded) .inner-hero__title,
html.js body:not(.is-loaded) .inner-hero__rule,
html.js body:not(.is-loaded) .inner-hero__scroll {
  opacity: 0;
  transform: translateY(22px);
}

html.js .inner-hero__back,
html.js .inner-hero__eyebrow,
html.js .inner-hero__title,
html.js .inner-hero__rule,
html.js .inner-hero__scroll {
  transition: opacity 650ms ease, transform 650ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.js .inner-hero__eyebrow { transition-delay: 160ms; }
html.js .inner-hero__title { transition-delay: 260ms; }
html.js .inner-hero__rule { transition-delay: 380ms; }
html.js .inner-hero__scroll { transition-delay: 520ms; }

html.js body.is-loaded :is(.inner-hero__media, .inner-hero__video) {
  opacity: 1;
  transform: scale(1.045);
}

html.js body.is-loaded .inner-hero__back,
html.js body.is-loaded .inner-hero__eyebrow,
html.js body.is-loaded .inner-hero__title,
html.js body.is-loaded .inner-hero__rule {
  opacity: 1;
  transform: none;
}

html.js body.is-loaded .inner-hero__scroll {
  opacity: 1;
  transform: translateX(-50%);
}

/* Full-screen menu additions */
.inner-page .site-menu__links {
  gap: clamp(0.55rem, 1.5vh, 1rem);
}

.inner-page .site-menu__logo-link {
  margin-bottom: clamp(1rem, 2.5vh, 2rem);
}

.site-menu__link[aria-current="page"] {
  color: var(--color-accent-light);
}

.site-menu__link[aria-current="page"]::after {
  left: 0;
  width: 100%;
}

/* Content sections */
.inner-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.25rem, 4.5vw, 5rem) 0;
  background:
    radial-gradient(circle at 12% 10%, rgba(131, 41, 150, 0.12), transparent 28%),
    radial-gradient(circle at 90% 88%, rgba(220, 118, 3, 0.12), transparent 30%),
    url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1.1' fill='%23000000' fill-opacity='.028'/%3E%3C/svg%3E"),
    linear-gradient(135deg, var(--pas-lavender) 0%, #fff 45%, var(--pas-cream) 100%);
}

.inner-section:nth-child(even) {
  background:
    radial-gradient(circle at 12% 10%, rgba(131, 41, 150, 0.12), transparent 28%),
    radial-gradient(circle at 90% 88%, rgba(220, 118, 3, 0.12), transparent 30%),
    url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1.1' fill='%23000000' fill-opacity='.028'/%3E%3C/svg%3E"),
    linear-gradient(135deg, var(--pas-lavender) 0%, #fff 45%, var(--pas-cream) 100%);
}

.inner-section--tone-2 {
  background:
    radial-gradient(circle at 6% 12%, rgba(111, 44, 131, 0.16), transparent 26%),
    radial-gradient(circle at 94% 88%, rgba(229, 123, 24, 0.16), transparent 28%),
    repeating-linear-gradient(0deg, rgba(111, 44, 131, 0.035) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(229, 123, 24, 0.03) 0 1px, transparent 1px 44px),
    linear-gradient(135deg, #fff 0%, #fbf8fc 52%, #fff9ef 100%) !important;
}

.inner-section--tone-3 {
  background:
    repeating-linear-gradient(0deg, rgba(21, 38, 61, 0.05) 0 1px, transparent 1px 46px),
    repeating-linear-gradient(90deg, rgba(21, 38, 61, 0.05) 0 1px, transparent 1px 46px),
    linear-gradient(135deg, #eef3f1 0%, #f4f8f6 45%, #eef2f7 100%) !important;
}

.inner-section--tone-4 {
  background:
    radial-gradient(circle at 8% 88%, rgba(232, 169, 26, 0.2), transparent 32%),
    radial-gradient(circle at 92% 14%, rgba(239, 123, 90, 0.18), transparent 30%),
    linear-gradient(125deg, #fff6e6 0%, #fff3ec 50%, #fff8e1 100%) !important;
}

.inner-section::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 4% -3% auto;
  height: clamp(220px, 30vw, 390px);
  pointer-events: none;
  opacity: 0.48;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 380' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-40 300C260 180 420 180 720 260C1020 340 1180 340 1480 180' fill='none' stroke='%23832996' stroke-opacity='.35' stroke-width='2.5' stroke-linecap='round' stroke-dasharray='2 14'/%3E%3Ccircle cx='250' cy='220' r='7' fill='%23dc7603' fill-opacity='.55'/%3E%3Ccircle cx='720' cy='260' r='9' fill='%23832996' fill-opacity='.42'/%3E%3Ccircle cx='1190' cy='330' r='6' fill='%230f766e' fill-opacity='.5'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.inner-section__decor {
  position: absolute;
  z-index: -1;
  top: clamp(2rem, 6vw, 5rem);
  right: clamp(-9rem, -7vw, -3rem);
  width: clamp(220px, 26vw, 390px);
  aspect-ratio: 1;
  border: 1px solid rgba(var(--page-accent-rgb), 0.11);
  border-radius: 50%;
  box-shadow: 0 0 0 64px rgba(var(--page-accent-rgb), 0.025);
}

.inner-section__decor::after {
  content: "";
  position: absolute;
  left: -18vw;
  bottom: -12vw;
  width: 110px;
  height: 110px;
  opacity: 0.42;
  background-image: radial-gradient(rgba(var(--page-accent-rgb), 0.42) 1.5px, transparent 1.7px);
  background-size: 14px 14px;
}

.inner-section__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: end;
  gap: clamp(1.25rem, 3vw, 2.5rem);
  max-width: 960px;
  margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.inner-section__number {
  color: rgba(var(--page-accent-rgb), 0.2);
  font-family: var(--font-family-secondary);
  font-size: clamp(3.6rem, 8vw, 7rem);
  font-weight: 800;
  letter-spacing: -0.08em;
  line-height: 0.78;
}

.inner-section__header .eyebrow {
  margin-bottom: 1.1rem;
}

.inner-section__header h2 {
  max-width: 820px;
  margin: 0;
  color: var(--page-accent-deep);
  font-size: clamp(2rem, 4.2vw, 4rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.04;
  text-wrap: balance;
}

.section-lead {
  max-width: 920px;
  margin-bottom: clamp(1.75rem, 3vw, 3rem);
}

.section-lead--opening {
  position: relative;
  max-width: 1060px;
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  padding: clamp(1.8rem, 4vw, 3.4rem);
  border: 1px solid rgba(var(--page-accent-rgb), 0.12);
  border-radius: clamp(22px, 3vw, 34px);
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 28px 70px -46px rgba(42, 17, 50, 0.5);
}

.section-lead--opening::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 6px;
  border-radius: inherit;
  background: linear-gradient(180deg, var(--page-accent), var(--pas-orange));
}

.section-lead p,
.detail-card p {
  color: #504957;
  font-size: clamp(1rem, 1.35vw, 1.12rem);
  line-height: 1.85;
}

.section-lead p {
  margin: 0 0 1.15rem;
}

.section-lead p:last-child,
.detail-card p:last-child {
  margin-bottom: 0;
}

.section-lead strong,
.detail-card strong {
  color: var(--page-accent-deep);
  font-weight: 750;
}

/* Image-led bento story, echoing the homepage's visual rhythm. */
.inner-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.85fr);
  grid-template-rows: repeat(2, minmax(190px, 1fr));
  gap: clamp(0.85rem, 1.8vw, 1.35rem);
  min-height: clamp(430px, 48vw, 620px);
  margin: 0 auto clamp(2.25rem, 4vw, 4rem);
}

.inner-gallery__item {
  position: relative;
  min-width: 0;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  isolation: isolate;
  border: 1px solid rgba(var(--page-accent-rgb), 0.14);
  border-radius: clamp(20px, 2.5vw, 30px);
  background: var(--page-accent-soft);
  box-shadow: 0 24px 55px -34px rgba(42, 17, 50, 0.52);
}

.inner-gallery__item--1 {
  grid-row: 1 / 3;
}

.inner-gallery__item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, transparent 58%, rgba(28, 11, 34, 0.34)),
    radial-gradient(circle at 82% 18%, rgba(var(--page-accent-rgb), 0.2), transparent 34%);
  transition: opacity 420ms ease;
}

.inner-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1), filter 500ms ease;
}

.inner-gallery__item:hover img {
  filter: saturate(1.08) contrast(1.02);
  transform: scale(1.055);
}

.inner-gallery__item:hover::after {
  opacity: 0.72;
}

.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  align-items: stretch;
}

.detail-card {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  min-width: 0;
  padding: clamp(1.35rem, 2.5vw, 2.1rem);
  overflow: hidden;
  border: 1px solid rgba(42, 17, 50, 0.08);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-soft);
  transition: transform 340ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 340ms ease, border-color 340ms ease;
}

.detail-card::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(112deg, transparent 0 35%, rgba(255, 255, 255, 0.74) 48%, transparent 62%);
  transform: translateX(-120%);
}

.detail-card::after {
  content: "";
  position: absolute;
  width: 130px;
  height: 130px;
  right: -76px;
  bottom: -78px;
  border-radius: 50%;
  background: rgba(var(--page-accent-rgb), 0.08);
  transition: transform 420ms ease;
}

.detail-card:hover {
  z-index: 2;
  border-color: rgba(var(--page-accent-rgb), 0.24);
  box-shadow: var(--shadow-soft-hover);
  transform: translateY(-7px);
}

.detail-card:hover::after {
  transform: scale(1.35);
}

.detail-card:hover::before {
  animation: innerLightSweep 900ms ease both;
}

@keyframes innerLightSweep {
  to { transform: translateX(120%); }
}

.detail-card--media {
  grid-template-columns: auto minmax(0, 1fr);
  padding: 0 0 clamp(1.35rem, 2.5vw, 2rem);
}

.detail-card__media {
  position: relative;
  grid-column: 1 / -1;
  height: clamp(185px, 18vw, 250px);
  margin-bottom: 0.35rem;
  overflow: hidden;
  background: var(--page-accent-soft);
}

.detail-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 62%, rgba(28, 11, 34, 0.22));
  pointer-events: none;
}

.detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.22, 1, 0.36, 1), filter 400ms ease;
}

.detail-card--media:hover .detail-card__media img {
  filter: saturate(1.08);
  transform: scale(1.06);
}

.detail-card--media > .detail-card__icon {
  margin-left: clamp(1.35rem, 2.5vw, 2rem);
}

.detail-card--media > .detail-card__body {
  margin-right: clamp(1.35rem, 2.5vw, 2rem);
}

.detail-card__icon {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: var(--page-accent);
  background: var(--page-accent-soft);
  font-size: 1.25rem;
  transition: color 280ms ease, background 280ms ease, transform 280ms ease;
}

.detail-card:hover > .detail-card__icon {
  color: #fff;
  background: var(--page-accent);
  transform: rotate(-5deg) scale(1.05);
}

.detail-card__body {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.detail-card h3 {
  margin: 0.25rem 0 0.85rem;
  color: var(--page-accent-deep);
  font-size: clamp(1.18rem, 1.8vw, 1.55rem);
  font-weight: 750;
  letter-spacing: -0.02em;
}

.detail-card p {
  margin: 0 0 0.9rem;
  font-size: 0.98rem;
  line-height: 1.75;
}

.content-list {
  display: grid;
  gap: 0.65rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.content-list li {
  position: relative;
  padding-left: 1.5rem;
  color: #504957;
  line-height: 1.65;
}

.content-list li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--page-accent);
  box-shadow: 0 0 0 4px rgba(var(--page-accent-rgb), 0.1);
}

.content-callout {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  margin: 1.3rem 0 0;
  padding: 1.2rem 1.3rem;
  border: 1px solid rgba(var(--page-accent-rgb), 0.15);
  border-radius: var(--radius-md);
  background: var(--page-accent-soft);
}

.content-callout > i {
  flex: none;
  margin-top: 0.25rem;
  color: var(--page-accent);
}

.content-callout p {
  margin: 0;
}

.detail-grid--nested {
  grid-template-columns: 1fr;
  margin-top: 1.25rem;
}

.detail-grid--nested .detail-card {
  padding: 1.1rem;
  border-radius: var(--radius-md);
  box-shadow: none;
  background: var(--page-accent-soft);
}

.detail-grid--nested .detail-card__icon {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
}

.detail-grid--nested .detail-card h3 {
  margin-top: 0.15rem;
  font-size: 1.08rem;
}

/* Contact, admission and career forms share the homepage's layered colour and motion. */
.contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  margin-bottom: clamp(2.25rem, 4vw, 4rem);
}

.contact-card {
  grid-template-columns: 1fr;
  min-height: 220px;
  align-content: center;
}

.form-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(3.5rem, 5.5vw, 6rem) 0;
  background:
    radial-gradient(circle at 8% 88%, rgba(232, 169, 26, 0.2), transparent 32%),
    radial-gradient(circle at 92% 14%, rgba(239, 123, 90, 0.18), transparent 30%),
    linear-gradient(125deg, #fff6e6 0%, #fff3ec 50%, #fff8e1 100%);
}

.form-section__path {
  position: absolute;
  z-index: -1;
  inset: 2% -5% auto;
  height: 62%;
  pointer-events: none;
  opacity: 0.72;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 1600 520' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M-40 360C230 150 460 170 720 330C980 490 1240 430 1640 130' fill='none' stroke='%23832996' stroke-opacity='.42' stroke-width='3' stroke-linecap='round' stroke-dasharray='2 16'/%3E%3Ccircle cx='235' cy='235' r='8' fill='%23dc7603' fill-opacity='.72'/%3E%3Ccircle cx='720' cy='330' r='10' fill='%23832996' fill-opacity='.56'/%3E%3Ccircle cx='1280' cy='370' r='7' fill='%230f766e' fill-opacity='.62'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.form-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, 0.84fr) minmax(0, 1.16fr);
  max-width: 1180px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(42, 17, 50, 0.1);
  border-radius: clamp(26px, 4vw, 42px);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 40px 90px -44px rgba(42, 17, 50, 0.62);
  transition: transform 420ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 420ms ease;
}

.form-shell:hover {
  box-shadow: 0 46px 100px -40px rgba(42, 17, 50, 0.7);
  transform: translateY(-6px);
}

.form-intro {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(2.25rem, 5vw, 4.5rem);
  color: #fff;
  background:
    radial-gradient(circle at 12% 10%, rgba(239, 153, 46, 0.35), transparent 32%),
    radial-gradient(circle at 90% 86%, rgba(15, 118, 110, 0.34), transparent 34%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 18px),
    linear-gradient(125deg, #171124 0%, #3b184b 45%, #173f46 100%);
}

.form-intro::after {
  content: "";
  position: absolute;
  z-index: -1;
  right: -110px;
  bottom: -100px;
  width: 280px;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  box-shadow: 0 0 0 56px rgba(255, 255, 255, 0.035);
}

.eyebrow--light {
  color: var(--pas-orange-light);
}

.form-intro h2 {
  max-width: 480px;
  margin: 1rem 0 1.25rem;
  color: #fff;
  font-size: clamp(2.15rem, 3.6vw, 3.5rem);
  font-weight: 650;
  letter-spacing: -0.04em;
  line-height: 1.02;
  text-wrap: balance;
}

.form-intro > p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1rem;
  line-height: 1.8;
}

.form-intro__points {
  display: grid;
  gap: 0.85rem;
  margin: clamp(2rem, 4vw, 3rem) 0 0;
  padding: 0;
  list-style: none;
}

.form-intro__points li {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.93rem;
  line-height: 1.5;
}

.form-intro__points i {
  flex: none;
  color: var(--pas-orange-light);
}

.contact-panel {
  padding: clamp(2rem, 5vw, 4rem);
  background:
    radial-gradient(circle at 100% 0, rgba(var(--page-accent-rgb), 0.07), transparent 34%),
    rgba(255, 255, 255, 0.96);
}

.contact-alternative {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.contact-alternative__label {
  margin-bottom: 0.8rem;
  color: var(--page-accent-deep);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-alternative h3 {
  margin: 0;
  color: #2b1932;
  font-family: var(--font-family-secondary);
  font-size: clamp(2rem, 3.2vw, 3.25rem);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.contact-alternative > p {
  max-width: 620px;
  margin: 1rem 0 0;
  color: #655d69;
  line-height: 1.75;
}

.contact-alternative__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.6rem;
}

.contact-alternative__actions .form-submit {
  margin-top: 0;
}

.contact-alternative__note {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  font-size: 0.88rem;
}

.form-submit {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.85rem;
  min-width: 190px;
  margin-top: 1.6rem;
  padding: 0.95rem 1.35rem;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(90deg, var(--pas-purple), var(--pas-orange));
  box-shadow: 0 16px 30px -16px rgba(131, 41, 150, 0.72);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 800;
  text-decoration: none;
  cursor: pointer;
  transition: transform 260ms ease, box-shadow 260ms ease, filter 260ms ease;
}

.form-submit::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 15%, rgba(255, 255, 255, 0.42) 48%, transparent 72%);
  transform: translateX(-130%);
  transition: transform 600ms ease;
}

.form-submit > * {
  position: relative;
  z-index: 1;
}

.form-submit i {
  transition: transform 260ms ease;
}

.form-submit:hover {
  filter: saturate(1.1);
  box-shadow: 0 20px 38px -14px rgba(131, 41, 150, 0.8);
  transform: translateY(-4px);
}

.form-submit:hover::before {
  transform: translateX(130%);
}

.form-submit:hover i {
  transform: translate(3px, -3px);
}

.form-submit--secondary {
  border: 1px solid rgba(var(--page-accent-rgb), 0.25);
  color: var(--page-accent-deep);
  background: rgba(var(--page-accent-rgb), 0.07);
  box-shadow: none;
}

.form-submit--secondary:hover {
  border-color: rgba(var(--page-accent-rgb), 0.5);
  background: rgba(var(--page-accent-rgb), 0.12);
  box-shadow: 0 14px 28px -20px rgba(var(--page-accent-rgb), 0.65);
}

.form-submit:focus-visible {
  outline: 3px solid rgba(232, 133, 19, 0.65);
  outline-offset: 3px;
}

/* Scroll reveal, layered on top of the homepage motion behaviour. */
html.js .inner-section {
  opacity: 0;
  transform: translateY(34px);
  transition: opacity 760ms ease, transform 760ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.js .inner-section.is-revealed {
  opacity: 1;
  transform: none;
}

html.js .inner-section .js-stagger {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 600ms ease, transform 600ms cubic-bezier(0.22, 1, 0.36, 1);
}

html.js .inner-section.is-revealed .js-stagger {
  opacity: 1;
  transform: none;
}

html.js .inner-section.is-revealed .detail-card:hover {
  transform: translateY(-7px);
}

html.js .inner-section.is-revealed .detail-card:nth-child(2) { transition-delay: 70ms; }
html.js .inner-section.is-revealed .detail-card:nth-child(3) { transition-delay: 140ms; }
html.js .inner-section.is-revealed .detail-card:nth-child(4) { transition-delay: 210ms; }
html.js .inner-section.is-revealed .detail-card:nth-child(5) { transition-delay: 280ms; }
html.js .inner-section.is-revealed .detail-card:nth-child(6) { transition-delay: 350ms; }

/* Next-page invitation */
.next-page {
  padding: clamp(3rem, 4.5vw, 4.5rem) 0;
  background: var(--pas-plum-deep);
}

.next-page__card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1.25rem;
  padding: clamp(2rem, 5vw, 4.5rem);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: clamp(24px, 4vw, 42px);
  color: #fff;
  text-decoration: none;
  background:
    radial-gradient(circle at 10% 10%, rgba(var(--page-accent-rgb), 0.48), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
  transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1), border-color 360ms ease, box-shadow 360ms ease;
}

.next-page__card::after {
  content: "";
  position: absolute;
  right: -10%;
  top: -80%;
  width: 55%;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.025);
}

.next-page__card:hover {
  border-color: rgba(255, 255, 255, 0.24);
  box-shadow: 0 30px 70px -38px rgba(var(--page-accent-rgb), 0.7);
  transform: translateY(-7px);
}

.next-page__label {
  grid-column: 1;
  color: var(--pas-orange-light);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.next-page__card strong {
  grid-column: 1;
  max-width: 850px;
  color: #fff;
  font-family: var(--font-family-secondary);
  font-size: clamp(1.8rem, 4vw, 3.8rem);
  font-weight: 650;
  letter-spacing: -0.035em;
  line-height: 1.08;
}

.next-page__arrow {
  position: relative;
  z-index: 1;
  grid-column: 2;
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: clamp(60px, 8vw, 88px);
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: var(--page-accent);
  font-size: clamp(1.2rem, 2vw, 1.7rem);
  transition: color 300ms ease, background 300ms ease, transform 300ms ease;
}

.next-page__card:hover .next-page__arrow {
  color: var(--page-accent);
  background: #fff;
  transform: rotate(6deg) scale(1.05);
}

.footer-home-link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: rgba(255, 255, 255, 0.72);
  text-decoration: none;
  transition: color 220ms ease;
}

.footer-home-link:hover {
  color: #fff;
}

.back-to-top {
  position: fixed;
  right: clamp(1rem, 3vw, 2rem);
  bottom: clamp(1rem, 3vw, 2rem);
  z-index: 35;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: var(--page-accent);
  box-shadow: 0 14px 32px rgba(var(--page-accent-rgb), 0.34);
  cursor: pointer;
  opacity: 0;
  transform: translateY(14px);
  visibility: hidden;
  transition: opacity 260ms ease, transform 260ms ease, visibility 260ms ease, background 260ms ease;
}

.back-to-top.is-visible {
  opacity: 1;
  transform: none;
  visibility: visible;
}

.back-to-top:hover {
  background: var(--page-accent-deep);
  transform: translateY(-3px);
}

@media (min-width: 1100px) {
  .inner-section:has(.detail-grid > .detail-card:nth-child(6)) > .container > .detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inner-section:has(.detail-grid > .detail-card:nth-child(6)) > .container > .detail-grid > .detail-card {
    grid-template-columns: 1fr;
    align-content: center;
    min-height: 390px;
  }

  .inner-section:has(.detail-grid > .detail-card:nth-child(6)) > .container > .detail-grid > .detail-card--media {
    align-content: start;
  }

  .inner-section:has(.detail-grid > .detail-card:nth-child(6)) > .container > .detail-grid > .detail-card--media .detail-card__media {
    height: 190px;
  }
}

@media (max-width: 760px) {
  .inner-hero {
    min-height: 560px;
  }

  .inner-hero__content {
    padding-top: 5rem;
  }

  .detail-grid {
    grid-template-columns: 1fr;
  }

  .contact-grid,
  .form-shell {
    grid-template-columns: 1fr;
  }

  .form-intro,
  .contact-panel {
    padding: 2rem 1.35rem;
  }

  .form-shell:hover {
    transform: none;
  }

  .inner-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: minmax(280px, 50vh) minmax(150px, 26vh);
    min-height: 0;
  }

  .inner-gallery__item--1 {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .inner-section::before,
  .form-section__path {
    right: auto;
    left: -20%;
    width: 140%;
  }

  .inner-section__header {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .inner-section__number {
    font-size: 3.8rem;
  }

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

  .detail-card--media > .detail-card__icon,
  .detail-card--media > .detail-card__body {
    margin-right: 1.35rem;
    margin-left: 1.35rem;
  }

  .detail-card__media {
    height: clamp(205px, 58vw, 270px);
  }

  .detail-card__icon {
    width: 44px;
    height: 44px;
  }

  .next-page__card {
    grid-template-columns: 1fr;
  }

  .next-page__arrow {
    grid-column: 1;
    grid-row: auto;
    width: 58px;
  }
}

@media (max-height: 720px) {
  .inner-page .site-menu__logo-link {
    display: none;
  }

  .inner-page .site-menu__links {
    gap: 0.45rem;
  }

  .inner-page .site-menu__link {
    font-size: clamp(0.95rem, 2.5vh, 1.2rem);
  }
}


@media (prefers-reduced-motion: reduce) {
  .inner-hero__scroll i {
    animation: none;
  }

  html.js .inner-section,
  html.js .inner-section .js-stagger,
  .detail-card,
  .detail-card::before,
  .detail-card::after,
  .detail-card__icon,
  .detail-card__media img,
  .inner-gallery__item img,
  .inner-gallery__item::after,
  .form-shell,
  .form-submit,
  .form-submit::before,
  .form-submit i,
  .next-page__card,
  .next-page__arrow,
  .back-to-top,
  .inner-hero__media,
  .inner-hero__video,
  .inner-hero__back,
  .inner-hero__eyebrow,
  .inner-hero__title,
  .inner-hero__rule,
  .inner-hero__scroll {
    transition-duration: 0.01ms !important;
  }

  html.js .inner-section,
  html.js .inner-section .js-stagger {
    opacity: 1;
    transform: none;
  }
}

@media print {
  .reading-progress,
  .hero__menu,
  .site-menu,
  .inner-hero__scroll,
  .next-page,
  .back-to-top,
  .site-footer {
    display: none !important;
  }

  .inner-hero {
    min-height: 240px;
    break-after: avoid;
  }

  .inner-section,
  .detail-card {
    break-inside: avoid;
  }
}

/* ========================================================================== */
/* Premium page layouts — consolidated from pages.css                         */
/* ========================================================================== */
/* Premium inner pages: shared homepage polish with page-specific compositions. */
.premium-page {
  --premium-ink: #171124;
  --premium-purple: #832996;
  --premium-orange: #ed8121;
  --premium-teal: #0f766e;
  --premium-gold: #d99a20;
  background: #fffdf9;
}

.premium-page .inner-hero {
  min-height: clamp(600px, 80svh, 760px);
}

.premium-page :is(.inner-hero__media, .inner-hero__video) {
  z-index: 0;
  filter: saturate(1.02) contrast(1.04);
}

.premium-page .inner-hero__overlay {
  z-index: 1;
  background:
    radial-gradient(circle at 14% 17%, rgba(var(--page-accent-rgb), 0.3), transparent 34%),
    radial-gradient(circle at 88% 84%, rgba(237, 129, 33, 0.25), transparent 34%),
    linear-gradient(180deg, rgba(23, 12, 29, 0.22), rgba(18, 8, 24, 0.66));
}

.premium-page .inner-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.8%, rgba(255, 255, 255, 0.055) 50%, transparent 50.2%),
    linear-gradient(0deg, transparent 49.8%, rgba(255, 255, 255, 0.045) 50%, transparent 50.2%);
  background-size: 128px 128px;
  mask-image: linear-gradient(to bottom, #000, transparent 88%);
}

.premium-page .inner-hero__curve { z-index: 3; }
.premium-page .inner-hero__content,
.premium-page .inner-hero__scroll { z-index: 4; }

.premium-page .inner-hero__title {
  font-size: clamp(3.8rem, 9vw, 7.8rem);
  text-shadow: 0 18px 50px rgba(0, 0, 0, 0.28);
}

.premium-page .inner-hero__rule {
  width: clamp(100px, 13vw, 170px);
  background: linear-gradient(90deg, var(--page-accent), var(--premium-orange), var(--premium-teal));
}

.premium-page .inner-section {
  padding: clamp(3.25rem, 4.5vw, 5rem) 0;
}

.premium-page .inner-section__header h2 {
  font-size: clamp(2.55rem, 5vw, 4.8rem);
}

.premium-page .inner-section__number {
  font-size: clamp(4.5rem, 9vw, 8rem);
}

.premium-page .inner-gallery__item {
  border: 4px solid rgba(255, 255, 255, 0.92);
  box-shadow: 0 30px 66px -38px rgba(23, 17, 36, 0.6);
}

.premium-page .detail-card {
  border-radius: 24px;
}

/* Shared two-column opening stories. */
.academics-page #academics,
.campus-page #campus-infrastructure,
.admissions-page #admissions {
  background:
    radial-gradient(circle at 5% 6%, rgba(var(--page-accent-rgb), 0.14), transparent 28%),
    radial-gradient(circle at 94% 92%, rgba(237, 129, 33, 0.15), transparent 29%),
    url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23832996' fill-opacity='.07'/%3E%3C/svg%3E"),
    linear-gradient(135deg, #faf3ff 0%, #fff 48%, #fff3df 100%) !important;
}

.academics-page #academics > .container,
.campus-page #campus-infrastructure > .container,
.admissions-page #admissions > .container {
  display: grid;
  grid-template-columns: minmax(330px, 0.76fr) minmax(0, 1.24fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.academics-page #academics .section-lead--opening,
.campus-page #campus-infrastructure .section-lead--opening,
.admissions-page #admissions .section-lead--opening {
  margin: 0;
  padding: clamp(2rem, 4vw, 3.4rem);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.academics-page #academics .section-lead--opening::after,
.campus-page #campus-infrastructure .section-lead--opening::after,
.admissions-page #admissions .section-lead--opening::after {
  content: "Explore \2022  Learn \2022  Grow";
  display: inline-flex;
  margin-top: 1.2rem;
  color: var(--page-accent);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.academics-page #academics .inner-gallery,
.campus-page #campus-infrastructure .inner-gallery,
.admissions-page #admissions .inner-gallery {
  min-height: clamp(520px, 46vw, 640px);
  margin: 0;
}

.campus-page #campus-infrastructure > .container > .detail-grid,
.admissions-page #admissions > .container > .detail-grid {
  grid-column: 1 / -1;
  margin-top: clamp(1rem, 3vw, 2rem);
}

/* Academics: alternate text and image-led knowledge panels. */
.academics-page #academic-overview {
  color: #fff;
  background:
    radial-gradient(circle at 8% 12%, rgba(237, 129, 33, 0.28), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(15, 118, 110, 0.3), transparent 30%),
    linear-gradient(125deg, #1a1020, #4a1c51 52%, #123d43) !important;
}

.academics-page #academic-overview .container {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.95fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.academics-page #academic-overview .inner-section__header,
.academics-page #academic-overview .section-lead {
  grid-column: 1;
}

.academics-page #academic-overview .inner-section__header,
.academics-page #academic-overview .section-lead,
.academics-page #academic-overview .detail-grid {
  margin-bottom: 0;
}

.academics-page #academic-overview .detail-grid {
  grid-column: 2;
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
}

.academics-page #academic-overview .inner-section__header h2,
.academics-page #academic-overview .inner-section__header .eyebrow,
.academics-page #academic-overview .section-lead p {
  color: #fff;
}

.academics-page #academic-overview .inner-section__number {
  color: rgba(255, 255, 255, 0.14);
}

.academics-page #academic-overview .detail-card {
  grid-template-columns: 1fr;
  min-height: 0;
  border-color: rgba(255, 255, 255, 0.13);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.academics-page #academic-overview .detail-card h3,
.academics-page #academic-overview .content-list li {
  color: #fff;
}

.academics-page #curriculum-offered .detail-grid {
  gap: 1.25rem;
}

.academics-page #curriculum-offered .detail-card {
  min-height: 620px;
}

.academics-page #curriculum-offered .detail-card__media {
  height: 270px;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead {
  grid-column: 1;
  margin-bottom: 0;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid {
  grid-column: 2;
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
  grid-template-columns: 1fr;
  min-height: 0;
  padding-bottom: 2rem;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media {
  height: 280px;
}

.academics-page #assessment-system .inner-section__header,
.academics-page #assessment-system .section-lead {
  grid-column: 2;
}

.academics-page #assessment-system .detail-grid {
  grid-column: 1;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container {
  display: grid;
  grid-template-columns: minmax(290px, 0.68fr) minmax(0, 1.32fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header {
  position: sticky;
  top: 2rem;
  grid-template-columns: 1fr;
  margin: 0;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead,
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid {
  grid-column: 2;
  max-width: none;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card {
  grid-template-columns: auto minmax(0, 1fr);
  min-height: 0;
}

/* Campus: rich facility and student-life bento fields. */
.campus-page #campus-infrastructure > .container > .detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card {
  grid-template-columns: 1fr !important;
  align-content: start !important;
  min-height: 285px !important;
  padding: 1.55rem;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media {
  padding: 0 0 1.55rem;
}

.campus-page #campus-infrastructure .detail-card__media {
  height: 205px !important;
}

.campus-page #student-life {
  color: #fff;
  background:
    radial-gradient(circle at 8% 12%, rgba(237, 129, 33, 0.28), transparent 27%),
    radial-gradient(circle at 94% 86%, rgba(15, 118, 110, 0.32), transparent 30%),
    linear-gradient(125deg, #16101f, #391745 48%, #0e3c42) !important;
}

.campus-page #student-life .inner-section__header h2,
.campus-page #student-life .inner-section__header .eyebrow,
.campus-page #student-life .section-lead p {
  color: #fff;
}

.campus-page #student-life .inner-section__number {
  color: rgba(255, 255, 255, 0.13);
}

.campus-page #student-life .detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem;
}

.campus-page #student-life .detail-card {
  grid-template-columns: 1fr !important;
  align-content: start !important;
  min-height: 260px !important;
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.campus-page #student-life .detail-card h3,
.campus-page #student-life .detail-card p {
  color: #fff;
}

.campus-page #student-life .detail-card p {
  color: rgba(255, 255, 255, 0.72);
}

.campus-page #student-life .detail-card--media {
  padding: 0 0 1.5rem;
}

.campus-page #student-life .detail-card__media {
  height: 220px !important;
}

.campus-page :is(#faculty, #facilities) .detail-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.campus-page :is(#faculty, #facilities) .detail-card {
  grid-template-columns: 1fr !important;
  min-height: 250px !important;
}

.campus-page :is(#faculty, #facilities) .detail-card--media {
  padding: 0 0 1.5rem;
}

.campus-page :is(#faculty, #facilities) .detail-card__media {
  height: 220px !important;
}

/* Admissions: a clear overview, process timeline and document system. */
.admissions-page #admissions > .container > .detail-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card {
  grid-column: span 6;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
  grid-column: span 5;
  color: #fff;
  background:
    radial-gradient(circle at 90% 10%, rgba(237, 129, 33, 0.3), transparent 30%),
    linear-gradient(135deg, #34133d, #143e44);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) h3,
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) p {
  color: #fff;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) {
  grid-column: span 7;
}

.admissions-page #admissions .detail-grid--nested {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
}

.admissions-page #admissions .detail-grid--nested .detail-card {
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-height: 145px !important;
  border-color: rgba(217, 154, 32, 0.14);
  background: linear-gradient(145deg, #fffdf8, #fff7df);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-last-child(-n + 2) {
  background: rgba(255, 255, 255, 0.92);
}

.admissions-page .form-section {
  background:
    radial-gradient(circle at 8% 88%, rgba(217, 154, 32, 0.22), transparent 32%),
    radial-gradient(circle at 92% 14%, rgba(131, 41, 150, 0.15), transparent 30%),
    linear-gradient(125deg, #fff7df, #fff 48%, #faf0ff);
}

/* Contact and careers: text/cards on the left, visual story on the right. */
.contact-page #contact-us,
.careers-page #careers {
  background:
    radial-gradient(circle at 6% 8%, rgba(var(--page-accent-rgb), 0.15), transparent 27%),
    radial-gradient(circle at 94% 90%, rgba(237, 129, 33, 0.16), transparent 28%),
    linear-gradient(135deg, #faf2ff, #fff 48%, #fff4e4) !important;
}

.contact-page #contact-us .container,
.careers-page #careers .container {
  display: grid;
  grid-template-columns: minmax(410px, 0.9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 1rem clamp(2rem, 5vw, 5rem);
}

.contact-page #contact-us .inner-section__header h2,
.careers-page #careers .inner-section__header h2 {
  font-size: clamp(2.55rem, 3.3vw, 3.25rem);
}

.contact-page #contact-us .inner-section__header,
.contact-page #contact-us .section-lead,
.contact-page #contact-us .contact-grid,
.careers-page #careers .inner-section__header,
.careers-page #careers .section-lead,
.careers-page #careers .contact-grid {
  grid-column: 1;
  margin-bottom: 0;
}

.contact-page #contact-us .inner-gallery,
.careers-page #careers .inner-gallery {
  grid-column: 2;
  grid-row: 1 / 4;
  min-height: 700px;
  margin: 0;
}

.contact-page #contact-us .contact-grid,
.careers-page #careers .contact-grid {
  grid-template-columns: 1fr;
  gap: 0.8rem;
}

.contact-page #contact-us .contact-card,
.careers-page #careers .contact-card {
  grid-template-columns: auto minmax(0, 1fr);
  align-content: center;
  min-height: 130px;
  padding: 1.3rem;
}

.contact-page #contact-us .contact-card h3,
.careers-page #careers .contact-card h3 {
  margin-bottom: 0.35rem;
}

.contact-page #contact-us .contact-card p,
.careers-page #careers .contact-card p {
  margin: 0;
}

.contact-page .form-section,
.careers-page .form-section {
  padding: clamp(3.75rem, 5.5vw, 6.5rem) 0;
}

.contact-page .form-shell,
.careers-page .form-shell {
  box-shadow: 0 44px 100px -42px rgba(42, 17, 50, 0.72);
}

.careers-page .form-intro {
  background:
    radial-gradient(circle at 12% 10%, rgba(237, 129, 33, 0.34), transparent 32%),
    radial-gradient(circle at 90% 86%, rgba(15, 118, 110, 0.42), transparent 34%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 18px),
    linear-gradient(125deg, #111b24, #173e43 48%, #42184c);
}

/* Editorial de-carding: use open composition, rules and images instead of boxes. */
.academics-page #academics .section-lead--opening,
.campus-page #campus-infrastructure .section-lead--opening,
.admissions-page #admissions .section-lead--opening {
  padding: 0 0 0 clamp(1.5rem, 3vw, 2.5rem);
  border: 0;
  border-left: 4px solid var(--page-accent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.academics-page #academics .section-lead--opening::before,
.campus-page #campus-infrastructure .section-lead--opening::before,
.admissions-page #admissions .section-lead--opening::before {
  display: none;
}

.academics-page #academic-overview .detail-card,
.academics-page #curriculum-offered .detail-card,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card,
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card,
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
.campus-page #student-life .detail-card,
.campus-page :is(#faculty, #facilities) .detail-card,
.admissions-page #admissions > .container > .detail-grid > .detail-card:not(:first-child),
.admissions-page #admissions .detail-grid--nested .detail-card,
.contact-page #contact-us .contact-card,
.careers-page #careers .contact-card {
  border: 0;
  border-top: 1px solid rgba(var(--page-accent-rgb), 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.academics-page #academic-overview .detail-card::before,
.academics-page #academic-overview .detail-card::after,
.academics-page #curriculum-offered .detail-card::before,
.academics-page #curriculum-offered .detail-card::after,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card::before,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card::after,
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card::before,
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card::after,
.campus-page #campus-infrastructure .detail-card::before,
.campus-page #campus-infrastructure .detail-card::after,
.campus-page #student-life .detail-card::before,
.campus-page #student-life .detail-card::after,
.campus-page :is(#faculty, #facilities) .detail-card::before,
.campus-page :is(#faculty, #facilities) .detail-card::after,
.admissions-page #admissions > .container > .detail-grid > .detail-card:not(:first-child)::before,
.admissions-page #admissions > .container > .detail-grid > .detail-card:not(:first-child)::after,
.contact-page #contact-us .contact-card::before,
.contact-page #contact-us .contact-card::after,
.careers-page #careers .contact-card::before,
.careers-page #careers .contact-card::after {
  display: none;
}

.academics-page #academic-overview .detail-card:hover,
.academics-page #curriculum-offered .detail-card:hover,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card:hover,
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card:hover,
.campus-page #campus-infrastructure .detail-card:hover,
.campus-page #student-life .detail-card:hover,
.campus-page :is(#faculty, #facilities) .detail-card:hover,
.admissions-page #admissions > .container > .detail-grid > .detail-card:not(:first-child):hover,
.contact-page #contact-us .contact-card:hover,
.careers-page #careers .contact-card:hover {
  border-color: var(--page-accent);
  box-shadow: none;
  transform: translateY(-3px);
}

.academics-page #academic-overview .detail-card {
  padding: 1rem 0 1rem 2rem;
  border-top: 0;
  border-left: 2px solid rgba(255, 255, 255, 0.28);
}

.academics-page #academic-overview .detail-card__icon {
  background: rgba(255, 255, 255, 0.12);
}

.academics-page #curriculum-offered .detail-card,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card,
.campus-page #campus-infrastructure .detail-card--media,
.campus-page #student-life .detail-card--media,
.campus-page :is(#faculty, #facilities) .detail-card--media {
  padding-top: 0;
}

.academics-page #curriculum-offered .detail-card__media,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media,
.campus-page #campus-infrastructure .detail-card__media,
.campus-page #student-life .detail-card__media,
.campus-page :is(#faculty, #facilities) .detail-card__media {
  border-radius: 24px;
  box-shadow: 0 25px 55px -35px rgba(23, 17, 36, 0.62);
}

.campus-page #student-life .detail-card {
  border-color: rgba(255, 255, 255, 0.2);
}

.campus-page #student-life .detail-card:hover {
  border-color: var(--premium-orange);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(0 0, 94% 0, 100% 9%, 100% 100%, 0 100%);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1)::before,
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1)::after {
  display: none;
}

.admissions-page #admissions .detail-grid--nested {
  position: relative;
  grid-template-columns: 1fr;
  gap: 0;
}

.admissions-page #admissions .detail-grid--nested::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 21px;
  width: 1px;
  background: linear-gradient(var(--premium-gold), rgba(217, 154, 32, 0.08));
}

.admissions-page #admissions .detail-grid--nested .detail-card {
  position: relative;
  z-index: 1;
  min-height: 0 !important;
  padding: 1.2rem 0 1.4rem 3.7rem;
  border-top: 0;
  border-bottom: 1px solid rgba(217, 154, 32, 0.2);
}

.admissions-page #admissions .detail-grid--nested .detail-card__icon {
  grid-column: 1 !important;
  position: absolute;
  top: 1.1rem;
  left: 0;
  background: #fff8df;
  box-shadow: 0 0 0 6px #fff;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-last-child(-n + 2) {
  background: transparent;
}

.contact-page #contact-us .contact-card,
.careers-page #careers .contact-card {
  min-height: 0;
  padding: 1.15rem 0;
}

.contact-page #contact-us .contact-card:first-child,
.careers-page #careers .contact-card:first-child {
  border-top: 0;
}

.contact-page #contact-us .contact-card__icon,
.careers-page #careers .contact-card__icon {
  border-radius: 50%;
}

@media (max-width: 1080px) {
  .academics-page #academics > .container,
  .campus-page #campus-infrastructure > .container,
  .admissions-page #admissions > .container,
  .academics-page #academic-overview .container,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container,
  .contact-page #contact-us .container,
  .careers-page #careers .container {
    grid-template-columns: 1fr;
  }

  .academics-page #academic-overview .inner-section__header,
  .academics-page #academic-overview .section-lead,
  .academics-page #academic-overview .detail-grid,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid,
  .contact-page #contact-us .inner-section__header,
  .contact-page #contact-us .section-lead,
  .contact-page #contact-us .contact-grid,
  .contact-page #contact-us .inner-gallery,
  .careers-page #careers .inner-section__header,
  .careers-page #careers .section-lead,
  .careers-page #careers .contact-grid,
  .careers-page #careers .inner-gallery {
    grid-column: 1;
    grid-row: auto;
  }

  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header {
    position: static;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid,
  .campus-page :is(#faculty, #facilities) .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .contact-page #contact-us .contact-grid,
  .careers-page #careers .contact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .contact-page #contact-us .contact-card,
  .careers-page #careers .contact-card {
    grid-template-columns: 1fr;
  }

  .contact-page #contact-us .inner-gallery,
  .careers-page #careers .inner-gallery {
    min-height: 590px;
    margin-top: 1.5rem;
  }
}

@media (max-width: 760px) {
  .premium-page .inner-hero {
    min-height: 600px;
  }

  .premium-page .inner-hero__title {
    font-size: clamp(3.2rem, 16vw, 4.8rem);
  }

  .premium-page .inner-section {
    padding: 3rem 0;
  }

  .academics-page #academics .inner-gallery,
  .campus-page #campus-infrastructure .inner-gallery,
  .admissions-page #admissions .inner-gallery,
  .contact-page #contact-us .inner-gallery,
  .careers-page #careers .inner-gallery {
    min-height: 0;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid,
  .campus-page :is(#faculty, #facilities) .detail-grid,
  .contact-page #contact-us .contact-grid,
  .careers-page #careers .contact-grid {
    grid-template-columns: 1fr !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #student-life .detail-card,
  .campus-page :is(#faculty, #facilities) .detail-card {
    min-height: 0 !important;
  }

  .admissions-page #admissions > .container > .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card,
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(n) {
    grid-column: 1;
  }

  .admissions-page #admissions .detail-grid--nested {
    grid-template-columns: 1fr;
  }

  .academics-page #curriculum-offered .detail-card {
    min-height: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .premium-page .detail-card,
  .premium-page .inner-gallery__item,
  .premium-page .inner-gallery__item img {
    transition: none;
  }
}

/* ========================================================================== */
/* About page layouts — consolidated from about.css                           */
/* ========================================================================== */
/* About page - editorial layouts built from the homepage design language. */
.about-page {
  --about-ink: #171124;
  --about-plum: #552065;
  --about-purple: #832996;
  --about-orange: #ee8424;
  --about-teal: #0f766e;
  --about-gold: #d99a20;
  --about-paper: #fffdf9;
  background: var(--about-paper);
}

.about-page .inner-hero {
  min-height: clamp(620px, 86svh, 820px);
  background: var(--about-ink);
}

.about-page .inner-hero__video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.92) contrast(1.04);
}

.about-page .inner-hero__overlay {
  z-index: 1;
  background:
    radial-gradient(circle at 16% 18%, rgba(131, 41, 150, 0.52), transparent 34%),
    radial-gradient(circle at 86% 82%, rgba(238, 132, 36, 0.38), transparent 36%),
    linear-gradient(180deg, rgba(18, 10, 25, 0.38), rgba(18, 7, 24, 0.86));
}

.about-page .inner-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 49.9%, rgba(255, 255, 255, 0.07) 50%, transparent 50.1%),
    linear-gradient(0deg, transparent 49.9%, rgba(255, 255, 255, 0.05) 50%, transparent 50.1%);
  background-size: 130px 130px;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.7), transparent 80%);
}

.about-page .inner-hero__curve {
  z-index: 3;
}

.about-page .inner-hero__content,
.about-page .inner-hero__scroll {
  z-index: 4;
}

.about-page .inner-hero__content {
  width: min(1080px, calc(100% - 2.5rem));
}

.about-page .inner-hero__eyebrow {
  color: #ffd5a4;
}

.about-page .inner-hero__title {
  font-size: clamp(4rem, 10vw, 8.6rem);
  text-shadow: 0 18px 55px rgba(0, 0, 0, 0.26);
}

.about-page .inner-hero__rule {
  width: clamp(110px, 14vw, 190px);
  background: linear-gradient(90deg, var(--about-purple), var(--about-orange), var(--about-teal));
}

.about-page .inner-section {
  padding: clamp(3.25rem, 4.5vw, 5rem) 0;
}

.about-page .inner-section__header {
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 0;
}

.about-page .inner-section__header h2 {
  font-size: clamp(2.65rem, 5.5vw, 5.25rem);
}

.about-page .inner-section__number {
  font-size: clamp(4.6rem, 9vw, 8.5rem);
}

/* Opening campus story */
.about-page #about-us {
  background:
    radial-gradient(circle at 91% 8%, rgba(238, 132, 36, 0.18), transparent 27%),
    radial-gradient(circle at 4% 92%, rgba(131, 41, 150, 0.14), transparent 29%),
    url("data:image/svg+xml,%3Csvg width='26' height='26' viewBox='0 0 26 26' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='2' cy='2' r='1' fill='%23832996' fill-opacity='.08'/%3E%3C/svg%3E"),
    linear-gradient(135deg, #faf3ff 0%, #fff 47%, #fff3dd 100%);
}

.about-page #about-us .container {
  display: flex;
  flex-direction: column;
  gap: clamp(1.5rem, 3vw, 2.75rem);
}

/* Alternating text/image bands: each column is the same height as its
   partner, so no band can leave a column of dead space. */
.about-band {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr);
  align-items: stretch;
  gap: clamp(1.25rem, 2.6vw, 2.25rem);
}

.about-band--reverse .about-band__stack { order: 2; }
.about-band--reverse .about-band__copy { order: 1; }

.about-band__media {
  position: relative;
  overflow: hidden;
  margin: 0;
  min-height: 260px;
  border: 5px solid rgba(255, 255, 255, 0.94);
  border-radius: 30px;
  background: #ece6f1;
  box-shadow: 0 30px 70px -34px rgba(42, 17, 50, 0.5);
}

.about-band__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.about-band__media:hover img { transform: scale(1.04); }

.about-band__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(23, 17, 36, 0.55));
  pointer-events: none;
}

.about-band__media figcaption {
  position: absolute;
  z-index: 3;
  right: 1rem;
  bottom: 1rem;
  max-width: calc(100% - 2rem);
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.32);
  border-radius: 999px;
  color: #fff;
  background: rgba(23, 17, 36, 0.7);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* Two stacked images fill the height of the longer body of copy. */
.about-band__stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.6vw, 2.25rem);
  min-height: 0;
}

.about-band__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.9rem, 3.4vw, 3.2rem);
  border: 1px solid rgba(131, 41, 150, 0.14);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 34px 85px -45px rgba(42, 17, 50, 0.68);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.about-chip {
  display: flex;
  width: max-content;
  max-width: 100%;
  align-self: flex-start;
  margin-bottom: 1.15rem;
  padding: 0.55rem 0.85rem;
  border: 1px solid rgba(131, 41, 150, 0.16);
  border-radius: 999px;
  color: var(--about-purple);
  background: #f9efff;
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.about-band__copy h3 {
  margin: 0 0 1.2rem;
  color: var(--about-ink, #24102c);
  font-size: clamp(1.85rem, 2.7vw, 2.85rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.about-band__copy p {
  margin: 0 0 0.95rem;
  color: #5d5461;
  font-size: 0.97rem;
  line-height: 1.75;
  text-align: justify;
}

.about-band__copy p:last-child { margin-bottom: 0; }

/* Short governance note reads best as one full-width banner. */
.about-trust {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.4rem, 3vw, 2.6rem);
  padding: clamp(1.8rem, 3.2vw, 2.8rem) clamp(1.9rem, 3.4vw, 3.2rem);
  border: 1px solid rgba(131, 41, 150, 0.14);
  border-radius: 30px;
  background: linear-gradient(120deg, #faf3ff 0%, #fff 52%, #fff5e7 100%);
  box-shadow: 0 34px 85px -50px rgba(42, 17, 50, 0.6);
}

.about-trust__mark {
  display: grid;
  place-items: center;
  width: clamp(58px, 7vw, 78px);
  aspect-ratio: 1;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, var(--about-purple), var(--about-orange));
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  box-shadow: 0 16px 34px -16px rgba(131, 41, 150, 0.7);
}

.about-trust__copy h3 {
  margin: 0 0 0.75rem;
  color: var(--about-ink, #24102c);
  font-size: clamp(1.55rem, 2.3vw, 2.25rem);
  line-height: 1.1;
  letter-spacing: -0.03em;
}

.about-trust__copy p {
  margin: 0;
  color: #5d5461;
  font-size: 0.97rem;
  line-height: 1.75;
  text-align: justify;
}

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

  .about-band--reverse .about-band__stack,
  .about-band--reverse .about-band__copy { order: initial; }

  .about-band__media { min-height: 240px; aspect-ratio: 16 / 10; }
  .about-band__media--tall { aspect-ratio: 16 / 10; }

  .about-band__stack { grid-template-rows: auto auto; }

  .about-trust {
    grid-template-columns: 1fr;
    justify-items: start;
  }
}

/* Vision: a bold statement with a glass panel. */
.about-page #vision {
  min-height: 590px;
  display: grid;
  align-items: center;
  color: #fff;
  background:
    radial-gradient(circle at 9% 15%, rgba(238, 132, 36, 0.32), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(15, 118, 110, 0.3), transparent 32%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 24px),
    linear-gradient(125deg, #171124 0%, #43194f 52%, #123d43 100%) !important;
}

.about-page #vision::after {
  content: "VISION";
  position: absolute;
  z-index: -1;
  right: -0.03em;
  bottom: -0.22em;
  color: rgba(255, 255, 255, 0.035);
  font-family: var(--font-family-secondary);
  font-size: clamp(8rem, 21vw, 20rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 1;
}

.about-page #vision .container {
  display: grid;
  grid-template-columns: minmax(260px, 0.7fr) minmax(0, 1.3fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 6rem);
}

.about-page #vision .inner-section__header {
  margin: 0;
}

.about-page #vision .inner-section__number {
  color: rgba(255, 255, 255, 0.14);
}

.about-page #vision .inner-section__header h2,
.about-page #vision .inner-section__header .eyebrow {
  color: #fff;
}

.about-page #vision .section-lead {
  position: relative;
  overflow: hidden;
  max-width: none;
  margin: 0;
  padding: clamp(2rem, 4vw, 3.5rem);
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 30px 70px -40px #000;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.about-page #vision .section-lead::before {
  content: "\201C";
  position: absolute;
  top: -0.3em;
  left: 0.08em;
  color: rgba(238, 132, 36, 0.34);
  font-family: Georgia, serif;
  font-size: clamp(5.5rem, 8vw, 8rem);
  line-height: 1;
  pointer-events: none;
}

.about-page #vision .section-lead p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff;
  font-size: clamp(1.25rem, 2.2vw, 2rem);
  line-height: 1.62;
  overflow-wrap: anywhere;
}

/* Mission: structured, scannable commitments. */
.about-page #mission {
  background:
    radial-gradient(circle at 95% 12%, rgba(15, 118, 110, 0.12), transparent 26%),
    radial-gradient(circle at 3% 90%, rgba(131, 41, 150, 0.12), transparent 26%),
    repeating-linear-gradient(0deg, rgba(21, 38, 61, 0.045) 0 1px, transparent 1px 48px),
    repeating-linear-gradient(90deg, rgba(21, 38, 61, 0.045) 0 1px, transparent 1px 48px),
    linear-gradient(135deg, #f4f8f6, #fff) !important;
}

.about-page #mission .container {
  display: grid;
  grid-template-columns: minmax(280px, 0.62fr) minmax(0, 1.38fr);
  align-items: start;
  gap: clamp(2rem, 5vw, 5rem);
}

.about-page #mission .inner-section__header {
  position: sticky;
  top: 2rem;
  grid-template-columns: 1fr;
  margin: 0;
}

.about-page #mission .section-lead {
  max-width: none;
  margin: 0;
}

.about-page #mission .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  counter-reset: mission;
}

.about-page #mission .content-list li {
  min-height: 150px;
  padding: 1.5rem 1.35rem 1.35rem 4.2rem;
  border: 1px solid rgba(15, 118, 110, 0.11);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 20px 45px -34px rgba(18, 55, 61, 0.55);
  counter-increment: mission;
  transition: transform 320ms ease, border-color 320ms ease, box-shadow 320ms ease;
}

.about-page #mission .content-list li::before {
  content: counter(mission, decimal-leading-zero);
  top: 1.45rem;
  left: 1.35rem;
  width: auto;
  height: auto;
  border-radius: 0;
  color: var(--about-teal);
  background: transparent;
  box-shadow: none;
  font-family: var(--font-family-secondary);
  font-size: 1.25rem;
  font-weight: 850;
}

.about-page #mission .content-list li:hover {
  border-color: rgba(15, 118, 110, 0.28);
  box-shadow: 0 28px 52px -32px rgba(15, 118, 110, 0.48);
  transform: translateY(-6px);
}

/* Core values: dark, premium and compact. */
.about-page #core-values {
  color: #fff;
  background:
    radial-gradient(circle at 8% 8%, rgba(238, 132, 36, 0.27), transparent 26%),
    radial-gradient(circle at 92% 88%, rgba(15, 118, 110, 0.28), transparent 27%),
    linear-gradient(125deg, #1a1020 0%, #32143e 48%, #102e38 100%) !important;
}

.about-page #core-values .inner-section__header h2,
.about-page #core-values .inner-section__header .eyebrow {
  color: #fff;
}

.about-page #core-values .inner-section__number {
  color: rgba(255, 255, 255, 0.13);
}

.about-page #core-values .detail-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 1rem;
}

.about-page #core-values .detail-card {
  grid-column: span 3;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  min-height: 245px !important;
  padding: 1.6rem;
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: none;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.about-page #core-values .detail-card:nth-child(n + 5) {
  grid-column: span 4;
}

.about-page #core-values .detail-card:nth-child(1),
.about-page #core-values .detail-card:nth-child(5) { --value-accent: #f3a53b; }
.about-page #core-values .detail-card:nth-child(2),
.about-page #core-values .detail-card:nth-child(6) { --value-accent: #40c5b5; }
.about-page #core-values .detail-card:nth-child(3),
.about-page #core-values .detail-card:nth-child(7) { --value-accent: #c76fda; }
.about-page #core-values .detail-card:nth-child(4) { --value-accent: #f07878; }

.about-page #core-values .detail-card::after {
  right: -65px;
  bottom: -70px;
  background: color-mix(in srgb, var(--value-accent) 16%, transparent);
}

.about-page #core-values .detail-card:hover {
  border-color: color-mix(in srgb, var(--value-accent) 48%, transparent);
  background: rgba(255, 255, 255, 0.11);
  box-shadow: 0 24px 46px -30px color-mix(in srgb, var(--value-accent) 70%, transparent);
}

.about-page #core-values .detail-card__icon {
  width: 54px;
  height: 54px;
  color: var(--value-accent);
  background: color-mix(in srgb, var(--value-accent) 14%, transparent);
}

.about-page #core-values .detail-card:hover > .detail-card__icon {
  color: var(--about-ink);
  background: var(--value-accent);
}

.about-page #core-values .detail-card h3 {
  color: #fff;
}

.about-page #core-values .detail-card p {
  color: rgba(255, 255, 255, 0.7);
}

/* Why AVM: a varied bento field. */
.about-page #why-choose-avm {
  background:
    radial-gradient(circle at 8% 8%, rgba(131, 41, 150, 0.14), transparent 25%),
    radial-gradient(circle at 92% 90%, rgba(238, 132, 36, 0.14), transparent 28%),
    linear-gradient(135deg, #faf4ff 0%, #fff 48%, #fff5e7 100%) !important;
}

.about-page #why-choose-avm .inner-section__header {
  max-width: none;
}

.about-page #why-choose-avm .detail-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-flow: dense;
  gap: 1rem;
}

.about-page #why-choose-avm .detail-card {
  grid-column: span 4;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  min-height: 250px !important;
  border-radius: 24px;
}

.about-page #why-choose-avm .detail-card:nth-child(1),
.about-page #why-choose-avm .detail-card:nth-child(2),
.about-page #why-choose-avm .detail-card:nth-child(9),
.about-page #why-choose-avm .detail-card:nth-child(10) {
  grid-column: span 6;
}

.about-page #why-choose-avm .detail-card:nth-child(1) {
  background: linear-gradient(145deg, #fff, #f6edff);
}

.about-page #why-choose-avm .detail-card:nth-child(2) {
  background: linear-gradient(145deg, #fff, #fff1df);
}

.about-page #why-choose-avm .detail-card--media {
  padding: 0 0 1.5rem;
}

.about-page #why-choose-avm .detail-card__media {
  height: 210px !important;
}

.about-page #why-choose-avm .detail-card--media > .detail-card__icon,
.about-page #why-choose-avm .detail-card--media > .detail-card__body {
  margin-right: 1.4rem;
  margin-left: 1.4rem;
}

/* Leadership and faculty: image-led editorial panels. */
.about-page #school-leadership,
.about-page #faculty {
  min-height: 720px;
  display: grid;
  align-items: center;
}

.about-page #school-leadership {
  color: #fff;
  background:
    radial-gradient(circle at 8% 14%, rgba(238, 132, 36, 0.3), transparent 28%),
    linear-gradient(125deg, #171124 0%, #391848 55%, #173a40 100%) !important;
}

.about-page #school-leadership .container {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: clamp(2rem, 5vw, 5rem);
}

.about-page #school-leadership .container::after {
  content: "";
  grid-column: 2;
  grid-row: 1 / 3;
  min-height: 560px;
  border: 6px solid rgba(255, 255, 255, 0.09);
  border-radius: 34px;
  background:
    linear-gradient(180deg, transparent 55%, rgba(23, 17, 36, 0.62)),
    url("../assets/images/management/Principal/dsc-0265.webp") center / cover no-repeat;
  box-shadow: 0 35px 75px -42px #000;
}

.about-page #school-leadership .inner-section__header,
.about-page #school-leadership .section-lead {
  grid-column: 1;
  margin-bottom: 0;
}

.about-page #school-leadership .inner-section__header h2,
.about-page #school-leadership .inner-section__header .eyebrow,
.about-page #school-leadership .section-lead p,
.about-page #school-leadership .section-lead strong {
  color: #fff;
}

.about-page #school-leadership .inner-section__number {
  color: rgba(255, 255, 255, 0.13);
}

.about-page #school-leadership .content-callout {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.08);
}

.about-page #school-leadership .content-callout i {
  color: var(--about-orange);
}

.about-page #faculty {
  background:
    radial-gradient(circle at 92% 12%, rgba(15, 118, 110, 0.14), transparent 28%),
    repeating-linear-gradient(0deg, rgba(21, 38, 61, 0.035) 0 1px, transparent 1px 46px),
    linear-gradient(135deg, #f0f7f5, #fff) !important;
}

.about-page #faculty .container {
  display: grid;
  grid-template-columns: minmax(360px, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.about-page #faculty .container::before {
  content: "";
  grid-column: 1;
  grid-row: 1 / 3;
  min-height: 540px;
  border: 6px solid #fff;
  border-radius: 34px;
  background:
    linear-gradient(180deg, transparent 58%, rgba(23, 17, 36, 0.48)),
    url("../assets/images/activity/agasthya-vidya-mandir-senior-secondary-school-1.webp") center / cover no-repeat;
  box-shadow: 0 34px 74px -42px rgba(23, 17, 36, 0.66);
}

.about-page #faculty .container,
.about-page #school-leadership .container {
  grid-template-rows: min-content min-content;
  align-content: center;
  row-gap: 0;
}

.about-page #faculty .inner-section__header,
.about-page #faculty .section-lead {
  grid-column: 2;
  margin-bottom: 0;
}

.about-page #faculty .inner-section__header,
.about-page #school-leadership .inner-section__header {
  align-self: end;
  margin-bottom: 1.15rem;
}

.about-page #faculty .section-lead,
.about-page #school-leadership .section-lead {
  align-self: start;
}

/* School profile: turn raw details into a structured information system. */
.about-page #school-profile {
  background:
    radial-gradient(circle at 2% 4%, rgba(238, 132, 36, 0.14), transparent 24%),
    radial-gradient(circle at 98% 92%, rgba(131, 41, 150, 0.12), transparent 26%),
    linear-gradient(125deg, #fff5e7 0%, #fff 48%, #faf1ff 100%) !important;
}

.about-page #school-profile .inner-section__header {
  max-width: none;
}

.about-page #school-profile .section-lead {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  max-width: none;
  margin-bottom: 2rem;
}

.about-page #school-profile .section-lead > p,
.about-page #school-profile .section-lead > .content-list {
  margin: 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(42, 17, 50, 0.08);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 42px -34px rgba(42, 17, 50, 0.54);
}

.about-page #school-profile .section-lead > p strong:first-child {
  display: block;
  margin-bottom: 0.25rem;
  color: var(--about-purple);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-page #school-profile .section-lead > .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.about-page #school-profile .detail-grid {
  grid-template-columns: 1fr;
}

.about-page #school-profile .detail-card {
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: clamp(1.8rem, 4vw, 3.2rem);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.1);
  background:
    radial-gradient(circle at 90% 10%, rgba(238, 132, 36, 0.26), transparent 30%),
    linear-gradient(125deg, #24102b, #133b41);
}

.about-page #school-profile .detail-card h3,
.about-page #school-profile .detail-card p,
.about-page #school-profile .detail-card strong {
  color: #fff;
}

/* Affiliation information: compact statement and stat bands. */
:is(.about-page, .affiliation-page) #affiliation-status,
.about-page #affiliation-number,
.about-page #school-code {
  padding: clamp(2.75rem, 4vw, 4rem) 0;
}

:is(.about-page, .affiliation-page) #affiliation-status .container,
.about-page #affiliation-number .container,
.about-page #school-code .container {
  display: grid;
  grid-template-columns: minmax(290px, 0.62fr) minmax(0, 1.38fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

:is(.about-page, .affiliation-page) #affiliation-status .inner-section__header,
.about-page #affiliation-number .inner-section__header,
.about-page #school-code .inner-section__header,
:is(.about-page, .affiliation-page) #affiliation-status .section-lead,
.about-page #affiliation-number .section-lead,
.about-page #school-code .section-lead {
  margin: 0;
}

:is(.about-page, .affiliation-page) #affiliation-status {
  background:
    radial-gradient(circle at 90% 50%, rgba(238, 132, 36, 0.17), transparent 30%),
    linear-gradient(135deg, #fff, #faf1ff) !important;
}

.about-page #affiliation-number {
  color: #fff;
  background: linear-gradient(105deg, #642476, #8d2a92 48%, #e57920) !important;
}

.about-page #school-code {
  color: #fff;
  background: linear-gradient(105deg, #0c5f59, #128076 48%, #173b52) !important;
}

.about-page #affiliation-number .inner-section__header h2,
.about-page #affiliation-number .inner-section__header .eyebrow,
.about-page #affiliation-number .section-lead p,
.about-page #affiliation-number .section-lead strong,
.about-page #school-code .inner-section__header h2,
.about-page #school-code .inner-section__header .eyebrow,
.about-page #school-code .section-lead p,
.about-page #school-code .section-lead strong {
  color: #fff;
}

.about-page #affiliation-number .inner-section__number,
.about-page #school-code .inner-section__number {
  color: rgba(255, 255, 255, 0.18);
}

.about-page #affiliation-number .section-lead,
.about-page #school-code .section-lead {
  padding: 1.8rem 2rem;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.09);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.about-page #affiliation-number .section-lead p,
.about-page #school-code .section-lead p {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  font-size: 0.9rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.about-page #affiliation-number .section-lead p strong:last-child,
.about-page #school-code .section-lead p strong:last-child {
  font-family: var(--font-family-secondary);
  font-size: clamp(2.8rem, 6vw, 5.8rem);
  letter-spacing: -0.04em;
  line-height: 1;
}

/* Recognition: editorial copy beside a concise credential card. */
.about-page #recognition-details {
  background:
    radial-gradient(circle at 9% 90%, rgba(238, 132, 36, 0.16), transparent 27%),
    radial-gradient(circle at 92% 10%, rgba(131, 41, 150, 0.13), transparent 28%),
    linear-gradient(135deg, #fff8eb, #fff 48%, #f8f0ff) !important;
}

.about-page #recognition-details .container {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
  align-items: center;
  gap: clamp(2rem, 5vw, 5rem);
}

.about-page #recognition-details .inner-section__header,
.about-page #recognition-details .section-lead {
  grid-column: 1;
  margin-bottom: 0;
}

.about-page #recognition-details .detail-grid {
  grid-column: 2;
  grid-row: 1 / 3;
  grid-template-columns: 1fr;
}

.about-page #recognition-details .detail-card {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  padding: clamp(2rem, 4vw, 3rem);
  border-color: rgba(131, 41, 150, 0.13);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.92);
}

.about-page #recognition-details .detail-card__icon {
  width: 62px;
  height: 62px;
  border-radius: 18px;
  font-size: 1.55rem;
}

/* Editorial de-carding: match the homepage's open, image-led composition. */
.about-page #about-us .detail-card {
  padding: 1rem 0 1rem clamp(1.5rem, 3vw, 2.5rem);
  border: 0;
  border-left: 3px solid rgba(131, 41, 150, 0.34);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #about-us .detail-card::after {
  display: none;
}

.about-page #about-us .detail-card:hover {
  border-color: var(--about-orange);
  box-shadow: none;
  transform: none;
}

.about-page #vision .section-lead {
  padding: clamp(1.4rem, 3vw, 2.4rem) 0 clamp(1.4rem, 3vw, 2.4rem) clamp(1.6rem, 3vw, 2.8rem);
  border: 0;
  border-left: 2px solid rgba(238, 132, 36, 0.72);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #mission .content-list {
  position: relative;
  grid-template-columns: 1fr;
  gap: 0;
  padding-left: 1.25rem;
}

.about-page #mission .content-list::before {
  content: "";
  position: absolute;
  top: 1.5rem;
  bottom: 1.5rem;
  left: 0.1rem;
  width: 1px;
  background: linear-gradient(var(--about-teal), rgba(15, 118, 110, 0.08));
}

.about-page #mission .content-list li {
  min-height: 0;
  padding: 1.45rem 1rem 1.45rem 4rem;
  border: 0;
  border-bottom: 1px solid rgba(15, 118, 110, 0.15);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.about-page #mission .content-list li::before {
  top: 1.3rem;
  left: 0.5rem;
}

.about-page #mission .content-list li:hover {
  border-color: rgba(15, 118, 110, 0.42);
  box-shadow: none;
  transform: translateX(5px);
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media) {
  min-height: 0 !important;
  padding: 1.45rem 0;
  border: 0;
  border-top: 1px solid rgba(131, 41, 150, 0.2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media)::before,
.about-page #why-choose-avm .detail-card:not(.detail-card--media)::after {
  display: none;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media):hover {
  border-color: var(--about-purple);
  background: transparent;
  box-shadow: none;
  transform: translateY(-3px);
}

.about-page #why-choose-avm .detail-card--media {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #why-choose-avm .detail-card--media::before,
.about-page #why-choose-avm .detail-card--media::after {
  display: none;
}

.about-page #why-choose-avm .detail-card--media:hover {
  background: transparent;
  box-shadow: none;
}

.about-page #school-leadership .content-callout {
  padding: 1rem 0 1rem 1.4rem;
  border: 0;
  border-left: 2px solid rgba(238, 132, 36, 0.7);
  border-radius: 0;
  background: transparent;
}

.about-page #school-profile .section-lead > p,
.about-page #school-profile .section-lead > .content-list {
  padding: 1.2rem 0;
  border: 0;
  border-bottom: 1px solid rgba(42, 17, 50, 0.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.about-page #school-profile .detail-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  clip-path: polygon(0 0, calc(100% - 32px) 0, 100% 32px, 100% 100%, 0 100%);
}

.about-page #school-profile .detail-card::before,
.about-page #school-profile .detail-card::after {
  display: none;
}

.about-page #affiliation-number .section-lead,
.about-page #school-code .section-lead {
  padding: 1.5rem 0 1.5rem 1.6rem;
  border: 0;
  border-left: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 0;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #recognition-details .detail-card {
  padding: clamp(1.5rem, 3vw, 2.4rem) 0 clamp(1.5rem, 3vw, 2.4rem) clamp(1.6rem, 3vw, 2.5rem);
  border: 0;
  border-left: 2px solid rgba(131, 41, 150, 0.42);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.about-page #recognition-details .detail-card::before,
.about-page #recognition-details .detail-card::after {
  display: none;
}

.about-page #recognition-details .detail-card:hover {
  border-color: var(--about-orange);
  background: transparent;
  box-shadow: none;
  transform: translateX(4px);
}

/* Affiliation credentials: one cohesive editorial block with two clear records. */
:is(.about-page, .affiliation-page) #affiliation-status.affiliation-credentials {
  padding: clamp(3.75rem, 6vw, 6.5rem) 0;
  color: var(--about-ink);
  background:
    radial-gradient(circle at 92% 8%, rgba(238, 132, 36, 0.16), transparent 27%),
    radial-gradient(circle at 4% 92%, rgba(15, 118, 110, 0.12), transparent 30%),
    repeating-linear-gradient(135deg, rgba(131, 41, 150, 0.035) 0 1px, transparent 1px 25px),
    linear-gradient(135deg, #fff 0%, #fff8ec 50%, #f8f2ff 100%) !important;
}

:is(.about-page, .affiliation-page) #affiliation-status.affiliation-credentials .container {
  display: block;
}

:is(.about-page, .affiliation-page) #affiliation-status .inner-section__header {
  max-width: 780px;
  margin-bottom: clamp(2rem, 4vw, 3.25rem);
}

:is(.about-page, .affiliation-page) #affiliation-status .affiliation-credentials__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(460px, 1.1fr);
  align-items: center;
  gap: clamp(2.5rem, 6vw, 6rem);
}

:is(.about-page, .affiliation-page) #affiliation-status .section-lead {
  max-width: 680px;
  margin: 0;
  padding: 0 0 0 clamp(1.4rem, 2.5vw, 2.2rem);
  border-left: 3px solid var(--about-orange);
}

:is(.about-page, .affiliation-page) #affiliation-status .section-lead p {
  margin: 0;
  color: #4c4354;
  line-height: 1.78;
}

:is(.about-page, .affiliation-page) #affiliation-status .section-lead p + p {
  margin-top: 1rem;
}

:is(.about-page, .affiliation-page) #affiliation-status .section-lead strong {
  color: var(--about-ink);
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-list {
  display: grid;
  gap: 0.85rem;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item {
  position: relative;
  display: grid;
  grid-template-columns: 54px minmax(190px, 1fr) max-content;
  align-items: center;
  column-gap: clamp(1.25rem, 2.6vw, 2.25rem);
  min-height: 138px;
  padding: clamp(1.25rem, 2.5vw, 1.8rem);
  overflow: hidden;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 0;
  box-shadow: 0 26px 60px -38px rgba(23, 17, 36, 0.78);
  transition: transform 320ms ease, box-shadow 320ms ease;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item::after {
  content: "";
  position: absolute;
  right: -54px;
  bottom: -86px;
  width: 190px;
  height: 190px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  pointer-events: none;
}

:is(.about-page, .affiliation-page) #affiliation-status #affiliation-number {
  background:
    radial-gradient(circle at 84% 20%, rgba(238, 132, 36, 0.35), transparent 28%),
    linear-gradient(110deg, #31133b, #6f267d 58%, #b44f50) !important;
}

:is(.about-page, .affiliation-page) #affiliation-status #school-code {
  background:
    radial-gradient(circle at 84% 20%, rgba(64, 197, 181, 0.3), transparent 28%),
    linear-gradient(110deg, #12313a, #0d706a 58%, #174c64) !important;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item:hover {
  z-index: 1;
  box-shadow: 0 34px 70px -40px rgba(23, 17, 36, 0.9);
  transform: translateX(7px);
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item__icon {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.1);
  font-size: 1.35rem;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item__label {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.28rem;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item__label small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item__label span {
  color: #fff;
  font-family: var(--font-family-secondary);
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  font-weight: 750;
  white-space: nowrap;
}

:is(.about-page, .affiliation-page) #affiliation-status .credential-item__value {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding-right: clamp(0.9rem, 1.5vw, 1.4rem);
  padding-left: clamp(1.1rem, 2vw, 1.75rem);
  border-left: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
  font-family: var(--font-family-secondary);
  font-size: clamp(2.2rem, 3.5vw, 3.25rem);
  font-weight: 820;
  letter-spacing: -0.045em;
  line-height: 1;
}

:is(.about-page, .affiliation-page) #affiliation-status #affiliation-number .credential-item__value {
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  letter-spacing: -0.035em;
}

@media (max-width: 960px) {
  :is(.about-page, .affiliation-page) #affiliation-status .affiliation-credentials__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  :is(.about-page, .affiliation-page) #affiliation-status.affiliation-credentials {
    padding: 3rem 0;
  }

  :is(.about-page, .affiliation-page) #affiliation-status .credential-item {
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 0;
  }

  :is(.about-page, .affiliation-page) #affiliation-status .credential-item__value {
    grid-column: 2;
    width: 100%;
    margin-top: 0.25rem;
    padding: 0.8rem 0.75rem 0 0;
    border-top: 1px solid rgba(255, 255, 255, 0.22);
    border-left: 0;
    font-size: clamp(2.1rem, 10vw, 3rem);
  }
}

.about-page .next-page {
  background:
    radial-gradient(circle at 12% 10%, rgba(238, 132, 36, 0.18), transparent 30%),
    linear-gradient(125deg, #160d1c, #32133e 52%, #112e38);
}

@media (max-width: 1080px) {
  .about-page #about-us .container,
  .about-page #vision .container,
  .about-page #mission .container,
  .about-page #school-leadership .container,
  .about-page #faculty .container,
  .about-page #recognition-details .container {
    grid-template-columns: 1fr;
  }

  .about-page #about-us .inner-gallery {
    min-height: 620px;
  }

  .about-page #mission .inner-section__header {
    position: static;
  }

  .about-page #core-values .detail-grid,
  .about-page #why-choose-avm .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .about-page #why-choose-avm .detail-card,
  .about-page #why-choose-avm .detail-card:nth-child(n) {
    grid-column: auto;
  }

  .about-page #core-values .detail-card:nth-child(n) {
    grid-column: auto;
  }

  .about-page #school-leadership .container::after,
  .about-page #faculty .container::before {
    grid-column: 1;
    grid-row: auto;
    min-height: 500px;
  }

  .about-page #school-leadership .inner-section__header,
  .about-page #school-leadership .section-lead,
  .about-page #faculty .inner-section__header,
  .about-page #faculty .section-lead,
  .about-page #recognition-details .inner-section__header,
  .about-page #recognition-details .section-lead,
  .about-page #recognition-details .detail-grid {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 760px) {
  .about-page .inner-hero {
    min-height: 620px;
  }

  .about-page .inner-hero__title {
    font-size: clamp(3.6rem, 18vw, 5.2rem);
  }

  .about-page .inner-section {
    padding: 3rem 0;
  }

  .about-page #about-us .container {
    gap: 1.25rem;
  }

  .about-page #about-us .inner-gallery {
    min-height: 0;
  }

  .about-page #about-us .inner-gallery__item:nth-child(n) {
    transform: none;
  }

  .about-page #vision {
    min-height: 0;
  }

  .about-page #vision .inner-section__header {
    grid-template-columns: 1fr;
  }

  .about-page #mission .content-list,
  .about-page #core-values .detail-grid,
  .about-page #why-choose-avm .detail-grid,
  .about-page #school-profile .section-lead,
  .about-page #school-profile .section-lead > .content-list {
    grid-template-columns: 1fr !important;
  }

  .about-page #mission .content-list li {
    min-height: 0;
  }

  .about-page #core-values .detail-card,
  .about-page #why-choose-avm .detail-card {
    min-height: 0 !important;
  }

  .about-page #school-leadership,
  .about-page #faculty {
    min-height: 0;
  }

  .about-page #school-leadership .container::after,
  .about-page #faculty .container::before {
    min-height: 390px;
  }

  :is(.about-page, .affiliation-page) #affiliation-status .container,
  .about-page #affiliation-number .container,
  .about-page #school-code .container {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .about-page #affiliation-number .section-lead p,
  .about-page #school-code .section-lead p {
    display: grid;
  }

  .about-page #school-profile .detail-card {
    grid-template-columns: 1fr !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .about-page #mission .content-list li,
  .about-page #about-us .inner-gallery__item {
    transition: none;
    transform: none;
  }
}


/* Why Choose AVM: image-led reasons with open editorial supporting rows. */
.about-page #why-choose-avm {
  padding: clamp(4rem, 6vw, 6.5rem) 0;
  background:
    radial-gradient(circle at 96% 4%, rgba(238, 132, 36, 0.17), transparent 25%),
    radial-gradient(circle at 3% 94%, rgba(15, 118, 110, 0.13), transparent 28%),
    repeating-linear-gradient(135deg, rgba(131, 41, 150, 0.03) 0 1px, transparent 1px 28px),
    linear-gradient(135deg, #fbf6ff 0%, #fff 48%, #fff7e9 100%) !important;
}

.about-page #why-choose-avm .inner-section__header {
  position: relative;
  max-width: 820px;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  padding-bottom: 1.5rem;
}

.about-page #why-choose-avm .inner-section__header::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--about-purple), var(--about-orange) 42%, transparent 88%);
}

.about-page #why-choose-avm .detail-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  grid-auto-flow: dense;
  gap: clamp(1rem, 1.7vw, 1.5rem);
  counter-reset: avm-reason;
}

.about-page #why-choose-avm .detail-card {
  position: relative;
  grid-column: span 3;
  min-height: 180px !important;
  counter-increment: avm-reason;
}

.about-page #why-choose-avm .detail-card::before {
  content: counter(avm-reason, decimal-leading-zero);
  position: absolute;
  z-index: 4;
  top: 1.2rem;
  right: 0;
  bottom: auto;
  left: auto;
  display: block;
  width: auto;
  height: auto;
  color: rgba(131, 41, 150, 0.42);
  background: transparent;
  font-family: var(--font-family-secondary);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.12em;
  line-height: 1;
  transform: none;
}

.about-page #why-choose-avm .detail-card::after {
  display: none;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media) {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-content: start !important;
  align-items: start;
  gap: 1rem;
  padding: 1.5rem 0;
  border: 0;
  border-top: 1px solid rgba(131, 41, 150, 0.22);
  background: transparent;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media) .detail-card__icon {
  width: 48px;
  height: 48px;
  color: var(--about-purple);
  border: 1px solid rgba(131, 41, 150, 0.14);
  border-radius: 50%;
  background: linear-gradient(145deg, #fff, #f7eaff);
  box-shadow: 0 16px 34px -25px rgba(131, 41, 150, 0.7);
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media) h3 {
  max-width: calc(100% - 2rem);
  margin-bottom: 0.55rem;
  font-size: clamp(1.05rem, 1.5vw, 1.3rem);
  line-height: 1.25;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media) p {
  color: #655b69;
  line-height: 1.68;
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media):hover {
  border-color: var(--about-purple);
  box-shadow: none;
  transform: translateX(5px);
}

.about-page #why-choose-avm .detail-card:not(.detail-card--media):hover .detail-card__icon {
  color: #fff;
  background: var(--about-purple);
}

.about-page #why-choose-avm .detail-card--media {
  grid-column: span 6;
  display: block !important;
  min-height: 360px !important;
  padding: 0;
  overflow: hidden;
  color: #fff;
  border: 0;
  border-radius: 28px;
  background: #221129;
  box-shadow: 0 32px 70px -42px rgba(23, 17, 36, 0.82);
  transition: transform 360ms ease, box-shadow 360ms ease;
}

.about-page #why-choose-avm .detail-card--media:nth-child(10) {
  grid-column: span 12;
  min-height: 400px !important;
}

.about-page #why-choose-avm .detail-card--media::before {
  top: 1.25rem;
  right: 1.25rem;
  padding: 0.55rem 0.7rem;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  background: rgba(23, 17, 36, 0.52);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.about-page #why-choose-avm .detail-card--media .detail-card__media {
  position: absolute;
  inset: 0;
  height: 100% !important;
  margin: 0;
  border-radius: inherit;
  box-shadow: none;
}

.about-page #why-choose-avm .detail-card--media .detail-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 17, 36, 0.06) 24%, rgba(23, 17, 36, 0.9) 100%);
}

.about-page #why-choose-avm .detail-card--media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.about-page #why-choose-avm .detail-card--media:nth-child(10) img {
  object-position: center top;
}

.about-page #why-choose-avm .detail-card--media > .detail-card__icon {
  position: absolute;
  z-index: 3;
  top: 1.2rem;
  left: 1.2rem;
  width: 48px;
  height: 48px;
  margin: 0;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 50%;
  background: rgba(23, 17, 36, 0.5);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.about-page #why-choose-avm .detail-card--media > .detail-card__body {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.about-page #why-choose-avm .detail-card--media h3 {
  max-width: 620px;
  margin-bottom: 0.55rem;
  color: #fff;
  font-size: clamp(1.4rem, 2.5vw, 2.2rem);
}

.about-page #why-choose-avm .detail-card--media p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.65;
}

.about-page #why-choose-avm .detail-card--media:hover {
  background: #221129;
  box-shadow: 0 42px 84px -42px rgba(23, 17, 36, 0.95);
  transform: translateY(-7px);
}

.about-page #why-choose-avm .detail-card--media:hover img {
  transform: scale(1.055);
}

@media (min-width: 1081px) {
  .about-page #why-choose-avm .detail-grid {
    grid-template-rows: repeat(6, minmax(170px, auto)) minmax(390px, 420px);
  }

  .about-page #why-choose-avm .detail-card:not(.detail-card--media) {
    min-height: 170px !important;
    align-content: center !important;
  }

  .about-page #why-choose-avm .detail-card--media {
    min-height: 0 !important;
    height: 100%;
  }

  .about-page #why-choose-avm .detail-card:nth-child(1) {
    grid-column: 1 / 7;
    grid-row: 1;
  }

  .about-page #why-choose-avm .detail-card:nth-child(2) {
    grid-column: 1 / 7;
    grid-row: 2;
  }

  .about-page #why-choose-avm .detail-card:nth-child(3) {
    grid-column: 7 / 13;
    grid-row: 1 / 3;
  }

  .about-page #why-choose-avm .detail-card:nth-child(4) {
    grid-column: 1 / 7;
    grid-row: 3 / 5;
  }

  .about-page #why-choose-avm .detail-card:nth-child(5) {
    grid-column: 7 / 13;
    grid-row: 3;
  }

  .about-page #why-choose-avm .detail-card:nth-child(6) {
    grid-column: 7 / 13;
    grid-row: 4;
  }

  .about-page #why-choose-avm .detail-card:nth-child(7) {
    grid-column: 7 / 13;
    grid-row: 5 / 7;
  }

  .about-page #why-choose-avm .detail-card:nth-child(8) {
    grid-column: 1 / 7;
    grid-row: 5;
  }

  .about-page #why-choose-avm .detail-card:nth-child(9) {
    grid-column: 1 / 7;
    grid-row: 6;
  }

  .about-page #why-choose-avm .detail-card:nth-child(10) {
    grid-column: 1 / 13;
    grid-row: 7;
    min-height: 390px !important;
  }
}

@media (max-width: 1080px) {
  .about-page #why-choose-avm .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: none;
  }

  .about-page #why-choose-avm .detail-card,
  .about-page #why-choose-avm .detail-card:nth-child(n) {
    grid-column: span 1;
    grid-row: auto;
  }

  .about-page #why-choose-avm .detail-card--media:nth-child(10) {
    grid-column: span 2;
  }

  .about-page #why-choose-avm .detail-card--media {
    min-height: 330px !important;
    height: auto;
  }
}

@media (max-width: 700px) {
  .about-page #why-choose-avm {
    padding: 3.25rem 0;
  }

  .about-page #why-choose-avm .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .about-page #why-choose-avm .detail-card,
  .about-page #why-choose-avm .detail-card:nth-child(n),
  .about-page #why-choose-avm .detail-card--media:nth-child(10) {
    grid-column: 1;
  }

  .about-page #why-choose-avm .detail-card:not(.detail-card--media) {
    min-height: 0 !important;
  }

  .about-page #why-choose-avm .detail-card--media,
  .about-page #why-choose-avm .detail-card--media:nth-child(10) {
    min-height: 320px !important;
  }
}

/* ========================================================================== */
/* Academics page - editorial learning journey                                */
/* ========================================================================== */
.academics-page {
  --academic-accent: #d96f16;
  --academic-accent-rgb: 217, 111, 22;
}

.academics-page .inner-hero {
  min-height: clamp(620px, 82svh, 790px);
}

.academics-page .inner-section__header {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.academics-page .inner-section__number {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  color: var(--academic-accent);
  border: 1px solid rgba(var(--academic-accent-rgb), 0.2);
  border-radius: 50%;
  background: rgba(var(--academic-accent-rgb), 0.08);
  font-size: 0.72rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  line-height: 1;
}

.academics-page .inner-section__header h2 {
  font-size: clamp(2.45rem, 4.5vw, 4.65rem);
}

/* Opening story */
.academics-page #academics {
  padding: clamp(4rem, 6vw, 6.75rem) 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(15, 118, 110, 0.13), transparent 25%),
    radial-gradient(circle at 5% 90%, rgba(217, 111, 22, 0.15), transparent 29%),
    repeating-linear-gradient(135deg, rgba(131, 41, 150, 0.028) 0 1px, transparent 1px 28px),
    linear-gradient(135deg, #fff8ec 0%, #fff 48%, #f5faf8 100%) !important;
}

.academics-page #academics > .container {
  grid-template-columns: minmax(320px, 0.76fr) minmax(0, 1.24fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.academics-page #academics .section-lead--opening {
  padding: 0 0 0 clamp(1.5rem, 3vw, 2.5rem);
  border: 0;
  border-left: 3px solid var(--academic-accent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.academics-page #academics .section-lead--opening p {
  color: #4f4655;
  font-size: clamp(1rem, 1.35vw, 1.16rem);
  line-height: 1.82;
}

.academics-page #academics .section-lead--opening::after {
  margin-top: 1.6rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(217, 111, 22, 0.22);
}

.academics-page #academics .inner-gallery {
  min-height: clamp(540px, 48vw, 680px);
}

.academics-page #academics .inner-gallery__item {
  border: 4px solid #fff;
  border-radius: 26px;
  box-shadow: 0 34px 76px -42px rgba(23, 17, 36, 0.72);
}

/* Overview */
.academics-page #academic-overview {
  --academic-accent: #f2a341;
  --academic-accent-rgb: 242, 163, 65;
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  background:
    radial-gradient(circle at 8% 12%, rgba(237, 129, 33, 0.3), transparent 28%),
    radial-gradient(circle at 92% 88%, rgba(15, 118, 110, 0.3), transparent 30%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.035) 0 1px, transparent 1px 25px),
    linear-gradient(125deg, #18101f, #41184d 52%, #103a40) !important;
}

.academics-page #academic-overview .container {
  grid-template-columns: minmax(0, 0.78fr) minmax(470px, 1.22fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.academics-page #academic-overview .detail-card {
  padding: 0 0 0 clamp(1.5rem, 3vw, 2.4rem);
  border: 0;
  border-left: 2px solid rgba(255, 255, 255, 0.24);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.academics-page #academic-overview .detail-card__icon {
  color: #fff;
  background: rgba(255, 255, 255, 0.11);
}

.academics-page #academic-overview .detail-card h3 {
  margin-bottom: 1rem;
  color: #fff;
  font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.academics-page #academic-overview .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.academics-page #academic-overview .content-list li {
  padding: 0.9rem 1rem 0.9rem 1.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.8);
}

.academics-page #academic-overview .content-list li::before {
  width: 7px;
  height: 7px;
  color: transparent;
  background: var(--academic-accent);
  box-shadow: 0 0 0 5px rgba(var(--academic-accent-rgb), 0.12);
}

/* Curriculum: two purposeful image-led panels. */
.academics-page #curriculum-offered {
  --academic-accent: #832996;
  --academic-accent-rgb: 131, 41, 150;
  background:
    radial-gradient(circle at 94% 7%, rgba(131, 41, 150, 0.13), transparent 26%),
    radial-gradient(circle at 5% 94%, rgba(217, 111, 22, 0.13), transparent 27%),
    linear-gradient(135deg, #fbf6ff 0%, #fff 50%, #fff7e9 100%) !important;
}

.academics-page #curriculum-offered .inner-section__header {
  max-width: 900px;
}

.academics-page #curriculum-offered .section-lead {
  max-width: 980px;
}

.academics-page #curriculum-offered .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  margin-top: clamp(2rem, 4vw, 3.25rem);
}

.academics-page #curriculum-offered .detail-card {
  display: grid;
  grid-template-columns: 1fr !important;
  grid-template-rows: 280px auto;
  min-height: 0 !important;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(42, 17, 50, 0.08);
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 30px 66px -44px rgba(42, 17, 50, 0.62);
  transition: transform 360ms ease, box-shadow 360ms ease;
}

.academics-page #curriculum-offered .detail-card__media {
  height: 280px !important;
  border-radius: 0;
  box-shadow: none;
}

.academics-page #curriculum-offered .detail-card__media img {
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.academics-page #curriculum-offered .detail-card__icon {
  position: absolute;
  z-index: 2;
  top: 250px;
  left: 1.6rem;
  color: #fff;
  border: 5px solid #fff;
  background: var(--academic-accent);
}

.academics-page #curriculum-offered .detail-card__body {
  margin: 0;
  padding: 2.2rem 1.65rem 1.7rem;
}

.academics-page #curriculum-offered .detail-card h3 {
  margin-bottom: 1rem;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.academics-page #curriculum-offered .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.academics-page #curriculum-offered .content-list li {
  padding: 0.72rem 0.6rem 0.72rem 1.4rem;
  border-bottom: 1px solid rgba(42, 17, 50, 0.08);
}

.academics-page #curriculum-offered .detail-card:hover {
  box-shadow: 0 42px 82px -44px rgba(42, 17, 50, 0.78);
  transform: translateY(-7px);
}

.academics-page #curriculum-offered .detail-card:hover img {
  transform: scale(1.055);
}

/* Method, assessment and resources: alternating editorial feature panels. */
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) {
  --academic-accent: #0f766e;
  --academic-accent-rgb: 15, 118, 110;
  padding: clamp(4.5rem, 6.5vw, 6.5rem) 0;
}

.academics-page #teaching-methodology {
  background: linear-gradient(135deg, #f3faf8, #fff 52%, #f7f0fb) !important;
}

.academics-page #assessment-system {
  --academic-accent: #d96f16;
  --academic-accent-rgb: 217, 111, 22;
  background: linear-gradient(135deg, #fff6e9, #fff 52%, #faf2ff) !important;
}

.academics-page #learning-resources {
  --academic-accent: #832996;
  --academic-accent-rgb: 131, 41, 150;
  background: linear-gradient(135deg, #f9f3ff, #fff 52%, #eff9f6) !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container {
  grid-template-columns: minmax(300px, 0.72fr) minmax(500px, 1.28fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
  display: grid;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media {
  height: clamp(240px, 24vw, 320px) !important;
  overflow: hidden;
  border: 5px solid #fff;
  border-radius: 28px;
  box-shadow: 0 32px 68px -42px rgba(23, 17, 36, 0.7);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media img {
  transition: transform 700ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card:hover img {
  transform: scale(1.05);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__icon {
  margin-top: -28px;
  margin-left: 1.4rem;
  color: #fff;
  border: 5px solid #fff;
  background: var(--academic-accent);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__body {
  margin: 0;
  padding: 0.7rem 0.2rem 0;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list li {
  padding: 0.76rem 0.75rem 0.76rem 1.45rem;
  border-bottom: 1px solid rgba(var(--academic-accent-rgb), 0.13);
}

/* Academic stages: a connected, readable journey. */
.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) {
  position: relative;
  --academic-accent: #832996;
  --academic-accent-rgb: 131, 41, 150;
  padding: clamp(4rem, 6vw, 6rem) 0;
  background:
    radial-gradient(circle at 95% 8%, rgba(var(--academic-accent-rgb), 0.1), transparent 26%),
    linear-gradient(135deg, #fff, #faf7fc) !important;
}

.academics-page #ecce-early-childhood-care-education {
  --academic-accent: #d96f16;
  --academic-accent-rgb: 217, 111, 22;
}

.academics-page #primary-school {
  --academic-accent: #832996;
  --academic-accent-rgb: 131, 41, 150;
}

.academics-page #middle-school {
  --academic-accent: #0f766e;
  --academic-accent-rgb: 15, 118, 110;
}

.academics-page #secondary-school {
  --academic-accent: #c55e24;
  --academic-accent-rgb: 197, 94, 36;
}

.academics-page #senior-secondary {
  --academic-accent: #e9a33d;
  --academic-accent-rgb: 233, 163, 61;
  color: #fff;
  background:
    radial-gradient(circle at 90% 8%, rgba(233, 163, 61, 0.22), transparent 28%),
    radial-gradient(circle at 6% 92%, rgba(15, 118, 110, 0.26), transparent 30%),
    linear-gradient(125deg, #17101f, #3c1747 52%, #123b42) !important;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container {
  grid-template-columns: minmax(280px, 0.58fr) minmax(0, 1.42fr);
  gap: clamp(2.5rem, 6vw, 6rem);
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header {
  position: sticky;
  top: 2rem;
  grid-row: 1 / 3;
  grid-template-columns: auto minmax(0, 1fr);
  align-self: start;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead {
  margin-bottom: 1.5rem;
  padding-left: 1.5rem;
  border-left: 3px solid var(--academic-accent);
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid {
  grid-template-columns: 1fr !important;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-card__icon {
  color: #fff;
  background: var(--academic-accent);
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list li {
  padding: 0.78rem 0.8rem 0.78rem 1.5rem;
  border-bottom: 1px solid rgba(var(--academic-accent-rgb), 0.14);
}

.academics-page #senior-secondary .inner-section__header h2,
.academics-page #senior-secondary .inner-section__header .eyebrow,
.academics-page #senior-secondary .section-lead p,
.academics-page #senior-secondary .detail-card h3,
.academics-page #senior-secondary .detail-card p,
.academics-page #senior-secondary .content-list li {
  color: #fff;
}

.academics-page #senior-secondary .section-lead p,
.academics-page #senior-secondary .detail-card p,
.academics-page #senior-secondary .content-list li {
  color: rgba(255, 255, 255, 0.78);
}

.academics-page #senior-secondary .content-list li {
  border-color: rgba(255, 255, 255, 0.13);
}

@media (max-width: 1080px) {
  .academics-page #academics > .container,
  .academics-page #academic-overview .container,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container {
    grid-template-columns: 1fr;
  }

  .academics-page #academic-overview .inner-section__header,
  .academics-page #academic-overview .section-lead,
  .academics-page #academic-overview .detail-grid,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid {
    grid-column: 1;
    grid-row: auto;
  }

  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header {
    position: static;
  }
}

@media (max-width: 760px) {
  .academics-page .inner-hero {
    min-height: 600px;
  }

  .academics-page #academics,
  .academics-page #academic-overview,
  .academics-page #curriculum-offered,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources),
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) {
    padding: 3.25rem 0;
  }

  .academics-page .inner-section__header {
    grid-template-columns: 1fr;
  }

  .academics-page .inner-section__number {
    width: 44px;
    height: 44px;
  }

  .academics-page #curriculum-offered .detail-grid,
  .academics-page #academic-overview .content-list,
  .academics-page #curriculum-offered .content-list,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list {
    grid-template-columns: 1fr !important;
  }

  .academics-page #curriculum-offered .detail-card {
    grid-template-rows: 240px auto;
  }

  .academics-page #curriculum-offered .detail-card__media {
    height: 240px !important;
  }

  .academics-page #curriculum-offered .detail-card__icon {
    top: 212px;
  }
}

/* Academics compact flow: remove unused columns and excessive vertical gaps. */
.academics-page main .inner-section {
  padding: clamp(2.75rem, 3.5vw, 4rem) 0 !important;
}

.academics-page main .inner-section__header {
  margin-bottom: clamp(1.25rem, 2.5vw, 2rem);
}

.academics-page main .section-lead {
  margin-bottom: 0;
}

.academics-page #academics {
  padding: clamp(3.25rem, 4.5vw, 5rem) 0;
}

.academics-page #academics .inner-gallery {
  min-height: clamp(500px, 42vw, 600px);
}

.academics-page #academic-overview .container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 5rem);
}

.academics-page #academic-overview .inner-section__header {
  grid-column: 1 / 6;
  grid-row: 1;
}

.academics-page #academic-overview .section-lead {
  grid-column: 6 / 13;
  grid-row: 1;
}

.academics-page #academic-overview .detail-grid {
  grid-column: 1 / 13;
  grid-row: 2;
  grid-template-columns: 1fr !important;
}

.academics-page #academic-overview .detail-card {
  grid-template-columns: auto minmax(0, 1fr) !important;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-left: 0;
}

.academics-page #academic-overview .content-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 5rem);
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header {
  grid-column: 1 / 5;
  grid-row: 1;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
.academics-page #assessment-system .section-lead {
  grid-column: 5 / 13;
  grid-row: 1;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
.academics-page #assessment-system .detail-grid {
  grid-column: 1 / 13;
  grid-row: 2;
  grid-template-columns: 1fr !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media {
  height: clamp(260px, 26vw, 340px) !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 5rem);
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header {
  position: static;
  grid-column: 1 / 5;
  grid-row: 1;
  grid-template-columns: 44px minmax(0, 1fr);
  align-self: start;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__number {
  width: 44px;
  height: 44px;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header h2 {
  font-size: clamp(2.1rem, 3vw, 3.35rem);
  line-height: 1.05;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead {
  grid-column: 5 / 13;
  grid-row: 1;
  margin-bottom: 0;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid {
  grid-column: 1 / 13;
  grid-row: 2;
}

.academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
  .academics-page #academic-overview .container,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .container {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .academics-page #academic-overview .inner-section__header,
  .academics-page #academic-overview .section-lead,
  .academics-page #academic-overview .detail-grid,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
  .academics-page #assessment-system .section-lead,
  .academics-page #assessment-system .detail-grid,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .inner-section__header,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .section-lead,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .detail-grid {
    grid-column: 1;
    grid-row: auto;
  }

  .academics-page #academic-overview .content-list,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .academics-page main .inner-section,
  .academics-page #academics {
    padding: 2.5rem 0 !important;
  }

  .academics-page #academic-overview .content-list,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list,
  .academics-page :is(#ecce-early-childhood-care-education, #primary-school, #middle-school, #secondary-school, #senior-secondary) .content-list {
    grid-template-columns: 1fr;
  }
}
/* ========================================================================== */
/* ACADEMICS V2 — compact, balanced section redesign                         */
/* Keeps the existing palette/content while removing awkward empty spaces.    */
/* ========================================================================== */

.academics-page {
  --academic-accent: #d96f16;
  --academic-accent-rgb: 217, 111, 22;
}

/* Section numbers are removed from academics.html; this is a safety fallback. */
.academics-page .inner-section__number {
  display: none !important;
}

/* Compact vertical rhythm across every Academics content section. */
.academics-page main .inner-section {
  padding: clamp(2.8rem, 4vw, 4.25rem) 0 !important;
}

.academics-page main .inner-section__decor {
  opacity: 0.48;
  transform: scale(0.78);
  transform-origin: top right;
}

.academics-page main .inner-section__header {
  display: block !important;
  max-width: none;
  margin: 0 !important;
}

.academics-page main .inner-section__header .eyebrow {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 1.1rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.academics-page main .inner-section__header .eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: var(--academic-accent, var(--page-accent));
}

.academics-page main .inner-section__header h2 {
  max-width: 680px;
  font-size: clamp(2rem, 3.5vw, 3.45rem) !important;
  line-height: 1.02;
}

.academics-page main .section-lead {
  max-width: none;
  margin: 0 !important;
}

.academics-page main .section-lead p {
  font-size: clamp(0.96rem, 1.15vw, 1.05rem);
  line-height: 1.72;
}

.academics-page main .section-lead p:last-child {
  margin-bottom: 0;
}

/* -------------------------------------------------------------------------- */
/* Opening / introduction                                                     */
/* -------------------------------------------------------------------------- */
.academics-page #academics {
  padding: clamp(3rem, 4vw, 4.5rem) 0 !important;
}

.academics-page #academics > .container {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.88fr) minmax(0, 1.12fr) !important;
  align-items: center;
  gap: clamp(2rem, 4vw, 4rem) !important;
}

.academics-page #academics .section-lead--opening {
  margin: 0 !important;
  padding: 0 0 0 clamp(1.15rem, 2vw, 1.8rem) !important;
}

.academics-page #academics .inner-gallery {
  min-height: clamp(390px, 38vw, 520px) !important;
  margin: 0 !important;
  gap: clamp(0.7rem, 1.2vw, 1rem);
}

.academics-page #academics .inner-gallery__item {
  border-width: 3px;
  border-radius: 22px;
}

/* -------------------------------------------------------------------------- */
/* Shared editorial intro row: title left, copy right                         */
/* -------------------------------------------------------------------------- */
.academics-page #academic-overview .container,
.academics-page #curriculum-offered .container,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start !important;
  column-gap: clamp(1.5rem, 4vw, 4rem) !important;
  row-gap: clamp(1.4rem, 2.5vw, 2.2rem) !important;
}

.academics-page #academic-overview .inner-section__header,
.academics-page #curriculum-offered .inner-section__header,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header {
  grid-column: 1 / 5 !important;
  grid-row: 1 !important;
}

.academics-page #academic-overview .section-lead,
.academics-page #curriculum-offered .section-lead,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
.academics-page #assessment-system .section-lead {
  grid-column: 5 / 13 !important;
  grid-row: 1 !important;
}

.academics-page #academic-overview .detail-grid,
.academics-page #curriculum-offered .detail-grid,
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
.academics-page #assessment-system .detail-grid {
  grid-column: 1 / 13 !important;
  grid-row: 2 !important;
  margin: 0 !important;
}

/* -------------------------------------------------------------------------- */
/* Academic overview — compact full-width highlight band                      */
/* -------------------------------------------------------------------------- */
.academics-page #academic-overview {
  padding: clamp(3.1rem, 4.5vw, 4.75rem) 0 !important;
}

.academics-page #academic-overview .detail-grid {
  grid-template-columns: 1fr !important;
}

.academics-page #academic-overview .detail-card {
  display: grid !important;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  gap: 1rem !important;
  padding: clamp(1.2rem, 2vw, 1.65rem) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.07) !important;
}

.academics-page #academic-overview .detail-card__icon {
  margin: 0 !important;
}

.academics-page #academic-overview .detail-card h3 {
  margin: 0 0 0.7rem;
}

.academics-page #academic-overview .content-list {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin-top: 0.5rem;
}

.academics-page #academic-overview .content-list li {
  padding: 0.7rem 0.65rem 0.7rem 1.35rem;
}

/* -------------------------------------------------------------------------- */
/* Curriculum — two equal image-led cards, no forced tall blank areas         */
/* -------------------------------------------------------------------------- */
.academics-page #curriculum-offered .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem) !important;
}

.academics-page #curriculum-offered .detail-card {
  grid-template-rows: 220px auto !important;
  min-height: 0 !important;
  height: 100%;
  border-radius: 22px !important;
}

.academics-page #curriculum-offered .detail-card__media {
  height: 220px !important;
}

.academics-page #curriculum-offered .detail-card__icon {
  top: 193px !important;
  left: 1.35rem !important;
  width: 46px;
  height: 46px;
  border-width: 4px;
}

.academics-page #curriculum-offered .detail-card__body {
  padding: 1.8rem 1.35rem 1.35rem !important;
}

.academics-page #curriculum-offered .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 0.6rem;
}

.academics-page #curriculum-offered .content-list li {
  padding: 0.58rem 0.45rem 0.58rem 1.25rem;
  line-height: 1.5;
}

/* -------------------------------------------------------------------------- */
/* Teaching / Assessment / Resources — horizontal media feature              */
/* -------------------------------------------------------------------------- */
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid {
  grid-template-columns: 1fr !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
  display: grid !important;
  grid-template-columns: minmax(300px, 0.82fr) minmax(0, 1.18fr) !important;
  grid-template-rows: auto 1fr !important;
  gap: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(var(--academic-accent-rgb), 0.12) !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.82) !important;
  box-shadow: 0 24px 58px -44px rgba(25, 18, 34, 0.56) !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media {
  grid-column: 1 !important;
  grid-row: 1 / 3 !important;
  width: 100%;
  height: 100% !important;
  min-height: 330px;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__icon {
  grid-column: 2 !important;
  grid-row: 1 !important;
  margin: 1.35rem 1.35rem 0 !important;
  border: 0 !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__body {
  grid-column: 2 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  padding: 0.55rem 1.35rem 1.35rem !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card h3 {
  margin: 0 0 0.55rem;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  margin-top: 0.55rem;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list li {
  padding: 0.54rem 0.5rem 0.54rem 1.25rem;
  line-height: 1.48;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card p {
  margin-top: 0.7rem;
  font-size: 0.92rem;
  line-height: 1.6;
}

/* -------------------------------------------------------------------------- */
/* ECCE → Senior Secondary — balanced two-column stage rows                   */
/* -------------------------------------------------------------------------- */
.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) {
  padding: clamp(2.8rem, 4vw, 4.15rem) 0 !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .container {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start !important;
  column-gap: clamp(1.5rem, 4vw, 4rem) !important;
  row-gap: 1rem !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .inner-section__header {
  position: static !important;
  grid-column: 1 / 5 !important;
  grid-row: 1 !important;
  align-self: start !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .section-lead {
  grid-column: 1 / 5 !important;
  grid-row: 2 !important;
  margin: 0 !important;
  padding: 1rem 0 0 1rem !important;
  border-left: 3px solid var(--academic-accent) !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-grid {
  grid-column: 5 / 13 !important;
  grid-row: 1 / 3 !important;
  grid-template-columns: 1fr !important;
  margin: 0 !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-card {
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  gap: 0.9rem !important;
  padding: clamp(1.15rem, 2vw, 1.55rem) !important;
  border: 1px solid rgba(var(--academic-accent-rgb), 0.13) !important;
  border-radius: 22px !important;
  background: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 22px 52px -44px rgba(25, 18, 34, 0.52) !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-card__icon {
  width: 42px;
  height: 42px;
  margin: 0 !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-card h3 {
  margin: 0 0 0.45rem;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .content-list {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: 0.45rem;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .content-list li {
  padding: 0.56rem 0.5rem 0.56rem 1.25rem;
  line-height: 1.48;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-card p {
  margin-top: 0.65rem;
  font-size: 0.92rem;
  line-height: 1.58;
}

/* Dark senior-secondary card keeps good contrast. */
.academics-page #senior-secondary .detail-card {
  border-color: rgba(255, 255, 255, 0.13) !important;
  background: rgba(255, 255, 255, 0.07) !important;
}

.academics-page #senior-secondary .section-lead {
  border-left-color: var(--academic-accent) !important;
}

/* -------------------------------------------------------------------------- */
/* Responsive                                                                 */
/* -------------------------------------------------------------------------- */
@media (max-width: 980px) {
  .academics-page #academics > .container,
  .academics-page #academic-overview .container,
  .academics-page #curriculum-offered .container,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .container,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .container {
    grid-template-columns: 1fr !important;
    gap: 1.35rem !important;
  }

  .academics-page #academic-overview .inner-section__header,
  .academics-page #academic-overview .section-lead,
  .academics-page #academic-overview .detail-grid,
  .academics-page #curriculum-offered .inner-section__header,
  .academics-page #curriculum-offered .section-lead,
  .academics-page #curriculum-offered .detail-grid,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .inner-section__header,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .section-lead,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-grid,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .inner-section__header,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  .academics-page #academics .inner-gallery {
    min-height: 430px !important;
  }

  .academics-page #academic-overview .content-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead {
    padding-top: 0.35rem !important;
  }
}

@media (max-width: 760px) {
  .academics-page main .inner-section {
    padding: 2.5rem 0 !important;
  }

  .academics-page #academics .inner-gallery {
    min-height: 360px !important;
  }

  .academics-page #curriculum-offered .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
    grid-template-columns: 1fr !important;
    grid-template-rows: 230px auto auto !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__media {
    grid-column: 1 !important;
    grid-row: 1 !important;
    min-height: 0;
    height: 230px !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__icon {
    grid-column: 1 !important;
    grid-row: 2 !important;
    margin: -24px 1.2rem 0 !important;
    z-index: 2;
    border: 4px solid #fff !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__body {
    grid-column: 1 !important;
    grid-row: 3 !important;
    padding: 0.45rem 1.2rem 1.2rem !important;
  }

  .academics-page #academic-overview .content-list,
  .academics-page #curriculum-offered .content-list,
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .content-list,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .content-list {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .academics-page main .inner-section {
    padding: 2.15rem 0 !important;
  }

  .academics-page main .inner-section__header h2 {
    font-size: clamp(1.85rem, 9vw, 2.55rem) !important;
  }

  .academics-page #academics .inner-gallery {
    min-height: 320px !important;
  }

  .academics-page #academic-overview .detail-card,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-card {
    grid-template-columns: 1fr !important;
  }

  .academics-page #academic-overview .detail-card__icon,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-card__icon {
    margin-bottom: 0.15rem !important;
  }
}

/* Academic stage copy uses the full lower row instead of leaving a blank column. */
@media (min-width: 981px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .inner-section__header {
    margin-bottom: 0.75rem !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .inner-section__header {
    grid-column: 1 / 5 !important;
    grid-row: 1 !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-grid {
    grid-column: 5 / 13 !important;
    grid-row: 1 !important;
    align-self: start !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead {
    grid-column: 1 / 13 !important;
    grid-row: 2 !important;
    max-width: none !important;
    padding: clamp(1.25rem, 2.5vw, 2rem) 0 0 !important;
    border-top: 1px solid rgba(var(--academic-accent-rgb), 0.2) !important;
    border-left: 0 !important;
    column-count: 2;
    column-gap: clamp(2.5rem, 6vw, 6rem);
    column-rule: 1px solid rgba(var(--academic-accent-rgb), 0.13);
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p {
    break-inside: avoid;
    margin-top: 0;
    font-size: clamp(0.98rem, 1.15vw, 1.08rem);
    line-height: 1.78;
  }

  .academics-page #senior-secondary .section-lead {
    border-top-color: rgba(255, 255, 255, 0.16) !important;
    column-rule-color: rgba(255, 255, 255, 0.13);
  }
}

/* ========================================================================== */
/* Campus page - one facilities directory, student life and faculty           */
/* ========================================================================== */
.campus-page {
  --campus-accent: #0f766e;
  --campus-accent-rgb: 15, 118, 110;
}

.campus-page .inner-section__number {
  display: none !important;
}

.campus-page main .inner-section {
  padding: clamp(3rem, 4vw, 4.75rem) 0 !important;
}

.campus-page main .inner-section__header {
  display: block;
  max-width: none;
  margin: 0;
}

.campus-page main .inner-section__header .eyebrow {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.1rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.campus-page main .inner-section__header .eyebrow::before {
  content: "";
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: var(--campus-accent);
}

.campus-page main .inner-section__header h2 {
  max-width: 780px;
  font-size: clamp(2.4rem, 4.5vw, 4.75rem);
  line-height: 1.02;
}

/* Facilities and infrastructure */
.campus-page #campus-infrastructure {
  padding: clamp(3.5rem, 5vw, 5.75rem) 0 !important;
  background:
    radial-gradient(circle at 94% 6%, rgba(15, 118, 110, 0.14), transparent 26%),
    radial-gradient(circle at 4% 94%, rgba(237, 129, 33, 0.14), transparent 28%),
    repeating-linear-gradient(135deg, rgba(131, 41, 150, 0.028) 0 1px, transparent 1px 28px),
    linear-gradient(135deg, #f4faf8 0%, #fff 48%, #fff5e6 100%) !important;
}

.campus-page #campus-infrastructure > .container {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2rem, 5vw, 5rem) !important;
}

.campus-page #campus-infrastructure .inner-section__header {
  grid-column: 1 / 6;
  grid-row: 1;
}

.campus-page #campus-infrastructure .section-lead--opening {
  grid-column: 1 / 6;
  grid-row: 2;
  margin: 0;
  padding: 0 0 0 clamp(1.25rem, 2.5vw, 2rem);
  border: 0;
  border-left: 3px solid var(--campus-accent);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.campus-page #campus-infrastructure .section-lead--opening p {
  color: #4e4b53;
  font-size: clamp(0.98rem, 1.2vw, 1.08rem);
  line-height: 1.78;
}

.campus-page #campus-infrastructure .inner-gallery {
  grid-column: 6 / 13;
  grid-row: 1 / 3;
  min-height: clamp(450px, 42vw, 570px);
  margin: 0;
}

.campus-page #campus-infrastructure .inner-gallery__item {
  border: 4px solid #fff;
  border-radius: 24px;
  box-shadow: 0 32px 72px -42px rgba(23, 17, 36, 0.68);
}

.campus-page #campus-infrastructure > .container > .detail-grid {
  grid-column: 1 / 13;
  grid-row: 3;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start;
  gap: clamp(1rem, 2vw, 1.5rem);
  margin: clamp(1rem, 2vw, 1.75rem) 0 0;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card {
  grid-column: span 4;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-content: start !important;
  min-height: 0 !important;
  padding: 1.35rem 0;
  border: 0;
  border-top: 1px solid rgba(15, 118, 110, 0.2);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:not(.detail-card--media) .detail-card__icon {
  width: 46px;
  height: 46px;
  color: var(--campus-accent);
  border: 1px solid rgba(15, 118, 110, 0.15);
  border-radius: 50%;
  background: #effaf7;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card h3 {
  margin-bottom: 0.5rem;
  font-size: clamp(1.05rem, 1.45vw, 1.3rem);
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card p {
  color: #66606a;
  font-size: 0.92rem;
  line-height: 1.65;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media {
  display: grid;
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  padding: 0 0 1.3rem;
  overflow: hidden;
  border: 1px solid rgba(42, 17, 50, 0.08);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 24px 58px -44px rgba(23, 17, 36, 0.66);
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(1),
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(2) {
  grid-column: span 6;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media {
  height: 210px !important;
  border-radius: 0;
  box-shadow: none;
}

.campus-page #campus-infrastructure .detail-card--media:nth-child(-n + 2) .detail-card__media {
  height: 260px !important;
}

.campus-page #campus-infrastructure .detail-card--media > .detail-card__icon,
.campus-page #campus-infrastructure .detail-card--media > .detail-card__body {
  margin-right: 1.25rem;
  margin-left: 1.25rem;
}

.campus-page #campus-infrastructure .detail-card--media > .detail-card__icon {
  margin-top: -25px;
  color: #fff;
  border: 4px solid #fff;
  background: var(--campus-accent);
}

.campus-page #campus-infrastructure .detail-card--media img {
  transition: transform 650ms cubic-bezier(0.2, 0.7, 0.2, 1);
}

.campus-page #campus-infrastructure .detail-card--media:hover img {
  transform: scale(1.05);
}

/* Student life */
.campus-page #student-life {
  --campus-accent: #ed8121;
  --campus-accent-rgb: 237, 129, 33;
  padding: clamp(3.75rem, 5.5vw, 6rem) 0 !important;
  background:
    radial-gradient(circle at 8% 10%, rgba(237, 129, 33, 0.27), transparent 28%),
    radial-gradient(circle at 94% 90%, rgba(15, 118, 110, 0.31), transparent 30%),
    linear-gradient(125deg, #18101f, #40184b 50%, #103c42) !important;
}

.campus-page #student-life .inner-section__header {
  margin-bottom: 1.25rem;
}

.campus-page #student-life .section-lead {
  max-width: 1060px;
  margin: 0 0 clamp(2rem, 4vw, 3rem);
  padding-left: 1.4rem;
  border-left: 2px solid rgba(237, 129, 33, 0.68);
}

.campus-page #student-life .detail-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  align-items: start;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.campus-page #student-life .detail-card {
  grid-column: span 4;
  grid-template-columns: auto minmax(0, 1fr) !important;
  min-height: 0 !important;
  padding: 1.35rem 0;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.campus-page #student-life .detail-card h3,
.campus-page #student-life .detail-card p {
  color: #fff;
}

.campus-page #student-life .detail-card p {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.92rem;
  line-height: 1.65;
}

.campus-page #student-life .detail-card__icon {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
}

.campus-page #student-life .detail-card--media {
  position: relative;
  display: block !important;
  min-height: 300px !important;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 24px;
  background: #201127;
}

.campus-page #student-life .detail-card--media:nth-child(7) {
  grid-column: span 6;
}

.campus-page #student-life .detail-card:nth-child(8),
.campus-page #student-life .detail-card:nth-child(9) {
  grid-column: span 3;
}

.campus-page #student-life .detail-card--media .detail-card__media {
  position: absolute;
  inset: 0;
  height: 100% !important;
  border-radius: inherit;
  box-shadow: none;
}

.campus-page #student-life .detail-card--media .detail-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(23, 17, 36, 0.05), rgba(23, 17, 36, 0.9));
}

.campus-page #student-life .detail-card--media > .detail-card__icon {
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 1rem;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.24);
  background: rgba(23, 17, 36, 0.48);
  backdrop-filter: blur(10px);
}

.campus-page #student-life .detail-card--media > .detail-card__body {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 1.5rem;
}

/* Faculty */
.campus-page #faculty {
  --campus-accent: #0f766e;
  --campus-accent-rgb: 15, 118, 110;
  background:
    radial-gradient(circle at 94% 8%, rgba(15, 118, 110, 0.12), transparent 27%),
    repeating-linear-gradient(0deg, rgba(21, 38, 61, 0.03) 0 1px, transparent 1px 46px),
    linear-gradient(135deg, #f2faf7, #fff) !important;
}

.campus-page #faculty .container {
  display: grid;
  grid-template-columns: minmax(300px, 0.65fr) minmax(0, 1.35fr);
  align-items: start;
  gap: clamp(1.5rem, 3vw, 2.5rem) clamp(2.5rem, 6vw, 6rem);
}

.campus-page #faculty .inner-section__header {
  grid-column: 1;
}

.campus-page #faculty .section-lead {
  grid-column: 2;
  margin: 0;
  padding-left: 1.4rem;
  border-left: 3px solid var(--campus-accent);
}

.campus-page #faculty .detail-grid {
  grid-column: 1 / 3;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem);
}

.campus-page #faculty .detail-card {
  grid-template-columns: 1fr !important;
  min-height: 0 !important;
  padding: 1.5rem 0;
  border: 0;
  border-top: 2px solid rgba(15, 118, 110, 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.campus-page #faculty .detail-card__icon {
  color: var(--campus-accent);
  border-radius: 50%;
  background: #e9f8f4;
}

@media (max-width: 1080px) {
  .campus-page #campus-infrastructure > .container,
  .campus-page #faculty .container {
    grid-template-columns: 1fr !important;
  }

  .campus-page #campus-infrastructure .inner-section__header,
  .campus-page #campus-infrastructure .section-lead--opening,
  .campus-page #campus-infrastructure .inner-gallery,
  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #faculty .inner-section__header,
  .campus-page #faculty .section-lead,
  .campus-page #faculty .detail-grid {
    grid-column: 1;
    grid-row: auto;
  }

  .campus-page #campus-infrastructure .inner-gallery {
    min-height: 500px;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n),
  .campus-page #student-life .detail-card,
  .campus-page #student-life .detail-card:nth-child(n) {
    grid-column: span 1;
  }
}

@media (max-width: 700px) {
  .campus-page main .inner-section,
  .campus-page #campus-infrastructure,
  .campus-page #student-life {
    padding: 2.5rem 0 !important;
  }

  .campus-page #campus-infrastructure .inner-gallery {
    min-height: 330px;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid,
  .campus-page #faculty .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n),
  .campus-page #student-life .detail-card,
  .campus-page #student-life .detail-card:nth-child(n) {
    grid-column: 1;
  }

  .campus-page #student-life .detail-card--media {
    min-height: 320px !important;
  }
}

/* Campus page refresh - aligns the page with the homepage's visual bento language. */
.campus-page {
  --campus-ink: #13233a;
  --campus-muted: #5f6878;
  --campus-purple: #6d2d82;
  --campus-orange: #e67c19;
  --campus-teal: #147d75;
  --campus-cream: #fff7e9;
}

.campus-page .inner-hero {
  min-height: clamp(560px, 78svh, 760px);
}

.campus-page :is(.inner-hero__media, .inner-hero__video) {
  background-position: center 40%;
  object-position: center 40%;
  filter: saturate(1.08) contrast(1.04);
}

.campus-page .inner-hero__overlay {
  background:
    radial-gradient(circle at 84% 16%, rgba(230, 124, 25, 0.34), transparent 32%),
    radial-gradient(circle at 50% 110%, rgba(109, 45, 130, 0.58), transparent 56%),
    linear-gradient(180deg, rgba(14, 22, 36, 0.2), rgba(10, 18, 29, 0.78));
}

.campus-page .inner-hero__title {
  font-family: var(--font-family-secondary);
  font-weight: 700;
  font-size: clamp(3.1rem, 7.5vw, 6.1rem);
  line-height: 1.04;
  letter-spacing: -0.018em;
}

.campus-page .inner-hero__rule {
  background: linear-gradient(90deg, var(--campus-teal), var(--campus-orange), var(--campus-purple));
}

.campus-page main .inner-section__header h2 {
  font-family: var(--font-family-secondary);
  color: var(--campus-ink);
  font-weight: 800;
  letter-spacing: -0.018em;
}

.campus-page #campus-infrastructure {
  padding: clamp(4.25rem, 6vw, 7rem) 0 clamp(4.75rem, 7vw, 7.5rem) !important;
  background:
    radial-gradient(circle at 94% 16%, rgba(20, 125, 117, 0.13), transparent 26rem),
    radial-gradient(circle at 8% 86%, rgba(230, 124, 25, 0.14), transparent 24rem),
    linear-gradient(rgba(21, 38, 61, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 38, 61, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, #f4faf8 0%, #fffdf8 55%, #fff4e4 100%) !important;
  background-size: auto, auto, 46px 46px, 46px 46px, auto !important;
}

.campus-page #campus-infrastructure .inner-section__header h2 {
  max-width: 460px;
  font-size: clamp(2.65rem, 5vw, 5.1rem);
  line-height: 0.98;
}

.campus-page #campus-infrastructure .section-lead--opening {
  max-width: 560px;
  padding-left: clamp(1.1rem, 2vw, 1.55rem);
  border-left-color: var(--campus-teal);
}

.campus-page #campus-infrastructure .section-lead--opening p,
.campus-page #faculty .section-lead p {
  color: var(--campus-muted);
  font-size: clamp(1rem, 1.2vw, 1.12rem);
  line-height: 1.8;
}

.campus-page #campus-infrastructure .inner-gallery {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(150px, 0.75fr);
  grid-template-rows: 1fr 1fr;
  gap: 1rem;
  min-height: clamp(470px, 44vw, 610px);
}

.campus-page #campus-infrastructure .inner-gallery__item {
  border: 5px solid rgba(255, 255, 255, 0.92);
  border-radius: 24px;
  box-shadow: 0 26px 70px -38px rgba(19, 35, 58, 0.72);
}

.campus-page #campus-infrastructure .inner-gallery__item--1 {
  grid-row: 1 / 3;
  border-radius: 6px 34px 6px 34px;
}

.campus-page #campus-infrastructure .inner-gallery__item--2 {
  border-radius: 22px 6px 6px 22px;
}

.campus-page #campus-infrastructure .inner-gallery__item--3 {
  border-radius: 6px 22px 22px 6px;
}

.campus-page #campus-infrastructure > .container > .detail-grid {
  gap: clamp(1rem, 1.7vw, 1.45rem);
  margin-top: clamp(1.75rem, 3vw, 2.75rem);
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card {
  position: relative;
  overflow: hidden;
  grid-column: span 4;
  min-height: 250px !important;
  padding: clamp(1.35rem, 2vw, 1.75rem);
  border: 1px solid rgba(20, 125, 117, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.74);
  box-shadow: 0 22px 56px -44px rgba(19, 35, 58, 0.72);
  backdrop-filter: blur(14px);
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:not(.detail-card--media) {
  grid-template-columns: 48px minmax(0, 1fr) !important;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: linear-gradient(90deg, var(--campus-teal), var(--campus-orange));
  opacity: 0.82;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card h3,
.campus-page #student-life .detail-card h3,
.campus-page #faculty .detail-card h3 {
  font-size: clamp(1.12rem, 1.45vw, 1.34rem);
  line-height: 1.22;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card p,
.campus-page #student-life .detail-card p,
.campus-page #faculty .detail-card p {
  font-size: clamp(0.92rem, 1vw, 0.98rem);
  line-height: 1.68;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media {
  min-height: 420px !important;
  padding: 0;
  border: 0;
  border-radius: 24px;
  background: #111d2f;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(1),
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(2) {
  grid-column: span 6;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(6),
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(12),
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media:nth-child(13) {
  grid-column: span 4;
  min-height: 360px !important;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media,
.campus-page #campus-infrastructure .detail-card--media:nth-child(-n + 2) .detail-card__media {
  position: absolute;
  inset: 0;
  height: 100% !important;
  border-radius: inherit;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12, 19, 32, 0.06) 22%, rgba(12, 19, 32, 0.88) 100%);
}

.campus-page #campus-infrastructure .detail-card--media > .detail-card__icon {
  position: absolute;
  z-index: 2;
  top: 1rem;
  left: 1rem;
  margin: 0;
  width: 48px;
  height: 48px;
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(15, 118, 110, 0.68);
  backdrop-filter: blur(12px);
}

.campus-page #campus-infrastructure .detail-card--media > .detail-card__body {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  margin: 0;
  padding: clamp(1.35rem, 2vw, 1.85rem);
}

.campus-page #campus-infrastructure .detail-card--media h3,
.campus-page #campus-infrastructure .detail-card--media p {
  color: #fff !important;
}

.campus-page #campus-infrastructure .detail-card--media p {
  max-width: 66ch;
  color: rgba(255, 255, 255, 0.78) !important;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:not(.detail-card--media) .detail-card__icon,
.campus-page #faculty .detail-card__icon {
  width: 46px;
  height: 46px;
  color: var(--campus-teal);
  border: 1px solid rgba(20, 125, 117, 0.16);
  border-radius: 50%;
  background: #e8f7f3;
}

.campus-page #student-life {
  padding: clamp(4.5rem, 7vw, 7.5rem) 0 !important;
  background:
    radial-gradient(circle at 9% 15%, rgba(230, 124, 25, 0.26), transparent 24rem),
    radial-gradient(circle at 88% 82%, rgba(20, 125, 117, 0.32), transparent 25rem),
    linear-gradient(125deg, #1a1023 0%, #42184f 52%, #113c42 100%) !important;
}

.campus-page #student-life .inner-section__header h2 {
  color: #fff;
  font-size: clamp(2.75rem, 5.2vw, 5.35rem);
}

.campus-page #student-life .inner-section__header .eyebrow,
.campus-page #student-life .section-lead p {
  color: rgba(255, 255, 255, 0.78);
}

.campus-page #student-life .detail-grid {
  gap: clamp(1rem, 2vw, 1.6rem);
}

.campus-page #student-life .detail-card {
  grid-column: span 4;
  min-height: 390px !important;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.055);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.campus-page #student-life .detail-card__icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.14);
}

.campus-page #student-life .detail-card--media {
  min-height: 390px !important;
  border-radius: 8px;
  background: #21132a;
}

.campus-page #student-life .detail-card--media .detail-card__media::after {
  background: linear-gradient(180deg, rgba(20, 10, 30, 0.02) 24%, rgba(20, 10, 30, 0.94) 100%);
}

.campus-page #student-life .detail-card--media .detail-card__media,
.campus-page #student-life .detail-card--media .detail-card__media img {
  border-radius: 8px;
}

.campus-page #student-life .detail-card--media > .detail-card__body {
  padding: 1.4rem 1.5rem 1.5rem;
}

.campus-page #student-life .detail-card--media > .detail-card__icon {
  top: 1rem;
  left: 1rem;
}

.campus-page #faculty {
  padding: clamp(4.25rem, 6vw, 6.5rem) 0 !important;
  background:
    radial-gradient(circle at 94% 8%, rgba(20, 125, 117, 0.12), transparent 24rem),
    linear-gradient(rgba(21, 38, 61, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 38, 61, 0.035) 1px, transparent 1px),
    linear-gradient(135deg, #f3fbf8, #fffdf9) !important;
  background-size: auto, 48px 48px, 48px 48px, auto !important;
}

.campus-page #faculty .inner-section__header h2 {
  font-size: clamp(2.75rem, 5vw, 5.1rem);
}

.campus-page #faculty .detail-card {
  min-height: 280px !important;
  padding: clamp(1.35rem, 2vw, 1.75rem);
  border: 1px solid rgba(20, 125, 117, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: 0 22px 58px -46px rgba(19, 35, 58, 0.62);
}

@media (max-width: 1080px) {
  .campus-page #campus-infrastructure .inner-gallery {
    grid-template-columns: minmax(0, 1.3fr) minmax(150px, 0.7fr);
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n),
  .campus-page #student-life .detail-card,
  .campus-page #student-life .detail-card:nth-child(n),
  .campus-page #student-life .detail-card--media:nth-child(3),
  .campus-page #student-life .detail-card--media:nth-child(7) {
    grid-column: span 1;
  }
}

@media (max-width: 700px) {
  .campus-page .inner-hero {
    min-height: 560px;
  }

  .campus-page #campus-infrastructure .inner-section__header h2,
  .campus-page #student-life .inner-section__header h2,
  .campus-page #faculty .inner-section__header h2 {
    font-size: clamp(2.35rem, 13vw, 3.4rem);
  }

  .campus-page #campus-infrastructure .inner-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.28fr 0.72fr;
    min-height: 430px;
  }

  .campus-page #campus-infrastructure .inner-gallery__item--1 {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid,
  .campus-page #student-life .detail-grid,
  .campus-page #faculty .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n),
  .campus-page #student-life .detail-card,
  .campus-page #student-life .detail-card:nth-child(n) {
    grid-column: 1;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:not(.detail-card--media),
  .campus-page #student-life .detail-card:not(.detail-card--media) {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    min-height: 0 !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--media,
  .campus-page #student-life .detail-card--media {
    min-height: 390px !important;
  }
}

/* Flow stage paragraphs around the highlights panel to use every grid area. */
@media (min-width: 981px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-grid {
    grid-column: 5 / 13 !important;
    grid-row: 1 / 3 !important;
    align-self: stretch !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-card {
    height: 100%;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead {
    display: contents;
    column-count: initial;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p {
    margin: 0 !important;
    break-inside: auto;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p:first-child {
    grid-column: 1 / 5;
    grid-row: 2;
    padding: 0.85rem 0 0 1rem;
    border-left: 3px solid var(--academic-accent);
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p:nth-child(n + 2) {
    grid-column: 1 / 13;
    grid-row: 3;
    padding: 1.25rem 0 0;
    border-top: 1px solid rgba(var(--academic-accent-rgb), 0.2);
  }

  .academics-page #senior-secondary .section-lead p:nth-child(n + 2) {
    border-top-color: rgba(255, 255, 255, 0.16);
  }
}

/* ========================================================================== */
/* Admissions V2 - clear journey, requirements and enquiry                    */
/* ========================================================================== */

.admissions-page {
  --admission-gold: #e88513;
  --admission-purple: #81278e;
  --admission-teal: #087e78;
  --admission-ink: #28102e;
}

.admissions-page .inner-hero__overlay {
  background:
    linear-gradient(90deg, rgba(35, 9, 42, 0.9) 0%, rgba(71, 23, 72, 0.68) 46%, rgba(216, 104, 18, 0.28) 100%),
    linear-gradient(0deg, rgba(31, 7, 35, 0.48), transparent 58%);
}

.admissions-page #admissions {
  position: relative;
  overflow: hidden;
  padding: clamp(4rem, 7vw, 7rem) 0;
  background:
    radial-gradient(circle at 94% 8%, rgba(232, 133, 19, 0.14), transparent 26rem),
    radial-gradient(circle at 4% 42%, rgba(129, 39, 142, 0.09), transparent 27rem),
    linear-gradient(135deg, #fff 0%, #fffaf6 56%, #f3fbfa 100%);
}

.admissions-page #admissions::before {
  content: "ADMIT";
  position: absolute;
  right: -0.05em;
  top: 0.05em;
  color: rgba(52, 17, 59, 0.032);
  font: 850 clamp(7rem, 20vw, 18rem)/1 "Urbanist", sans-serif;
  letter-spacing: -0.08em;
  pointer-events: none;
}

.admissions-page #admissions > .container {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0 clamp(1.2rem, 2.4vw, 2.6rem);
}

.admissions-page .admission-page-heading {
  grid-column: 1 / 6;
  align-self: center;
  padding: 0 0 clamp(2.5rem, 5vw, 4.5rem);
}

.admission-page-heading h2 {
  margin: 1.1rem 0 1.7rem;
  color: var(--admission-ink);
  font-size: clamp(3.1rem, 5vw, 5.4rem);
  line-height: 0.94;
  letter-spacing: -0.062em;
}

.admission-page-heading > a {
  display: inline-flex;
  gap: 0.7rem;
  align-items: center;
  padding: 0.9rem 1.15rem;
  border: 1px solid rgba(40, 16, 46, 0.2);
  border-radius: 999px;
  color: var(--admission-ink);
  font-size: 0.92rem;
  font-weight: 750;
  text-decoration: none;
  transition: color 0.3s ease, background 0.3s ease, transform 0.3s ease;
}

.admission-page-heading > a:hover {
  color: #fff;
  background: var(--admission-purple);
  transform: translateY(-3px);
}

.admissions-page #admissions .section-lead--opening {
  grid-column: 6 / 13;
  align-self: center;
  margin: 0;
  padding: clamp(1.2rem, 3vw, 2.6rem) 0 clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 3vw, 3rem);
  border-left: 3px solid var(--admission-gold);
  background: transparent;
  box-shadow: none;
}

.admissions-page #admissions .section-lead--opening::before,
.admissions-page #admissions .section-lead--opening::after {
  display: none;
}

.admissions-page #admissions .section-lead--opening p {
  margin: 0;
  color: #625865;
  font-size: clamp(1rem, 1.32vw, 1.17rem);
  line-height: 1.9;
}

.admissions-page #admissions .inner-gallery {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.75fr 0.8fr;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 0.8rem;
  width: 100%;
  height: clamp(420px, 48vw, 650px);
  margin: 0 0 clamp(4rem, 8vw, 7.5rem);
  padding: 0;
}

.admissions-page #admissions .inner-gallery::before,
.admissions-page #admissions .inner-gallery::after { display: none; }

.admissions-page #admissions .inner-gallery__item,
.admissions-page #admissions .inner-gallery__item:nth-child(n) {
  position: relative;
  inset: auto;
  width: auto;
  height: auto;
  margin: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}

.admissions-page #admissions .inner-gallery__item:first-child {
  grid-row: 1 / 3;
  border-radius: 3px 44px 3px 44px;
}

.admissions-page #admissions .inner-gallery__item:nth-child(2) { border-radius: 3px 38px 3px 3px; }
.admissions-page #admissions .inner-gallery__item:nth-child(3) { border-radius: 3px 3px 3px 38px; }

.admissions-page #admissions .inner-gallery__item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 58%, rgba(38, 10, 43, 0.28));
  pointer-events: none;
}

.admissions-page #admissions .inner-gallery__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1), filter 0.4s ease;
}

.admissions-page #admissions .inner-gallery__item:hover img {
  transform: scale(1.04);
  filter: saturate(1.08);
}

.admissions-page #admissions > .container > .detail-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(2.8rem, 6vw, 6rem) clamp(1.2rem, 2.5vw, 2.6rem);
  margin: 0;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card,
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(n) {
  position: relative;
  display: block;
  min-height: 0;
  margin: 0;
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card::before,
.admissions-page #admissions > .container > .detail-grid > .detail-card::after { display: none; }

/* Admission overview becomes a full-width dark editorial feature. */
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr) !important;
  overflow: hidden;
  border-radius: 3px 48px 3px 48px;
  background:
    radial-gradient(circle at 100% 0%, rgba(9, 130, 123, 0.28), transparent 27rem),
    linear-gradient(125deg, #35103a, #25102e 56%, #0b4650);
  box-shadow: 0 30px 75px rgba(47, 14, 54, 0.18);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media {
  grid-column: 1 !important;
  min-height: 520px;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 65%, rgba(42, 13, 48, 0.65));
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.75s ease;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1):hover .detail-card__media img { transform: scale(1.035); }

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) > .detail-card__icon {
  display: none;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) > .detail-card__body {
  grid-column: 2 !important;
  align-self: center;
  margin: 0;
  padding: clamp(2.2rem, 5vw, 5rem);
  color: rgba(255, 255, 255, 0.78);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) h3 {
  margin: 0 0 1.5rem;
  color: #fff;
  font-size: clamp(2.8rem, 4.6vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) p {
  color: rgba(255, 255, 255, 0.76);
  font-size: 1rem;
  line-height: 1.78;
}

/* The complete six-step process is one clear visual journey. */
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr) !important;
  gap: clamp(2.5rem, 6vw, 6rem);
  padding: clamp(3rem, 6vw, 6rem) 0;
  border-top: 1px solid rgba(40, 16, 46, 0.15);
  border-bottom: 1px solid rgba(40, 16, 46, 0.15);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__media {
  grid-column: 1 !important;
  height: clamp(360px, 42vw, 570px);
  margin: 0;
  overflow: hidden;
  border-radius: 3px 42px 3px 42px;
  box-shadow: 0 24px 60px rgba(45, 16, 52, 0.15);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__icon { display: none; }

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__body {
  grid-column: 2 !important;
  margin: 0;
  padding: 0;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__body > h3 {
  margin: 0 0 0.75rem;
  color: var(--admission-ink);
  font-size: clamp(2.8rem, 4.7vw, 5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__body > p {
  max-width: 680px;
  margin: 0 0 2rem;
  color: #6c626f;
  font-size: 1.05rem;
  line-height: 1.75;
}

.admissions-page #admissions .detail-grid--nested {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  border-top: 1px solid rgba(40, 16, 46, 0.12);
  counter-reset: admission-step;
}

.admissions-page #admissions .detail-grid--nested::before { display: none; }

.admissions-page #admissions .detail-grid--nested .detail-card,
.admissions-page #admissions .detail-grid--nested .detail-card:nth-child(n) {
  counter-increment: admission-step;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  column-gap: 1rem;
  row-gap: 0;
  align-items: start;
  min-height: 170px;
  margin: 0;
  padding: 1.5rem;
  border: 0;
  border-bottom: 1px solid rgba(40, 16, 46, 0.12);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition: padding-left 0.3s ease, background 0.3s ease;
}

.admissions-page #admissions .detail-grid--nested .detail-card:nth-child(even) { border-left: 1px solid rgba(40, 16, 46, 0.12); }

.admissions-page #admissions .detail-grid--nested .detail-card:hover {
  background: linear-gradient(90deg, rgba(232, 133, 19, 0.07), transparent);
  transform: none;
}

.admissions-page #admissions .detail-grid--nested .detail-card:hover { padding-left: 1.75rem; }

.admissions-page #admissions .detail-grid--nested .detail-card__icon {
  display: grid;
  grid-column: 1 !important;
  grid-row: 1 / span 2;
  position: static;
  width: 44px;
  height: 44px;
  margin: 0;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: var(--admission-purple);
  box-shadow: 0 9px 22px rgba(129, 39, 142, 0.19);
}

.admissions-page #admissions .detail-grid--nested .detail-card__icon i { display: none; }

.admissions-page #admissions .detail-grid--nested .detail-card__icon::before {
  content: counter(admission-step);
  font: 800 1.05rem/1 "Urbanist", sans-serif;
}

.admissions-page #admissions .detail-grid--nested .detail-card:nth-child(2n) .detail-card__icon { background: var(--admission-gold); }
.admissions-page #admissions .detail-grid--nested .detail-card:nth-child(3n) .detail-card__icon { background: var(--admission-teal); }

.admissions-page #admissions .detail-grid--nested .detail-card__body {
  grid-column: 2 !important;
  margin: 0;
  padding: 0;
}

.admissions-page #admissions .detail-grid--nested h3 {
  margin: 0 0 0.55rem;
  color: var(--admission-ink);
  font-size: 1.03rem;
  line-height: 1.35;
}

.admissions-page #admissions .detail-grid--nested p {
  margin: 0;
  color: #746a77;
  font-size: 0.88rem;
  line-height: 1.65;
}

/* Eligibility and documents form a balanced requirements pair. */
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3) {
  grid-column: 1 / 7;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-left: 4px solid var(--admission-teal);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(4) {
  grid-column: 7 / 13;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-radius: 3px 38px 3px 38px;
  background: linear-gradient(145deg, rgba(129, 39, 142, 0.08), rgba(232, 133, 19, 0.08));
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3) > .detail-card__media {
  height: 270px;
  margin: 0 0 2rem;
  overflow: hidden;
  border-radius: 3px 34px 3px 3px;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3) > .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3) > .detail-card__icon,
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(4) > .detail-card__icon { display: none; }

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(n+3) > .detail-card__body {
  margin: 0;
  padding: 0;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(n+3) h3 {
  margin: 0 0 1.1rem;
  color: var(--admission-ink);
  font-size: clamp(2.4rem, 3.8vw, 4rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(n+3) p {
  color: #6b626e;
  line-height: 1.72;
}

.admissions-page #admissions .content-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 1.4rem 0 0;
  padding: 0;
  list-style: none;
}

.admissions-page #admissions .content-list li {
  position: relative;
  margin: 0;
  padding: 0.8rem 0.75rem 0.8rem 1.6rem;
  border-bottom: 1px solid rgba(40, 16, 46, 0.1);
  color: #4e4651;
  font-size: 0.87rem;
  line-height: 1.5;
}

.admissions-page #admissions .content-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1.18rem;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--admission-gold);
  box-shadow: 0 0 0 5px rgba(232, 133, 19, 0.1);
}

.admissions-page #admissions .content-callout {
  display: flex;
  gap: 0.85rem;
  margin: 1.5rem 0 0;
  padding: 1rem 0;
  border: 0;
  border-top: 1px solid rgba(40, 16, 46, 0.14);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.admissions-page #admissions .content-callout i { color: var(--admission-purple); }
.admissions-page #admissions .content-callout p { margin: 0; font-size: 0.82rem; }

/* Homepage-style enquiry block. */
.admissions-page .form-section--admission {
  position: relative;
  overflow: hidden;
  padding: clamp(4.5rem, 8vw, 8rem) 0;
  background:
    radial-gradient(circle at 90% 12%, rgba(7, 144, 135, 0.3), transparent 26rem),
    radial-gradient(circle at 3% 100%, rgba(232, 133, 19, 0.23), transparent 28rem),
    linear-gradient(120deg, #321039 0%, #28102f 53%, #0b4650 100%);
}

.admissions-page .form-section--admission::after {
  content: "APPLY";
  position: absolute;
  right: -0.04em;
  bottom: -0.16em;
  color: rgba(255, 255, 255, 0.035);
  font: 850 clamp(8rem, 23vw, 20rem)/0.85 "Urbanist", sans-serif;
  letter-spacing: -0.08em;
}

.admissions-page .form-section--admission .form-section__path { opacity: 0.18; }

.admissions-page .form-section--admission .form-shell {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(300px, 0.76fr) minmax(0, 1.24fr);
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 3px 44px 3px 44px;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 34px 80px rgba(17, 5, 22, 0.3);
  backdrop-filter: blur(12px);
}

.admissions-page .form-section--admission .form-intro {
  padding: clamp(2.5rem, 5vw, 4.7rem);
  color: #fff;
  background: transparent;
}

.admissions-page .form-section--admission .form-intro h2 {
  margin: 1rem 0 1.1rem;
  color: #fff;
  font-size: clamp(3rem, 3.6vw, 3.5rem);
  line-height: 0.98;
  letter-spacing: -0.055em;
}

.admissions-page .form-section--admission .form-intro > p { color: rgba(255, 255, 255, 0.72); line-height: 1.75; }
.admissions-page .form-section--admission .form-intro__points { margin-top: 2.2rem; padding: 0; list-style: none; }
.admissions-page .form-section--admission .form-intro__points li { display: flex; gap: 0.75rem; padding: 0.8rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.13); color: rgba(255, 255, 255, 0.86); }
.admissions-page .form-section--admission .form-intro__points i { color: #71d5cd; }

.admissions-page .form-section--admission .contact-panel {
  margin: 0;
  padding: clamp(2rem, 4.5vw, 4.5rem);
  border-radius: 0;
  background: #fffdfc;
  box-shadow: none;
}

.admissions-page .form-section--admission .form-submit {
  background: linear-gradient(100deg, var(--admission-purple), #a52f94 55%, var(--admission-gold));
  box-shadow: 0 14px 30px rgba(129, 39, 142, 0.2);
}

.admissions-page .form-section--admission .form-submit--secondary {
  border: 1px solid rgba(129, 39, 142, 0.25);
  color: var(--admission-purple);
  background: rgba(129, 39, 142, 0.07);
  box-shadow: none;
}

.admissions-page .form-section--admission .form-submit:hover { transform: translateY(-3px); }

@media (max-width: 1080px) {
  .admissions-page .admission-page-heading,
  .admissions-page #admissions .section-lead--opening { grid-column: 1 / -1; }

  .admissions-page #admissions .section-lead--opening { padding-bottom: 3rem; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) {
    grid-template-columns: 1fr !important;
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__media { height: 440px; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__media,
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__body { grid-column: 1 !important; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3),
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(4) { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  .admissions-page #admissions { padding: 3.75rem 0; }

  .admission-page-heading h2 { font-size: clamp(2.8rem, 13vw, 4.2rem); }

  .admissions-page #admissions .section-lead--opening {
    padding: 0 0 2.6rem 1.2rem;
  }

  .admissions-page #admissions .inner-gallery {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1.25fr 0.75fr;
    height: 500px;
    margin-bottom: 4rem;
  }

  .admissions-page #admissions .inner-gallery__item:first-child {
    grid-column: 1 / -1;
    grid-row: 1;
    border-radius: 3px 28px 3px 3px;
  }

  .admissions-page #admissions .inner-gallery__item:nth-child(2),
  .admissions-page #admissions .inner-gallery__item:nth-child(3) { border-radius: 0 0 3px 3px; }

  .admissions-page #admissions > .container > .detail-grid { gap: 3.5rem; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
    grid-template-columns: 1fr !important;
    border-radius: 3px 30px 3px 30px;
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media,
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) > .detail-card__body { grid-column: 1 !important; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media { min-height: 330px; }
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media::after { background: linear-gradient(180deg, transparent 65%, rgba(42, 13, 48, 0.68)); }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) { padding: 3rem 0; }
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(2) > .detail-card__media { height: 330px; }

  .admissions-page #admissions .detail-grid--nested { grid-template-columns: 1fr; }
  .admissions-page #admissions .detail-grid--nested .detail-card:nth-child(n) { min-height: 0; padding: 1.3rem 0; border-left: 0; }
  .admissions-page #admissions .detail-grid--nested .detail-card:nth-child(n):hover { padding-left: 0.5rem; }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(3) { padding-left: 1rem; }
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(4) { padding: 2rem 1.4rem; }

  .admissions-page #admissions .content-list { grid-template-columns: 1fr; }

  .admissions-page .form-section--admission { padding: 4rem 0; }
  .admissions-page .form-section--admission .form-shell { grid-template-columns: 1fr; border-radius: 3px 30px 3px 30px; }
  .admissions-page .form-section--admission .form-intro,
  .admissions-page .form-section--admission .contact-panel { padding: 2.2rem 1.4rem; }
}

@media (prefers-reduced-motion: reduce) {
  .admission-page-heading > a,
  .admissions-page #admissions .inner-gallery__item img,
  .admissions-page #admissions .detail-grid--nested .detail-card,
  .admissions-page .form-section--admission .form-submit { transition: none; }
}

/* Student Life: two-column image stories with complete readable overlays. */
.campus-page #student-life .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.campus-page #student-life .detail-card,
.campus-page #student-life .detail-card:nth-child(n),
.campus-page #student-life .detail-card--media:nth-child(n) {
  grid-column: span 1 !important;
  min-height: clamp(420px, 36vw, 480px) !important;
  overflow: hidden;
  border-radius: 8px;
}

.campus-page #student-life .detail-card--media .detail-card__media::after {
  background: linear-gradient(
    180deg,
    rgba(20, 10, 30, 0.04) 0%,
    rgba(20, 10, 30, 0.18) 30%,
    rgba(20, 10, 30, 0.82) 62%,
    rgba(20, 10, 30, 0.98) 100%
  );
}

.campus-page #student-life .detail-card--media .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease;
}

.campus-page #student-life .detail-card--media:hover .detail-card__media img {
  transform: scale(1.035);
}

.campus-page #student-life .detail-card--media > .detail-card__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 58%;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  background: linear-gradient(180deg, transparent, rgba(20, 10, 30, 0.18));
}

.campus-page #student-life .detail-card--media > .detail-card__body h3 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
}

.campus-page #student-life .detail-card--media > .detail-card__body p {
  max-width: 62ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.94rem, 1.15vw, 1.04rem);
  line-height: 1.65;
}

@media (max-width: 760px) {
  .campus-page #student-life .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .campus-page #student-life .detail-card,
  .campus-page #student-life .detail-card:nth-child(n),
  .campus-page #student-life .detail-card--media:nth-child(n) {
    grid-column: 1 !important;
    min-height: 480px !important;
  }

  .campus-page #student-life .detail-card--media > .detail-card__body {
    padding: 1.4rem;
  }
}

/* Explore Our Campus: unified two-column facility stories. */
.campus-page #campus-infrastructure {
  padding-bottom: clamp(4.25rem, 6vw, 7rem) !important;
}

.campus-page #campus-infrastructure > .container > .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: clamp(1.25rem, 2.4vw, 2rem) !important;
}

.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n) {
  grid-column: span 1 !important;
  min-height: clamp(420px, 34vw, 480px) !important;
  overflow: hidden;
  border: 1px solid rgba(15, 118, 110, 0.12);
  border-radius: 10px;
  box-shadow: 0 22px 52px -42px rgba(20, 38, 58, 0.62);
}

/* The :nth-child(n) in the rule above out-specifies a plain .detail-card--wide,
   so the modifier never applied. Match that specificity to make it work. */
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--wide,
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--wide:nth-child(n) {
  grid-column: 1 / -1 !important;
  min-height: 400px !important;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media,
.campus-page #campus-infrastructure .detail-card--media:nth-child(n) .detail-card__media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100% !important;
  border-radius: inherit;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 500ms ease, filter 500ms ease;
}

.campus-page #campus-infrastructure .detail-card--media .detail-card__media::after {
  background: linear-gradient(
    180deg,
    rgba(9, 18, 29, 0.02) 0%,
    rgba(9, 18, 29, 0.14) 30%,
    rgba(9, 18, 29, 0.78) 62%,
    rgba(9, 18, 29, 0.97) 100%
  );
}

.campus-page #campus-infrastructure .detail-card--media:hover .detail-card__media img {
  transform: scale(1.035);
  filter: saturate(1.06);
}

.campus-page #campus-infrastructure .detail-card--media > .detail-card__body {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 62%;
  padding: clamp(1.45rem, 2.5vw, 2.15rem);
}

.campus-page #campus-infrastructure .detail-card--wide > .detail-card__body {
  max-width: 76%;
}

.campus-page #campus-infrastructure .detail-card--media h3 {
  margin: 0 0 0.65rem;
  color: #fff !important;
  font-size: clamp(1.4rem, 2vw, 1.9rem);
  line-height: 1.15;
}

.campus-page #campus-infrastructure .detail-card--media p {
  max-width: 66ch;
  margin: 0;
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: clamp(0.9rem, 1.05vw, 0.98rem);
  line-height: 1.62;
}

/* Graceful fallback for a future facility without a usable photograph. */
.campus-page #campus-infrastructure .detail-card:not(.detail-card--media) {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) !important;
  align-content: center;
  gap: 1rem;
  padding: clamp(2rem, 4vw, 3.25rem);
  background:
    linear-gradient(rgba(15, 118, 110, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 118, 110, 0.045) 1px, transparent 1px),
    #fff;
  background-size: 32px 32px;
}

@media (max-width: 900px) {
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n) {
    min-height: 500px !important;
  }

  .campus-page #campus-infrastructure .detail-card--wide > .detail-card__body {
    max-width: 100%;
  }
}

@media (max-width: 700px) {
  .campus-page #campus-infrastructure > .container > .detail-grid {
    grid-template-columns: 1fr !important;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card:nth-child(n),
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--wide {
    grid-column: 1 !important;
    min-height: 500px !important;
  }

  .campus-page #campus-infrastructure .detail-card--media > .detail-card__body {
    padding: 1.35rem;
  }
}

/* Academic stages: keep dotted decoration at the outer edge, clear of copy. */
.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) > .container {
  position: relative;
  z-index: 2;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
)::before {
  z-index: 1;
  inset: auto 0 clamp(1.5rem, 4vw, 3.5rem) auto;
  width: clamp(90px, 10vw, 150px);
  height: clamp(150px, 17vw, 240px);
  opacity: 0.28;
  background-image: radial-gradient(circle, rgba(var(--academic-accent-rgb), 0.72) 1.4px, transparent 1.7px);
  background-position: right bottom;
  background-size: 13px 13px;
  -webkit-mask-image: linear-gradient(135deg, transparent 4%, #000 62%);
  mask-image: linear-gradient(135deg, transparent 4%, #000 62%);
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .inner-section__decor {
  z-index: 1;
  top: clamp(1.5rem, 4vw, 3.5rem);
  right: clamp(-12rem, -10vw, -7rem);
  width: clamp(190px, 20vw, 300px);
  opacity: 0.42;
  pointer-events: none;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .inner-section__decor::after {
  left: auto;
  right: 58%;
  bottom: -3rem;
  width: 82px;
  height: 82px;
  opacity: 0.2;
  background-size: 12px 12px;
}

.academics-page #senior-secondary::before {
  opacity: 0.2;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.7) 1.4px, transparent 1.7px);
}

@media (max-width: 700px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  )::before {
    width: 72px;
    height: 130px;
    opacity: 0.2;
    background-size: 11px 11px;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .inner-section__decor {
    right: -9rem;
    width: 210px;
    opacity: 0.28;
  }
}

/* Image-free campus facilities form a compact closing information grid. */
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--text,
.campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--text:nth-child(n) {
  grid-column: span 1 !important;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) !important;
  align-content: start;
  gap: 1rem;
  min-height: 250px !important;
  padding: clamp(1.5rem, 2.5vw, 2.15rem);
  overflow: hidden;
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(rgba(15, 118, 110, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 118, 110, 0.04) 1px, transparent 1px),
    linear-gradient(135deg, #ffffff, #f5fbf9);
  background-size: 30px 30px, 30px 30px, auto;
  box-shadow: 0 20px 48px -40px rgba(18, 47, 59, 0.65);
}

.campus-page #campus-infrastructure .detail-card--text .detail-card__icon {
  width: 48px;
  height: 48px;
  margin: 0;
  color: #fff;
  border: 0;
  border-radius: 8px;
  background: var(--campus-accent);
  box-shadow: 0 10px 22px rgba(15, 118, 110, 0.18);
}

.campus-page #campus-infrastructure .detail-card--text .detail-card__body {
  margin: 0;
}

.campus-page #campus-infrastructure .detail-card--text h3 {
  margin: 0 0 0.65rem;
  color: var(--campus-ink);
  font-size: clamp(1.3rem, 1.8vw, 1.65rem);
  line-height: 1.2;
}

.campus-page #campus-infrastructure .detail-card--text p {
  margin: 0;
  color: #5f6671;
  font-size: clamp(0.91rem, 1vw, 0.98rem);
  line-height: 1.68;
}

@media (max-width: 700px) {
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--text,
  .campus-page #campus-infrastructure > .container > .detail-grid > .detail-card--text:nth-child(n) {
    grid-column: 1 !important;
    min-height: 0 !important;
    padding: 1.35rem;
  }
}

/* Academic stage highlights size to their content instead of stretching. */
@media (min-width: 981px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-grid {
    align-self: start !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-card {
    height: auto !important;
    align-self: start;
  }
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .detail-card {
  padding: clamp(1.15rem, 1.8vw, 1.45rem) !important;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .content-list li {
  display: flex;
  align-items: center;
  min-height: 52px;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
}

.academics-page :is(
  #ecce-early-childhood-care-education,
  #primary-school,
  #middle-school,
  #secondary-school,
  #senior-secondary
) .content-list li::before {
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 760px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .content-list li {
    min-height: 48px;
  }
}

/* Academic programmes: compact intro row followed by a full-width highlights panel. */
@media (min-width: 981px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .container {
    row-gap: clamp(1.75rem, 3vw, 2.75rem) !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .inner-section__header {
    grid-column: 1 / 5 !important;
    grid-row: 1 !important;
    margin: 0 !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead {
    display: block !important;
    grid-column: 5 / 13 !important;
    grid-row: 1 !important;
    align-self: center;
    margin: 0 !important;
    padding: 0 0 0 clamp(1.25rem, 2.5vw, 2rem) !important;
    border: 0 !important;
    border-left: 3px solid var(--academic-accent) !important;
    column-count: initial !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p:first-child,
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p:nth-child(n + 2) {
    display: block;
    margin: 0 0 0.85rem !important;
    padding: 0 !important;
    border: 0 !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .section-lead p:last-child {
    margin-bottom: 0 !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-grid {
    grid-column: 1 / 13 !important;
    grid-row: 2 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .detail-card {
    height: auto !important;
    padding: clamp(1.4rem, 2.2vw, 2rem) !important;
  }
}

@media (min-width: 1200px) {
  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) .content-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

/* Centre every academic list marker, including wrapped options. */
.academics-page .content-list li {
  display: flex;
  align-items: center;
  min-height: 52px;
}

.academics-page .content-list li::before {
  top: 50%;
  transform: translateY(-50%);
}

/* Keep decorative dots at section edges instead of across readable content. */
.academics-page main .inner-section > .container {
  position: relative;
  z-index: 2;
}

.academics-page main .inner-section::before {
  z-index: 1;
  inset: auto 0 clamp(1.25rem, 3vw, 2.5rem) auto;
  width: clamp(76px, 9vw, 132px);
  height: clamp(120px, 15vw, 210px);
  opacity: 0.22;
  background-image: radial-gradient(circle, rgba(var(--academic-accent-rgb), 0.72) 1.35px, transparent 1.7px);
  background-position: right bottom;
  background-size: 12px 12px;
  -webkit-mask-image: linear-gradient(135deg, transparent 5%, #000 68%);
  mask-image: linear-gradient(135deg, transparent 5%, #000 68%);
}

.academics-page #academic-overview::before,
.academics-page #senior-secondary::before {
  opacity: 0.18;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.7) 1.35px, transparent 1.7px);
}

@media (max-width: 760px) {
  .academics-page .content-list li {
    min-height: 48px;
  }

  .academics-page main .inner-section::before {
    width: 62px;
    height: 110px;
    opacity: 0.16;
    background-size: 10px 10px;
  }
}

/* ========================================================================== 
   Inner pages: consolidated tablet and phone layout
   ========================================================================== */
@media (max-width: 900px) {
  .inner-page {
    overflow-x: hidden;
  }

  .inner-page .container {
    min-width: 0;
  }

  .inner-page .inner-section__header,
  .inner-page .section-lead,
  .inner-page .detail-grid,
  .inner-page .contact-grid,
  .inner-page .inner-gallery,
  .inner-page .form-shell {
    min-width: 0;
  }

  .inner-page :is(h1, h2, h3, p, li, a, strong, span) {
    overflow-wrap: break-word;
  }

  .inner-page .inner-section__header h2 {
    font-size: 2.75rem;
    line-height: 1.02;
  }

  .inner-page .detail-grid,
  .inner-page .contact-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inner-page .form-shell {
    grid-template-columns: 1fr;
  }

  .inner-page .form-intro,
  .inner-page .contact-panel {
    padding: 2rem;
  }
}

@media (max-width: 760px) {
  .inner-page .container {
    padding-inline: 1rem;
  }

  .inner-page .inner-hero,
  .inner-page.premium-page .inner-hero {
    min-height: clamp(450px, 84svh, 540px) !important;
  }

  .inner-page .inner-hero__content {
    width: calc(100% - 2rem);
    padding-top: 5.25rem;
  }

  .inner-page .inner-hero__title,
  .inner-page.premium-page .inner-hero__title {
    max-width: 100%;
    font-size: 3.15rem !important;
    line-height: 1.02;
    letter-spacing: 0;
  }

  .inner-page .inner-hero__subtitle {
    max-width: 34rem;
    font-size: 1rem;
    line-height: 1.6;
  }

  .inner-page .inner-hero__scroll {
    display: none;
  }

  .inner-page .inner-section,
  .inner-page.premium-page .inner-section {
    padding: 2.75rem 0;
  }

  .inner-page .inner-section__decor,
  .inner-page main .inner-section::before {
    display: none;
  }

  .inner-page .inner-section__header {
    display: block;
    margin-bottom: 1.25rem;
  }

  .inner-page .inner-section__header h2 {
    max-width: 100%;
    font-size: 2.35rem !important;
    line-height: 1.08;
    letter-spacing: 0;
  }

  .inner-page .section-lead {
    max-width: none;
    margin-bottom: 1.5rem;
  }

  .inner-page .section-lead p,
  .inner-page .detail-card p {
    font-size: 0.96rem;
    line-height: 1.68;
  }

  .inner-page .detail-grid,
  .inner-page .contact-grid {
    grid-template-columns: 1fr !important;
    grid-auto-rows: auto !important;
    gap: 1rem;
  }

  .inner-page .detail-card,
  .inner-page .contact-card {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 0.9rem;
    min-height: 0 !important;
    height: auto !important;
    padding: 1.25rem;
    border-radius: 8px;
  }

  .inner-page .detail-card__icon {
    width: 44px;
    height: 44px;
    border-radius: 8px;
  }

  .inner-page .detail-card h3 {
    margin-top: 0.15rem;
    font-size: 1.2rem;
    line-height: 1.3;
    letter-spacing: 0;
  }

  .inner-page .content-list {
    grid-template-columns: 1fr !important;
  }

  .inner-page .content-list li {
    min-height: 0;
    padding-block: 0.65rem;
  }

  .inner-page .inner-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: 240px 140px !important;
    gap: 0.65rem;
    min-height: 0 !important;
    height: auto;
    margin-block: 1.5rem;
  }

  .inner-page .inner-gallery__item {
    min-width: 0;
    min-height: 0;
    border-radius: 8px;
  }

  .inner-page .inner-gallery__item--1 {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .inner-page .inner-gallery__item--2,
  .inner-page .inner-gallery__item--3 {
    grid-row: 2 !important;
  }

  .inner-page .form-section {
    padding: 2.75rem 0;
  }

  .inner-page .form-shell {
    overflow: hidden;
    border-radius: 8px;
  }

  .inner-page .form-intro,
  .inner-page .contact-panel {
    padding: 1.5rem 1.25rem;
  }

  .inner-page :is(input, select, textarea, button) {
    max-width: 100%;
  }

  .inner-page :is(input, select, button) {
    min-height: 46px;
  }

  /* Image cards become content-driven on phones so text is never clipped. */
  .inner-page .detail-card--media {
    display: grid !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    padding: 0 !important;
    overflow: hidden;
  }

  .inner-page .detail-card--media .detail-card__media {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100%;
    height: 220px !important;
    min-height: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
  }

  .inner-page .detail-card--media > .detail-card__icon {
    position: absolute !important;
    z-index: 4;
    top: 1rem !important;
    left: 1rem !important;
    right: auto !important;
    bottom: auto !important;
    margin: 0 !important;
  }

  .inner-page .detail-card--media > .detail-card__body {
    position: relative !important;
    inset: auto !important;
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: auto !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 1.25rem !important;
  }

  .inner-page .detail-card--media > .detail-card__body h3 {
    margin-top: 0;
  }

  .about-page #why-choose-avm .detail-card--media,
  .about-page #why-choose-avm .detail-card--media:nth-child(10) {
    display: grid !important;
    grid-column: 1 !important;
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
    height: auto !important;
    border-radius: 8px;
  }

  .about-page #why-choose-avm .detail-card--media .detail-card__media {
    position: relative !important;
    inset: auto !important;
    height: 220px !important;
    border-radius: 0 !important;
  }

  .about-page #why-choose-avm .detail-card--media > .detail-card__body {
    position: relative !important;
    inset: auto !important;
    padding: 1.25rem !important;
  }

  /* Campus cards use dark content bands beneath genuine photography. */
  .campus-page #campus-infrastructure .detail-card--media,
  .campus-page #student-life .detail-card--media {
    color: #fff;
    border: 0 !important;
    background: #17232b !important;
  }

  .campus-page #student-life .detail-card--media {
    background: #281431 !important;
  }

  .campus-page :is(#campus-infrastructure, #student-life) .detail-card--media > .detail-card__body {
    color: rgba(255, 255, 255, 0.82) !important;
    background: inherit !important;
  }

  .campus-page :is(#campus-infrastructure, #student-life) .detail-card--media h3 {
    color: #fff !important;
  }

  .campus-page :is(#campus-infrastructure, #student-life) .detail-card--media p {
    color: rgba(255, 255, 255, 0.78) !important;
  }

  .campus-page #campus-infrastructure .detail-card--text {
    padding: 1.25rem !important;
    border: 1px solid rgba(var(--page-accent-rgb), 0.18) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.88) !important;
  }

  /* The admissions timeline keeps its number and copy in separate lanes. */
  .admissions-page #admissions .detail-grid--nested::before {
    left: 20px;
  }

  .admissions-page #admissions .detail-grid--nested .detail-card {
    display: block;
    padding: 1.1rem 0 1.25rem 3.5rem;
  }

  .admissions-page #admissions .detail-grid--nested .detail-card__icon {
    top: 1rem;
    left: 0;
  }

  /* Academic programme sections stay compact and marker-aligned. */
  .academics-page #academic-overview .detail-card {
    padding: 1.25rem !important;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) > .container {
    display: block !important;
  }

  .academics-page :is(
    #ecce-early-childhood-care-education,
    #primary-school,
    #middle-school,
    #secondary-school,
    #senior-secondary
  ) :is(.inner-section__header, .section-lead, .detail-grid) {
    grid-column: auto !important;
    grid-row: auto !important;
    width: auto !important;
  }

  .academics-page .content-list li {
    display: flex;
    align-items: center;
  }

  /* Management portraits and messages use a predictable single column. */
  .management-page .management-intro .container,
  .management-page .leadership-profiles__header,
  .management-page .leader-profile {
    grid-template-columns: 1fr !important;
  }

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

  .management-page .leader-profile,
  .management-page .leader-profile--reverse {
    gap: 1.5rem;
    padding: 2rem 0;
  }

  .management-page .leader-profile--reverse :is(.leader-profile__aside, .leader-profile__content) {
    order: initial;
  }

  .management-page .leader-profile__aside {
    grid-template-columns: 1fr;
  }

  .management-page .leader-profile__media {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 8px;
  }

  .management-page .leader-profile__id h3 {
    font-size: 2.05rem;
    letter-spacing: 0;
  }

  /* Footer content stays readable without floating controls covering it. */
  .inner-page .site-footer {
    padding: 3rem 0 1.5rem;
  }

  .inner-page .site-footer__grid {
    gap: 2rem;
    margin-bottom: 2rem;
  }

  .inner-page .site-footer__contact :is(a, span) {
    overflow-wrap: anywhere;
  }

  .inner-page .site-footer__bottom,
  .inner-page .site-footer__bottom-actions {
    align-items: flex-start;
    justify-content: flex-start;
    text-align: left;
  }

  .inner-page .site-footer__designer {
    max-width: 100%;
  }

  .inner-page .site-footer__designer img {
    width: 132px;
    max-height: none;
    border-radius: 2px;
  }

  .inner-page .back-to-top {
    display: none !important;
  }

  .inner-page .form-section__path {
    display: none;
  }
}

@media (max-width: 420px) {
  .inner-page .container {
    padding-inline: 0.7rem;
  }

  .inner-page .inner-hero__content {
    width: calc(100% - 1.4rem);
  }

  .inner-page .inner-hero__title,
  .inner-page.premium-page .inner-hero__title {
    font-size: 2.65rem !important;
  }

  .inner-page .inner-section__header h2 {
    font-size: 2.05rem !important;
  }

  .inner-page .inner-gallery {
    grid-template-rows: 210px 120px !important;
  }

  .inner-page .detail-card--media .detail-card__media {
    height: 200px !important;
  }

  .about-page #why-choose-avm .detail-card--media .detail-card__media {
    height: 200px !important;
  }

  .inner-page .form-intro,
  .inner-page .contact-panel,
  .inner-page .detail-card,
  .inner-page .contact-card {
    padding: 1.1rem;
  }

  .inner-page .site-footer__designer {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ==========================================================================
   School motto banner (about page)
   ========================================================================== */

.motto-section {
  padding: clamp(2.5rem, 4vw, 4rem) 0;
}

.motto-banner {
  position: relative;
  overflow: hidden;
  padding: clamp(2.6rem, 5vw, 4.4rem) clamp(1.5rem, 5vw, 4rem);
  border-radius: 2px 48px 2px 48px;
  text-align: center;
  background:
    radial-gradient(circle at 88% 18%, rgba(238, 122, 22, 0.28), transparent 22rem),
    radial-gradient(circle at 10% 92%, rgba(8, 127, 120, 0.24), transparent 22rem),
    linear-gradient(118deg, #2f102f 0%, #37133f 48%, #0b4651 100%);
  box-shadow: 0 26px 66px rgba(45, 18, 52, 0.24);
}

.motto-banner__label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--pas-orange-light);
  font-size: 0.77rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.motto-banner__label::before,
.motto-banner__label::after {
  content: "";
  width: 30px;
  height: 2px;
  background: currentColor;
}

.motto-banner__quote {
  margin: 1.4rem auto 0;
  max-width: 22ch;
  color: #fff;
  font-family: var(--font-family-secondary);
  font-size: clamp(1.7rem, 4.6vw, 3.4rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: -0.03em;
}

.motto-banner__note {
  margin: 1.5rem 0 0;
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.9rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

/* ==========================================================================
   Leadership messages (management page)
   ========================================================================== */

.leader-profile__content > p + p {
  margin-top: 1.05rem;
}

.leader-profile__tagline {
  margin-top: 0 !important;
  color: var(--leader-accent) !important;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
}

.leader-profile__pullquote {
  position: relative;
  margin-top: 1.5rem !important;
  padding-left: 1.4rem;
  border-left: 3px solid var(--leader-accent);
  color: var(--management-ink) !important;
  font-size: clamp(1.05rem, 1.6vw, 1.28rem) !important;
  font-weight: 650 !important;
  font-style: italic;
  line-height: 1.6 !important;
}

.leader-profile__sign {
  display: flex;
  flex-direction: column;
  margin-top: 1.7rem !important;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(43, 19, 51, 0.12);
  color: var(--management-ink) !important;
  font-size: 1.02rem !important;
  font-weight: 800 !important;
  line-height: 1.4 !important;
}

.leader-profile__sign span {
  color: var(--leader-accent);
  font-size: 0.79rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Long-form messages: keep the portrait and name in view beside the scrolling text */
@media (min-width: 981px) {
  .management-page .leader-profile__aside {
    position: sticky;
    top: 2.5rem;
    align-self: start;
  }
}

/* ==========================================================================
   Academic calendar page
   ========================================================================== */

.calendar-keydates {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(auto-fit, minmax(258px, 1fr));
  margin-top: clamp(1.8rem, 3vw, 2.8rem);
}

.calendar-keydate {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
  padding: 1.25rem 1.35rem;
  border: 1px solid rgba(43, 19, 51, 0.1);
  border-radius: 2px 22px 2px 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 14px 34px rgba(45, 18, 52, 0.07);
}

.calendar-keydate__icon {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(131, 41, 150, 0.1);
  color: var(--pas-purple);
  font-size: 1.2rem;
}

.calendar-keydate strong {
  display: block;
  color: var(--management-ink);
  font-size: 1.02rem;
  line-height: 1.35;
}

.calendar-keydate span:not(.calendar-keydate__icon) {
  display: block;
  margin-top: 0.28rem;
  color: #68606b;
  font-size: 0.9rem;
  line-height: 1.5;
}

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem 1.4rem;
  margin-top: clamp(1.6rem, 2.6vw, 2.4rem);
}

.calendar-legend__item {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  color: #564d5a;
  font-size: 0.86rem;
  font-weight: 650;
}

.calendar-legend__item::before {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 3px;
  background: var(--calendar-dot, var(--pas-purple));
}

.calendar-legend__item--holiday { --calendar-dot: #d64545; }
.calendar-legend__item--exam { --calendar-dot: #2f6bd4; }
.calendar-legend__item--event { --calendar-dot: var(--pas-orange); }
.calendar-legend__item--academic { --calendar-dot: #087f78; }

.calendar-grid {
  display: grid;
  gap: clamp(1.1rem, 2vw, 1.7rem);
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin-top: clamp(1.8rem, 3vw, 2.8rem);
}

.calendar-month {
  display: flex;
  flex-direction: column;
  padding: 1.5rem 1.6rem 1.7rem;
  border: 1px solid rgba(43, 19, 51, 0.1);
  border-radius: 2px 28px 2px 28px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 16px 40px rgba(45, 18, 52, 0.07);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.calendar-month:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 54px rgba(45, 18, 52, 0.12);
}

.calendar-month__title {
  margin: 0 0 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 2px solid rgba(131, 41, 150, 0.16);
  color: var(--management-ink);
  font-size: 1.42rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.calendar-month__title span {
  color: var(--pas-orange);
  font-size: 0.98rem;
  font-weight: 700;
}

.calendar-month__list {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.calendar-event {
  display: grid;
  gap: 0.85rem;
  grid-template-columns: 84px minmax(0, 1fr);
  align-items: baseline;
  padding: 0.62rem 0;
  border-bottom: 1px solid rgba(43, 19, 51, 0.07);
}

.calendar-event:last-child {
  border-bottom: 0;
}

.calendar-event__date {
  position: relative;
  padding-left: 0.95rem;
  color: var(--management-ink);
  font-size: 0.88rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.calendar-event__date::before {
  content: "";
  position: absolute;
  top: 0.4em;
  left: 0;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: var(--calendar-dot, var(--pas-purple));
}

.calendar-event__label {
  color: #5d5461;
  font-size: 0.92rem;
  line-height: 1.55;
}

.calendar-event--holiday { --calendar-dot: #d64545; }
.calendar-event--exam { --calendar-dot: #2f6bd4; }
.calendar-event--event { --calendar-dot: var(--pas-orange); }
.calendar-event--academic { --calendar-dot: #087f78; }

.calendar-month__note {
  margin: 0.9rem 0 0;
  color: #7c737f;
  font-size: 0.86rem;
  font-style: italic;
  line-height: 1.5;
}

.calendar-page .content-callout {
  margin-top: clamp(2rem, 3.2vw, 3rem);
}

@media (max-width: 520px) {
  .calendar-event {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .calendar-event__label {
    padding-left: 0.95rem;
  }
}

/* ==========================================================================
   Contact page — detail lists inside the contact cards
   ========================================================================== */

.contact-card__list {
  margin: 1.15rem 0 0;
  padding: 1.15rem 0 0;
  border-top: 1px solid rgba(43, 19, 51, 0.12);
  list-style: none;
  display: grid;
  gap: 0.85rem;
}

.contact-card__list li {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
  min-width: 0;
}

.contact-card__list small {
  color: var(--pas-orange);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-card__list a,
.contact-card__list span {
  color: #443b47;
  font-size: 0.95rem;
  font-weight: 650;
  line-height: 1.5;
  text-decoration: none;
  overflow-wrap: anywhere;
}

.contact-card__list a {
  transition: color 0.2s ease;
}

.contact-card__list a:hover,
.contact-card__list a:focus-visible {
  color: var(--pas-purple);
}

/* ==========================================================================
   Gallery page
   ========================================================================== */

.gallery-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin: clamp(1.6rem, 3vw, 2.4rem) 0 clamp(1.8rem, 3vw, 2.6rem);
}

.gallery-filter {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  padding: 0.6rem 1.1rem;
  border: 1px solid rgba(43, 19, 51, 0.14);
  border-radius: 999px;
  color: #5d5461;
  background: rgba(255, 255, 255, 0.85);
  cursor: pointer;
  font-family: var(--font-family-primary);
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.gallery-filter span {
  padding: 0.1rem 0.45rem;
  border-radius: 999px;
  background: rgba(43, 19, 51, 0.08);
  font-size: 0.75rem;
}

.gallery-filter:hover {
  border-color: rgba(131, 41, 150, 0.4);
  color: var(--pas-purple);
}

.gallery-filter.is-active {
  border-color: transparent;
  color: #fff;
  background: linear-gradient(135deg, var(--pas-purple), var(--pas-orange));
}

.gallery-filter.is-active span {
  background: rgba(255, 255, 255, 0.22);
}

.gallery-grid {
  display: grid;
  gap: clamp(0.85rem, 1.6vw, 1.4rem);
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.gallery-tile {
  position: relative;
  overflow: hidden;
  margin: 0;
  aspect-ratio: 4 / 3;
  border-radius: 22px;
  background: #ece6f1;
  box-shadow: 0 20px 46px -28px rgba(42, 17, 50, 0.55);
}

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

.gallery-tile img {
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.gallery-tile:hover img {
  transform: scale(1.06);
}

.gallery-tile--video {
  background: #0d0614;
}

.gallery-tile--video video {
  background: #000;
  cursor: pointer;
}

.gallery-tile--video figcaption {
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.gallery-tile--video:hover figcaption,
.gallery-tile--video:focus-within figcaption {
  opacity: 0;
}

.gallery-tile figcaption {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 2.6rem 1rem 1rem;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(23, 17, 36, 0.82));
  font-size: 0.88rem;
  line-height: 1.4;
}

.gallery-tile__tag {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: var(--pas-orange-light);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.gallery-tile[hidden] {
  display: none;
}

.gallery-empty {
  margin: 2rem 0 0;
  color: #7c737f;
  font-style: italic;
}

/* Vision: Core Values cards hug their content instead of the tall 6-card default. */
@media (min-width: 1100px) {
  .vision-page #core-values > .container > .detail-grid > .detail-card {
    min-height: 0;
    align-content: start;
    padding: clamp(1.5rem, 2.2vw, 2rem);
  }

  .vision-page #core-values > .container > .detail-grid > .detail-card .detail-card__icon {
    margin-bottom: 0.35rem;
  }
}

/* ==========================================================================
   Links from a summary section out to its dedicated page
   ========================================================================== */

.leader-profile__more,
.leader-profile__back,
.section-morelink,
.section-backlink a {
  display: inline-flex;
  gap: 0.55rem;
  align-items: center;
  color: var(--leader-accent, var(--page-accent));
  font-size: 0.95rem;
  font-weight: 750;
  text-decoration: none;
  transition: gap 260ms ease, color 260ms ease;
}

.leader-profile__more {
  margin-top: 1.6rem;
}

.leader-profile__back {
  margin-top: 1.2rem;
  color: #6c6370;
  font-size: 0.88rem;
  font-weight: 700;
}

.section-morelink {
  margin-top: 1.2rem;
}

.section-backlink {
  margin: clamp(1.8rem, 3vw, 2.6rem) 0 0;
}

.leader-profile__more:hover,
.leader-profile__back:hover,
.section-morelink:hover,
.section-backlink a:hover {
  gap: 0.9rem;
  color: var(--page-accent-deep);
}

.leader-profile__more:focus-visible,
.leader-profile__back:focus-visible,
.section-morelink:focus-visible,
.section-backlink a:focus-visible {
  outline: 2px solid var(--page-accent);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .leader-profile__more,
  .leader-profile__back,
  .section-morelink,
  .section-backlink a {
    transition: none;
  }
}

/* Contact splits into copy plus a gallery that spans all three rows. Centring
   it left ~380px of slack above and below; stretching fills the column. */
@media (min-width: 981px) {
  .contact-page #contact-us > .container > .inner-gallery {
    align-self: stretch;
    min-height: 0;
  }
}

/* ==========================================================================
   CBSE Affiliation page
   ========================================================================== */

/* School Profile and Recognition Details each hold a single card, which the
   two-column .detail-grid parked on the left with the right half empty. Pair
   the prose with its card instead so both halves carry content. */
@media (min-width: 981px) {
  .affiliation-page #school-profile > .container {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    column-gap: clamp(2rem, 4vw, 4rem);
    align-items: start;
  }

  .affiliation-page #school-profile .inner-section__header {
    grid-column: 1 / -1;
  }

  .affiliation-page #school-profile .section-lead {
    grid-column: 1;
    max-width: none;
    margin-bottom: 0;
  }

  .affiliation-page #school-profile .detail-grid {
    grid-column: 2;
    grid-template-columns: minmax(0, 1fr);
    position: sticky;
    top: 2.5rem;
  }
}

/* The profile's Focus Areas and Campus Features run to ten items each. */
@media (min-width: 700px) {
  .affiliation-page #school-profile .section-lead .content-list {
    columns: 2;
    column-gap: clamp(1.25rem, 3vw, 2.5rem);
  }

  .affiliation-page #school-profile .section-lead .content-list li {
    break-inside: avoid;
  }
}

/* Facts read as label/value pairs rather than a wall of sentences. */
.affiliation-page #school-profile .section-lead > p {
  margin: 0 0 0.55rem;
}

.affiliation-page #school-profile .section-lead > p strong {
  color: var(--page-accent-deep);
}

/* -------------------------------------------------------------------------- */
/* Academics opening section — the intro carried no title of its own          */
/* -------------------------------------------------------------------------- */
@media (min-width: 981px) {
  .academics-page #academics > .container > .inner-section__header {
    grid-column: 1 / -1;
    margin-bottom: 0;
  }
}

/* Media feature cards sat flush against the copy. Give the image room to
   breathe instead of butting straight into the heading and list. */
.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
  column-gap: clamp(1.5rem, 2.6vw, 2.75rem) !important;
  padding-right: clamp(1.5rem, 2.6vw, 2.4rem) !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__icon {
  margin: 1.6rem 0 0 !important;
}

.academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__body {
  padding: 0.55rem 0 1.7rem !important;
}

@media (max-width: 900px) {
  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card {
    padding-right: 0 !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__icon {
    margin: 1.35rem 1.35rem 0 !important;
  }

  .academics-page :is(#teaching-methodology, #assessment-system, #learning-resources) .detail-card__body {
    padding: 0.55rem 1.35rem 1.35rem !important;
  }
}

/* ==========================================================================
   Faculty page
   ========================================================================== */

.faculty-page .faculty-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: center;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.faculty-page .faculty-intro .section-lead {
  max-width: none;
  margin: 0;
}

.faculty-page .faculty-figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: 26px;
  box-shadow: 0 28px 64px -38px rgba(18, 34, 32, 0.6);
}

.faculty-page .faculty-figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

/* Three pillars in three columns: the default two left the last card
   orphaned with an empty half-row beside it. */
.faculty-page .faculty-pillars {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.faculty-page .faculty-pillars .detail-card {
  grid-template-columns: 1fr;
  align-content: start;
}

@media (max-width: 1080px) and (min-width: 641px) {
  .faculty-page .faculty-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Three cards over two columns would strand the last one. */
  .faculty-page .faculty-pillars .detail-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 860px) {
  .faculty-page .faculty-intro {
    grid-template-columns: 1fr;
  }

  .faculty-page .faculty-figure {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 640px) {
  .faculty-page .faculty-pillars {
    grid-template-columns: 1fr;
  }
}

/* A final card left alone on its own row reads as a hole; let it span instead.
   Vision runs seven values over three columns. Campus uses its own
   .detail-card--wide modifier for the same purpose. */
@media (min-width: 1100px) {
  .vision-page #core-values > .container > .detail-grid > .detail-card:last-child:nth-child(3n + 1) {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Student Life page
   --------------------------------------------------------------------------
   These cards had no page-specific styling at all: every #student-life rule
   in this file is scoped to .campus-page, which has no such section, so the
   cards fell back to the generic media card. That left the photo bleeding to
   the card edge while the icon and copy sat inset by a different amount, and
   the icon stranded in a gap of its own row.
   ========================================================================== */

.student-life-page #student-life .detail-card {
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start;
  gap: 0;
  min-height: 0 !important;
  padding: 0 0 clamp(1.4rem, 2vw, 1.75rem);
  overflow: hidden;
}

.student-life-page #student-life .detail-card__media {
  height: clamp(180px, 15vw, 215px) !important;
  margin: 0 0 clamp(1.1rem, 1.6vw, 1.35rem);
  border-radius: 0;
}

/* One shared inset so the icon, heading and copy line up as a single column. */
.student-life-page #student-life .detail-card__icon,
.student-life-page #student-life .detail-card__body {
  margin: 0 clamp(1.25rem, 1.8vw, 1.6rem) !important;
}

.student-life-page #student-life .detail-card__icon {
  /* A narrow-screen rule floats the icon (position:absolute; left:16px), which
     pulled it out of line with the heading below. Keep it in flow. */
  position: static !important;
  left: auto !important;
  top: auto !important;
  margin-bottom: 0.85rem !important;
}

/* A narrow-screen rule pads the body, which knocked the copy 4px out of line
   with the icon above it. */
.student-life-page #student-life .detail-card__body {
  padding: 0 !important;
}

.student-life-page #student-life .detail-card h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.1rem, 1.5vw, 1.3rem);
}

.student-life-page #student-life .detail-card p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.66;
}

@media (max-width: 1099px) {
  .student-life-page #student-life .detail-card__media {
    height: 200px !important;
  }
}

/* Nine cards over two columns strand the ninth on its own row. */
@media (min-width: 701px) and (max-width: 1099px) {
  .student-life-page #student-life .detail-grid > .detail-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }

  .student-life-page #student-life .detail-grid > .detail-card:last-child:nth-child(odd) .detail-card__media {
    height: 260px !important;
  }
}

/* Seven values over two columns strand the seventh. */
@media (min-width: 701px) and (max-width: 1099px) {
  .vision-page #core-values > .container > .detail-grid > .detail-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

/* Below the two-column layout the single card still sat in a two-column grid. */
@media (max-width: 980px) {
  .affiliation-page #school-profile .detail-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* At the two-column stage the mosaic no longer tessellates: the ninth card
   is left alone above the full-width closer. Let it span the row. */
@media (min-width: 701px) and (max-width: 1099px) {
  .about-page #why-choose-avm > .container > .detail-grid > .detail-card:nth-child(9) {
    grid-column: 1 / -1 !important;
  }
}

/* Campus opening gallery: one image fills the complete media area. */
.campus-page #campus-infrastructure .inner-gallery {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
}

.campus-page #campus-infrastructure .inner-gallery__item--1 {
  grid-column: 1 !important;
  grid-row: 1 !important;
  border-radius: 6px 30px 6px 30px;
}

.campus-page #campus-infrastructure .inner-gallery__item--1 img {
  object-position: center;
}

@media (max-width: 760px) {
  .campus-page #campus-infrastructure .inner-gallery {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: 300px !important;
  }

  .campus-page #campus-infrastructure .inner-gallery__item--1 {
    border-radius: 8px;
  }
}

/* Give the opening copy and image distinct desktop columns with clear breathing room. */
@media (min-width: 1081px) {
  .campus-page #campus-infrastructure > .container {
    grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.18fr) !important;
    column-gap: clamp(3rem, 5vw, 5.5rem) !important;
  }

  .campus-page #campus-infrastructure .inner-section__header,
  .campus-page #campus-infrastructure .section-lead--opening {
    grid-column: 1;
  }

  .campus-page #campus-infrastructure .inner-section__header h2 {
    max-width: 100%;
    font-size: clamp(3.2rem, 3.8vw, 3.8rem);
  }

  .campus-page #campus-infrastructure .inner-gallery {
    grid-column: 2;
  }

  .campus-page #campus-infrastructure > .container > .detail-grid {
    grid-column: 1 / -1;
  }
}

/* ==========================================================================
   Faculty directory
   ========================================================================== */
.faculty-page .faculty-directory {
  margin-top: clamp(3rem, 6vw, 5rem);
  padding-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid rgba(15, 118, 110, 0.2);
}

.faculty-directory__header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.75rem;
}

.faculty-directory__header h2 {
  margin: 0.65rem 0 0.6rem;
  color: #13263d;
  font-size: clamp(2.35rem, 4.4vw, 4.4rem);
  line-height: 1;
  letter-spacing: 0;
}

.faculty-directory__header p {
  max-width: 650px;
  margin: 0;
  color: #647082;
  font-size: 1.02rem;
  line-height: 1.65;
}

.faculty-directory__total {
  flex: 0 0 auto;
  padding-left: 1.5rem;
  border-left: 3px solid #0f766e;
}

.faculty-directory__total strong,
.faculty-directory__total span {
  display: block;
}

.faculty-directory__total strong {
  color: #13263d;
  font-size: 3rem;
  line-height: 0.9;
}

.faculty-directory__total span {
  margin-top: 0.55rem;
  color: #0f766e;
  font-size: 0.78rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.faculty-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 1.75rem;
  border-block: 1px solid rgba(19, 38, 61, 0.12);
}

.faculty-summary > .faculty-summary__tile {
  display: flex;
  align-items: baseline;
  gap: 0.55rem;
  padding: 1rem;
  border-right: 1px solid rgba(19, 38, 61, 0.1);
}

.faculty-summary > .faculty-summary__tile:last-child {
  border-right: 0;
}

.faculty-summary__tile {
  /* These tiles are buttons now, so clear the browser's button chrome and
     keep the flex/border layout the rules above already give them. */
  width: 100%;
  margin: 0;
  font: inherit;
  text-align: left;
  background: transparent;
  border-top: 0;
  border-bottom: 0;
  border-left: 0;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.faculty-summary__tile:hover,
.faculty-summary__tile:focus-visible {
  background: rgba(19, 38, 61, 0.05);
}

.faculty-summary__tile:focus-visible {
  outline: 2px solid var(--page-accent, #0f766e);
  outline-offset: -2px;
}

.faculty-summary__hint {
  margin: -1rem 0 1.75rem;
  color: #687384;
  font-size: 0.88rem;
}

.faculty-summary strong {
  color: #13263d;
  font-size: 1.55rem;
}

.faculty-summary span {
  color: #687384;
  font-size: 0.82rem;
  font-weight: 700;
}

.faculty-directory__controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 0.8rem;
}

.faculty-search {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  width: min(100%, 340px);
  min-height: 46px;
  padding: 0 0.9rem;
  border: 1px solid rgba(19, 38, 61, 0.18);
  border-radius: 6px;
  background: #fff;
  color: #0f766e;
}

.faculty-search:focus-within {
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1);
}

.faculty-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #24354a;
  font: inherit;
}

.faculty-filters {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem;
  overflow-x: auto;
  border: 1px solid rgba(19, 38, 61, 0.12);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.76);
  scrollbar-width: none;
}

.faculty-filters::-webkit-scrollbar {
  display: none;
}

.faculty-filter {
  min-height: 36px;
  padding: 0.45rem 0.75rem;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #5b6676;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 750;
  cursor: pointer;
  white-space: nowrap;
}

.faculty-filter:is(:hover, :focus-visible),
.faculty-filter.is-active {
  color: #fff;
  background: #132f50;
}

.faculty-directory__status {
  margin: 0 0 0.7rem;
  color: #6b7685;
  font-size: 0.82rem;
}

.faculty-table-wrap {
  overflow: hidden;
  border: 1px solid rgba(19, 38, 61, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 24px 58px -46px rgba(19, 38, 61, 0.5);
}

.faculty-table {
  width: 100%;
  border-collapse: collapse;
  color: #344154;
  font-size: 0.9rem;
}

.faculty-table caption {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.faculty-table thead {
  color: #fff;
  background: #17375f;
}

.faculty-table th,
.faculty-table td {
  padding: 0.82rem 1rem;
  text-align: left;
  vertical-align: middle;
}

.faculty-table thead th {
  font-size: 0.78rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.faculty-table tbody tr {
  border-bottom: 1px solid rgba(19, 38, 61, 0.09);
  transition: background-color 180ms ease;
}

.faculty-table tbody tr:nth-child(even) {
  background: rgba(231, 241, 248, 0.48);
}

.faculty-table tbody tr:hover {
  background: #edf8f5;
}

.faculty-table tbody tr[hidden] {
  display: none !important;
}

.faculty-table tbody th {
  color: #17375f;
  font-weight: 750;
}

.faculty-table th:first-child,
.faculty-table td:first-child {
  width: 68px;
  text-align: center;
}

.faculty-table th:nth-child(2) { width: 27%; }
.faculty-table th:nth-child(3) { width: 15%; }
.faculty-table th:nth-child(5) { width: 15%; }

.faculty-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 0.32rem 0.6rem;
  border-radius: 4px;
  font-size: 0.74rem;
  font-weight: 800;
}

.faculty-badge--principal { color: #83359b; background: #f4e8f7; }
.faculty-badge--ntt { color: #087f71; background: #e5f6f2; }
.faculty-badge--prt { color: #2d6fb1; background: #e8f1fb; }
.faculty-badge--tgt { color: #bd6912; background: #fff1df; }
.faculty-badge--pgt { color: #187447; background: #e7f5ec; }
.faculty-badge--pet { color: #bd3b31; background: #fde9e7; }

.faculty-directory__empty {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  padding: 3.5rem 1rem;
  color: #707b89;
  text-align: center;
}

.faculty-directory__empty[hidden] {
  display: none;
}

.faculty-directory__empty i {
  color: #0f766e;
  font-size: 1.8rem;
}

.faculty-directory__empty strong {
  color: #253750;
}

.faculty-key {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  margin-top: 1.25rem;
  color: #607085;
  font-size: 0.78rem;
}

.faculty-key > strong {
  color: #17375f;
}

.faculty-key > span {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.faculty-key__dot {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
}

.faculty-key__dot--principal { background: #9c4db1; }
.faculty-key__dot--ntt { background: #18a18f; }
.faculty-key__dot--prt { background: #3478ba; }
.faculty-key__dot--tgt { background: #d27a20; }
.faculty-key__dot--pgt { background: #228052; }
.faculty-key__dot--pet { background: #cf493e; }

.faculty-page .faculty-pillars {
  margin-top: clamp(3rem, 6vw, 5rem);
}

@media (max-width: 900px) {
  .faculty-directory__controls {
    align-items: stretch;
    flex-direction: column;
  }

  .faculty-search {
    width: 100%;
  }

  .faculty-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .faculty-summary > .faculty-summary__tile:nth-child(3) {
    border-right: 0;
  }

  .faculty-summary > .faculty-summary__tile:nth-child(-n + 3) {
    border-bottom: 1px solid rgba(19, 38, 61, 0.1);
  }
}

@media (max-width: 700px) {
  .faculty-directory__header {
    align-items: flex-start;
    flex-direction: column;
  }

  .faculty-directory__header h2 {
    font-size: 2.35rem;
  }

  .faculty-directory__total {
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    padding: 0 0 0 1rem;
  }

  .faculty-directory__total strong {
    font-size: 2.2rem;
  }

  .faculty-directory__total span {
    margin: 0;
  }

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

  .faculty-summary > .faculty-summary__tile,
  .faculty-summary > .faculty-summary__tile:nth-child(3) {
    border-right: 1px solid rgba(19, 38, 61, 0.1);
    border-bottom: 1px solid rgba(19, 38, 61, 0.1);
  }

  .faculty-summary > .faculty-summary__tile:nth-child(even) {
    border-right: 0;
  }

  .faculty-summary > .faculty-summary__tile:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .faculty-filters {
    width: 100%;
  }

  .faculty-table-wrap {
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .faculty-table,
  .faculty-table tbody {
    display: block;
  }

  .faculty-table thead {
    display: none;
  }

  .faculty-table tbody {
    display: grid;
    gap: 0.75rem;
  }

  .faculty-table tbody tr,
  .faculty-table tbody tr:nth-child(even) {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.65rem 1rem;
    padding: 1rem;
    border: 1px solid rgba(19, 38, 61, 0.12);
    border-left: 3px solid #0f766e;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.88);
  }

  .faculty-table tbody tr[hidden] {
    display: none;
  }

  .faculty-table tbody th,
  .faculty-table tbody td {
    display: block;
    width: auto !important;
    padding: 0;
    text-align: left !important;
  }

  .faculty-table tbody th {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    font-size: 1rem;
  }

  .faculty-table tbody td:first-child {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    color: #8290a0;
    font-size: 0.76rem;
  }

  .faculty-table tbody td:first-child::before {
    content: "#";
  }

  .faculty-table tbody td:nth-of-type(n + 2) {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    align-items: baseline;
    gap: 0.75rem;
    color: #4e5b6c;
  }

  .faculty-table tbody td:nth-of-type(n + 2)::before {
    content: attr(data-label);
    color: #85909d;
    font-size: 0.7rem;
    font-weight: 750;
    text-transform: uppercase;
    letter-spacing: 0.04em;
  }

  .faculty-badge {
    justify-self: start;
  }
}

/* ==========================================================================
   Academic calendar: controls and scan-friendly month directory
   ========================================================================== */
.calendar-page #calendar-overview .section-lead--opening {
  max-width: none;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  padding: clamp(1.5rem, 2.8vw, 2.25rem) clamp(1.5rem, 3.5vw, 3rem);
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-left: 6px solid #0f766e;
  border-radius: 0 clamp(18px, 2vw, 28px) clamp(18px, 2vw, 28px) 0;
  background: rgba(255, 255, 255, 0.9);
}

.calendar-page #calendar-overview .section-lead--opening::before {
  display: none;
}

.calendar-page #calendar-overview .section-lead--opening p {
  max-width: 1120px;
  margin: 0;
}

.calendar-overview-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 0.55fr)) minmax(270px, 1.4fr);
  gap: 1rem;
  align-items: stretch;
  margin-top: 1.75rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(19, 38, 61, 0.12);
}

.calendar-overview-stat {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0.85rem 1rem;
  border-left: 3px solid #0f766e;
}

.calendar-overview-stat strong {
  color: #13263d;
  font-size: 2rem;
  line-height: 1;
}

.calendar-overview-stat span {
  margin-top: 0.45rem;
  color: #687384;
  font-size: 0.78rem;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.calendar-download {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  padding: 1rem 1.2rem;
  border: 1px solid rgba(19, 38, 61, 0.14);
  border-radius: 6px;
  background: #17375f;
  color: #fff;
  text-decoration: none;
  transition: background-color 180ms ease, transform 180ms ease;
}

.calendar-download:hover {
  background: #0f766e;
  transform: translateY(-2px);
}

.calendar-download > i {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  font-size: 1.2rem;
}

.calendar-download span,
.calendar-download strong,
.calendar-download small {
  display: block;
}

.calendar-download strong {
  font-size: 0.95rem;
}

.calendar-download small {
  margin-top: 0.2rem;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.72rem;
}

.calendar-tools {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) auto auto;
  gap: 1rem;
  align-items: end;
  margin-top: 1.75rem;
  padding: 1rem;
  border-block: 1px solid rgba(19, 38, 61, 0.12);
  background: rgba(255, 255, 255, 0.62);
}

.calendar-search {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.65rem;
  align-items: center;
  min-height: 44px;
  padding: 0 0.85rem;
  border: 1px solid rgba(19, 38, 61, 0.18);
  border-radius: 5px;
  background: #fff;
  color: #0f766e;
}

.calendar-search:focus-within {
  border-color: #0f766e;
  box-shadow: 0 0 0 3px rgba(15, 118, 110, 0.1);
}

.calendar-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #26384d;
  font: inherit;
}

.calendar-tool-group {
  display: grid;
  gap: 0.35rem;
}

.calendar-tool-group > span {
  color: #7a8491;
  font-size: 0.68rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.calendar-segments {
  display: flex;
  gap: 0.25rem;
  padding: 0.25rem;
  overflow-x: auto;
  border: 1px solid rgba(19, 38, 61, 0.12);
  border-radius: 5px;
  background: #fff;
  scrollbar-width: none;
}

.calendar-segments::-webkit-scrollbar {
  display: none;
}

.calendar-year-filter,
.calendar-type-filter {
  min-height: 34px;
  padding: 0.4rem 0.7rem;
  border: 0;
  border-radius: 3px;
  background: transparent;
  color: #647082;
  font: inherit;
  font-size: 0.74rem;
  font-weight: 750;
  cursor: pointer;
  white-space: nowrap;
}

.calendar-year-filter:is(:hover, :focus-visible, .is-active),
.calendar-type-filter:is(:hover, :focus-visible, .is-active) {
  color: #fff;
  background: #17375f;
}

.calendar-results {
  margin: 0.8rem 0 0;
  color: #717c89;
  font-size: 0.82rem;
}

.calendar-page .calendar-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  margin-top: 1rem;
}

.calendar-page .calendar-month {
  height: 100%;
  padding: 0;
  overflow: hidden;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.92);
}

.calendar-page .calendar-month[hidden],
.calendar-page .calendar-event[hidden] {
  display: none !important;
}

.calendar-page .calendar-month__title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin: 0;
  padding: 1rem 1.2rem;
  border-bottom: 0;
  color: #fff;
  background: #17375f;
  font-size: 1.22rem;
  letter-spacing: 0;
}

.calendar-page .calendar-month__title span {
  color: #f5bd77;
  font-size: 0.78rem;
}

.calendar-page .calendar-month__list {
  padding: 0.55rem 1.2rem 0.8rem;
}

.calendar-page .calendar-event {
  grid-template-columns: 82px minmax(0, 1fr);
  min-height: 48px;
  padding: 0.7rem 0;
}

.calendar-page .calendar-month__note {
  margin: 0;
  padding: 0.8rem 1.2rem 1.1rem;
}

.calendar-empty {
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  padding: 4rem 1rem;
  color: #6b7787;
  text-align: center;
}

.calendar-empty[hidden] {
  display: none;
}

.calendar-empty i {
  color: #0f766e;
  font-size: 2rem;
}

.calendar-empty strong {
  color: #213750;
}

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

  .calendar-search {
    grid-column: 1 / -1;
  }

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

@media (max-width: 700px) {
  .calendar-overview-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .calendar-download {
    grid-column: 1 / -1;
  }

  .calendar-tools {
    grid-template-columns: minmax(0, 1fr);
    padding: 0.8rem 0;
    background: transparent;
  }

  .calendar-search,
  .calendar-tool-group {
    grid-column: 1;
  }

  .calendar-segments {
    width: 100%;
  }

  .calendar-page .calendar-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 420px) {
  .calendar-overview-actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .calendar-overview-stat,
  .calendar-download {
    grid-column: 1;
  }
}

/* Mandatory disclosure page: official records and public transparency library. */
.mandatory-disclosure-page {
  --disclosure-ink: #18233a;
  --disclosure-muted: #647084;
  --disclosure-orange: #e27617;
  --disclosure-teal: #0f766e;
}

.mandatory-disclosure-page .inner-hero__rule {
  background: linear-gradient(90deg, var(--disclosure-orange), #f3b35e, var(--disclosure-teal));
}

.mandatory-disclosure-page #disclosure-overview {
  background:
    radial-gradient(circle at 7% 18%, rgba(226, 118, 23, 0.13), transparent 26%),
    radial-gradient(circle at 92% 88%, rgba(15, 118, 110, 0.12), transparent 28%),
    linear-gradient(135deg, #fffaf3 0%, #fff 56%, #f0fbf8 100%);
}

.mandatory-disclosure-page #disclosure-documents {
  background: #f7f9fb;
}

.disclosure-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: stretch;
  margin-top: 1.4rem;
}

.disclosure-intro .section-lead {
  max-width: 760px;
}

.disclosure-intro__note {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin-top: 1.35rem !important;
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--disclosure-teal);
  background: rgba(15, 118, 110, 0.07);
  color: var(--disclosure-muted);
  font-size: 0.9rem;
}

.disclosure-intro__note i {
  flex: 0 0 auto;
  color: var(--disclosure-teal);
  font-size: 1.15rem;
}

.disclosure-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-self: center;
  gap: 0.75rem;
}

.disclosure-summary__item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 0.9rem;
  align-items: center;
  min-width: 0;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(24, 35, 58, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 36px -32px rgba(24, 35, 58, 0.65);
}

.disclosure-summary__item:nth-child(2) {
  background: rgba(255, 250, 243, 0.92);
}

.disclosure-summary__item:nth-child(3) {
  background: rgba(240, 251, 248, 0.92);
}

.disclosure-summary__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: rgba(131, 41, 150, 0.1);
  color: #832996;
  font-size: 1.1rem;
}

.disclosure-summary__item:nth-child(2) .disclosure-summary__icon {
  background: rgba(226, 118, 23, 0.12);
  color: var(--disclosure-orange);
}

.disclosure-summary__item:nth-child(3) .disclosure-summary__icon {
  background: rgba(15, 118, 110, 0.11);
  color: var(--disclosure-teal);
}

.disclosure-summary__copy {
  display: grid;
  gap: 0.22rem;
  min-width: 0;
}

.disclosure-summary__copy strong {
  color: var(--disclosure-ink);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  line-height: 1.1;
}

.disclosure-summary__copy > span {
  color: var(--disclosure-muted);
  font-size: 0.7rem;
  font-weight: 750;
  line-height: 1.3;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}









.mandatory-disclosure-page #disclosure-documents .inner-section__header {
  display: block;
  max-width: 920px;
}

.disclosure-section-intro {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 0.8rem;
  align-items: center;
  max-width: 520px;
  margin: 1.2rem 0 0;
  padding: 0.8rem 1rem;
  border: 1px solid rgba(15, 118, 110, 0.12);
  border-radius: 8px;
  background: rgba(15, 118, 110, 0.06);
  color: var(--disclosure-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.disclosure-section-intro i {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: rgba(15, 118, 110, 0.11);
  color: var(--disclosure-teal);
  font-size: 1rem;
}

.disclosure-document-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 1.8rem;
}

.disclosure-document {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 18px;
  gap: 0.85rem;
  align-items: center;
  min-width: 0;
  padding: 1rem;
  border: 1px solid rgba(24, 35, 58, 0.1);
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--disclosure-ink);
  text-decoration: none;
  box-shadow: 0 18px 38px -34px rgba(24, 35, 58, 0.65);
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.disclosure-document:hover {
  border-color: rgba(15, 118, 110, 0.5);
  box-shadow: 0 20px 38px -28px rgba(15, 118, 110, 0.42);
  transform: translateY(-2px);
}

.disclosure-document__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 6px;
  background: rgba(15, 118, 110, 0.1);
  color: var(--disclosure-teal);
  font-size: 1.2rem;
}

.disclosure-document:nth-child(3n + 2) .disclosure-document__icon {
  background: rgba(226, 118, 23, 0.1);
  color: var(--disclosure-orange);
}

.disclosure-document:nth-child(3n) .disclosure-document__icon {
  background: rgba(131, 41, 150, 0.1);
  color: #832996;
}

.disclosure-document__body,
.disclosure-document__body small,
.disclosure-document__body strong,
.disclosure-document__body span {
  display: block;
  min-width: 0;
}

.disclosure-document__body small {
  color: var(--disclosure-teal);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.disclosure-document__body strong {
  margin-top: 0.2rem;
  color: var(--disclosure-ink);
  font-size: 1rem;
  line-height: 1.25;
}

.disclosure-document__body span {
  margin-top: 0.28rem;
  overflow: hidden;
  color: var(--disclosure-muted);
  font-size: 0.78rem;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.disclosure-document__arrow {
  align-self: start;
  color: #9aa4b1;
  font-size: 0.9rem;
}

.disclosure-contact {
  margin-top: 2rem;
}

@media (max-width: 900px) {
  .disclosure-intro {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .disclosure-summary {
    max-width: 620px;
  }
}

@media (max-width: 680px) {
  .disclosure-summary {
    grid-template-columns: 1fr;
  }

  .disclosure-document-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* About page refresh: supplied school copy arranged as an editorial reading flow. */
.about-page #about-us .container {
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.about-school-intro {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: stretch;
}

.about-school-intro__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.4rem, 2vw, 2rem) 0;
}

.about-school-intro__copy h3,
.about-content-panel h3 {
  margin: 0 0 1.15rem;
  color: var(--about-ink, #24102c);
  font-size: clamp(1.85rem, 3vw, 3.25rem);
  line-height: 1.06;
  letter-spacing: -0.03em;
}

.about-school-intro__copy p,
.about-content-panel p {
  margin: 0 0 1rem;
  color: #5d5461;
  font-size: 0.98rem;
  line-height: 1.75;
}

.about-school-intro__copy p:last-child,
.about-content-panel p:last-child {
  margin-bottom: 0;
}

.about-school-intro__media {
  position: relative;
  min-height: 470px;
  overflow: hidden;
  margin: 0;
  border: 5px solid rgba(255, 255, 255, 0.94);
  border-radius: 9px;
  background: #ece6f1;
  box-shadow: 0 30px 70px -34px rgba(42, 17, 50, 0.5);
}

.about-school-intro__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 56%, rgba(23, 17, 36, 0.58));
  pointer-events: none;
}

.about-school-intro__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.about-school-intro__media figcaption {
  position: absolute;
  z-index: 1;
  right: 1rem;
  bottom: 1rem;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.about-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: clamp(1rem, 2vw, 1.5rem);
}

.about-content-panel {
  display: flex;
  flex-direction: column;
  gap: clamp(1rem, 1.5vw, 1.25rem);
  padding: clamp(1.4rem, 3vw, 2.5rem);
  border: 1px solid rgba(131, 41, 150, 0.14);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 25px 60px -45px rgba(42, 17, 50, 0.6);
}

.about-content-panel > .about-chip,
.about-content-panel > h3,
.about-content-panel > p,
.about-content-panel > .about-principles {
  margin: 0;
}

.about-content-panel--accent {
  border-color: rgba(15, 118, 110, 0.18);
  background: linear-gradient(145deg, rgba(240, 251, 248, 0.92), rgba(255, 255, 255, 0.92));
}

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

.about-principles li {
  display: grid;
  gap: 0.25rem;
  padding: 0.8rem 0.75rem 0.8rem 1.1rem;
  border-top: 1px solid rgba(15, 118, 110, 0.14);
  position: relative;
}

.about-principles li::before {
  content: "";
  position: absolute;
  top: 1.15rem;
  left: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--about-orange, #ed8121);
}

.about-principles strong {
  color: var(--about-ink, #24102c);
  font-size: 0.86rem;
  line-height: 1.25;
}

.about-principles span {
  color: #687384;
  font-size: 0.78rem;
  line-height: 1.45;
}

.about-highlight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1.4rem;
  align-items: center;
  padding: clamp(1.4rem, 3vw, 2.4rem);
  border: 1px solid rgba(131, 41, 150, 0.14);
  border-radius: 8px;
  background: linear-gradient(120deg, #faf3ff 0%, #fff 52%, #fff5e7 100%);
  box-shadow: 0 30px 70px -50px rgba(42, 17, 50, 0.6);
}

.about-highlight p {
  max-width: 800px;
  margin: 0;
  color: #5d5461;
  font-size: clamp(1rem, 1.5vw, 1.25rem);
  line-height: 1.6;
}

.about-page #our-attributes {
  background:
    radial-gradient(circle at 8% 8%, rgba(131, 41, 150, 0.14), transparent 25%),
    radial-gradient(circle at 92% 90%, rgba(238, 132, 36, 0.14), transparent 28%),
    linear-gradient(135deg, #faf4ff 0%, #fff 48%, #fff5e7 100%) !important;
}

.about-page #our-attributes .detail-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
}

.about-page #our-attributes .detail-card {
  grid-column: span 4;
  min-height: 0 !important;
  padding: 1.35rem 1.4rem;
  border: 0;
  border-top: 2px solid rgba(131, 41, 150, 0.22);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.about-page #our-attributes .detail-card:nth-child(1),
.about-page #our-attributes .detail-card:nth-child(2),
.about-page #our-attributes .detail-card:nth-child(9),
.about-page #our-attributes .detail-card:nth-child(10) {
  grid-column: span 6;
}

.about-page #our-attributes .detail-card--media {
  padding: 0 0 1.35rem;
}

.about-page #our-attributes .detail-card__media {
  height: 170px !important;
}

.about-page #our-attributes .detail-card--media > .detail-card__icon,
.about-page #our-attributes .detail-card--media > .detail-card__body {
  margin-right: 1.4rem;
  margin-left: 1.4rem;
}

.about-page #our-attributes .detail-card:not(.detail-card--media) {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  column-gap: 1rem;
  align-items: start;
}

.about-page #our-attributes .detail-card:not(.detail-card--media) .detail-card__icon {
  grid-row: span 2;
}

.about-page #our-attributes .detail-card h3 {
  margin: 0 0 0.45rem;
  color: var(--about-ink, #24102c);
  font-size: 1rem;
  line-height: 1.25;
}

.about-page #our-attributes .detail-card p {
  margin: 0;
  color: #687384;
  font-size: 0.82rem;
  line-height: 1.55;
}

@media (max-width: 900px) {
  .about-school-intro,
  .about-content-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-school-intro__media {
    min-height: 300px;
    aspect-ratio: 16 / 10;
  }

  .about-page #our-attributes .detail-card,
  .about-page #our-attributes .detail-card:nth-child(1),
  .about-page #our-attributes .detail-card:nth-child(2),
  .about-page #our-attributes .detail-card:nth-child(9),
  .about-page #our-attributes .detail-card:nth-child(10) {
    grid-column: span 6;
  }
}

@media (max-width: 620px) {
  .about-principles {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-highlight {
    grid-template-columns: minmax(0, 1fr);
  }

  .about-page #our-attributes .detail-card,
  .about-page #our-attributes .detail-card:nth-child(1),
  .about-page #our-attributes .detail-card:nth-child(2),
  .about-page #our-attributes .detail-card:nth-child(9),
  .about-page #our-attributes .detail-card:nth-child(10) {
    grid-column: 1 / -1;
  }
}

/* Our Attributes: alternating editorial rows with image-led feature cards. */
.about-page #our-attributes .detail-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(8, auto);
  grid-auto-flow: row;
  align-items: stretch;
  gap: 0 1.2rem;
}

.about-page #our-attributes .detail-card,
.about-page #our-attributes .detail-card:nth-child(1),
.about-page #our-attributes .detail-card:nth-child(2),
.about-page #our-attributes .detail-card:nth-child(9),
.about-page #our-attributes .detail-card:nth-child(10) {
  grid-column: auto;
}

.about-page #our-attributes .detail-card:nth-child(1) {
  grid-column: 1;
  grid-row: 1;
}

.about-page #our-attributes .detail-card:nth-child(2) {
  grid-column: 1;
  grid-row: 2;
}

.about-page #our-attributes .detail-card:nth-child(3) {
  grid-column: 2;
  grid-row: 1 / span 2;
}

.about-page #our-attributes .detail-card:nth-child(4) {
  grid-column: 1;
  grid-row: 3 / span 2;
}

.about-page #our-attributes .detail-card:nth-child(5) {
  grid-column: 2;
  grid-row: 3;
}

.about-page #our-attributes .detail-card:nth-child(6) {
  grid-column: 2;
  grid-row: 4;
}

.about-page #our-attributes .detail-card:nth-child(7) {
  grid-column: 2;
  grid-row: 5 / span 2;
}

.about-page #our-attributes .detail-card:nth-child(8) {
  grid-column: 1;
  grid-row: 5;
}

.about-page #our-attributes .detail-card:nth-child(9) {
  grid-column: 1;
  grid-row: 6;
}

.about-page #our-attributes .detail-card:nth-child(10) {
  grid-column: 1;
  grid-row: 7 / span 2;
}

.about-page #our-attributes .detail-card:not(.detail-card--media) {
  min-height: 0 !important;
  align-self: center;
  padding: 1.2rem 1rem 1.2rem 0;
  border-top: 1px solid rgba(131, 41, 150, 0.18);
}

.about-page #our-attributes .detail-card--media {
  position: relative;
  display: grid;
  grid-template-rows: minmax(260px, 1fr) auto auto;
  min-height: 320px !important;
  align-content: stretch;
  padding: 0 0 1.1rem;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.92);
  border-radius: 10px;
  background: #241832;
  box-shadow: 0 24px 48px -30px rgba(42, 17, 50, 0.6);
}

.about-page #our-attributes .detail-card--media .detail-card__media {
  height: auto !important;
  min-height: 0;
}

.about-page #our-attributes .detail-card--media .detail-card__media::after {
  background: linear-gradient(180deg, transparent 45%, rgba(23, 17, 36, 0.88));
}

.about-page #our-attributes .detail-card--media > .detail-card__icon {
  position: absolute;
  z-index: 2;
  top: 0.75rem;
  left: 0.75rem;
  margin: 0;
}

.about-page #our-attributes .detail-card--media > .detail-card__body {
  position: relative;
  z-index: 2;
  margin: -3.4rem 1.1rem 0;
}

.about-page #our-attributes .detail-card--media h3,
.about-page #our-attributes .detail-card--media p {
  color: #fff;
}

.about-page #our-attributes .detail-card--media p {
  color: rgba(255, 255, 255, 0.78);
}

.about-page #our-attributes .detail-card--media:hover {
  transform: translateY(-4px);
  box-shadow: 0 30px 55px -30px rgba(42, 17, 50, 0.78);
}

/* The closing achievement feature opens across the full content width. */
.about-page #our-attributes .detail-card:nth-child(10) {
  grid-column: 1 / -1;
  grid-row: 7;
  grid-template-rows: 205px auto auto;
  min-height: 255px !important;
}

.about-page #our-attributes .detail-card:nth-child(10) .detail-card__media {
  height: 205px !important;
}

@media (max-width: 900px) {
  .about-page #our-attributes .detail-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: none;
    gap: 1rem;
  }

  .about-page #our-attributes .detail-card,
  .about-page #our-attributes .detail-card:nth-child(n) {
    grid-column: 1;
    grid-row: auto;
  }

  .about-page #our-attributes .detail-card--media {
    min-height: 300px !important;
  }

  .about-page #our-attributes .detail-card:nth-child(10) {
    grid-column: 1;
    grid-row: auto;
    grid-template-rows: 145px auto auto;
    min-height: 225px !important;
  }

  .about-page #our-attributes .detail-card:nth-child(10) .detail-card__media {
    height: 145px !important;
  }
}

@media (min-width: 901px) {
  /* Fixed tracks keep short text items compact beside two-row image features. */
  .about-page #our-attributes .detail-grid {
    grid-template-rows: repeat(8, 150px);
    row-gap: 16px;
    align-items: center;
  }

  .about-page #our-attributes .detail-card:not(.detail-card--media) {
    align-self: center;
  }

  .about-page #our-attributes .detail-card--media {
    height: 296px;
    min-height: 0 !important;
    grid-template-rows: 205px minmax(0, 1fr) auto;
    align-self: center;
  }

  .about-page #our-attributes .detail-card--media .detail-card__media {
    height: 205px !important;
  }

  .about-page #our-attributes .detail-card:nth-child(10) {
    grid-row: 7 / span 2;
    height: 255px;
    grid-template-rows: 170px minmax(0, 1fr) auto;
  }

  .about-page #our-attributes .detail-card:nth-child(10) .detail-card__media {
    height: 170px !important;
  }
}

/* Attribute media cards use the full photo as the surface, with copy over it. */
.about-page #our-attributes .detail-card--media {
  position: relative;
  display: block;
  padding: 0;
  background: transparent;
  border-color: rgba(24, 35, 58, 0.14);
  box-shadow: 0 24px 48px -30px rgba(24, 35, 58, 0.38);
}

.about-page #our-attributes .detail-card--media .detail-card__media {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100% !important;
  margin: 0;
  background: #dfe4ea;
}

.about-page #our-attributes .detail-card:nth-child(10) .detail-card__media {
  height: 100% !important;
}

.about-page #our-attributes .detail-card--media .detail-card__media::after {
  display: none;
  background: none;
}

.about-page #our-attributes .detail-card--media .detail-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.about-page #our-attributes .detail-card--media > .detail-card__body {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  margin: 0;
  padding: 3.6rem 1.1rem 1.1rem;
  color: #fff;
  text-shadow: 0 1px 3px rgba(15, 18, 28, 0.9);
}

.about-page #our-attributes .detail-card--media h3 {
  color: #fff;
}

.about-page #our-attributes .detail-card--media p {
  color: #fff;
}

.about-page #our-attributes .detail-card--media:hover {
  box-shadow: 0 30px 55px -30px rgba(24, 35, 58, 0.5);
}

.about-page #our-attributes .detail-card--media > .detail-card__body {
  position: absolute !important;
}

@media (max-width: 900px) {
  .about-page #our-attributes .detail-card--media {
    height: 340px;
    min-height: 340px !important;
  }

  .about-page #our-attributes .detail-card:nth-child(10) {
    height: 270px;
    min-height: 270px !important;
  }
}

@media (min-width: 901px) {
  .about-page #our-attributes .detail-card--media {
    height: 330px;
  }

  .about-page #our-attributes .detail-card:nth-child(10) {
    height: 300px;
  }
}

/* Keep the closing full-width feature image locked to its taller card on phones too. */
.about-page #our-attributes .detail-card:nth-child(10) .detail-card__media {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
}

.about-page #our-attributes .detail-card--media .detail-card__media {
  position: absolute !important;
  inset: 0 !important;
  height: 100% !important;
}

/* ========================================================================== */
/* Contact page: direct contact channels paired with an interactive campus map */
/* ========================================================================== */

.contact-page #contact-us {
  padding: clamp(4rem, 7vw, 7rem) 0;
  background:
    linear-gradient(rgba(19, 35, 58, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(19, 35, 58, 0.035) 1px, transparent 1px),
    #f8fbfa !important;
  background-size: 48px 48px;
}

.contact-page #contact-us > .container {
  display: block;
}

.contact-page #contact-us .contact-layout {
  display: grid;
  grid-template-columns: minmax(380px, 0.82fr) minmax(520px, 1.18fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: stretch;
}

.contact-page #contact-us .contact-overview {
  align-self: center;
  min-width: 0;
}

.contact-page #contact-us .inner-section__header,
.contact-page #contact-us .section-lead,
.contact-page #contact-us .contact-grid {
  width: 100%;
  margin: 0;
}

.contact-page #contact-us .inner-section__header {
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: start;
  gap: 1.25rem;
}

.contact-page #contact-us .inner-section__number {
  color: rgba(131, 41, 150, 0.13);
  font-size: clamp(3.4rem, 5vw, 5rem);
  line-height: 0.82;
}

.contact-page #contact-us .inner-section__header h2 {
  max-width: 10ch;
  margin-top: 0.65rem;
  color: #24112c;
  font-size: clamp(2.45rem, 3.7vw, 4rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.contact-page #contact-us .section-lead {
  max-width: 58ch;
  padding: 1.35rem 0 1.75rem 6rem;
  border-bottom: 1px solid rgba(36, 17, 44, 0.12);
}

.contact-page #contact-us .section-lead p {
  margin: 0;
  color: #687384;
  font-size: 1rem;
  line-height: 1.75;
}

.contact-page #contact-us .contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}

.contact-page #contact-us .contact-card,
.contact-page #contact-us .contact-card:first-child {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  min-height: 0;
  padding: 1.3rem 0;
  border: 0;
  border-top: 1px solid rgba(36, 17, 44, 0.12);
  background: transparent;
  box-shadow: none;
}

.contact-page #contact-us .contact-card:first-child {
  border-top: 0;
}

.contact-page #contact-us .contact-card:hover {
  border-color: rgba(36, 17, 44, 0.12);
  box-shadow: none;
  transform: none;
}

.contact-page #contact-us .contact-card .detail-card__icon {
  width: 48px;
  height: 48px;
  margin: 0;
  border: 1px solid rgba(131, 41, 150, 0.12);
  border-radius: 7px;
  color: #832996;
  background: #f8edfb;
  font-size: 1.15rem;
}

.contact-page #contact-us .contact-card:nth-child(2) .detail-card__icon {
  border-color: rgba(15, 118, 110, 0.14);
  color: #0f766e;
  background: #eaf7f5;
}

.contact-page #contact-us .contact-card:nth-child(3) .detail-card__icon {
  border-color: rgba(237, 129, 33, 0.16);
  color: #c9620c;
  background: #fff3e6;
}

.contact-page #contact-us .contact-card:hover .detail-card__icon {
  transform: none;
}

.contact-page #contact-us .contact-card__label {
  display: block;
  margin-bottom: 0.25rem;
  color: #9a5a16;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-page #contact-us .contact-card h3 {
  margin: 0 0 0.35rem;
  color: #24112c;
  font-size: 1.08rem;
}

.contact-page #contact-us .contact-card p,
.contact-page #contact-us .contact-card__links a {
  color: #667182;
  font-size: 0.9rem;
  line-height: 1.55;
}

.contact-page #contact-us .contact-card__links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1rem;
}

.contact-page #contact-us .contact-card__links--email {
  display: grid;
  gap: 0.25rem;
}

.contact-page #contact-us .contact-card__links a {
  width: fit-content;
  max-width: 100%;
  color: #4d3c52;
  font-weight: 650;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: color 180ms ease;
}

.contact-page #contact-us .contact-card__links a:hover,
.contact-page #contact-us .contact-card__links a:focus-visible {
  color: #832996;
}

.contact-map {
  display: grid;
  grid-template-rows: auto minmax(500px, 1fr) auto;
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(19, 35, 58, 0.13);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 30px 70px -42px rgba(19, 35, 58, 0.5);
}

.contact-map__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding: 1.35rem 1.5rem;
  border-bottom: 1px solid rgba(19, 35, 58, 0.1);
}

.contact-map__eyebrow {
  display: block;
  margin-bottom: 0.25rem;
  color: #0f766e;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.contact-map__header h3 {
  margin: 0;
  color: #13233a;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.2;
}

.contact-map__directions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.55rem;
  padding: 0.72rem 0.9rem;
  border: 1px solid rgba(15, 118, 110, 0.24);
  border-radius: 6px;
  color: #0f766e;
  background: #f0faf8;
  font-size: 0.78rem;
  font-weight: 750;
  text-decoration: none;
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.contact-map__directions:hover,
.contact-map__directions:focus-visible {
  border-color: #0f766e;
  color: #fff;
  background: #0f766e;
}

.contact-map__frame {
  min-height: 500px;
  background: #e8eeec;
}

.contact-map__frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 500px;
  border: 0;
}

.contact-map__footer {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 1.15rem 1.5rem;
  color: #fff;
  background: #13233a;
}

.contact-map__footer > i {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 6px;
  color: #ffd19d;
  background: rgba(255, 255, 255, 0.09);
}

.contact-map__footer strong,
.contact-map__footer span {
  display: block;
}

.contact-map__footer strong {
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
  line-height: 1.4;
}

.contact-map__footer span {
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.78rem;
  line-height: 1.55;
}

@media (max-width: 1080px) {
  .contact-page #contact-us .contact-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .contact-page #contact-us .contact-overview {
    display: grid;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
    gap: 0 2.5rem;
    align-items: start;
  }

  .contact-page #contact-us .section-lead {
    grid-column: 1;
    padding-left: 0;
  }

  .contact-page #contact-us .contact-grid {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

@media (max-width: 760px) {
  .contact-page #contact-us {
    padding: 3.25rem 0;
  }

  .contact-page #contact-us .contact-layout,
  .contact-page #contact-us .contact-overview {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
  }

  .contact-page #contact-us .inner-section__header {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 0.85rem;
  }

  .contact-page #contact-us .inner-section__header h2 {
    max-width: none;
    font-size: clamp(2.15rem, 11vw, 3rem);
  }

  .contact-page #contact-us .section-lead,
  .contact-page #contact-us .contact-grid {
    grid-column: 1;
    grid-row: auto;
  }

  .contact-page #contact-us .section-lead {
    padding: 0 0 1.3rem;
  }

  .contact-map {
    grid-template-rows: auto 380px auto;
  }

  .contact-map__header {
    align-items: flex-start;
    flex-direction: column;
    padding: 1.2rem;
  }

  .contact-map__directions {
    width: 100%;
    justify-content: center;
  }

  .contact-map__frame,
  .contact-map__frame iframe {
    min-height: 380px;
  }

  .contact-map__footer {
    padding: 1rem 1.2rem;
  }
}

@media (max-width: 420px) {
  .contact-map {
    grid-template-rows: auto 320px auto;
  }

  .contact-map__frame,
  .contact-map__frame iframe {
    min-height: 320px;
  }

  .contact-page #contact-us .contact-card,
  .contact-page #contact-us .contact-card:first-child {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1.1rem 0;
  }

  .contact-page #contact-us .contact-card .detail-card__icon {
    width: 42px;
    height: 42px;
  }
}

/* Admission overview: fill the image panel and focus on the school building. */
.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr) !important;
  min-height: 560px;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media {
  align-self: stretch;
  height: auto !important;
  min-height: 560px;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media img {
  object-position: center bottom;
  transform: scale(1.28);
  transform-origin: center bottom;
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1):hover .detail-card__media img {
  transform: scale(1.32);
}

.admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) > .detail-card__body {
  padding: clamp(2.35rem, 4vw, 4.25rem);
}

@media (max-width: 780px) {
  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 0;
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media {
    height: 350px !important;
    min-height: 350px;
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1) .detail-card__media img {
    transform: scale(1.18);
  }

  .admissions-page #admissions > .container > .detail-grid > .detail-card:nth-child(1):hover .detail-card__media img {
    transform: scale(1.2);
  }
}

/* Shared segmented-control geometry and interaction across listing pages. */
.gallery-filter,
.faculty-filter,
.calendar-year-filter,
.calendar-type-filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0.5rem 0.9rem;
  border: 1px solid rgba(23, 55, 95, 0.18);
  border-radius: 6px;
  color: #24354a;
  background: #fff;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 700;
  line-height: 1;
  transition: color 250ms ease, background-color 250ms ease, border-color 250ms ease, transform 250ms ease;
}

.gallery-filter:is(:hover, :focus-visible, .is-active),
.faculty-filter:is(:hover, :focus-visible, .is-active),
.calendar-year-filter:is(:hover, :focus-visible, .is-active),
.calendar-type-filter:is(:hover, :focus-visible, .is-active) {
  border-color: #17375f;
  color: #fff;
  background: #17375f;
  transform: translateY(-1px);
}

.gallery-filter:focus-visible,
.faculty-filter:focus-visible,
.calendar-year-filter:focus-visible,
.calendar-type-filter:focus-visible {
  outline: 2px solid rgba(232, 133, 19, 0.75);
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   Mandatory Disclosure: the SARAS filing beside the inspection video
   -------------------------------------------------------------------------- */
.mandatory-disclosure-page #disclosure-record {
  background:
    radial-gradient(circle at 92% 12%, rgba(15, 118, 110, 0.1), transparent 26%),
    linear-gradient(140deg, #fbfdff 0%, #fff 60%, #fff8f0 100%);
}

.disclosure-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 2.6vw, 2.25rem);
  align-items: stretch;
}

/* Both panels share the row height so neither column trails empty space. */
.disclosure-record__panel {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 0.85rem;
  margin: 0;
}

.disclosure-record__frame {
  position: relative;
  overflow: hidden;
  min-height: clamp(360px, 37vw, 520px);
  border: 1px solid rgba(24, 35, 58, 0.12);
  border-radius: 18px;
  box-shadow: 0 24px 52px -38px rgba(24, 35, 58, 0.5);
}

.disclosure-record__frame iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

/* Dark ground so the 16:9 letterboxing inside the player reads as intentional. */
.disclosure-record__frame--video {
  background: #10141c;
}

.disclosure-record__frame--doc {
  background: #eef2f7;
}

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

.disclosure-record__label {
  display: inline-flex;
  gap: 0.45rem;
  align-items: center;
  color: var(--disclosure-muted);
  font-size: 0.85rem;
  font-weight: 700;
}

.disclosure-record__link {
  display: inline-flex;
  gap: 0.4rem;
  align-items: center;
  color: var(--disclosure-orange);
  font-size: 0.85rem;
  font-weight: 750;
  text-decoration: none;
  transition: gap 240ms ease, color 240ms ease;
}

.disclosure-record__link:hover {
  gap: 0.7rem;
  color: var(--disclosure-teal);
}

/* Shown only where an inline PDF will not render (see the mobile block). */
.disclosure-record__fallback {
  display: none;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 0.9rem;
  align-items: center;
  padding: 1.1rem;
  border: 1px solid rgba(24, 35, 58, 0.12);
  border-radius: 16px;
  background: #fff;
  color: var(--disclosure-ink);
  text-decoration: none;
}

.disclosure-record__fallback-icon {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--disclosure-orange);
  font-size: 1.2rem;
}

.disclosure-record__fallback-copy {
  display: grid;
  gap: 0.15rem;
}

.disclosure-record__fallback-copy small {
  color: var(--disclosure-muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.disclosure-record__fallback-copy strong {
  font-size: 1rem;
}

.disclosure-record__fallback-copy span {
  color: var(--disclosure-muted);
  font-size: 0.84rem;
}

@media (max-width: 900px) {
  .disclosure-record {
    grid-template-columns: minmax(0, 1fr);
  }

  .disclosure-record__frame {
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .disclosure-record__frame--doc {
    aspect-ratio: 3 / 4;
  }
}

/* iOS Safari renders an inline PDF as a blank box, so swap in a link card. */
@media (max-width: 700px) {
  .disclosure-record__frame--doc {
    display: none;
  }

  .disclosure-record__fallback {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .disclosure-record__link {
    transition: none;
  }
}

/* ==========================================================================
   Circulars page
   ========================================================================== */

.circulars-page {
  --circular-ink: #1d1630;
  --circular-muted: #6b6478;
}

.circulars-page #circulars {
  background:
    radial-gradient(circle at 6% 14%, rgba(var(--page-accent-rgb), 0.12), transparent 26%),
    radial-gradient(circle at 94% 90%, rgba(237, 129, 33, 0.12), transparent 28%),
    linear-gradient(140deg, #fdfbff 0%, #fff 58%, #fff8f0 100%);
}

.circular-list {
  display: grid;
  gap: clamp(0.85rem, 1.6vw, 1.15rem);
}

.circular {
  margin: 0;
}

.circular__item {
  overflow: hidden;
  border: 1px solid rgba(29, 22, 48, 0.12);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 18px 44px -38px rgba(29, 22, 48, 0.55);
  transition: border-color 260ms ease, box-shadow 260ms ease;
}

.circular__item[open],
.circular__item:hover {
  border-color: rgba(var(--page-accent-rgb), 0.34);
  box-shadow: 0 24px 54px -34px rgba(29, 22, 48, 0.42);
}

.circular__summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  gap: clamp(0.85rem, 1.8vw, 1.35rem);
  align-items: center;
  padding: clamp(1.1rem, 2vw, 1.5rem);
  cursor: pointer;
  list-style: none;
}

/* Safari draws its own disclosure triangle without this. */
.circular__summary::-webkit-details-marker {
  display: none;
}

.circular__summary:focus-visible {
  outline: 2px solid var(--page-accent);
  outline-offset: -4px;
}

.circular__icon {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 13px;
  color: var(--page-accent-deep);
  background: rgba(var(--page-accent-rgb), 0.1);
  font-size: 1.15rem;
}

.circular__head {
  display: grid;
  gap: 0.2rem;
}

.circular__tag {
  color: var(--page-accent-deep);
  font-size: 0.68rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.circular__title {
  color: var(--circular-ink);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.35;
}

.circular__blurb {
  color: var(--circular-muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.circular__aside {
  display: grid;
  gap: 0.15rem;
  justify-items: end;
  text-align: right;
}

.circular__date {
  color: var(--circular-ink);
  font-size: 0.88rem;
  font-weight: 750;
  white-space: nowrap;
}

.circular__ref {
  color: var(--circular-muted);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  white-space: nowrap;
}

.circular__chevron {
  color: var(--circular-muted);
  transition: transform 280ms ease;
}

.circular__item[open] .circular__chevron {
  transform: rotate(180deg);
}

.circular__body {
  padding: 0 clamp(1.1rem, 2vw, 1.5rem) clamp(1.35rem, 2.2vw, 1.75rem);
  border-top: 1px solid rgba(29, 22, 48, 0.09);
  color: #554d60;
  font-size: 0.97rem;
  line-height: 1.72;
}

.circular__body > *:first-child {
  margin-top: clamp(1rem, 1.8vw, 1.3rem);
}

.circular__body h4 {
  margin: 1.35rem 0 0.5rem;
  color: var(--circular-ink);
  font-size: 0.97rem;
  letter-spacing: 0.01em;
}

.circular__body p {
  margin: 0 0 0.7rem;
}

.circular__body ul {
  margin: 0 0 0.7rem;
  padding-left: 1.15rem;
}

.circular__body li {
  margin-bottom: 0.35rem;
}

.circular__meals li {
  margin-bottom: 0.55rem;
}

.circular__note {
  display: flex;
  gap: 0.6rem;
  margin: 1rem 0 0 !important;
  padding: 0.85rem 1rem;
  border-left: 3px solid var(--page-accent);
  border-radius: 0 12px 12px 0;
  background: rgba(var(--page-accent-rgb), 0.06);
  font-size: 0.92rem;
}

.circular__applink {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: var(--page-accent-deep);
  font-size: 0.9rem;
  font-weight: 700;
  text-decoration: none;
  transition: background 240ms ease, transform 240ms ease;
}

.circular__applink:hover {
  background: var(--page-accent);
  transform: translateY(-2px);
}

/* Wide tables scroll inside the card rather than stretching the page. */
.circular__tablewrap {
  overflow-x: auto;
  margin: 0 0 0.9rem;
}

.circular__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.92rem;
}

.circular__table th,
.circular__table td {
  padding: 0.65rem 0.8rem;
  border-bottom: 1px solid rgba(29, 22, 48, 0.1);
  text-align: left;
  white-space: nowrap;
}

.circular__table thead th {
  color: var(--circular-ink);
  background: rgba(var(--page-accent-rgb), 0.07);
  font-size: 0.8rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.circular__sign {
  margin: 1.5rem 0 0 !important;
  padding-top: 1rem;
  border-top: 1px solid rgba(29, 22, 48, 0.1);
  color: var(--circular-ink);
  font-weight: 800;
  line-height: 1.4;
}

.circular__sign span {
  display: block;
  color: var(--circular-muted);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (max-width: 780px) {
  .circular__summary {
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: start;
  }

  .circular__aside {
    grid-column: 2 / -1;
    justify-items: start;
    text-align: left;
  }

  .circular__chevron {
    grid-column: 3;
    grid-row: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .circular__item,
  .circular__chevron,
  .circular__applink {
    transition: none;
  }
}

/* Screen-reader-only text (used by the circular table caption). */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
/* Embedded Zoho enquiry forms (admissions, contact, careers) */
.form-embed,
.inner-page .form-embed,
.admissions-page .form-section--admission .form-embed {
  display: flex;
  padding: clamp(0.9rem, 2vw, 1.5rem);
}

.form-embed__frame {
  width: 100%;
  min-height: clamp(560px, 72vh, 880px);
  border: 0;
  border-radius: clamp(18px, 2.4vw, 26px);
  background: #fff;
}

@media (max-width: 760px) {
  .form-embed,
  .inner-page .form-embed,
  .admissions-page .form-section--admission .form-embed {
    padding: 0.7rem;
  }

  .form-embed__frame {
    min-height: 640px;
  }
}


/* Faculty designation modal ------------------------------------------- */
body.faculty-modal-open {
  overflow: hidden;
}

.faculty-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(0.75rem, 3vw, 2rem);
}

.faculty-modal[hidden] {
  display: none;
}

.faculty-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 20, 33, 0.62);
  backdrop-filter: blur(2px);
}

.faculty-modal__dialog {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(1040px, 100%);
  max-height: min(86vh, 900px);
  overflow: hidden;
  background: #fff;
  border-radius: clamp(12px, 1.6vw, 18px);
  box-shadow: 0 40px 90px -30px rgba(10, 20, 33, 0.55);
}

.faculty-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(1.1rem, 2.4vw, 1.6rem) clamp(1.1rem, 2.6vw, 1.9rem);
  border-bottom: 1px solid rgba(19, 38, 61, 0.12);
}

.faculty-modal__header h3 {
  margin: 0;
  color: #13263d;
  font-size: clamp(1.25rem, 2.4vw, 1.6rem);
}

.faculty-modal__count {
  margin: 0.25rem 0 0;
  color: #687384;
  font-size: 0.88rem;
  font-weight: 700;
}

.faculty-modal__close {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #13263d;
  font-size: 1.1rem;
  background: rgba(19, 38, 61, 0.06);
  border: 0;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.faculty-modal__close:hover,
.faculty-modal__close:focus-visible {
  background: rgba(19, 38, 61, 0.14);
}

.faculty-modal__body {
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: clamp(0.75rem, 2vw, 1.25rem) clamp(1.1rem, 2.6vw, 1.9rem)
    clamp(1.1rem, 2.6vw, 1.9rem);
}

@media (max-width: 700px) {
  .faculty-modal__dialog {
    max-height: 92vh;
  }
}

/* ===== Event Cards Grid & Events Hub Layout ===== */
.event-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: 2rem;
}

.event-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 20px 50px -20px rgba(31, 11, 39, 0.15);
  border: 1px solid rgba(131, 41, 150, 0.1);
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
  text-decoration: none;
  color: inherit;
}

.event-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 30px 60px -25px rgba(131, 41, 150, 0.3);
}

.event-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #ece6f1;
}

.event-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.event-card:hover .event-card__media img {
  transform: scale(1.06);
}

.event-card__badge {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.35rem 0.85rem;
  background: rgba(31, 11, 39, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #ffd166;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}

.event-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: clamp(1.25rem, 2vw, 1.75rem);
}

.event-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
  font-size: 0.82rem;
  color: var(--pas-orange);
  font-weight: 700;
  margin-bottom: 0.6rem;
}

.event-card__meta span {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.event-card__title {
  font-size: clamp(1.2rem, 1.6vw, 1.45rem);
  color: var(--pas-purple);
  font-weight: 800;
  margin: 0 0 0.65rem;
  line-height: 1.35;
}

.event-card__desc {
  font-size: 0.92rem;
  color: #615a66;
  line-height: 1.6;
  margin: 0 0 1.25rem;
  flex: 1;
}

.event-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  align-self: flex-start;
  padding: 0.6rem 1.25rem;
  background: linear-gradient(135deg, var(--pas-purple), var(--pas-orange));
  color: #fff;
  border-radius: 999px;
  font-size: 0.85rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.event-card:hover .event-card__btn {
  transform: translateX(4px);
  box-shadow: 0 8px 20px -6px rgba(232, 133, 19, 0.5);
}

/* Ensure all gallery-tile items and photos have identical dimensions */
.gallery-tile {
  aspect-ratio: 4 / 3 !important;
  width: 100% !important;
}

.gallery-tile img,
.gallery-tile video {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
}
/* ===== Event Album Grid - Uniform Height and Width Guarantee ===== */
.event-album-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(1rem, 1.8vw, 1.5rem);
}

.event-album-tile {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 100%;
  aspect-ratio: 4 / 3 !important;
  border-radius: 18px;
  background: #ece6f1;
  box-shadow: 0 14px 34px -20px rgba(42, 17, 50, 0.45);
}

.event-album-tile img,
.event-album-tile video {
  display: block;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.event-album-tile:hover img {
  transform: scale(1.06);
}

.event-album-tile figcaption {
  position: absolute;
  inset: auto 0 0 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  padding: 2.6rem 1rem 1rem;
  color: #fff;
  background: linear-gradient(180deg, transparent, rgba(23, 17, 36, 0.88));
  font-size: 0.88rem;
  line-height: 1.4;
  pointer-events: none;
}

.event-album-tile__tag {
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
  color: #ffd166;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.event-album-tile--video video {
  background: #000;
  cursor: pointer;
}

.event-album-tile--video:hover figcaption,
.event-album-tile--video:focus-within figcaption {
  opacity: 0;
}

/* ===== Velumanoharan-Style Events Hub Reference Layout ===== */
.v-event-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 350px)) !important;
  justify-content: center !important;
  gap: clamp(1.5rem, 2.5vw, 2.25rem) !important;
  margin: 2.5rem auto 3.5rem !important;
  max-width: 1100px !important;
  width: 100% !important;
}

.v-event-card {
  display: flex !important;
  flex-direction: column !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #ffffff !important;
  box-shadow: 0 12px 32px rgba(23, 17, 36, 0.12) !important;
  border: 1px solid rgba(84, 21, 40, 0.12) !important;
  text-decoration: none !important;
  transition: transform 0.35s cubic-bezier(0.2, 0.8, 0.2, 1), box-shadow 0.35s ease !important;
}

.v-event-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 22px 48px rgba(84, 21, 40, 0.25) !important;
}

.v-event-card__img {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: 230px !important;
  overflow: hidden !important;
  background: #f0ecf4 !important;
}

.v-event-card__img img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.2, 1) !important;
}

.v-event-card:hover .v-event-card__img img {
  transform: scale(1.06) !important;
}

.v-event-card__badge {
  position: absolute !important;
  top: 0.85rem !important;
  right: 0.85rem !important;
  background: rgba(31, 11, 39, 0.88) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  color: #ffd166 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  padding: 0.3rem 0.75rem !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.35rem !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}

.v-event-card__bar {
  background: linear-gradient(135deg, #541528 0%, #350816 100%) !important;
  color: #ffffff !important;
  padding: 1.15rem 1.25rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 84px !important;
  border-top: 3px solid #d99a20 !important;
}

.v-event-card__title {
  color: #ffffff !important;
  font-size: 1.05rem !important;
  font-weight: 750 !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

.v-event-card__date {
  color: #ffd166 !important;
  font-size: 0.78rem !important;
  font-weight: 600 !important;
  margin-top: 0.35rem !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.3rem !important;
}

/* ===== Uniform Album Grid & Tiles (Guaranteed 100% Equal Size) ===== */
.gallery-grid,
.event-album-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: clamp(1rem, 1.8vw, 1.5rem) !important;
}

.gallery-tile,
.event-album-tile {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  height: 220px !important;
  border-radius: 16px !important;
  background: #ece6f1 !important;
  box-shadow: 0 10px 28px -12px rgba(42, 17, 50, 0.35) !important;
  cursor: pointer !important;
}

.gallery-tile img,
.gallery-tile video,
.event-album-tile img,
.event-album-tile video {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  transition: transform 0.6s cubic-bezier(0.2, 0.7, 0.2, 1) !important;
}

.gallery-tile:hover img,
.event-album-tile:hover img {
  transform: scale(1.06) !important;
}

.gallery-tile figcaption,
.event-album-tile figcaption {
  position: absolute !important;
  inset: auto 0 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.25rem !important;
  padding: 2.2rem 0.9rem 0.85rem !important;
  color: #fff !important;
  background: linear-gradient(180deg, transparent 0%, rgba(23, 17, 36, 0.9) 100%) !important;
  font-size: 0.85rem !important;
  line-height: 1.35 !important;
  pointer-events: none !important;
}

.gallery-tile__tag,
.event-album-tile__tag {
  display: inline-flex !important;
  gap: 0.3rem !important;
  align-items: center !important;
  color: #ffd166 !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Lightbox Modal */
.gallery-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.gallery-lightbox[hidden] {
  display: none !important;
}

.gallery-lightbox__backdrop {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(10, 6, 16, 0.94) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
}

.gallery-lightbox__dialog {
  position: relative !important;
  z-index: 2 !important;
  max-width: 92vw !important;
  max-height: 92vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
}

.gallery-lightbox__stage {
  max-width: 90vw !important;
  max-height: 82vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.gallery-lightbox__stage img,
.gallery-lightbox__stage video {
  max-width: 100% !important;
  max-height: 76vh !important;
  object-fit: contain !important;
  border-radius: 12px !important;
  box-shadow: 0 20px 50px rgba(0,0,0,0.7) !important;
}

.gallery-lightbox__caption {
  margin-top: 0.85rem !important;
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 600 !important;
  text-align: center !important;
  max-width: 800px !important;
}

.gallery-lightbox__counter {
  color: #ffd166 !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  margin-top: 0.25rem !important;
}

.gallery-lightbox__close {
  position: fixed !important;
  top: 1.5rem !important;
  right: 1.5rem !important;
  width: 48px !important;
  height: 48px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
  font-size: 1.25rem !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  transition: background 0.2s !important;
  z-index: 3 !important;
}

.gallery-lightbox__close:hover {
  background: rgba(255,255,255,0.3) !important;
}

.gallery-lightbox__prev,
.gallery-lightbox__next {
  position: fixed !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 52px !important;
  height: 52px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,0.15) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #fff !important;
  font-size: 1.4rem !important;
  cursor: pointer !important;
  display: grid !important;
  place-items: center !important;
  transition: background 0.2s, transform 0.2s !important;
  z-index: 3 !important;
}

.gallery-lightbox__prev { left: 1.5rem !important; }
.gallery-lightbox__next { right: 1.5rem !important; }
.gallery-lightbox__prev:hover { background: rgba(255,255,255,0.3) !important; transform: translateY(-50%) scale(1.08) !important; }
.gallery-lightbox__next:hover { background: rgba(255,255,255,0.3) !important; transform: translateY(-50%) scale(1.08) !important; }

@media (max-width: 600px) {
  .gallery-lightbox__prev { left: 0.5rem !important; }
  .gallery-lightbox__next { right: 0.5rem !important; }
  .gallery-lightbox__close { top: 0.75rem !important; right: 0.75rem !important; }
}