:root {
  --blue: #173b8f;
  --blue-deep: #0b2258;
  --blue-dark: #071a46;
  --blue-soft: #eef4ff;
  --gold: #fdb813;
  --gold-deep: #e5a000;
  --accent: #2aa7ff;
  --ink: #13213c;
  --muted: #667085;
  --surface: #ffffff;
  --background: #fafbfd;
  --line: #e6ebf3;
  --shadow: 0 18px 50px rgba(13, 39, 94, .1);
  --shadow-small: 0 10px 30px rgba(13, 39, 94, .08);
  --radius: 16px;
  --heading: "Poppins", sans-serif;
  --body: "Inter", sans-serif;
}

* { box-sizing: border-box; }
html { width: 100%; max-width: 100%; overflow-x: clip; scroll-behavior: smooth; scroll-padding-top: 178px; }
body { position: relative; width: 100%; max-width: 100%; margin: 0; overflow-x: clip; color: var(--ink); background: var(--background); font-family: var(--body); line-height: 1.7; }
main, .site-header, .site-footer, .swiper { width: 100%; max-width: 100%; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
.container { max-width: 1280px; }
.skip-link { position: fixed; z-index: 9999; left: 1rem; top: -100px; padding: .75rem 1rem; color: #fff; background: var(--blue); border-radius: 8px; }
.skip-link:focus { top: 1rem; }

/* Header */
.site-header { position: relative; z-index: 1000; background: #fff; box-shadow: 0 4px 18px rgba(11, 34, 88, .07); }
.site-header.is-sticky { position: sticky; top: 0; animation: headerDown .35s ease; }
@keyframes headerDown { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.header-shell { width: 100%; max-width: 100%; display: grid; grid-template-columns: minmax(440px, 30%) minmax(0, 1fr); min-height: 132px; padding: 0; overflow: visible; }
.brand-panel { position: relative; display: flex; align-items: center; justify-content: center; min-width: 0; padding: 3px 16px; color: var(--ink); background: #fff; border-right: 1px solid var(--line); overflow: hidden; }
.brand-panel::after { content: ""; position: absolute; right: 0; bottom: 0; width: 68%; height: 4px; background: linear-gradient(90deg, transparent, var(--gold)); }
.brand-image-wrap { display: block; width: 100%; height: 124px; overflow: hidden; }
.brand-image-wrap img { width: 100%; height: 100%; object-fit: contain; object-position: center; transform: none; }
.brand-emblem { flex: 0 0 104px; display: grid; place-items: center; width: 104px; height: 104px; border: 3px solid var(--gold); border-radius: 50%; padding: 6px; background: var(--blue-deep); box-shadow: 0 8px 24px rgba(23, 59, 143, .22); }
.emblem-ring { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; color: #fff; border: 2px solid rgba(255,255,255,.85); border-radius: 50%; outline: 1px solid rgba(253,184,19,.8); outline-offset: -7px; }
.emblem-ring i { color: var(--gold); font-size: 28px; }
.emblem-ring b { font-family: var(--heading); font-size: 19px; letter-spacing: .11em; }
.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-name { color: var(--blue-deep); font-family: var(--heading); font-size: clamp(22px, 1.85vw, 34px); font-weight: 800; line-height: 1; letter-spacing: .025em; }
.brand-subtitle { margin-top: 5px; color: #31436c; font-family: var(--heading); font-size: clamp(10px, .84vw, 14px); font-weight: 600; letter-spacing: .055em; white-space: nowrap; }
.brand-autonomous { align-self: flex-start; margin: 6px 0 7px; padding: 2px 10px; color: var(--blue-deep); background: #fff5d6; border-radius: 999px; font-size: 9px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; }
.brand-recognition { color: #65718a; font-size: 9.5px; font-weight: 600; line-height: 1.4; white-space: nowrap; }
.brand-recognition i { margin-right: 4px; color: var(--gold-deep); }
.brand-recognition b { margin: 0 5px; color: var(--gold-deep); }
.nav-panel { min-width: 0; display: flex; flex-direction: column; }
.utility-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 36px; padding: 0 max(18px, calc((100vw - 1540px) / 2)) 0 22px; color: #fff; background: var(--blue-deep); font-size: 10px; font-weight: 600; }
.utility-links, .utility-contact { display: flex; align-items: center; }
.admission-codes { display: flex; align-items: center; gap: 13px; white-space: nowrap; }
.admission-codes > span { display: flex; align-items: baseline; gap: 7px; padding-right: 13px; border-right: 1px solid rgba(255,255,255,.16); }
.admission-codes > span:last-child { padding-right: 0; border: 0; }
.admission-codes b { color: rgba(255,255,255,.62); font-size: 7px; font-weight: 600; letter-spacing: .045em; }
.admission-codes strong { padding: 0; color: var(--gold); background: transparent; border-radius: 0; font: 700 12px var(--heading); letter-spacing: .08em; }
.utility-links a { padding: 7px 13px; border-right: 1px solid rgba(255,255,255,.12); }
.utility-links a:first-child { padding-left: 0; }
.utility-contact { gap: 18px; }
.phone-cluster, .utility-email { display: flex; align-items: center; gap: 8px; }
.phone-cluster > i, .utility-email > i { display: grid; place-items: center; width: 23px; height: 23px; flex: 0 0 23px; color: var(--gold); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; font-size: 9px; }
.phone-cluster span, .utility-email span { display: flex; flex-direction: column; line-height: 1.35; }
.phone-cluster small, .utility-email small { color: rgba(255,255,255,.5); font-size: 6px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.phone-cluster b, .utility-email b { color: #fff; font-size: 8px; font-style: normal; white-space: nowrap; }
.phone-cluster em { margin: 0 2px; color: var(--gold); font-style: normal; }
.utility-contact i, .utility-links i { margin-right: 5px; color: var(--gold); }
.utility-bar a { transition: color .25s ease; }
.utility-bar a:hover { color: var(--gold); }
.primary-nav { position: relative; isolation: isolate; flex: 1; display: flex; flex-direction: column; justify-content: center; padding: 0 max(24px, calc((100vw - 1540px) / 2)) 0 26px; background: #fff; overflow: visible; }
.nav-row { display: flex; align-items: center; justify-content: space-between; min-width: 0; }
.nav-row-one { min-height: 48px; border-bottom: 1px solid var(--line); }
.nav-row-two { min-height: 48px; }
.nav-row > a, .nav-dropdown > button { position: relative; display: inline-flex; align-items: center; gap: 5px; padding: 9px 6px; color: #22314f; border: 0; background: transparent; font-size: 12.5px; font-weight: 650; white-space: nowrap; cursor: pointer; }
.nav-row > a:first-child { padding-left: 0; }
.nav-row > a::after, .nav-dropdown > button::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: 2px; height: 2px; background: var(--gold); transform: scaleX(0); transition: transform .25s ease; }
.nav-row > a:first-child::after { left: 0; }
.nav-row > a:hover, .nav-row > a.active, .nav-dropdown > button:hover { color: var(--blue); }
.nav-row > a:hover::after, .nav-row > a.active::after, .nav-dropdown > button:hover::after { transform: scaleX(1); }
.nav-row-two > a { color: #4c5870; font-size: 11.8px; font-weight: 600; }
.nav-dropdown { position: relative; }
.nav-dropdown button i { font-size: 8px; transition: transform .25s ease; }
.nav-dropdown:hover button i, .nav-dropdown.open button i { transform: rotate(180deg); }
.mega-menu, .simple-menu { position: absolute; z-index: 50; top: 100%; left: -15px; visibility: hidden; opacity: 0; transform: translateY(7px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; pointer-events: none; background: #fff; border-top: 3px solid var(--gold); border-radius: 0 0 var(--radius) var(--radius); box-shadow: 0 24px 50px rgba(7,26,70,.18); }
.nav-dropdown:hover > .mega-menu, .nav-dropdown:hover > .simple-menu, .nav-dropdown.open > .mega-menu, .nav-dropdown.open > .simple-menu { visibility: visible; opacity: 1; transform: translateY(0); }
.nav-dropdown:hover > .mega-menu, .nav-dropdown:hover > .simple-menu, .nav-dropdown.open > .mega-menu, .nav-dropdown.open > .simple-menu { pointer-events: auto; }
.mega-menu { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 28px; width: 650px; padding: 30px; }
.mega-menu > div:first-child { padding-right: 25px; border-right: 1px solid var(--line); }
.mega-label { color: var(--gold-deep); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.mega-menu h3 { margin: 7px 0 8px; font: 700 19px/1.35 var(--heading); }
.mega-menu p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.mega-menu b { display: block; margin-bottom: 11px; color: var(--blue); font: 700 12px var(--heading); }
.mega-menu a, .simple-menu a { display: block; padding: 5px 0; color: var(--muted); font-size: 12px; }
.mega-menu a:hover, .simple-menu a:hover { color: var(--blue); transform: translateX(3px); }
.simple-menu { width: 190px; padding: 18px 22px; }
.mobile-toggle { display: none; }
.mobile-contact-card { display: none; }

/* Shared */
.section { padding: 108px 0; }
.eyebrow { display: inline-flex; align-items: center; gap: 8px; margin-bottom: 14px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 26px; height: 2px; background: var(--gold); }
.eyebrow.light { color: #fff; }
.section-title { margin: 0 0 23px; color: var(--ink); font: 700 clamp(33px, 3.5vw, 54px)/1.18 var(--heading); letter-spacing: -.035em; }
.section-title span { color: var(--blue); }
.section-heading { margin-bottom: 52px; }
.section-heading.centered { max-width: 760px; margin-right: auto; margin-left: auto; text-align: center; }
.section-heading.centered .eyebrow { justify-content: center; }
.section-heading.centered .section-title { margin-bottom: 12px; }
.section-heading p, .lead-copy { color: var(--muted); font-size: 16px; }
.section-heading.split { display: flex; align-items: end; justify-content: space-between; gap: 50px; }
.section-heading.split p { max-width: 430px; margin-bottom: 7px; }
.btn-premium { display: inline-flex; justify-content: center; align-items: center; gap: 10px; min-height: 50px; padding: 13px 22px; border: 1px solid transparent; border-radius: 10px; font-size: 12px; font-weight: 800; letter-spacing: .025em; transition: transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease; }
.btn-premium:hover { transform: translateY(-3px); }
.btn-gold { color: var(--blue-deep); background: var(--gold); box-shadow: 0 10px 24px rgba(253,184,19,.22); }
.btn-gold:hover { color: #fff; background: var(--blue); box-shadow: 0 12px 28px rgba(23,59,143,.25); }
.btn-blue { color: #fff; background: var(--blue); box-shadow: 0 10px 24px rgba(23,59,143,.2); }
.btn-blue:hover { color: var(--blue-deep); background: var(--gold); }
.btn-outline-light { color: #fff; border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.06); }
.btn-outline-light:hover { color: var(--blue-deep); background: #fff; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--blue); font-size: 12px; font-weight: 800; }
.text-link i { transition: transform .25s ease; }
.text-link:hover i { transform: translateX(4px); }

/* Hero */
.hero-section { position: relative; overflow: hidden; background: var(--blue-dark); }
.hero-section::before { content: ""; position: absolute; z-index: 3; top: -170px; right: -140px; width: 520px; height: 520px; border: 1px solid rgba(253,184,19,.18); border-radius: 50%; box-shadow: 0 0 0 55px rgba(253,184,19,.025), 0 0 0 110px rgba(255,255,255,.025); pointer-events: none; }
.hero-swiper, .hero-swiper .swiper-wrapper, .hero-slide { height: clamp(530px, calc(100svh - 132px), 700px); }
.hero-slide { position: relative; min-height: 0; display: flex; align-items: center; color: #fff; background-image: linear-gradient(90deg, rgba(5,22,61,.94) 0%, rgba(8,36,82,.79) 43%, rgba(8,29,68,.28) 76%), var(--hero-image); background-position: var(--hero-position, center); background-size: cover; }
.hero-slide::before { content: ""; position: absolute; z-index: 1; left: 0; top: 17%; width: 5px; height: 46%; background: var(--gold); box-shadow: 12px 0 0 rgba(253,184,19,.18); }
.hero-slide::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(7,26,70,.38), transparent 45%); }
.hero-content { position: relative; z-index: 2; width: 100%; max-width: 1280px; margin-right: auto; margin-left: auto; padding: 44px 350px 62px 24px; }
.hero-content h1, .hero-content h2 { max-width: 720px; margin: 0 0 17px; color: #fff; font: 700 clamp(42px, 4vw, 60px)/1.05 var(--heading); letter-spacing: -.044em; text-wrap: balance; }
.hero-content h1 span, .hero-content h2 span { color: var(--gold); }
.hero-content p { max-width: 650px; margin: 0 0 25px; color: rgba(255,255,255,.82); font-size: clamp(14px, 1.05vw, 16px); line-height: 1.65; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin-bottom: 15px; }
.hero-trust span { display: inline-flex; align-items: center; gap: 6px; padding: 0 13px; color: rgba(255,255,255,.75); border-right: 1px solid rgba(255,255,255,.25); font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.hero-trust span:first-child { padding-left: 0; color: #fff; }
.hero-trust span:last-child { border: 0; }
.hero-trust i { color: var(--gold); }
.hero-pagination { position: absolute; z-index: 4; left: 50% !important; bottom: 27px !important; transform: translateX(-50%); display: flex; justify-content: center; }
.hero-pagination .swiper-pagination-bullet { width: 26px; height: 3px; margin: 0 4px !important; background: rgba(255,255,255,.6); border-radius: 0; opacity: 1; transition: width .25s ease; }
.hero-pagination .swiper-pagination-bullet-active { width: 52px; background: var(--gold); }
.hero-arrow { position: absolute; z-index: 4; top: 50%; display: grid; place-items: center; width: 44px; height: 44px; color: #fff; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(7,26,70,.2); transform: translateY(-50%); transition: .25s ease; }
.hero-arrow:hover { color: var(--blue-deep); background: var(--gold); border-color: var(--gold); }
.hero-prev { left: 28px; }
.hero-next { right: 28px; }
.hero-admission-card { position: absolute; z-index: 7; top: 50%; right: max(30px, calc((100vw - 1280px) / 2)); width: 290px; padding: 20px; color: var(--ink); background: #fff; border: 1px solid rgba(255,255,255,.7); border-radius: 17px; box-shadow: 0 24px 60px rgba(2,15,50,.32); transform: translateY(-50%); }
.hero-admission-card::before { content: ""; position: absolute; left: 24px; right: 24px; top: 0; height: 4px; background: var(--gold); border-radius: 0 0 5px 5px; }
.admission-card-top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.admission-card-top span { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admission-card-top i { color: var(--gold-deep); }
.admission-card-top strong { color: var(--blue-deep); font: 800 18px var(--heading); }
.hero-admission-card h3 { margin: 15px 0 13px; font: 700 17px/1.4 var(--heading); }
.admission-code-list { display: grid; gap: 7px; margin-bottom: 13px; }
.admission-code-list p { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding: 9px 11px; background: var(--blue-soft); border-radius: 8px; }
.admission-code-list span { color: var(--muted); font-size: 7.5px; font-weight: 700; }
.admission-code-list b { color: var(--blue); font: 800 12px var(--heading); letter-spacing: .08em; }
.hero-admission-card > a { display: flex; align-items: center; justify-content: space-between; padding: 13px 15px; color: var(--blue-deep); background: var(--gold); border-radius: 9px; font-size: 10px; font-weight: 800; transition: .25s ease; }
.hero-admission-card > a:hover { color: #fff; background: var(--blue); }
.hero-admission-card > small { display: block; margin-top: 13px; color: var(--muted); font-size: 8.5px; text-align: center; }
.hero-admission-card > small i { margin-right: 5px; color: var(--blue); }
.notice-strip { color: #fff; background: var(--blue); }
.notice-inner { min-height: 64px; display: flex; align-items: center; gap: 18px; }
.notice-label { display: inline-flex; gap: 8px; align-items: center; padding-right: 18px; border-right: 1px solid rgba(255,255,255,.3); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.notice-label i { color: var(--gold); }
.notice-inner p { flex: 1; margin: 0; font-size: 12px; }
.notice-inner > a { color: var(--gold); font-size: 11px; font-weight: 800; white-space: nowrap; }

/* Stats and about */
.stats-section { padding: 32px 0; background: #fff; border-bottom: 1px solid var(--line); }
.stats-grid { display: grid; grid-template-columns: repeat(5, 1fr); }
.stat-item { display: flex; align-items: center; justify-content: center; gap: 13px; min-height: 74px; border-right: 1px solid var(--line); }
.stat-item:last-child { border: 0; }
.stat-item > i { color: var(--gold-deep); font-size: 24px; }
.stat-item div { display: flex; flex-direction: column; }
.stat-item strong { color: var(--blue); font: 700 27px/1.15 var(--heading); }
.stat-item small { color: var(--muted); font-size: 10px; }
.about-section { background: #fff; }
.image-composition { position: relative; padding: 0 45px 45px 0; }
.main-image { width: 100%; aspect-ratio: 1.05; object-fit: cover; border-radius: 6px 34px 6px 34px; box-shadow: var(--shadow); }
.image-card { position: absolute; right: 0; bottom: 0; display: flex; align-items: center; gap: 13px; padding: 22px 26px; color: #fff; background: var(--blue); border-radius: var(--radius); box-shadow: var(--shadow); }
.image-card span { color: var(--gold); font: 700 42px/1 var(--heading); }
.image-card p { margin: 0; font-size: 10px; line-height: 1.5; }
.dot-pattern { position: absolute; z-index: -1; left: -28px; bottom: 4px; width: 100px; height: 100px; opacity: .32; background-image: radial-gradient(var(--gold-deep) 1.5px, transparent 1.5px); background-size: 12px 12px; }
.about-section p:not(.lead-copy) { color: var(--muted); font-size: 14px; }
.feature-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 28px 0; }
.feature-list > div { display: flex; gap: 12px; }
.feature-list i { flex: 0 0 28px; display: grid; place-items: center; width: 28px; height: 28px; color: var(--blue); background: #fff2c4; border-radius: 50%; font-size: 11px; }
.feature-list span { display: flex; flex-direction: column; }
.feature-list b { font: 700 13px var(--heading); }
.feature-list small { color: var(--muted); font-size: 10px; }

/* Leadership and programs */
.leaders-section { background: var(--background); }
.leader-card { position: relative; display: grid; grid-template-columns: 160px 1fr; gap: 28px; height: 100%; padding: 28px; overflow: hidden; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-small); transition: transform .3s ease, box-shadow .3s ease; }
.leader-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.leader-portrait { display: grid; place-items: center; min-height: 205px; color: #fff; background: linear-gradient(150deg, #eaf2ff, #bfcff0); border-radius: 12px; overflow: hidden; }
.leader-portrait i { margin-top: 45px; color: var(--blue); font-size: 116px; opacity: .88; }
.leader-card .quote-mark { position: absolute; right: 25px; top: -16px; color: rgba(23,59,143,.07); font: 800 110px/1 var(--heading); }
.leader-card p { position: relative; margin: 12px 0 19px; color: #44506a; font-size: 13px; font-style: italic; }
.leader-card h3 { margin: 0 0 5px; color: var(--blue); font: 700 16px var(--heading); }
.leader-card a { color: var(--gold-deep); font-size: 10px; font-weight: 800; }
.leader-card.profile { display: flex; flex-direction: column; gap: 0; padding: 0; }
.leader-card.profile .leader-portrait { width: 100%; min-height: 245px; height: 245px; border-radius: 0; background: var(--blue-soft); }
.leader-card.profile .leader-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .55s ease; }
.leader-card.profile:hover .leader-portrait img { transform: scale(1.035); }
.leader-card.profile > div:last-child { padding: 25px 27px 29px; }
.leader-card.profile .role-label { display: inline-block; margin-bottom: 6px; color: var(--gold-deep); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.leader-card.profile h3 { margin-bottom: 10px; color: var(--blue-deep); font-size: 18px; }
.leader-card.profile p { min-height: 67px; margin: 0 0 18px; font-style: normal; }
.programs-section { background: #fff; }
.program-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.program-card { position: relative; min-height: 310px; padding: 36px 30px; overflow: hidden; background: var(--background); border: 1px solid var(--line); border-radius: var(--radius); transition: transform .3s ease, box-shadow .3s ease, background .3s ease; }
.program-card::after { content: ""; position: absolute; right: -40px; bottom: -50px; width: 140px; height: 140px; border: 24px solid rgba(23,59,143,.035); border-radius: 50%; }
.program-card:hover { transform: translateY(-7px); background: #fff; box-shadow: var(--shadow); }
.program-card.featured { color: #fff; background: var(--blue); border-color: var(--blue); }
.program-index { position: absolute; right: 25px; top: 23px; color: #b9c1d1; font: 700 13px var(--heading); }
.program-card > i { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 25px; color: var(--blue); background: #eaf1ff; border-radius: 12px; font-size: 21px; }
.program-card h3 { max-width: 260px; margin: 0 0 13px; font: 700 18px/1.45 var(--heading); }
.program-card p { color: var(--muted); font-size: 12px; }
.program-card a { position: absolute; z-index: 2; left: 30px; bottom: 28px; color: var(--blue); font-size: 10px; font-weight: 800; }
.program-card.featured .program-index { color: rgba(255,255,255,.5); }
.program-card.featured > i { color: var(--blue-deep); background: var(--gold); }
.program-card.featured p { color: rgba(255,255,255,.72); }
.program-card.featured a { color: var(--gold); }
.center-action { margin-top: 42px; text-align: center; }

/* Facilities */
.facilities-section { padding-bottom: 85px; overflow: hidden; background: var(--blue-soft); }
.facilities-swiper { padding: 0 max(25px, calc((100vw - 1280px) / 2)) 20px; }
.facility-card { position: relative; height: 445px; overflow: hidden; border-radius: var(--radius); box-shadow: var(--shadow-small); }
.facility-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5,22,61,.88), transparent 64%); }
.facility-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.facility-card:hover img { transform: scale(1.06); }
.facility-card > div { position: absolute; z-index: 2; left: 28px; right: 28px; bottom: 25px; color: #fff; }
.facility-card span { color: var(--gold); font-size: 10px; font-weight: 800; }
.facility-card h3 { margin: 5px 0 6px; font: 700 20px var(--heading); }
.facility-card p { margin: 0; color: rgba(255,255,255,.72); font-size: 11px; }
.facility-controls { display: flex; align-items: center; justify-content: center; gap: 18px; margin-top: 30px; }
.facility-controls button { display: grid; place-items: center; width: 42px; height: 42px; color: var(--blue); border: 1px solid #ccd7ec; border-radius: 50%; background: #fff; }
.facility-pagination { position: static !important; width: auto !important; }
.facility-pagination .swiper-pagination-bullet, .testimonial-pagination .swiper-pagination-bullet { width: 7px; height: 7px; opacity: .25; background: var(--blue); }
.facility-pagination .swiper-pagination-bullet-active, .testimonial-pagination .swiper-pagination-bullet-active { opacity: 1; background: var(--gold); }

/* Placements and innovation */
.placement-section { background: #fff; }
.placement-panel { display: grid; grid-template-columns: 1.1fr .9fr; overflow: hidden; color: #fff; background: var(--blue-deep); border-radius: 24px; box-shadow: var(--shadow); }
.placement-copy { padding: 62px; background: linear-gradient(130deg, rgba(23,59,143,.9), rgba(7,26,70,.97)), url('../images/campus/placement-group.webp') center/cover; }
.placement-copy h2 { margin: 0 0 18px; font: 700 clamp(37px, 4vw, 58px)/1.1 var(--heading); letter-spacing: -.04em; }
.placement-copy h2 span { color: var(--gold); }
.placement-copy p { max-width: 580px; margin-bottom: 28px; color: rgba(255,255,255,.72); font-size: 13px; }
.placement-numbers { display: grid; grid-template-columns: 1fr 1fr; align-content: center; gap: 1px; padding: 45px; background: rgba(255,255,255,.06); }
.placement-numbers > div { display: flex; flex-direction: column; justify-content: center; min-height: 120px; padding: 22px; border: 1px solid rgba(255,255,255,.1); }
.placement-numbers strong { color: var(--gold); font: 700 30px var(--heading); }
.placement-numbers span { color: rgba(255,255,255,.68); font-size: 10px; }
.placement-numbers small { grid-column: 1 / -1; margin-top: 10px; color: rgba(255,255,255,.42); font-size: 9px; }
.recruiter-strip { margin-top: 38px; text-align: center; }
.recruiter-strip > span { color: var(--muted); font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.logo-cloud { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 28px; margin-top: 24px; color: #738098; }
.logo-cloud b { font: 700 18px var(--heading); filter: grayscale(1); opacity: .72; }
.innovation-section { background: var(--background); }
.innovation-section p { color: var(--muted); font-size: 14px; }
.innovation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.innovation-grid article { min-height: 175px; display: flex; flex-direction: column; justify-content: center; padding: 30px; background: #fff; border-radius: var(--radius); box-shadow: var(--shadow-small); }
.innovation-grid article > i { margin-bottom: 14px; color: var(--gold-deep); font-size: 22px; }
.innovation-grid strong { color: var(--blue); font: 700 32px var(--heading); }
.innovation-grid span { color: var(--muted); font-size: 11px; }
.innovation-grid .innovation-image { grid-row: span 2; padding: 0; overflow: hidden; }
.innovation-image img { width: 100%; height: 100%; object-fit: cover; }

/* News, gallery and testimonials */
.updates-section { background: #fff; }
.news-feature { height: 100%; overflow: hidden; background: var(--background); border-radius: var(--radius); box-shadow: var(--shadow-small); }
.news-feature > img { width: 100%; height: 310px; object-fit: cover; }
.news-body { position: relative; padding: 28px 32px 31px; }
.news-body small { position: absolute; right: 32px; top: 31px; color: var(--muted); font-size: 10px; }
.news-tag { display: inline-block; color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.news-body h3 { max-width: 620px; margin: 12px 0 17px; font: 700 20px/1.5 var(--heading); }
.news-body a { color: var(--gold-deep); font-size: 10px; font-weight: 800; }
.event-list { display: grid; gap: 14px; }
.event-list article { display: grid; grid-template-columns: 72px 1fr; gap: 20px; align-items: center; padding: 22px; background: var(--background); border-radius: var(--radius); transition: transform .25s ease, box-shadow .25s ease; }
.event-list article:hover { transform: translateX(5px); box-shadow: var(--shadow-small); }
.event-list time { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 76px; color: #fff; background: var(--blue); border-radius: 11px; }
.event-list time strong { font: 700 25px/1 var(--heading); }
.event-list time span { color: var(--gold); font-size: 9px; font-weight: 800; }
.event-list h3 { margin: 4px 0 7px; font: 700 14px/1.45 var(--heading); }
.event-list p { margin: 0; color: var(--muted); font-size: 9px; }
.gallery-section { background: var(--background); }
.gallery-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; grid-template-rows: 255px 255px; grid-auto-rows: 235px; gap: 15px; }
.gallery-grid figure { position: relative; margin: 0; overflow: hidden; border-radius: var(--radius); }
.gallery-grid figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,26,70,.7), transparent 50%); }
.gallery-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.gallery-grid figure:hover img { transform: scale(1.06); }
.gallery-grid figcaption { position: absolute; z-index: 2; left: 20px; bottom: 16px; color: #fff; font: 600 12px var(--heading); }
.gallery-large { grid-row: 1 / 3; }
.gallery-wide { grid-column: 2 / 4; }
.testimonials-section { overflow: hidden; color: rgba(255,255,255,.7); background: var(--blue); }
.testimonials-section .section-title span { color: var(--gold); }
.testimonial-swiper { overflow: visible; }
.testimonial-card { min-height: 300px; padding: 38px; color: var(--ink); background: #fff; border-radius: var(--radius); box-shadow: 0 20px 48px rgba(3,17,49,.22); }
.testimonial-card > .quote-mark { height: 45px; color: var(--gold); font: 800 64px/1 var(--heading); }
.testimonial-card > p { color: #48546d; font-size: 14px; font-style: italic; }
.testimonial-card > div:last-child { display: flex; align-items: center; gap: 12px; margin-top: 28px; }
.avatar { display: grid; place-items: center; width: 44px; height: 44px; color: #fff; background: var(--blue); border-radius: 50%; font-size: 11px; font-weight: 800; }
.testimonial-card > div span:last-child { display: flex; flex-direction: column; }
.testimonial-card b { color: var(--ink); font: 700 12px var(--heading); }
.testimonial-card small { color: var(--muted); font-size: 9px; }
.testimonial-pagination { position: static !important; margin-top: 22px; text-align: center; }

/* Tour and CTA */
.campus-tour { position: relative; min-height: 590px; display: grid; place-items: center; color: #fff; text-align: center; background: linear-gradient(rgba(7,26,70,.68), rgba(7,26,70,.78)), url('../images/campus/campus-front.webp') center/cover fixed; }
.campus-tour .container { display: flex; flex-direction: column; align-items: center; }
.play-button { display: grid; place-items: center; width: 80px; height: 80px; margin-bottom: 20px; color: var(--blue-deep); border: 10px solid rgba(255,255,255,.2); border-radius: 50%; background: var(--gold); background-clip: padding-box; box-shadow: 0 0 0 1px rgba(255,255,255,.4); }
.campus-tour span { margin-bottom: 10px; color: var(--gold); font-size: 10px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.campus-tour h2 { margin: 0 0 30px; font: 700 clamp(36px, 4vw, 60px)/1.18 var(--heading); letter-spacing: -.04em; }
.admissions-cta { padding: 75px 0; background: #fff; }
.cta-panel { display: flex; justify-content: space-between; align-items: center; gap: 45px; padding: 55px 60px; color: #fff; background: var(--blue); border-radius: 24px; box-shadow: var(--shadow); }
.cta-panel .eyebrow { margin-bottom: 8px; }
.cta-panel h2 { margin: 0 0 8px; font: 700 clamp(28px, 3vw, 43px)/1.2 var(--heading); }
.cta-panel p { margin: 0; color: rgba(255,255,255,.7); font-size: 12px; }
.cta-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; }
.anchor-target { position: relative; top: -190px; }

/* Footer */
.site-footer { color: rgba(255,255,255,.68); background: var(--blue-dark); }
.footer-main { padding-top: 78px; padding-bottom: 38px; }
.footer-grid { display: grid; grid-template-columns: 1.55fr .8fr 1fr 1.15fr; gap: 55px; }
.footer-brand { display: flex; align-items: center; gap: 12px; color: #fff; }
.mini-emblem { display: grid; place-items: center; width: 49px; height: 49px; color: var(--gold); border: 2px solid var(--gold); border-radius: 50%; }
.footer-brand span:last-child { display: flex; flex-direction: column; }
.footer-brand b { font: 800 18px var(--heading); letter-spacing: .035em; }
.footer-brand small { color: rgba(255,255,255,.57); font-size: 8px; line-height: 1.45; }
.footer-about p { max-width: 360px; margin: 23px 0; font-size: 11px; }
.social-links { display: flex; gap: 8px; }
.social-links a { display: grid; place-items: center; width: 35px; height: 35px; color: #fff; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; transition: .25s ease; }
.social-links a:hover { color: var(--blue-deep); background: var(--gold); border-color: var(--gold); }
.footer-grid h3 { position: relative; margin: 6px 0 23px; color: #fff; font: 700 13px var(--heading); }
.footer-grid h3::after { content: ""; position: absolute; left: 0; bottom: -8px; width: 25px; height: 2px; background: var(--gold); }
.footer-grid ul { margin: 0; padding: 0; list-style: none; }
.footer-grid li { margin-bottom: 10px; font-size: 10px; }
.footer-grid li a:hover { color: var(--gold); }
.footer-contact li { display: flex; gap: 10px; }
.footer-contact li > i { margin-top: 5px; color: var(--gold); }
.newsletter { display: flex; justify-content: space-between; align-items: center; gap: 35px; margin-top: 48px; padding: 27px 30px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius); }
.newsletter > div { display: flex; align-items: center; gap: 15px; }
.newsletter > div > i { color: var(--gold); font-size: 25px; }
.newsletter span { display: flex; flex-direction: column; }
.newsletter b { color: #fff; font: 700 12px var(--heading); }
.newsletter small { font-size: 9px; }
.newsletter form { display: flex; width: min(100%, 470px); }
.newsletter input { flex: 1; min-width: 0; padding: 12px 15px; color: #fff; border: 1px solid rgba(255,255,255,.18); border-right: 0; border-radius: 9px 0 0 9px; outline: 0; background: rgba(255,255,255,.05); font-size: 11px; }
.newsletter input:focus { border-color: var(--gold); }
.newsletter button { padding: 12px 18px; color: var(--blue-deep); border: 0; border-radius: 0 9px 9px 0; background: var(--gold); font-size: 10px; font-weight: 800; }
.footer-bottom { border-top: 1px solid rgba(255,255,255,.09); }
.footer-bottom .container { min-height: 62px; display: flex; justify-content: space-between; align-items: center; gap: 20px; font-size: 9px; }
.footer-bottom span:last-child { display: flex; gap: 18px; }
.back-to-top { position: fixed; z-index: 999; right: 22px; bottom: 22px; display: grid; place-items: center; width: 43px; height: 43px; color: #fff; border: 0; border-radius: 50%; background: var(--blue); box-shadow: var(--shadow-small); opacity: 0; visibility: hidden; transform: translateY(12px); transition: .25s ease; }
.back-to-top.show { opacity: 1; visibility: visible; transform: translateY(0); }

/* Responsive */
@media (max-width: 1400px) {
  .header-shell { grid-template-columns: minmax(360px, 30%) minmax(0, 1fr); }
  .brand-panel { padding: 3px 10px; }
  .brand-image-wrap { height: 124px; }
  .brand-emblem { flex-basis: 86px; width: 86px; height: 86px; }
  .brand-name { font-size: 26px; }
  .brand-subtitle { font-size: 10px; }
  .brand-recognition { font-size: 8px; }
  .nav-row > a, .nav-dropdown > button { padding-right: 4px; padding-left: 4px; font-size: 11.4px; }
  .nav-row-two > a { font-size: 10.8px; }
  .utility-bar { gap: 9px; padding-left: 16px; font-size: 9px; }
  .admission-codes { gap: 7px; }
  .admission-codes b { font-size: 6.6px; }
  .utility-contact { gap: 9px; }
  .phone-cluster b, .utility-email b { font-size: 7.8px; }
}

@media (max-width: 1250px) {
  .hero-admission-card { display: none; }
  .hero-content { padding-right: 24px; }
}

@media (max-width: 1100px) {
  html { scroll-padding-top: 90px; }
  .site-header.is-sticky { position: sticky; }
  .header-shell { display: flex; min-height: 88px; }
  .brand-panel { flex: 1; min-width: 0; padding: 12px 18px; border-right: 0; }
  .brand-image-wrap { width: min(100%, 390px); height: 78px; }
  .brand-emblem { flex-basis: 72px; width: 72px; height: 72px; }
  .emblem-ring i { font-size: 20px; }
  .emblem-ring b { font-size: 14px; }
  .brand-name { font-size: 23px; }
  .brand-subtitle { font-size: 9px; }
  .brand-autonomous { margin: 4px 0; padding: 1px 8px; font-size: 7px; }
  .brand-recognition { font-size: 7.5px; }
  .nav-panel { width: 80px; justify-content: center; align-items: center; }
  .utility-bar { display: none; }
  .mobile-toggle { display: flex; flex-direction: column-reverse; align-items: center; gap: 2px; color: var(--blue); border: 0; background: transparent; font-size: 9px; font-weight: 800; text-transform: uppercase; }
  .mobile-toggle i { font-size: 22px; }
  .primary-nav { position: fixed; z-index: 1001; top: 88px; right: 0; bottom: 0; width: min(400px, 88vw); display: block; padding: 18px 24px 35px; overflow-y: auto; background: #fff; box-shadow: -15px 25px 40px rgba(7,26,70,.18); transform: translateX(110%); transition: transform .3s ease; }
  .primary-nav.open { transform: translateX(0); }
  .mobile-contact-card { display: block; margin-bottom: 13px; padding: 14px; color: #fff; background: var(--blue); border-radius: 11px; font-size: 10px; line-height: 1.8; }
  .mobile-contact-card > b { display: block; color: var(--gold); font: 700 10px var(--heading); text-transform: uppercase; letter-spacing: .08em; }
  .mobile-contact-card > a:not(.mobile-email) { font-weight: 700; }
  .mobile-contact-card .mobile-email { display: block; color: #fff; font-weight: 650; }
  .mobile-contact-card small { display: block; margin-top: 6px; padding-top: 6px; color: rgba(255,255,255,.7); border-top: 1px solid rgba(255,255,255,.16); font-size: 8px; }
  .mobile-contact-card strong { color: var(--gold); }
  .nav-row { display: block; min-height: 0; border: 0; }
  .nav-row-one { border-bottom: 1px solid var(--line); }
  .nav-row > a, .nav-dropdown > button { width: 100%; justify-content: space-between; padding: 12px 3px; border-bottom: 1px solid var(--line); font-size: 12px; }
  .nav-row > a:first-child { padding-left: 3px; }
  .nav-row > a::after, .nav-dropdown > button::after { display: none; }
  .nav-row-two { padding-top: 10px; }
  .nav-row-two > a { padding: 9px 3px; border: 0; color: var(--muted); font-size: 11px; }
  .mega-menu, .simple-menu { position: static; display: none; visibility: visible; width: 100%; padding: 15px; opacity: 1; transform: none; box-shadow: none; border: 0; border-radius: 8px; background: var(--background); }
  .nav-dropdown:hover > .mega-menu, .nav-dropdown:hover > .simple-menu { display: none; }
  .nav-dropdown.open > .mega-menu, .nav-dropdown.open > .simple-menu { display: block; }
  .mega-menu { grid-template-columns: 1fr; gap: 12px; }
  .mega-menu > div:first-child { display: none; }
  .mega-menu b { margin: 0; }
  .hero-swiper, .hero-swiper .swiper-wrapper, .hero-slide { height: clamp(560px, calc(100svh - 88px), 680px); min-height: 0; }
  .hero-content { padding-top: 50px; }
  .hero-arrow { display: none; }
  .notice-inner { padding-right: 200px; }
  .stats-grid { grid-template-columns: repeat(3, 1fr); row-gap: 20px; }
  .stat-item:nth-child(3) { border: 0; }
  .program-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr; }
  .footer-contact { grid-column: 2 / 4; }
}

@media (max-width: 767px) {
  .header-shell { min-height: 80px; }
  .brand-panel { gap: 9px; padding: 9px 10px; }
  .brand-image-wrap { width: min(100%, 300px); height: 70px; }
  .brand-emblem { flex-basis: 58px; width: 58px; height: 58px; padding: 4px; }
  .emblem-ring { outline-offset: -4px; }
  .emblem-ring i { font-size: 15px; }
  .emblem-ring b { font-size: 10px; }
  .brand-name { font-size: clamp(16px, 5vw, 22px); }
  .brand-subtitle { margin-top: 3px; font-size: clamp(6px, 2.2vw, 9px); letter-spacing: .01em; }
  .brand-autonomous { margin: 3px 0 0; }
  .brand-recognition { display: none; }
  .nav-panel { width: 55px; }
  .primary-nav { top: 80px; }
  .section { padding: 75px 0; }
  .section-title { font-size: 34px; }
  .section-heading { margin-bottom: 35px; }
  .section-heading.split { display: block; }
  .section-heading.split p, .section-heading.split > a { margin-top: 15px; }
  .hero-swiper, .hero-swiper .swiper-wrapper, .hero-slide { height: clamp(610px, calc(100svh - 80px), 740px); min-height: 0; }
  .hero-slide { text-align: left; background-image: linear-gradient(90deg, rgba(5,22,61,.93), rgba(8,36,82,.62)), var(--hero-image); }
  .hero-content { padding: 48px 22px 78px; }
  .hero-content h1, .hero-content h2 { font-size: 41px; }
  .hero-content p { font-size: 14px; }
  .hero-actions .btn-premium { width: 100%; }
  .hero-badge { display: none; }
  .notice-inner { min-height: 82px; gap: 12px; padding: 12px 15px; }
  .notice-label { padding-right: 10px; }
  .notice-inner p { font-size: 10px; line-height: 1.5; }
  .notice-inner > a { display: none; }
  .stats-section { padding: 28px 0; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
  .stat-item { justify-content: flex-start; min-height: 90px; padding-left: 15px; border-bottom: 1px solid var(--line); }
  .stat-item:nth-child(2n) { border-right: 0; }
  .stat-item:nth-child(3) { border-right: 1px solid var(--line); }
  .stat-item:last-child { grid-column: 1 / -1; justify-content: center; border-bottom: 0; }
  .image-composition { padding: 0 20px 30px 0; }
  .image-card { padding: 15px 18px; }
  .image-card span { font-size: 32px; }
  .feature-list { grid-template-columns: 1fr; }
  .leader-card { grid-template-columns: 100px 1fr; gap: 18px; padding: 20px; }
  .leader-portrait { min-height: 175px; }
  .leader-portrait i { font-size: 80px; }
  .program-grid { grid-template-columns: 1fr; }
  .facility-card { height: 390px; }
  .placement-panel { grid-template-columns: 1fr; }
  .placement-copy, .placement-numbers { padding: 35px 25px; }
  .placement-numbers > div { min-height: 100px; padding: 14px; }
  .placement-numbers strong { font-size: 23px; }
  .logo-cloud { justify-content: center; }
  .innovation-grid article { min-height: 145px; padding: 22px; }
  .innovation-grid strong { font-size: 26px; }
  .innovation-grid .innovation-image { grid-column: 1 / -1; grid-row: auto; min-height: 250px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: 280px 220px 220px; }
  .gallery-large { grid-column: 1 / 3; grid-row: auto; }
  .gallery-wide { grid-column: 1 / 3; }
  .testimonials-section { padding-bottom: 90px; }
  .campus-tour { min-height: 520px; background-attachment: scroll; }
  .cta-panel { display: block; padding: 38px 25px; }
  .cta-actions { justify-content: flex-start; margin-top: 25px; }
  .cta-actions .btn-premium { width: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 38px 25px; }
  .footer-about { grid-column: 1 / -1; }
  .footer-contact { grid-column: 1 / -1; }
  .newsletter { display: block; padding: 23px 18px; }
  .newsletter form { margin-top: 20px; }
  .footer-bottom .container { flex-direction: column; justify-content: center; padding-top: 14px; padding-bottom: 14px; text-align: center; }
}

@media (max-width: 420px) {
  .brand-name { font-size: 16px; }
  .brand-subtitle { font-size: 6.4px; }
  .leader-card { grid-template-columns: 1fr; }
  .leader-portrait { min-height: 150px; }
  .leader-portrait i { margin-top: 30px; }
  .innovation-grid { grid-template-columns: 1fr; }
  .innovation-grid .innovation-image { grid-column: auto; }
  .gallery-grid { display: block; }
  .gallery-grid figure { height: 240px; margin-bottom: 12px; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-about, .footer-contact { grid-column: auto; }
}

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