:root {
  --ng-blue: #0b3a72;
  --ng-cyan: #59d5ff;
  --ng-gold: #d8aa58;
  --ng-ink: #06182f;
  --ng-glass: rgba(255,255,255,.72);
  --ng-border: rgba(9,43,85,.12);
  --ng-shadow: 0 28px 90px rgba(4,23,48,.14);
}
html { scroll-behavior: smooth; }
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: ng-page-out .24s ease both; }
::view-transition-new(root) { animation: ng-page-in .42s cubic-bezier(.2,.8,.2,1) both; }
@keyframes ng-page-out { to { opacity: 0; transform: scale(.992); } }
@keyframes ng-page-in { from { opacity: 0; transform: translateY(10px) scale(.994); } }
.v16-home { position: relative; isolation: isolate; background: #f5f2eb; }
.v16-home::before {
  content: ""; position: fixed; inset: -20vh -15vw; z-index: -1; pointer-events: none;
  background:
    radial-gradient(40vw 34vw at var(--ng-mesh-x,18%) 12%, rgba(89,213,255,.13), transparent 72%),
    radial-gradient(38vw 34vw at 88% var(--ng-mesh-y,46%), rgba(216,170,88,.13), transparent 74%),
    radial-gradient(42vw 38vw at 48% 88%, rgba(31,91,154,.1), transparent 72%);
  filter: blur(18px); transform: translateZ(0);
}
.ng-scroll-progress {
  position: fixed; inset: 0 0 auto; height: 3px; z-index: 10020; pointer-events: none;
  background: linear-gradient(90deg,var(--ng-cyan),var(--ng-gold)); transform: scaleX(0);
  transform-origin: left center; box-shadow: 0 0 18px rgba(89,213,255,.45);
}
.ng-cursor-glow {
  position: fixed; left: 0; top: 0; width: 360px; height: 360px; margin: -180px 0 0 -180px;
  border-radius: 50%; pointer-events: none; z-index: 9998; opacity: .42;
  background: radial-gradient(circle,rgba(89,213,255,.17),rgba(216,170,88,.07) 38%,transparent 70%);
  filter: blur(8px); mix-blend-mode: screen; will-change: transform;
}
[data-ng-reveal] {
  --ng-delay: 0ms; opacity: 0; transform: translate3d(0,34px,0) scale(.985);
  filter: blur(7px); transition:
    opacity .8s cubic-bezier(.2,.8,.2,1) var(--ng-delay),
    transform .8s cubic-bezier(.2,.8,.2,1) var(--ng-delay),
    filter .8s ease var(--ng-delay);
}
[data-ng-reveal].is-ng-visible { opacity: 1; transform: none; filter: none; }
[data-ng-card] {
  --spot-x: 50%; --spot-y: 50%; position: relative; isolation: isolate;
  transform-style: preserve-3d; backface-visibility: hidden; will-change: transform;
}
[data-ng-card]::before {
  content: ""; position: absolute; inset: 0; border-radius: inherit; padding: 1px; z-index: 4;
  background: radial-gradient(280px circle at var(--spot-x) var(--spot-y),
    rgba(116,225,255,.95),rgba(216,170,88,.5) 34%,rgba(255,255,255,.12) 62%,transparent 78%);
  -webkit-mask: linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; pointer-events: none; opacity: .35;
  transition: opacity .25s ease;
}
[data-ng-card]::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; z-index: 3; pointer-events: none;
  background: radial-gradient(420px circle at var(--spot-x) var(--spot-y),rgba(255,255,255,.16),transparent 55%);
  opacity: 0; transition: opacity .25s ease;
}
[data-ng-card]:hover::before { opacity: .9; }
[data-ng-card]:hover::after { opacity: 1; }
.v16-hero::after {
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(58vw 42vw at calc(54% + var(--ng-hero-x,0px)) calc(38% + var(--ng-hero-y,0px)),
      rgba(77,196,255,.12),transparent 64%),
    linear-gradient(115deg,transparent 45%,rgba(255,255,255,.055) 50%,transparent 56%);
}
.v16-hero-copy h1 { text-wrap: balance; text-shadow: 0 18px 55px rgba(0,0,0,.18); }
.v16-hero-copy h1 em {
  background: linear-gradient(110deg,#f5dfad 12%,#d2a04b 46%,#fff0c8 72%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.hero-live-card,.visit-copy,.events-timeline {
  background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055));
  border: 1px solid rgba(255,255,255,.22); box-shadow: 0 26px 90px rgba(0,0,0,.22);
  backdrop-filter: blur(28px) saturate(145%); -webkit-backdrop-filter: blur(28px) saturate(145%);
}
.now-grid { grid-template-columns: repeat(12,minmax(0,1fr)); }
.now-card { grid-column: span 3; min-height: 310px; overflow: hidden; box-shadow: 0 12px 42px rgba(4,23,48,.07); }
.now-card-feature { grid-column: span 6; }
.now-card-feature::marker { display: none; }
.discover-card,.life-mosaic-grid figure,.news-feature { box-shadow: 0 24px 72px rgba(4,23,48,.14); }
.discover-card img,.life-mosaic-grid img,.news-feature img,.visit-campus figure img {
  transform: scale(1.012); transition: transform .9s cubic-bezier(.2,.8,.2,1),filter .6s ease;
}
.discover-card:hover img,.life-mosaic-grid figure:hover img,.news-feature:hover img,.visit-campus figure:hover img {
  transform: scale(1.065); filter: saturate(1.08) contrast(1.03);
}
.academic-explorer::before,.principal-moment::before,.visit-campus::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background: radial-gradient(50vw 40vw at 12% 10%,rgba(89,213,255,.1),transparent 70%),
    radial-gradient(40vw 35vw at 88% 90%,rgba(216,170,88,.11),transparent 72%);
}
.button,.text-link,.site-header .nav-menu a {
  --mag-x: 0px; --mag-y: 0px; transform: translate3d(var(--mag-x),var(--mag-y),0);
  transition: transform .32s cubic-bezier(.2,.8,.2,1),box-shadow .32s ease,background-color .32s ease,color .32s ease;
}
.button {
  position: relative; overflow: hidden; box-shadow: 0 14px 38px rgba(7,39,77,.18);
}
.button::after {
  content: ""; position: absolute; inset: -2px; pointer-events: none;
  background: linear-gradient(110deg,transparent 22%,rgba(255,255,255,.34) 48%,transparent 70%);
  transform: translateX(-120%); transition: transform .72s cubic-bezier(.2,.8,.2,1);
}
.button:hover::after { transform: translateX(120%); }
.button:hover { box-shadow: 0 20px 52px rgba(7,39,77,.26); }
.parent-hub-grid a,.achievement-grid article,.news-mini,.academic-tab {
  background-image: linear-gradient(145deg,rgba(255,255,255,.96),rgba(246,249,252,.78));
  border-color: rgba(9,43,85,.1); box-shadow: 0 14px 45px rgba(4,23,48,.065);
}
.parent-hub-grid a:nth-child(1),.parent-hub-grid a:nth-child(6) { grid-column: span 2; min-height: 205px; }
.parent-hub-grid a:hover { background-image: linear-gradient(145deg,#0d3970,#071f3f); }
.achievement-grid article:nth-child(2) { transform-origin: 0 100%; }
.news-mini { align-items: center; border: 1px solid var(--ng-border); }
.trust-rail-track span { position: relative; overflow: hidden; }
.trust-rail-track span::after {
  content: ""; position: absolute; inset: auto 18% 0; height: 2px; border-radius: 4px;
  background: linear-gradient(90deg,transparent,var(--ng-gold),transparent);
  transform: scaleX(0); transition: transform .4s ease;
}
.trust-rail-track span:hover::after { transform: scaleX(1); }
.academic-tabs { position: sticky; top: 92px; z-index: 8; padding: 10px; border-radius: 26px;
  background: rgba(5,29,58,.68); backdrop-filter: blur(22px); -webkit-backdrop-filter: blur(22px); }
.academic-tab.is-active { box-shadow: 0 14px 38px rgba(0,0,0,.22); }
.v16-inner-page { position: relative; isolation: isolate; }
.v16-inner-hero,.curriculum-v16-hero {
  background-image: radial-gradient(45vw 38vw at 85% 18%,rgba(89,213,255,.13),transparent 70%),
    radial-gradient(38vw 32vw at 8% 88%,rgba(216,170,88,.12),transparent 72%),
    linear-gradient(135deg,#041a35,#0b3b6e);
}
.v16-inner-hero-media,.admissions-v16-media,.curriculum-v16-media,.principal-v16-portrait {
  border: 1px solid rgba(255,255,255,.24); box-shadow: 0 34px 110px rgba(4,23,48,.24);
}
.about-experience-grid article,.leadership-pillars-grid article,.admissions-v16-steps,
.admissions-support-grid article,.curriculum-stage-grid article,.curriculum-framework-cards article,
.curriculum-pathway-grid article,.digital-curriculum-grid>a {
  border-color: rgba(9,43,85,.1); box-shadow: 0 18px 58px rgba(4,23,48,.075);
}
.v16-inner-cta-panel {
  position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,.18);
  box-shadow: 0 30px 100px rgba(4,23,48,.2);
}
.v16-inner-cta-panel::before {
  content: ""; position: absolute; width: 420px; height: 420px; border-radius: 50%;
  inset: -55% -8% auto auto; background: rgba(89,213,255,.13); filter: blur(10px); pointer-events: none;
}
@media (max-width:980px) {
  .now-grid { grid-template-columns: 1fr; }
  .now-card,.now-card-feature { grid-column: auto; }
  .academic-tabs { position: static; }
  .parent-hub-grid a:nth-child(1),.parent-hub-grid a:nth-child(6) { grid-column: auto; min-height: 175px; }
}
@media (max-width:760px) {
  .ng-scroll-progress { height: 2px; }
  .ng-cursor-glow { display: none; }
  [data-ng-reveal] { transform: translate3d(0,22px,0); filter: blur(4px); }
  [data-ng-card] { transform: none !important; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .ng-cursor-glow,.ng-scroll-progress { display: none; }
  [data-ng-reveal] { opacity: 1; transform: none; filter: none; transition: none; }
  [data-ng-card],.button,.text-link,.site-header .nav-menu a { transform: none !important; }
  ::view-transition-old(root),::view-transition-new(root) { animation: none; }
}