/* ===========================================================
   Vasai College of Law — stylesheet
   Look: royal-blue navigation, white header, Merriweather serif
   Extras: glowing 3D cards, tilt, spinning crest, live notice bar
   Edit the colours in :root below — they update every page.
   =========================================================== */

:root{
  --blue:#1B2683;          /* main navigation blue (from your screenshot) */
  --blue-deep:#0D1450;
  --blue-mid:#2E3CB0;
  --blue-glow:rgba(60,80,255,.45);
  --gold:#D4A83A;
  --gold-soft:#F4DC93;
  --gold-glow:rgba(212,168,58,.55);
  --red:#B3202C;
  --ink:#1B1E38;
  --ink-soft:#4A4E6A;
  --mist:#EEF0FA;
  --line:#D9DCEE;
  --paper:#FFFFFF;
  --max:1240px;
  --font:'Merriweather', Georgia, 'Times New Roman', serif;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth; scroll-padding-top:70px;}
body{
  margin:0; font-family:var(--font); font-size:15.5px; line-height:1.8;
  color:var(--ink); background:var(--paper); -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4{font-family:var(--font); color:var(--blue-deep); line-height:1.3; margin:0 0 .55em; font-weight:700;}
h1{font-size:clamp(2rem,4.4vw,3.4rem); font-weight:900;}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem);}
h3{font-size:1.15rem;}
p{margin:0 0 1.1em; color:var(--ink-soft);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; height:auto; display:block;}
ul{padding-left:1.2em;}
.container{max-width:var(--max); margin:0 auto; padding:0 24px;}
:focus-visible{outline:3px solid var(--gold); outline-offset:2px;}
.skip-link{position:absolute; left:-999px; top:8px; background:var(--gold); color:#000; padding:8px 14px; z-index:999;}
.skip-link:focus{left:8px;}

/* ================= HEADER 1 : date-time | notice | social ================= */
.topbar{
  background:linear-gradient(90deg,#070C36,var(--blue-deep) 40%,#070C36);
  color:#fff; font-size:.82rem; position:relative; z-index:60;
  border-bottom:1px solid rgba(212,168,58,.55);
  box-shadow:0 2px 16px rgba(212,168,58,.28);
}
.topbar-inner{
  max-width:1500px; margin:0 auto; padding:0 24px; min-height:44px;
  display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:22px;
}
.datetime{display:flex; align-items:center; gap:10px; white-space:nowrap; color:#E9ECFF;}
.datetime svg{width:16px; height:16px; color:var(--gold); flex:none;}
.datetime .sep{width:1px; height:16px; background:rgba(255,255,255,.35);}
.datetime .time{font-weight:700; color:var(--gold-soft); font-variant-numeric:tabular-nums; letter-spacing:.02em; min-width:9.5ch; text-shadow:0 0 10px var(--gold-glow);}

.notice-bar{display:flex; align-items:center; gap:14px; min-width:0;}
.notice-tag{
  flex:none; background:linear-gradient(180deg,#E3494F,var(--red)); color:#fff; font-weight:700;
  padding:3px 14px; border-radius:3px; font-size:.78rem; letter-spacing:.06em;
  box-shadow:0 0 0 0 rgba(227,73,79,.7), inset 0 1px 0 rgba(255,255,255,.35);
  animation:tagPulse 2s infinite;
}
@keyframes tagPulse{0%{box-shadow:0 0 0 0 rgba(227,73,79,.7), inset 0 1px 0 rgba(255,255,255,.35);}70%{box-shadow:0 0 0 10px rgba(227,73,79,0), inset 0 1px 0 rgba(255,255,255,.35);}100%{box-shadow:0 0 0 0 rgba(227,73,79,0), inset 0 1px 0 rgba(255,255,255,.35);}}
.marquee{flex:1; min-width:0; overflow:hidden; position:relative;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.marquee-track{display:inline-flex; white-space:nowrap; animation:marquee 45s linear infinite; will-change:transform;}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track a, .marquee-track span.n{padding:0 34px 0 0; color:#fff;}
.marquee-track a:hover{color:var(--gold-soft); text-decoration:underline;}
.marquee-track .dot{color:var(--gold); padding-right:34px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.social{display:flex; gap:9px;}
.social a{
  width:30px; height:30px; border-radius:50%; display:grid; place-items:center; color:#fff;
  background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.28);
  transition:transform .25s, box-shadow .25s, background .25s, color .25s;
}
.social a svg{width:15px; height:15px;}
.social a:hover{transform:translateY(-3px) scale(1.12); color:#fff;}
.social a.wa:hover{background:#25D366; box-shadow:0 0 16px #25D366;}
.social a.fb:hover{background:#1877F2; box-shadow:0 0 16px #1877F2;}
.social a.ig:hover{background:linear-gradient(45deg,#F9A825,#E1306C,#7B3FE4); box-shadow:0 0 16px #E1306C;}
.social a.x:hover{background:#000; box-shadow:0 0 16px #fff;}

/* ================= HEADER 2 : logo | name | trust logo, then nav ================= */
.brandbar{background:#fff; position:relative;}
.brandbar::before{content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(60% 120% at 50% 0%,rgba(27,38,131,.06),transparent 70%);}
.brandbar-inner{
  max-width:1420px; margin:0 auto; padding:8px 24px 10px;
  display:grid; grid-template-columns:210px 1fr 210px; align-items:center; gap:18px; position:relative;
}
.crest{perspective:700px;}
.crest img{
  width:100%; max-width:195px; height:auto; margin:0 auto; transition:transform .5s cubic-bezier(.2,.8,.2,1);
  filter:drop-shadow(0 8px 12px rgba(13,20,80,.35)) drop-shadow(0 0 14px var(--gold-glow));
  animation:crestGlow 4s ease-in-out infinite;
}
.crest:hover img{transform:rotateY(360deg) scale(1.06);}
.crest--trust img{max-width:190px;}
@keyframes crestGlow{
  0%,100%{filter:drop-shadow(0 8px 12px rgba(13,20,80,.35)) drop-shadow(0 0 8px rgba(212,168,58,.35));}
  50%{filter:drop-shadow(0 8px 12px rgba(13,20,80,.35)) drop-shadow(0 0 22px rgba(212,168,58,.85));}
}
.brand-center{text-align:center;}
.trust-line{font-weight:700; font-size:clamp(.85rem,1.4vw,1.15rem); letter-spacing:.06em; color:var(--ink); margin:0 0 2px; text-transform:uppercase; max-width:none;}
.college-name{
  font-size:clamp(1.9rem,4.6vw,4rem); font-weight:900; margin:0; letter-spacing:.01em; color:#0D1450;
  text-transform:uppercase; line-height:1.1;
  text-shadow:0 1px 0 #C9CEF0, 0 2px 0 #B3BAE8, 0 3px 0 #9DA6E0, 0 4px 0 #8791D8, 0 10px 18px rgba(27,38,131,.35);
  animation:titleGlow 5s ease-in-out infinite;
}
@keyframes titleGlow{
  0%,100%{text-shadow:0 1px 0 #C9CEF0, 0 2px 0 #B3BAE8, 0 3px 0 #9DA6E0, 0 4px 0 #8791D8, 0 10px 18px rgba(27,38,131,.3);}
  50%{text-shadow:0 1px 0 #C9CEF0, 0 2px 0 #B3BAE8, 0 3px 0 #9DA6E0, 0 4px 0 #8791D8, 0 10px 26px rgba(60,80,255,.6), 0 0 30px rgba(212,168,58,.35);}
}
.approval{font-size:clamp(.62rem,.95vw,.8rem); font-weight:700; text-transform:uppercase; color:var(--ink); margin:8px auto 0; max-width:720px; line-height:1.5;}

/* ---------- Navigation (sticky) ---------- */
.navbar{position:sticky; top:0; z-index:50; background:#fff; padding:0 0 10px; box-shadow:0 10px 18px -16px rgba(13,20,80,.7);}
.navbar.stuck{padding-bottom:0; box-shadow:0 8px 24px rgba(13,20,80,.3);}
.nav-inner{max-width:1420px; margin:0 auto; padding:0 24px; display:flex; justify-content:center; align-items:flex-start;}
.menu{list-style:none; margin:0; padding:0; display:flex; gap:2px; perspective:1000px;}
.menu>li{position:relative;}
.menu>li>a, .menu>li>button{
  display:flex; align-items:center; gap:10px; height:56px; padding:0 28px; border:0; cursor:pointer;
  font-family:var(--font); font-size:1.02rem; color:#fff; background:linear-gradient(180deg,#2431A0,var(--blue) 55%,#151F6E);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -3px 0 rgba(0,0,0,.25);
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s, background .25s; position:relative; white-space:nowrap;
}
.menu>li>a:hover, .menu>li>button:hover, .menu>li:focus-within>a, .menu>li:focus-within>button, .menu>li.open>button{
  transform:translateY(-3px) translateZ(0) rotateX(6deg);
  background:linear-gradient(180deg,#3546D0,var(--blue-mid) 55%,#1B2683);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35), inset 0 -3px 0 var(--gold), 0 12px 22px -6px var(--blue-glow), 0 0 22px var(--blue-glow);
}
.menu>li.current>a, .menu>li.current>button{box-shadow:inset 0 1px 0 rgba(255,255,255,.22), inset 0 -4px 0 var(--gold), 0 0 18px var(--gold-glow);}
.chev{width:12px; height:12px; transition:transform .25s;}
.menu>li.open .chev, .menu>li:hover .chev{transform:rotate(180deg);}

.dropdown{
  list-style:none; margin:0; padding:0; position:absolute; top:100%; left:0; min-width:290px; background:#fff; z-index:70;
  box-shadow:0 22px 40px rgba(13,20,80,.35), 0 0 0 1px rgba(27,38,131,.08), 0 0 28px rgba(60,80,255,.18);
  border-top:3px solid var(--gold);
  opacity:0; visibility:hidden; transform:rotateX(-18deg) translateY(8px); transform-origin:top center;
  transition:opacity .25s, transform .3s cubic-bezier(.2,.8,.2,1), visibility .25s;
}
.menu>li:hover>.dropdown, .menu>li.open>.dropdown{opacity:1; visibility:visible; transform:none;}
.dropdown li+li{border-top:1px solid #D5D7E2;}
.dropdown a{
  display:block; padding:14px 26px; color:var(--ink); font-size:.98rem; line-height:1.35; position:relative;
  transition:background .2s, padding-left .2s, color .2s;
}
.dropdown a::before{content:""; position:absolute; left:0; top:0; bottom:0; width:0; background:var(--gold); box-shadow:0 0 12px var(--gold-glow); transition:width .2s;}
.dropdown a:hover, .dropdown a.here{background:var(--mist); padding-left:34px; color:var(--blue);}
.dropdown a:hover::before, .dropdown a.here::before{width:5px;}

.nav-toggle{display:none;}

/* ================= BUTTONS ================= */
.btn{
  display:inline-flex; align-items:center; gap:10px; padding:14px 30px; border:0; cursor:pointer; position:relative;
  font-family:var(--font); font-weight:700; font-size:.95rem; border-radius:3px; overflow:hidden;
  transition:transform .25s cubic-bezier(.2,.8,.2,1), box-shadow .25s;
}
.btn::after{content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent); transform:skewX(-20deg); transition:left .6s;}
.btn:hover::after{left:140%;}
.btn:hover{transform:translateY(-4px) scale(1.03);}
.btn-gold{background:linear-gradient(180deg,#F1CB63,var(--gold) 60%,#B98C22); color:#1B1400;
  box-shadow:0 6px 0 #8F6A12, 0 10px 20px rgba(212,168,58,.45), 0 0 24px rgba(212,168,58,.35); animation:btnPulse 3s ease-in-out infinite;}
.btn-gold:hover{box-shadow:0 8px 0 #8F6A12, 0 16px 28px rgba(212,168,58,.6), 0 0 36px rgba(212,168,58,.7);}
.btn-blue{background:linear-gradient(180deg,#3546D0,var(--blue));color:#fff; box-shadow:0 6px 0 #0D1450, 0 10px 20px rgba(27,38,131,.4), 0 0 20px var(--blue-glow);}
.btn-blue:hover{box-shadow:0 8px 0 #0D1450, 0 16px 28px rgba(27,38,131,.55), 0 0 34px var(--blue-glow);}
.btn-ghost{background:rgba(255,255,255,.08); color:#fff; box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.7), 0 0 18px rgba(255,255,255,.12);}
.btn-ghost:hover{background:rgba(255,255,255,.18); box-shadow:inset 0 0 0 1.5px #fff, 0 0 26px rgba(255,255,255,.35);}
.btn-block{width:100%; justify-content:center;}
@keyframes btnPulse{0%,100%{box-shadow:0 6px 0 #8F6A12, 0 10px 20px rgba(212,168,58,.4), 0 0 14px rgba(212,168,58,.25);}50%{box-shadow:0 6px 0 #8F6A12, 0 10px 24px rgba(212,168,58,.6), 0 0 34px rgba(212,168,58,.65);}}

/* ================= HERO (home) ================= */
.hero{position:relative; color:#fff; overflow:hidden; background:
  radial-gradient(70% 90% at 80% 20%,#2A38B5 0%,transparent 60%),
  linear-gradient(135deg,#0A1040,var(--blue-deep) 45%,#18227A);
  padding:74px 0 96px;}
.hero::before{content:""; position:absolute; inset:0; opacity:.16;
  background-image:linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.5) 1px,transparent 1px);
  background-size:56px 56px; -webkit-mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent); mask-image:radial-gradient(70% 70% at 60% 40%,#000,transparent);
  animation:gridDrift 30s linear infinite;}
@keyframes gridDrift{to{background-position:56px 56px;}}
.orb{position:absolute; border-radius:50%; filter:blur(50px); opacity:.55; pointer-events:none; animation:floatOrb 14s ease-in-out infinite;}
.orb.o1{width:340px; height:340px; background:#3C50FF; left:-80px; top:40px;}
.orb.o2{width:280px; height:280px; background:var(--gold); opacity:.28; right:8%; bottom:-60px; animation-delay:-5s;}
.orb.o3{width:200px; height:200px; background:#7B3FE4; left:42%; top:-40px; opacity:.35; animation-delay:-9s;}
@keyframes floatOrb{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(30px,-30px) scale(1.12);}}
.hero-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:48px; align-items:center; position:relative;}
.hero h1{color:#fff; margin:12px 0 18px; text-shadow:0 0 30px rgba(60,80,255,.6), 0 4px 0 rgba(0,0,0,.25);}
.hero h1 em{font-style:normal; color:var(--gold-soft); text-shadow:0 0 24px var(--gold-glow), 0 4px 0 rgba(0,0,0,.25);}
.hero p{color:#D6DAF7; max-width:54ch;}
.kicker{display:inline-block; font-weight:700; color:var(--gold-soft); font-size:.92rem; letter-spacing:.04em; padding:6px 16px; border:1px solid rgba(212,168,58,.6); border-radius:30px; background:rgba(212,168,58,.1); box-shadow:0 0 18px rgba(212,168,58,.25);}
.hero-actions{display:flex; flex-wrap:wrap; gap:18px; margin:30px 0 34px;}
.hero-facts{display:flex; flex-wrap:wrap; gap:14px 34px; padding:0; margin:0; list-style:none;}
.hero-facts li{color:#C9CFF5; font-size:.88rem; padding-left:16px; position:relative;}
.hero-facts li::before{content:""; position:absolute; left:0; top:.6em; width:7px; height:7px; background:var(--gold); border-radius:50%; box-shadow:0 0 10px var(--gold);}

.scene{position:relative; perspective:1100px; min-height:430px; display:grid; place-items:center;}
.scene-frame{
  position:relative; width:100%; max-width:560px; transform-style:preserve-3d;
  transform:rotateY(calc(-14deg + var(--sy,0deg))) rotateX(calc(4deg + var(--sx,0deg)));
  transition:transform .25s ease-out; animation:frameFloat 7s ease-in-out infinite;
}
@keyframes frameFloat{0%,100%{translate:0 0;}50%{translate:0 -12px;}}
.scene-frame .photo{
  border:5px solid #fff; box-shadow:0 0 0 2px var(--gold), 0 30px 60px rgba(0,0,0,.55), 0 0 60px rgba(60,80,255,.55), 0 0 90px rgba(212,168,58,.25);
  border-radius:6px; overflow:hidden; background:#fff;
}
.scene-frame .photo img{width:100%; aspect-ratio:800/376; object-fit:cover;}
.scene-frame::before{content:""; position:absolute; inset:-14px; border:1px solid rgba(212,168,58,.55); transform:translateZ(-40px); border-radius:10px; box-shadow:0 0 30px rgba(212,168,58,.35);}
.scene-tag{position:absolute; right:-14px; top:-18px; transform:translateZ(60px); background:linear-gradient(180deg,#E3494F,var(--red)); color:#fff; font-size:.78rem; font-weight:700; padding:8px 16px; border-radius:3px; box-shadow:0 10px 22px rgba(0,0,0,.45), 0 0 20px rgba(227,73,79,.6);}
.coin-wrap{position:absolute; left:-34px; bottom:-56px; width:170px; height:170px; perspective:800px; transform:translateZ(90px); z-index:2;}
.coin{position:relative; width:100%; height:100%; transform-style:preserve-3d; animation:coinSpin 9s ease-in-out infinite; filter:drop-shadow(0 18px 20px rgba(0,0,0,.5)) drop-shadow(0 0 26px var(--gold-glow));}
.coin img{position:absolute; inset:0; width:100%; height:100%; backface-visibility:hidden; -webkit-backface-visibility:hidden;}
.coin img.back{transform:rotateY(180deg);}
@keyframes coinSpin{0%,28%{transform:rotateY(0);}55%,100%{transform:rotateY(360deg);}}

/* ================= INNER PAGE BANNER ================= */
.page-hero{position:relative; overflow:hidden; color:#fff; padding:58px 0 62px;
  background:radial-gradient(60% 140% at 85% 0%,#2C3AAE,transparent 60%), linear-gradient(120deg,#0A1040,var(--blue-deep) 50%,#1A2580);}
.page-hero::after{content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,transparent,var(--gold),transparent); box-shadow:0 0 22px var(--gold);}
.page-hero .orb.o1{width:260px; height:260px; left:auto; right:12%; top:-90px;}
.page-hero .orb.o2{width:200px; height:200px; right:auto; left:6%; bottom:-90px;}
.page-hero h1{color:#fff; margin:8px 0 10px; font-size:clamp(1.8rem,3.6vw,2.7rem); text-shadow:0 0 26px rgba(60,80,255,.7), 0 3px 0 rgba(0,0,0,.25); animation:rise .8s both;}
.page-hero p{color:#D0D5F5; max-width:62ch; margin:0; animation:rise .8s .12s both;}
.crumbs{font-size:.84rem; color:#B9C0EE; animation:rise .8s both;}
.crumbs a{color:var(--gold-soft);} .crumbs a:hover{text-decoration:underline;}
@keyframes rise{from{opacity:0; transform:translateY(16px);}to{opacity:1; transform:none;}}

/* ================= SECTIONS ================= */
.section{padding:78px 0; position:relative;}
.section--mist{background:var(--mist);}
.section--mist::before{content:""; position:absolute; inset:0; pointer-events:none; opacity:.5;
  background:radial-gradient(circle at 12% 20%,rgba(46,60,176,.08),transparent 40%), radial-gradient(circle at 90% 80%,rgba(212,168,58,.12),transparent 40%);}
.section--navy{background:linear-gradient(135deg,#0A1040,var(--blue-deep) 50%,#18227A); color:#fff; overflow:hidden;}
.section--navy h2,.section--navy h3{color:#fff;}
.section--navy p{color:#CFD4F5;}
.section > .container{position:relative;}
.title{margin-bottom:44px; max-width:760px;}
.title.center{text-align:center; margin-left:auto; margin-right:auto;}
.title h2{position:relative; padding-bottom:16px; margin-bottom:14px;}
.title h2::after{content:""; position:absolute; left:0; bottom:0; width:84px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-soft)); box-shadow:0 0 14px var(--gold-glow); transform-origin:left; animation:barGrow 1.2s .2s both;}
.title.center h2::after{left:50%; margin-left:-42px;}
@keyframes barGrow{from{transform:scaleX(0);}to{transform:scaleX(1);}}
.two-col{display:grid; grid-template-columns:1.15fr .85fr; gap:52px; align-items:start;}
.two-col.flip{grid-template-columns:.85fr 1.15fr;}
.prose h3{margin-top:1.6em;}
.prose ul li{color:var(--ink-soft); margin-bottom:.5em;}
.prose ul li::marker{color:var(--gold);}

/* ================= 3D GLOW CARDS ================= */
.grid{display:grid; gap:26px;}
.g2{grid-template-columns:repeat(2,1fr);} .g3{grid-template-columns:repeat(3,1fr);} .g4{grid-template-columns:repeat(4,1fr);}
.tilt{
  --rx:0deg; --ry:0deg; --mx:50%; --my:50%;
  position:relative; background:#fff; padding:32px 28px 30px; border-radius:6px; border-top:4px solid var(--blue);
  transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)); transform-style:preserve-3d;
  transition:transform .18s ease-out, box-shadow .3s, border-color .3s;
  box-shadow:0 2px 0 rgba(13,20,80,.05), 0 14px 30px -12px rgba(13,20,80,.28);
}
.tilt::before{content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .3s;
  background:radial-gradient(420px circle at var(--mx) var(--my),rgba(212,168,58,.25),transparent 45%);}
.tilt:hover{border-top-color:var(--gold); box-shadow:0 0 0 1px rgba(212,168,58,.65), 0 28px 50px -14px rgba(13,20,80,.5), 0 0 40px rgba(212,168,58,.4), 0 0 70px rgba(60,80,255,.2);}
.tilt:hover::before{opacity:1;}
.tilt h3{margin-bottom:.4em;}
.tilt p:last-child{margin-bottom:0;}
.tilt.dark{background:linear-gradient(160deg,#1A2589,#0D1450); border-top-color:var(--gold); color:#fff;}
.tilt.dark .icon{color:#1B1400; background:radial-gradient(circle at 30% 25%,#FBE29A,var(--gold) 62%,#9C7312); box-shadow:inset 0 2px 0 rgba(255,255,255,.5), 0 10px 18px rgba(0,0,0,.4), 0 0 26px var(--gold-glow);}
.tilt.dark h3{color:#fff;} .tilt.dark p{color:#CFD4F5;}
.icon{width:64px; height:64px; border-radius:50%; display:grid; place-items:center; margin-bottom:18px; color:var(--gold-soft);
  background:radial-gradient(circle at 30% 25%,#4656E0,var(--blue) 60%,#0D1450);
  box-shadow:inset 0 2px 0 rgba(255,255,255,.35), 0 10px 18px rgba(13,20,80,.4), 0 0 22px var(--blue-glow); transform:translateZ(40px);}
.icon svg{width:30px; height:30px;}
.tilt:hover .icon{box-shadow:inset 0 2px 0 rgba(255,255,255,.35), 0 10px 18px rgba(13,20,80,.4), 0 0 30px var(--gold-glow); animation:iconBob 1.4s ease-in-out infinite;}
@keyframes iconBob{0%,100%{translate:0 0;}50%{translate:0 -6px;}}
.tilt .num{font-size:2.4rem; font-weight:900; color:var(--gold); line-height:1; margin-bottom:10px; text-shadow:0 0 18px var(--gold-glow);}
.link-card{display:block;}
.link-card .go{display:inline-block; margin-top:8px; color:var(--blue); font-weight:700; font-size:.9rem; transition:letter-spacing .25s, color .25s;}
.link-card:hover .go{letter-spacing:.06em; color:var(--gold);}
.pill{display:inline-block; font-size:.74rem; font-weight:700; padding:3px 12px; border-radius:20px; background:var(--mist); color:var(--blue); border:1px solid var(--line); margin-top:6px;}
.pill.soon{background:#FFF4D6; color:#7A5A00; border-color:#EBD48A;}

/* portraits (desk pages / faculty) */
.portrait{position:relative; text-align:center;}
.portrait .frame{width:210px; height:250px; margin:0 auto 18px; border-radius:6px; display:grid; place-items:center; color:#8E96D8;
  background:linear-gradient(160deg,#EEF0FA,#D5D9F3); box-shadow:0 0 0 4px #fff, 0 0 0 6px var(--gold), 0 20px 34px rgba(13,20,80,.35), 0 0 34px var(--gold-glow); transform:translateZ(30px);}
.portrait .frame svg{width:90px; height:90px;}
.portrait h3{margin-bottom:2px;}
.portrait .role{color:var(--blue); font-weight:700; font-size:.88rem;}
.tilt.person{text-align:center; padding-top:38px;}
.tilt.person .frame{width:150px; height:170px; margin-bottom:20px;}

.message{border-left:5px solid var(--gold); padding:6px 0 6px 26px; box-shadow:-10px 0 24px -14px var(--gold-glow);}
.message p{font-size:1.02rem; color:var(--ink);}
.sign{margin-top:26px; font-weight:700; color:var(--blue-deep);}
.sign small{display:block; font-weight:400; color:var(--ink-soft);}

/* facts list / tables */
.facts{width:100%; border-collapse:separate; border-spacing:0; background:#fff; border-radius:6px; overflow:hidden; box-shadow:0 14px 30px -12px rgba(13,20,80,.3), 0 0 0 1px var(--line);}
.facts td{color:var(--ink-soft);}
.facts th,.facts td{padding:15px 20px; text-align:left; vertical-align:top; border-bottom:1px solid var(--line); font-size:.95rem;}
.facts th{width:34%; background:var(--mist); color:var(--blue-deep); font-weight:700;}
.facts tr:last-child th,.facts tr:last-child td{border-bottom:0;}
.facts tbody tr{transition:background .2s, box-shadow .2s;}
.facts tbody tr:hover td{background:#FFFBEE;}
.facts thead th{background:linear-gradient(180deg,#2431A0,var(--blue)); color:#fff; width:auto;}
.scroll-x{overflow-x:auto;}

/* timeline (process) */
.steps{list-style:none; margin:0; padding:0; counter-reset:step; display:grid; gap:20px;}
.steps li{counter-increment:step; position:relative; background:#fff; padding:22px 24px 22px 92px; border-radius:6px; box-shadow:0 12px 26px -12px rgba(13,20,80,.3); transition:transform .3s, box-shadow .3s;}
.steps li::before{content:counter(step); position:absolute; left:22px; top:50%; translate:0 -50%; width:50px; height:50px; border-radius:50%; display:grid; place-items:center;
  font-weight:900; color:#1B1400; background:radial-gradient(circle at 30% 25%,#FBE29A,var(--gold) 65%,#A67B14); box-shadow:0 6px 12px rgba(0,0,0,.25), 0 0 20px var(--gold-glow);}
.steps li:hover{transform:translateX(8px); box-shadow:0 18px 34px -12px rgba(13,20,80,.4), 0 0 26px rgba(212,168,58,.35);}
.steps h3{margin-bottom:4px;} .steps p{margin:0;}

/* quote */
.quote{max-width:900px; margin:0 auto; text-align:center; font-size:clamp(1.15rem,2.2vw,1.55rem); line-height:1.65; color:#fff; font-weight:400; position:relative; padding:0 10px;}
.quote::before{content:"\201C"; display:block; font-size:5rem; line-height:.6; color:var(--gold); text-shadow:0 0 26px var(--gold-glow); font-weight:900;}
.quote cite{display:block; margin-top:22px; font-size:.95rem; font-style:normal; color:var(--gold-soft);}

/* CTA band */
.cta-band{text-align:center; background:linear-gradient(135deg,#1B2683,#3646C8 55%,#1B2683); border-top:4px solid var(--gold); box-shadow:inset 0 10px 30px -10px rgba(212,168,58,.5);}
.cta-band .hero-actions{justify-content:center; margin-bottom:0;}
.cta-band h2{color:#fff;}
.cta-band p{margin-left:auto; margin-right:auto;}

/* gallery */
.gallery{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
.tile{margin:0; position:relative; border-radius:6px; overflow:hidden; aspect-ratio:4/3; cursor:zoom-in; background:linear-gradient(145deg,#1A2589,#0D1450); display:grid; place-items:center; color:#fff; text-align:center; padding:20px;
  transform:perspective(900px) rotateX(var(--rx,0)) rotateY(var(--ry,0)); transition:transform .18s ease-out, box-shadow .3s; box-shadow:0 14px 28px -12px rgba(13,20,80,.5);}
.tile:hover{box-shadow:0 0 0 2px var(--gold), 0 26px 46px -14px rgba(13,20,80,.6), 0 0 40px var(--gold-glow);}
.tile img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .6s;}
.tile.wide{grid-column:span 2; aspect-ratio:auto;}
.tile.wide img{object-position:center 22%;}
.tile.fit img{object-fit:contain; background:#0D1450;}
.tile.contain img{object-fit:contain; padding:14px; background:#fff;}
.tile:hover img{transform:scale(1.07);}
.tile figcaption{position:absolute; left:0; right:0; bottom:0; padding:30px 16px 14px; font-weight:700; font-size:.9rem; background:linear-gradient(0deg,rgba(13,20,80,.92),transparent); text-align:left;}
.tile.empty{cursor:default; background:repeating-linear-gradient(135deg,#1A2589 0 14px,#16207A 14px 28px);}
.tile.empty span{font-size:.85rem; color:#C9CFF5; max-width:22ch;}
.tile.empty svg{width:42px; height:42px; color:var(--gold); margin:0 auto 8px; filter:drop-shadow(0 0 10px var(--gold-glow));}
.lightbox{position:fixed; inset:0; background:rgba(5,8,36,.94); display:none; place-items:center; z-index:200; padding:30px;}
.lightbox.show{display:grid; animation:fade .3s;}
.lightbox img{max-height:86vh; max-width:92vw; border-radius:6px; box-shadow:0 0 60px rgba(60,80,255,.6);}
.lightbox button{position:absolute; top:18px; right:22px; font-size:2.4rem; color:#fff; background:none; border:0; cursor:pointer; text-shadow:0 0 14px var(--gold);}
@keyframes fade{from{opacity:0;}to{opacity:1;}}

/* forms */
.form-card{background:#fff; padding:34px; border-radius:6px; border-top:4px solid var(--gold); box-shadow:0 24px 44px -16px rgba(13,20,80,.45), 0 0 40px rgba(60,80,255,.12);}
.form-grid{display:grid; gap:16px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
label{display:block; font-size:.85rem; font-weight:700; color:var(--blue-deep); margin-bottom:6px;}
input,select,textarea{width:100%; padding:12px 14px; border:1.5px solid var(--line); border-radius:4px; font-family:var(--font); font-size:.95rem; color:var(--ink); background:#fff; transition:border-color .2s, box-shadow .2s;}
input:focus,select:focus,textarea:focus{outline:none; border-color:var(--blue-mid); box-shadow:0 0 0 4px rgba(46,60,176,.15), 0 0 20px rgba(60,80,255,.25);}
.form-status{font-size:.9rem; min-height:1.3em; margin:0;}
.form-status.ok{color:#1F7A3B;} .form-status.err{color:var(--red);}
.contact-list{list-style:none; padding:0; margin:0; display:grid; gap:14px;}
.contact-list li{display:flex; gap:14px; align-items:flex-start;}
.contact-list .ic{flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; background:radial-gradient(circle at 30% 25%,#4656E0,var(--blue)); color:var(--gold-soft); box-shadow:0 8px 14px rgba(13,20,80,.35), 0 0 16px var(--blue-glow);}
.contact-list .ic svg{width:20px; height:20px;}
.contact-list strong{display:block; color:var(--blue-deep);}
.contact-list span,.contact-list a{color:var(--ink-soft);}
.contact-list a:hover{color:var(--blue);}
.map-frame{border:0; width:100%; height:300px; border-radius:6px; box-shadow:0 18px 34px -14px rgba(13,20,80,.5);}

/* ================= FOOTER ================= */
.footer{background:linear-gradient(180deg,#0A1040,#060A2B); color:#C9CFF5; position:relative; padding-top:66px; border-top:4px solid var(--gold); box-shadow:0 -6px 30px rgba(212,168,58,.35);}
.footer-grid{display:grid; grid-template-columns:1.5fr 1fr 1fr 1.3fr; gap:38px; padding-bottom:44px;}
.footer h4{color:#fff; font-size:1.02rem; margin-bottom:16px; position:relative; padding-bottom:10px;}
.footer h4::after{content:""; position:absolute; left:0; bottom:0; width:38px; height:3px; background:var(--gold); box-shadow:0 0 10px var(--gold);}
.footer ul{list-style:none; padding:0; margin:0;}
.footer li{margin-bottom:9px; font-size:.9rem;}
.footer a{transition:color .2s, padding-left .2s;} .footer li a:hover{color:var(--gold-soft); padding-left:6px;}
.footer p{color:#B4BBEA; font-size:.9rem;}
.footer-brand{display:flex; align-items:center; gap:14px; margin-bottom:14px;}
.footer-brand img{width:58px; filter:drop-shadow(0 0 12px var(--gold-glow));}
.footer-brand h4{margin:0; padding:0;} .footer-brand h4::after{display:none;}
.footer .social{margin-top:6px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12); padding:18px 0; display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; font-size:.82rem; color:#9AA2D8;}

/* floating contact button (WhatsApp) */
.fab{position:fixed; right:22px; bottom:22px; z-index:90; display:flex; align-items:center; gap:12px;}
.fab .label{background:#fff; color:var(--ink); padding:10px 18px; border-radius:30px; font-size:.95rem; box-shadow:0 8px 22px rgba(0,0,0,.25); transition:opacity .3s, transform .3s;}
.fab .btn-wa{width:64px; height:64px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(180deg,#3FE07D,#1FA855); box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,.7); animation:waPulse 2.2s infinite; transition:transform .25s;}
.fab:hover .btn-wa{transform:scale(1.1) rotate(-8deg);}
.fab svg{width:32px; height:32px; fill:#fff;}
@keyframes waPulse{0%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,.7);}70%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 20px rgba(37,211,102,0);}100%{box-shadow:0 8px 20px rgba(0,0,0,.35), 0 0 0 0 rgba(37,211,102,0);}}

/* enquiry pop-up */
.lead-overlay{position:fixed; inset:0; background:rgba(5,8,36,.75); backdrop-filter:blur(4px); display:grid; place-items:center; z-index:150; padding:20px; opacity:0; pointer-events:none; transition:opacity .3s;}
.lead-overlay.show{opacity:1; pointer-events:auto;}
.lead-modal{position:relative; background:#fff; width:100%; max-width:480px; padding:34px; border-radius:8px; border-top:5px solid var(--gold); transform:perspective(900px) rotateX(-18deg) translateY(40px); transition:transform .5s cubic-bezier(.2,.8,.2,1); box-shadow:0 40px 80px rgba(0,0,0,.6), 0 0 60px rgba(212,168,58,.4); max-height:94vh; overflow:auto;}
.lead-overlay.show .lead-modal{transform:none;}
.lead-close{position:absolute; top:10px; right:14px; border:0; background:none; font-size:2rem; cursor:pointer; color:var(--ink-soft);}
.lead-modal h3{font-size:1.3rem;}
.lead-modal p{font-size:.9rem;}

/* scroll reveal */
.reveal{opacity:0; transform:translateY(34px) rotateX(10deg); transition:opacity .8s cubic-bezier(.2,.8,.2,1), transform .8s cubic-bezier(.2,.8,.2,1); transition-delay:var(--d,0s);}
.reveal.in{opacity:1; transform:none;}
/* .tilt uses its own transform; wrap-in reveal via opacity only */
.tilt.reveal{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry)) translateY(34px);}
.tilt.reveal.in{transform:perspective(900px) rotateX(var(--rx)) rotateY(var(--ry));}
.tilt.reveal.in{transition:opacity .8s, transform .18s ease-out, box-shadow .3s, border-color .3s;}

/* ================= RESPONSIVE ================= */
@media (max-width:1180px){ .brandbar-inner{grid-template-columns:150px 1fr 150px;} }
@media (max-width:1320px){ .menu>li>a,.menu>li>button{padding:0 18px; font-size:.95rem;} }
@media (max-width:1140px){
  .nav-inner{justify-content:space-between; align-items:center; padding:8px 20px;}
  .navbar{padding:0;}
  .nav-toggle{display:flex; align-items:center; gap:10px; margin-left:auto; height:46px; padding:0 20px; border:0; cursor:pointer; color:#fff; font-family:var(--font); font-size:1rem; background:linear-gradient(180deg,#2431A0,var(--blue)); box-shadow:0 0 18px var(--blue-glow);}
  .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{display:block; width:20px; height:2px; background:#fff; position:relative;}
  .nav-toggle span::before,.nav-toggle span::after{content:""; position:absolute; left:0;}
  .nav-toggle span::before{top:-6px;} .nav-toggle span::after{top:6px;}
  .nav-current{font-weight:700; color:var(--blue-deep);}
  .menu{position:absolute; left:0; right:0; top:100%; flex-direction:column; gap:0; background:#fff; max-height:0; overflow:hidden; box-shadow:0 20px 30px rgba(13,20,80,.3); transition:max-height .5s ease;}
  .menu.open{max-height:80vh; overflow:auto;}
  .menu>li>a,.menu>li>button{width:100%; height:52px; justify-content:space-between; transform:none !important; box-shadow:inset 0 -1px 0 rgba(255,255,255,.18) !important;}
  .dropdown{position:static; opacity:1; visibility:visible; transform:none; max-height:0; overflow:hidden; box-shadow:none; border-top:0; transition:max-height .4s;}
  .menu>li.open>.dropdown{max-height:600px;}
  .menu>li:hover>.dropdown{max-height:0;} .menu>li.open:hover>.dropdown{max-height:600px;}
  .dropdown a{padding-left:34px;}
}
@media (max-width:1000px){
  .hero-grid,.two-col,.two-col.flip{grid-template-columns:1fr;}
  .scene{margin-top:30px; min-height:0; padding-bottom:50px;}
  .g3,.g4{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .tile.wide{grid-column:span 2;}
  .topbar-inner{grid-template-columns:1fr auto; row-gap:6px; padding-top:6px; padding-bottom:6px;}
  .notice-bar{grid-column:1 / -1; order:3;}
}
@media (max-width:760px){
  .brandbar-inner{grid-template-columns:86px 1fr 86px; gap:6px; padding:8px 8px 10px;}
  .crest img,.crest--trust img{max-width:84px;}
  .approval{display:none;}
  .datetime .sep,.datetime .clock-ico{display:none;}
  .datetime{font-size:.74rem; gap:6px; flex-wrap:wrap;}
  .g2,.g3,.g4,.gallery,.row2,.footer-grid{grid-template-columns:1fr;}
  .tile.wide{grid-column:auto; aspect-ratio:4/3;}
  .section{padding:56px 0;}
  .fab .label{display:none;}
  .coin-wrap{width:110px; height:110px; left:-8px; bottom:-40px;}
  .steps li{padding-left:80px;}
  .facts th,.facts td{display:block; width:100%;}
  .facts th{border-bottom:0; padding-bottom:4px;}
  .facts thead{display:none;}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important;}
  .marquee-track{animation:none !important;}
  .reveal{opacity:1; transform:none;}
}

/* ===========================================================
   NEW PAGE COMPONENTS  (Academics, Calendar, Timetable, Trust, Programmes)
   =========================================================== */
.sr-only{position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;}
.lead{font-size:1.05rem; max-width:820px; color:var(--ink); margin:-8px 0 34px;}
.btn-sm{padding:10px 20px; font-size:.86rem; box-shadow:0 4px 0 #8F6A12, 0 8px 16px rgba(212,168,58,.4); animation:none;}
.founders{max-width:860px; margin:0 auto;}
.prog-cta{margin:34px 0 0;}
.pill.ok{background:#E4F4E9; color:#1F6B37; border-color:#B7DEC3; margin-top:0;}
.pill.ok:hover{background:#D3EEDB;}
abbr[title]{text-decoration:none; border-bottom:1px dotted currentColor; cursor:help;}

/* academic calendar list */
.cal{list-style:none; margin:0 0 30px; padding:0; column-count:2; column-gap:24px;}
.cal li{break-inside:avoid; display:flex; align-items:center; gap:14px; margin:0 0 12px; padding:11px 16px; background:#fff;
  border:1px solid var(--line); border-left:4px solid var(--gold); border-radius:6px; box-shadow:0 10px 22px -14px rgba(13,20,80,.35);
  transition:transform .25s, box-shadow .25s;}
.cal li:hover{transform:translateX(5px); box-shadow:0 14px 28px -12px rgba(13,20,80,.4), 0 0 20px rgba(212,168,58,.3);}
.cal li.key{border-left-color:var(--blue);}
.cal .n{flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; font-weight:900; font-size:.82rem; color:var(--gold-soft);
  background:radial-gradient(circle at 30% 25%,#4656E0,var(--blue) 60%,#0D1450); box-shadow:0 5px 10px rgba(13,20,80,.3);}
.cal .t{color:var(--ink); font-size:.95rem; line-height:1.45;}
.cal li.key .t{font-weight:700; color:var(--blue-deep);}

/* timetables */
.tt-status td:nth-child(3){white-space:nowrap;}
.tt-card{background:#fff; border-radius:6px; overflow:hidden; margin:0 0 40px; box-shadow:0 18px 36px -16px rgba(13,20,80,.4), 0 0 0 1px var(--line); scroll-margin-top:80px;}
.tt-head{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px 22px; padding:20px 26px; color:#fff;
  background:linear-gradient(120deg,#0A1040,var(--blue-deep) 50%,#1A2580); border-bottom:3px solid var(--gold);}
.tt-head h3{color:#fff; margin:0 0 4px;}
.tt-head p{margin:0; color:#CFD4F5; font-size:.88rem;}
.tt-table{padding:18px;}
.tt{width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed;}
.tt th.tt-time{width:150px;}
.tt-status .pill{margin-top:0;}
.tt th,.tt td{border:1px solid var(--line); padding:12px 10px; text-align:center; vertical-align:middle; font-size:.88rem; line-height:1.45; color:var(--ink);}
.tt thead th{background:linear-gradient(180deg,#2431A0,var(--blue)); color:#fff; font-size:.85rem;}
.tt th.tt-time{background:var(--mist); color:var(--blue-deep); text-align:left; white-space:nowrap; font-size:.82rem;}
.tt thead th.tt-time{background:linear-gradient(180deg,#2431A0,var(--blue)); color:#fff;}
.tt td.alt{background:#FFFBEE; color:#6B4E00;}
.tt td.brk{background:#F1F2FA; color:var(--ink-soft); letter-spacing:.7em; font-weight:700; font-size:.8rem; padding-left:calc(10px + .7em);}
.tt td.free{color:#9AA0C5;}
.tt tbody tr:hover td:not(.brk){background:#EEF0FA;}
.tt-days{display:none;}
.tt-committee{text-align:center; color:var(--ink); margin:6px 0 0;}
.tt-committee strong{color:var(--blue-deep);}

/* ===========================================================
   RESPONSIVE REFINEMENTS
   Only adds/overrides layout rules at the breakpoints below —
   the desktop look (>=1141px) is untouched, apart from the
   wide-screen container tweak at 1440px+.
   Breakpoints: 320-767 mobile | 768-1023 tablet | 1024-1439 laptop | 1440+ large
   =========================================================== */
html{-webkit-text-size-adjust:100%; text-size-adjust:100%;}
body{overflow-wrap:break-word;}
table{max-width:100%;}
.scroll-x{-webkit-overflow-scrolling:touch;}
iframe,video{max-width:100%;}

/* --- large desktop: keep content aligned with the wide header --- */
@media (min-width:1440px){
  :root{--max:1320px;}
}

/* --- laptop: 9 menu items must fit on one row --- */
@media (min-width:1141px) and (max-width:1300px){
  .menu>li>a,.menu>li>button{padding:0 13px; font-size:.9rem; gap:7px;}
  .nav-inner,.brandbar-inner{padding-left:16px; padding-right:16px;}
}
/* touch laptops / tablets in landscape: dropdown opens on tap, not sticky-hover */
@media (hover:none) and (min-width:1141px){
  .menu>li:hover>.dropdown{opacity:0; visibility:hidden; transform:rotateX(-18deg) translateY(8px);}
  .menu>li.open>.dropdown,.menu>li.open:hover>.dropdown{opacity:1; visibility:visible; transform:none;}
  .menu>li:hover>a,.menu>li:hover>button{transform:none;}
}

/* --- compact nav (tablet + mobile) --- */
@media (max-width:1140px){
  .menu{max-height:0; overscroll-behavior:contain;}
  .menu.open{max-height:calc(100vh - 130px); max-height:calc(100dvh - 130px); -webkit-overflow-scrolling:touch;}
  .dropdown a{min-height:48px; display:flex; align-items:center;}
  .navbar{box-shadow:0 8px 24px rgba(13,20,80,.25);}
  html{scroll-padding-top:64px;}
}

/* --- tablet --- */
@media (min-width:768px) and (max-width:1023px){
  .tt{min-width:0;}
  .tt th,.tt td{padding:10px 6px; font-size:.8rem;}
  .tt th.tt-time{font-size:.74rem; white-space:normal; width:92px;}
  .tt-table{padding:12px;}
}
@media (max-width:1000px){
  .section{padding:64px 0;}
  .hero{padding:60px 0 84px;}
  .cal{column-count:1;}
}

/* --- mobile --- */
@media (max-width:760px){
  body{font-size:15px; line-height:1.75;}
  .container{padding:0 20px;}
  .section{padding:48px 0;}
  .title{margin-bottom:30px;}
  .page-hero{padding:40px 0 46px;}
  .page-hero .orb{opacity:.35;}
  .hero{padding:44px 0 72px;}

  /* top bar */
  .topbar-inner{padding:6px 14px; gap:6px 10px;}
  .datetime{white-space:normal; line-height:1.35;}
  .datetime [data-date]{display:inline-block;}
  .social{gap:8px;}
  .social a{width:38px; height:38px;}
  .social a svg{width:17px; height:17px;}
  .notice-tag{padding:4px 12px;}
  .marquee-track{animation-duration:38s;}

  /* brand bar: lighter effects, tidy sizes */
  .brandbar-inner{padding:8px 10px 10px;}
  .crest img{animation:none; filter:drop-shadow(0 4px 8px rgba(13,20,80,.3));}
  .college-name{animation:none; font-size:clamp(1.15rem,6.2vw,2.1rem); text-shadow:0 1px 0 #C9CEF0, 0 2px 0 #B3BAE8, 0 3px 0 #9DA6E0, 0 6px 12px rgba(27,38,131,.3);}
  .trust-line{font-size:clamp(.56rem,2.6vw,.8rem); letter-spacing:.03em;}

  /* full-width, thumb-friendly menu bar */
  .nav-inner{padding:0;}
  .nav-toggle{width:100%; height:52px; margin:0; justify-content:center; font-size:1.02rem;}
  .menu>li>a,.menu>li>button{height:54px; padding:0 20px;}
  .menu.open{max-height:calc(100vh - 150px); max-height:calc(100dvh - 150px);}

  /* hero scene — flatten the 3D so nothing is clipped */
  .scene{margin-top:26px; padding-bottom:44px;}
  .scene-frame{transform:none !important; animation:none; max-width:100%;}
  .scene-frame::before{inset:-8px; transform:none;}
  .scene-tag{transform:none; right:6px; top:-16px; font-size:.7rem; padding:7px 12px;}
  .coin-wrap{transform:none; width:96px; height:96px; left:6px; bottom:-48px;}
  .hero-actions{gap:14px; margin:26px 0 28px;}
  .hero-facts{gap:8px 22px;}

  /* buttons + tap targets */
  .btn{min-height:48px; padding:13px 24px; justify-content:center;}
  .hero-actions .btn{flex:1 1 220px;}
  .cta-band .hero-actions .btn{flex:0 1 auto;}
  .prog-cta .btn{width:100%;}
  .link-card .go{padding:6px 0;}
  .footer li a{display:inline-block; padding:4px 0;}

  /* cards & tables */
  .tilt{padding:26px 22px 24px;}
  .icon{width:58px; height:58px;}
  .grid{gap:20px;}
  .steps li{padding:20px 18px 20px 76px;}
  .steps li::before{left:16px; width:44px; height:44px;}
  .facts th,.facts td{padding:12px 16px;}
  .tt-table{display:none;}
  .tt-days{display:grid; gap:14px; padding:14px;}
  .tt-head{padding:18px 18px;}
  .tt-head .btn{width:100%;}
  .tt-status td:nth-child(3){white-space:normal;}
  .tt-status{min-width:0;}
  .tt-status thead{display:none;}
  .tt-status tr{display:block; border-bottom:1px solid var(--line); padding:6px 0;}
  .tt-status td{display:block; border:0; padding:3px 16px; width:100%;}
  .tt-status td:first-child{font-weight:700; color:var(--blue-deep);}
  .tt-day{border:1px solid var(--line); border-radius:6px; overflow:hidden; background:#fff;}
  .tt-day h4{margin:0; padding:10px 16px; color:#fff; font-size:.95rem; background:linear-gradient(180deg,#2431A0,var(--blue));}
  .tt-day ul{list-style:none; margin:0; padding:0;}
  .tt-day li{display:grid; grid-template-columns:132px 1fr; gap:12px; align-items:start; padding:11px 16px; border-top:1px solid var(--line); font-size:.9rem; line-height:1.45;}
  .tt-day li:first-child{border-top:0;}
  .tt-day .t{color:var(--blue-deep); font-weight:700; font-size:.78rem;}
  .tt-day .s{color:var(--ink);}
  .tt-day li.alt{background:#FFFBEE;} .tt-day li.alt .s{color:#6B4E00;}
  .tt-day li.brk{background:#F1F2FA;} .tt-day li.brk .s{color:var(--ink-soft);}
  .cal li{padding:10px 14px;}
  .cal li:hover{transform:none;}

  /* forms: 16px text stops iOS Safari zooming in on focus */
  input,select,textarea{font-size:16px; min-height:48px; padding:12px 14px;}
  textarea{min-height:120px;}
  .form-card{padding:24px 20px;}
  .lead-modal{padding:26px 20px 22px; max-height:92vh; max-height:92dvh;}
  .lead-close{width:44px; height:44px; top:4px; right:6px;}
  .map-frame{height:260px;}

  /* floating WhatsApp button */
  .fab{right:14px; bottom:14px;}
  .fab .btn-wa{width:56px; height:56px;}
  .fab svg{width:28px; height:28px;}

  /* footer */
  .footer{padding-top:48px;}
  .footer-bottom{flex-direction:column; text-align:center; padding-bottom:88px; gap:6px;}
  .footer-brand{flex-wrap:wrap;}
  .quote{padding:0;}
  .portrait .frame{max-width:100%;}
}

/* --- small phones (320-480) --- */
@media (max-width:480px){
  .container{padding:0 16px;}
  .section{padding:42px 0;}
  .brandbar-inner{grid-template-columns:64px 1fr 64px; gap:4px; padding:8px 8px 10px;}
  .crest img,.crest--trust img{max-width:62px;}
  .college-name{font-size:clamp(1.05rem,6vw,1.6rem);}
  .tilt{padding:24px 18px 22px;}
  .tilt.person .frame{width:130px; height:150px;}
  .portrait .frame[style]{width:190px !important; height:190px !important;}
  .trust-emblem{width:170px !important;}
  .tt-day li{grid-template-columns:1fr; gap:2px;}
  .tt-day .t{font-size:.74rem;}
  .page-hero h1{font-size:clamp(1.65rem,8vw,2.1rem);}
  .crumbs{line-height:1.6;}
  .tag,.kicker{font-size:.82rem;}
  .hero h1{font-size:clamp(1.9rem,9vw,2.4rem);}
  .quote{font-size:1.08rem;}
  .tilt .num{font-size:2rem;}
}
@media (max-width:360px){
  .social a{width:34px; height:34px;}
  .social{gap:6px;}
  .datetime{font-size:.7rem;}
  .kicker{padding:6px 12px;}
  .menu>li>a,.menu>li>button{padding:0 16px;}
  .dropdown a{padding-left:28px; padding-right:16px;}
}

/* --- short landscape phones: keep the pop-up + menu reachable --- */
@media (max-height:520px) and (orientation:landscape){
  .lead-overlay{place-items:start center; overflow:auto;}
  .lead-modal{max-height:none; margin:8px 0;}
  .menu.open{max-height:calc(100vh - 100px);}
  .fab .label{display:none;}
}

/* ===== HOME: full-size banner + 3 notice panels ===== */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.home-banner{background:#0D1450;padding:0;line-height:0;text-align:center;width:100%;overflow:hidden}
.home-banner img{display:block;width:100%;height:auto;max-width:none;max-height:none;border-radius:0;box-shadow:none}
.board{background:linear-gradient(#EEF0FA,#fff);padding:34px 0 44px}
.board-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.board-card{background:#fff;border-radius:16px;padding:12px 12px 14px;box-shadow:0 8px 26px rgba(20,30,90,.18);transition:transform .3s,box-shadow .3s}
.board-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(20,30,90,.24)}
.board-card h2{margin:0 0 4px;padding:12px 10px;text-align:center;color:#fff;font-size:1.6rem;font-weight:400;text-shadow:none}
.board-card.notice h2{background:#EB1111}
.board-card.exam h2{background:#1B2A5C}
.board-card.adm h2{background:#FBE100;color:#111}
.board-card ul{list-style:none;margin:0;padding:0 8px}
.board-card li{border-bottom:1px solid #E4E4EA;text-align:center}
.board-card li:last-child{border-bottom:0}
.board-card a{display:block;padding:14px 8px;line-height:1.35;text-decoration:none;transition:background .2s,letter-spacing .2s}
.board-card.notice a{color:#E60000}
.board-card.exam a,.board-card.adm a{color:#C2305E}
.board-card a:hover{background:#F6F7FD;letter-spacing:.2px}
.board-card .tick{width:15px;height:15px;margin-right:8px;vertical-align:-2px;fill:none;stroke:#000;stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:900px){.board-grid{grid-template-columns:1fr;gap:20px}.board-card h2{font-size:1.35rem}}

/* ===== LEAD POP-UP (compact, animated) ===== */
.lead-overlay .lead-modal{max-width:370px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#fff;
  transform:translateY(34px) scale(.92);opacity:0;transition:transform .55s cubic-bezier(.2,1.2,.3,1),opacity .35s;
  box-shadow:0 30px 70px rgba(0,0,0,.55),0 0 0 1px rgba(212,168,58,.35)}
.lead-overlay.show .lead-modal{transform:none;opacity:1}
.lead-modal::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;z-index:3;background:linear-gradient(90deg,#D4A83A,#F4DC93,#D4A83A,#F4DC93);background-size:200% 100%;animation:lfBar 3s linear infinite}
.lead-head{position:relative;display:flex;gap:14px;align-items:center;padding:24px 44px 18px 20px;color:#fff;overflow:hidden;
  background:radial-gradient(circle at 15% 0,#3A48C8,transparent 60%),linear-gradient(135deg,#0D1450,#1B2683)}
.lead-head::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.14) 50%,transparent 60%);transform:translateX(-120%);animation:lfShine 4.5s 1s infinite}
.lead-head h3{margin:0;color:#fff;font-size:1.08rem;text-shadow:none}
.lead-head p{margin:3px 0 0;color:#C9CFF5;font-size:.78rem;line-height:1.4}
.lead-ring{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;color:#F4DC93;border:1.5px solid #D4A83A;position:relative;animation:lfPulse 2.4s infinite}
.lead-ring svg{width:24px;height:24px;transform-origin:50% 20%;animation:lfSway 3.2s ease-in-out infinite}
.lead-overlay .lead-close{top:8px;right:8px;width:34px;height:34px;color:#fff;font-size:1.5rem;line-height:1;border-radius:50%;z-index:4;transition:background .2s,transform .3s}
.lead-close:hover{background:rgba(255,255,255,.18);transform:rotate(90deg)}
.lead-modal form{padding:18px 20px 20px;display:grid;gap:14px}
.lf{position:relative}
.lf input,.lf select{width:100%;box-sizing:border-box;height:46px;padding:16px 12px 4px;border:1px solid #D8DBEE;border-radius:10px;background:#FAFAFE;font:inherit;font-size:.92rem;color:#0D1450;outline:0;transition:border-color .25s,background .25s,box-shadow .25s}
.lf label{position:absolute;left:13px;top:14px;margin:0;font-size:.9rem;color:#6B7194;pointer-events:none;transition:all .2s;transform-origin:left}
.lf input:focus+label,.lf input:not(:placeholder-shown)+label,.lf select+label{top:5px;font-size:.66rem;color:#8A6A12;font-weight:700}
.lf input:focus,.lf select:focus{border-color:#D4A83A;background:#fff;box-shadow:0 0 0 4px rgba(212,168,58,.18)}
.lf i{position:absolute;left:12px;right:12px;bottom:0;height:2px;background:linear-gradient(90deg,#D4A83A,#F4DC93);transform:scaleX(0);transition:transform .35s;border-radius:2px}
.lf input:focus~i,.lf select:focus~i{transform:scaleX(1)}
.lead-overlay.show .lf,.lead-overlay.show .lead-btn{animation:lfIn .5s both}
.lead-overlay.show .lf:nth-child(1){animation-delay:.2s}.lead-overlay.show .lf:nth-child(2){animation-delay:.3s}.lead-overlay.show .lf:nth-child(3){animation-delay:.4s}.lead-overlay.show .lf:nth-child(4){animation-delay:.5s}.lead-overlay.show .lead-btn{animation-delay:.62s}
.lead-btn{position:relative;overflow:hidden;height:46px;border:0;border-radius:10px;cursor:pointer;font:inherit;font-weight:700;font-size:.95rem;color:#241a00;background:linear-gradient(180deg,#F0CB63,#D4A83A);box-shadow:0 8px 20px rgba(212,168,58,.4);transition:transform .2s,box-shadow .2s}
.lead-btn::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.65),transparent);animation:lfSweep 2.8s 1.2s infinite}
.lead-btn:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(212,168,58,.55)}
.lead-btn:active{transform:scale(.97)}.lead-btn:disabled{opacity:.7;cursor:wait}
.lead-modal .form-status{font-size:.8rem;min-height:0;margin:0;text-align:center}
.lead-done{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;text-align:center;opacity:0;pointer-events:none;transition:opacity .3s;z-index:5;color:#0D1450}
.lead-done span{font-size:.85rem;color:#6B7194}
.lead-done svg{width:76px;height:76px;fill:none;stroke:#1F7A3B;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;margin-bottom:6px}
.lead-done circle{stroke-dasharray:151;stroke-dashoffset:151}.lead-done path{stroke-dasharray:44;stroke-dashoffset:44}
.lead-modal.sent .lead-done{opacity:1;pointer-events:auto}
.lead-modal.sent .lead-done circle{animation:lfDraw .6s forwards}.lead-modal.sent .lead-done path{animation:lfDraw .4s .5s forwards}
@keyframes lfIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes lfBar{to{background-position:200% 0}}
@keyframes lfShine{to{transform:translateX(120%)}}
@keyframes lfSweep{to{left:130%}}
@keyframes lfSway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
@keyframes lfPulse{0%{box-shadow:0 0 0 0 rgba(212,168,58,.55)}70%,100%{box-shadow:0 0 0 14px rgba(212,168,58,0)}}
@keyframes lfDraw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.lead-modal *,.lead-modal::before,.lead-modal{animation:none!important;transition:none!important}}

/* ===== PDF viewer pages ===== */
.pdf-sec{padding:26px 0 44px}
.pdf-wrap{background:#323639;border-radius:10px;overflow:hidden;box-shadow:0 12px 34px rgba(20,30,90,.28);border:1px solid #1B2683}
.pdf-wrap iframe{display:block;width:100%;height:min(82vh,900px);min-height:520px;border:0;background:#525659}
.pdf-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px}
.pdf-tabs button{font:inherit;font-weight:700;font-size:.92rem;padding:10px 20px;border-radius:999px;border:2px solid #1B2683;background:#fff;color:#1B2683;cursor:pointer;transition:all .25s}
.pdf-tabs button:hover{background:#EEF0FA}
.pdf-tabs button.on{background:#1B2683;color:#fff;box-shadow:0 6px 16px rgba(27,38,131,.35)}
.pdf-note{margin:14px 0 0;font-size:.88rem;color:#555B85;display:flex;flex-wrap:wrap;gap:10px;align-items:center}
@media(max-width:600px){.pdf-wrap iframe{height:70vh;min-height:420px}}

/* ===== syllabus semester tables ===== */
.syl-block{margin:0 0 38px}
.syl-block h3{font-size:1.7rem;font-weight:400;margin:0 0 14px;color:#0D1450}
.syl{width:100%;border-collapse:collapse;background:#fff;font-size:.98rem;box-shadow:0 6px 20px rgba(20,30,90,.1)}
.syl th,.syl td{border:1px solid #BDBDC6;padding:16px 18px;text-align:left;vertical-align:middle}
.syl th{text-align:center;background:#fff;color:#000;font-weight:700}
.syl tbody tr:nth-child(odd){background:#F5F5F5}
.syl tbody tr{transition:background .2s}
.syl tbody tr:hover{background:#EEF0FA}
.syl th:first-child{width:14%}.syl th:nth-child(2){width:20%}
@media(max-width:600px){.syl th,.syl td{padding:12px 10px;font-size:.88rem}.syl-block h3{font-size:1.35rem}.syl{min-width:520px}}

/* ===== match reference screenshots exactly (plain look) ===== */
.pdf-sec{padding:56px 0 20px;background:#fff}
.pdf-wrap{border-radius:0;box-shadow:none;border:0}
.syl-sec{background:#fff;padding:10px 0 60px}
.syl-block{margin:0 0 34px}
.syl-block h3{font-size:2.2rem;font-weight:400;color:#000;margin:0 0 22px;padding-left:38px}
.syl{box-shadow:none;background:#fff;font-size:1.05rem;table-layout:auto}
.syl th,.syl td{border:1px solid #A9A9A9;padding:20px 18px;color:#000}
.syl th{font-weight:700;white-space:nowrap}
.syl td:first-child{white-space:nowrap}
.syl tbody tr:nth-child(odd){background:#F5F5F5}
.syl tbody tr:nth-child(even){background:#fff}
.syl tbody tr:hover{background:#F5F5F5}
.syl th:first-child{width:14%}.syl th:nth-child(2){width:24%}
@media(max-width:600px){.syl-block h3{font-size:1.5rem;padding-left:0}.syl th,.syl td{padding:12px 10px;font-size:.9rem}}

/* ===== animated tabs ===== */
.syl-page{background:#fff;padding:40px 0 64px}
.tabs-bar{position:relative;display:flex;gap:4px;padding:6px;margin:0 0 30px;background:#EEF0FA;border-radius:999px;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 2px 6px rgba(20,30,90,.12)}
.tabs-bar::-webkit-scrollbar{display:none}
.tab-ind{position:absolute;left:0;top:6px;bottom:6px;width:0;border-radius:999px;background:linear-gradient(135deg,#1B2683,#2E3CB0);box-shadow:0 6px 16px rgba(27,38,131,.4),inset 0 -3px 0 #D4A83A;transition:transform .45s cubic-bezier(.3,1.2,.4,1),width .45s cubic-bezier(.3,1.2,.4,1);z-index:0}
.tabs-bar button{position:relative;z-index:1;flex:1 0 auto;border:0;background:none;font:inherit;font-weight:700;font-size:.95rem;color:#1B2683;padding:13px 22px;border-radius:999px;cursor:pointer;white-space:nowrap;transition:color .3s}
.tabs-bar button:hover{color:#2E3CB0}
.tabs-bar button[aria-selected="true"]{color:#fff}
.tabs-bar button:focus-visible{outline:3px solid #D4A83A;outline-offset:-3px}
.tab-panel.on{animation:tabIn .55s cubic-bezier(.2,.8,.2,1)}
.tab-panel.on tbody tr{animation:rowIn .5s both}
.tab-panel.on tbody tr:nth-child(1){animation-delay:.05s}.tab-panel.on tbody tr:nth-child(2){animation-delay:.11s}.tab-panel.on tbody tr:nth-child(3){animation-delay:.17s}.tab-panel.on tbody tr:nth-child(4){animation-delay:.23s}.tab-panel.on tbody tr:nth-child(5){animation-delay:.29s}.tab-panel.on tbody tr:nth-child(6){animation-delay:.35s}.tab-panel.on tbody tr:nth-child(7){animation-delay:.41s}.tab-panel.on tbody tr:nth-child(8){animation-delay:.47s}.tab-panel.on tbody tr:nth-child(9){animation-delay:.53s}
@keyframes tabIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes rowIn{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:none}}
.syl-page .syl-block h3{padding-left:0}
.syl-page .pdf-wrap{margin-top:4px}
@media(max-width:600px){.tabs-bar button{padding:11px 16px;font-size:.86rem}}
@media(prefers-reduced-motion:reduce){.tab-panel.on,.tab-panel.on tbody tr{animation:none}.tab-ind{transition:none}}

/* ===== footer credit ===== */
.footer-bottom{flex-wrap:wrap;gap:8px 24px}
.credit{width:100%;text-align:center;padding-top:10px;margin-top:4px;border-top:1px solid rgba(255,255,255,.14);font-size:.86rem}
.credit a{color:#F4DC93;font-weight:700;text-decoration:none;background:linear-gradient(#D4A83A,#D4A83A) 0 100%/0 2px no-repeat;transition:background-size .35s,color .2s}
.credit a:hover,.credit a:focus-visible{background-size:100% 2px;color:#fff}

/* ===== infrastructure ===== */
.infra-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 34px}
.infra-chips a{padding:9px 18px;border-radius:999px;border:1.5px solid #1B2683;color:#1B2683;font-weight:700;font-size:.88rem;text-decoration:none;transition:all .25s}
.infra-chips a:hover{background:#1B2683;color:#fff;transform:translateY(-2px);box-shadow:0 8px 18px rgba(27,38,131,.3)}
.infra-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.infra-card{position:relative;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 8px 26px rgba(20,30,90,.14);transition:transform .35s,box-shadow .35s;scroll-margin-top:110px}
.infra-card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#D4A83A,#F4DC93);transform:scaleX(0);transform-origin:left;transition:transform .45s}
.infra-card:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(13,20,80,.3),0 0 0 1px rgba(212,168,58,.6)}
.infra-card:hover::after{transform:scaleX(1)}
.infra-img{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0D1450}
.infra-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.infra-card:hover .infra-img img{transform:scale(1.1)}
.infra-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,20,80,.55))}
.infra-no{position:absolute;z-index:2;top:12px;left:12px;min-width:34px;height:34px;padding:0 8px;display:grid;place-items:center;border-radius:50%;background:#D4A83A;color:#1a1300;font-weight:900;font-size:.9rem;box-shadow:0 4px 12px rgba(0,0,0,.35)}
.infra-body{padding:18px 20px 22px}
.infra-body h3{margin:0 0 6px;font-size:1.2rem;color:#0D1450}
.infra-body p{margin:0;font-size:.92rem;color:#4A5077}
@media(max-width:900px){.infra-grid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.infra-grid{grid-template-columns:1fr}}

/* ===== question papers ===== */
.qp-tools{display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;justify-content:space-between;margin:0 0 20px}
.qp-search{position:relative;flex:1 1 300px;max-width:420px}
.qp-search svg{position:absolute;left:14px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:#6B7194}
.qp-search input{width:100%;box-sizing:border-box;height:46px;padding:0 16px 0 42px;border:1.5px solid #D8DBEE;border-radius:999px;font:inherit;font-size:.92rem;outline:0;background:#FAFAFE;transition:border-color .25s,box-shadow .25s}
.qp-search input:focus{border-color:#D4A83A;box-shadow:0 0 0 4px rgba(212,168,58,.2);background:#fff}
.qp-hint,.qp-foot{margin:0;font-size:.88rem;color:#555B85}.qp-foot{margin-top:26px;text-align:center}
.qp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.qp-card{background:#fff;border-radius:14px;padding:12px;box-shadow:0 6px 22px rgba(20,30,90,.14);transition:transform .3s,box-shadow .3s;animation:rowIn .5s both}
.qp-card:nth-child(2){animation-delay:.07s}.qp-card:nth-child(3){animation-delay:.14s}.qp-card:nth-child(4){animation-delay:.21s}.qp-card:nth-child(5){animation-delay:.28s}.qp-card:nth-child(6){animation-delay:.35s}
.qp-card:hover{transform:translateY(-6px);box-shadow:0 18px 36px rgba(13,20,80,.26)}
.qp-card[hidden]{display:none}
.qp-card h3{margin:0;min-height:64px;display:grid;place-items:center;padding:10px 12px;background:#1B2A5C;color:#fff;font-size:1.02rem;text-align:center;border-radius:8px;text-shadow:none;line-height:1.3}
.qp-years{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;padding:16px 4px 6px}
.qp-chip{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:#FFF7E0;border:1.5px solid #E8C877;color:#7A5A00;text-decoration:none;font-size:.86rem;transition:all .25s}
.qp-chip svg{width:16px;height:16px}.qp-chip b{font-weight:700}
.qp-chip:hover{background:#1B2683;border-color:#1B2683;color:#fff;transform:translateY(-2px) scale(1.04);box-shadow:0 8px 18px rgba(27,38,131,.35)}
.qp-empty{text-align:center;color:#555B85;padding:30px 0;margin:0}
.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,30px);opacity:0;pointer-events:none;background:#0D1450;color:#fff;padding:13px 22px;border-radius:999px;font-size:.9rem;box-shadow:0 12px 30px rgba(0,0,0,.4),0 0 0 1px #D4A83A;transition:all .4s cubic-bezier(.2,1.2,.3,1);z-index:200}
.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:900px){.qp-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.qp-grid{grid-template-columns:1fr}}

/* ===== admission tabs ===== */
.adm-page .tab-panel .title{margin-bottom:26px}
.adm-gap{height:44px}
.adm-page .steps{max-width:860px}

/* ===== paper preview modal ===== */
body.no-scroll{overflow:hidden}
.qp-chip:not([data-ready]){background:#F1F2F8;border:1.5px dashed #B9BDD6;color:#7B80A0}
.qp-chip[data-ready]::after{content:"";width:7px;height:7px;border-radius:50%;background:#1F9D55;box-shadow:0 0 0 0 rgba(31,157,85,.6);animation:lfPulse 2.4s infinite}
.pv-overlay{position:fixed;inset:0;z-index:160;display:grid;place-items:center;padding:18px;background:rgba(5,8,36,.8);backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .3s}
.pv-overlay.show{opacity:1;pointer-events:auto}
.pv-box{width:100%;max-width:1100px;height:min(90vh,900px);display:flex;flex-direction:column;background:#323639;border-radius:14px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(212,168,58,.5);transform:translateY(30px) scale(.94);opacity:0;transition:transform .5s cubic-bezier(.2,1.1,.3,1),opacity .3s}
.pv-overlay.show .pv-box{transform:none;opacity:1}
.pv-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px 12px 20px;color:#fff;background:linear-gradient(135deg,#0D1450,#1B2683);border-bottom:3px solid #D4A83A}
.pv-t{min-width:0;display:flex;flex-direction:column}.pv-t strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-t span{font-size:.78rem;color:#F4DC93}
.pv-actions{display:flex;align-items:center;gap:8px;flex:none}
.pv-actions a{color:#fff;text-decoration:none;font-size:.82rem;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.4);transition:background .2s}
.pv-actions a:hover{background:rgba(255,255,255,.16)}
.pv-actions .pv-dl{background:#D4A83A;border-color:#D4A83A;color:#241a00;font-weight:700}.pv-actions .pv-dl:hover{background:#F0CB63}
.pv-close{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:transform .3s,background .2s}
.pv-close:hover{background:rgba(255,255,255,.28);transform:rotate(90deg)}
.pv-box iframe{flex:1;width:100%;border:0;background:#525659}
@media(max-width:600px){.pv-overlay{padding:0}.pv-box{height:100%;border-radius:0}.pv-actions a:not(.pv-dl){display:none}}

/* ---- timetable (HTML) ---- */
.tt-sec{padding:44px 0 6px}
.tt{width:100%;border-collapse:collapse;min-width:820px;background:#fff;font-size:.95rem}
.tt th,.tt td{border:1px solid #BDBDC6;padding:14px 12px;text-align:center;vertical-align:middle;color:#111}
.tt thead th{background:#1B2683;color:#fff;font-weight:700;border-color:#1B2683}
.tt tbody th{background:#EEF0FA;color:#1B2683;font-weight:700;white-space:nowrap;text-align:left}
.tt tbody tr:nth-child(odd) td{background:#F8F8FB}
.tt tbody tr:hover td{background:#EEF0FA}
.tt tr.brk td{background:#FFF6DC!important;color:#1B2683;font-weight:900;letter-spacing:.12em}
.tt tr.brk td:last-child{letter-spacing:0;font-weight:400;color:#111;background:#fff!important}
.tt-committee{margin:18px 0 8px;color:#333}
@media(max-width:600px){.tt{font-size:.85rem}.tt th,.tt td{padding:10px 8px}}
