/* SPPS — Academics page (builds on facilities.css + admissions.css) */
.ac .cr-ic{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(205,147,181,.18);color:var(--lmauve);margin-bottom:12px;flex:none}
.ac .cr-ic svg{width:24px;height:24px}
.ac-hero .fx-bg{inset:-8% 0}
.ac-hero .fx-bg img{transform:scale(1.08);animation:acZoom 18s ease-out forwards}
@keyframes acZoom{to{transform:scale(1)}}
.ac-stagebar{position:absolute;left:0;right:0;bottom:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px 20px;
  background:rgba(22,20,74,.6);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid rgba(255,255,255,.12);flex-wrap:wrap}
.ac-stagebar span{color:#fff;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ac-stagebar i{width:34px;height:2px;background:linear-gradient(90deg,var(--lmauve),var(--sky));border-radius:2px}
.ac-hero .fx-hero-inner{padding-bottom:130px}

.ac-approach{display:grid;grid-template-columns:1fr;gap:48px;align-items:start}
.ac-approach-img{margin:26px 0 0;border-radius:24px;overflow:hidden;aspect-ratio:16/10;position:relative}
.ac-approach-img img{position:absolute;inset:0}
.ac-pillars-h{font-size:1.4rem;margin:0 0 18px}
.ac-pillars{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ac-pillar{display:flex;flex-direction:column;gap:12px;padding:20px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s,border-color .3s;transition-delay:calc(var(--i)*.08s)}
.fx-anim [data-reveal]:not(.in) .ac-pillar{opacity:0;transform:translateY(20px) scale(.96)}
.ac-pillar:hover{border-color:var(--lmauve)}
.ac-pi{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff}
.ac-pi svg{width:22px;height:22px}
.ac-pillar b{color:#fff;font-size:.95rem;line-height:1.3}

.ac-journey{padding-top:30px}
.ac-mont{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;margin-bottom:56px}
.ac-mont-img{position:relative;margin:0;border-radius:28px 28px 28px 120px;overflow:hidden;aspect-ratio:4/3}
.ac-mont-img img{position:absolute;inset:0}
.ac-stage-tag{position:absolute;left:16px;top:16px;z-index:2;background:#fff;color:var(--primary);font-weight:700;font-size:.78rem;padding:7px 14px;border-radius:999px}
.ac-mgrid{display:grid;grid-template-columns:1fr;gap:12px;margin-top:20px}
.ac-m{padding:18px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);transition:transform .3s,border-color .3s}
.ac-m:hover{transform:translateY(-4px);border-color:var(--lmauve)}
.ac-m h3{font-size:1.08rem;margin:0 0 4px}
.ac-m p{margin:0;color:#cfcdee;font-size:.9rem}
.ac-stages{display:grid;grid-template-columns:1fr;gap:18px}
.ac-card{position:relative;overflow:hidden;padding:26px 24px;border-radius:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .35s,border-color .35s}
.ac-card:hover{transform:translateY(-8px);border-color:var(--lmauve)}
.ac-num{position:absolute;right:18px;top:8px;font-family:var(--serif);font-weight:700;font-size:4rem;line-height:1;color:rgba(255,255,255,.1)}
.ac-card h3{font-size:1.45rem;margin:0 0 4px}
.ac-card .stage-tag{color:var(--lmauve);font-weight:600;font-size:.92rem;margin-bottom:10px}
.ac-card p{color:#d0ceec;font-size:.93rem;margin:0 0 12px}
.ac-ticks{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ac-ticks li{color:#fff;font-size:.88rem;padding-left:24px;position:relative}
.ac-ticks li::before{content:"✓";position:absolute;left:0;color:var(--lmauve);font-weight:700}
.ac-card-photo{padding:0;display:flex;flex-direction:column}
.ac-card-img{position:relative;height:200px;overflow:hidden}
.ac-card-img img{position:absolute;inset:0;transition:transform 1.2s}
.ac-card-photo:hover .ac-card-img img{transform:scale(1.08)}
.ac-card-img .ac-num{color:rgba(255,255,255,.85);top:auto;bottom:-10px;text-shadow:0 6px 20px rgba(0,0,0,.4)}
.ac-card-body{padding:22px 24px 24px}

.ac-techno .fx-band-shade{background:linear-gradient(100deg,rgba(22,20,74,.96) 0%,rgba(22,20,74,.85) 55%,rgba(46,43,131,.6))}
.ac-techno-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center}
.ac-techno-grid p:not(.eyebrow){color:#dcdaf3;max-width:60ch}
.ac-orbit{position:relative;width:300px;height:300px;margin:0 auto;border-radius:50%;border:1px dashed rgba(205,147,181,.5)}
.ac-orbit::before{content:"";position:absolute;inset:50px;border-radius:50%;border:1px solid rgba(161,214,240,.3)}
.ac-core{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px 0 0 -46px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff;box-shadow:0 0 0 12px rgba(172,69,130,.18),0 0 60px rgba(172,69,130,.5)}
.ac-core svg{width:48px;height:48px;animation:acSpin 14s linear infinite}
@keyframes acSpin{to{transform:rotate(360deg)}}
.ac-sat{position:absolute;padding:7px 12px;border-radius:999px;background:#fff;color:var(--primary);font-weight:700;font-size:.78rem;white-space:nowrap;box-shadow:0 10px 24px -10px rgba(0,0,0,.5);animation:adFloat 6s ease-in-out infinite}
.ac-sat.s1{left:50%;top:-14px;transform:translateX(-50%)}
.ac-sat.s2{right:-30px;top:30%;animation-delay:-1.2s}
.ac-sat.s3{right:-10px;bottom:6%;animation-delay:-2.4s}
.ac-sat.s4{left:-24px;bottom:12%;animation-delay:-3.6s}
.ac-sat.s5{left:-16px;top:24%;animation-delay:-4.8s}

.ac-two{display:grid;grid-template-columns:1fr;gap:22px}
.ac-lcard{background:#fff;border:1px solid var(--line);border-radius:24px;padding:30px;box-shadow:0 30px 60px -40px rgba(46,43,131,.45);position:relative;overflow:hidden;transition:transform .3s}
.ac-lcard:hover{transform:translateY(-5px)}
.ac-lcard::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,var(--primary),var(--secondary),var(--sky))}
.ac-lcard h3{font-size:1.5rem;margin:16px 0 10px}
.ac-lcard p{color:#4a4a55;margin:0 0 12px}
.ac-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.ac-chips span{font-size:.78rem;font-weight:600;color:var(--royal);background:var(--sky-tint);padding:6px 12px;border-radius:999px}
.ac-excel{padding-top:10px}
.ac-excel-box{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;padding:40px;border-radius:28px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ac-excel-ill{width:160px;height:160px;color:var(--secondary);margin:0 auto}

@media (min-width:721px){
  .ac-mgrid{grid-template-columns:1fr 1fr}
  .ac-stages{grid-template-columns:1fr 1fr}
  .ac-card-photo{grid-column:1 / -1}
  .ac-two{grid-template-columns:1fr 1fr}
  .ac-excel-box{grid-template-columns:auto 1fr}
  .ac-pillars{grid-template-columns:repeat(3,1fr)}
}
@media (min-width:960px){
  .ac-approach{grid-template-columns:1.1fr .9fr;gap:64px}
  .ac-pillars{grid-template-columns:1fr 1fr}
  .ac-mont{grid-template-columns:1fr 1fr;gap:60px}
  .ac-stages{grid-template-columns:1fr 1fr 1.2fr}
  .ac-card-photo{grid-column:auto}
  .ac-techno-grid{grid-template-columns:1.2fr .8fr}
}
@media (max-width:720px){ .ac-stagebar i{width:14px} .ac-stagebar span{font-size:.68rem} .ac-orbit{width:240px;height:240px} }
@media (prefers-reduced-motion:reduce){ .ac-hero .fx-bg img,.ac-core svg,.ac-sat{animation:none} }

/* ===== Oct 15 corrections ===== */
.ac-stage-num{display:block;font-family:var(--serif);font-weight:700;font-size:4rem;line-height:1;color:rgba(255,255,255,.12);margin-bottom:-14px}
/* Robotics & AI */
.ac-robo{padding-top:30px}
.ac-robo-top{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
.ac-robo-mosaic{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:180px 180px;gap:12px}
.ac-robo-mosaic figure{position:relative;margin:0;border-radius:20px;overflow:hidden}
.ac-robo-mosaic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s}
.ac-robo-mosaic figure:hover img{transform:scale(1.06)}
.rm-a{grid-column:1;grid-row:1}
.rm-b{grid-column:2;grid-row:1 / span 2}
.rm-c{grid-column:1;grid-row:2;display:grid;grid-template-columns:1fr 1fr}
.rm-d{display:none}
@media (min-width:721px){
  .ac-robo-mosaic{grid-template-columns:1.3fr .8fr .9fr;grid-template-rows:200px 200px}
  .rm-a{grid-column:1;grid-row:1 / span 2}
  .rm-b{grid-column:2;grid-row:1 / span 2}
  .rm-c{grid-column:3;grid-row:1}
  .rm-d{display:block;grid-column:3;grid-row:2}
}
.ac-robo-h{font-size:1.45rem;margin:46px 0 20px}
.ac-robo-path{display:grid;grid-template-columns:1fr;gap:14px;position:relative}
.rp{padding:22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s,border-color .3s;transition-delay:calc(var(--i)*.1s)}
.rp:hover{border-color:var(--lmauve)}
.rp-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.rp-ic{width:46px;height:46px;border-radius:14px;flex:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--secondary),var(--primary));color:#fff}
.rp-ic svg{width:24px;height:24px}
.rp-head b{display:block;color:#fff;font-family:var(--serif);font-size:1.15rem}
.rp-head small{color:var(--lblue);font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}
.rp ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.rp li{position:relative;padding-left:20px;color:#d6d4f1;font-size:.9rem}
.rp li::before{content:"";position:absolute;left:0;top:.5em;width:8px;height:8px;border-radius:50%;background:var(--lmauve)}
@media (min-width:721px){ .ac-robo-path{grid-template-columns:repeat(2,1fr)} }
@media (min-width:960px){
  .ac-robo-top{grid-template-columns:1fr 1.1fr;gap:56px}
  .ac-robo-path{grid-template-columns:repeat(4,1fr)}
  .ac-robo-path::before{content:"";position:absolute;left:4%;right:4%;top:44px;height:2px;background:linear-gradient(90deg,var(--lmauve),var(--sky));opacity:.35;z-index:0}
  .rp{position:relative;z-index:1;background:#211e63}
}
/* Active CISCE */
.ac-active{padding-top:10px}
.ac-active-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;box-shadow:0 30px 60px -40px rgba(46,43,131,.45);position:relative;overflow:hidden}
.ac-active-box::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:linear-gradient(90deg,#ff9933,var(--secondary),var(--primary),#138808)}
.ac-callout{margin:16px 0 0;padding:14px 18px;border-left:4px solid var(--secondary);background:var(--mauve-tint);border-radius:0 14px 14px 0;color:var(--primary);font-weight:600}
.ac-active-cols{display:grid;grid-template-columns:1fr;gap:26px;margin-top:28px}
.ac-active-cols h3{font-size:1.25rem;margin:0 0 12px}
.ac-checks{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ac-checks li{position:relative;padding-left:30px;color:#45454f}
.ac-checks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--sky-tint);color:var(--royal);font-size:.75rem;font-weight:800;display:flex;align-items:center;justify-content:center}
.ac-checks.pink li::before{background:var(--mauve-tint);color:var(--secondary)}
.ac-pd b,.ac-checks b{color:var(--primary)}
@media (min-width:960px){ .ac-active-box{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px} .ac-active-cols{grid-template-columns:1fr 1fr;margin-top:0} }
/* ICSE */
.ac-icse{padding-top:20px}
.ac-icse .section-head{max-width:760px;margin:0 auto 30px}
.ac-groups{display:grid;grid-template-columns:1fr;gap:16px}
.ac-grp{background:#fff;border:1px solid var(--line);border-radius:22px;padding:26px 24px;position:relative;transition:transform .3s,box-shadow .3s}
.ac-grp:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ac-grp-k{display:block;font-family:var(--serif);font-size:1.5rem;color:var(--primary);font-weight:700}
.ac-grp-tag{position:absolute;right:20px;top:24px;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 11px;border-radius:999px;background:var(--mauve-tint);color:var(--secondary)}
.ac-grp ul{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.ac-grp li{padding:10px 14px;border-radius:12px;background:var(--bg);color:#3b3b45;font-weight:500}
.ac-grp li small{color:var(--muted);font-weight:400}
.ac-or{text-align:center;margin:10px 0 0;font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--secondary)}
.ac-supw{max-width:820px;margin:22px auto 0;text-align:center;color:#4a4a55;background:var(--sky-tint);border-radius:14px;padding:14px 18px}
.ac-supw b{color:var(--royal)}
@media (min-width:860px){ .ac-groups{grid-template-columns:repeat(3,1fr)} }
/* Medical */
.ac-med{padding-top:10px}
.ac-med-box{display:grid;grid-template-columns:1fr;gap:26px;align-items:center;padding:36px;border-radius:28px;background:linear-gradient(135deg,#fff,#eef7fc);border:1px solid var(--line);box-shadow:var(--shadow-sm)}
.ac-med-ill .ill{width:150px;height:150px;color:#2aa876;margin:0 auto;display:block}
.ac-med-pts{display:grid;grid-template-columns:1fr;gap:12px;margin-top:18px}
.ac-med-pts div{padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);border-left:4px solid #2aa876}
.ac-med-pts b{display:block;color:var(--primary)}
.ac-med-pts span{color:var(--muted);font-size:.9rem}
@media (min-width:721px){ .ac-med-pts{grid-template-columns:1fr 1fr} .ac-med-box{grid-template-columns:auto 1fr;gap:40px} }
.ac-anchor{position:absolute;top:-120px}
