
:root{
  --maroon:#9b1148;
  --maroon-dark:#5c1436;
  --navy:#182845;
  --navy-soft:#273b62;
  --gold:#e8bd4b;
  --gold-soft:#fff2cb;
  --cream:#fff9f0;
  --cream-2:#fffdf8;
  --line:#ebddc3;
  --ink:#1f2a3c;
  --muted:#6b7285;
  --white:#ffffff;
  --shadow:0 14px 35px rgba(24,40,69,.08);
  --shadow-lg:0 30px 70px rgba(24,40,69,.12);
  --radius:28px;
  --radius-sm:20px;
  --container:min(1180px, calc(100% - 2rem));
  --ease:cubic-bezier(.2,.8,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif;
  color:var(--ink);
  line-height:1.7;
  background:
    radial-gradient(circle at top left, rgba(232,189,75,.12), transparent 22rem),
    radial-gradient(circle at bottom right, rgba(155,17,72,.08), transparent 28rem),
    linear-gradient(180deg, var(--cream) 0%, var(--cream-2) 35%, #fff 100%);
}
body::selection{background:#f7df98}
img{display:block;max-width:100%}
a{text-decoration:none;color:inherit}
.container{width:var(--container);margin:0 auto}
.topbar{
  background:var(--navy);
  color:#fff;
  font-size:.95rem;
}
.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.75rem 0;
}
.topbar-actions{display:flex;gap:.7rem;align-items:center;flex-wrap:wrap}
.dot{width:5px;height:5px;border-radius:50%;background:#fff;opacity:.7}
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,249,240,.82);
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(24,40,69,.08);
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 0;
}
.brand{display:flex;align-items:center;gap:.9rem;min-width:0}
.brand-logo{
  width:54px;height:54px;flex:0 0 auto;
  filter: drop-shadow(0 10px 18px rgba(24,40,69,.12));
}
.brand-text strong{
  display:block;
  font-size:1.02rem;
}
.brand-text small{
  color:var(--muted);
  display:block;
}
.site-nav{
  display:flex;
  align-items:center;
  gap:.25rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.site-nav a{
  color:var(--muted);
  font-weight:700;
  padding:.72rem .94rem;
  border-radius:999px;
  transition:all .28s var(--ease);
}
.site-nav a:hover,
.site-nav a.active{
  color:var(--maroon);
  background:#fff;
  box-shadow: 0 10px 30px rgba(24,40,69,.08);
}
.nav-toggle{
  display:none;
  border:0;
  background:#fff;
  box-shadow:var(--shadow);
  padding:.72rem .9rem;
  border-radius:16px;
  font-size:1.2rem;
}
.hero{
  position:relative;
  overflow:hidden;
}
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 10% 12%, rgba(155,17,72,.12), transparent 18rem),
    radial-gradient(circle at 82% 18%, rgba(232,189,75,.24), transparent 18rem);
  pointer-events:none;
}
.hero-home{padding:4.6rem 0 4rem}
.hero-sub{padding:3.2rem 0}
.hero-grid,
.subhero-grid{
  display:grid;
  grid-template-columns: 1.03fr .97fr;
  gap:2.4rem;
  align-items:center;
  position:relative;
  z-index:1;
}
.eyebrow,
.section-tag{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--maroon);
  background:rgba(232,189,75,.18);
  border:1px solid rgba(232,189,75,.35);
  border-radius:999px;
  padding:.45rem .85rem;
  font-size:.92rem;
  font-weight:800;
  letter-spacing:.01em;
}
h1,h2,h3,h4{line-height:1.15;margin:0 0 .7rem}
.hero-copy h1{
  font-size:clamp(2.35rem, 4.2vw, 4.8rem);
  font-family: Georgia, "Times New Roman", serif;
  color:var(--navy);
  max-width:12ch;
  margin-top:1rem;
}
.hero-copy p{
  font-size:1.08rem;
  color:#3a4a65;
  max-width:62ch;
}
.hero-actions,.badge-row,.cta-actions{
  display:flex;flex-wrap:wrap;gap:.9rem;
}
.badge-row{margin:1.3rem 0}
.hero-actions{margin-top:1.5rem}
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:.85rem 1.2rem;
  border-radius:999px;
  font-weight:800;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s var(--ease);
}
.btn:hover{transform:translateY(-2px)}
.btn-primary{
  background:linear-gradient(135deg, var(--maroon), var(--maroon-dark));
  color:#fff;
  box-shadow:0 16px 30px rgba(155,17,72,.2);
}
.btn-secondary{
  background:#fff;
  color:var(--navy);
  border:1px solid rgba(24,40,69,.1);
  box-shadow:var(--shadow);
}
.soft-badge{
  display:inline-flex;
  align-items:center;
  padding:.52rem .9rem;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  color:var(--navy-soft);
  font-weight:700;
  box-shadow: var(--shadow);
}
.hero-stage{
  position:relative;
  min-height:530px;
}
.stage-card{
  position:absolute;
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  border-radius:26px;
  padding:.8rem;
  box-shadow:var(--shadow-lg);
}
.stage-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:18px;
}
.stage-main{inset:0 0 2rem 7rem}
.stage-main img{object-position:center top}
.stage-small{width:220px;height:270px}
.stage-top{top:0;left:0}
.stage-bottom{bottom:0;left:2rem}
.subhero-image{
  background:#fff;
  padding:1rem;
  border-radius:30px;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(24,40,69,.08);
}
.subhero-image img{
  border-radius:22px;
  width:100%;
  height:420px;
  object-fit:cover;
  object-position:center top;
}
.section{padding:4.5rem 0}
.section-soft{
  background:linear-gradient(180deg, rgba(255,244,220,.45), rgba(255,255,255,.85));
  border-top:1px solid rgba(232,221,195,.7);
  border-bottom:1px solid rgba(232,221,195,.7);
}
.section-dark{
  background:linear-gradient(135deg, #172744, #22365b);
  color:#fff;
}
.section-dark h2,.section-dark h3,.section-dark p{color:#fff}
.invert{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.16)}
.section-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1.4rem;
  margin-bottom:1.8rem;
}
.section h2{
  font-size:clamp(1.9rem, 3.2vw, 3.1rem);
  font-family:Georgia, "Times New Roman", serif;
  color:var(--navy);
  margin-top:.55rem;
}
.section-intro{max-width:60ch;color:#546178}
.light .section-intro{color:rgba(255,255,255,.82)}
.split-intro,
.split-content,
.facts-layout{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:2rem;
  align-items:start;
}
.section-copy p,.content-card p{color:#46556f}
.quote-panel,
.content-card,
.contact-card,
.soft-card,
.feature-tile,
.life-card,
.score-card,
.policy-box,
.band-card,
.stage-panel,
.glass-card,
.mini-score,
.map-placeholder,
.callout-box{
  border-radius:var(--radius);
  box-shadow:var(--shadow);
}
.quote-panel,
.content-card,
.contact-card,
.soft-card,
.feature-tile,
.life-card,
.score-card,
.policy-box,
.band-card,
.stage-panel,
.mini-score{
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  padding:1.45rem;
}
.quote-panel{
  min-height:100%;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,246,226,1));
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2rem;
}
.quote-panel p{
  margin:0;
  font-size:1.6rem;
  line-height:1.3;
  font-family:Georgia, serif;
  color:var(--navy);
}
.quote-panel small{margin-top:1rem;color:var(--muted)}
.stats-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.stats-strip article{
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  padding:1.35rem;
  border-radius:22px;
  box-shadow:var(--shadow);
}
.stats-strip strong{
  display:block;
  color:var(--maroon);
  font-size:1.45rem;
  margin-bottom:.2rem;
}
.stats-strip span{color:var(--muted)}
.feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.feature-tile{
  position:relative;
  overflow:hidden;
}
.feature-tile::after{
  content:"";
  position:absolute;
  width:90px;height:90px;border-radius:50%;
  background:radial-gradient(circle, rgba(232,189,75,.28), transparent 65%);
  top:-20px;right:-20px;
}
.tile-number{
  display:inline-flex;
  width:38px;height:38px;
  align-items:center;justify-content:center;
  border-radius:12px;
  background:rgba(155,17,72,.08);
  color:var(--maroon);
  font-weight:800;
  margin-bottom:1rem;
}
.visual-panel{
  background:#fff;
  border-radius:34px;
  padding:1rem;
  border:1px solid rgba(24,40,69,.08);
  box-shadow:var(--shadow-lg);
}
.visual-panel img{
  width:100%;
  border-radius:24px;
}
.home-timeline-grid{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:2rem;
  align-items:start;
}
.timeline-cards{
  display:grid;
  gap:1rem;
}
.timeline-cards article,
.roadmap article{
  position:relative;
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  padding:1.2rem 1.25rem 1.2rem 1.6rem;
  border-radius:22px;
  box-shadow:var(--shadow);
}
.timeline-cards article::before,
.roadmap article::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:6px;
  border-radius:10px 0 0 10px;
  background:linear-gradient(180deg, var(--gold), var(--maroon));
}
.timeline-cards strong,
.roadmap span{
  font-size:1.08rem;
  color:var(--maroon);
}
.cards-3,.cards-4,.cards-2{
  display:grid;
  gap:1rem;
}
.cards-3{grid-template-columns:repeat(3,1fr)}
.cards-4{grid-template-columns:repeat(4,1fr)}
.cards-2{grid-template-columns:repeat(2,1fr)}
.glass-card{
  background:rgba(255,255,255,.08);
  color:#fff;
  padding:1.55rem;
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(6px);
}
.achievements-band{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:1.3rem;
  align-items:center;
}
.achievement-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.mini-score{
  padding:1.1rem 1.2rem;
  background:linear-gradient(180deg, #fff, #fff8eb);
}
.mini-score span{color:var(--muted);display:block}
.mini-score strong{display:block;font-size:1.08rem;color:var(--navy);margin:.2rem 0}
.mini-score small{color:#4d5971}
.cta-panel{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:1.5rem;
  background:linear-gradient(135deg, #fff, #fff6df);
  border:1px solid rgba(24,40,69,.08);
  border-radius:34px;
  padding:2rem;
  box-shadow:var(--shadow-lg);
  align-items:center;
}
.image-callout{display:grid;gap:1rem}
.image-callout img{
  width:100%;
  border-radius:28px;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(24,40,69,.08);
}
.callout-box{
  background:#fff8e6;
  border:1px solid rgba(232,189,75,.36);
  padding:1.2rem 1.3rem;
}
.callout-box strong{display:block;color:var(--navy);margin-bottom:.3rem}
.roadmap{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.roadmap article{
  min-height:180px;
}
.facts-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
  margin-top:1.2rem;
}
.facts-grid > div{
  padding:1rem 1.1rem;
  border-radius:18px;
  background:#fff8ea;
  border:1px solid rgba(232,189,75,.22);
}
.facts-grid strong{
  display:block;
  color:var(--navy);
}
.facts-grid span{color:#556177}
.info-stack{
  display:grid;
  gap:1rem;
}
.milestone-list{
  display:grid;gap:1rem;margin-top:1rem;
}
.milestone-list div{
  border-top:1px solid rgba(24,40,69,.08);
  padding-top:1rem;
}
.milestone-list strong{
  display:block;color:var(--maroon);margin-bottom:.2rem;
}
.academic-bands{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.band-card h3{color:var(--navy)}
.band-card ul{margin:0;padding-left:1.1rem;color:#4e5b73}
.stage-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.stage-panel span{
  color:var(--maroon);
  font-weight:800;
  font-size:.92rem;
}
.check-list{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:.8rem;
  margin-top:1.2rem;
}
.check-list div{
  padding:.9rem 1rem;
  background:#fff8ea;
  border:1px solid rgba(232,189,75,.25);
  border-radius:16px;
  font-weight:700;
  color:#4d566e;
}
.life-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1rem;
}
.life-card{
  position:relative;
  padding-top:1.75rem;
}
.life-card::before{
  content:"";
  width:42px;height:42px;border-radius:14px;
  display:block;
  margin-bottom:1rem;
  background:linear-gradient(135deg, rgba(232,189,75,.35), rgba(155,17,72,.12));
}
.table-shell{
  background:#fff;
  padding:1rem;
  border-radius:28px;
  box-shadow:var(--shadow-lg);
  border:1px solid rgba(24,40,69,.08);
}
.nice-table{
  width:100%;
  border-collapse:collapse;
}
.nice-table th,.nice-table td{
  padding:1rem;
  text-align:left;
  border-bottom:1px solid rgba(24,40,69,.08);
}
.nice-table thead th{
  color:var(--navy);
  font-size:.95rem;
  background:#fff8ea;
}
.score-card{
  text-align:left;
  background:linear-gradient(180deg,#fff,#fff9ec);
}
.score-card span{display:block;color:var(--muted)}
.score-card strong{display:block;color:var(--navy);font-size:1.1rem;margin:.35rem 0}
.policy-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:1rem;
}
.policy-box h3{color:var(--navy)}
.policy-box ul{padding-left:1.2rem;margin:0 0 1.2rem;color:#4c586f}
.policy-image{
  width:100%;
  border-radius:20px;
  border:1px solid rgba(24,40,69,.08);
}
.admissions-steps{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1rem;
}
.admissions-steps article{
  background:#fff;
  border:1px solid rgba(24,40,69,.08);
  box-shadow:var(--shadow);
  border-radius:24px;
  padding:1.4rem;
}
.admissions-steps span{
  width:42px;height:42px;display:grid;place-items:center;
  border-radius:50%;
  background:#fff1c8;color:var(--maroon);font-weight:800;margin-bottom:1rem;
}
.masonry{
  columns:4 230px;
  column-gap:1rem;
}
.gallery-item{
  display:block;
  position:relative;
  break-inside:avoid;
  margin-bottom:1rem;
  border-radius:24px;
  overflow:hidden;
  box-shadow:var(--shadow-lg);
}
.gallery-item img{width:100%;display:block}
.gallery-item span{
  position:absolute;
  left:1rem;right:1rem;bottom:1rem;
  color:#fff;
  font-weight:800;
  background:rgba(24,40,69,.55);
  backdrop-filter:blur(8px);
  padding:.7rem .9rem;
  border-radius:14px;
}
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(8,12,20,.86);
  display:none;
  align-items:center;
  justify-content:center;
  padding:2rem;
  z-index:120;
}
.lightbox.open{display:flex}
.lightbox img{
  max-width:min(1100px, 92vw);
  max-height:84vh;
  border-radius:20px;
  box-shadow:var(--shadow-lg);
}
.lightbox-close{
  position:absolute;
  top:1rem;right:1rem;
  width:50px;height:50px;
  border-radius:50%;
  border:0;
  background:#fff;
  font-size:2rem;
  line-height:1;
  cursor:pointer;
}
.contact-form{
  display:grid;
  gap:1rem;
  margin-top:1rem;
}
.contact-form label{display:grid;gap:.45rem}
.contact-form span{
  font-weight:700;
  color:var(--navy);
}
.contact-form input,
.contact-form textarea{
  width:100%;
  border:1px solid rgba(24,40,69,.14);
  border-radius:16px;
  padding:.95rem 1rem;
  font:inherit;
  background:#fff;
}
.map-placeholder{
  background:linear-gradient(135deg, rgba(255,249,236,.95), #fff);
  border:1px dashed rgba(24,40,69,.2);
  min-height:220px;
  display:grid;
  place-items:center;
}
.map-surface{
  text-align:center;
  color:#4a5670;
  display:grid;
  gap:.3rem;
}
.text-link{
  color:var(--maroon);
  font-weight:800;
}
.site-footer{
  margin-top:3rem;
  background:linear-gradient(180deg, #132240, #0e1a31);
  color:#fff;
  padding-top:3rem;
}
.footer-grid{
  display:grid;
  grid-template-columns:1.25fr .8fr .95fr;
  gap:2rem;
}
.footer-brand .brand-text small{color:rgba(255,255,255,.7)}
.footer-note{color:rgba(255,255,255,.75)}
.footer-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.55rem .8rem;
}
.footer-links a{color:rgba(255,255,255,.85)}
.footer-list{
  margin:0;
  padding-left:1.1rem;
  color:rgba(255,255,255,.82);
}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:2rem;
  padding:1rem 0 1.6rem;
  color:rgba(255,255,255,.65);
}
.reveal{
  opacity:0;
  transform:translateY(24px);
  transition:opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal.visible{
  opacity:1;
  transform:none;
}
@media (max-width: 1080px){
  .hero-grid,.subhero-grid,.split-intro,.split-content,.facts-layout,.home-timeline-grid,.achievements-band,.cta-panel,.footer-grid{
    grid-template-columns:1fr;
  }
  .feature-grid,.roadmap,.stage-grid,.academic-bands,.life-grid,.cards-4{grid-template-columns:repeat(2,1fr)}
  .hero-stage{min-height:440px}
  .stage-main{inset:1rem 0 1rem 4.6rem}
}
@media (max-width: 840px){
  .topbar-inner{flex-direction:column;align-items:flex-start}
  .nav-toggle{display:block}
  .site-nav{
    position:absolute;
    left:1rem;right:1rem;top:calc(100% + .5rem);
    background:#fff;
    border:1px solid rgba(24,40,69,.08);
    border-radius:24px;
    box-shadow:var(--shadow-lg);
    padding:.8rem;
    display:none;
    flex-direction:column;
    align-items:stretch;
  }
  .site-nav.open{display:flex}
  .site-nav a{border-radius:16px}
  .stats-strip,.cards-3,.cards-2,.policy-grid,.admissions-steps,.achievement-mini-grid{
    grid-template-columns:1fr;
  }
  .feature-grid,.roadmap,.stage-grid,.academic-bands,.life-grid,.cards-4{grid-template-columns:1fr}
  .hero-stage{min-height:360px}
  .stage-main{inset:2rem 0 0 2rem}
  .stage-small{width:155px;height:205px}
  .stage-bottom{left:0}
  .section{padding:3.7rem 0}
}
@media (max-width: 560px){
  .container{width:min(100% - 1rem, 1180px)}
  .hero-home{padding:3.2rem 0}
  .hero-copy h1{max-width:none}
  .subhero-image img{height:290px}
  .brand-text small{display:none}
  .stage-top{display:none}
  .stage-main{position:relative;inset:auto;height:300px}
  .stage-bottom{position:absolute;right:0;left:auto;bottom:-1rem}
  .hero-stage{min-height:340px}
}
