/* Design tokens: colors, spacing, radii and shadows. */
:root {
   --maroon:#8b151a;
  --maroon-dark:#5d070b;
  --blue:#113b78;
  --blue-dark:#082452;
  --sky:#eaf4ff;
  --cream:#fff8ec;
  --gold:#f2bd3f;
  --gold-dark:#c78908;
  --green:#196c5f;
  --ink:#17213a;
  --muted:#667089;
  --white:#fff;
  --line:#e6e9f0;
  --shadow:0 18px 55px rgba(15,35,70,.18);
  --soft-shadow:0 12px 30px rgba(15,35,70,.12);
  --radius:22px;
  --radius-sm:14px;
  --container:min(1180px,calc(100% - 32px));
}

/* Foundation: reset, typography, sections and buttons. */
* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth
}

body {
  margin:0;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6
}

body.menu-open {
  overflow:hidden
}

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

img,video {
  max-width:100%;
  display:block
}

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

.container {
  width:var(--container);
  margin-inline:auto
}

.skip-link {
  position:absolute;
  left:16px;
  top:-80px;
  background:var(--maroon);
  color:#fff;
  padding:10px 14px;
  border-radius:12px;
  z-index:1000
}

.skip-link:focus {
  top:12px
}

.section {
  padding:88px 0
}

.section-sm {
  padding:54px 0
}

.light {
  background:linear-gradient(180deg,#fbfdff,#f4f8fe)
}

.centered {
  text-align:center;
  margin-inline:auto
}

.section-heading {
  max-width:780px;
  margin-bottom:34px
}

.section-heading.centered {
  margin-inline:auto;
  text-align:center
}

.eyebrow {
  display:inline-flex;
  gap:8px;
  align-items:center;
  color:var(--maroon);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:12px;
  margin-bottom:10px
}

.eyebrow:before {
  content:"";
  width:28px;
  height:2px;
  border-radius:99px;
  background:var(--gold)
}

h1,h2,h3,p {
  margin-top:0
}

h1 {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(42px,6.2vw,78px);
  line-height:.98;
  letter-spacing:-.05em;
  margin-bottom:18px
}

h2 {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(32px,4vw,52px);
  line-height:1.04;
  letter-spacing:-.035em;
  margin-bottom:14px
}

h3 {
  font-size:24px;
  line-height:1.16;
  margin-bottom:10px
}

p {
  color:var(--muted);
  font-size:17px
}

.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius:999px;
  padding:14px 22px;
  font-weight:900;
  border:1px solid transparent;
  transition:.22s ease;
  cursor:pointer
}

.btn-primary {
  background:linear-gradient(135deg,var(--maroon),#c22a2f);
  color:#fff;
  box-shadow:0 16px 34px rgba(139,21,26,.24)
}

.btn-primary:hover {
  transform:translateY(-2px);
  box-shadow:0 20px 42px rgba(139,21,26,.34)
}

.btn-secondary {
  background:#fff;
  color:var(--blue-dark);
  border-color:#d9e4f6;
  box-shadow:var(--soft-shadow)
}

.btn-secondary:hover {
  transform:translateY(-2px);
  border-color:var(--gold)
}

/* Header, top strip, brand and primary navigation. */
.top-strip {
  background:linear-gradient(90deg,var(--blue-dark),var(--blue));
  color:#fff;
  font-size:14px
}

.top-strip-grid {
  min-height:42px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px
}

.top-left,.top-right {
  display:flex;
  gap:18px;
  align-items:center;
  flex-wrap:wrap
}

.top-left span:first-child {
  background:linear-gradient(135deg,#b94707,#f29a18);
  color:#fff;
  padding:5px 10px;
  border-radius:999px;
  font-weight:900
}

.top-right a {
  font-weight:800;
  color:#fff
}

.site-header {
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(255,255,255,.96);
  box-shadow:0 12px 34px rgba(20,42,90,.08);
  backdrop-filter:blur(14px)
}

.main-nav {
  min-height:86px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px
}

.brand {
  display:flex;
  align-items:center;
  gap:12px
}

.brand-logo {
  width:66px;
  height:66px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.12);
  overflow:hidden
}

.brand-logo img {
  width:62px;
  height:62px;
  object-fit:contain
}

.brand-copy strong {
  display:block;
  color:var(--maroon);
  font-family:Georgia,"Times New Roman",serif;
  font-size:25px;
  line-height:1
}

.brand-copy small {
  display:block;
  color:var(--blue);
  font-weight:800;
  font-size:12px;
  margin-top:5px
}

.nav-menu {
  display:flex;
  align-items:center;
  gap:3px
}

.nav-menu>a,.nav-item>a {
  display:flex;
  align-items:center;
  min-height:46px;
  padding:10px 12px;
  border-radius:12px;
  color:#1d2b4b;
  font-weight:850;
  font-size:14px
}

.nav-menu>a:hover,.nav-item>a:hover,.nav-menu .active {
  background:#f7eef0;
  color:var(--maroon)
}

.nav-apply {
  background:linear-gradient(135deg,#9f171c,#d94b25)!important;
  color:#fff!important;
  padding-inline:18px!important;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 26px rgba(139,21,26,.22)
}

.nav-item {
  position:relative
}

.dropdown {
  position:absolute;
  top:100%;
  left:0;
  min-width:245px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
  border-radius:18px;
  padding:10px;
  opacity:0;
  visibility:hidden;
  transform:translateY(8px);
  transition:.18s ease
}

.nav-item:hover .dropdown,.nav-item:focus-within .dropdown {
  opacity:1;
  visibility:visible;
  transform:translateY(0)
}

.dropdown a {
  display:block;
  padding:11px 13px;
  border-radius:12px;
  font-weight:800;
  color:var(--ink)
}

.dropdown a:hover {
  background:#f5f8ff;
  color:var(--blue)
}

.menu-toggle {
  display:none;
  width:48px;
  height:44px;
  border:0;
  border-radius:14px;
  background:var(--blue-dark);
  padding:10px
}

.menu-toggle span {
  display:block;
  height:2px;
  background:#fff;
  margin:6px;
  border-radius:99px
}

/* Legacy image hero and announcement ticker. Home video overrides live in 30-home-video-hero.css. */
.hero {
  position:relative;
  min-height:690px;
  display:grid;
  align-items:center;
  overflow:hidden;
  background:#091d41;
  color:#fff
}

.hero-slide {
  position:absolute;
  inset:0;
  background-image:linear-gradient(90deg,rgba(8,36,82,.88),rgba(8,36,82,.45),rgba(93,7,11,.36)),var(--hero-img);
  background-size:cover;
  background-position:center;
  opacity:0;
  transition:opacity .75s ease;
  transform:scale(1.03)
}

.hero-slide.active {
  opacity:1
}

.hero-overlay {
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 75% 20%,rgba(242,189,63,.2),transparent 32%),linear-gradient(0deg,rgba(6,18,40,.45),transparent 55%)
}

.hero-grid {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) 410px;
  align-items:center;
  gap:44px;
  padding:84px 0
}

.hero-copy {
  max-width:780px
}

.hero-copy p {
  color:rgba(255,255,255,.88);
  font-size:20px;
  max-width:720px
}

.admission-tag {
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:8px 10px 8px 14px;
  border-radius:999px;
  background:#fff;
  color:var(--blue-dark);
  box-shadow:0 18px 38px rgba(0,0,0,.24);
  margin-bottom:18px
}

.admission-tag strong {
  color:var(--maroon);
  font-size:13px;
  letter-spacing:.08em
}

.admission-tag span {
  background:linear-gradient(135deg,#b94707,#f29a18);
  color:#fff;
  border-radius:999px;
  padding:6px 12px;
  font-weight:950
}

.hero-actions {
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin:28px 0
}

.hero-trust {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:20px
}

.hero-trust span {
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.24);
  border-radius:999px;
  padding:9px 13px;
  font-weight:800;
  color:#fff
}

.hero-card {
  background:rgba(255,255,255,.94);
  border-radius:28px;
  padding:14px;
  box-shadow:0 28px 80px rgba(0,0,0,.35);
  color:var(--ink);
  border:1px solid rgba(255,255,255,.7)
}

.poster-ribbon {
  display:block;
  background:linear-gradient(135deg,var(--maroon),#c72e31);
  color:#fff;
  border-radius:18px 18px 8px 8px;
  text-align:center;
  font-weight:900;
  padding:12px;
  margin-bottom:12px;
  letter-spacing:.03em
}

.admission-poster-card img {
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.16)
}

.poster-actions {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px
}

.poster-actions a {
  display:grid;
  place-items:center;
  border-radius:12px;
  padding:12px;
  font-weight:950;
  background:#f7eff0;
  color:var(--maroon)
}

.poster-actions a:first-child {
  background:var(--blue);
  color:#fff
}

.hero-arrow {
  position:absolute;
  top:50%;
  z-index:3;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.16);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer
}

.hero-arrow.prev {
  left:18px
}

.hero-arrow.next {
  right:18px
}

.notice-marquee {
  overflow:hidden;
  background:var(--maroon);
  color:#fff;
  padding:12px 0
}

.ticker {
  display:flex;
  gap:38px;
  white-space:nowrap;
  animation:ticker 28s linear infinite;
  font-weight:850
}

.ticker span {
  position:relative
}

.ticker span:after {
  content:"•";
  position:absolute;
  right:-24px;
  color:var(--gold)
}

@keyframes ticker {
  from {
    transform:translateX(100%)
  }

to {
    transform:translateX(-100%)
  }
}

/* Core page sections, cards, forms, galleries and reusable content layouts. */
.program-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px
}

.program-card {
  position:relative;
  background:#fff;
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:24px;
  box-shadow:var(--soft-shadow);
  overflow:hidden;
  transition:.22s ease
}

.program-card:hover {
  transform:translateY(-6px);
  box-shadow:var(--shadow)
}

.program-card img {
  width:100%;
  height:170px;
  object-fit:cover;
  border-radius:18px;
  margin-bottom:16px;
  background:#f3f7ff
}

.program-card img[src*="emblem"] {
  object-fit:contain;
  padding:18px;
  background:linear-gradient(135deg,#071b3e,#133d79)
}

.program-card span {
  display:inline-flex;
  border-radius:999px;
  background:#f7eef0;
  color:var(--maroon);
  font-weight:900;
  padding:6px 10px;
  margin-bottom:10px
}

.program-card a {
  font-weight:900;
  color:var(--blue)
}

.program-card.science {
  border-top:5px solid var(--blue)
}

.program-card.commerce {
  border-top:5px solid var(--gold)
}

.program-card.coaching {
  border-top:5px solid var(--green)
}

.program-card.hostel {
  border-top:5px solid var(--maroon)
}

.split-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:54px;
  align-items:center
}

.reverse {
  direction:rtl
}

.reverse>* {
  direction:ltr
}

.image-stack {
  position:relative;
  min-height:470px
}

.image-stack .main-img {
  width:86%;
  height:420px;
  object-fit:cover;
  border-radius:34px;
  box-shadow:var(--shadow)
}

.image-stack .float-img {
  position:absolute;
  right:0;
  bottom:0;
  width:48%;
  height:230px;
  object-fit:cover;
  border:10px solid #fff;
  border-radius:26px;
  box-shadow:var(--shadow)
}

.split-copy .feature-list {
  margin:22px 0
}

.feature-list {
  display:grid;
  gap:10px
}

.feature-list span,.admission-points span {
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:var(--ink);
  font-weight:800
}

.feature-list span:before,.admission-points span:before,.check-list li:before {
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:13px;
  flex:0 0 22px;
  margin-top:1px
}

.about-split {
  background:linear-gradient(180deg,#fff,#f6faff)
}

.results-band {
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  position:relative;
  overflow:hidden
}

.results-band:before {
  content:"";
  position:absolute;
  inset:auto -10% -38% 42%;
  height:420px;
  background:radial-gradient(circle,rgba(242,189,63,.28),transparent 64%)
}

.results-grid {
  position:relative;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:38px;
  align-items:center
}

.results-band p {
  color:rgba(255,255,255,.82)
}

.results-band .eyebrow {
  color:#ffe6a6
}

.stats-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin:24px 0
}

.stats-row article {
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  padding:18px;
  text-align:center
}

.stats-row strong {
  display:block;
  font-size:44px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--gold)
}

.stats-row span {
  font-weight:800;
  color:#fff
}

.toppers-grid {
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px
}

.toppers-grid article,.achiever-card {
  background:#fff;
  border-radius:22px;
  padding:16px;
  box-shadow:var(--shadow);
  color:var(--ink)
}

.toppers-grid img {
  width:76px;
  height:76px;
  border-radius:50%;
  object-fit:cover;
  border:4px solid var(--gold);
  float:left;
  margin-right:14px
}

.toppers-grid strong,.achiever-card h3 {
  display:block;
  font-size:20px;
  color:var(--blue-dark)
}

.toppers-grid span,.achiever-card span {
  display:block;
  color:var(--muted);
  font-weight:800
}

.principal-card {
  margin:0;
  background:#fff;
  border-radius:28px;
  box-shadow:var(--shadow);
  padding:16px;
  border:1px solid var(--line)
}

.principal-card img {
  width:100%;
  height:470px;
  object-fit:cover;
  object-position:center 20%;
  border-radius:20px
}

.principal-card figcaption {
  padding:16px
}

.principal-card strong {
  display:block;
  font-size:28px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--maroon)
}

.principal-card span {
  color:var(--muted);
  font-weight:800
}

blockquote {
  border-left:5px solid var(--gold);
  background:#fff8e7;
  padding:18px 20px;
  border-radius:0 16px 16px 0;
  color:#493412;
  font-family:Georgia,"Times New Roman",serif;
  font-size:22px
}

.facility-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}

.facility-grid a,
.facility-grid .facility-card {
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  overflow:hidden;
  transition:.22s ease
}

.facility-grid a:hover,
.facility-grid .facility-card:hover {
  transform:translateY(-5px);
  box-shadow:var(--shadow)
}

.facility-grid img {
  width:100%;
  height:200px;
  object-fit:cover
}

.facility-grid strong,.facility-grid span {
  display:block;
  padding-inline:18px
}

.facility-grid strong {
  font-size:21px;
  margin-top:16px;
  color:var(--blue-dark)
}

.facility-grid span {
  color:var(--muted);
  padding-bottom:20px
}

.gallery-strip-section {
  background:#fbfcff
}

.photo-strip {
  display:grid;
  grid-template-columns:1.2fr .8fr .8fr 1.2fr;
  gap:14px
}

.photo-strip img {
  height:270px;
  width:100%;
  object-fit:cover;
  border-radius:22px;
  box-shadow:var(--soft-shadow)
}

.centered-action {
  text-align:center;
  margin-top:26px
}

.admission-section {
  background:linear-gradient(180deg,#fff8ec,#fff)
}

.admission-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:40px;
  align-items:start
}

.admission-points {
  display:grid;
  gap:10px;
  margin-top:18px
}

.admission-form {
  background:#fff;
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--shadow);
  padding:26px;
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px
}

.admission-form label {
  display:grid;
  gap:7px;
  font-weight:900;
  color:var(--ink)
}

.admission-form input,.admission-form select,.admission-form textarea {
  width:100%;
  border:1px solid #dce3ef;
  border-radius:14px;
  padding:13px 14px;
  background:#fbfdff;
  outline:none
}

.admission-form input:focus,.admission-form select:focus,.admission-form textarea:focus {
  border-color:var(--blue);
  box-shadow:0 0 0 4px rgba(17,59,120,.1)
}

.admission-form .full,.modal-form {
  grid-column:1/-1
}

.final-cta-card {
  background:linear-gradient(135deg,var(--maroon-dark),var(--maroon));
  color:#fff;
  border-radius:32px;
  padding:36px;
  box-shadow:var(--shadow);
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center
}

.final-cta-card p {
  color:rgba(255,255,255,.82)
}

.final-cta-card .eyebrow {
  color:#ffe7a8
}

.cta-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end
}

.rounded-img {
  width:100%;
  border-radius:28px;
  box-shadow:var(--shadow);
  object-fit:cover
}

.small-poster {
  max-height:520px;
  object-fit:contain;
  background:#fff;
  padding:10px
}

.inner-hero {
  position:relative;
  min-height:430px;
  display:grid;
  align-items:center;
  color:#fff;
  background-image:linear-gradient(90deg,rgba(8,36,82,.92),rgba(8,36,82,.56)),var(--page-img);
  background-size:cover;
  background-position:center
}

.inner-hero p {
  color:rgba(255,255,255,.86);
  max-width:720px
}

.inner-hero h1 {
  max-width:850px
}

.stream-detail {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:44px;
  align-items:center
}

.stream-detail img {
  border-radius:28px;
  box-shadow:var(--shadow);
  max-height:460px;
  width:100%;
  object-fit:cover
}

.chips {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0
}

.chips span {
  background:#eef5ff;
  border:1px solid #dce8fb;
  color:var(--blue-dark);
  font-weight:900;
  border-radius:999px;
  padding:8px 12px
}

.check-list {
  list-style:none;
  padding:0;
  margin:16px 0 24px;
  display:grid;
  gap:12px
}

.check-list li {
  display:flex;
  gap:10px;
  color:var(--ink);
  font-weight:750
}

.legacy-video {
  width:100%;
  border-radius:28px;
  box-shadow:var(--shadow);
  border:1px solid rgba(255,255,255,.28)
}

.achiever-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px
}

.achiever-card img {
  width:100%;
  aspect-ratio:1/1;
  border-radius:18px;
  object-fit:cover;
  margin-bottom:14px;
  background:#f2f6fb
}

.achiever-card strong {
  color:var(--maroon)
}

.gallery-tabs {
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:center;
  margin-bottom:26px
}

.gallery-tabs button {
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:10px 16px;
  font-weight:900;
  cursor:pointer
}

.gallery-tabs button.active {
  background:var(--maroon);
  color:#fff;
  border-color:var(--maroon)
}

.gallery-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px
}

.gallery-item {
  position:relative;
  overflow:hidden;
  border-radius:20px;
  box-shadow:var(--soft-shadow);
  background:#000
}

.gallery-item img {
  height:230px;
  width:100%;
  object-fit:cover;
  transition:.25s ease
}

.gallery-item:hover img {
  transform:scale(1.05);
  opacity:.86
}

.gallery-item span {
  position:absolute;
  left:12px;
  bottom:12px;
  right:12px;
  background:rgba(255,255,255,.92);
  padding:8px 10px;
  border-radius:12px;
  font-weight:900
}

.contact-grid {
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:34px
}

.contact-card {
  background:linear-gradient(180deg,#fff,#f7faff);
  border:1px solid var(--line);
  border-radius:26px;
  box-shadow:var(--soft-shadow);
  padding:28px
}

.contact-list {
  display:grid;
  gap:10px;
  margin-top:18px
}

.contact-list a,.footer-map {
  display:inline-flex;
  color:var(--blue);
  font-weight:900
}

.why-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px
}

.why-grid article {
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  padding:24px;
  box-shadow:var(--soft-shadow)
}

.why-grid strong {
  font-size:21px;
  color:var(--blue-dark)
}

/* Footer, mobile CTA and admission modal shell. */
.site-footer {
  background:#071a3d;
  color:#fff;
  padding:62px 0 24px
}

.footer-grid {
  display:grid;
  grid-template-columns:1.25fr .75fr .85fr 1.15fr;
  gap:34px
}

.site-footer img {
  width:84px;
  height:84px;
  object-fit:contain;
  background:#fff;
  border-radius:18px;
  padding:4px
}

.site-footer h2,.site-footer h3 {
  font-family:Georgia,"Times New Roman",serif;
  margin:14px 0;
  color:#fff
}

.site-footer p,.site-footer a {
  color:rgba(255,255,255,.78)
}

.site-footer a {
  display:block;
  margin:8px 0;
  font-weight:750
}

.footer-badges {
  display:flex;
  gap:8px;
  flex-wrap:wrap
}

.footer-badges span {
  background:rgba(242,189,63,.13);
  border:1px solid rgba(242,189,63,.32);
  color:#ffe4a0;
  border-radius:999px;
  padding:7px 10px;
  font-size:12px;
  font-weight:900
}

.footer-bottom {
  border-top:1px solid rgba(255,255,255,.15);
  margin-top:36px;
  padding-top:20px;
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:rgba(255,255,255,.6);
  font-size:14px
}

.mobile-bottom-cta {
  display:none
}

.floating-enquiry {
  position:fixed;
  right:18px;
  bottom:20px;
  z-index:95;
  border:0;
  border-radius:999px;
  background:linear-gradient(135deg,#b94707,#f29a18);
  color:#fff;
  font-weight:950;
  padding:14px 18px;
  box-shadow:0 18px 34px rgba(0,0,0,.24);
  cursor:pointer
}

.admission-modal {
  position:fixed;
  inset:0;
  z-index:200;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px
}

.admission-modal.open {
  display:flex
}

.modal-backdrop {
  position:absolute;
  inset:0;
  background:rgba(5,14,31,.68);
  backdrop-filter:blur(6px)
}

.modal-card {
  position:relative;
  z-index:1;
  width:min(920px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff;
  border-radius:30px;
  box-shadow:0 26px 90px rgba(0,0,0,.4);
  display:grid;
  grid-template-columns:.9fr 1.1fr
}

.modal-media {
  background:#f7f8fb;
  padding:18px
}

.modal-media img {
  height:100%;
  max-height:620px;
  width:100%;
  object-fit:contain;
  border-radius:18px
}

.modal-form {
  box-shadow:none;
  border:0;
  border-radius:0
}

.modal-close {
  position:absolute;
  right:14px;
  top:14px;
  width:40px;
  height:40px;
  border-radius:50%;
  border:0;
  background:#fff;
  color:var(--maroon);
  box-shadow:var(--soft-shadow);
  font-size:28px;
  cursor:pointer;
  z-index:2
}

/* Base responsive rules. Later page-specific modules may override these safely. */
@media(max-width:1080px) {
  .nav-menu {
    position:fixed;
    left:16px;
    right:16px;
    top:120px;
    background:#fff;
    border:1px solid var(--line);
    border-radius:24px;
    box-shadow:var(--shadow);
    padding:16px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    max-height:calc(100vh - 140px);
    overflow:auto
  }

.nav-menu.open {
    display:flex
  }

.menu-toggle {
    display:block
  }

.dropdown {
    position:static;
    opacity:1;
    visibility:visible;
    transform:none;
    box-shadow:none;
    border:0;
    border-radius:14px;
    background:#f8faff;
    margin:0 0 6px 12px
  }

.nav-menu>a,.nav-item>a {
    justify-content:space-between
  }

.hero-grid,.results-grid,.admission-grid,.split-grid,.stream-detail,.contact-grid {
    grid-template-columns:1fr
  }

.hero {
    min-height:auto
  }

.hero-grid {
    padding:70px 0
  }

.hero-card {
    max-width:460px
  }

.program-grid,.facility-grid,.achiever-grid,.gallery-grid,.why-grid {
    grid-template-columns:repeat(2,1fr)
  }

.footer-grid {
    grid-template-columns:1fr 1fr
  }

.image-stack {
    min-height:390px
  }

.photo-strip {
    grid-template-columns:1fr 1fr
  }

.footer-bottom {
    flex-direction:column
  }

.final-cta-card {
    flex-direction:column;
    align-items:flex-start
  }

.cta-actions {
    justify-content:flex-start
  }
}
 @media(max-width:720px) {
  .top-strip-grid,.top-left,.top-right {
    justify-content:center;
    text-align:center
  }

.top-right a:nth-child(2) {
    display:none
  }

.main-nav {
    min-height:76px
  }

.brand-logo {
    width:54px;
    height:54px
  }

.brand-logo img {
    width:50px;
    height:50px
  }

.brand-copy strong {
    font-size:19px
  }

.brand-copy small {
    font-size:11px
  }

.nav-menu {
    top:108px
  }

.section {
    padding:64px 0
  }

.hero-grid {
    padding:54px 0
  }

.hero-card {
    display:none
  }

h1 {
    font-size:42px
  }

.hero-copy p {
    font-size:17px
  }

.hero-arrow {
    display:none
  }

.program-grid,.facility-grid,.achiever-grid,.gallery-grid,.why-grid,.toppers-grid,.admission-form {
    grid-template-columns:1fr
  }

.stats-row {
    grid-template-columns:1fr 1fr
  }

.stats-row article:last-child {
    grid-column:1/-1
  }

.image-stack {
    min-height:300px
  }

.image-stack .main-img {
    height:280px;
    width:100%
  }

.image-stack .float-img {
    display:none
  }

.principal-card img {
    height:330px
  }

.photo-strip {
    grid-template-columns:1fr
  }

.photo-strip img {
    height:230px
  }

.modal-card {
    grid-template-columns:1fr
  }

.modal-media {
    display:none
  }

.floating-enquiry {
    display:none
  }

.mobile-bottom-cta {
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:140;
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    background:rgba(255,255,255,.96);
    padding:10px;
    border-top:1px solid var(--line);
    box-shadow:0 -12px 30px rgba(20,42,90,.12)
  }

.mobile-bottom-cta a {
    display:grid;
    place-items:center;
    border-radius:14px;
    background:#f3f7ff;
    color:var(--blue);
    font-weight:950;
    padding:12px 6px
  }

.mobile-bottom-cta a:last-child {
    background:linear-gradient(135deg,var(--maroon),#c22a2f);
    color:#fff
  }

.site-footer {
    padding-bottom:96px
  }

.footer-grid {
    grid-template-columns:1fr
  }

.footer-bottom {
    padding-bottom:8px
  }

.inner-hero {
    min-height:380px
  }

.gallery-item img {
    height:220px
  }
}

/* Production polish: accessibility, motion preferences, header state and form feedback */
:focus-visible{outline:3px solid rgba(242,189,63,.95);outline-offset:3px;border-radius:10px}
body.modal-open{overflow:hidden}
.site-header.scrolled{box-shadow:0 10px 28px rgba(20,42,90,.14)}
.site-header.scrolled .main-nav{min-height:74px}
.site-header.scrolled .brand-logo{width:58px;height:58px}
.site-header.scrolled .brand-logo img{width:54px;height:54px}
.form-status{grid-column:1/-1;margin:0;color:var(--green);font-weight:850;font-size:14px}.form-status.error{color:#b42318}
.admission-form input:invalid:not(:placeholder-shown){border-color:#e2a5a7;background:#fff9f9}
.nav-menu a[aria-current="page"]{background:#f7eef0;color:var(--maroon)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.ticker{animation:none;transform:none;justify-content:center;flex-wrap:wrap;white-space:normal}.hero-slide{transition:none}}
@media(max-width:720px){.hero{min-height:520px}.hero-grid{padding:44px 0 46px}.hero-copy h1{font-size:38px;letter-spacing:-.035em}.admission-tag{font-size:13px}.top-left span:nth-child(2){display:none}.section-heading{margin-bottom:24px}.btn{width:100%}.hero-actions .btn,.cta-actions .btn{width:auto}.admission-form{padding:20px}.modal-card{border-radius:22px}.stats-row strong{font-size:34px}}
@media(max-width:420px){.brand-copy strong{font-size:17px}.brand-copy small{max-width:190px}.hero-copy h1{font-size:34px}.hero-trust span{font-size:13px;padding:8px 10px}.top-strip{font-size:12px}.mobile-bottom-cta a{font-size:13px}}


/* Production update: simple hero enquiry card and logo-watermark popup form */
.admission-simple-card{padding:26px;background:rgba(255,255,255,.96)}
.admission-simple-card h2{margin:6px 0 10px;color:var(--blue-dark);font-size:28px;line-height:1.08}
.admission-simple-card p{margin:0 0 16px;color:var(--muted);font-weight:700}
.admission-simple-card ul{margin:0 0 18px;padding:0;list-style:none;display:grid;gap:10px}
.admission-simple-card li{position:relative;padding-left:26px;color:var(--ink);font-weight:850}
.admission-simple-card li::before{content:"✓";position:absolute;left:0;top:0;color:var(--maroon);font-weight:950}
.admission-simple-card .btn{width:100%;justify-content:center;margin-top:4px}
.simple-card-link{display:block;margin-top:14px;text-align:center;color:var(--blue);font-weight:950}
.modal-card{width:min(560px,100%);display:block;grid-template-columns:1fr;overflow:hidden}
.modal-media{display:none!important}
.modal-form.logo-watermark-form{position:relative;overflow:hidden;padding:34px 32px 30px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.96));border-radius:30px}
.modal-form.logo-watermark-form::before{content:"";position:absolute;inset:88px 34px 64px;background-image:var(--form-logo);background-position:center;background-repeat:no-repeat;background-size:contain;opacity:.055;pointer-events:none;z-index:0}
.modal-form.logo-watermark-form::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 36%,rgba(242,189,63,.08),transparent 42%);pointer-events:none;z-index:0}
.modal-form.logo-watermark-form>*{position:relative;z-index:1}
.modal-form.logo-watermark-form h2{margin-bottom:8px;color:var(--blue-dark)}
.modal-form.logo-watermark-form p{color:var(--muted);font-weight:700}
.modal-form.logo-watermark-form small{display:block;text-align:center;color:var(--muted)}
@media(max-width:1080px){.admission-simple-card{max-width:460px}}
@media(max-width:720px){.admission-simple-card{display:none}.modal-card{width:min(440px,100%)}.modal-form.logo-watermark-form{padding:28px 22px 24px;border-radius:22px}.modal-form.logo-watermark-form::before{inset:92px 28px 76px;opacity:.05}}

/* Production footer contact polish */
.footer-contact h3{margin-bottom:16px}.footer-contact-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:18px;display:grid;gap:14px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}.footer-contact-row{display:grid;gap:7px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.11)}.footer-contact-row:last-of-type{padding-bottom:0;border-bottom:0}.footer-contact-label{display:block;color:#ffe3a1;font-size:12px;font-weight:950;letter-spacing:.09em;text-transform:uppercase}.site-footer .footer-contact-card p{margin:0;line-height:1.65;color:rgba(255,255,255,.86)}.footer-phone-group{display:flex;flex-wrap:wrap;gap:8px}.site-footer .footer-phone-group a{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:8px 11px;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:900;line-height:1}.site-footer .footer-phone-group a:hover{background:rgba(242,189,63,.22);border-color:rgba(242,189,63,.45);color:#fff}.site-footer .footer-map{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:2px;padding:11px 14px;border-radius:14px;background:linear-gradient(135deg,#b94707,#f29a18);color:#fff;font-weight:950;text-align:center}.footer-programs{font-weight:750;color:rgba(255,255,255,.72)}.professional-contact-list{grid-template-columns:1fr 1fr}.professional-contact-list a{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px 16px;box-shadow:var(--soft-shadow);display:grid;gap:4px;color:var(--blue-dark)}.professional-contact-list a strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--maroon)}.professional-contact-list a span{font-weight:950;color:var(--blue-dark)}.professional-contact-list .map-link{grid-column:1/-1;background:linear-gradient(135deg,#fff7ef,#fff)}.professional-contact-list .map-link span{color:#8b151a}@media(max-width:1080px){.footer-contact-card{max-width:520px}.footer-bottom{text-align:left}}@media(max-width:720px){.footer-contact-card{padding:16px;border-radius:18px}.footer-phone-group a{flex:1 1 auto}.professional-contact-list{grid-template-columns:1fr}.footer-bottom{text-align:center;align-items:center}.footer-programs{line-height:1.6}}

/* Production polish: About page prayer video replaces oversized still image */
.video-feature-card{position:relative;border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--blue-dark),var(--blue));border:1px solid rgba(10,37,78,.1)}
.rounded-video{display:block;width:100%;aspect-ratio:16/9;height:auto;max-height:390px;object-fit:cover;background:#071b3e}
.video-feature-card .video-caption{position:absolute;left:16px;bottom:14px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--blue-dark);font-weight:900;padding:8px 13px;box-shadow:0 10px 24px rgba(8,36,82,.16)}
@media (max-width:900px){.rounded-video{max-height:none}.video-feature-card{border-radius:22px}.video-feature-card .video-caption{font-size:13px}}

/* Modal single-state fix: only the .open class controls popup visibility */
.admission-modal{z-index:99999;}
.admission-modal.open{display:flex;}
.admission-modal:not(.open){display:none!important;}
.admission-modal .modal-card{position:relative;}
.admission-modal .modal-close:focus-visible,
.admission-modal input:focus-visible,
.admission-modal select:focus-visible,
.admission-modal button:focus-visible{outline:3px solid rgba(242,189,63,.72);outline-offset:2px;}
@media(max-width:720px){
  .admission-modal{padding:12px;align-items:center;}
  .admission-modal .modal-card{max-height:calc(100vh - 24px);}
}

/* Admission enquiry backend integration helpers */
.optional-note{color:var(--muted);font-size:12px;font-weight:800;text-transform:none}
.enquiry-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.admission-form button[disabled]{opacity:.72;cursor:wait}
.admission-modal .modal-card{overflow:auto!important;max-height:calc(100vh - 24px)}
.modal-form.logo-watermark-form{max-height:none}

.turnstile-slot {
  margin: .65rem 0 1rem;
  min-height: 65px;
  display: flex;
  align-items: center;
}

/* Floating Enroll Now side tab. Source of truth for the admission side widget. */
.side-enroll-widget{
  --side-tab-width:50px;
  position:fixed;
  right:0;
  top:50%;
  transform:translate3d(0,-50%,0);
  z-index:180;
  display:flex;
  align-items:center;
  gap:0;
  font-family:inherit;
  pointer-events:none;
  isolation:isolate;
}
.side-enroll-widget .side-enroll-tab,
.side-enroll-widget .side-enroll-panel{pointer-events:auto}
.side-enroll-tab{
  position:relative;
  z-index:2;
  width:var(--side-tab-width);
  min-width:var(--side-tab-width);
  min-height:154px;
  padding:17px 12px 17px 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,226,160,.56);
  border-right:0;
  border-radius:22px 0 0 22px;
  background:
    linear-gradient(90deg,rgba(255,255,255,.20),transparent 36%),
    linear-gradient(180deg,#b94707 0%,#e17812 46%,#f29a18 100%);
  color:#fff;
  box-shadow:
    -16px 20px 38px rgba(7,26,61,.18),
    -8px 10px 22px rgba(185,71,7,.22),
    inset 1px 1px 0 rgba(255,255,255,.22),
    inset 0 -1px 0 rgba(108,42,4,.24);
  cursor:pointer;
  font-weight:950;
  letter-spacing:.03em;
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.side-enroll-tab::before{
  content:"";
  position:absolute;
  inset:9px auto 9px 7px;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,232,170,.0),rgba(255,232,170,.9),rgba(255,232,170,.0));
  opacity:.78;
}
.side-enroll-tab span{
  position:relative;
  z-index:1;
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  text-shadow:0 1px 8px rgba(0,0,0,.24);
}
.side-enroll-tab::after{
  content:"›";
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  font-size:22px;
  line-height:1;
  opacity:.92;
  text-shadow:0 2px 10px rgba(0,0,0,.22);
}
.side-enroll-tab:hover,
.side-enroll-tab:focus-visible,
.side-enroll-widget.open .side-enroll-tab{
  transform:translateX(-2px);
  filter:saturate(1.07) brightness(1.01);
  box-shadow:
    -20px 24px 46px rgba(7,26,61,.22),
    -10px 14px 28px rgba(185,71,7,.26),
    inset 1px 1px 0 rgba(255,255,255,.24),
    inset 0 -1px 0 rgba(108,42,4,.26);
  outline:0;
}
.side-enroll-widget.open .side-enroll-tab::after{content:"‹"}
.side-enroll-panel{
  position:absolute;
  right:var(--side-tab-width);
  top:50%;
  width:min(330px,calc(100vw - 78px));
  transform:translate(16px,-50%) scale(.985);
  opacity:0;
  visibility:hidden;
  transition:.22s ease;
  background:rgba(255,255,255,.985);
  border:1px solid rgba(215,168,58,.34);
  border-radius:24px 0 0 24px;
  box-shadow:-24px 28px 78px rgba(8,36,82,.26);
  overflow:hidden;
  backdrop-filter:blur(16px);
}
.side-enroll-widget.open .side-enroll-panel{
  transform:translate(0,-50%) scale(1);
  opacity:1;
  visibility:visible;
}
.side-enroll-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:18px 18px 14px;
  background:linear-gradient(135deg,#fff8ec,#ffffff);
}
.side-enroll-head span{
  display:block;
  color:var(--maroon);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.13em;
  margin-bottom:3px;
}
.side-enroll-head strong{
  display:block;
  color:var(--blue-dark);
  font-family:Georgia,"Times New Roman",serif;
  font-size:23px;
  line-height:1.05;
}
.side-enroll-close{
  width:34px;
  height:34px;
  border:0;
  border-radius:50%;
  background:#f4f6fb;
  color:var(--blue-dark);
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.side-enroll-options{
  display:grid;
  gap:8px;
  padding:14px;
  background:#fff;
}
.side-enroll-options button{
  width:100%;
  border:1px solid #edf0f5;
  background:#fafbfe;
  color:var(--ink);
  border-radius:14px;
  padding:12px 13px;
  text-align:left;
  font-weight:900;
  display:flex;
  align-items:center;
  gap:11px;
  cursor:pointer;
  transition:.18s ease;
}
.side-enroll-options button:hover,
.side-enroll-options button:focus-visible{
  background:#fff8ec;
  border-color:rgba(242,189,63,.6);
  transform:translateX(-2px);
  outline:0;
}
.side-enroll-options span{
  width:26px;
  height:26px;
  border-radius:50%;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,var(--maroon),#c22a2f);
  color:#fff;
  font-size:11px;
  font-weight:950;
}
.side-enroll-call{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 14px 16px;
  padding:12px 14px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  font-weight:950;
  text-align:center;
}
@media(max-width:720px){
  .side-enroll-widget{
    --side-tab-width:42px;
    right:0;
    top:50%;
    z-index:175;
  }
  .side-enroll-tab{
    min-height:122px;
    padding:11px 8px 11px 7px;
    border-radius:19px 0 0 19px;
    font-size:12px;
    box-shadow:
      -14px 18px 32px rgba(7,26,61,.17),
      -6px 10px 20px rgba(185,71,7,.20),
      inset 1px 1px 0 rgba(255,255,255,.22);
  }
  .side-enroll-tab span{letter-spacing:.015em}
  .side-enroll-tab::before{left:6px;inset-block:8px}
  .side-enroll-tab::after{
    right:6px;
    font-size:18px;
  }
  .side-enroll-panel{
    right:var(--side-tab-width);
    width:min(300px,calc(100vw - 58px));
    max-height:calc(100dvh - 36px);
    border-radius:20px 0 0 20px;
  }
  .side-enroll-head{padding:15px 15px 12px}
  .side-enroll-head strong{font-size:21px}
  .side-enroll-options{padding:12px;gap:7px}
  .side-enroll-options button{padding:11px 12px;font-size:14px}
  .side-enroll-call{font-size:13px;margin:0 12px 14px}
}
@media(max-width:380px){
  .side-enroll-widget{--side-tab-width:40px;right:0}
  .side-enroll-tab{
    min-height:114px;
    padding:10px 7px 10px 6px;
  }
  .side-enroll-panel{
    right:var(--side-tab-width);
    width:min(292px,calc(100vw - 52px));
  }
}
@media(max-height:620px){
  .side-enroll-panel{max-height:calc(100vh - 28px);overflow:auto}
  .side-enroll-widget{top:50%}
}
@media(prefers-reduced-motion:reduce){
  .side-enroll-tab,
  .side-enroll-panel,
  .side-enroll-options button{transition:none}
}

/* --- Video hero upgrade --- */
.hero.hero-video-section{min-height:clamp(560px,82svh,860px);display:block;isolation:isolate;background:#081f46}
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;z-index:0}
.hero.hero-video-section .hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(5,18,43,.88) 0%,rgba(5,18,43,.72) 34%,rgba(5,18,43,.34) 65%,rgba(6,18,40,.56) 100%),linear-gradient(180deg,rgba(3,8,18,.08) 0%,rgba(3,8,18,.18) 46%,rgba(3,8,18,.52) 100%),radial-gradient(circle at 78% 24%,rgba(242,154,24,.18),transparent 28%)}
.hero-video-caption{display:none}
.hero-video-mini-tag{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:rgba(244,188,74,.95);color:#07214d;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.hero-video-content{position:relative;z-index:2;display:flex;align-items:center;min-height:clamp(560px,82svh,860px)}
.hero-video-section .hero-copy{max-width:min(760px,100%);padding:clamp(76px,11vw,120px) 0 clamp(54px,9vw,88px)}
.hero-video-section .hero-copy h1,.hero-video-section .hero-copy p{color:#fff;text-shadow:0 10px 30px rgba(0,0,0,.34)}
.hero-video-section .hero-copy p{max-width:760px;font-size:clamp(18px,1.8vw,24px);color:rgba(255,255,255,.9)}
.hero-video-section .hero-actions{margin:30px 0 20px}
.hero-video-section .btn-secondary{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.34);color:#fff;backdrop-filter:blur(8px)}
.hero-video-section .btn-secondary:hover{background:rgba(255,255,255,.2);border-color:rgba(255,255,255,.5)}
.hero-video-section .hero-trust span{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.24);backdrop-filter:blur(8px)}
@media(max-width:1080px){.hero.hero-video-section,.hero-video-content{min-height:clamp(560px,76svh,760px)}.hero-video{object-position:center center}.hero-video-section .hero-copy{max-width:680px;padding:92px 0 72px}}
@media(max-width:720px){.hero.hero-video-section,.hero-video-content{min-height:calc(100svh - 112px)}.hero-video{object-position:62% center}.hero-video-section .hero-copy{padding:74px 0 46px;max-width:100%}.hero-video-section .hero-copy h1{font-size:clamp(36px,9.2vw,52px);line-height:1.02}.hero-video-section .hero-copy p{font-size:17px;max-width:100%}.hero-video-section .hero-actions{gap:12px}.hero-video-section .hero-actions .btn{width:auto;min-height:52px;padding-inline:18px}.hero-video-section .hero-trust{gap:8px}}
@media(max-width:480px){.hero.hero-video-section,.hero-video-content{min-height:calc(100svh - 104px)}.hero-video{object-position:66% center}.hero-video-section .hero-copy{padding:68px 0 42px}.hero-video-section .hero-actions{display:grid;grid-template-columns:1fr;align-items:stretch}.hero-video-section .hero-actions .btn{width:100%}.hero-video-section .hero-trust span{font-size:12px;padding:8px 10px}}
@media (prefers-reduced-motion: reduce){.hero-video{display:none}.hero.hero-video-section{background:url('assets/photos/study-focus.webp') center/cover no-repeat}}


/* --- Mobile hero fit fix: keep the landscape video fully visible on phones --- */
@media(max-width:720px){
  .hero.hero-video-section{
    min-height:auto;
    display:flex;
    flex-direction:column;
    background:linear-gradient(180deg,#071a3d 0%,#0b2855 58%,#071a3d 100%);
    overflow:hidden;
  }
  .hero.hero-video-section .hero-video{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:contain;
    object-position:center center;
    background:#071a3d;
    z-index:0;
  }
  .hero.hero-video-section .hero-overlay{
    top:0;
    bottom:auto;
    height:56.25vw;
    min-height:205px;
    max-height:360px;
    background:linear-gradient(180deg,rgba(7,26,61,.08) 0%,rgba(7,26,61,.12) 48%,rgba(7,26,61,.78) 100%);
  }
  .hero-video-content{
    min-height:auto!important;
    display:block;
    padding-top:0;
  }
  .hero-video-section .hero-copy{
    padding:24px 0 42px!important;
    max-width:100%;
  }
  .hero-video-section .hero-copy h1{
    font-size:clamp(31px,8.5vw,42px)!important;
    line-height:1.04;
    letter-spacing:-.035em;
    margin-bottom:14px;
  }
  .hero-video-section .hero-copy p{
    font-size:16px!important;
    line-height:1.55;
    margin-bottom:0;
  }
  .hero-video-section .admission-tag{
    margin-bottom:14px;
    box-shadow:0 12px 28px rgba(0,0,0,.18);
  }
  .hero-video-section .hero-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin:22px 0 16px;
  }
  .hero-video-section .hero-actions .btn{
    width:100%!important;
    min-height:50px;
  }
  .hero-video-section .hero-trust{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin-top:14px;
  }
  .hero-video-section .hero-trust span{
    text-align:center;
    font-size:12px;
    padding:8px 7px;
  }
  .hero-video-caption{display:block;position:absolute;left:0;right:0;top:0;height:56.25vw;min-height:205px;max-height:360px;z-index:2;pointer-events:none}
  .hero-video-caption-inner{position:absolute;left:14px;right:14px;bottom:14px;display:flex;flex-direction:column;gap:6px;padding:14px 14px 12px;border-radius:18px;background:linear-gradient(180deg,rgba(7,26,61,.18) 0%,rgba(7,26,61,.62) 38%,rgba(7,26,61,.9) 100%);backdrop-filter:blur(3px);box-shadow:0 14px 34px rgba(0,0,0,.22)}
  .hero-video-caption strong{font-size:22px;line-height:1.04;color:#fff;letter-spacing:-.03em;text-shadow:0 8px 22px rgba(0,0,0,.32)}
  .hero-video-caption p{margin:0;font-size:12px;line-height:1.45;color:rgba(255,255,255,.88);font-weight:650}
  .hero-video-section .hero-copy{padding:20px 0 42px!important}
  .hero-video-section .admission-tag{display:none}
}
@media(max-width:380px){
  .hero-video-section .hero-copy h1{font-size:29px!important}
  .hero-video-section .hero-copy p{font-size:15px!important}
  .hero-video-section .admission-tag{transform:scale(.94);transform-origin:left center}
}


/* --- Premium hero video overlay refinement --- */
.hero-video-section .hero-copy{
  position:relative;
}
.hero-video-section .hero-copy::before{
  content:"";
  display:block;
  width:78px;
  height:3px;
  border-radius:999px;
  margin:0 0 20px;
  background:linear-gradient(90deg,#f2a31a,rgba(242,163,26,.08));
  box-shadow:0 0 24px rgba(242,163,26,.32);
}
.hero-video-section .hero-copy h1{
  max-width:820px;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.hero-video-section .hero-copy p{
  max-width:720px;
  text-wrap:pretty;
}
.hero-video-section .admission-tag{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;
  backdrop-filter:blur(8px);
}
.hero-video-section .admission-tag strong{
  color:#ffd37a;
}
.hero-video-section .admission-tag span{
  color:rgba(255,255,255,.92);
}

@media(max-width:720px){
  .hero.hero-video-section .hero-overlay{
    background:
      linear-gradient(180deg,rgba(7,26,61,.02) 0%,rgba(7,26,61,.10) 40%,rgba(7,26,61,.86) 100%),
      radial-gradient(circle at 16% 88%,rgba(242,163,26,.22),transparent 32%);
  }
  .hero-video-caption-inner{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    gap:7px!important;
    padding:0 0 0 14px!important;
    border-left:3px solid rgba(242,163,26,.96)!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
  }
  .hero-video-mini-tag{
    width:max-content;
    padding:6px 10px;
    border-radius:999px;
    background:rgba(255,255,255,.14);
    border:1px solid rgba(255,255,255,.24);
    color:#ffe6aa;
    font-size:10px;
    letter-spacing:.12em;
    box-shadow:none;
    backdrop-filter:blur(6px);
  }
  .hero-video-caption strong{
    max-width:310px;
    font-size:clamp(25px,7vw,34px)!important;
    font-weight:950;
    line-height:.98!important;
    letter-spacing:-.045em!important;
    color:#fff;
    text-shadow:0 4px 18px rgba(0,0,0,.46),0 0 22px rgba(242,163,26,.18);
  }
  .hero-video-caption p{
    max-width:300px;
    font-size:13px!important;
    color:rgba(255,255,255,.9)!important;
    font-weight:800!important;
    letter-spacing:.01em;
    text-shadow:0 3px 14px rgba(0,0,0,.4);
  }
  .hero-video-section .hero-copy::before{
    width:62px;
    height:2px;
    margin-bottom:16px;
  }
  .hero-video-section .hero-copy h1{
    font-size:clamp(30px,8vw,40px)!important;
    line-height:1.03!important;
  }
  .hero-video-section .hero-copy p{
    color:rgba(255,255,255,.86)!important;
  }
}
@media(max-width:380px){
  .hero-video-caption-inner{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
    padding-left:12px!important;
  }
  .hero-video-caption strong{
    font-size:24px!important;
  }
  .hero-video-caption p{
    font-size:12px!important;
  }
}

/* --- Page Loader --- */
html.show-page-loader,
html.show-page-loader body{overflow:hidden;}
.page-loader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(242,163,26,.18),transparent 28%),linear-gradient(180deg,#071a3d 0%,#0d2147 55%,#132d62 100%);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease;}
html.show-page-loader .page-loader{opacity:1;visibility:visible;pointer-events:auto;}
.page-loader.loaded{opacity:0!important;visibility:hidden!important;}
.page-loader-card{width:min(92vw,420px);text-align:center;padding:32px 28px;border-radius:28px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 70px rgba(0,0,0,.28);backdrop-filter:blur(14px);color:#fff;}
.page-loader-logo{width:96px;height:96px;object-fit:contain;margin:0 auto 14px;display:block;border-radius:24px;background:rgba(255,255,255,.95);padding:10px;box-shadow:0 12px 30px rgba(0,0,0,.15);}
.page-loader-kicker{display:inline-block;margin-bottom:8px;padding:6px 12px;border-radius:999px;background:rgba(242,163,26,.16);border:1px solid rgba(242,163,26,.45);color:#ffd888;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;}
.page-loader h2{margin:0 0 10px;font-size:clamp(28px,3vw,36px);color:#fff;}
.page-loader p{margin:0 auto 18px;max-width:320px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.6;}
.page-loader-progress{width:100%;height:7px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden;}
.page-loader-progress span{display:block;width:38%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f2a31a 0%,#ffd77a 100%);animation:pageLoaderBar 1.45s ease-in-out infinite;}
@keyframes pageLoaderBar{0%{transform:translateX(-115%)}50%{transform:translateX(95%)}100%{transform:translateX(225%)}}

/* --- Transport showcase --- */
.transport-showcase-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:clamp(24px,3vw,40px);align-items:center;}
.transport-figure{margin:0;max-width:760px;}
.transport-figure img{width:100%;height:clamp(260px,34vw,390px);display:block;border-radius:28px;box-shadow:0 20px 50px rgba(7,26,61,.14);object-fit:cover;object-position:center;}
.transport-showcase-grid .transport-figure{justify-self:center;width:100%;}
@media (max-width:900px){.transport-figure{max-width:100%;}.transport-figure img{height:clamp(210px,56vw,300px);}}
.transport-figure figcaption{margin-top:12px;color:var(--muted);font-size:14px;}
.transport-copy .feature-list{margin:18px 0 24px;}
.transport-copy .btn{width:max-content;}
@media (max-width:900px){.transport-showcase-grid{grid-template-columns:1fr;}.transport-copy .btn{width:100%;}}


/* --- Premium 3D Page Loader Upgrade --- */
html.show-page-loader,
html.show-page-loader body{overflow:hidden;}

.page-loader{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:
    radial-gradient(circle at 22% 18%,rgba(242,163,26,.26),transparent 30%),
    radial-gradient(circle at 78% 82%,rgba(139,21,26,.24),transparent 34%),
    linear-gradient(145deg,#06183a 0%,#0b2556 46%,#081936 100%);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  perspective:1200px;
  transition:opacity .55s ease,visibility .55s ease;
}

html.show-page-loader .page-loader{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.page-loader.loaded{
  opacity:0!important;
  visibility:hidden!important;
}

.page-loader::before{
  content:"";
  position:absolute;
  inset:-18%;
  background:
    linear-gradient(115deg,transparent 0%,rgba(255,255,255,.08) 42%,transparent 58%),
    radial-gradient(circle at center,rgba(255,255,255,.05),transparent 48%);
  animation:loaderAtmosphere 3.8s ease-in-out infinite alternate;
}

.page-loader-card{
  position:relative;
  width:min(92vw,440px);
  min-height:390px;
  text-align:center;
  padding:42px 30px 34px;
  border-radius:34px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.15),rgba(255,255,255,.075)),
    radial-gradient(circle at 50% 0%,rgba(242,163,26,.22),transparent 46%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    0 34px 90px rgba(0,0,0,.34),
    inset 0 1px 0 rgba(255,255,255,.28);
  backdrop-filter:blur(18px);
  color:#fff;
  overflow:hidden;
  transform-style:preserve-3d;
  animation:loaderCard3D 1.25s cubic-bezier(.19,1,.22,1) both, loaderCardFloat 3.2s ease-in-out 1.25s infinite;
}

.page-loader-card::before{
  content:"";
  position:absolute;
  inset:-60%;
  background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.17) 50%,transparent 62%);
  transform:translateX(-42%) rotate(10deg);
  animation:loaderShine 2.4s ease-in-out infinite;
}

.page-loader-logo{
  position:relative;
  z-index:3;
  width:104px;
  height:104px;
  object-fit:contain;
  margin:4px auto 18px;
  display:block;
  border-radius:28px;
  background:rgba(255,255,255,.96);
  padding:11px;
  box-shadow:
    0 18px 45px rgba(0,0,0,.22),
    0 0 0 9px rgba(255,255,255,.08),
    0 0 48px rgba(242,163,26,.28);
  transform-style:preserve-3d;
  animation:loaderLogo3D 2.4s ease-in-out infinite;
}

.loader-orbit{
  position:absolute;
  left:50%;
  top:38%;
  z-index:1;
  width:174px;
  height:174px;
  border-radius:50%;
  border:1px solid rgba(242,163,26,.55);
  box-shadow:0 0 30px rgba(242,163,26,.18);
  transform-style:preserve-3d;
  pointer-events:none;
}

.loader-orbit-one{
  transform:translate(-50%,-50%) rotateX(68deg) rotateZ(0deg);
  animation:loaderOrbitOne 2.2s linear infinite;
}

.loader-orbit-two{
  width:214px;
  height:214px;
  border-color:rgba(255,255,255,.22);
  transform:translate(-50%,-50%) rotateX(72deg) rotateY(52deg) rotateZ(0deg);
  animation:loaderOrbitTwo 3.1s linear infinite reverse;
}

.page-loader-kicker{
  position:relative;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  padding:7px 14px;
  border-radius:999px;
  background:rgba(242,163,26,.16);
  border:1px solid rgba(242,163,26,.5);
  color:#ffdc92;
  font-size:12px;
  font-weight:900;
  letter-spacing:.18em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(0,0,0,.12);
}

.page-loader h2{
  position:relative;
  z-index:3;
  margin:0 0 10px;
  font-size:clamp(30px,3.3vw,40px);
  line-height:1.05;
  color:#fff;
  letter-spacing:-.04em;
  text-shadow:0 14px 35px rgba(0,0,0,.28);
}

.page-loader p{
  position:relative;
  z-index:3;
  margin:0 auto 22px;
  max-width:330px;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.65;
}

.page-loader-progress{
  position:relative;
  z-index:3;
  width:100%;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.13);
  overflow:hidden;
}

.page-loader-progress span{
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#c45f08 0%,#f2a31a 48%,#ffe19b 100%);
  box-shadow:0 0 18px rgba(242,163,26,.45);
  animation:pageLoaderBar 1.35s ease-in-out infinite;
}

@keyframes loaderCard3D{
  0%{opacity:0;transform:rotateX(18deg) rotateY(-16deg) translateY(32px) scale(.88)}
  60%{opacity:1;transform:rotateX(-4deg) rotateY(5deg) translateY(-4px) scale(1.02)}
  100%{opacity:1;transform:rotateX(0deg) rotateY(0deg) translateY(0) scale(1)}
}

@keyframes loaderCardFloat{
  0%,100%{transform:translateY(0) rotateX(0deg) rotateY(0deg)}
  50%{transform:translateY(-8px) rotateX(2deg) rotateY(-2deg)}
}

@keyframes loaderLogo3D{
  0%,100%{transform:translateZ(42px) rotateY(-7deg) rotateX(2deg)}
  50%{transform:translateZ(58px) rotateY(7deg) rotateX(-2deg)}
}

@keyframes loaderOrbitOne{
  from{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(0deg)}
  to{transform:translate(-50%,-50%) rotateX(68deg) rotateZ(360deg)}
}

@keyframes loaderOrbitTwo{
  from{transform:translate(-50%,-50%) rotateX(72deg) rotateY(52deg) rotateZ(0deg)}
  to{transform:translate(-50%,-50%) rotateX(72deg) rotateY(52deg) rotateZ(360deg)}
}

@keyframes loaderShine{
  0%,45%{transform:translateX(-48%) rotate(10deg);opacity:0}
  55%{opacity:1}
  100%{transform:translateX(48%) rotate(10deg);opacity:0}
}

@keyframes loaderAtmosphere{
  from{transform:translate3d(-1%,0,0) rotate(0deg)}
  to{transform:translate3d(1%,-1%,0) rotate(2deg)}
}

@media(max-width:520px){
  .page-loader{padding:18px;}
  .page-loader-card{min-height:360px;padding:36px 24px 30px;border-radius:30px;}
  .page-loader-logo{width:94px;height:94px;border-radius:25px;}
  .loader-orbit{width:150px;height:150px;top:37%;}
  .loader-orbit-two{width:184px;height:184px;}
  .page-loader h2{font-size:31px;}
  .page-loader p{font-size:14px;max-width:292px;}
}

@media (prefers-reduced-motion: reduce){
  .page-loader-card,
  .page-loader-card::before,
  .page-loader-logo,
  .loader-orbit,
  .page-loader::before,
  .page-loader-progress span{
    animation:none!important;
  }
}

/* --- 2025-26 grouped ranker cards --- */
.result-ranker-section{
  background:linear-gradient(180deg,#ffffff 0%,#f5f8ff 100%);
}
.result-ranker-section .section-heading{
  max-width:780px;
}
.ranker-group{
  margin-top:clamp(24px,3vw,38px);
}
.ranker-group-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.ranker-group-head h3{
  margin:8px 0 0;
  font-size:clamp(26px,3vw,38px);
  color:var(--blue-dark);
}
.ranker-group-head p{
  margin:0;
  max-width:340px;
  color:var(--muted);
  font-weight:750;
}
.ranker-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:8px 14px;
  background:rgba(7,55,128,.1);
  color:var(--blue);
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:12px;
}
.ranker-badge.commerce{
  background:rgba(139,21,26,.1);
  color:var(--maroon);
}
.ranker-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,24px);
}
.ranker-card{
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:#071a3d;
  border:1px solid rgba(215,168,58,.35);
  box-shadow:0 22px 60px rgba(7,26,61,.16);
  transform:translateZ(0);
}
.ranker-card img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1122/1402;
  object-fit:cover;
}
.ranker-card-copy{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  display:none;
  padding:12px 14px;
  border-radius:18px;
  background:linear-gradient(180deg,rgba(7,26,61,.22),rgba(7,26,61,.84));
  color:#fff;
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
}
.ranker-card-copy span,
.ranker-card-copy small{
  display:block;
  color:rgba(255,255,255,.84);
  font-weight:800;
}
.ranker-card-copy strong{
  display:block;
  color:#fff;
  font-size:20px;
  line-height:1.1;
}
.ranker-card:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 70px rgba(7,26,61,.22);
}
.ranker-actions{
  display:flex;
  justify-content:center;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}
@media(max-width:980px){
  .ranker-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .ranker-group-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .ranker-grid{grid-template-columns:1fr;}
  .ranker-card{border-radius:22px;}
  .ranker-actions .btn{width:100%;}
}

/* --- grouped poster cards replacing individual ranker cards --- */
.poster-grid{
  grid-template-columns:1fr;
  max-width:min(100%,1100px);
  margin:0 auto;
}
.poster-ranker-card{
  background:#ffffff;
  border:1px solid rgba(215,168,58,.42);
  box-shadow:0 22px 60px rgba(7,26,61,.14);
}
.poster-ranker-card img{
  aspect-ratio:auto;
  width:100%;
  height:auto;
  object-fit:contain;
  background:#fff;
}



/* --- Results page canonical layout --- */
.results-hero{
  min-height:clamp(500px,66vh,700px);
  display:flex;
  align-items:center;
  overflow:hidden;
  background:radial-gradient(circle at 82% 18%,rgba(242,163,26,.20),transparent 28%),linear-gradient(135deg,#061733 0%,#082452 46%,#071936 100%)!important;
}
.results-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 84% 22%,rgba(255,215,122,.22),transparent 30%),linear-gradient(90deg,rgba(3,12,28,.54),rgba(3,12,28,.20) 50%,rgba(3,12,28,.42));
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
  opacity:1;
  filter:none;
  pointer-events:none;
}
.results-hero:after{
  content:"";
  position:absolute;
  inset:auto 0 0 0;
  height:96px;
  background:linear-gradient(180deg,transparent,rgba(245,248,255,.96));
  pointer-events:none;
}
.results-hero-layout{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,900px);
  justify-content:flex-start;
  gap:clamp(24px,4vw,52px);
  align-items:center;
  padding:clamp(48px,6vw,84px) 0;
}
.results-hero-copy{
  max-width:900px;
  padding:clamp(22px,3vw,38px);
  border-radius:34px;
  background:linear-gradient(180deg,rgba(255,255,255,.13),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 28px 90px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
}
.results-hero-copy .eyebrow{color:#ffe6a6;}
.results-hero-copy h1{margin:10px 0 14px;color:#fff;text-shadow:0 12px 35px rgba(0,0,0,.36);}
.results-hero-copy p{max-width:720px;color:rgba(255,255,255,.88);font-size:clamp(18px,1.4vw,22px);}
.results-hero-copy p strong{color:#ffe7a8;}
.results-hero-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0;max-width:620px;}
.results-hero-stats article{border-radius:18px;padding:15px 14px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);}
.results-hero-stats strong{display:block;color:#ffd77a;font-size:clamp(28px,3vw,44px);line-height:1;font-family:Georgia,"Times New Roman",serif;}
.results-hero-stats span{display:block;color:rgba(255,255,255,.84);font-weight:850;font-size:13px;margin-top:6px;}
.legacy-board-image{width:100%;height:auto;max-height:none;object-fit:contain;background:#fff;padding:10px;}
.full-state-rankers-section{background:linear-gradient(180deg,#fff,#f5f8ff);}
.full-rankers-board{margin:0 auto;max-width:1220px;padding:12px;border-radius:30px;background:#fff;border:1px solid rgba(215,168,58,.28);box-shadow:0 22px 70px rgba(7,26,61,.14);overflow:hidden;}
.full-rankers-board img{display:block;width:100%;height:auto;border-radius:20px;}
@media(max-width:680px){
  .results-hero{min-height:auto;}
  .results-hero-layout{padding:34px 0 42px;}
  .results-hero-copy{padding:20px;border-radius:24px;}
  .results-hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  .results-hero-stats article{padding:13px 10px;}
  .results-hero-stats span{font-size:12px;}
  .results-band{padding-top:42px;padding-bottom:42px;}
  .results-band .results-grid{gap:22px;}
  .results-band .legacy-board-image{border-radius:20px;padding:6px;}
  .full-rankers-board{padding:8px;border-radius:22px;}
  .full-rankers-board img{border-radius:14px;}
}

#pu-college-tavarekere{
  padding:54px 0 58px;
  background:linear-gradient(180deg,#fff 0%,#fff9ef 46%,#f6faff 100%);
}

#pu-college-tavarekere .split-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(310px,.72fr);
  gap:34px;
  align-items:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:30px;
  background:rgba(255,255,255,.86);
  box-shadow:0 22px 55px rgba(15,35,70,.11);
  padding:36px;
}

#pu-college-tavarekere .split-copy h2{
  max-width:680px;
  font-size:clamp(30px,3.35vw,46px);
  letter-spacing:-.035em;
  margin-bottom:16px;
}

#pu-college-tavarekere .split-copy p{
  max-width:720px;
  font-size:16.5px;
  line-height:1.72;
  margin-bottom:12px;
}

#pu-college-tavarekere .hero-actions{
  margin-top:22px;
}

#pu-college-tavarekere .feature-list{
  align-self:center;
  display:grid;
  grid-template-columns:1fr;
  gap:13px;
  margin:0;
}

#pu-college-tavarekere .feature-list span{
  min-height:58px;
  align-items:center;
  border:1px solid rgba(17,59,120,.1);
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f7fbff);
  box-shadow:0 10px 24px rgba(15,35,70,.08);
  padding:14px 16px;
}

#pu-college-tavarekere .feature-list span:before{
  background:linear-gradient(135deg,var(--green),#278c7b);
}

@media (max-width:900px){
  #pu-college-tavarekere{
    padding:46px 0;
  }

  #pu-college-tavarekere .split-grid{
    grid-template-columns:1fr;
    gap:24px;
    padding:28px;
  }

  #pu-college-tavarekere .feature-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px){
  #pu-college-tavarekere{
    padding:36px 0;
  }

  #pu-college-tavarekere .split-grid{
    border-radius:24px;
    padding:22px;
  }

  #pu-college-tavarekere .split-copy h2{
    font-size:clamp(28px,9vw,36px);
  }

  #pu-college-tavarekere .feature-list{
    grid-template-columns:1fr;
  }

  #pu-college-tavarekere .hero-actions .btn{
    width:100%;
  }
}

.course-overview-section{
  background:linear-gradient(180deg,#fff,#f7fbff);
}

.course-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:30px;
  align-items:start;
}

.course-overview-card,.course-note-card,.course-faq-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--soft-shadow);
  padding:26px;
}

.course-overview-card h2,.course-note-card h3{
  margin-bottom:12px;
}

.course-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-self:start;
}

.course-link-grid a{
  display:block;
  border:1px solid rgba(17,59,120,.12);
  border-radius:18px;
  background:linear-gradient(135deg,#fff,#f7fbff);
  padding:12px;
  box-shadow:0 10px 24px rgba(15,35,70,.07);
  transition:.22s ease;
}

.course-link-grid a:hover{
  transform:translateY(-4px);
  box-shadow:var(--soft-shadow);
}

.course-link-grid img{
  width:100%;
  height:112px;
  object-fit:cover;
  border-radius:14px;
  margin-bottom:12px;
  background:#f3f7ff;
}

.course-link-grid strong,.course-combo-card strong,.course-faq-card strong{
  display:block;
  color:var(--blue-dark);
  font-size:18px;
  margin-bottom:5px;
}

.course-link-grid span,.course-combo-card span,.course-faq-card p{
  color:var(--muted);
}

.course-link-grid span{
  display:block;
  font-size:15px;
  line-height:1.55;
}

.course-combo-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin:22px 0 24px;
}

.course-combo-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(139,21,26,.18);
  border-radius:22px;
  background:
    linear-gradient(135deg,rgba(255,255,255,.96),rgba(247,251,255,.94)),
    radial-gradient(circle at 100% 0%,rgba(242,189,63,.18),transparent 38%);
  padding:22px;
  box-shadow:0 18px 42px rgba(15,35,70,.11);
}

.course-combo-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--maroon),var(--gold));
}

.course-combo-card small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:68px;
  border-radius:999px;
  background:linear-gradient(135deg,var(--maroon),var(--blue-dark));
  color:#fff;
  font-weight:950;
  letter-spacing:.08em;
  padding:8px 13px;
  margin-bottom:14px;
  box-shadow:0 10px 24px rgba(139,21,26,.18);
}

.course-combo-card strong{
  font-size:20px;
  line-height:1.28;
  margin-bottom:10px;
}

.course-combo-card span{
  display:block;
  line-height:1.58;
}

.course-depth-grid,.course-pathway-grid,.course-faq-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.course-depth-grid article,.course-pathway-grid article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  padding:22px;
}

.course-depth-grid span,.course-pathway-grid span{
  display:inline-grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--maroon),var(--blue));
  color:#fff;
  font-weight:950;
  margin-bottom:14px;
}

.course-depth-grid strong,.course-pathway-grid strong{
  display:block;
  color:var(--blue-dark);
  font-size:20px;
  margin-bottom:8px;
}

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

.course-faq-card p{
  margin-bottom:0;
}

.course-admission-panel{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  padding:34px;
  box-shadow:var(--shadow);
}

.course-admission-panel p{
  color:rgba(255,255,255,.82);
  max-width:720px;
}

.course-admission-panel .eyebrow{
  color:#ffe7a8;
}

@media (max-width:980px){
  .course-overview-grid,.stream-detail{
    grid-template-columns:1fr;
  }

  .stream-detail.reverse > img{
    order:2;
  }

  .stream-detail.reverse > div{
    order:1;
  }

  .stream-detail img{
    max-height:300px;
  }

  .course-depth-grid,.course-pathway-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .course-overview-section{
    padding-top:46px;
    padding-bottom:46px;
  }

  .course-overview-grid{
    gap:18px;
  }

  .course-overview-card{
    padding:20px;
    border-radius:22px;
  }

  .course-overview-card h2{
    font-size:clamp(27px,8vw,34px);
  }

  .course-link-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .course-link-grid a{
    border-radius:16px;
    padding:9px;
  }

  .course-link-grid img{
    height:72px;
    border-radius:12px;
    margin-bottom:8px;
  }

  .course-link-grid strong{
    font-size:14px;
    line-height:1.2;
    margin-bottom:4px;
  }

  .course-link-grid span{
    font-size:12px;
    line-height:1.38;
  }

  .stream-detail{
    gap:22px;
  }

  .stream-detail img{
    height:210px;
    max-height:210px;
    border-radius:22px;
  }

  .course-combo-grid{
    grid-template-columns:1fr;
    gap:12px;
    margin:18px 0 22px;
  }

  .course-combo-card{
    border-radius:20px;
    padding:18px 18px 18px 20px;
  }

  .course-combo-card small{
    min-width:58px;
    padding:7px 11px;
    margin-bottom:10px;
  }

  .course-combo-card strong{
    font-size:17px;
  }

  .course-combo-card span{
    font-size:14px;
  }

  .course-depth-grid,.course-pathway-grid,.course-faq-grid{
    grid-template-columns:1fr;
  }

  .course-admission-panel{
    display:grid;
    padding:24px;
  }
}

.admissions-seo-page{
  background:linear-gradient(180deg,#fff,#f7fbff 52%,#fff);
}

.admissions-intro{
  padding:62px 0 34px;
}

.admissions-intro-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  gap:34px;
  align-items:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:32px;
  background:linear-gradient(135deg,#fff,#fff8ec 48%,#edf5ff);
  box-shadow:0 22px 60px rgba(15,35,70,.12);
  padding:40px;
}

.admissions-intro-card h1{
  max-width:760px;
  margin-bottom:16px;
  font-size:clamp(36px,4vw,58px);
  letter-spacing:-.04em;
}

.admissions-intro-card p{
  max-width:780px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.admissions-quick-box{
  display:grid;
  gap:14px;
}

.admissions-quick-box span{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid rgba(17,59,120,.1);
  border-radius:18px;
  background:rgba(255,255,255,.85);
  padding:16px;
  box-shadow:0 10px 24px rgba(15,35,70,.08);
  color:var(--blue-dark);
  font-weight:900;
}

.admissions-quick-box span:before{
  content:"✓";
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border-radius:50%;
  background:var(--green);
  color:#fff;
  font-size:13px;
}

.admission-process-grid,.admission-doc-grid,.admission-faq-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.admission-step-card,.admission-doc-card,.admission-faq-card,.admission-course-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  padding:22px;
}

.admission-step-card span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:15px;
  background:linear-gradient(135deg,var(--maroon),var(--blue));
  color:#fff;
  font-weight:950;
  margin-bottom:14px;
}

.admission-step-card strong,.admission-doc-card strong,.admission-faq-card strong,.admission-course-card strong{
  display:block;
  color:var(--blue-dark);
  font-size:19px;
  margin-bottom:8px;
}

.admission-step-card p,.admission-doc-card p,.admission-faq-card p,.admission-course-card p{
  color:var(--muted);
  margin-bottom:0;
}

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

.admission-course-card{
  position:relative;
  overflow:hidden;
  padding:26px;
  border-color:rgba(139,21,26,.18);
}

.admission-course-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--maroon),var(--gold));
}

.admission-course-card .chips{
  margin-top:16px;
}

.admission-form-section .admission-grid{
  align-items:start;
}

.admission-form-intro{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--soft-shadow);
  padding:28px;
}

@media (max-width:980px){
  .admissions-intro-card{
    grid-template-columns:1fr;
  }

  .admission-process-grid,.admission-doc-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .admissions-intro{
    padding-top:42px;
  }

  .admissions-intro-card{
    border-radius:24px;
    padding:24px;
  }

  .admission-process-grid,.admission-doc-grid,.admission-faq-grid,.admission-course-grid{
    grid-template-columns:1fr;
  }

  .admission-form-intro{
    padding:22px;
  }
}

.results-page{
  background:#fff;
}

.results-page .results-hero{
  position:relative;
  overflow:hidden;
  padding:92px 0 84px;
  margin:0;
  background:linear-gradient(135deg,#071a3d 0%,#0d376f 64%,#8b151a 100%);
  color:#fff;
}

.results-page .results-hero:after{
  display:none;
}

.results-page .results-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.42fr);
  gap:34px;
  align-items:center;
}

.results-page .results-hero h1,
.results-page .results-hero p{
  color:#fff;
}

.results-page .results-hero p{
  max-width:760px;
  color:rgba(255,255,255,.88);
}

.results-page .results-hero .eyebrow{
  color:#ffe8ac;
}

.results-page .results-hero-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.results-page .results-hero-stats article{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:rgba(255,255,255,.1);
  box-shadow:0 18px 42px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.16);
  padding:22px;
  backdrop-filter:blur(10px);
}

.results-page .results-hero-stats article:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  background:#f2bd3f;
}

.results-page .results-hero-stats article:after{
  display:none;
}

.results-page .results-hero-stats strong{
  position:relative;
  z-index:1;
  display:block;
  color:#fff;
  font-size:clamp(34px,4vw,52px);
  line-height:1;
  margin-bottom:8px;
  letter-spacing:-.04em;
}

.results-page .results-hero-stats span{
  position:relative;
  z-index:1;
  color:rgba(255,255,255,.88);
  font-weight:900;
}

.results-seo-summary{
  position:relative;
  z-index:1;
  margin-top:0;
  padding:68px 0 74px;
  background:linear-gradient(180deg,#f6f8fc 0%,#ffffff 100%);
}

.results-seo-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:32px;
  align-items:center;
  border:1px solid rgba(17,59,120,.1);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 46px rgba(15,35,70,.1);
  padding:38px;
}

.results-seo-card h2{
  max-width:760px;
  margin-bottom:14px;
}

.results-seo-card p{
  color:var(--muted);
  font-size:17px;
  line-height:1.72;
}

.results-proof-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.results-proof-grid article{
  position:relative;
  overflow:hidden;
  min-height:116px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:20px;
  background:#fff;
  padding:20px;
  box-shadow:0 12px 28px rgba(15,35,70,.08);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.results-proof-grid article:before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--maroon),#f2bd3f);
}

.results-proof-grid article:after{
  display:none;
}

.results-proof-grid article:hover{
  transform:translateY(-3px);
  border-color:rgba(139,21,26,.22);
  box-shadow:0 18px 38px rgba(15,35,70,.12);
}

.results-proof-grid strong{
  position:relative;
  z-index:1;
  display:block;
  color:var(--maroon);
  font-size:clamp(27px,3vw,35px);
  line-height:1;
  margin-bottom:8px;
  letter-spacing:-.04em;
}

.results-proof-grid span{
  position:relative;
  z-index:1;
  color:var(--blue-dark);
  font-weight:950;
  line-height:1.25;
}

.result-text-grid,.result-ranker-text-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}

.result-text-card,.result-ranker-text-card,.legacy-year-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  padding:22px;
}

.result-text-card strong,.result-ranker-text-card strong{
  display:block;
  color:var(--blue-dark);
  font-size:20px;
  margin-bottom:8px;
}

.result-text-card p,.result-ranker-text-card p{
  color:var(--muted);
  margin-bottom:0;
}

.result-ranker-text-card ul{
  list-style:none;
  display:grid;
  gap:10px;
  margin:14px 0 0;
  padding:0;
}

.result-ranker-text-card li{
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-radius:14px;
  background:#f7fbff;
  padding:11px 13px;
  color:var(--ink);
  font-weight:800;
}

.result-ranker-text-card li span{
  color:var(--maroon);
  font-weight:950;
  white-space:nowrap;
}

.legacy-year-grid{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:12px;
}

.legacy-year-card{
  text-align:center;
  padding:16px 10px;
}

.legacy-year-card strong{
  display:block;
  color:var(--blue-dark);
  font-size:16px;
  margin-bottom:5px;
}

.legacy-year-card span{
  color:var(--maroon);
  font-size:24px;
  font-weight:950;
  line-height:1;
}

.results-trust-panel{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  padding:34px;
  box-shadow:var(--shadow);
}

.results-trust-panel p{
  color:rgba(255,255,255,.82);
  max-width:760px;
}

.results-trust-panel .eyebrow{
  color:#ffe7a8;
}

@media (max-width:980px){
  .results-page .results-hero{
    padding:74px 0 72px;
  }

  .results-page .results-hero-grid,
  .results-seo-card,.result-text-grid,.result-ranker-text-grid{
    grid-template-columns:1fr;
  }

  .legacy-year-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .results-page .results-hero{
    padding:48px 0 54px;
  }

  .results-page .results-hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .results-page .results-hero-stats article{
    border-radius:18px;
    padding:16px 12px;
  }

  .results-seo-summary{
    margin-top:0;
    padding:38px 0 48px;
  }

  .results-seo-card{
    border-radius:24px;
    padding:24px;
  }

  .results-proof-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .results-proof-grid article{
    min-height:104px;
    border-radius:16px;
    padding:15px 12px;
  }

  .results-proof-grid strong{
    font-size:24px;
  }

  .results-proof-grid span{
    font-size:13px;
  }

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

  .results-trust-panel{
    display:grid;
    padding:24px;
  }
}

.contact-local-page{
  background:linear-gradient(180deg,#fff,#f7fbff 48%,#fff);
}

.contact-local-hero{
  padding:66px 0 42px;
}

.contact-local-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);
  gap:34px;
  align-items:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:32px;
  background:linear-gradient(135deg,#fff,#fff8ec 48%,#eef6ff);
  box-shadow:0 22px 58px rgba(15,35,70,.12);
  padding:40px;
}

.contact-local-card h1{
  max-width:760px;
  margin-bottom:16px;
  font-size:clamp(36px,4vw,58px);
  letter-spacing:-.04em;
}

.contact-local-card p{
  max-width:780px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.contact-nap-card{
  background:#fff;
  border:1px solid rgba(17,59,120,.12);
  border-radius:24px;
  box-shadow:0 14px 34px rgba(15,35,70,.1);
  padding:24px;
}

.contact-nap-card h2{
  margin-bottom:12px;
  font-size:28px;
}

.contact-nap-card address{
  font-style:normal;
  color:var(--muted);
  line-height:1.7;
  margin-bottom:18px;
}

.contact-action-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.contact-action-grid a{
  display:flex;
  flex-direction:column;
  gap:3px;
  border:1px solid rgba(17,59,120,.1);
  border-radius:16px;
  background:#f8fbff;
  padding:14px;
}

.contact-action-grid strong{
  color:var(--blue-dark);
  font-size:15px;
}

.contact-action-grid span{
  color:var(--maroon);
  font-weight:950;
}

.contact-trust-grid,.contact-area-grid,.contact-faq-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.contact-trust-card,.contact-area-card,.contact-faq-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
  padding:22px;
}

.contact-trust-card span{
  display:inline-grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:14px;
  background:linear-gradient(135deg,var(--maroon),var(--blue));
  color:#fff;
  font-weight:950;
  margin-bottom:14px;
}

.contact-trust-card strong,.contact-area-card strong,.contact-faq-card strong{
  display:block;
  color:var(--blue-dark);
  font-size:19px;
  margin-bottom:8px;
}

.contact-trust-card p,.contact-area-card p,.contact-faq-card p{
  color:var(--muted);
  margin-bottom:0;
}

.contact-map-panel{
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  gap:28px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg,#071a3d,#0d376f);
  color:#fff;
  padding:34px;
  box-shadow:var(--shadow);
}

.contact-map-panel p{
  color:rgba(255,255,255,.82);
}

.contact-map-panel .eyebrow{
  color:#ffe7a8;
}

.contact-map-card{
  min-height:260px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.06));
  text-align:center;
  padding:24px;
}

.contact-map-card strong{
  display:block;
  color:#fff;
  font-size:24px;
  margin-bottom:8px;
}

.contact-form-section .admission-grid{
  align-items:start;
}

.contact-form-intro{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--soft-shadow);
  padding:28px;
}

@media (max-width:980px){
  .contact-local-card,.contact-map-panel{
    grid-template-columns:1fr;
  }

  .contact-trust-grid,.contact-area-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:640px){
  .contact-local-hero{
    padding:42px 0 28px;
  }

  .contact-local-card{
    border-radius:24px;
    padding:24px;
  }

  .contact-action-grid,.contact-trust-grid,.contact-area-grid,.contact-faq-grid{
    grid-template-columns:1fr;
  }

  .contact-map-panel{
    border-radius:24px;
    padding:24px;
  }

  .contact-map-card{
    min-height:190px;
  }

  .contact-form-intro{
    padding:22px;
  }
}

.faq-page{
  background:linear-gradient(180deg,#fff,#f7fbff 45%,#fff);
}

.faq-hero{
  padding:66px 0 42px;
}

.faq-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(310px,.95fr);
  gap:34px;
  align-items:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:32px;
  background:linear-gradient(135deg,#fff,#fff8ec 48%,#eef6ff);
  box-shadow:0 22px 58px rgba(15,35,70,.12);
  padding:40px;
}

.faq-hero-card h1{
  max-width:760px;
  margin-bottom:16px;
  font-size:clamp(36px,4vw,58px);
  letter-spacing:-.04em;
}

.faq-hero-card p{
  max-width:780px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.faq-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.faq-topic-grid a{
  display:block;
  border:1px solid rgba(17,59,120,.1);
  border-radius:18px;
  background:#fff;
  padding:16px;
  box-shadow:0 10px 24px rgba(15,35,70,.08);
}

.faq-topic-grid strong{
  display:block;
  color:var(--blue-dark);
  font-size:17px;
  margin-bottom:4px;
}

.faq-topic-grid span{
  color:var(--muted);
  font-size:14px;
}

.faq-section-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:var(--soft-shadow);
  padding:30px;
}

.faq-list{
  display:grid;
  gap:14px;
  margin-top:22px;
}

.faq-item{
  border:1px solid rgba(17,59,120,.1);
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#f8fbff);
  padding:18px 20px;
}

.faq-item h3{
  color:var(--blue-dark);
  font-size:19px;
  margin-bottom:7px;
}

.faq-item p{
  color:var(--muted);
  margin-bottom:0;
}

.faq-cta-panel{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  padding:34px;
  box-shadow:var(--shadow);
}

.faq-cta-panel p{
  color:rgba(255,255,255,.82);
  max-width:760px;
}

.faq-cta-panel .eyebrow{
  color:#ffe7a8;
}

@media (max-width:900px){
  .faq-hero-card{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  .faq-hero{
    padding:42px 0 28px;
  }

  .faq-hero-card{
    border-radius:24px;
    padding:24px;
  }

  .faq-topic-grid{
    grid-template-columns:1fr;
  }

  .faq-section-card{
    border-radius:22px;
    padding:22px;
  }

  .faq-item{
    padding:16px;
  }

  .faq-cta-panel{
    display:grid;
    padding:24px;
  }
}

.faq-page{
  background:linear-gradient(180deg,#fff,#f7fbff 46%,#fff);
}

.faq-hero{
  padding:62px 0 38px;
}

.faq-hero-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);
  gap:34px;
  align-items:center;
  border:1px solid rgba(17,59,120,.12);
  border-radius:32px;
  background:linear-gradient(135deg,#fff,#fff8ec 48%,#eef6ff);
  box-shadow:0 22px 58px rgba(15,35,70,.12);
  padding:40px;
}

.faq-hero-card h1{
  max-width:780px;
  margin-bottom:16px;
  font-size:clamp(36px,4vw,58px);
  letter-spacing:-.04em;
}

.faq-hero-card p{
  max-width:760px;
  color:var(--muted);
  font-size:18px;
  line-height:1.72;
}

.faq-topic-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.faq-topic-grid a{
  display:block;
  border:1px solid rgba(17,59,120,.1);
  border-radius:18px;
  background:#fff;
  box-shadow:0 10px 24px rgba(15,35,70,.07);
  padding:16px;
}

.faq-topic-grid strong{
  display:block;
  color:var(--blue-dark);
  font-size:17px;
  margin-bottom:4px;
}

.faq-topic-grid span{
  color:var(--muted);
  font-size:14px;
}

.faq-section-grid{
  display:grid;
  grid-template-columns:minmax(240px,.34fr) minmax(0,.66fr);
  gap:26px;
  align-items:start;
}

.faq-section-heading{
  position:sticky;
  top:98px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--soft-shadow);
  padding:24px;
}

.faq-section-heading h2{
  margin-bottom:10px;
}

.faq-section-heading p{
  color:var(--muted);
  margin-bottom:0;
}

.faq-list{
  display:grid;
  gap:14px;
}

.faq-item{
  background:#fff;
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow:0 10px 26px rgba(15,35,70,.07);
  padding:20px;
}

.faq-item strong{
  display:block;
  color:var(--blue-dark);
  font-size:18px;
  margin-bottom:8px;
}

.faq-item p{
  color:var(--muted);
  margin-bottom:0;
}

.faq-cta-panel{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  padding:34px;
  box-shadow:var(--shadow);
}

.faq-cta-panel p{
  color:rgba(255,255,255,.82);
  max-width:760px;
}

.faq-cta-panel .eyebrow{
  color:#ffe7a8;
}

@media (max-width:900px){
  .faq-hero-card,.faq-section-grid{
    grid-template-columns:1fr;
  }

  .faq-section-heading{
    position:static;
  }
}

@media (max-width:640px){
  .faq-hero{
    padding:42px 0 26px;
  }

  .faq-hero-card{
    border-radius:24px;
    padding:24px;
  }

  .faq-topic-grid{
    grid-template-columns:1fr;
  }

  .faq-cta-panel{
    display:grid;
    padding:24px;
  }
}

.leadership-section{background:#fff8ef;overflow:hidden}.leadership-preview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.leadership-card{background:#fff;border:1px solid rgba(143,17,22,.1);border-radius:26px;box-shadow:0 20px 56px rgba(7,26,61,.08);overflow:hidden;display:flex;flex-direction:column}.leadership-photo{aspect-ratio:4/5;height:auto;overflow:hidden;background:#f7f3ee}.leadership-photo img{width:100%;height:100%;object-fit:cover;object-position:center center;display:block;transform:scale(1.01);filter:saturate(1.03) contrast(1.03)}.leadership-body{padding:20px;display:flex;flex-direction:column;gap:10px;flex:1}.leadership-role{align-self:flex-start;padding:7px 10px;border-radius:999px;background:#fff5e5;color:#8f1116;font-size:11px;font-weight:950;text-transform:uppercase}.leadership-body h3{margin:0;color:#071a3d;font-size:22px;line-height:1.08;font-family:Georgia,serif}.leadership-body p{margin:0;color:#5c6780;font-size:14.5px;line-height:1.65}.leadership-link{margin-top:auto;color:#8f1116;font-weight:950;text-decoration:none}.leadership-link:hover{text-decoration:underline}.leadership-full-list{display:grid;gap:26px}.leadership-message-card{display:grid;grid-template-columns:320px 1fr;gap:28px;align-items:stretch;background:#fff;border:1px solid rgba(7,26,61,.09);border-radius:30px;box-shadow:0 24px 70px rgba(7,26,61,.08);overflow:hidden}.leadership-message-card.alt{grid-template-columns:1fr 320px}.leadership-message-card.alt .leadership-message-photo{order:2}.leadership-message-photo{min-height:400px;background:#f7f3ee;overflow:hidden}.leadership-message-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;filter:saturate(1.03) contrast(1.03)}.leadership-message-content{padding:30px;display:flex;flex-direction:column;justify-content:center;gap:12px}.leadership-message-content h3{margin:0;color:#071a3d;font-size:30px;line-height:1.05;font-family:Georgia,serif}.leadership-designation{color:#8f1116;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.leadership-message-content p{margin:0;color:#4f5b75;font-size:16px;line-height:1.78}.leadership-message-content blockquote{margin:8px 0 0;padding:16px 18px;border-left:4px solid #d7a83a;background:#fff8ec;border-radius:0 18px 18px 0;color:#071a3d;font-weight:850;line-height:1.6}@media(max-width:1100px){.leadership-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.leadership-message-card,.leadership-message-card.alt{grid-template-columns:260px 1fr}.leadership-message-card.alt .leadership-message-photo{order:0}}@media(max-width:720px){.leadership-preview-grid{grid-template-columns:1fr}.leadership-message-card,.leadership-message-card.alt{grid-template-columns:1fr}.leadership-message-photo{aspect-ratio:4/5;min-height:0}.leadership-message-content{padding:24px}.leadership-message-content h3{font-size:25px}}

.individual-ranker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:start}.individual-ranker-card{margin:0;width:100%;max-width:none;background:#fff;border:1px solid rgba(7,26,61,.1);border-radius:22px;box-shadow:0 18px 46px rgba(7,26,61,.1);overflow:hidden}.individual-ranker-card img{display:block;width:100%;height:auto}.individual-ranker-card figcaption{padding:12px 14px;background:#fff;color:#071a3d;font-weight:900;font-size:14px;line-height:1.35}.individual-ranker-card figcaption span{display:block;color:#8f1116;font-size:12px;text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.ranker-group+.ranker-group{margin-top:44px}@media(max-width:720px){.result-ranker-section .container{width:100%;max-width:none;padding-left:4px;padding-right:4px}.result-ranker-section .section-heading{padding-left:12px;padding-right:12px}.ranker-group-head{padding-left:8px;padding-right:8px}.individual-ranker-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.individual-ranker-card{margin:0!important;width:100%;max-width:none;border-radius:12px;box-shadow:0 10px 28px rgba(7,26,61,.10)}.individual-ranker-card figcaption{padding:7px 7px;font-size:10.5px;line-height:1.2}.individual-ranker-card figcaption span{font-size:8.5px;letter-spacing:.04em}}@media(max-width:380px){.result-ranker-section .container{padding-left:3px;padding-right:3px}.individual-ranker-grid{gap:6px}.individual-ranker-card figcaption{font-size:10px;padding:6px}.individual-ranker-card figcaption span{font-size:8px}}

@media(max-width:900px){.site-header{position:sticky!important;top:0!important;z-index:9999!important;transform:none!important;visibility:visible!important;opacity:1!important}.top-strip{position:relative;z-index:2}.main-nav{position:relative;z-index:1;background:rgba(255,255,255,.98)}}

.page-loader{
  z-index:20000!important;
}

html.show-page-loader .site-header{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

.site-header{
  position:sticky!important;
  top:0!important;
  z-index:9000!important;
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}

.site-header.scrolled{
  transform:none!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Desktop viewport fit: keeps hero and admission modal proportional on laptops/desktops.
   Mobile layout is intentionally untouched because it already tests well. */
@media (min-width:721px){
  html,body{overflow-x:hidden;}

  .hero.hero-video-section,
  .hero-video-content{
    min-height:clamp(500px,72svh,760px);
  }

  .hero-video-section .hero-copy{
    max-width:720px;
    padding:clamp(54px,7vw,88px) 0 clamp(44px,6vw,72px);
  }

  .hero-video-section .hero-copy h1{
    max-width:760px;
    font-size:clamp(46px,5vw,68px);
    line-height:1.01;
    letter-spacing:-.044em;
  }

  .hero-video-section .hero-copy p{
    max-width:650px;
    font-size:clamp(16px,1.35vw,20px);
    line-height:1.55;
  }

  .hero-video-section .hero-actions{margin:22px 0 16px;}

  .admission-modal{
    padding:clamp(12px,2.2svh,22px) clamp(18px,3vw,40px);
    align-items:center;
  }

  .admission-modal .modal-card{
    width:min(760px,calc(100vw - 56px));
    max-height:calc(100svh - 32px);
    border-radius:26px;
    overflow:auto!important;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
  }

  .admission-modal .modal-close{
    right:12px;
    top:12px;
    width:38px;
    height:38px;
    font-size:26px;
  }

  .admission-modal .admission-form{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:12px 16px;
  }

  .admission-modal .admission-form label,
  .admission-modal .admission-form input,
  .admission-modal .admission-form select,
  .admission-modal .admission-form textarea{
    min-width:0;
  }

  .modal-form.logo-watermark-form{
    padding:clamp(24px,3svh,32px) 30px 24px;
  }

  .modal-form.logo-watermark-form > .eyebrow,
  .modal-form.logo-watermark-form > h2,
  .modal-form.logo-watermark-form > p,
  .modal-form.logo-watermark-form > .turnstile-slot,
  .modal-form.logo-watermark-form > .form-status{
    grid-column:1/-1;
  }

  .modal-form.logo-watermark-form h2{
    max-width:620px;
    margin:2px 46px 6px 0;
    font-size:clamp(34px,3.1vw,44px);
    line-height:1.03;
    letter-spacing:-.035em;
  }

  .modal-form.logo-watermark-form p{
    margin:0 0 4px;
    font-size:15px;
    line-height:1.55;
  }

  .admission-modal .admission-form label{gap:6px;}

  .admission-modal .admission-form input,
  .admission-modal .admission-form select,
  .admission-modal .admission-form textarea{
    border-radius:13px;
    padding:11px 13px;
  }

  .admission-modal .admission-form textarea{
    min-height:86px;
  }

  .admission-modal .admission-form .btn{
    min-height:54px;
    padding-block:13px;
  }

  .turnstile-slot{
    width:100%;
    min-height:70px;
    margin:4px 0 8px;
    overflow:hidden;
  }
}

@media (min-width:721px) and (max-width:1440px){
  .hero.hero-video-section,
  .hero-video-content{
    min-height:clamp(480px,calc(100svh - 126px),640px);
  }

  .hero-video-section .hero-copy{
    max-width:680px;
    padding:clamp(44px,6vw,72px) 0 clamp(38px,5vw,60px);
  }

  .hero-video-section .hero-copy h1{
    max-width:700px;
    font-size:clamp(42px,4.55vw,60px);
    line-height:1.02;
  }

  .hero-video-section .hero-copy p{
    max-width:610px;
    font-size:17px;
  }
}

@media (min-width:721px) and (max-height:820px){
  .top-strip-grid{min-height:38px;}
  .main-nav{min-height:76px;}
  .brand-logo{width:58px;height:58px;border-radius:14px;}
  .brand-logo img{width:54px;height:54px;}
  .brand-copy strong{font-size:23px;}
  .brand-copy small{font-size:12px;}
  .nav-menu{gap:6px;}
  .nav-menu a,.nav-item>a{padding:10px 12px;}

  .hero.hero-video-section,
  .hero-video-content{
    min-height:clamp(470px,calc(100svh - 118px),620px);
  }

  .hero-video-section .hero-copy h1{
    font-size:clamp(40px,4.35vw,58px);
    margin-bottom:14px;
  }

  .hero-video-section .hero-copy p{
    font-size:16px;
  }

  .hero-video-section .admission-tag{
    margin-bottom:14px;
    transform:scale(.94);
    transform-origin:left center;
  }

  .hero-video-section .hero-copy::before{
    margin-bottom:16px;
  }

  .admission-modal .modal-card{
    width:min(720px,calc(100vw - 48px));
    max-height:calc(100svh - 24px);
  }

  .modal-form.logo-watermark-form{
    padding:22px 28px 20px;
  }

  .admission-modal .admission-form{gap:10px 14px;}

  .modal-form.logo-watermark-form h2{
    font-size:clamp(31px,2.7vw,38px);
    margin-bottom:4px;
  }

  .modal-form.logo-watermark-form p,
  .admission-modal .admission-form label,
  .modal-form.logo-watermark-form small,
  .admission-modal .form-status{
    font-size:14px;
  }

  .admission-modal .admission-form input,
  .admission-modal .admission-form select,
  .admission-modal .admission-form textarea{
    padding:10px 12px;
  }

  .admission-modal .admission-form textarea{min-height:76px;}
  .admission-modal .admission-form .btn{min-height:50px;}
  .turnstile-slot{min-height:64px;margin:2px 0 6px;}
}

/* Desktop media harmonizer and deeper About page content.
   Keeps mobile-friendly layout intact while preventing posters/photos from
   dominating laptop screens. */
@media (min-width:721px){
  .poster-grid{
    width:100%;
    max-width:min(100%,820px);
  }

  .poster-ranker-card{
    display:flex;
    justify-content:center;
    align-items:center;
    padding:clamp(8px,1vw,14px);
  }

  .poster-ranker-card img{
    width:auto;
    max-width:100%;
    max-height:min(72svh,760px);
    object-fit:contain;
    margin:auto;
  }

  .legacy-board-image{
    display:block;
    width:auto;
    max-width:100%;
    max-height:min(76svh,720px);
    object-fit:contain;
    margin:auto;
  }

  .full-rankers-board{
    display:flex;
    justify-content:center;
    align-items:center;
    max-width:min(100%,1180px);
  }

  .full-rankers-board img{
    width:auto;
    max-width:100%;
    max-height:min(78svh,760px);
    object-fit:contain;
    margin:auto;
  }

  .program-card img{
    height:clamp(145px,20svh,175px);
  }

  .facility-grid img{
    height:clamp(150px,22svh,190px);
  }

  .photo-strip img{
    height:clamp(180px,27svh,245px);
  }

  .stream-detail img,
  .rounded-img{
    max-height:min(58svh,460px);
  }

  .principal-card img{
    height:clamp(340px,48svh,450px);
  }
}

@media (min-width:721px) and (max-height:850px){
  .result-ranker-section .section-heading{
    margin-bottom:clamp(18px,3svh,26px);
  }

  .ranker-group{
    margin-top:clamp(20px,3svh,30px);
  }

  .ranker-group-head{
    margin-bottom:12px;
  }

  .ranker-group-head h3{
    font-size:clamp(24px,2.35vw,32px);
  }

  .ranker-group-head p{
    font-size:15px;
  }

  .poster-grid{
    max-width:min(100%,720px);
  }

  .poster-ranker-card img{
    max-height:min(66svh,600px);
  }

  .full-rankers-board img{
    max-height:min(72svh,650px);
  }

  .legacy-board-image{
    max-height:min(70svh,620px);
  }
}

.about-process-grid,
.about-facts-grid{
  display:grid;
  gap:18px;
}

.about-process-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.about-process-grid article,
.about-info-panel article,
.about-facts-grid article{
  background:#fff;
  border:1px solid var(--line);
  border-radius:22px;
  box-shadow:var(--soft-shadow);
}

.about-process-grid article{
  padding:24px;
}

.about-process-grid article span{
  display:inline-grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--maroon),#d95a2b);
  color:#fff;
  font-weight:950;
  margin-bottom:14px;
}

.about-process-grid strong,
.about-info-panel strong,
.about-facts-grid strong{
  display:block;
  color:var(--blue-dark);
  font-size:20px;
  margin-bottom:8px;
}

.about-info-panel{
  display:grid;
  gap:16px;
}

.about-info-panel article{
  padding:22px 24px;
  border-left:5px solid var(--gold);
}

.about-facts-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.about-facts-grid article{
  padding:24px;
}

@media(max-width:1080px){
  .about-process-grid,
  .about-facts-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .about-process-grid,
  .about-facts-grid{
    grid-template-columns:1fr;
  }

  .about-process-grid article,
  .about-info-panel article,
  .about-facts-grid article{
    border-radius:20px;
    padding:20px;
  }
}

/* Final visual polish: result poster frame fit, premium chatbot and course depth cards. */
@media (min-width:721px){
  .result-ranker-section .ranker-group{
    display:grid;
    justify-items:center;
  }

  .result-ranker-section .ranker-group-head{
    width:min(100%,1140px);
    margin-left:auto;
    margin-right:auto;
  }

  .poster-grid{
    display:flex;
    justify-content:center;
    width:100%;
    max-width:100%;
    margin-inline:auto;
  }

  .poster-ranker-card{
    width:fit-content;
    max-width:100%;
    padding:clamp(6px,.85vw,10px);
    border-radius:26px;
    background:linear-gradient(180deg,#fff,#fffdf9);
  }

  .poster-ranker-card img{
    display:block;
    width:min(100%,clamp(380px,34vw,520px));
    max-width:100%;
    height:auto;
    max-height:min(68svh,640px);
    border-radius:18px;
    object-fit:contain;
  }

  .full-rankers-board{
    width:fit-content;
    max-width:100%;
    padding:clamp(6px,.85vw,10px);
  }

  .full-rankers-board img{
    width:min(100%,clamp(760px,78vw,1180px));
    max-height:min(74svh,720px);
    object-fit:contain;
  }

  .legacy-board-image{
    width:min(100%,clamp(520px,48vw,720px));
    max-height:min(72svh,660px);
  }
}

@media (min-width:721px) and (max-height:850px){
  .poster-ranker-card img{
    width:min(100%,clamp(340px,31vw,470px));
    max-height:min(64svh,570px);
  }

  .ranker-group-head{
    margin-bottom:10px;
  }

  .result-ranker-section.section{
    padding-top:clamp(46px,7svh,72px);
    padding-bottom:clamp(46px,7svh,72px);
  }
}

@media(max-width:720px){
  .poster-ranker-card{
    padding:6px;
    border-radius:22px;
  }

  .poster-ranker-card img{
    width:100%;
    border-radius:16px;
  }
}

.course-depth-section{
  background:linear-gradient(180deg,#fff,#f7faff);
}

.course-depth-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
}

.course-depth-grid article{
  position:relative;
  overflow:hidden;
  min-height:210px;
  padding:24px;
  border-radius:24px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:var(--soft-shadow);
}

.course-depth-grid article:after{
  content:"";
  position:absolute;
  right:-42px;
  bottom:-48px;
  width:140px;
  height:140px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,168,58,.22),transparent 68%);
}

.course-depth-grid span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--blue-dark),var(--blue));
  color:#fff;
  font-weight:950;
  margin-bottom:14px;
}

.course-depth-grid strong{
  display:block;
  color:var(--blue-dark);
  font-size:20px;
  margin-bottom:8px;
}

.course-depth-grid p{
  margin:0;
  color:var(--muted);
  font-weight:720;
}

.course-coaching-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

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

@media(max-width:720px){
  .course-depth-grid,
  .course-coaching-grid{
    grid-template-columns:1fr;
  }

  .course-depth-grid article{
    min-height:auto;
    padding:21px;
  }
}

/* Single header contact dropdown: replaces multiple visible call/WhatsApp pills. */
.top-right.header-contact-actions{
  position:relative;
  gap:0;
  flex-wrap:nowrap;
  justify-content:flex-end;
  align-items:center;
  overflow:visible;
}
.header-contact-dropdown{
  position:relative;
  display:inline-block;
  z-index:130;
}
.header-contact-trigger{
  list-style:none;
  min-height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  user-select:none;
  padding:4px 11px 4px 5px;
  border-radius:999px;
  color:#fff;
  background:linear-gradient(135deg,#f29a18,#b94707);
  border:1px solid rgba(255,255,255,.32);
  box-shadow:0 10px 23px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.20);
  font-size:12px;
  font-weight:950;
  letter-spacing:.01em;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.header-contact-trigger::-webkit-details-marker{display:none}
.header-contact-trigger::marker{content:""}
.header-contact-trigger:hover,.header-contact-trigger:focus-visible,
.header-contact-dropdown[open] .header-contact-trigger{
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.22);
  filter:saturate(1.06);
  outline:0;
}
.header-contact-trigger-icon{
  width:27px;
  height:27px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.17);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);
  flex:0 0 auto;
}
.header-contact-trigger-icon svg{
  width:16px;
  height:16px;
  fill:currentColor;
}
.header-contact-trigger-caret{
  width:16px;
  height:16px;
  display:grid;
  place-items:center;
  transition:transform .18s ease;
}
.header-contact-trigger-caret svg{width:16px;height:16px;fill:currentColor}
.header-contact-dropdown[open] .header-contact-trigger-caret{transform:rotate(180deg)}
.header-contact-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  width:min(318px,calc(100vw - 30px));
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.98);
  border:1px solid rgba(215,168,58,.34);
  box-shadow:0 24px 70px rgba(7,26,61,.28);
  backdrop-filter:blur(16px);
  color:var(--ink);
  z-index:260;
  animation:headerContactDrop .16s ease both;
}
.header-contact-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  right:24px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:rgba(255,255,255,.98);
  border-left:1px solid rgba(215,168,58,.34);
  border-top:1px solid rgba(215,168,58,.34);
}
.header-contact-menu-title{
  padding:2px 4px 9px;
  color:var(--blue-dark);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.header-contact-option{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  align-items:center;
  padding:8px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(230,233,240,.96);
  box-shadow:0 8px 22px rgba(7,26,61,.06);
}
.header-contact-option + .header-contact-option{margin-top:8px}
.header-contact-option-main{
  min-width:0;
  display:grid!important;
  gap:2px;
  padding:3px 4px;
  color:var(--blue-dark)!important;
  text-decoration:none;
}
.header-contact-option-main span{
  font-size:11px;
  font-weight:900;
  color:#64708b;
}
.header-contact-option-main strong{
  font-size:15px;
  line-height:1.1;
  color:#071a3d;
  letter-spacing:.02em;
}
.header-contact-option-wa{
  min-height:32px;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  padding:0 11px;
  border-radius:999px;
  color:#fff!important;
  text-decoration:none;
  background:linear-gradient(135deg,#25d366,#128c7e);
  box-shadow:0 8px 18px rgba(18,140,126,.20);
  font-size:11px;
  font-weight:950;
}
.header-contact-option-main:hover strong,.header-contact-option-main:focus-visible strong{color:var(--maroon)}
.header-contact-option-wa:hover,.header-contact-option-wa:focus-visible{
  transform:translateY(-1px);
  box-shadow:0 12px 22px rgba(18,140,126,.26);
  outline:0;
}
@keyframes headerContactDrop{
  from{opacity:0;transform:translateY(-4px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(max-width:1080px){
  .top-strip-grid{flex-wrap:nowrap;gap:10px;padding-block:5px}
  .top-left{width:auto;justify-content:flex-start;gap:10px;min-width:0}
  .top-right.header-contact-actions{width:auto;justify-content:flex-end;margin-left:auto;flex:0 0 auto}
  .header-contact-trigger-text{display:none}
  .header-contact-trigger{padding:4px 8px 4px 4px;gap:6px}
}
@media(max-width:720px){
  .top-strip-grid{display:flex;flex-wrap:nowrap;gap:8px;text-align:left;min-height:42px;padding-block:4px}
  .top-left{width:auto;min-width:0;flex:1 1 auto;justify-content:flex-start;gap:7px;overflow:hidden}
  .top-left span:first-child{white-space:nowrap;font-size:12px;padding:5px 9px;flex:0 0 auto}
  .top-left span:nth-child(2){font-size:11px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
  .top-right.header-contact-actions{width:auto;flex:0 0 auto;padding:0;overflow:visible}
  .header-contact-trigger{min-height:33px;padding:3px 7px 3px 3px}
  .header-contact-trigger-icon{width:27px;height:27px}
  .header-contact-menu{right:0;width:min(300px,calc(100vw - 22px));padding:10px}
  .header-contact-option{grid-template-columns:1fr auto;padding:7px}
  .header-contact-option-main strong{font-size:14px}
}
@media(max-width:380px){
  .top-left span:nth-child(2){display:none}
  .header-contact-trigger-caret{width:14px}
  .header-contact-menu{width:calc(100vw - 18px);right:-2px}
}
@media(prefers-reduced-motion:reduce){
  .header-contact-trigger,.header-contact-trigger-caret,.header-contact-menu{transition:none;animation:none}
}

/* === 97-header-icon-dropdown-actions.css === */
/* Header contact UX: keep only phone and WhatsApp icons visible; show numbers only inside dropdowns. */
.top-right.header-contact-actions{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  overflow:visible;
}
.header-contact-actions .header-contact-dropdown{
  position:relative;
  display:inline-block;
  z-index:150;
}
.header-contact-actions .header-contact-icon-btn{
  list-style:none;
  width:38px;
  height:38px;
  padding:0;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
  line-height:0;
  -webkit-appearance:none;
  appearance:none;
  cursor:pointer;
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
  box-shadow:0 11px 24px rgba(7,26,61,.22),inset 0 1px 0 rgba(255,255,255,.22);
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}
.header-contact-actions .header-contact-icon-btn::-webkit-details-marker{display:none}
.header-contact-actions .header-contact-icon-btn::marker{content:""}
.header-contact-actions .header-contact-icon-btn svg{
  width:18px;
  height:18px;
  max-width:52%;
  max-height:52%;
  fill:currentColor;
  display:block;
  flex:0 0 auto;
  overflow:visible;
}
.header-contact-actions .header-contact-call .header-contact-icon-btn svg{
  width:17px;
  height:17px;
}
.header-contact-actions .header-contact-whatsapp .header-contact-icon-btn svg{
  width:18px;
  height:18px;
}
.header-contact-actions .header-contact-call .header-contact-icon-btn{
  background:linear-gradient(135deg,#f49a17,#c85a08);
}
.header-contact-actions .header-contact-whatsapp .header-contact-icon-btn{
  background:linear-gradient(135deg,#25d366,#128c7e);
}
.header-contact-actions .header-contact-icon-btn:hover,
.header-contact-actions .header-contact-icon-btn:focus-visible,
.header-contact-actions .header-contact-dropdown[open] .header-contact-icon-btn{
  transform:translateY(-1px);
  filter:saturate(1.08);
  box-shadow:0 16px 34px rgba(7,26,61,.30),inset 0 1px 0 rgba(255,255,255,.24);
  outline:0;
}
.header-contact-actions .header-contact-menu{
  position:absolute;
  top:calc(100% + 11px);
  right:0;
  width:min(312px,calc(100vw - 24px));
  padding:12px;
  border-radius:20px;
  background:rgba(255,255,255,.985);
  border:1px solid rgba(215,168,58,.36);
  box-shadow:0 24px 70px rgba(7,26,61,.28);
  backdrop-filter:blur(16px);
  color:var(--ink);
  z-index:300;
  animation:headerContactDrop .16s ease both;
}
.header-contact-actions .header-contact-whatsapp .header-contact-menu{right:0}
.header-contact-actions .header-contact-call .header-contact-menu{right:-48px}
.header-contact-actions .header-contact-menu::before{
  content:"";
  position:absolute;
  top:-7px;
  right:22px;
  width:14px;
  height:14px;
  transform:rotate(45deg);
  background:rgba(255,255,255,.985);
  border-left:1px solid rgba(215,168,58,.36);
  border-top:1px solid rgba(215,168,58,.36);
}
.header-contact-actions .header-contact-call .header-contact-menu::before{right:70px}
.header-contact-actions .header-contact-menu-title{
  padding:2px 4px 10px;
  color:var(--blue-dark);
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.13em;
}
.header-contact-actions .header-contact-choice{
  display:grid!important;
  grid-template-columns:1fr auto;
  gap:10px;
  align-items:center;
  padding:11px 12px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(230,233,240,.98);
  box-shadow:0 8px 22px rgba(7,26,61,.06);
  color:var(--blue-dark)!important;
  text-decoration:none;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.header-contact-actions .header-contact-choice + .header-contact-choice{margin-top:8px}
.header-contact-actions .header-contact-choice span{
  min-width:0;
  font-size:12px;
  font-weight:900;
  color:#64708b;
}
.header-contact-actions .header-contact-choice strong{
  color:#071a3d;
  font-size:15px;
  line-height:1.1;
  letter-spacing:.02em;
}
.header-contact-actions .header-contact-choice:hover,
.header-contact-actions .header-contact-choice:focus-visible{
  transform:translateY(-1px);
  border-color:rgba(215,168,58,.58);
  box-shadow:0 12px 26px rgba(7,26,61,.10);
  outline:0;
}
.header-contact-actions .header-contact-whatsapp .header-contact-choice:hover strong,
.header-contact-actions .header-contact-whatsapp .header-contact-choice:focus-visible strong{color:#128c7e}
.header-contact-actions .header-contact-call .header-contact-choice:hover strong,
.header-contact-actions .header-contact-call .header-contact-choice:focus-visible strong{color:var(--maroon)}
@media(max-width:1080px){
  .top-right.header-contact-actions{width:auto;justify-content:flex-end;margin-left:auto;flex:0 0 auto;gap:7px}
}
@media(max-width:720px){
  .top-right.header-contact-actions{width:auto;flex:0 0 auto;padding:0;overflow:visible;gap:6px}
  .header-contact-actions .header-contact-icon-btn{width:35px;height:35px}
  .header-contact-actions .header-contact-icon-btn svg{width:16px;height:16px;max-width:50%;max-height:50%}
  .header-contact-actions .header-contact-call .header-contact-icon-btn svg{width:16px;height:16px}
  .header-contact-actions .header-contact-whatsapp .header-contact-icon-btn svg{width:17px;height:17px}
  .header-contact-actions .header-contact-menu{width:min(292px,calc(100vw - 18px));padding:10px;right:0}
  .header-contact-actions .header-contact-call .header-contact-menu{right:-40px}
  .header-contact-actions .header-contact-call .header-contact-menu::before{right:62px}
  .header-contact-actions .header-contact-choice{padding:10px 11px}
  .header-contact-actions .header-contact-choice strong{font-size:14px}
}
@media(max-width:380px){
  .header-contact-actions .header-contact-menu{width:calc(100vw - 16px)}
  .header-contact-actions .header-contact-call .header-contact-menu{right:-39px}
}
@media(prefers-reduced-motion:reduce){
  .header-contact-actions .header-contact-icon-btn,
  .header-contact-actions .header-contact-menu{transition:none;animation:none}
}

body.results-page .results-hero{position:relative!important;min-height:0!important;padding:38px 0 34px!important;background:linear-gradient(135deg,#061733 0%,#082452 58%,#071936 100%)!important;color:#fff!important;overflow:hidden!important;}
body.results-page .results-hero::before{content:""!important;position:absolute!important;inset:0!important;background:radial-gradient(circle at 88% 18%,rgba(255,215,122,.18),transparent 25%)!important;pointer-events:none!important;}
body.results-page .results-hero-grid{position:relative!important;z-index:1!important;display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:24px!important;align-items:center!important;}
body.results-page .results-hero h1{margin:8px 0 10px!important;color:#fff!important;font-size:clamp(38px,5vw,64px)!important;line-height:.95!important;letter-spacing:-.045em!important;text-shadow:0 10px 28px rgba(0,0,0,.24)!important;}
body.results-page .results-hero p{margin:0!important;max-width:760px!important;color:rgba(255,255,255,.88)!important;font-size:clamp(16px,1.25vw,20px)!important;line-height:1.55!important;}
body.results-page .results-hero p strong{color:#ffe5a3!important;}
body.results-page .results-hero-stats{display:grid!important;grid-template-columns:repeat(2,minmax(110px,1fr))!important;gap:10px!important;min-width:min(100%,300px)!important;}
body.results-page .results-hero-stats article{padding:14px 16px!important;border-radius:18px!important;background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;box-shadow:0 14px 36px rgba(0,0,0,.16)!important;}
body.results-page .results-hero-stats strong{display:block!important;color:#ffd77a!important;font:900 clamp(30px,3vw,42px)/1 Georgia,'Times New Roman',serif!important;}
body.results-page .results-hero-stats span{display:block!important;margin-top:5px!important;color:rgba(255,255,255,.84)!important;font-weight:900!important;font-size:12px!important;}
body.results-page .results-evidence-tight{padding:46px 0!important;min-height:0!important;background:linear-gradient(135deg,#07306d 0%,#0b3d86 100%)!important;overflow:visible!important;}
body.results-page .results-evidence-tight::before,body.results-page .results-evidence-tight::after{display:none!important;content:none!important;}
body.results-page .results-evidence-tight .results-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(300px,440px)!important;gap:clamp(24px,3vw,36px)!important;align-items:center!important;max-width:1120px!important;}
body.results-page .results-evidence-tight h2{margin:10px 0 14px!important;color:#fff!important;font-size:clamp(34px,4.3vw,56px)!important;line-height:1.03!important;letter-spacing:-.04em!important;}
body.results-page .results-evidence-tight p{max-width:580px!important;color:rgba(255,255,255,.86)!important;line-height:1.62!important;}
body.results-page .results-evidence-tight .stats-row{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin:22px 0 0!important;max-width:560px!important;}
body.results-page .results-evidence-tight .stats-row article{min-height:104px!important;padding:14px 12px!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;}
body.results-page .results-evidence-tight .stats-row strong{font-size:clamp(30px,3.3vw,46px)!important;line-height:1.04!important;}
body.results-page .results-evidence-tight .stats-row span{font-size:13px!important;line-height:1.35!important;}
body.results-page .results-evidence-tight .results-visual-card{width:100%!important;max-width:440px!important;aspect-ratio:1/1!important;margin:0!important;padding:10px!important;justify-self:end!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important;border-radius:28px!important;background:#fff!important;border:1px solid rgba(255,255,255,.54)!important;box-shadow:0 18px 44px rgba(0,0,0,.20)!important;overflow:hidden!important;}
body.results-page .results-evidence-tight .legacy-board-image{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:20px!important;object-fit:contain!important;object-position:center center!important;background:#fff!important;box-shadow:none!important;}
@media(max-width:980px){body.results-page .results-hero-grid,body.results-page .results-evidence-tight .results-grid{grid-template-columns:1fr!important;}body.results-page .results-hero-stats{max-width:360px!important;}body.results-page .results-evidence-tight .results-visual-card{justify-self:center!important;max-width:min(100%,460px)!important;}}
@media(max-width:640px){body.results-page .results-hero{padding:30px 0!important;}body.results-page .results-hero h1{font-size:clamp(36px,10vw,50px)!important;}body.results-page .results-hero-stats,body.results-page .results-evidence-tight .stats-row{grid-template-columns:1fr!important;}body.results-page .results-evidence-tight{padding:36px 0!important;}body.results-page .results-evidence-tight .results-visual-card{aspect-ratio:1/1!important;max-width:min(100%,360px)!important;border-radius:22px!important;}body.results-page .results-evidence-tight .legacy-board-image{border-radius:16px!important;}}

/* Header quick-contact icons: hard center the real SVGs inside equal circular buttons. */
.top-strip-grid{
  align-items:center!important;
}
.header-contact-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:10px!important;
  height:40px!important;
  min-height:40px!important;
}
.header-contact-dropdown{
  position:relative!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
  display:block!important;
}
.header-contact-icon-btn{
  position:relative!important;
  box-sizing:border-box!important;
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  max-width:38px!important;
  max-height:38px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  display:block!important;
  line-height:0!important;
  font-size:0!important;
  cursor:pointer!important;
  list-style:none!important;
  overflow:hidden!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.header-contact-icon-btn::-webkit-details-marker,
.header-contact-icon-btn::marker{
  display:none!important;
  content:""!important;
}
.header-contact-icon-btn svg{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:18px!important;
  height:18px!important;
  max-width:18px!important;
  max-height:18px!important;
  display:block!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
  transform:translate(-50%,-50%)!important;
  overflow:visible!important;
}
.header-contact-call .header-contact-icon-btn{
  background:linear-gradient(135deg,#f59e0b,#d96b09)!important;
  color:#fff!important;
}
.header-contact-whatsapp .header-contact-icon-btn{
  background:linear-gradient(135deg,#36d978,#159d50)!important;
  color:#fff!important;
}
.header-contact-icon-btn svg path{
  fill:currentColor!important;
}
.header-contact-menu{
  top:calc(100% + 10px)!important;
}
@media(max-width:720px){
  .header-contact-actions{gap:8px!important;height:36px!important;min-height:36px!important}
  .header-contact-dropdown,
  .header-contact-icon-btn{width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;max-width:34px!important;max-height:34px!important}
  .header-contact-icon-btn svg{width:16px!important;height:16px!important;max-width:16px!important;max-height:16px!important}
}

/* Final page-specific visual fixes. Loaded last to avoid cascade overrides. */

/* 1) Header call/WhatsApp buttons: exact circular geometry, centered SVGs, no marker distortion. */
.top-strip-grid{
  align-items:center;
}
.top-right.header-contact-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  min-height:42px;
  overflow:visible;
}
.header-contact-actions .header-contact-dropdown{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  flex:0 0 38px;
  display:block;
  position:relative;
  margin:0;
  padding:0;
  line-height:0;
}
.header-contact-actions .header-contact-icon-btn,
.header-contact-actions summary.header-contact-icon-btn{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  aspect-ratio:1 / 1;
  display:grid;
  place-items:center;
  padding:0;
  margin:0;
  border-radius:999px;
  box-sizing:border-box;
  line-height:0;
  font-size:0;
  overflow:hidden;
  -webkit-appearance:none;
  appearance:none;
}
.header-contact-actions .header-contact-icon-btn::-webkit-details-marker,
.header-contact-actions summary.header-contact-icon-btn::-webkit-details-marker{display:none}
.header-contact-actions .header-contact-icon-btn::marker,
.header-contact-actions summary.header-contact-icon-btn::marker{content:"";font-size:0}
.header-contact-actions .header-contact-icon-btn svg,
.header-contact-actions summary.header-contact-icon-btn svg{
  display:block;
  position:static;
  margin:0;
  padding:0;
  flex:0 0 auto;
  fill:currentColor;
  overflow:visible;
  transform:none;
}
.header-contact-actions .header-contact-call .header-contact-icon-btn svg{
  width:17px;
  height:17px;
  max-width:17px;
  max-height:17px;
}
.header-contact-actions .header-contact-whatsapp .header-contact-icon-btn svg{
  width:18px;
  height:18px;
  max-width:18px;
  max-height:18px;
}
@media(max-width:720px){
  .top-right.header-contact-actions{gap:8px;min-height:40px}
  .header-contact-actions .header-contact-dropdown{
    width:36px;height:36px;min-width:36px;min-height:36px;flex-basis:36px;
  }
  .header-contact-actions .header-contact-icon-btn,
  .header-contact-actions summary.header-contact-icon-btn{
    width:36px;height:36px;min-width:36px;min-height:36px;
  }
  .header-contact-actions .header-contact-call .header-contact-icon-btn svg{width:16px;height:16px;max-width:16px;max-height:16px}
  .header-contact-actions .header-contact-whatsapp .header-contact-icon-btn svg{width:17px;height:17px;max-width:17px;max-height:17px}
}

/* 2) Results hero: no image layer, no inherited inner-hero variable, no poster bleed. */
.results-hero.results-hero-clean,
section.results-hero.results-hero-clean,
body .results-hero.results-hero-clean{
  position:relative;
  min-height:clamp(500px,66vh,700px);
  display:flex;
  align-items:center;
  overflow:hidden;
  isolation:isolate;
  color:#fff;
  background-color:#071a3d;
  background-image:radial-gradient(circle at 84% 18%,rgba(255,215,122,.18),transparent 28%),linear-gradient(135deg,#061733 0%,#082452 48%,#071936 100%);
  background-size:auto;
  background-position:center;
  --page-img:none;
}
.results-hero.results-hero-clean::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-image:linear-gradient(90deg,rgba(3,12,28,.72),rgba(6,28,64,.44) 48%,rgba(3,12,28,.66)),radial-gradient(circle at 70% 35%,rgba(255,255,255,.10),transparent 31%);
  background-color:transparent;
  opacity:1;
  filter:none;
  pointer-events:none;
}
.results-hero.results-hero-clean::after{z-index:0}
.results-hero.results-hero-clean .results-hero-layout,
.results-hero.results-hero-clean .results-hero-copy{position:relative;z-index:2}

.transport-showcase.section{
  padding-top:clamp(42px,5vw,76px);
  padding-bottom:clamp(42px,5vw,76px);
}
.transport-showcase-grid{
  display:grid;
  grid-template-columns:minmax(340px,560px) minmax(0,1fr);
  gap:clamp(32px,4vw,64px);
  align-items:center;
}
.transport-showcase .transport-figure,
.transport-showcase-grid .transport-figure{
  width:100%;
  max-width:560px;
  aspect-ratio:16 / 9;
  height:auto;
  max-height:none;
  min-height:0;
  margin:0;
  overflow:hidden;
  border-radius:28px;
  justify-self:center;
  box-shadow:0 20px 50px rgba(7,26,61,.14);
  background:#eef4f8;
}
.transport-showcase .transport-figure img,
.transport-showcase-grid .transport-figure img{
  width:100%;
  height:100%;
  aspect-ratio:16 / 9;
  min-height:0;
  max-height:none;
  display:block;
  object-fit:cover;
  object-position:center center;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.facility-grid a[href="#transport"] img{
  aspect-ratio:16 / 9;
  height:auto;
  max-height:220px;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .transport-showcase-grid{grid-template-columns:1fr;gap:24px}
  .transport-showcase .transport-figure,.transport-showcase-grid .transport-figure{max-width:680px}
}


.results-hero.results-hero-clean,
section.results-hero.results-hero-clean,
body .results-hero.results-hero-clean{
  min-height:clamp(320px,46vh,430px);
}
.results-hero.results-hero-clean::after{
  height:56px;
  background:linear-gradient(180deg,transparent,rgba(245,248,255,.92));
}
.results-hero.results-hero-clean .results-hero-layout{
  padding:clamp(34px,4.4vw,56px) 0;
  grid-template-columns:minmax(0,760px);
}
.results-hero.results-hero-clean .results-hero-copy{
  max-width:760px;
  padding:clamp(20px,2.3vw,28px);
  border-radius:28px;
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.results-hero.results-hero-clean .results-hero-copy h1{
  margin:8px 0 12px;
  font-size:clamp(46px,5.4vw,78px);
  line-height:.92;
}
.results-hero.results-hero-clean .results-hero-copy p{
  font-size:clamp(17px,1.25vw,21px);
  max-width:680px;
}
.results-hero.results-hero-clean .results-hero-stats{
  margin:20px 0;
  gap:10px;
  max-width:560px;
}
.results-hero.results-hero-clean .results-hero-stats article{
  padding:14px 14px;
}
.results-band .results-grid{
  grid-template-columns:minmax(0,1fr) minmax(320px,540px);
  gap:clamp(22px,3vw,34px);
  align-items:center;
}
.results-band-copy{
  max-width:620px;
}
.results-visual-card{
  width:100%;
  max-width:540px;
  margin:0;
  padding:14px;
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(215,168,58,.36);
  box-shadow:0 22px 60px rgba(7,26,61,.18);
}
.results-visual-card .legacy-board-image,
.results-band .legacy-board-image{
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
  max-height:min(58vh,540px);
  padding:0;
  margin:0 auto;
  border-radius:22px;
  object-fit:contain;
  object-position:center center;
  background:#fff;
}
@media(max-width:980px){
  .results-band .results-grid{
    grid-template-columns:1fr;
  }
  .results-visual-card{
    justify-self:center;
    max-width:min(100%,680px);
  }
}
@media(max-width:720px){
  .results-hero.results-hero-clean,
  section.results-hero.results-hero-clean,
  body .results-hero.results-hero-clean{
    min-height:auto;
  }
  .results-hero.results-hero-clean .results-hero-layout{
    padding:28px 0 34px;
  }
  .results-hero.results-hero-clean .results-hero-copy{
    padding:18px;
    border-radius:24px;
  }
  .results-hero.results-hero-clean .results-hero-copy h1{
    font-size:clamp(40px,11vw,58px);
  }
  .results-hero.results-hero-clean .results-hero-stats{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .results-visual-card{
    padding:10px;
    border-radius:24px;
  }
  .results-visual-card .legacy-board-image,
  .results-band .legacy-board-image{
    max-height:min(50vh,420px);
    border-radius:16px;
  }
}

/* Header fixed visibility fix: keep navigation accessible while scrolling at normal zoom. */
html {
  scroll-padding-top: 132px;
}

body {
  padding-top: 132px;
}

.site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 950;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  will-change: auto;
}

.site-header.scrolled {
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  box-shadow: 0 14px 34px rgba(20,42,90,.14);
}

@media (min-width: 1081px) {
  .site-header.scrolled .main-nav {
    min-height: 78px;
  }

  .site-header.scrolled .brand-logo {
    width: 60px;
    height: 60px;
  }

  .site-header.scrolled .brand-logo img {
    width: 56px;
    height: 56px;
  }
}

@media (max-width: 1080px) {
  html {
    scroll-padding-top: 122px;
  }

  body {
    padding-top: 122px;
  }

  .site-header {
    z-index: 980;
  }
}

@media (max-width: 640px) {
  html {
    scroll-padding-top: 112px;
  }

  body {
    padding-top: 112px;
  }
}
