:root {
  --purple:#7e58a3;
  --pink:#a8388a;
  --ink:#171333;
  --font-family-base:"Cabin",Arial,sans-serif;
  --fs-display:clamp(42px,3.75vw,72px);
  --fs-h1:clamp(36px,3.2vw,56px);
  --fs-h2:clamp(34px,2.6vw,50px);
  --fs-h3:clamp(18px,1.3vw,25px);
  --fs-cta:clamp(31px,2.6vw,50px);
  --fs-body-lg:clamp(17px,1.05vw,20px);
  --fs-body:16px;
  --fs-body-sm:14px;
  --fs-label:14px;
  --fs-button:16px;
  --lh-heading:1.12;
  --lh-body:1.6;
}

/* Reusable Academics inner pages */
.academics-page { --academics-section-space:64px; }
.academics-hero .inner-page-hero-visual { height:230px; }
.academics-hero .inner-page-hero-visual img { object-position:center 38%; }
.academics-tabs { margin-top:-20px; }
.academics-content { padding-top:var(--academics-section-space); display:grid; grid-template-columns:minmax(0,1.72fr) minmax(290px,.88fr); align-items:start; gap:64px; }
.academics-editorial .section-eyebrow { margin:0 0 12px; }
.academics-editorial .section-title { max-width:690px; margin:0 0 24px; }
.academics-editorial > p:not(.section-eyebrow) { max-width:780px; margin:0 0 17px; color:#625d69; font-size:var(--fs-body-lg); line-height:1.75; }
.academics-editorial > p:last-child { margin-bottom:0; }
.academics-curriculum { padding-top:var(--academics-section-space); }
.academics-curriculum-intro { max-width:760px; margin-bottom:30px; }
.academics-curriculum-intro .section-eyebrow { margin:0 0 12px; }
.academics-curriculum-intro .section-title { margin:0 0 18px; }
.academics-curriculum-intro .lead-text { margin:0; color:#625d69; }
.academics-curriculum-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.academics-curriculum-card { height:100%; padding:25px 25px 27px; border:1px solid #e6dfea; border-radius:13px; background:#fff; box-shadow:0 5px 15px rgba(23,19,51,.045); transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
.academics-curriculum-card:hover { transform:translateY(-3px); border-color:#d9cbe2; box-shadow:0 10px 23px rgba(23,19,51,.08); }
.academics-curriculum-number { display:inline-flex; min-width:31px; height:27px; margin-bottom:16px; padding:0 8px; align-items:center; justify-content:center; border-radius:999px; color:var(--pink); background:#fff0f7; font-size:var(--fs-label); font-weight:700; }
.academics-curriculum-card h3 { margin:0 0 11px; color:var(--ink); font-size:var(--fs-h3); line-height:1.25; }
.academics-curriculum-card p { margin:0; color:#68616d; line-height:1.65; }
.academics-coaching-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.academics-coaching-card { padding:30px; border-radius:18px; background:linear-gradient(135deg,#fff 0%,#fcf9fd 100%); }
.academics-focus { padding:26px 28px; border:1px solid #e5deea; border-radius:14px; background:#faf8fc; }
.academics-focus h2 { margin:0 0 18px; color:var(--ink); font-size:var(--fs-h3); }
.academics-focus ul { margin:0; padding:0; display:grid; list-style:none; }
.academics-focus li { position:relative; padding:11px 0 11px 27px; border-top:1px solid #e9e3ed; color:#514b59; font-size:var(--fs-body); font-weight:500; }
.academics-focus li::before { content:""; position:absolute; left:2px; top:50%; width:10px; height:6px; border-left:2px solid var(--pink); border-bottom:2px solid var(--pink); transform:translateY(-65%) rotate(-45deg); }
.academics-learning { margin-top:var(--academics-section-space); padding:38px 42px; display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.25fr); gap:54px; border:1px solid #e8e1ec; border-radius:16px; background:linear-gradient(120deg,#faf7fc,#fff8fc); }
.academics-learning-intro .section-eyebrow { margin:0 0 10px; }
.academics-learning-intro .section-title { margin:0 0 16px; font-size:clamp(27px,2.1vw,38px); }
.academics-learning-intro > p:last-child { margin:0; color:#625d69; line-height:1.7; }
.academics-learning-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-items:start; gap:26px; }
.academics-learning-grid > div { padding:8px 0 8px 18px; border-left:2px solid #d9cce2; }
.academics-learning-grid > div:nth-child(2) { border-left-color:#e7b8d8; }
.academics-learning-grid span { color:var(--pink); font-size:var(--fs-label); font-weight:700; }
.academics-learning-grid h3 { margin:7px 0 8px; color:var(--ink); font-size:var(--fs-h3); }
.academics-learning-grid p { margin:0; color:#68616d; line-height:1.55; }
.academics-page .inner-cta { margin-top:40px; margin-bottom:60px; }

@media (max-width:1050px) {
  .academics-page { --academics-section-space:52px; }
  .academics-content { grid-template-columns:minmax(0,1.4fr) minmax(270px,.8fr); gap:38px; }
  .academics-curriculum-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .academics-learning { padding:34px; grid-template-columns:1fr; gap:32px; }
}

@media (max-width:780px) {
  .academics-page { --academics-section-space:44px; }
  .academics-hero .inner-page-hero-visual { height:auto; }
  .academics-tabs { max-width:calc(100% - 20px); justify-content:flex-start; }
  .academics-content { grid-template-columns:1fr; gap:34px; }
  .academics-learning { padding:30px 24px; }
}

@media (max-width:560px) {
  .academics-page { --academics-section-space:40px; }
  .academics-content { padding-top:var(--academics-section-space); }
  .academics-curriculum-intro { margin-bottom:24px; }
  .academics-curriculum-grid { grid-template-columns:1fr; gap:16px; }
  .academics-curriculum-card { padding:22px 21px 24px; }
  .academics-focus { padding:23px 21px; }
  .academics-learning { padding:28px 20px; }
  .academics-learning-grid { grid-template-columns:1fr; gap:18px; }
  .academics-learning-grid > div { padding:3px 0 3px 16px; }
  .academics-page .inner-cta { margin-top:32px; margin-bottom:44px; }
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; overflow-x:hidden; color:var(--ink); background:#fff; font-family:var(--font-family-base); font-size:var(--fs-body); line-height:var(--lh-body); }
body.modal-open,body.enquiry-modal-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button,a { cursor:pointer; }
:focus-visible { outline:3px solid rgba(126,88,163,.42); outline-offset:3px; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.display-heading { font-size:var(--fs-display); line-height:var(--lh-heading); font-weight:700; }
.page-title { font-size:var(--fs-h1); line-height:var(--lh-heading); font-weight:700; }
.section-title { font-size:var(--fs-h2); line-height:var(--lh-heading); font-weight:700; }
.section-eyebrow { font-size:var(--fs-label); line-height:1; font-weight:700; }
.lead-text { font-size:var(--fs-body-lg); line-height:var(--lh-body); }
.body-text { font-size:var(--fs-body); line-height:var(--lh-body); }
.card-title { font-size:var(--fs-h3); line-height:1.25; font-weight:700; }
.cta-title { font-size:var(--fs-cta); line-height:var(--lh-heading); font-weight:700; }
.small-text { font-size:var(--fs-body-sm); line-height:1.5; }
.site-header { height:132px; position:relative; z-index:10; background:transparent; }
.header-inner {
  width: min(1280px, calc(100% - 80px));
  max-width: 1280px;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  min-width: 0;
  position: relative;
}
.brand {
  align-self: stretch;
  width: 168px;
  display: flex;
  align-items: center;
  overflow: hidden;
  margin-right: -35px;
  flex: 0 0 auto;
}
.brand img { width:112px; height:124px; object-fit:cover; object-position:center; }
.primary-nav {
  position: relative;
  min-width: 0;
  flex: 1 1 auto;

  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 20px;

  margin: 0;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
}
.primary-nav a { position:relative; padding:15px 0; }
.primary-nav > a,.primary-nav .submenu-toggle { white-space:nowrap; }
.primary-nav a.active, .primary-nav a:hover { color:var(--purple); }
.primary-nav a.active::after, .primary-nav a:hover::after { content:""; position:absolute; left:0; right:0; bottom:5px; height:2px; background:var(--purple); }
.home-nav-link { display:inline-flex; align-items:center; justify-content:center; }
.home-nav-icon { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.home-nav-label { display:none; }
.header-actions { margin-left:auto; display:flex; align-items:center; gap:10px; flex:0 0 auto; white-space:nowrap; }
.phone {margin-left:0; flex:0 0 auto; border:2px solid var(--pink); border-radius:9px; padding:12px 17px; color:var(--pink); font-size:var(--fs-button); font-weight:600; white-space:nowrap; transition:color .25s ease,background-color .25s ease,box-shadow .25s ease,transform .25s ease; display:flex; align-items:center;}
.phone:hover { color:#fff; background:var(--pink); transform:translateY(-2px); box-shadow:0 8px 18px rgba(126,88,163,.22); }
.phone span { margin-right:8px; font-size:21px; display: flex; }
.phone span svg .icon {
  fill: var(--pink);
}
.phone:hover span svg .icon {
  fill: #fff;
}
.enquiry-header-button { flex:0 0 auto; min-height:50px; padding:12px 17px; border:2px solid var(--pink); border-radius:9px; color:#fff; background:var(--pink); font:600 var(--fs-button)/1 var(--font-family-base); white-space:nowrap; transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.enquiry-header-button:hover { border-color:#8f2e75; background:#8f2e75; transform:translateY(-2px); box-shadow:0 8px 18px rgba(168,56,138,.24); }
.menu-toggle { display:none; border:0; background:none; padding:9px; }
.menu-toggle span { display:block; width:25px; height:2px; margin:5px; background:var(--ink); }
.nav-item { position:relative; }
.submenu-toggle { position:relative; display:flex; align-items:center; gap:6px; padding:15px 0; border:0; color:inherit; background:none; font:inherit; white-space:nowrap; }
.submenu-toggle::after { content:""; position:absolute; left:0; right:0; bottom:5px; height:2px; background:var(--purple); opacity:0; }
.submenu-caret { width:7px; height:7px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg) translateY(-2px); transition:transform .2s ease; }
.submenu { position:absolute; top:calc(100% - 2px); left:-18px; z-index:20; min-width:215px; padding:8px 0; border-radius:7px; visibility:hidden; opacity:0; background:#fff; box-shadow:0 12px 30px rgba(39,22,62,.14); transform:translateY(8px); transition:opacity .2s ease,transform .2s ease,visibility .2s ease; }
.submenu.submenu-align-right { right:-18px; left:auto; }
.primary-nav .submenu a { display:block; width:100%; padding:9px 18px; color:var(--ink); font-size:15px; font-weight:500; white-space:nowrap; }
.primary-nav .submenu a::after { display:none; }
.primary-nav .submenu a:hover,.primary-nav .submenu a:focus-visible { color:var(--purple); background:#f8f5fb; }
.has-submenu:hover > .submenu,.has-submenu:focus-within > .submenu,.has-submenu.submenu-open > .submenu { visibility:visible; opacity:1; transform:none; }
.has-submenu:hover > .submenu-toggle,.has-submenu:focus-within > .submenu-toggle,.has-submenu.submenu-open > .submenu-toggle { color:var(--purple); }
.has-submenu:hover > .submenu-toggle::after,.has-submenu:focus-within > .submenu-toggle::after,.has-submenu.submenu-open > .submenu-toggle::after { opacity:1; }
.has-submenu:hover > .submenu-toggle .submenu-caret,.has-submenu:focus-within > .submenu-toggle .submenu-caret,.has-submenu.submenu-open > .submenu-toggle .submenu-caret { transform:rotate(225deg) translate(-2px,-1px); }
.mega-menu { left:50%; width:min(780px,calc(100vw - 40px)); padding:20px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; border:1px solid #eee7f2; border-radius:12px; transform:translate(-50%,8px); }
.has-submenu:hover > .mega-menu,.has-submenu:focus-within > .mega-menu,.has-submenu.submenu-open > .mega-menu { transform:translateX(-50%); }
.mega-menu-group { min-width:0; padding:0 20px; }
.mega-menu-group:first-child { padding-left:4px; }
.mega-menu-group:last-child { padding-right:4px; }
.mega-menu-group + .mega-menu-group { border-left:1px solid #eee7f2; }
.mega-menu-group h2 { margin:0 0 9px; display:flex; align-items:center; gap:8px; color:var(--purple); font:700 14px/1.3 var(--font-family-base); letter-spacing:.035em; text-transform:uppercase; }
.mega-menu-icon { width:21px; height:21px; flex:0 0 21px; fill:none; stroke:var(--pink); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.primary-nav .mega-menu-group a { padding:7px 2px; white-space:normal; line-height:1.35; }
.primary-nav .mega-menu-group a.active { color:var(--purple); background:#f8f5fb; }
@media (min-width:1121px) {
  .mega-nav-item:not(.mega-nav-item-beyond) { position:static; }
}
.hero { height:724px; position:relative; background:linear-gradient(90deg,#fff 0%,#fff 38%,#fcfaff 100%); }
.hero-inner { width:min(1280px,calc(100% - 80px)); height:100%; margin:auto; display:grid; grid-template-columns:44% 56%; align-items:center; }
.hero-copy { position:relative; z-index:2; padding:0 0 70px 4px; }
.hero-copy h1 { margin:0 0 27px; font-size:var(--fs-display); line-height:var(--lh-heading); letter-spacing:-1.5px; font-weight:700; }
.hero-copy h1 em { color:#b33191; font-style:normal; }
.hero-copy p { width:600px; max-width:90%; margin:0 0 40px; color:#5d5966; font-size:var(--fs-body-lg); line-height:1.9; }
.hero-actions { display:flex; gap:22px; }
.button { min-width:215px; padding:10px 15px; border-radius:8px; display:inline-flex; justify-content:space-between; align-items:center; font-size:var(--fs-button); font-weight:600; }
.button,.know-more,.view-all-facilities,.view-all-posts,.enquire-now { transition:color .25s ease,background-color .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.button span,.know-more span,.view-all-facilities span,.view-all-posts span,.enquire-now span { transition:transform .25s ease; }
.button:hover,.know-more:hover,.view-all-facilities:hover,.view-all-posts:hover,.enquire-now:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(126,88,163,.24); }
.button:hover span,.know-more:hover span,.view-all-facilities:hover span,.view-all-posts:hover span,.enquire-now:hover span { transform:translateX(5px); }
.button span { margin-left:22px; font-size:22px; }
.button-filled,.know-more,.view-all-posts { color:#fff; background:var(--purple); border:2px solid var(--purple); }
.button-filled:hover,.know-more:hover,.view-all-posts:hover { background:var(--pink); border-color:var(--pink); }
.button-outline,.view-all-facilities,.enquire-now { color:var(--purple); background:#fff; border:2px solid var(--purple); }
.button-outline:hover,.view-all-facilities:hover,.enquire-now:hover { color:#fff; background:var(--purple); }
.hero-visual { height:100%; position:relative; }
.hero-visual img { position:absolute; width:850px; max-width:none; right:-42px; top:-28px; z-index: 9;}
.features { position:relative; z-index:999; width:min(1280px,calc(100% - 160px)); min-height:135px; margin:-158px auto 0; padding:25px 25px; border-radius:25px; background:#fff; box-shadow:0 15px 40px rgba(39,22,62,.13); display:grid; grid-template-columns:repeat(4,1fr); align-items:center; gap:36px; }
.feature { display:flex; align-items:center; gap:22px; }
.feature-icon { flex:0 0 94px; width:94px; height:94px; border-radius:50%; display:grid; place-items:center; font-size:46px; font-family:Georgia,serif; }
.feature-icon.purple { color:#906be7; background:#f1edff; }.feature-icon.pink { color:#e54ca5; background:#fff0f8; }.feature-icon.green { color:#61b76d; background:#edf9ed; }.feature-icon.orange { color:#f0a64d; background:#fff4e7; }
.feature-icon img {max-width: 50px;}
.feature h2 { margin:0 0 9px; font-size:var(--fs-h3); line-height:1.25; font-weight:700; }
.feature p { margin:0; color:#55515d; font-size:var(--fs-body-sm); line-height:1.55; }
.why-gms { width:min(1280px,calc(100% - 160px)); margin:92px auto 75px; display:grid; grid-template-columns:minmax(0,39%) minmax(0,61%); align-items:center; gap:44px; }
.why-gms-copy { padding-left:4px; }
.section-eyebrow { margin:0 0 22px; color:var(--purple); }
.why-gms-copy h2 { margin:0 0 25px; color:var(--ink); font-size:var(--fs-h2); line-height:var(--lh-heading); letter-spacing:-.8px; font-weight:700; }
.why-gms-intro { max-width:625px; margin:0 0 22px; color:#595561; font-size:var(--fs-body); line-height:var(--lh-body); font-weight:400; }
.why-gms-points { margin:0 0 30px; padding:0; list-style:none; color:#625e69; font-size:var(--fs-body); font-weight:400; }
.why-gms-points li { position:relative; margin:0 0 17px; padding-left:42px; line-height:1.25; }
.why-gms-points li::before { content:"✓"; position:absolute; left:0; top:-2px; width:26px; height:26px; display:grid; place-items:center; border-radius:50%; color:#fff; background:var(--purple); font-size:15px; font-weight:700; }
.know-more { width:218px; min-height:64px; padding:16px 28px; display:inline-flex; align-items:center; justify-content:space-between; border-radius:8px; color:#fff; background:var(--purple); font-size:var(--fs-button); font-weight:600; }
.know-more span { font-size:22px; line-height:1; }
.campus-visual { width:100%; border-radius:20px; position: relative;  }
.campus-image-frame { width:100%; aspect-ratio:1.8/1; overflow:hidden; }
.campus-image-frame img { border-radius: 20px; display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }
.campus-image-frame img.shape {position: absolute; top: -25px; right: -25px; width: 150px; height: auto;}
.tour-card { max-width: 480px; min-height:142px; display:flex; align-items:center; gap:29px; padding:20px 38px; border:0; color:inherit; text-align:left; font:inherit; background:#fff; box-shadow:0 12px 32px rgba(39,22,62,.12); position: absolute;     bottom: -18%;
    right: 10%;
    border-radius: 20px;}
.tour-card:hover { transform:translateY(-2px); }
.tour-play { flex:0 0 70px; width:70px; height:70px; display:grid; place-items:center; padding-left:7px; border-radius:50%; color:#fff; background:var(--purple); font-size:38px; }
.tour-play { transition:transform .25s ease,background-color .25s ease; }
.tour-card:hover .tour-play { transform:scale(1.05); background:var(--pink); }
.tour-card h3 { margin:0 0 13px; color:#292432; font-size:var(--fs-h3); line-height:1.25; font-weight:700; }
.tour-card p { margin:0; color:#6a6570; font-size:var(--fs-body-sm); line-height:1.35; }
.video-modal { position:fixed; inset:0; z-index:1000; display:grid; place-items:center; padding:24px; visibility:hidden; opacity:0; background:rgba(17,12,29,.78); transition:opacity .25s ease,visibility .25s ease; }
.video-modal.open { visibility:visible; opacity:1; }
.video-modal-panel { position:relative; width:min(960px,100%); border-radius:14px; background:#100c18; box-shadow:0 25px 70px rgba(0,0,0,.42); transform:translateY(8px); transition:transform .25s ease; }
.video-modal.open .video-modal-panel { transform:none; }
.video-modal-close { position:absolute; z-index:2; top:-44px; right:0; width:38px; height:38px; padding:0; border:1px solid rgba(255,255,255,.7); border-radius:50%; color:#fff; background:transparent; font:400 27px/34px Cabin,sans-serif; transition:background-color .25s ease,transform .25s ease; }
.video-modal-close:hover { background:var(--pink); transform:scale(1.05); }
.video-frame { aspect-ratio:16/9; overflow:hidden; border-radius:14px; }
.video-frame iframe { width:100%; height:100%; display:block; border:0; }
.facilities-section { width:min(1280px,calc(100% - 160px)); margin:80px auto 75px; text-align:center; }
.facilities-heading { margin-bottom:46px; }
.facilities-mark { width:52px; height:52px; margin-bottom:13px; fill:none; stroke:var(--pink); stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.facilities-heading h2 { margin:0 0 18px; color:var(--ink); font-size:var(--fs-h2); line-height:var(--lh-heading); font-weight:700; }
.facilities-heading p { margin:0 auto; color:#65616b; font-size:var(--fs-body); line-height:var(--lh-body); }
.facilities-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; align-items:stretch; }
.facility-card {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e9e5ec;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 7px 20px rgba(34,24,48,.08);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.facility-card:hover { transform:translateY(-5px); border-color:rgba(168,56,138,.65); box-shadow:0 14px 30px rgba(56,32,70,.14); }
.facility-card > img {
  display: block;
  width: 100%;
  height: 185px;
  object-fit: cover;
}
.facility-icon {
  position: absolute;
  top: 185px;              /* image bottom exact */
  left: 50%;
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: transform .25s ease;
  box-shadow: #dadada 0 1px 4px;
}
.facility-card:hover .facility-icon { transform:translate(-50%,calc(-50% - 2px)); }
.facility-icon svg {
  width: 44px;
  height: 44px;
  fill: none;
  stroke: var(--pink);
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.facility-content {
  min-height: 230px;
  padding: 52px 22px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.facility-content h3 { margin:0 0 13px; color:#28232e; font-size:var(--fs-h3); line-height:1.25; font-weight:700; }
.facility-content p { margin:0; color:#66616b; font-size:var(--fs-body-sm); line-height:1.5; font-weight:400; }
.card-dots { margin-top:auto; color:var(--pink); font-size:16px; letter-spacing:3px; line-height:1; }
.view-all-facilities { width:225px; min-height:62px; margin:46px auto 0; padding:15px 27px; display:inline-flex; align-items:center; justify-content:space-between; border-radius:8px; color:var(--pink); background:#fff; border:2px solid var(--pink); font-size:var(--fs-button); font-weight:600; }
.statistics-strip { width:min(1280px,calc(100% - 160px)); min-height:174px; margin:25px auto 25px; padding:28px 50px; display:grid; grid-template-columns:repeat(5,1fr); align-items:center; border-radius:22px; color:#fff; background:linear-gradient(90deg, var(--purple) 0%,#a8388a 100%); box-shadow:0 10px 25px rgba(126,88,163,.16); }
.stat-item { position:relative; min-width:0; height:142px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.stat-item:not(:last-child)::after { content:""; position:absolute; top:14px; right:0; width:1px; height:114px; background:rgba(255,255,255,.22); }
.stat-item img { width:auto; height:45px; margin-bottom:10px;transition:transform .25s ease; }
.stat-item:hover svg { transform:translateY(-3px); }
.stat-number { color:#fff; font-size:42px; line-height:1; font-weight:700; transition:filter .25s ease; }
.stat-item:hover .stat-number { filter:brightness(1.12); }
.stat-item > span { margin-top:10px; color:#fff; font-size:17px; line-height:1.2; font-weight:500; }
.blog-section { width:min(1280px,calc(100% - 160px)); margin:78px auto 80px; }
.blog-heading-row { margin-bottom:38px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.blog-heading { position:relative; padding-left:28px; }
.blog-heading::before { content:""; position:absolute; left:0; top:0; bottom:1px; width:5px; border-radius:3px; background:linear-gradient(180deg,var(--purple),var(--pink)); }
.blog-heading > span { display:block; margin-bottom:8px; color:var(--purple); font-size:var(--fs-label); line-height:1; font-weight:700; }
.blog-heading h2 { margin:0; color:var(--ink); font-size:var(--fs-h2); line-height:var(--lh-heading); font-weight:700; }
.view-all-posts { width:235px; min-height:62px; padding:15px 25px; display:inline-flex; align-items:center; justify-content:space-between; border:2px solid var(--purple); border-radius:8px; color:var(--purple); background:#fff; font-size:var(--fs-button); font-weight:600; }
.view-all-posts:hover {
  color: #fff;
}
.blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.blog-card { min-width:0; overflow:hidden; display:flex; flex-direction:column; border:1px solid #e9e5ec; border-radius:16px; background:#fff; box-shadow:0 7px 20px rgba(34,24,48,.07); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.blog-card:hover { transform:translateY(-4px); border-color:rgba(168,56,138,.5); box-shadow:0 13px 28px rgba(56,32,70,.12); }
.blog-card > img { display:block; width:100%; aspect-ratio:559/350; object-fit:cover; }
.blog-card-body { position:relative; min-height:275px; padding:35px 34px 35px; display:flex; flex-direction:column; }
.blog-card time { position:absolute; top:-18px; left:34px; padding:7px 15px; border:1px solid var(--purple); border-radius:5px; color:var(--purple); background:#fff; font-size:14px; line-height:1; font-weight:500; }
.blog-card h3 { margin:0 0 18px; color:var(--purple); font-size:var(--fs-h3); line-height:1.35; font-weight:700; }
.blog-card p { margin:0; color:#68636c; font-size:var(--fs-body); line-height:1.55; font-weight:400; }
.read-more { margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:14px; color:var(--purple); font-size:var(--fs-button); font-weight:600; transition:color .25s ease; }
.read-more span { font-size:21px; transition:transform .25s ease; }
.read-more:hover { color:var(--pink); }
.read-more:hover span { transform:translateX(5px); }
.admissions-banner { position:relative; width:min(1280px,calc(100% - 160px)); height:360px; margin:100px auto 95px; overflow:visible; border-radius:24px; color:#fff; background:linear-gradient(100deg,#7e58a3 0%,#a8388a 100%); }
.admissions-copy { position:relative; z-index:3; width:60%; height:100%; padding:75px 0 60px 75px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; }
.admissions-copy p { margin:0 0 20px; color:#fff; font-size:var(--fs-body-lg); line-height:1.2; font-weight:400; }
.admissions-copy h2 { margin:0 0 34px; color:#fff; font-size:var(--fs-cta); line-height:var(--lh-heading); letter-spacing:-.6px; font-weight:700; }
.enquire-now { width:235px; min-height:63px; padding:15px 24px; display:inline-flex; align-items:center; justify-content:space-between; border:2px solid #fff; border-radius:8px; color:var(--purple); background:#fff; box-shadow:0 6px 16px rgba(40,22,58,.12); font-size:var(--fs-button); font-weight:600; }
.admissions-student { position:absolute; z-index:2; right:105px; top:-68px; width:400px; aspect-ratio:1; overflow:hidden; border:12px solid #fff; border-radius:50%; background:#fff; box-shadow:0 8px 22px rgba(46,24,65,.15); }
.admissions-student img { display:block; width:100%; height:100%; border-radius:50%; object-fit:cover; }
.admission-doodle,.admission-path { position:absolute; z-index:1; fill:none; stroke:#fff; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; opacity:.23; pointer-events:none; animation:admission-float 8s ease-in-out infinite alternate; }
.doodle-cap { width:70px; left:50%; top:65px; }.doodle-plane { width:92px; left:46%; bottom:52px; animation-duration:7s; }.doodle-book { width:76px; right:38px; bottom:64px; animation-duration:9s; }.admission-path { width:370px; left:38%; bottom:8px; stroke-dasharray:7 10; opacity:.18; animation-duration:8.5s; }
@keyframes admission-float { from { transform:translateY(-2px); } to { transform:translateY(4px); } }
.site-footer { position:relative; overflow:hidden; padding:94px 0 0; color:#d9d9e3; background:#080d24; }
.site-footer::before,.site-footer::after { content:""; position:absolute; width:620px; height:240px; border:1px solid rgba(126,88,163,.09); border-radius:50%; pointer-events:none; }.site-footer::before { left:-260px; bottom:-150px; transform:rotate(12deg); }.site-footer::after { right:-320px; bottom:-170px; transform:rotate(-9deg); }
.footer-inner { position:relative; z-index:1; width:min(1280px,calc(100% - 160px)); margin:auto; display:grid; grid-template-columns:1.1fr .72fr .72fr 1.25fr; gap:105px; }
.footer-brand img { width:158px; height:205px; margin:-44px 0 15px; object-fit:cover; object-position:center; filter:brightness(0) invert(1); }
.footer-brand p { max-width:390px; margin:0; color:#c9cad4; font-size:var(--fs-body); line-height:1.55; }
.social-links { margin-top:31px; display:flex; gap:15px; }
.social-links a { width:46px; height:46px; display:grid; place-items:center; border:1px solid rgba(255,255,255,.2); border-radius:50%; color:#fff; transition:background-color .25s ease,border-color .25s ease,transform .25s ease; }
.social-links a:hover { border-color:var(--purple); background:var(--purple); transform:translateY(-2px); }
.social-links a img { width:21px; height:21px; margin-top: 8px; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; }
.footer-column h2 { position:relative; margin:0 0 35px; padding-bottom:13px; color:#7d57a2; font-size:23px; line-height:1; font-weight:700; }
.footer-column h2::after { content:""; position:absolute; left:0; bottom:0; width:64px; height:2px; background:var(--purple); }
.footer-column > a { position:relative; margin-bottom:18px; padding-left:20px; color:#e0e0e8; font-size:var(--fs-body); line-height:1.25; transition:color .25s ease,transform .25s ease; }
.footer-column > a::before { content:"›"; position:absolute; left:0; color:var(--purple); font-size: 20px; top: -5px; }
.footer-column > a:hover,.contact-item a:hover { color:#c98ac0; transform:translateX(3px); }
.footer-contact { gap:23px; }
.footer-contact h2 { margin-bottom:11px; }
.contact-item { width:100%; display:flex; align-items:center; gap:17px; color:#e0e0e8; font-size:var(--fs-body); line-height:1.55; }
.contact-item svg { flex:0 0 45px; width:45px; height:45px; padding:11px; border:1px solid rgba(255,255,255,.16); border-radius:50%; fill:none; stroke:#fff; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-item address { margin:0; font-style:normal; }.contact-item a { display:inline-block; color:inherit; transition:color .25s ease,transform .25s ease; }
.footer-bottom { position:relative; z-index:1; width:min(1280px,calc(100% - 160px)); min-height:70px; margin:40px auto 0; padding-right:72px; border-top:1px solid rgba(255,255,255,.12); box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.footer-bottom p { margin:0; color:#c9cad4; font-size:15px; }
.footer-credit { display:flex; align-items:center; justify-content:flex-end; gap:9px; color:#c9cad4; font-size:14px; white-space:nowrap; }
.footer-credit a { display:inline-flex; align-items:center; }
.footer-credit img { display:block; width:65px; max-height:34px; height:auto; object-fit:contain; }
.back-to-top { position:absolute; right:0; width:52px; height:52px; padding:0; border:1px solid rgba(168,56,138,.7); border-radius:50%; color:#fff; background:#11152d; font:600 24px/1 Cabin,sans-serif; transition:background-color .25s ease,transform .25s ease,box-shadow .25s ease; }
.back-to-top:hover { background:var(--purple); transform:translateY(-2px); box-shadow:0 8px 18px rgba(0,0,0,.24); }
@media (max-width:1500px) {
  :root { --fs-display:53px; --fs-h2:39px; --fs-h3:17px; --fs-cta:46px; --fs-body-lg:17px; --fs-body:15px; --fs-body-sm:14px; --fs-label:13px; --fs-button:14px; }
  .hero-inner { width:min(1280px,calc(100% - 56px)); }.primary-nav { gap:16px; font-size:14px; }.brand { width:125px; }.phone { padding:11px 14px; }
  .hero { height:690px; }.hero-copy { padding-bottom:45px; }.hero-copy p { width:500px; }.hero-visual img { width:835px; right:-25px; top:-20px; }
  .features { width:min(1280px,calc(100% - 80px)); min-height:135px; padding:25px 25px; margin-top:-98px; gap:20px; z-index: 999;}.feature-icon { flex-basis:68px; width:68px; height:68px; font-size:32px; }
  .why-gms { width:min(1280px,calc(100% - 80px)); margin:70px auto 55px; gap:25px; }.section-eyebrow { margin-bottom:16px; }.why-gms-copy h2 { margin-bottom:18px; }.why-gms-intro { margin-bottom:18px; }.why-gms-points { margin-bottom:22px; }.why-gms-points li { margin-bottom:12px; padding-left:32px; }.why-gms-points li::before { width:21px; height:21px; font-size:12px; }.know-more { width:164px; min-height:50px; padding:12px 20px; }.tour-card { min-height:108px; gap:25px; padding:14px 27px; }.tour-play { flex-basis:70px; width:70px; height:70px; font-size:28px; }.tour-card h3 { margin-bottom:9px; }
  .facilities-section { width:min(1280px,calc(100% - 80px)); margin:64px auto 55px; }.facilities-heading { margin-bottom:34px; }.facilities-mark { width:42px; height:42px; margin-bottom:10px; }.facilities-heading h2 { margin-bottom:13px; }.facilities-grid { gap:18px; }.facility-icon { width:70px; height:70px;}.facility-icon svg { width:40px; height:40px; }.facility-content { min-height:220px; padding:39px 15px 18px; }.facility-content h3 { margin-bottom:7px; }.view-all-facilities { width:225px; min-height:52px; margin-top:34px; }
  .statistics-strip { width:min(1280px,calc(100% - 80px)); min-height:164px; margin:56px auto 55px; padding:20px 35px; border-radius:17px; }.stat-item { height:112px; }.stat-item:not(:last-child)::after { top:10px; height:92px; }.stat-item svg { width:31px; height:31px; margin-bottom:8px; }.stat-number { font-size:33px; }.stat-item > span { margin-top:7px; font-size:14px; }
  .blog-section { width:min(1280px,calc(100% - 80px)); margin:60px auto; }.blog-heading-row { margin-bottom:30px; }.blog-heading { padding-left:20px; }.blog-heading::before { width:4px; }.blog-heading > span { margin-bottom:6px; }.view-all-posts { width:185px; min-height:52px; padding:12px 19px; }.blog-grid { gap:22px; }.blog-card-body { min-height:210px; padding:25px 25px 25px; }.blog-card time { top:-14px; left:25px; padding:6px 12px; font-size:14px; }.blog-card h3 { margin-bottom:13px; }
  .admissions-banner { width:min(1280px,calc(100% - 80px)); height:290px; margin:112px auto 75px; border-radius:18px; }.admissions-copy { padding:55px 0 55px 55px; }.admissions-copy p { margin-bottom:15px; }.admissions-copy h2 { margin-bottom:25px; }.enquire-now { width:180px; min-height:51px; padding:12px 18px; }.admissions-student { right:70px; top:-52px; width:330px; border-width:9px; }.doodle-cap { width:55px; }.doodle-plane { width:70px; }.doodle-book { width:60px; }.admission-path { width:290px; }
  .site-footer { padding-top:75px; }.footer-inner { width:min(1280px,calc(100% - 80px)); gap:60px; }.footer-brand img { width:130px; height:170px; }.footer-column h2 { font-size:23px; }.social-links a { width:40px; height:40px; }.contact-item svg { flex-basis:40px; width:40px; height:40px; padding:10px; }.footer-bottom { width:min(1280px,calc(100% - 80px)); }
}
@media (max-width:1366px) and (min-width:1251px) {
  .header-inner { gap:14px; }
  .primary-nav { gap:20px; font-size:16px; }
  .header-actions { gap:8px; }
  .phone { padding-left:12px; padding-right:12px; }
  .enquiry-header-button { padding-left:14px; padding-right:14px; }
}
@media (max-width:1250px) and (min-width:1121px) {
  .header-inner { gap:12px; }
  .primary-nav { gap:20px; font-size:14px; }
  .header-actions { gap:6px; }
  .phone { padding-left:11px; padding-right:11px; }
  .enquiry-header-button { padding-left:12px; padding-right:12px; }
}
@media (max-width:1200px) {
  .hero-inner { grid-template-columns:minmax(0,42%) minmax(0,58%); }
  .hero-copy,.hero-visual { min-width:0; }
  .hero-copy { box-sizing:border-box; }
  .hero-visual { width:100%; display:flex; align-items:center; justify-content:center; }
  .hero-visual img { position:relative; width:100%; max-width:100%; height:auto; left:auto; right:auto; top:auto; transform:none; display:block; margin:0 auto; }
  .hero-actions { flex-wrap:wrap; }
}
@media (max-width:1050px) {
  :root { --fs-display:42px; --fs-h2:35px; --fs-h3:18px; --fs-cta:34px; --fs-body-lg:16px; --fs-body:15px; --fs-body-sm:13px; --fs-label:13px; --fs-button:15px; }
  .site-header { height: 82px; }.header-inner { width:calc(100% - 48px); gap:0; }.brand img { width:82px; height:92px; }.phone { margin-left:auto; }.menu-toggle { display: block;
    position: relative;
    z-index: 1002;
    order: 4; }
  .primary-nav { position: fixed;
    top: 0;
    right: -320px;
    left: auto;

    width: 300px;
    height: 100vh;

    padding: 40px 28px 35px;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;

    gap: 4px;

    background: #fff;

    box-shadow: -10px 0 30px rgba(20, 15, 35, 0.15);

    z-index: 1001;

    transform: none;
    margin: 0;

    transition: right 0.35s ease; }.primary-nav.open { right: 0; }.primary-nav a { width: 100%;
    padding: 14px 4px;

    font-size: 16px;
    font-weight: 600;

    border-bottom: 1px solid #eee; }
    .primary-nav a.active::after,
  .primary-nav a:hover::after {
    display: none;
  }
  .hero-visual img, .features {
    z-index: 9;
  }
  
   .primary-nav a.active,
  .primary-nav a:hover {
    color: var(--pink);
    padding-left: 8px;
  }
  .hero { height:auto; min-height:700px; }.hero-inner { width:calc(100% - 48px); grid-template-columns:minmax(0,45%) minmax(0,55%); }.hero-copy,.hero-visual { min-width:0; }.hero-copy { box-sizing:border-box; padding:40px 0 105px; }.hero-copy p { max-width:100%; line-height:1.7; }.hero-actions { flex-wrap:wrap; gap:12px; }.button { min-width:0; padding:14px 16px; }.hero-visual { width:100%; }.hero-visual img { position:relative; width:100%; max-width:100%; height:auto; left:auto; right:auto; top:auto; transform:none; display:block; margin:0 auto; }
  .features { width:calc(100% - 48px); grid-template-columns:1fr 1fr; margin-top:-70px; padding:30px; }.feature p br { display:none; }
  .why-gms { width:calc(100% - 48px); grid-template-columns:40% 60%; gap:24px; margin-top:60px; }.why-gms-intro { line-height:1.5; }.tour-card { min-height:84px; gap:15px; padding:10px 18px; }.tour-play { flex-basis:50px; width:50px; height:50px; font-size:20px; }.tour-card h3 { margin-bottom:5px; }
  .facilities-section { width:calc(100% - 48px); }.facilities-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }.facility-content { min-height:215px; }
  .facility-card > img {
    height: 170px;
  }
  .facility-icon {
    top: 170px;
    width: 72px;
    height: 72px;
  }
  .facility-icon svg {
    width: 40px;
    height: 40px;
  }
  .statistics-strip { width:calc(100% - 48px); padding:18px 16px; }.stat-item { height:105px; }.stat-item svg { width:28px; height:28px; }.stat-number { font-size:29px; }.stat-item > span { font-size:12px; }.stat-item:not(:last-child)::after { height:84px; }
  .blog-section { width:calc(100% - 48px); }.blog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.blog-card-body { min-height:290px; }
  .admissions-banner { width:calc(100% - 48px); height:300px; margin-top:88px; }.admissions-copy { width:58%; padding:55px 0 35px 35px; }.admissions-student { right:35px; top:-38px; width:350px; border-width:8px; }.doodle-book { display:none; }
  .footer-inner { width:calc(100% - 48px); grid-template-columns:repeat(2,minmax(0,1fr)); gap:55px 70px; }.footer-bottom { width:calc(100% - 48px); }
}
@media (max-width:680px) {
  :root { --fs-display:36px; --fs-h1:36px; --fs-h2:34px; --fs-h3:18px; --fs-cta:31px; --fs-body-lg:15px; --fs-body:15px; --fs-body-sm:13px; --fs-label:12px; --fs-button:13px; }
  .site-header { height:88px; }.header-inner { width:calc(100% - 24px); height:88px;
    display:flex;
    align-items:center;
    position:relative; }.brand { width:100px;
    flex:0 0 100px;
    align-self:center;
    display: flex;
    align-items: center;
    overflow: visible;
  }.brand img { width:70px;
    height:auto;
    max-height:90px;
    object-fit:contain;
    display:block; }.phone,.menu-toggle { flex-shrink:0; }.phone { font-size:0; padding:8px 10px; }.phone span { margin:0; font-size:20px;        display: flex;
        justify-content: center;
        align-items: center; }.primary-nav { top:88px; }
  .hero { min-height:760px; }.hero-inner { width:100%; display:flex; flex-direction:column; }.hero-copy { box-sizing:border-box; width:100%; max-width:100%; order:1; padding:48px 20px 0; text-align:center; }.hero-copy h1 { max-width:100%; line-height:1.18; letter-spacing:-.5px; }.hero-copy p { width:100%; max-width:100%; margin:0 auto 26px; }.hero-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; }.button { padding:12px 13px; }.button span { margin-left:10px; }
  .hero-visual { position:relative; overflow:hidden; width:100%; max-width:100%; min-width:0; order:2; flex:1; min-height:390px; margin-top:20px; }.hero-visual img { position:relative; left:auto !important; right:auto !important; top:auto; transform:none !important; width:100%; max-width:100%; height:auto; display:block; margin:0 auto; }
  .features { width:calc(100% - 28px); grid-template-columns:1fr; gap:22px; margin-top:-38px; padding:26px 24px; border-radius:18px; }.feature { gap:18px; }.feature-icon { flex-basis:62px; width:62px; height:62px; }
  .why-gms { width:calc(100% - 40px); margin:56px auto 42px; display:block; }.why-gms-copy { padding:0; }.section-eyebrow { margin-bottom:14px; }.why-gms-copy h2 { margin-bottom:18px; }.why-gms-points { margin-bottom:24px; }.why-gms-points li { margin-bottom:14px; padding-left:34px; }.why-gms-points li::before { width:22px; height:22px; }.know-more { width:155px; min-height:48px; margin-bottom:34px; }.campus-visual { width:100%; margin:0; }.tour-card { min-height:92px; gap:14px; padding:12px 18px; }.tour-play { flex-basis:50px; width:50px; height:50px; font-size:17px; padding-left:4px; }.tour-card h3 { margin-bottom:4px; }.video-modal { padding:20px; }
  .facilities-section { width:calc(100% - 40px); margin:52px auto 44px; }.facilities-heading { margin-bottom:28px; }.facilities-mark { width:38px; height:38px; }.facilities-heading p br { display:none; }.facilities-grid { grid-template-columns:1fr; gap:22px; }.facility-card > img { height: 200px;}.facility-icon { top: 200px;
    width: 76px;
    height: 76px; }.facility-content { min-height:205px; padding:52px 24px 20px; }.facility-content p { max-width:320px; }.view-all-facilities { width:220px; min-height:50px; margin-top:30px; }
  .statistics-strip { width:calc(100% - 40px); min-height:0; margin:44px auto; padding:18px; grid-template-columns:repeat(2,1fr); border-radius:16px; }.stat-item { height:118px; }.stat-item:nth-child(odd):not(:last-child)::after { top:14px; height:90px; }.stat-item:nth-child(even)::after { display:none; }.stat-item:nth-child(-n+4)::before { content:""; position:absolute; left:14px; right:14px; bottom:0; height:1px; background:rgba(255,255,255,.22); }.stat-item:last-child { grid-column:1/-1; }.stat-item svg { width:30px; height:30px; }.stat-number { font-size:32px; }.stat-item > span { font-size:13px; }
  .blog-section { width:calc(100% - 40px); margin:52px auto 44px; }.blog-heading-row { align-items:flex-start; flex-direction:column; gap:18px; margin-bottom:26px; }.blog-heading { padding-left:17px; }.view-all-posts { width:175px; min-height:48px; }.blog-grid { grid-template-columns:1fr; gap:22px; }.blog-card-body { min-height:auto; padding:36px 22px 22px; }.blog-card time { left:22px; }
  .admissions-banner { width:calc(100% - 40px); height:515px; margin:76px auto 55px; border-radius:18px; }.admissions-copy { width:100%; height:auto; padding:38px 24px 0; align-items:center; text-align:center; }.admissions-copy p { margin-bottom:11px; }.admissions-copy h2 { margin-bottom:20px; }.enquire-now { width:165px; min-height:48px; }.admissions-student { right:50%; top:auto; bottom:38px; width:min(280px,72vw); border-width:7px; transform:translateX(50%); }.doodle-cap { left:10px; top:220px; }.doodle-plane { left:auto; right:8px; bottom:82px; }.admission-path { left:0; bottom:4px; width:100%; }.doodle-book { display:none; }
  .site-footer { padding-top:60px; }.footer-inner { width:calc(100% - 40px); grid-template-columns:1fr; gap:44px; }.footer-brand img { width:120px; height:155px; margin:-30px 0 14px; }.footer-brand p { max-width:none; }.footer-column h2 { margin-bottom:26px; }.footer-column > a { margin-bottom:15px; }.footer-contact { gap:19px; }.contact-item { overflow-wrap:anywhere; }.footer-bottom { width:calc(100% - 40px); min-height:80px; margin-top:45px; padding:26px 54px; flex-direction:column; justify-content:center; gap:12px; text-align:center; }.footer-bottom p { font-size:13px; }.footer-credit { justify-content:center; font-size:13px; }.footer-credit img { width:60px; }.back-to-top { right:0; width:46px; height:46px; }
.campus-image-frame img.shape {
  display: none;
}
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

.menu-overlay {
  display: none;
}

@media (max-width:1120px) and (min-width:1051px) {
  .header-actions { margin-left:auto; }
  .menu-toggle { display:block; position:relative; z-index:1003; order:4; }
}

@media (max-width:1120px) {

  .primary-nav { overflow-x:hidden; overflow-y:auto; }
  .home-nav-link { justify-content:flex-start; }
  .home-nav-icon { display:none; }
  .home-nav-label { display:inline; }
  .primary-nav > a,.primary-nav .submenu-toggle { width:100%; padding:14px 4px; border-bottom:1px solid #eee; font-size:16px; font-weight:600; }
  .submenu-toggle { justify-content:space-between; text-align:left; }
  .submenu-toggle::after { display:none; }
  .submenu { position:static; min-width:0; max-height:0; padding:0 0 0 14px; overflow:hidden; visibility:visible; opacity:1; border-radius:0; box-shadow:none; transform:none; transition:max-height .3s ease; }
  .has-submenu.submenu-open > .submenu { max-height:360px; }
  .has-submenu:not(.submenu-open) > .submenu { visibility:visible; }
  .primary-nav .submenu a { padding:11px 8px; border-bottom:1px solid #f0edf2; font-size:14px; white-space:normal; }
  .has-submenu:hover > .submenu-toggle { color:inherit; }
  .has-submenu:hover > .submenu-toggle .submenu-caret { transform:rotate(45deg) translateY(-2px); }
  .has-submenu.submenu-open > .submenu-toggle { color:var(--pink); }
  .has-submenu.submenu-open > .submenu-toggle .submenu-caret { transform:rotate(225deg) translate(-2px,-1px); }
  .mega-menu { left:auto; width:auto; display:block; padding:0 0 0 14px; border:0; transform:none; }
  .has-submenu:hover > .mega-menu,.has-submenu:focus-within > .mega-menu,.has-submenu.submenu-open > .mega-menu { transform:none; }
  .has-submenu.submenu-open > .mega-menu { max-height:1200px; }
  .mega-menu-group,.mega-menu-group:first-child,.mega-menu-group:last-child { padding:12px 0 4px; }
  .mega-menu-group + .mega-menu-group { border-top:1px solid #eee7f2; border-left:0; }
  .mega-menu-group h2 { margin:0 0 3px; padding:0 8px; font-size:13px; }
  .mega-menu-icon { width:19px; height:19px; flex-basis:19px; }
  .primary-nav .mega-menu-group a { padding:9px 8px 9px 36px; }

  .primary-nav {
    position: fixed;
    top: 0;
    right: -310px;
    left: auto;
    width: 300px;
    height: 100dvh;

    padding: 95px 22px 30px;

    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0;

    background: #fff;
    box-shadow: -8px 0 25px rgba(0, 0, 0, 0.14);

    z-index: 1002;
    transform: none;

    transition: right 0.3s ease;
  }

  .primary-nav.open {
    right: 0;
  }

  .primary-nav a {
    width: 100%;
    padding: 14px 0;
    border-bottom: 1px solid #eee;
  }


  /* OVERLAY */
  .menu-overlay {
    display: block;

    position: fixed;
    inset: 0;

    width: 100%;
    height: 100dvh;

    background: rgba(8, 13, 36, 0.55);

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    z-index: 1001;

    transition:
      opacity 0.3s ease,
      visibility 0.3s ease;
  }

  .menu-overlay.active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }


  /* Hamburger should stay above sidebar */
  .menu-toggle {
    position: relative;
    z-index: 1003;
  }
}

/* Reusable inner-page system */
.primary-nav .submenu-toggle.active { color:var(--purple); }
.primary-nav .submenu-toggle.active::after { width:100%; }
.primary-nav .submenu a.active { color:var(--purple); background:#f8f5fb; }

.inner-page { background:#fff; }
.inner-hero {
  position:relative;
  min-height:320px;
  overflow:hidden;
  display:flex;
  align-items:center;
  background:linear-gradient(110deg,#fbf9fd 0%,#f7f2fa 100%);
  border-top:1px solid #f0ebf4;
  border-bottom:1px solid #eee8f2;
}
.inner-hero-content {
  position:relative;
  z-index:2;
  width:min(1280px,calc(100% - 160px));
  margin:auto;
}
.inner-hero .page-title { max-width:820px; margin:0 0 18px; color:var(--ink); }
.inner-hero .lead-text { max-width:680px; margin:0; color:#625d69; }
.inner-hero .section-eyebrow { margin-bottom:14px; }
.inner-hero-shape { position:absolute; border-radius:50%; pointer-events:none; }
.inner-hero-shape-one { right:8%; top:-145px; width:390px; height:390px; border:75px solid rgba(126,88,163,.08); }
.inner-hero-shape-two { right:28%; bottom:-95px; width:180px; height:180px; background:rgba(168,56,138,.06); }
.breadcrumb { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:28px; color:#716b77; font-size:var(--fs-body-sm); line-height:1.3; }
.breadcrumb a { color:var(--purple); font-weight:600; }
.breadcrumb a:hover { color:var(--pink); }

.inner-layout {
  width:min(1280px,calc(100% - 160px));
  margin:72px auto 90px;
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  align-items:start;
  gap:58px;
}
.inner-subnav {
  position:sticky;
  top:24px;
  overflow:hidden;
  border:1px solid #ece7f0;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 32px rgba(39,22,62,.08);
}
.inner-subnav-title { margin:0; padding:21px 22px; color:var(--ink); background:#faf8fc; border-bottom:1px solid #ece7f0; font-size:var(--fs-body); line-height:1.3; font-weight:700; }
.inner-subnav-links { display:flex; flex-direction:column; padding:10px; }
.inner-subnav-links a { position:relative; padding:13px 14px; border-radius:8px; color:#625d69; font-size:var(--fs-body-sm); font-weight:600; transition:color .2s ease,background-color .2s ease,transform .2s ease; }
.inner-subnav-links a:hover { color:var(--purple); background:#faf7fc; transform:translateX(3px); }
.inner-subnav-links a.active { color:#fff; background:var(--purple); }
.inner-content { min-width:0; }
.inner-section { margin-bottom:76px; }
.inner-section:last-child { margin-bottom:0; }
.inner-section > .section-eyebrow { margin-bottom:13px; }
.inner-section > .section-title { margin:0 0 24px; }
.inner-section .lead-text { color:#4f4a56; }
.inner-section .body-text { color:#65606a; }
.about-intro .lead-text { margin:0 0 20px; font-weight:500; }
.about-intro .body-text { margin:0 0 18px; }
.inner-feature-image { margin:0 0 42px; overflow:hidden; border-radius:20px; background:#f4f0f6; box-shadow:0 16px 38px rgba(39,22,62,.1); }
.inner-feature-image img { display:block; width:100%; height:auto; aspect-ratio:1920/819; object-fit:cover; }

.info-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.info-card { position:relative; padding:32px; overflow:hidden; border:1px solid #e9e3ed; border-radius:16px; background:#fff; box-shadow:0 12px 30px rgba(39,22,62,.06); }
.info-card::after { content:""; position:absolute; right:-42px; bottom:-56px; width:130px; height:130px; border-radius:50%; background:rgba(126,88,163,.05); }
.info-card-mark { display:block; width:42px; height:4px; margin-bottom:22px; border-radius:5px; background:linear-gradient(90deg,var(--purple),var(--pink)); }
.info-card .card-title { margin:0 0 16px; color:var(--ink); }
.info-card .body-text { position:relative; z-index:1; margin:0; }

.media-block { display:grid; grid-template-columns:230px minmax(0,1fr); align-items:center; gap:40px; padding:38px; border:1px solid #eae4ee; border-radius:20px; background:#fcfafd; box-shadow:0 12px 32px rgba(39,22,62,.06); }
.media-block-image img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border:7px solid #fff; border-radius:50%; box-shadow:0 10px 28px rgba(39,22,62,.13); }
.media-block-content .section-eyebrow { margin-bottom:12px; }
.media-block-content .section-title { margin:0 0 18px; font-size:var(--fs-h3); line-height:1.25; }
.media-block-content .body-text { margin:0; }

.chairman-message { width:min(1280px,calc(100% - 160px)); margin:0 auto 95px; overflow:hidden; border-radius:24px; color:#fff; background:#11152d; box-shadow:0 18px 45px rgba(17,21,45,.18); }
.chairman-message-inner { position:relative; display:grid; grid-template-columns:300px minmax(0,1fr); align-items:center; gap:55px; padding:58px 70px; }
.chairman-message-inner::after { content:""; position:absolute; right:-110px; top:-145px; width:360px; height:360px; border:70px solid rgba(168,56,138,.12); border-radius:50%; pointer-events:none; }
.chairman-portrait { position:relative; z-index:1; padding:10px; border:1px solid rgba(255,255,255,.18); border-radius:50%; }
.chairman-portrait img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:50%; }
.chairman-copy { position:relative; z-index:1; }
.chairman-copy .section-eyebrow { margin-bottom:12px; color:#d39ac9; }
.chairman-copy .section-title { margin:0 0 23px; color:#fff; }
.chairman-copy blockquote { max-width:760px; margin:0 0 25px; color:#e5e4eb; font-size:var(--fs-body-lg); line-height:1.75; font-style:italic; }
.chairman-name { margin:0 0 2px; color:#fff; font-size:var(--fs-body); font-weight:700; }
.chairman-copy .small-text { margin:0; color:#bbbcc8; }

@media (max-width:1500px) {
  .inner-hero-content,.inner-layout,.chairman-message { width:min(1280px,calc(100% - 80px)); }
  .inner-layout { margin-top:64px; gap:42px; }
}

@media (max-width:1050px) {
  .primary-nav .submenu-toggle.active::after { display:none; }
  .inner-hero { min-height:285px; }
  .inner-hero-content,.inner-layout,.chairman-message { width:calc(100% - 48px); }
  .inner-layout { margin:55px auto 70px; grid-template-columns:210px minmax(0,1fr); gap:30px; }
  .inner-subnav { top:18px; }
  .inner-feature-image { margin-bottom:34px; border-radius:16px; }
  .inner-section { margin-bottom:60px; }
  .info-card-grid { grid-template-columns:1fr; }
  .info-card { padding:26px; }
  .media-block { grid-template-columns:180px minmax(0,1fr); gap:28px; padding:28px; }
  .chairman-message { margin-bottom:75px; }
  .chairman-message-inner { grid-template-columns:230px minmax(0,1fr); gap:38px; padding:48px; }
}

@media (max-width:780px) {
  .inner-hero { min-height:270px; }
  .inner-hero-shape-one { right:-120px; width:300px; height:300px; }
  .inner-hero-shape-two { display:none; }
  .inner-layout { display:block; }
  .inner-subnav { position:static; margin-bottom:42px; overflow:visible; box-shadow:0 8px 24px rgba(39,22,62,.07); }
  .inner-subnav-title { padding:15px 18px; }
  .inner-subnav-links { flex-direction:row; gap:7px; overflow-x:auto; padding:8px; scrollbar-width:thin; }
  .inner-subnav-links a { flex:0 0 auto; padding:11px 15px; white-space:nowrap; }
  .inner-subnav-links a:hover { transform:none; }
  .media-block { grid-template-columns:150px minmax(0,1fr); }
  .chairman-message-inner { grid-template-columns:190px minmax(0,1fr); padding:40px; }
}

@media (max-width:680px) {
  .inner-hero { min-height:260px; }
  .inner-hero-content,.inner-layout,.chairman-message { width:calc(100% - 40px); }
  .inner-hero .page-title { margin-bottom:14px; }
  .breadcrumb { margin-bottom:22px; }
  .inner-layout { margin:42px auto 55px; }
  .inner-subnav { margin-bottom:36px; border-radius:13px; }
  .inner-feature-image { margin-bottom:30px; border-radius:14px; }
  .inner-section { margin-bottom:50px; }
  .inner-section > .section-title { margin-bottom:20px; }
  .info-card-grid { gap:18px; }
  .info-card { padding:23px 21px; border-radius:14px; }
  .media-block { display:block; padding:25px 21px; border-radius:16px; }
  .media-block-image { width:150px; margin:0 auto 25px; }
  .media-block-content { text-align:center; }
  .chairman-message { margin-bottom:55px; border-radius:18px; }
  .chairman-message-inner { display:block; padding:34px 24px 38px; text-align:center; }
  .chairman-portrait { width:170px; margin:0 auto 27px; }
  .chairman-copy blockquote { line-height:1.65; }
}

/* Modern reusable inner-page compositions */
.about-page { --about-section-space:64px; }
.inner-section-shell { width:min(1280px,calc(100% - 160px)); margin-left:auto; margin-right:auto; }
.inner-breadcrumb-strip { padding:14px 0; background:#f7f4fb; border-bottom:1px solid #eee8f2; }
.inner-breadcrumb-strip .breadcrumb { width:min(1280px,calc(100% - 160px)); margin:0 auto; }
.inner-breadcrumb-strip .breadcrumb [aria-current="page"] { color:var(--purple); font-weight:600; }
.inner-hero-modern { position:relative; min-height:300px; overflow:hidden; display:flex; align-items:center; background:linear-gradient(120deg,#fcfafd 0%,#f7f2fa 72%,#fff 100%); border-top:1px solid #f0ebf4; border-bottom:1px solid #eee7f2; }
.inner-hero-modern-inner { position:relative; z-index:1; width:min(1280px,calc(100% - 160px)); margin:auto; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,.92fr); align-items:center; gap:52px; padding:32px 0 38px; }
.inner-hero-copy { position:relative; z-index:2; }
.inner-hero-copy .breadcrumb { margin-bottom:14px; }
.inner-hero-copy .section-eyebrow { margin-bottom:10px; }
.inner-hero-copy .page-title { max-width:690px; margin:0 0 15px; color:var(--ink); }
.inner-hero-copy .page-title em { color:var(--pink); font-style:normal; }
.inner-hero-copy .lead-text { max-width:620px; margin:0; color:#605b67; }
.inner-hero-visual { position:relative; min-height:250px; }
.hero-student-frame { position:absolute; inset:0; margin:0; overflow:hidden; border:6px solid #fff; border-radius:22px; background:#eee8f2; box-shadow:0 14px 32px rgba(39,22,62,.13); }
.hero-student-frame img { display:block; width:100%; height:100%; object-fit:cover; }

.inner-tabs { position:relative; z-index:5; width:max-content; max-width:calc(100% - 40px); margin:-25px auto 0; padding:5px; display:flex; gap:3px; overflow-x:auto; border:1px solid #eee8f1; border-radius:999px; background:#fff; box-shadow:0 8px 22px rgba(39,22,62,.1); scrollbar-width:none; }
.inner-tabs::-webkit-scrollbar { display:none; }
.inner-tabs a { flex:0 0 auto; padding:9px 19px; border-radius:999px; color:#625d69; font-size:var(--fs-body-sm); font-weight:600; white-space:nowrap; transition:color .2s ease,background-color .2s ease,transform .2s ease; }
.inner-tabs a:hover { color:var(--purple); background:#f8f4fa; }
.inner-tabs a.active { color:#fff; background:var(--purple); box-shadow:0 7px 16px rgba(126,88,163,.22); }

/* Shared GMS inner-page hero */
.inner-page-hero {
  min-height:320px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:#fbf9fd;
  border-top:1px solid #f0ebf4;
  border-bottom:1px solid #eee7f2;
}
.inner-page-hero-inner {
  width:min(1280px,calc(100% - 160px));
  margin:0 auto;
  padding:36px 0 40px;
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(360px,2fr);
  align-items:center;
  gap:64px;
}
.inner-page-hero-copy { min-width:0; }
.inner-page-hero-copy .section-eyebrow { margin:0 0 10px; color:var(--pink); }
.inner-page-hero-copy .page-title { max-width:760px; margin:0 0 15px; color:var(--ink); }
.inner-page-hero-copy .page-title em { color:var(--pink); font-style:normal; }
.inner-page-hero-copy .lead-text { max-width:650px; margin:0; color:#625d69; }
.inner-page-hero-visual {
  width:400px;
  height:220px;
  justify-self:end;
  overflow:hidden;
  display:grid;
  place-items:center;
  border:1px solid #e5deea;
  border-radius:20px;
  color:var(--purple);
  background:#fff;
  box-shadow:0 10px 26px rgba(39,22,62,.07);
}
.inner-page-hero-visual-image figure { width:100%; height:100%; margin:0; }
.inner-page-hero-visual-image img { display:block; width:100%; height:100%; object-fit:cover; }
.contact-hero-image { object-position:center 28%; }
.inner-page-hero-collage { grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; background:#f4eff7; }
.inner-page-hero-collage img { display:block; width:100%; height:100%; object-fit:cover; object-position:center top; }

@media (max-width:1500px) {
  .inner-page-hero-inner { width:min(1280px,calc(100% - 80px)); }
}

@media (max-width:1050px) {
  .inner-page-hero-inner { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr) 340px; gap:38px; }
  .inner-page-hero-visual { width:340px; height:195px; }
}

@media (max-width:780px) {
  .inner-page-hero { min-height:0; }
  .inner-page-hero-inner { width:calc(100% - 40px); padding:30px 0 36px; grid-template-columns:1fr; gap:24px; }
  .inner-page-hero-visual { width:100%; height:auto; aspect-ratio:20/11; justify-self:stretch; border-radius:18px; }
}

.story-section { padding:var(--about-section-space) 0 0; display:grid; grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr); align-items:center; gap:52px; }
.story-copy .section-eyebrow { margin-bottom:14px; }
.story-copy .section-title { max-width:680px; margin:0 0 22px; }
.story-copy .lead-text { margin:0 0 18px; color:#4d4854; font-weight:500; }
.story-copy .body-text { margin:0 0 14px; color:#67616c; }
.story-highlights { display:grid; grid-template-rows:repeat(3,1fr); gap:12px; padding:18px; border:1px solid #e6e0e9; border-radius:10px; background:#faf8fc; box-shadow:none; }
.story-highlight { min-height:98px; padding:17px 18px; display:grid; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; align-content:center; align-items:center; column-gap:16px; border:1px solid #e5dfe8; border-left:3px solid #7e58a3; border-radius:7px; background:#fff; }
.story-highlight-primary { color:inherit; background:#fff; }
.story-highlight-wide { min-height:0; }
.story-highlight .story-label {
  margin-top: 0;
}
.story-highlight > .highlight-icon { grid-column:1; grid-row:1/3; }
.story-highlight > .story-number,.story-highlight > .story-label,.story-highlight > div { grid-column:2; }
.highlight-icon { width:40px; height:40px; display:grid; place-items:center; border-radius:6px; color:#7e58a3; background:#f1ecf5; }
.story-highlight-primary .highlight-icon { color:#7e58a3; background:#f1ecf5; }
.highlight-icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.story-number { display:block; color:#7e58a3; font-size:clamp(34px,2.2vw,40px); line-height:.95; font-weight:700; font-variant-numeric:tabular-nums; }
.story-label { display:block; margin-top:5px; color:#171333; font-size:var(--fs-body-sm); line-height:1.3; font-weight:600; }
.story-highlight-primary .story-label { color:#171333; }
.story-highlight:nth-child(1) { border-left-color:#7e58a3; }
.story-highlight:nth-child(1) .highlight-icon { color:#7e58a3; background:rgba(126,88,163,.1); }
.story-highlight:nth-child(1) .story-number { color:#7e58a3; }
.story-highlight:nth-child(2) { border-left-color:#a8388a; }
.story-highlight:nth-child(2) .highlight-icon { color:#a8388a; background:rgba(168,56,138,.1); }
.story-highlight:nth-child(2) .story-number { color:#a8388a; }
.story-highlight:nth-child(3) { border-left-color:#7e58a3; }
.story-highlight:nth-child(3) .highlight-icon { color:#7e58a3; background:rgba(126,88,163,.1); }
.story-highlight:nth-child(3) .story-number { color:#7e58a3; }

.purpose-section { margin-top:var(--about-section-space); padding:72px 36px; border:1px solid #e5deea; border-radius:12px; background:linear-gradient(135deg,rgba(126,88,163,.045),rgba(168,56,138,.035)); }
.section-heading-center { margin:0 auto 32px; text-align:center; }
.section-heading-center .section-eyebrow { margin-bottom:10px; color:#a8388a; }
.section-heading-center .section-title { position:relative; margin:0; padding-bottom:12px; color:#171333; }
.section-heading-center .section-title::after { content:""; position:absolute; left:50%; bottom:0; width:52px; height:3px; border-radius:3px; background:linear-gradient(90deg,#7e58a3,#a8388a); transform:translateX(-50%); }
.vision-mission-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:stretch; gap:28px; }
.purpose-card { position:relative; overflow:hidden; height:100%; padding:32px; border:1px solid #e3dce8; border-radius:10px; background:#fff; box-shadow:0 5px 16px rgba(23,19,51,.045); transition:transform .2s ease,box-shadow .2s ease; }
.purpose-card:hover { transform:translateY(-2px); box-shadow:0 8px 20px rgba(23,19,51,.065); }
.vision-card { background:#fff; }
.mission-card { margin-top:0; background:#fff; }
.purpose-icon { position:relative; z-index:1; width:50px; height:50px; margin-bottom:20px; display:grid; place-items:center; border:1px solid rgba(126,88,163,.24); border-radius:7px; color:#7e58a3; background:#f1ecf5; box-shadow:none; }
.vision-card .purpose-icon { color:#7e58a3; border-color:rgba(126,88,163,.24); background:rgba(126,88,163,.08); }
.mission-card .purpose-icon { color:#a8388a; border-color:rgba(168,56,138,.24); background:rgba(168,56,138,.08); }
.vision-card:hover { border-color:rgba(126,88,163,.2); box-shadow:0 8px 20px rgba(126,88,163,.12); }
.mission-card:hover { border-color:rgba(168,56,138,.2); box-shadow:0 8px 20px rgba(168,56,138,.12); }
.purpose-icon svg { width:31px; height:31px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.purpose-card .card-title { position:relative; z-index:1; margin:0 0 14px; color:var(--ink); }
.purpose-card .body-text { position:relative; z-index:1; margin:0; color:#5f6269; }

.recognition-feature { padding:var(--about-section-space) 0 0; display:grid; grid-template-columns:280px minmax(0,1fr); align-items:center; gap:52px; }
.recognition-visual { display:block; }
.recognition-image-wrap { width:100%; overflow:hidden; border:6px solid #fff; border-radius:20px; background:#f4eff7; box-shadow:0 14px 34px rgba(39,22,62,.12); }
.recognition-image-wrap img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.recognition-meta { margin-bottom:12px; display:flex; align-items:center; gap:12px; }
.recognition-meta .section-eyebrow { margin:0; }
.recognition-meta span { padding:4px 9px; border-radius:999px; color:var(--pink); background:#fff0f7; font-size:var(--fs-body-sm); font-weight:700; }
.recognition-copy .section-title { max-width:720px; margin:0 0 22px; }
.recognition-statement { max-width:720px; padding-left:28px; border-left:4px solid var(--pink); }
.recognition-statement .card-title { margin:0 0 15px; color:var(--purple); }
.recognition-statement .body-text { margin:0; color:#65606a; }

.chairman-section { position:relative; overflow:hidden; margin-top:var(--about-section-space); margin-bottom:0; padding:48px 56px; display:grid; grid-template-columns:240px minmax(0,1fr); align-items:center; gap:52px; border-radius:24px; color:#fff; background:#11152d; box-shadow:0 18px 42px rgba(17,21,45,.18); }
.chairman-visual { display:grid; place-items:center; }
.chairman-image-wrap { width:220px; padding:7px; border:1px solid rgba(255,255,255,.22); border-radius:50%; background:rgba(255,255,255,.05); }
.chairman-image-wrap img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border:6px solid #fff; border-radius:50%; }
.chairman-content { position:relative; z-index:2; }
.chairman-content .section-eyebrow { margin-bottom:13px; color:#d49bca; }
.chairman-content .section-title { margin:0 0 18px; color:#fff; }
.chairman-content blockquote { max-width:760px; margin:0 0 21px; color:#e1e1e8; font-size:var(--fs-body-lg); line-height:1.65; font-style:italic; }
.chairman-content .chairman-name { margin:0 0 3px; color:#fff; }
.chairman-content .small-text { margin:0; color:#b8bac7; }

.inner-cta { margin-top:var(--about-section-space); margin-bottom:var(--about-section-space); padding:32px 38px; display:flex; align-items:center; justify-content:space-between; gap:38px; overflow:hidden; border-radius:20px; background:linear-gradient(110deg,#f3ecf8 0%,#fff0f7 100%); }
.inner-cta .section-eyebrow { margin-bottom:10px; }
.inner-cta .section-title { max-width:680px; margin:0; font-size:var(--fs-h3); line-height:1.25; }
.inner-cta-actions { flex:0 0 auto; display:flex; gap:12px; }
.inner-cta-actions a { min-height:50px; padding:13px 19px; display:inline-flex; align-items:center; gap:15px; border:2px solid var(--purple); border-radius:8px; font-size:var(--fs-button); font-weight:600; transition:color .25s ease,background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease; }
.inner-cta-actions a:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(126,88,163,.18); }
.inner-cta-primary { color:#fff; background:var(--purple); }
.inner-cta-primary:hover { border-color:var(--pink); background:var(--pink); }
.inner-cta-secondary { color:var(--purple); background:#fff; }
.inner-cta-secondary:hover { color:var(--pink); border-color:var(--pink); }

@media (max-width:1500px) {
  .inner-section-shell,.inner-hero-modern-inner,.inner-breadcrumb-strip .breadcrumb { width:min(1280px,calc(100% - 80px)); }
  .inner-hero-modern-inner { gap:42px; }
  .story-section { gap:52px; }
  .recognition-feature { gap:52px; }
}

@media (max-width:1050px) {
  .about-page { --about-section-space:52px; }
  .inner-section-shell,.inner-hero-modern-inner,.inner-breadcrumb-strip .breadcrumb { width:calc(100% - 48px); }
  .inner-hero-modern { min-height:290px; }
  .inner-hero-modern-inner { grid-template-columns:minmax(0,1fr) minmax(0,.9fr); gap:30px; padding:28px 0 32px; }
  .inner-hero-visual { min-height:225px; }
  .hero-student-frame { border-radius:18px; }
  .story-section { padding:var(--about-section-space) 0 0; grid-template-columns:1fr; gap:36px; }
  .story-highlights { max-width:none; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:1fr; }
  .story-highlight { height:100%; }
  .purpose-section { margin-top:var(--about-section-space); padding:55px 28px; }
  .purpose-card { padding:30px; }
  .recognition-feature { padding:var(--about-section-space) 0 0; grid-template-columns:240px minmax(0,1fr); gap:38px; }
  .chairman-section { padding:42px; grid-template-columns:210px minmax(0,1fr); gap:38px; }
  .chairman-image-wrap { width:195px; }
  .inner-cta { padding:30px; align-items:flex-start; flex-direction:column; gap:22px; }
}

@media (max-width:780px) {
  .inner-hero-modern-inner { grid-template-columns:1fr; padding-top:30px; }
  .inner-hero-copy .lead-text { max-width:680px; }
  .inner-hero-visual { min-height:290px; }
  .inner-tabs { justify-content:flex-start; }
  .vision-mission-grid { grid-template-columns:1fr; gap:24px; }
  .mission-card { margin-top:0; }
  .recognition-feature { grid-template-columns:1fr; gap:30px; }
  .recognition-visual { max-width:280px; width:100%; margin:auto; }
  .recognition-copy { text-align:center; }
  .recognition-meta { justify-content:center; }
  .recognition-statement { padding:18px 0 0; border-top:3px solid var(--pink); border-left:0; text-align:left; }
  .chairman-section { grid-template-columns:1fr; text-align:center; }
  .chairman-content blockquote { margin-left:auto; margin-right:auto; }
}

@media (max-width:680px) {
  .about-page { --about-section-space:40px; }
  .inner-breadcrumb-strip { padding:12px 0; }
  .inner-section-shell,.inner-hero-modern-inner,.inner-breadcrumb-strip .breadcrumb { width:calc(100% - 40px); }
  .inner-hero-modern { min-height:0; }
  .inner-hero-modern-inner { gap:22px; padding:25px 0 38px; }
  .inner-hero-copy .breadcrumb { margin-bottom:12px; }
  .inner-hero-copy .page-title { margin-bottom:14px; }
  .inner-hero-visual { min-height:235px; }
  .hero-student-frame { border-width:5px; border-radius:16px; }
  .inner-tabs { max-width:calc(100% - 20px); margin-top:-15px; }
  .inner-tabs a { padding:8px 15px; }
  .academics-hero .inner-page-hero-visual {
    width:100%;
    max-width:100%;
    height:auto;
    aspect-ratio:auto;
    margin:0;
    overflow:hidden;
  }
  .academics-hero .inner-page-hero-visual img {
    position:relative;
    left:auto;
    right:auto;
    transform:none;
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:contain;
    object-position:center;
  }
  .academics-tabs {
    width:calc(100% - 30px);
    max-width:calc(100% - 30px);
    margin-left:15px;
    margin-right:15px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .facilities-tabs {
    width:calc(100% - 30px);
    max-width:calc(100% - 30px);
    margin-left:15px;
    margin-right:15px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  .story-section { padding:var(--about-section-space) 0 0; gap:28px; }
  .story-highlights { grid-template-columns:1fr; grid-template-rows:repeat(3,1fr); padding:14px; gap:10px; border-radius:9px; }
  .story-highlight { min-height:92px; padding:15px; }
  .purpose-section { margin-top:var(--about-section-space); padding:45px 20px; }
  .section-heading-center { margin-bottom:27px; }
  .vision-mission-grid { gap:18px; }
  .purpose-card { padding:28px 24px; border-radius:10px; }
  .purpose-icon { width:48px; height:48px; margin-bottom:18px; border-radius:7px; }
  .recognition-feature { padding:var(--about-section-space) 0 0; }
  .recognition-image-wrap { width:220px; margin:auto; }
  .chairman-section { margin-top:var(--about-section-space); margin-bottom:0; padding:32px 22px; gap:23px; border-radius:19px; }
  .chairman-image-wrap { width:175px; }
  .chairman-content blockquote { line-height:1.65; }
  .inner-cta { margin-top:var(--about-section-space); margin-bottom:var(--about-section-space); padding:26px 22px; border-radius:17px; }
  .inner-cta-actions { width:100%; flex-direction:column; }
  .inner-cta-actions a { width:100%; justify-content:space-between; }
}

/* Reusable leadership page components */
.founders-page { --about-section-space:64px; }
.founders-hero { min-height:285px; display:flex; align-items:center; border-bottom:1px solid #eee7f2; background:#fbf9fc; }
.founders-hero-inner { width:min(1280px,calc(100% - 160px)); margin:auto; padding:34px 0 40px; display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:center; gap:70px; }
.founders-hero-copy .section-eyebrow { margin-bottom:10px; }
.founders-hero-copy .page-title { max-width:760px; margin:0 0 15px; color:var(--ink); }
.founders-hero-copy .lead-text { max-width:670px; margin:0; color:#625d69; }
.founders-hero-mark { min-height:190px; padding:27px; display:flex; flex-direction:column; align-items:center; justify-content:center; border:1px solid #e5deea; border-radius:18px; color:var(--purple); background:#fff; box-shadow:0 10px 26px rgba(39,22,62,.07); }
.founders-hero-mark svg { width:72px; height:72px; margin-bottom:8px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.founders-hero-mark strong { font-size:var(--fs-h3); line-height:1.1; }
.founders-hero-mark span { margin-top:4px; color:var(--pink); font-size:var(--fs-body-sm); font-weight:600; }

.leadership-section { padding:var(--about-section-space) 0 0; }
.leadership-intro { max-width:760px; margin:0 auto 36px; text-align:center; }
.leadership-intro .section-eyebrow { margin-bottom:10px; }
.leadership-intro .section-title { margin:0 0 15px; }
.leadership-intro .body-text { margin:0; color:#66616b; }
.leadership-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.leadership-card { position:relative; overflow:hidden; min-width:0; height:100%; border:1px solid #e7e1eb; border-radius:16px; background:#fff; box-shadow:0 9px 24px rgba(39,22,62,.065); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.leadership-card::after { content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,var(--purple),var(--pink)); }
.leadership-card:hover { border-color:rgba(126,88,163,.42); transform:translateY(-4px); box-shadow:0 15px 32px rgba(39,22,62,.11); }
.leadership-card figure { margin:0; overflow:hidden; aspect-ratio:500/545; background:#f3eff5; }
.leadership-card img { display:block; width:100%; height:100%; object-fit:cover; }
.leadership-card-content { min-height:108px; padding:23px 24px 27px; text-align:center; }
.leadership-card-content .card-title { margin:0 0 7px; color:var(--ink); }
.leadership-card-content p { margin:0; color:var(--pink); font-size:var(--fs-body-sm); line-height:1.35; font-weight:600; }
.founders-page .inner-cta { margin-top:var(--about-section-space); }

@media (max-width:1500px) {
  .founders-hero-inner { width:min(1280px,calc(100% - 80px)); }
}

@media (max-width:1050px) {
  .founders-page { --about-section-space:52px; }
  .founders-hero-inner { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr) 230px; gap:38px; }
  .founders-hero-mark { min-height:165px; padding:22px; }
  .leadership-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
}

@media (max-width:680px) {
  .founders-page { --about-section-space:40px; }
  .founders-hero { min-height:0; }
  .founders-hero-inner { width:calc(100% - 40px); padding:28px 0 35px; grid-template-columns:1fr; gap:24px; }
  .founders-hero-mark { min-height:125px; padding:17px; border-radius:14px; }
  .founders-hero-mark svg { width:55px; height:55px; margin-bottom:4px; }
  .leadership-intro { margin-bottom:28px; }
  .leadership-grid { grid-template-columns:1fr; gap:20px; }
  .leadership-card { border-radius:14px; }
  .leadership-card-content { min-height:98px; padding:20px 20px 24px; }
}

/* Reusable contact page components */
.contact-page { --about-section-space:64px; }
.contact-hero { min-height:285px; display:flex; align-items:center; border-bottom:1px solid #eee7f2; background:#fbf9fc; }
.contact-hero-inner { width:min(1280px,calc(100% - 160px)); margin:auto; padding:34px 0 40px; display:grid; grid-template-columns:minmax(0,1fr) 300px; align-items:center; gap:65px; }
.contact-hero-copy .section-eyebrow { margin-bottom:10px; }
.contact-hero-copy .page-title { max-width:720px; margin:0 0 15px; color:var(--ink); }
.contact-hero-copy .lead-text { max-width:650px; margin:0; color:#625d69; }
.contact-hero-visual { min-height:180px; display:grid; place-items:center; border:1px solid #e5deea; border-radius:18px; color:var(--purple); background:#fff; box-shadow:0 10px 26px rgba(39,22,62,.07); }
.contact-hero-visual svg { width:150px; height:118px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }

.contact-main { padding:var(--about-section-space) 0; display:grid; grid-template-columns:minmax(300px,.4fr) minmax(0,.6fr); align-items:stretch; gap:30px; }
.contact-info-panel,.contact-form-card { border:1px solid #e7e1eb; border-radius:18px; background:#fff; box-shadow:0 10px 27px rgba(39,22,62,.065); }
.contact-info-panel { padding:34px 31px; }
.contact-info-panel > .section-eyebrow,.contact-form-card > .section-eyebrow { margin-bottom:9px; }
.contact-info-panel > .card-title,.contact-form-card > .card-title { margin:0 0 10px; color:var(--ink); }
.contact-info-intro,.contact-form-intro { margin:0; color:#66616b; }
.contact-info-intro { margin-bottom:27px; }
.contact-detail { padding:17px 0; display:grid; grid-template-columns:46px minmax(0,1fr); align-items:start; gap:15px; border-top:1px solid #eee9f1; }
.contact-detail-icon { width:44px; height:44px; display:grid; place-items:center; border-radius:50%; color:var(--purple); background:rgba(126,88,163,.09); }
.contact-detail-icon-pink { color:var(--pink); background:rgba(168,56,138,.09); }
.contact-detail-icon svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.contact-detail h3 { margin:0 0 5px; color:var(--ink); font-size:var(--fs-body); line-height:1.3; font-weight:700; }
.contact-detail address,.contact-detail a { color:#625d69; font-size:var(--fs-body-sm); line-height:1.55; font-style:normal; }
.contact-detail a { transition:color .2s ease; }
.contact-detail a:hover { color:var(--pink); }

.contact-form-card { padding:34px; }
.contact-form-intro { margin-bottom:27px; }
.contact-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.form-field { min-width:0; }
.form-field-full { grid-column:1/-1; }
.form-field label { display:block; margin-bottom:7px; color:var(--ink); font-size:var(--fs-body-sm); line-height:1.3; font-weight:600; }
.form-field label span { color:var(--pink); }
.form-field input,.form-field textarea { width:100%; border:1px solid #dcd9df; border-radius:10px; color:var(--ink); background:#fff; font:inherit; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.form-field input { height:50px; padding:10px 14px; }
.form-field textarea { min-height:128px; padding:13px 14px; resize:vertical; }
.form-field input:focus,.form-field textarea:focus { border-color:var(--purple); box-shadow:0 0 0 3px rgba(126,88,163,.12); }
.contact-submit { min-width:190px; min-height:52px; padding:13px 20px; display:inline-flex; align-items:center; justify-content:space-between; gap:24px; border:0; border-radius:9px; color:#fff; background:linear-gradient(90deg,var(--purple),var(--pink)); font-family:var(--font-family-base); font-size:var(--fs-button); font-weight:600; transition:transform .25s ease,box-shadow .25s ease; }
.contact-submit:hover { transform:translateY(-2px); box-shadow:0 9px 20px rgba(126,88,163,.22); }
.contact-form-note { margin:17px 0 0; color:#77717d; }
.text-danger { margin-top:6px; color:#b42318; font-size:13px; line-height:1.4; }
.contact-alert { margin:0 0 20px; padding:13px 15px; border:1px solid transparent; border-radius:9px; font-size:14px; line-height:1.5; }
.contact-alert-success { color:#176b3a; border-color:#b9e2c8; background:#edf9f1; }
.contact-alert-error { color:#9d2420; border-color:#efc1bf; background:#fff2f1; }

@media (max-width:1500px) {
  .contact-hero-inner { width:min(1280px,calc(100% - 80px)); }
}

@media (max-width:1050px) {
  .contact-page { --about-section-space:52px; }
  .contact-hero-inner { width:calc(100% - 48px); grid-template-columns:minmax(0,1fr) 235px; gap:38px; }
  .contact-hero-visual { min-height:160px; }
  .contact-main { grid-template-columns:minmax(280px,.42fr) minmax(0,.58fr); gap:24px; }
  .contact-info-panel { padding:29px 25px; }
  .contact-form-card { padding:29px; }
}

@media (max-width:780px) {
  .contact-main { grid-template-columns:1fr; }
  .contact-info-panel,.contact-form-card { border-radius:16px; }
}

@media (max-width:680px) {
  .contact-page { --about-section-space:40px; }
  .contact-hero { min-height:0; }
  .contact-hero-inner { width:calc(100% - 40px); padding:28px 0 35px; grid-template-columns:1fr; gap:23px; }
  .contact-hero-visual { min-height:120px; border-radius:14px; }
  .contact-hero-visual svg { width:112px; height:88px; }
  .contact-main { gap:20px; }
  .contact-info-panel,.contact-form-card { padding:25px 21px; border-radius:14px; }
  .contact-form { grid-template-columns:1fr; gap:17px; }
  .form-field-full { grid-column:auto; }
  .contact-submit { width:100%; }
}
/* Branch directory
   Scoped to the Branches inner page so existing page styling remains unchanged. */
.branches-page {
  --branches-section-space: 64px;
  --about-section-space: 64px;
}

.branches-hero {
  min-height: 285px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #faf8fc;
  border-bottom: 1px solid rgba(126, 88, 163, 0.1);
}

.branches-hero-inner {
  width: min(1280px, calc(100% - 160px));
  margin: 0 auto;
  padding: 34px 0 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  align-items: center;
  gap: 54px;
}

.branches-hero-copy {
  max-width: 720px;
}

.branches-hero .section-eyebrow {
  margin: 0 0 9px;
  color: #a8388a;
}

.branches-hero h1 {
  max-width: 680px;
  margin: 0;
  color: var(--ink);
}

.branches-hero .lead-text {
  max-width: 650px;
  margin: 14px 0 0;
  color: #625e6d;
}

.branches-hero-visual {
  width: 100%;
  max-width: 260px;
  aspect-ratio: 1.45;
  justify-self: end;
  display: grid;
  place-items: center;
  color: #7e58a3;
  background: #fff;
  border: 1px solid rgba(126, 88, 163, 0.14);
  border-radius: 20px;
  box-shadow: 0 12px 30px rgba(23, 19, 51, 0.07);
}

.branches-hero-visual svg {
  width: 76%;
  height: auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.branch-directory {
  padding: var(--branches-section-space) 0 0;
}

.branch-directory-heading {
  max-width: 690px;
  margin: 0 auto 28px;
  text-align: center;
}

.branch-directory-heading .section-eyebrow {
  margin: 0 0 8px;
  color: #a8388a;
}

.branch-directory-heading .section-title {
  margin: 0;
  color: var(--ink);
}

.branch-directory-heading .body-text {
  margin: 12px 0 0;
  color: #625e6d;
}

.branch-tools {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 16px;
  background: #fff;
  border: 1px solid rgba(126, 88, 163, 0.14);
  border-radius: 14px;
  box-shadow: 0 8px 24px rgba(23, 19, 51, 0.05);
}

.branch-search {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 0 15px;
  color: #7e58a3;
  background: #faf8fc;
  border: 1px solid rgba(126, 88, 163, 0.16);
  border-radius: 10px;
}

.branch-search:focus-within {
  border-color: #7e58a3;
  box-shadow: 0 0 0 3px rgba(126, 88, 163, 0.1);
}

.branch-search svg {
  width: 19px;
  height: 19px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
}

.branch-search input {
  width: 100%;
  min-width: 0;
  padding: 0;
  font: inherit;
  color: var(--ink);
  background: transparent;
  border: 0;
  outline: 0;
}

.branch-search input::placeholder {
  color: #777383;
}

.branch-filters {
  display: flex;
  align-items: center;
  gap: 7px;
}

.branch-filter {
  min-height: 40px;
  padding: 8px 13px;
  color: var(--ink);
  font: inherit;
  font-size: var(--fs-body-sm);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  background: #fff;
  border: 1px solid rgba(126, 88, 163, 0.16);
  border-radius: 999px;
  transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}

.branch-filter:hover,
.branch-filter.active {
  color: #fff;
  background: #7e58a3;
  border-color: #7e58a3;
}

.branch-filter:focus-visible {
  outline: 3px solid rgba(126, 88, 163, 0.2);
  outline-offset: 2px;
}

.branch-results {
  margin-top: 42px;
}

.branch-group + .branch-group {
  margin-top: 44px;
}

.branch-group-heading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  margin: 0 0 14px;
}

.branch-group-heading::before {
  width: 4px;
  height: 27px;
  flex: 0 0 auto;
  content: "";
  background: linear-gradient(180deg, #7e58a3, #a8388a);
  border-radius: 4px;
}

.branch-group-heading > div {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 20px;
}

.branch-group-heading .section-eyebrow {
  margin: 0;
  color: #a8388a;
}

.branch-group-heading .card-title {
  margin: 0;
  color: var(--ink);
}

.branch-group-heading > span {
  margin-left: auto;
  padding: 4px 9px;
  color: #7e58a3;
  font-size: var(--fs-body-sm);
  font-weight: 700;
  background: rgba(126, 88, 163, 0.09);
  border-radius: 999px;
}

.branch-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}

.branch-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 20px;
  background: #fff;
  border: 1px solid rgba(126, 88, 163, 0.13);
  border-radius: 13px;
  box-shadow: 0 5px 18px rgba(23, 19, 51, 0.035);
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.branch-card:hover {
  transform: translateY(-3px);
  border-color: rgba(126, 88, 163, 0.28);
  box-shadow: 0 10px 24px rgba(23, 19, 51, 0.07);
}

.branch-card h4 {
  margin: 0;
  color: var(--ink);
  font-size: var(--fs-h3);
  line-height: 1.25;
  font-weight: 700;
}

.branch-card-detail {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 12px 0 0;
  color: #625e6d;
  font-size: var(--fs-body-sm);
  line-height: 1.55;
}

.branch-card-detail svg {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  flex: 0 0 auto;
  color: #7e58a3;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.branch-card-detail address {
  flex: 1;
  font-style: normal;
}

.branch-card-phone a {
  width: fit-content;
  color: #7e58a3;
  font-weight: 700;
  text-decoration: none;
}

.branch-card-phone a:hover {
  color: #a8388a;
}

.branch-card-phone {
  margin-top: auto;
  padding-top: 12px;
}

.branch-group[hidden],
.branch-card[hidden],
.branch-empty[hidden] {
  display: none;
}

.branch-empty {
  margin: 34px 0 0;
  padding: 28px 20px;
  color: #625e6d;
  text-align: center;
  background: #faf8fc;
  border: 1px dashed rgba(126, 88, 163, 0.28);
  border-radius: 13px;
}

@media (max-width: 1500px) {
  .branches-hero-inner {
    width: min(1280px, calc(100% - 80px));
  }
}

@media (max-width: 1199px) {
  .branch-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1050px) {
  .branches-page {
    --branches-section-space: 52px;
    --about-section-space: 52px;
  }

  .branches-hero-inner {
    width: min(1280px, calc(100% - 48px));
    grid-template-columns: minmax(0, 1fr) 220px;
    gap: 34px;
  }

  .branch-tools {
    grid-template-columns: 1fr;
  }

  .branch-filters {
    flex-wrap: wrap;
  }
}

@media (max-width: 780px) {
  .branches-page {
    --branches-section-space: 42px;
    --about-section-space: 42px;
  }

  .branches-hero {
    min-height: auto;
  }

  .branches-hero-inner {
    width: calc(100% - 40px);
    padding: 30px 0 34px;
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .branches-hero-visual {
    width: 100%;
    max-width: none;
    height: 132px;
    aspect-ratio: auto;
    justify-self: stretch;
  }

  .branches-hero-visual svg {
    width: auto;
    height: 105px;
  }

  .branch-directory-heading {
    margin-bottom: 22px;
    text-align: left;
  }

  .branch-tools {
    gap: 13px;
    padding: 13px;
  }

  .branch-filters {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 3px;
    scrollbar-width: thin;
  }

  .branch-filter {
    flex: 0 0 auto;
  }

  .branch-results {
    margin-top: 32px;
  }

  .branch-group + .branch-group {
    margin-top: 38px;
  }

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

@media (max-width: 430px) {
  .branches-page {
    --branches-section-space: 38px;
    --about-section-space: 38px;
  }

  .branch-card {
    padding: 18px;
  }

}

/* Ambience overview — scoped additions built on the shared inner-page system */
.ambience-page { --ambience-space:76px; }
.ambience-hero .inner-page-hero-visual img { object-position:center 42%; }
.ambience-intro { margin-top:var(--ambience-space); display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); align-items:center; gap:64px; }
.ambience-intro .section-title { margin:0 0 20px; }
.ambience-intro .lead-text { margin:0 0 16px; color:var(--ink); font-weight:600; }
.ambience-intro .body-text { margin:0 0 14px; color:#625d69; }
.ambience-highlight { position:relative; padding:40px 36px; overflow:hidden; border:1px solid #eadfed; border-radius:20px; background:linear-gradient(145deg,#f6f0fa,#fff4fa); box-shadow:0 14px 34px rgba(39,22,62,.08); }
.ambience-highlight-mark { position:absolute; right:22px; top:-15px; color:rgba(168,56,138,.12); font-size:110px; line-height:1; font-weight:700; }
.ambience-highlight p { position:relative; margin:0 0 22px; color:var(--ink); font-size:clamp(22px,2vw,30px); line-height:1.25; font-weight:700; }
.ambience-highlight > span:last-child { position:relative; color:var(--purple); font-size:var(--fs-label); font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.ambience-pillars { margin-top:var(--ambience-space); }
.ambience-section-heading { max-width:720px; margin-bottom:32px; }
.ambience-section-heading .section-title { margin:0; }
.ambience-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:20px; }
.ambience-card { grid-column:span 2; min-height:0; padding:28px 26px; border:1px solid #e9e1ed; border-radius:18px; background:linear-gradient(150deg,#fff 45%,#fbf6fc 100%); box-shadow:0 10px 28px rgba(39,22,62,.06); }
.ambience-card:nth-child(4) { grid-column:2 / span 2; }
.ambience-card-number { display:inline-block; margin-bottom:16px; padding:5px 9px; color:var(--purple); border-radius:999px; background:#f1e9f6; font-size:12px; line-height:1; font-weight:700; letter-spacing:.08em; }
.ambience-card h3 { margin:0 0 13px; color:var(--ink); font-size:var(--fs-h3); line-height:1.25; }
.ambience-card p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.7; }
.ambience-experience { margin-top:var(--ambience-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.ambience-experience-heading .section-title { margin:0; }
.ambience-experience-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.ambience-experience-points div { padding-left:18px; border-left:3px solid #e6d7ed; }
.ambience-experience-points h3 { margin:0 0 8px; color:var(--purple); font-size:var(--fs-h3); }
.ambience-experience-points p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.6; }
.ambience-page .inner-cta { margin-top:42px; margin-bottom:60px; }

@media (max-width: 1023px) {
  .ambience-page { --ambience-space:60px; }
  .ambience-intro { gap:38px; }
  .ambience-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ambience-card,.ambience-card:nth-child(4) { grid-column:auto; }
  .ambience-card:last-child { grid-column:1 / -1; }
  .ambience-experience { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 767px) {
  .ambience-page { --ambience-space:48px; }
  .ambience-intro { grid-template-columns:1fr; gap:28px; }
  .ambience-highlight { padding:30px 24px; }
  .ambience-grid { grid-template-columns:1fr; gap:16px; }
  .ambience-card,.ambience-card:last-child { grid-column:auto; padding:24px 22px; }
  .ambience-experience { padding:34px 0; }
  .ambience-experience-points { grid-template-columns:1fr; gap:22px; }
  .ambience-page .inner-cta { margin-top:42px; margin-bottom:60px; }
}

/* Trained Teachers — extends the shared Ambience inner-page composition */
.trained-teachers-page .ambience-hero .inner-page-hero-visual img { object-position:center 38%; }
.teachers-highlight { padding:30px; border:1px solid #eadfed; border-radius:20px; background:linear-gradient(145deg,#f7f1fa,#fff7fb); box-shadow:0 14px 34px rgba(39,22,62,.07); }
.teachers-highlight .section-eyebrow { margin:0 0 9px; }
.teachers-highlight h3 { margin:0 0 22px; color:var(--ink); font-size:var(--fs-h3); line-height:1.3; }
.teachers-highlight ul { margin:0; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; list-style:none; }
.teachers-highlight li { position:relative; padding-left:17px; color:#625d69; font-size:var(--fs-body-sm); font-weight:600; line-height:1.4; }
.teachers-highlight li::before { content:""; position:absolute; left:0; top:.45em; width:7px; height:7px; border:2px solid var(--pink); border-radius:50%; }
.teaching-strengths { margin-top:var(--ambience-space); }
.teaching-strengths-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.teaching-strength-card { padding:27px 28px; border:1px solid #e9e1ed; border-radius:18px; background:linear-gradient(150deg,#fff 52%,#fbf6fc 100%); box-shadow:0 10px 28px rgba(39,22,62,.055); }
.teaching-strength-card h3 { margin:0 0 12px; color:var(--ink); font-size:var(--fs-h3); line-height:1.3; }
.teaching-strength-card p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.68; }
.teacher-development { margin-top:var(--ambience-space); padding:42px 0; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.teacher-development-copy { max-width:800px; margin-bottom:30px; }
.teacher-development-copy .section-title { margin:0 0 14px; }
.teacher-development-copy .body-text { margin:0; color:#625d69; }
.teacher-development-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.teacher-development-points div { padding-left:18px; border-left:3px solid #e6d7ed; }
.teacher-development-points h3 { margin:0 0 7px; color:var(--purple); font-size:var(--fs-h3); }
.teacher-development-points p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.55; }
.teacher-culture { margin-top:var(--ambience-space); display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); align-items:center; gap:70px; padding:36px 40px; border:1px solid #eadfed; border-radius:20px; background:#fbf8fc; }
.teacher-culture .section-title { margin:0; }
.teacher-culture > .body-text { margin:0; color:#625d69; line-height:1.75; }

@media (max-width: 1023px) {
  .teachers-highlight { padding:26px; }
  .teacher-culture { gap:38px; padding:32px; }
}

@media (max-width: 767px) {
  .teachers-highlight { padding:26px 22px; }
  .teachers-highlight ul { grid-template-columns:1fr; gap:11px; }
  .teaching-strengths-grid { grid-template-columns:1fr; gap:16px; }
  .teaching-strength-card { padding:24px 22px; }
  .teacher-development { padding:34px 0; }
  .teacher-development-points { grid-template-columns:1fr; gap:22px; }
  .teacher-culture { grid-template-columns:1fr; gap:18px; padding:28px 22px; border-radius:17px; }
}

/* Facilities Overview — scoped expansion of the approved homepage cards */
.facilities-page { --facilities-page-space:72px; }
.facilities-hero .inner-page-hero-visual img { object-position:center; }
.facilities-tabs { justify-content:flex-start; }
.facilities-intro { max-width:860px; margin-top:var(--facilities-page-space); text-align:center; }
.facilities-intro .section-title { margin:0 0 17px; }
.facilities-intro .lead-text { margin:0; color:#625d69; }
.facilities-detail { margin-top:42px; }
.facilities-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.facilities-page .facility-card > img { height:210px; aspect-ratio:16/9; object-fit:cover; }
.facilities-page .facility-icon { top:210px; width:68px; height:68px; border:1px solid #eee7f1; box-shadow:0 5px 15px rgba(39,22,62,.1); }
.facilities-page .facility-icon svg { width:37px; height:37px; }
.facilities-page .facility-content { min-height:184px; padding:44px 25px 23px; }
.facilities-page .facility-content p { max-width:340px; line-height:1.6; }
.facilities-page .facility-content a { margin-top:auto; padding-top:13px; color:var(--purple); font-size:var(--fs-body-sm); font-weight:700; }
.facilities-page .facility-content a:hover { color:var(--pink); }
.facility-experience { margin-top:var(--facilities-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.facility-experience-heading .section-title { margin:0; }
.facility-experience-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.facility-experience-points div { padding-left:18px; border-left:3px solid #e6d7ed; }
.facility-experience-points h3 { margin:0 0 8px; color:var(--purple); font-size:var(--fs-h3); }
.facility-experience-points p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.6; }
.facilities-page .inner-cta { margin-top:42px; margin-bottom:60px; }

@media (max-width: 1023px) {
  .facilities-page { --facilities-page-space:58px; }
  .facilities-detail-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
  .facility-experience { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 767px) {
  .facilities-page { --facilities-page-space:46px; }
  .facilities-tabs { max-width:calc(100% - 20px); }
  .facilities-intro { text-align:left; }
  .facilities-detail { margin-top:30px; }
  .facilities-detail-grid { grid-template-columns:1fr; gap:20px; }
  .facilities-page .facility-card > img { height:200px; }
  .facilities-page .facility-icon { top:200px; }
  .facilities-page .facility-content { min-height:175px; padding:44px 22px 22px; }
  .facility-experience { padding:34px 0; }
  .facility-experience-points { grid-template-columns:1fr; gap:22px; }
  .facilities-page .inner-cta { margin-top:42px; margin-bottom:60px; }
}

/* Extra Curricular — extends the shared Facilities inner-page system */
.extra-curricular-page .facilities-hero .inner-page-hero-visual img { object-position:center 40%; }
.activity-intro { max-width:900px; margin-top:var(--facilities-page-space); }
.activity-intro .section-title { margin:0 0 17px; }
.activity-intro .lead-text { margin:0; color:#625d69; }
.activity-areas { margin-top:38px; }
.activity-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.activity-card { min-height:0; padding:27px 28px; border:1px solid #e9e1ed; border-radius:18px; background:linear-gradient(150deg,#fff 52%,#fbf6fc 100%); box-shadow:0 9px 25px rgba(39,22,62,.055); transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.activity-card:hover { transform:translateY(-3px); border-color:rgba(126,88,163,.35); box-shadow:0 14px 30px rgba(39,22,62,.1); }
.activity-card-top { margin-bottom:17px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.activity-number { padding:5px 9px; color:var(--purple); border-radius:999px; background:#f1e9f6; font-size:12px; line-height:1; font-weight:700; letter-spacing:.08em; }
.activity-icon { width:42px; height:42px; display:grid; place-items:center; border:1px solid #eadfed; border-radius:50%; background:#fff; }
.activity-icon svg { width:24px; height:24px; fill:none; stroke:var(--pink); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.activity-card h3 { margin:0; color:var(--ink); font-size:var(--fs-h3); line-height:1.3; }
.activity-accent { width:36px; height:2px; margin:12px 0 13px; display:block; background:linear-gradient(90deg,var(--purple),var(--pink)); }
.activity-card p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.68; }
.activity-development { margin-top:var(--facilities-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.activity-development-heading .section-title { margin:0; }
.activity-development-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.activity-development-points div { padding-left:18px; border-left:3px solid #e6d7ed; }
.activity-development-points h3 { margin:0 0 8px; color:var(--purple); font-size:var(--fs-h3); }
.activity-development-points p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.6; }

@media (max-width: 1023px) {
  .activity-development { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 767px) {
  .activity-intro { margin-top:var(--facilities-page-space); }
  .activity-areas { margin-top:30px; }
  .activity-grid { grid-template-columns:1fr; gap:16px; }
  .activity-card { padding:24px 22px; }
  .activity-development { padding:34px 0; }
  .activity-development-points { grid-template-columns:1fr; gap:22px; }
}

/* Co Curricular — reuses the Facilities and activity-card systems */
.co-curricular-page .facilities-hero .inner-page-hero-visual img { object-position:center 42%; }
.co-curricular-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }

@media (max-width: 1023px) {
  .co-curricular-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 767px) {
  .co-curricular-grid { grid-template-columns:1fr; gap:16px; }
}

/* Interactive Learning — shared inner-page and activity-card systems */
.technology-page { --technology-page-space:72px; }
.technology-hero .inner-page-hero-visual img { object-position:center; }
.technology-tabs { justify-content:center; }
.technology-page .activity-intro { margin-top:var(--technology-page-space); }
.technology-benefits-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.digital-classes-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.connected-learning { margin-top:var(--technology-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.online-features { margin-top:40px; display:grid; gap:34px; }
.online-feature { padding:24px; display:grid; grid-template-columns:minmax(0,45fr) minmax(0,55fr); align-items:center; gap:42px; border:1px solid #ebe3ee; border-radius:20px; background:#fff; box-shadow:0 9px 25px rgba(39,22,62,.055); }
.online-feature-reverse .online-feature-image { grid-column:2; }
.online-feature-reverse .online-feature-copy { grid-column:1; grid-row:1; }
.online-feature-image { margin:0; overflow:hidden; aspect-ratio:16/10; border:1px solid #e9e1ed; border-radius:18px; background:#f5f0f7; box-shadow:0 8px 22px rgba(39,22,62,.08); }
.online-feature-image img { width:100%; height:100%; display:block; object-fit:cover; }
.online-feature-copy .activity-number { display:inline-flex; margin-bottom:15px; }
.online-feature-copy .section-title { margin:0 0 14px; font-size:var(--fs-h2); }
.online-feature-copy p { margin:0; color:#625d69; line-height:1.7; }
.online-resources { margin-top:var(--technology-page-space); padding:34px 0; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); align-items:center; gap:48px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.online-resources-heading .section-title { margin:0; }
.online-resource-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.online-resource-items span { min-height:54px; padding:8px 16px; display:flex; align-items:center; justify-content:center; color:var(--ink); border-left:1px solid #e4d8e9; font-size:var(--fs-body-sm); font-weight:600; text-align:center; }
.online-resource-items span:first-child { border-left:0; }
.technology-page .inner-cta { margin-top:42px; margin-bottom:60px; }

@media (max-width: 1023px) {
  .technology-page { --technology-page-space:58px; }
  .technology-benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .connected-learning { grid-template-columns:1fr; gap:30px; }
  .online-feature { gap:28px; }
  .online-resources { grid-template-columns:1fr; gap:28px; }
}

@media (max-width: 767px) {
  .technology-page { --technology-page-space:46px; }
  .technology-tabs { max-width:calc(100% - 20px); justify-content:flex-start; }
  .technology-benefits-grid { grid-template-columns:1fr; gap:16px; }
  .digital-classes-grid { grid-template-columns:1fr; gap:16px; }
  .connected-learning { padding:34px 0; }
  .online-features { margin-top:30px; gap:20px; }
  .online-feature { padding:18px; grid-template-columns:1fr; gap:24px; border-radius:17px; }
  .online-feature-reverse .online-feature-image, .online-feature-reverse .online-feature-copy { grid-column:auto; grid-row:auto; }
  .online-feature-image { border-radius:15px; }
  .online-feature-copy .section-title { font-size:var(--fs-h3); }
  .online-resources { padding:30px 0; }
  .online-resource-items { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .online-resource-items span { border-left:0; border-top:1px solid #e4d8e9; }
  .online-resource-items span:nth-child(odd) { border-right:1px solid #e4d8e9; }
  .online-resource-items span:nth-child(-n+2) { border-top:0; }
  .technology-page .inner-cta { margin-top:42px; margin-bottom:60px; }
}

/* Career Guidance — shared Beyond Academics inner-page system */
.beyond-academics-page { --beyond-page-space:72px; }
.beyond-academics-hero .inner-page-hero-visual img { object-position:center 38%; }
.beyond-academics-tabs { justify-content:flex-start; }
.beyond-academics-page .activity-intro { margin-top:var(--beyond-page-space); }
.career-guidance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.career-purpose { margin-top:var(--beyond-page-space); padding:34px 38px; border:1px solid #e9deed; border-left:4px solid var(--pink); border-radius:18px; background:linear-gradient(120deg,#f8f3fb,#fff7fb); }
.career-purpose .section-title { max-width:780px; margin:0 0 14px; }
.career-purpose > p:last-child { max-width:850px; margin:0; color:#625d69; line-height:1.7; }
.career-pathways { margin-top:var(--beyond-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.beyond-balanced { margin-top:var(--beyond-page-space); padding:38px 0; display:grid; grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr); align-items:center; gap:54px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.beyond-balanced .section-title { margin:0; }
.beyond-balanced-items { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.beyond-balanced-items div { padding:4px 16px; border-left:1px solid #e4d8e9; }
.beyond-balanced-items h3 { margin:0 0 7px; color:var(--purple); font-size:var(--fs-h3); }
.beyond-balanced-items p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.55; }
.beyond-academics-page .inner-cta { margin-top:42px; margin-bottom:60px; }

@media (max-width: 1023px) {
  .beyond-academics-page { --beyond-page-space:58px; }
  .career-guidance-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .career-pathways { grid-template-columns:1fr; gap:32px; }
  .beyond-balanced { grid-template-columns:1fr; gap:30px; }
  .beyond-balanced-items { grid-template-columns:repeat(2,minmax(0,1fr)); row-gap:24px; }
}

@media (max-width: 767px) {
  .beyond-academics-page { --beyond-page-space:46px; }
  .beyond-academics-tabs { max-width:calc(100% - 20px); }
  .career-guidance-grid { grid-template-columns:1fr; gap:16px; }
  .career-purpose { padding:28px 22px; border-radius:17px; }
  .career-pathways { padding:34px 0; }
  .beyond-balanced { padding:34px 0; }
  .beyond-balanced-items { grid-template-columns:1fr; gap:20px; }
  .beyond-balanced-items div { padding:0 0 0 16px; border-left:3px solid #e4d8e9; }
  .beyond-academics-page .inner-cta { margin-top:42px; margin-bottom:60px; }
}

/* Pedagogy — shared Communication inner-page system */
.communication-page { --communication-page-space:72px; }
.communication-hero .inner-page-hero-visual img { object-position:center 38%; }
.communication-tabs { justify-content:center; }
.communication-page .activity-intro { margin-top:var(--communication-page-space); }
.communication-page .activity-intro .body-text { margin:14px 0 0; color:#625d69; line-height:1.7; }
.guidelines-page .activity-intro .body-text { margin-top:0; }
.guidelines-page .guidelines-policy-grid { margin-top:28px; }
.pedagogy-experience { margin-top:var(--communication-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.support-operations { max-width:920px; margin-top:var(--communication-page-space); padding-left:26px; border-left:3px solid var(--pink); }
.support-operations .section-title { margin:0 0 14px; }
.support-operations > p:last-child { margin:0; color:#625d69; line-height:1.7; }
.communication-page .inner-cta { margin-top:42px; margin-bottom:60px; }

@media (max-width: 1023px) {
  .communication-page { --communication-page-space:58px; }
  .pedagogy-experience { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 767px) {
  .communication-page { --communication-page-space:46px; }
  .communication-tabs { max-width:calc(100% - 20px); justify-content:flex-start; }
  .pedagogy-experience { padding:34px 0; }
  .support-operations { padding-left:20px; }
  .communication-page .inner-cta { margin-top:42px; margin-bottom:60px; }
}

/* Gallery — dedicated visual experience */
.gallery-page { overflow:hidden; background:linear-gradient(180deg,#fbf8fc 0,#fff 560px); }
.gallery-content { padding-top:32px; }
.gallery-heading-row { display:grid; grid-template-columns:minmax(0,42%) minmax(0,58%); align-items:center; gap:24px; }
.gallery-heading-copy { max-width:470px; }
.gallery-heading-copy .section-title { max-width:470px; margin:0 0 12px; }
.gallery-heading-copy > p:last-child { max-width:470px; margin:0; color:#625d69; line-height:1.65; }
.gallery-filters { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:9px; }
.gallery-filters button { min-height:40px; padding:8px 14px; color:#554e5e; border:1px solid #e4dbe8; border-radius:999px; background:#fff; font:600 var(--fs-body-sm)/1 Cabin,sans-serif; white-space:nowrap; transition:color .25s ease,border-color .25s ease,background-color .25s ease,box-shadow .25s ease; }
.gallery-filters button:hover { color:var(--purple); border-color:rgba(126,88,163,.45); }
.gallery-filters button.active { color:#fff; border-color:var(--purple); background:var(--purple); box-shadow:0 7px 16px rgba(126,88,163,.2); }
.gallery-grid { margin-top:28px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-rows:105px; grid-auto-flow:dense; gap:16px; }
.gallery-item { position:relative; grid-row:span 2; width:100%; height:100%; min-width:0; margin:0; padding:0; overflow:hidden; border:0; border-radius:14px; background:#f1ebf4; box-shadow:0 8px 22px rgba(39,22,62,.09); cursor:zoom-in; isolation:isolate; }
.gallery-item-wide { grid-column:span 2; }
.gallery-item-tall { grid-row:span 3; }
.gallery-item[hidden] { display:none!important; }
.gallery-item img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .28s ease; }
.gallery-item::after { content:""; position:absolute; inset:0; z-index:1; background:rgba(15,10,27,.12); opacity:0; transition:opacity .28s ease; }
.gallery-item::before { content:"+"; position:absolute; top:50%; left:50%; z-index:3; width:46px; height:46px; display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.78); border-radius:50%; background:rgba(23,19,51,.58); font:400 28px/1 Cabin,sans-serif; opacity:0; transform:translate(-50%,-44%); transition:opacity .28s ease,transform .28s ease; }
.gallery-item > span { position:absolute; left:14px; bottom:13px; z-index:3; padding:6px 9px; color:#fff; border-radius:999px; background:rgba(23,19,51,.68); font-size:12px; font-weight:600; letter-spacing:.03em; opacity:0; transform:translateY(5px); transition:opacity .28s ease,transform .28s ease; }
.gallery-item:hover img,.gallery-item:focus-visible img { transform:scale(1.035); }
.gallery-item:hover::after,.gallery-item:focus-visible::after,.gallery-item:hover::before,.gallery-item:focus-visible::before,.gallery-item:hover > span,.gallery-item:focus-visible > span { opacity:1; }
.gallery-item:hover::before,.gallery-item:focus-visible::before,.gallery-item:hover > span,.gallery-item:focus-visible > span { transform:translate(-50%,-50%); }
.gallery-item:hover > span,.gallery-item:focus-visible > span { transform:none; }
.gallery-page .inner-cta { margin-top:45px; margin-bottom:60px; }
body.gallery-lightbox-open { overflow:hidden; }
.gallery-lightbox { position:fixed; inset:0; z-index:1200; display:grid; place-items:center; visibility:hidden; opacity:0; background:rgba(8,6,15,.94); transition:opacity .25s ease,visibility .25s ease; }
.gallery-lightbox.open { visibility:visible; opacity:1; }
.gallery-lightbox-stage { width:90vw; height:84vh; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:none; }
.gallery-lightbox-image { max-width:100%; max-height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; transform:translate3d(0,0,0) scale(1); transform-origin:center; transition:transform .2s ease; cursor:zoom-in; }
.gallery-lightbox-image.is-zoomed { cursor:grab; }
.gallery-lightbox-image.is-dragging { cursor:grabbing; transition:none; }
.gallery-lightbox-close,.gallery-lightbox-nav,.gallery-lightbox-zoom button { display:grid; place-items:center; color:#fff; border:1px solid rgba(255,255,255,.42); background:rgba(255,255,255,.08); transition:background-color .2s ease,border-color .2s ease; }
.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover,.gallery-lightbox-zoom button:hover { border-color:#fff; background:rgba(168,56,138,.8); }
.gallery-lightbox-close { position:absolute; top:24px; right:26px; z-index:5; width:46px; height:46px; padding:0; border-radius:50%; font:400 31px/1 Cabin,sans-serif; }
.gallery-lightbox-nav { position:absolute; top:50%; z-index:5; width:52px; height:52px; padding:0; border-radius:50%; font:400 27px/1 Cabin,sans-serif; transform:translateY(-50%); }
.gallery-lightbox-prev { left:24px; }
.gallery-lightbox-next { right:24px; }
.gallery-lightbox-meta { position:absolute; top:28px; left:28px; z-index:5; display:flex; align-items:center; gap:12px; color:rgba(255,255,255,.85); font-size:13px; letter-spacing:.06em; }
.gallery-lightbox-category { padding-left:12px; border-left:1px solid rgba(255,255,255,.32); }
.gallery-lightbox-zoom { position:absolute; right:28px; bottom:25px; z-index:5; display:flex; gap:7px; }
.gallery-lightbox-zoom button { min-width:44px; height:42px; padding:0 11px; border-radius:9px; font:600 16px/1 Cabin,sans-serif; }

@media (max-width: 1199px) {
  .gallery-heading-row { grid-template-columns:minmax(0,44%) minmax(0,56%); gap:20px; }
  .gallery-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
}

@media (max-width: 900px) {
  .gallery-heading-row { grid-template-columns:1fr; gap:20px; }
  .gallery-filters { justify-content:flex-start; }
  .gallery-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 680px) {
  .gallery-content { padding-top:30px; }
  .gallery-heading-row { gap:18px; }
  .gallery-filters { width:calc(100vw - 20px); margin-left:0; padding-right:20px; flex-wrap:nowrap; overflow-x:auto; scrollbar-width:none; }
  .gallery-filters::-webkit-scrollbar { display:none; }
  .gallery-grid { margin-top:26px; grid-auto-rows:88px; gap:12px; }
  .gallery-item > span { opacity:1; transform:none; }
  .gallery-item::before,.gallery-item::after { display:none; }
  .gallery-lightbox-stage { width:100vw; height:78vh; }
  .gallery-lightbox-close { top:14px; right:14px; width:48px; height:48px; }
  .gallery-lightbox-nav { top:auto; bottom:16px; width:48px; height:48px; transform:none; }
  .gallery-lightbox-prev { left:16px; }
  .gallery-lightbox-next { right:16px; }
  .gallery-lightbox-meta { top:19px; left:16px; max-width:calc(100% - 90px); }
  .gallery-lightbox-zoom { right:50%; bottom:19px; transform:translateX(50%); }
}

@media (max-width: 480px) {
  .gallery-grid { grid-template-columns:1fr; grid-auto-rows:105px; }
  .gallery-item,.gallery-item-tall { grid-row:span 2; }
  .gallery-item-wide { grid-column:auto; }
  .gallery-lightbox-category { display:none; }
}

@media (prefers-reduced-motion:reduce) {
  .gallery-item img,.gallery-item::after,.gallery-item::before,.gallery-item > span,.gallery-lightbox,.gallery-lightbox-image { transition:none; }
}

/* Shared admissions enquiry modal */
.enquiry-modal { position:fixed; inset:0; z-index:9999; padding:20px; display:none; align-items:center; justify-content:center; overflow:hidden; background:rgba(10,12,31,.72); }
.enquiry-modal.open { display:flex; }
.enquiry-modal-panel { position:relative; width:min(700px,100%); max-height:calc(100vh - 40px); display:flex; flex-direction:column; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 24px 70px rgba(10,8,28,.3); }
.enquiry-modal-close { position:absolute; top:16px; right:18px; width:40px; height:40px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; color:var(--ink); background:#f3eff6; font:400 29px/1 Arial,sans-serif; transition:color .2s ease,background-color .2s ease,transform .2s ease; }
.enquiry-modal-close:hover { color:#fff; background:var(--ink); transform:rotate(5deg); }
.enquiry-modal-heading { flex:0 0 auto; padding:28px 78px 0 36px; }
.enquiry-modal-heading .section-eyebrow { margin:0 0 10px; color:var(--pink); letter-spacing:.08em; }
.enquiry-modal-heading h2 { margin:0 0 9px; color:var(--ink); font-size:clamp(30px,3vw,42px); line-height:1.15; }
.enquiry-modal-heading > p:last-child { max-width:530px; margin:0; color:#68616d; line-height:1.6; }
.enquiry-modal-body { min-width:0; min-height:0; overflow-y:auto; overflow-x:hidden; padding:0 36px 28px; }
.enquiry-form { margin-top:18px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 18px; }
.enquiry-form .form-group { min-width:0; }
.enquiry-parent-field { grid-column:1/-1; }
.enquiry-form label { display:block; margin-bottom:7px; color:var(--ink); font-size:var(--fs-body-sm); font-weight:600; line-height:1.3; }
.enquiry-form label span { color:var(--pink); }
.enquiry-form input,.enquiry-form select,.enquiry-form textarea { width:100%; border:1px solid #dcd9df; border-radius:10px; color:var(--ink); background:#fff; font:inherit; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.enquiry-form input[type="email"] { font-family:Arial,Helvetica,sans-serif; font-style:normal; letter-spacing:0; }
.enquiry-form input[type="email"]::placeholder { font-family:Arial,Helvetica,sans-serif; font-style:normal; }
.enquiry-form input,.enquiry-form select { height:46px; padding:9px 13px; }
.enquiry-form select { padding-right:38px; }
.enquiry-form textarea { height:86px; min-height:86px; padding:11px 13px; resize:vertical; }
.enquiry-form input:focus,.enquiry-form select:focus,.enquiry-form textarea:focus { border-color:var(--purple); box-shadow:0 0 0 3px rgba(126,88,163,.12); }
.enquiry-form [aria-invalid="true"] { border-color:#b42318; }
.enquiry-comment-field,.enquiry-submit-row { grid-column:1/-1; }
.enquiry-submit { min-width:180px; min-height:48px; padding:12px 22px; border:0; border-radius:8px; color:#fff; background:var(--pink); font:600 var(--fs-button)/1 var(--font-family-base); transition:background-color .25s ease,box-shadow .25s ease,transform .25s ease; }
.enquiry-submit:hover:not(:disabled) { background:#8f2e75; transform:translateY(-2px); box-shadow:0 9px 20px rgba(168,56,138,.24); }
.enquiry-submit:disabled { cursor:wait; opacity:.7; }
.enquiry-form-status { margin-top:20px; padding:13px 15px; border:1px solid transparent; border-radius:9px; font-size:14px; line-height:1.5; }
.enquiry-form-status-success { color:#176b3a; border-color:#b9e2c8; background:#edf9f1; }
.enquiry-form-status-error { color:#9d2420; border-color:#efc1bf; background:#fff2f1; }
.enquiry-form,.enquiry-form .form-group,.enquiry-form input,.enquiry-form select,.enquiry-form textarea,.enquiry-form-status { min-width:0; max-width:100%; box-sizing:border-box; }
.enquiry-form .text-danger { max-width:100%; overflow-wrap:anywhere; }

@media (max-width:1120px) {
  .enquiry-header-button { display:inline-flex; align-items:center; justify-content:center; }
}

@media (max-width:680px) {
  .mobile-header-actions { margin-left:auto; display:flex; align-items:center; gap:6px; flex-shrink:0; }
  .mobile-header-actions .phone,.mobile-header-actions .enquiry-header-button { height:38px; min-height:38px; display:inline-flex; align-items:center; justify-content:center; border-radius:7px; box-sizing:border-box; flex-shrink:0; }
  .mobile-header-actions .phone { width:38px; padding:0; }
  .mobile-header-actions .enquiry-header-button { padding:0 10px; border:0; color:#fff; background:var(--pink); font-size:16px; font-weight:600; white-space:nowrap; }
  .enquiry-modal { padding:12px; }
  .enquiry-modal-panel { width:100%; max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); border-radius:16px; }
  .enquiry-modal-close { top:12px; right:12px; }
  .enquiry-modal-heading { padding:24px 53px 0 18px; }
  .enquiry-modal-body { padding:0 18px 20px; }
  .enquiry-form { margin-top:10px; grid-template-columns:1fr; gap:16px; }
  .enquiry-parent-field,.enquiry-comment-field,.enquiry-submit-row { grid-column:auto; }
  .enquiry-submit { width:100%; }
}

@media (max-height:720px) {
  .enquiry-modal { padding-top:12px; padding-bottom:12px; }
  .enquiry-modal-panel { max-height:calc(100vh - 24px); max-height:calc(100dvh - 24px); }
}

/* Life Skills — reuses the Facilities and activity-card systems */
.life-skills-page .facilities-hero .inner-page-hero-visual img { object-position:center 38%; }
.life-benefits-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.life-practice { margin-top:var(--facilities-page-space); padding:42px 0; display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:70px; border-top:1px solid #ece5ef; border-bottom:1px solid #ece5ef; }
.life-practice .activity-development-heading .section-title { margin:0 0 14px; }
.life-practice .activity-development-heading .body-text { margin:0; color:#625d69; line-height:1.7; }
.life-practice-points { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; align-self:center; }
.life-practice-points div { padding-left:18px; border-left:3px solid #e6d7ed; }
.life-practice-points h3 { margin:0 0 8px; color:var(--purple); font-size:var(--fs-h3); }
.life-practice-points p { margin:0; color:#625d69; font-size:var(--fs-body-sm); line-height:1.6; }

@media (max-width: 1023px) {
  .life-practice { grid-template-columns:1fr; gap:32px; }
}

@media (max-width: 767px) {
  .life-benefits-grid { grid-template-columns:1fr; gap:16px; }
  .life-practice { padding:34px 0; }
  .life-practice-points { grid-template-columns:1fr; gap:22px; }
}

/* Literary Activities — reuses the Facilities and activity-card systems */
.literary-activities-page .facilities-hero .inner-page-hero-visual img { object-position:center; }
.literary-closing { margin-top:34px; padding:28px 32px; border-left:3px solid var(--pink); border-radius:0 14px 14px 0; background:#faf7fb; }
.literary-closing .body-text { max-width:980px; margin:0; color:#625d69; line-height:1.75; }

@media (max-width: 767px) {
  .literary-closing { margin-top:28px; padding:24px 22px; }
}

/* Scientific Activities — reuses the Facilities and activity-card systems */
.scientific-activities-page .facilities-hero .inner-page-hero-visual img { object-position:center 40%; }

/* Careers — recruitment-focused composition built on shared inner-page components */
.career-page { --career-space:64px; }
.career-hero .inner-page-hero-visual img { object-position:center 38%; }
.career-values { margin-top:var(--career-space); }
.career-section-heading { margin-bottom:26px; }
.career-section-heading .section-title { margin:0; }
.career-values-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.career-value-card { padding:27px 25px; border:1px solid #e9e0ed; border-radius:18px; background:linear-gradient(150deg,#fff 55%,#fbf5fc); box-shadow:0 9px 25px rgba(39,22,62,.06); }
.career-value-icon { width:43px; height:43px; margin-bottom:18px; display:grid; place-items:center; color:var(--purple); border-radius:12px; background:#f3ebf7; }
.career-value-icon svg { width:27px; height:27px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.career-value-card h3 { margin:0 0 10px; color:var(--ink); font-size:var(--fs-h3); }
.career-value-card p { margin:0; color:#625d69; line-height:1.65; }
.career-apply { margin-top:var(--career-space); margin-bottom:60px; padding:34px 38px; display:flex; align-items:center; justify-content:space-between; gap:38px; border-radius:20px; background:linear-gradient(110deg,#f3ecf8,#fff0f7); }
.career-apply-copy .section-title { max-width:650px; margin:0 0 10px; font-size:var(--fs-h3); }
.career-apply-copy > p { margin:0 0 7px; color:#625d69; }
.career-email { color:var(--pink); font-weight:700; }
.career-email:hover { color:var(--purple); text-decoration:underline; }

/* Career application — page-specific two-column content and form */
.career-main { margin-top:64px; margin-bottom:70px; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(360px,1fr); align-items:start; gap:54px; }
.career-content { min-width:0; }
.career-content > .section-title { max-width:680px; margin:0 0 20px; }
.career-content > p,.career-copy-section p { margin:0 0 15px; color:#625d69; line-height:1.75; }
.career-content h3 { margin:38px 0 18px; color:var(--ink); font-size:clamp(24px,2.2vw,31px); line-height:1.25; }
.career-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.career-benefits article { min-width:0; padding:20px; border:1px solid #e9e0ed; border-radius:14px; background:#fff; }
.career-benefits h4 { margin:0 0 9px; display:flex; align-items:center; gap:9px; color:var(--ink); font-size:17px; line-height:1.35; }
.career-benefits h4 span { width:30px; height:30px; flex:0 0 30px; display:grid; place-items:center; border-radius:9px; color:var(--purple); background:#f3ebf7; font-size:11px; }
.career-benefits p { margin:0; color:#625d69; font-size:14px; line-height:1.65; }
.career-copy-section { padding-top:1px; }
.career-enquiries { margin-top:34px; padding:24px; border-left:4px solid var(--pink); border-radius:12px; background:#f8f5fb; }
.career-enquiries h3 { margin:0 0 12px; font-size:22px; }
.career-enquiries p { margin:5px 0 0; display:flex; flex-wrap:wrap; gap:10px 24px; }
.career-enquiries a { display:inline-flex; align-items:center; gap:9px; color:var(--purple); font-weight:700; }
.career-enquiries .career-contact-email { font-family:Arial,Helvetica,sans-serif; }
.career-enquiries a svg { width:20px; height:20px; flex:0 0 20px; fill:none; stroke:var(--pink); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.career-enquiries a:hover { color:var(--pink); text-decoration:underline; }
.career-application-card { min-width:0; padding:30px; border:1px solid #e5dceb; border-radius:20px; background:#fff; box-shadow:0 18px 45px rgba(39,22,62,.1); }
.career-application-card > h2 { margin:0 0 8px; color:var(--ink); font-size:30px; line-height:1.2; }
.career-application-card > p { margin:0; color:#68616d; line-height:1.6; }
.career-application-form { margin-top:22px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.career-form-field { min-width:0; }
.career-form-field-full { grid-column:1/-1; min-width:0; }
.career-application-form label { display:block; margin-bottom:7px; color:var(--ink); font-size:14px; font-weight:600; line-height:1.3; }
.career-application-form label span { color:var(--pink); }
.career-application-form input,.career-application-form select,.career-application-form textarea { width:100%; min-width:0; max-width:100%; box-sizing:border-box; border:1px solid #dcd9df; border-radius:10px; color:var(--ink); background:#fff; font:inherit; outline:none; transition:border-color .2s ease,box-shadow .2s ease; }
.career-application-form input,.career-application-form select { min-height:46px; padding:9px 12px; }
.career-application-form input[type="file"] { padding:10px; font-size:13px; }
.career-application-form textarea { min-height:110px; padding:11px 12px; resize:vertical; }
.career-application-form input:focus,.career-application-form select:focus,.career-application-form textarea:focus { border-color:var(--purple); box-shadow:0 0 0 3px rgba(126,88,163,.12); }
.career-application-form [aria-invalid="true"] { border-color:#b42318; }
.career-submit-btn { width:100%; min-width:190px; min-height:50px; display:flex; align-items:center; justify-content:space-between; padding:18px 20px; border:0; border-radius:9px; color:#fff; background:linear-gradient(135deg,var(--purple),var(--pink)); font:700 var(--fs-button)/1 var(--font-family-base); cursor:pointer; transition:background .25s ease,transform .25s ease,box-shadow .25s ease; }
.career-submit-btn:hover { background:linear-gradient(135deg,#654286,#962575); transform:translateY(-1px); box-shadow:0 8px 18px rgba(126,88,163,.24); }
.career-submit-arrow { font-size:20px; line-height:1; transition:transform .25s ease; }
.career-submit-btn:hover .career-submit-arrow { transform:translateX(4px); }

.career-status { margin-top:18px; padding:13px 15px; border:1px solid transparent; border-radius:9px; font-size:14px; line-height:1.5; }
.career-status-success { color:#176b3a; border-color:#b9e2c8; background:#edf9f1; }
.career-status-error { color:#9d2420; border-color:#efc1bf; background:#fff2f1; }

/* Downloads — compact resource listing */
.downloads-page { background:linear-gradient(180deg,#fbf8fc 0,#fff 430px); }
.downloads-listing { padding-top:34px; padding-bottom:60px; }
.downloads-heading { margin-bottom:24px; }
.downloads-heading .section-title { margin:0; }
.downloads-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:stretch; }
.download-card { width:100%; height:100%; padding:23px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:18px; border:1px solid #e7ddea; border-radius:18px; background:#fff; box-shadow:0 10px 28px rgba(39,22,62,.07); }
.download-card-icon { width:52px; height:52px; display:grid; place-items:center; color:var(--purple); border-radius:14px; background:#f3ebf7; }
.download-card-icon svg { width:30px; height:30px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.download-card-label { display:block; margin-bottom:4px; color:var(--pink); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.download-card-copy h3 { margin:0 0 3px; color:var(--ink); font-size:var(--fs-h3); }
.download-card-copy p { margin:0; color:#716a78; font-size:var(--fs-body-sm); }
.download-card-action { min-height:48px; padding:12px 18px; display:inline-flex; align-items:center; gap:14px; color:#fff; border:2px solid var(--purple); border-radius:8px; background:var(--purple); font-size:var(--fs-button); font-weight:600; transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease; }
.download-card-action:hover { border-color:var(--pink); background:var(--pink); transform:translateY(-2px); box-shadow:0 9px 20px rgba(126,88,163,.18); }

@media (max-width:1023px) {
  .downloads-grid { grid-template-columns:1fr; }
}

@media (max-width:767px) {
  .downloads-listing { padding-top:30px; padding-bottom:60px; }
  .downloads-grid { grid-template-columns:1fr; gap:16px; }
  .download-card { padding:22px; grid-template-columns:auto minmax(0,1fr); gap:16px; border-radius:16px; }
  .download-card-action { grid-column:1/-1; width:100%; justify-content:space-between; }
}

/* Legal pages — restrained, readable document layout */
.legal-page { background:linear-gradient(180deg,#fbf8fc 0,#fff 420px); }
.legal-wrapper { padding-top:26px; }
.legal-intro .section-eyebrow { margin-bottom:10px; }
.legal-intro .page-title { margin:0 0 12px; color:var(--ink); }
.legal-intro .lead-text { max-width:690px; margin:0; color:#625d69; }
.legal-content { padding-top:26px; padding-bottom:40px; }
.legal-section { padding:0 0 24px; display:grid; grid-template-columns:50px minmax(0,1fr); gap:14px; border-bottom:1px solid #eae2ed; }
.legal-section + .legal-section { padding-top:24px; }
.legal-number { padding-top:2px; color:var(--purple); font-size:13px; font-weight:700; letter-spacing:.08em; }
.legal-section h2 { margin:0 0 10px; color:var(--ink); font-size:var(--fs-h3); line-height:1.3; }
.legal-section p { margin:0; color:#625d69; line-height:1.75; }
.legal-section p + p { margin-top:9px; }
.legal-section ul { margin:10px 0 0; padding-left:20px; color:#625d69; }
.legal-section li { padding-left:3px; line-height:1.65; }
.legal-section li + li { margin-top:6px; }
.legal-section li::marker { color:var(--purple); }
.legal-contact-link { color:var(--pink); font-weight:700; }
.legal-contact-link:hover { color:var(--purple); text-decoration:underline; }

@media (max-width:680px) {
  .legal-wrapper { padding-top:24px; }
  .legal-content { padding-top:24px; padding-bottom:38px; }
  .legal-section { padding-bottom:20px; grid-template-columns:36px minmax(0,1fr); gap:10px; }
  .legal-section + .legal-section { padding-top:20px; }
}

@media (max-width:1023px) {
  .career-page { --career-space:50px; }
  .career-values-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .career-apply { align-items:flex-start; flex-direction:column; gap:24px; }
  .career-main { margin-top:50px; grid-template-columns:1fr; gap:42px; }
}

@media (max-width:767px) {
  .career-page { --career-space:38px; }
  .career-values-grid { grid-template-columns:1fr; }
  .career-values-grid { gap:16px; }
  .career-value-card { padding:24px 22px; border-radius:16px; }
  .career-apply { margin-bottom:60px; padding:27px 22px; border-radius:17px; }
  .career-apply .inner-cta-actions { width:100%; }
  .career-main { margin-top:38px; margin-bottom:55px; gap:34px; }
  .career-benefits { grid-template-columns:1fr; }
  .career-application-card { padding:24px 18px; border-radius:16px; }
  .career-application-form { grid-template-columns:1fr; }
  .career-form-field-full { grid-column:auto; }
}
