/* NeetSeat.in — Shared site stylesheet (header, nav, mobile menu, hero, cards, buttons, tables)
   Imported by every page. Fixed 2026-08-15: mobile menu (#mobMenu) no longer clips Login/Admin
   items on short viewports — was overflow:hidden with no scroll, now overflow-y:auto + max-height. */

/* ══════════════════════════════════════════════════════
   TOKENS  — White + Navy + Teal medical editorial
══════════════════════════════════════════════════════ */
:root {
  /* Page background */
  --bg:         #F2F6FA;

  /* White surfaces */
  --white:      #FFFFFF;
  --surf2:      #F7FAFC;
  --surf3:      #EEF3F8;

  /* Dark navy — header, hero, dark accents */
  --navy:       #0B2239;
  --navy2:      #143250;
  --navy3:      #1C3E61;
  --navy-light: #2A5070;

  /* Teal brand */
  --teal:       #0097A7;
  --teal2:      #00BCD4;
  --teal-bg:    #E0F7FA;
  --teal-bd:    #80DEEA;

  /* Status — vivid on white */
  --green:      #15803D;
  --green-bg:   #DCFCE7;
  --green-bd:   #86EFAC;
  --amber:      #B45309;
  --amber-bg:   #FEF3C7;
  --amber-bd:   #FCD34D;
  --red:        #B91C1C;
  --red-bg:     #FEE2E2;
  --red-bd:     #FCA5A5;
  --blue:       #1D4ED8;
  --blue-bg:    #EFF6FF;
  --blue-bd:    #93C5FD;
  --purple:     #6D28D9;
  --purple-bg:  #F5F3FF;
  --purple-bd:  #C4B5FD;
  --orange:     #C2410C;
  --orange-bg:  #FFF7ED;
  --orange-bd:  #FDBA74;

  /* Text */
  --t1:         #0B2239;
  --t2:         #2D4A62;
  --t3:         #5B7A96;
  --t4:         #93AFC6;

  /* Borders */
  --bd:         #DDE6EE;
  --bd2:        #C8D8E8;

  /* Shadows */
  --sh-sm:      0 1px 3px rgba(11,34,57,.06), 0 2px 8px rgba(11,34,57,.04);
  --sh:         0 2px 8px rgba(11,34,57,.07), 0 6px 24px rgba(11,34,57,.05);
  --sh-md:      0 4px 16px rgba(11,34,57,.09), 0 12px 40px rgba(11,34,57,.07);

  /* Radius */
  --r-xs:   6px;
  --r-sm:   10px;
  --r:      14px;
  --r-lg:   20px;
  --r-xl:   28px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }

body {
  background: var(--bg);
  color: var(--t1);
  font-family: 'DM Sans', system-ui, sans-serif;
  min-height:100vh;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}

::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--surf3)}
::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:6px}
::-webkit-scrollbar-thumb:hover{background:var(--teal)}

/* ══════════════════════════════════════════════════════
   HEADER
══════════════════════════════════════════════════════ */
.hdr {
  background: rgba(4,38,42,0.55); backdrop-filter: blur(28px) saturate(160%); -webkit-backdrop-filter: blur(28px) saturate(160%);
  height:68px; padding:0 24px;
  position:fixed; top:0; left:0; right:0; z-index:200;
  display:flex; align-items:center; justify-content:space-between;
  box-shadow: 0 1px 0 rgba(0,188,212,0.20), 0 4px 32px rgba(0,0,0,0.25);
  border-bottom: 2px solid rgba(0,188,212,0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.state-switcher {
  display:flex; align-items:center; gap:6px;
}
.state-pill {
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700;
  color:rgba(255,255,255,.72); text-decoration:none;
  padding:6px 14px; border-radius:999px; white-space:nowrap;
  border:1.5px solid rgba(255,255,255,.14);
  transition:all .18s;
}
.state-pill:hover { background:rgba(255,255,255,.10); color:#fff; }
.state-pill.active {
  background:rgba(11,198,212,.18); border-color:rgba(11,198,212,.55);
  color:#fff;
}
@media(max-width:1180px) {
  .state-switcher { display:none; }
}
.hdr-actions {
  display:flex; align-items:center; gap:8px; flex-shrink:0;
}
@media(max-width:1180px) {
  .hdr-actions { display:none; }
}
/* .logo styles now in logo-with-tagline block above */
.logo-mark {
  width:36px; height:36px;
  background:linear-gradient(135deg, var(--teal2), var(--teal));
  border-radius:10px; display:flex; align-items:center; justify-content:center;
  font-size:19px; flex-shrink:0;
  box-shadow:0 2px 12px rgba(0,188,212,0.35);
}
.logo-text { display:flex; flex-direction:column; gap:1px; }
.logo-title {
  font-size:15px; font-weight:800; color:#FFF;
  letter-spacing:-0.3px; line-height:1.2;
}
.logo-title em { color:var(--teal2); font-style:normal; }
.logo-sub { font-size:9.5px; font-weight:600; color:rgba(11,34,57,0.5); text-transform:uppercase; letter-spacing:0.8px; }

.hdr-btn {
  display:flex; align-items:center; gap:7px;
  background:rgba(255,255,255,0.12); border:1.5px solid rgba(255,255,255,0.22);
  border-radius:22px; padding:8px 16px;
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; color:#fff;
  cursor:pointer; transition:all .2s; white-space:nowrap;
}
.hdr-btn:hover { background:rgba(255,255,255,0.22); border-color:rgba(255,255,255,0.40); }
.hdr-btn-accent { background:#fbbf24; border-color:#f59e0b; color:#3a1a05; }
.hdr-btn-accent:hover { background:#f59e0b; border-color:#d97706; }

.badge {
  background:var(--teal2); color:var(--navy); border-radius:10px;
  min-width:18px; height:18px; font-size:10.5px; font-weight:900;
  padding:0 4px; display:none; align-items:center; justify-content:center;
  animation:pop .25s ease;
}
.badge.on { display:flex; }
.hdr-btn-accent .badge { background:#3a1a05; color:#fbbf24; }
@keyframes pop{0%{transform:scale(0.5)}70%{transform:scale(1.2)}100%{transform:scale(1)}}

/* ══════════════════════════════════════════════════════
   HERO — dark navy with teal accents
══════════════════════════════════════════════════════ */
.hero {
  background: linear-gradient(155deg, var(--navy) 0%, var(--navy2) 55%, var(--navy3) 100%);
  padding:50px 20px 38px; text-align:center; position:relative; overflow:hidden;
}
.hero-glow-r {
  position:absolute; top:-100px; right:-80px; width:450px; height:450px;
  background:radial-gradient(circle, rgba(0,188,212,0.10) 0%, transparent 65%);
  pointer-events:none;
}
.hero-glow-l {
  position:absolute; bottom:-60px; left:-60px; width:350px; height:350px;
  background:radial-gradient(circle, rgba(255,255,255,0.04) 0%, transparent 65%);
  pointer-events:none;
}

.hero-pill {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(0,188,212,0.12); border:1px solid rgba(0,188,212,0.28);
  border-radius:30px; padding:6px 16px; margin-bottom:20px;
  font-size:11px; font-weight:700; color:var(--teal2);
  letter-spacing:0.8px; text-transform:uppercase;
}
.pulse { width:7px; height:7px; background:var(--teal2); border-radius:50%; animation:pulse 2s ease infinite; }
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:0.4;transform:scale(.75)}}

.hero h1 {
  font-family:'DM Serif Display', Georgia, serif;
  font-size:clamp(30px,6.5vw,52px); line-height:1.08;
  color:#FFF; margin-bottom:16px; letter-spacing:-.3px;
}
.hero h1 em { color:var(--teal2); font-style:italic; }

.hero-desc {
  font-size:clamp(14px,3vw,16px); color:rgba(255,255,255,.65);
  line-height:1.7; max-width:540px; margin:0 auto 28px; font-weight:400;
}
.hero-desc strong { color:#FFF; font-weight:700; }

/* ══════════════════════════════════════════════════════
   TABS
══════════════════════════════════════════════════════ */
.tab-bar {
  background:var(--navy); border-bottom:1px solid rgba(255,255,255,.08);
  display:flex; justify-content:center; padding:0 16px; position:sticky; top:68px; z-index:100;
  overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
@media(min-width:1181px) { .tab-bar { top:114px; } }
.tab-bar::-webkit-scrollbar { display:none; }
.tab-nav { display:flex; max-width:800px; width:100%; min-width:max-content; }
.tb {
  flex:1; display:flex; align-items:center; justify-content:center; gap:6px;
  padding:13px 12px; border:none; background:transparent;
  font-family:'DM Sans',sans-serif; font-size:13.5px; font-weight:700;
  color:rgba(255,255,255,.38); border-bottom:3px solid transparent;
  cursor:pointer; transition:all .2s; white-space:nowrap; flex-shrink:0;
}
.tb:hover { color:rgba(255,255,255,.70); }
.tb.on { color:#FFF; border-bottom-color:var(--teal2); }
.tb-icon { font-size:16px; }

/* ══════════════════════════════════════════════════════
   SECTIONS
══════════════════════════════════════════════════════ */
.section { max-width:800px; margin:0 auto; padding:22px 14px 52px; }
.section.hide { display:none; }

/* ══════════════════════════════════════════════════════
   FORM CARD
══════════════════════════════════════════════════════ */
.pred-step-hidden { display:none !important; }
.pred-progress { margin-bottom:22px; }
.pred-progress-steps { display:flex; align-items:flex-start; justify-content:center; }
.pred-step-dot { display:flex; flex-direction:column; align-items:center; gap:5px; }
.pred-step-num {
  width:28px; height:28px; border-radius:50%; background:var(--surf2); color:var(--t3);
  display:flex; align-items:center; justify-content:center; font-weight:800; font-size:12.5px;
  border:2px solid var(--bd); transition:all .2s;
}
.pred-step-dot.active .pred-step-num { background:var(--teal); border-color:var(--teal); color:#fff; }
.pred-step-dot.done .pred-step-num { background:var(--green); border-color:var(--green); color:#fff; }
.pred-step-lbl { font-size:10.5px; font-weight:700; color:var(--t3); white-space:nowrap; }
.pred-step-dot.active .pred-step-lbl { color:var(--teal); }
.pred-step-line { width:50px; height:2px; background:var(--bd); margin:13px 6px 0; flex-shrink:0; }
.pred-step-dot.done, .pred-step-dot.active { cursor:pointer; }
.pred-step-dot.done:hover .pred-step-num, .pred-step-dot.active:hover .pred-step-num { transform:scale(1.08); }
.pred-nav { display:flex; justify-content:space-between; align-items:center; margin:16px 0 4px; }
.pred-nav-back {
  background:var(--surf2); border:1.5px solid var(--bd); color:var(--navy); font-weight:800; font-size:13.5px; cursor:pointer;
  padding:12px 22px; border-radius:10px; font-family:'DM Sans',sans-serif; transition:all .15s;
}
.pred-nav-back:hover { background:var(--bd); transform:translateY(-1px); }
.pred-nav-next {
  background:linear-gradient(135deg,var(--teal),var(--teal2)); color:#fff; border:none; border-radius:10px;
  padding:12px 22px; font-weight:800; font-size:13.5px; cursor:pointer; margin-left:auto;
  transition:transform .15s; font-family:'DM Sans',sans-serif;
}
.pred-nav-next:hover { transform:translateY(-1px); }
body.dark-mode .pred-step-num { background:#1a2840; border-color:#243650; }

.form-card {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r-lg); padding:28px 24px;
  box-shadow:var(--sh-md); margin-bottom:22px;
}
@media(max-width:480px){ .form-card { padding:20px 16px; } }

.fc-head { display:flex; align-items:center; gap:13px; margin-bottom:26px; padding-bottom:20px; border-bottom:1px solid var(--surf3); }
.fc-icon {
  width:44px; height:44px;
  background:linear-gradient(135deg,var(--teal2),var(--teal));
  border-radius:12px; display:flex; align-items:center; justify-content:center;
  font-size:22px; flex-shrink:0; box-shadow:0 4px 14px rgba(0,151,167,.30);
}
.fc-head h2 { font-size:19px; font-weight:800; color:var(--t1); margin-bottom:3px; letter-spacing:-.3px; }
.fc-head p { font-size:13px; color:var(--t3); font-weight:500; }

/* Field grid */
.fgrid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:530px){ .fgrid { grid-template-columns:1fr; } }
.fg { display:flex; flex-direction:column; gap:7px; }
.fg.full { grid-column:1/-1; }

.flbl {
  font-size:11.5px; font-weight:800; color:var(--t2);
  text-transform:uppercase; letter-spacing:.65px;
}
.freq { color:var(--teal); }
.fhint { font-size:11.5px; color:var(--t4); font-weight:500; }

.sel-wrap { position:relative; }
.sel-wrap::after {
  content:'▾'; position:absolute; right:13px; top:50%;
  transform:translateY(-50%); color:var(--t3); pointer-events:none; font-size:12px; font-weight:900;
}

input[type=number], select {
  background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:13px 15px;
  color:var(--t1); width:100%;
  font-family:'DM Sans',sans-serif; font-size:15px; font-weight:600;
  transition:border-color .18s, box-shadow .18s, background .18s;
  -webkit-appearance:none; outline:none;
}
input[type=number]:focus, select:focus {
  border-color:var(--teal); background:var(--white);
  box-shadow:0 0 0 3px rgba(0,151,167,.12);
}
input[type=number]::placeholder { color:var(--t4); font-size:14px; font-weight:400; }
select option { background:var(--white); color:var(--t1); }
select optgroup { font-weight:700; color:var(--t3); }

/* Round tabs */
.rtabs { display:flex; gap:7px; }
.rt {
  flex:1; border:1.5px solid var(--bd); border-radius:var(--r-sm);
  padding:11px 8px; background:var(--surf2); cursor:pointer;
  text-align:center; transition:all .18s;
}
.rt.on { border-color:var(--teal); background:var(--teal-bg); }
.rt-main {
  font-size:13px; font-weight:800; color:var(--t3); margin-bottom:3px;
  display:flex; align-items:center; justify-content:center; gap:4px;
}
.rt.on .rt-main { color:var(--teal); }
.rt-sub { font-size:10.5px; color:var(--t4); font-weight:500; line-height:1.3; }
.rt.on .rt-sub { color:rgba(0,151,167,.7); }
.rt-badge {
  background:var(--teal); color:#FFF; font-size:8px; font-weight:900;
  padding:2px 5px; border-radius:4px; letter-spacing:.3px; text-transform:uppercase;
}
.rt.on .rt-badge { background:var(--teal); }

/* Category info box */
.cat-box {
  background:var(--blue-bg); border:1.5px solid var(--blue-bd);
  border-radius:var(--r-sm); padding:13px 16px;
  font-size:13.5px; color:var(--blue); line-height:1.65;
  display:none; margin-top:16px; font-weight:500;
}
.cat-box.on { display:block; }
.cat-box strong { color:var(--t1); font-weight:800; }
.elig-row { margin-top:10px; }
.elig-row-lbl { font-size:10.5px; font-weight:800; color:var(--blue); text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }
.elig-chips { display:flex; flex-wrap:wrap; gap:5px; }
.ec {
  font-size:11.5px; font-weight:700; padding:4px 10px; border-radius:20px;
  background:var(--white); color:var(--t3); border:1.5px solid var(--bd);
}
.ec.primary { background:var(--teal-bg); color:var(--teal); border-color:var(--teal-bd); }

/* CTA Button */
.cta {
  display:flex; align-items:center; justify-content:center; gap:9px;
  width:100%; margin-top:22px;
  background:linear-gradient(135deg, var(--teal2) 0%, var(--teal) 100%);
  border:none; border-radius:var(--r-sm); padding:18px 24px;
  color:#FFF; font-family:'DM Sans',sans-serif;
  font-size:16.5px; font-weight:800; letter-spacing:-.2px;
  cursor:pointer; box-shadow:0 4px 20px rgba(0,151,167,.38);
  transition:transform .15s, box-shadow .15s; position:relative; overflow:hidden;
}
.cta::before {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.15),transparent);
  opacity:0; transition:opacity .2s;
}
.cta:hover { transform:translateY(-2px); box-shadow:0 8px 30px rgba(0,151,167,.48); }
.cta:hover::before { opacity:1; }
.cta:active { transform:translateY(0); }

.spin {
  display:none; width:18px; height:18px;
  border:2.5px solid rgba(255,255,255,.3); border-top-color:#FFF;
  border-radius:50%; animation:spin .7s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}

/* Disclaimer */
.disc {
  background:#FFFBEB; border:1.5px solid #FCD34D;
  border-radius:var(--r-sm); padding:14px 16px; margin-top:16px;
}
.disc-h { font-size:11px; font-weight:800; color:#92400E; text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px; }
.disc p { font-size:12px; color:#78350F; line-height:1.7; font-weight:500; }
.disc a { color:#D97706; font-weight:800; text-decoration:none; }

/* ══════════════════════════════════════════════════════
   RESULTS
══════════════════════════════════════════════════════ */
.results { display:none; }
.results.on { display:block; }

/* Summary bar */
.sum-bar {
  background:var(--navy); color:#FFF;
  border-radius:var(--r); padding:18px 20px; margin-bottom:18px;
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  box-shadow:var(--sh-md);
}
.sum-rank { font-family:'DM Mono',monospace; font-size:32px; color:var(--teal2); flex-shrink:0; line-height:1; }
.sum-info { flex:1; min-width:120px; }
.sum-title { font-size:17px; font-weight:800; margin-bottom:3px; }
.sum-sub { font-size:12px; color:rgba(255,255,255,.50); font-weight:500; }
.sum-acts { display:flex; gap:7px; flex-wrap:wrap; }
.act-btn {
  display:flex; align-items:center; gap:6px;
  background:rgba(255,255,255,.10); border:1.5px solid rgba(255,255,255,.20);
  border-radius:22px; padding:8px 15px;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700; color:#FFF;
  cursor:pointer; transition:all .18s;
}
.act-btn:hover { background:rgba(255,255,255,.20); }
.act-btn.wa { background:rgba(37,211,102,.14); border-color:rgba(37,211,102,.35); color:#4EDF85; }

/* Legend */
.legend { display:flex; flex-wrap:wrap; gap:10px 18px; margin-bottom:12px; font-size:13px; color:var(--t3); font-weight:600; }
.leg { display:flex; align-items:center; gap:6px; }
.ld { width:10px; height:10px; border-radius:50%; }
.ld.g { background:var(--green); }
.ld.a { background:var(--amber); }
.ld.r { background:var(--red); }

/* Sort pills */
.sort-row { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; margin-bottom:16px; }
.sort-row::-webkit-scrollbar { display:none; }
.srt {
  flex-shrink:0; background:var(--white); border:1.5px solid var(--bd);
  border-radius:22px; padding:8px 15px;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700; color:var(--t3);
  cursor:pointer; white-space:nowrap; box-shadow:var(--sh-sm); transition:all .18s;
}
.srt.on { background:var(--navy); border-color:var(--navy); color:#FFF; box-shadow:0 2px 8px rgba(11,34,57,.25); }

/* Round pills (KEA predictor only) */
.round-row { display:flex; gap:7px; overflow-x:auto; scrollbar-width:none; padding-bottom:4px; margin-bottom:12px; }
.round-row::-webkit-scrollbar { display:none; }
.rnd-badge { display:inline-block; margin-left:6px; background:rgba(11,34,57,.10); border-radius:10px; padding:1px 7px; font-size:11px; font-weight:700; }
.srt.on .rnd-badge { background:rgba(255,255,255,.25); }
.round-explain { font-size:12.5px; color:var(--t3); line-height:1.55; margin:-4px 0 12px; padding:0 2px; }
.round-explain strong { color:var(--navy); }

/* Info notices */
.elig-notice {
  background:var(--teal-bg); border:1.5px solid var(--teal-bd);
  border-radius:var(--r-sm); padding:13px 16px; margin-bottom:14px;
  font-size:13px; color:var(--teal); font-weight:600; line-height:1.65;
}
.elig-notice strong { color:var(--navy); font-weight:800; }

.no-primary-box {
  background:var(--amber-bg); border:1.5px solid var(--amber-bd);
  border-radius:var(--r-sm); padding:14px 16px; margin-bottom:14px;
}
.npb-h { font-size:13.5px; font-weight:800; color:var(--amber); margin-bottom:7px; }
.npb-p { font-size:13px; color:#78350F; line-height:1.65; font-weight:500; }
.npb-cats { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.npb-cat {
  font-size:12px; font-weight:700; padding:4px 12px; border-radius:20px;
  background:var(--white); color:var(--amber); border:1.5px solid var(--amber-bd); cursor:pointer;
}

/* ══════════════════════════════════════════════════════
   COLLEGE CARD
══════════════════════════════════════════════════════ */
.card {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r); margin-bottom:14px;
  position:relative; overflow:hidden;
  transition:border-color .18s, box-shadow .18s, transform .15s;
  box-shadow:var(--sh-sm);
  animation:slideUp .28s ease both;
}
@keyframes slideUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.card:hover { border-color:var(--teal); box-shadow:var(--sh-md); transform:translateY(-2px); }

/* Left stripe */
.stripe { position:absolute; left:0; top:0; bottom:0; width:5px; border-radius:14px 0 0 14px; }
.card.chance-g .stripe { background:linear-gradient(180deg, #4ADE80, #16A34A); }
.card.chance-a .stripe { background:linear-gradient(180deg, #FCD34D, #D97706); }
.card.chance-r .stripe { background:linear-gradient(180deg, #FCA5A5, #DC2626); }

/* Top section label ribbon */
.card-type-bar {
  background:var(--surf2); border-bottom:1px solid var(--bd);
  padding:5px 18px 5px 22px;
  display:flex; align-items:center; justify-content:space-between;
  font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.5px;
}
.ctb-left { display:flex; align-items:center; gap:8px; }
.ctb-code { color:var(--t4); font-family:'DM Mono',monospace; }
.ctb-type-govt { color:var(--blue); }
.ctb-type-priv { color:var(--orange); }

.card-inner { padding:16px 18px 14px 22px; }

/* Card top row */
.card-top { display:flex; align-items:flex-start; gap:12px; margin-bottom:14px; }
.card-info { flex:1; min-width:0; }
.card-name {
  font-size:15.5px; font-weight:800; color:var(--t1); line-height:1.3;
  margin-bottom:9px; letter-spacing:-.2px;
}
.card-desc-block{margin-top:8px;font-size:12px;color:var(--t3);line-height:1.55;}
.card-desc-short,.card-desc-full{display:inline;}
.card-read-more{background:none;border:none;color:var(--blue);font-size:11.5px;font-weight:700;cursor:pointer;padding:0 0 0 4px;display:inline;}
.card-read-more:hover{text-decoration:underline;}
.card-desc-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:5px;align-items:center;}
.card-seats-badge{font-size:11px;font-weight:700;color:var(--teal);background:rgba(0,200,180,.1);border-radius:5px;padding:2px 8px;border:1px solid rgba(0,200,180,.25);}
.card-web-link{font-size:11px;font-weight:700;color:var(--blue);background:rgba(80,140,255,.1);border-radius:5px;padding:2px 8px;text-decoration:none;border:1px solid rgba(80,140,255,.2);}
.card-web-link:hover{background:rgba(80,140,255,.2);}
@media(max-width:480px){.card-desc-block{font-size:12.5px;}}
.tag {
  display:inline-flex; align-items:center; gap:4px;
  font-size:11.5px; font-weight:700; padding:3px 10px; border-radius:20px;
}
.tg { background:var(--blue-bg); color:var(--blue); border:1px solid var(--blue-bd); }
.tp { background:var(--orange-bg); color:var(--orange); border:1px solid var(--orange-bd); }
.tr { background:var(--surf3); color:var(--t2); border:1px solid var(--bd); }
.tn-s { background:var(--green-bg); color:var(--green); border:1px solid var(--green-bd); }
.tn-a { background:#F0FDF4; color:#166534; border:1px solid #BBF7D0; }
.tn-b { background:var(--surf3); color:var(--t3); border:1px solid var(--bd); }
.tc-p { background:var(--teal-bg); color:var(--teal); border:1.5px solid var(--teal-bd); }
.tc-a { background:var(--purple-bg); color:var(--purple); border:1px solid var(--purple-bd); }

.card-right { display:flex; flex-direction:column; align-items:flex-end; gap:7px; flex-shrink:0; }

/* Probability pill */
.pp {
  font-size:12px; font-weight:800; padding:5px 13px;
  border-radius:22px; white-space:nowrap; letter-spacing:-.1px;
}
.pp-g { background:var(--green-bg); color:var(--green); border:1.5px solid var(--green-bd); }
.pp-a { background:var(--amber-bg); color:var(--amber); border:1.5px solid var(--amber-bd); }
.pp-r { background:var(--red-bg); color:var(--red); border:1.5px solid var(--red-bd); }

/* Heart button */
.heart {
  background:none; border:none; cursor:pointer;
  font-size:22px; line-height:1; transition:transform .2s;
  color:#D1D5DB; user-select:none;
}
.heart:hover { transform:scale(1.35); }
.heart.on { color:#F43F5E; }

/* Stats grid */
.cstats {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--bd); border-radius:var(--r-sm);
  overflow:hidden; margin-bottom:13px; border:1.5px solid var(--bd);
}
@media(max-width:400px){ .cstats { grid-template-columns:repeat(2,1fr); } }
.cs { background:var(--surf2); padding:11px 10px; text-align:center; }
.cs-l {
  font-size:9.5px; font-weight:800; color:var(--t4);
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px;
}
.cs-v { font-size:14px; font-weight:800; font-family:'DM Mono',monospace; color:var(--t1); }
.cs-v.t { color:var(--teal); }
.cs-v.a { color:var(--amber); }
.cs-v.sm { font-size:12px; }

/* Rank bar */
.rankbar { margin-bottom:13px; }
.rb-lbl { display:flex; justify-content:space-between; font-size:11px; color:var(--t3); margin-bottom:5px; font-weight:600; }
.rb-lbl .you { color:var(--t1); font-weight:800; }
.rb-track { height:7px; background:var(--surf3); border-radius:7px; position:relative; overflow:visible; border:1px solid var(--bd); }
.rb-fill { position:absolute; inset:0; border-radius:7px; }
.rb-pin {
  position:absolute; top:-5px; width:16px; height:16px;
  background:var(--white); border-radius:50%; transform:translateX(-50%);
  box-shadow:0 0 0 3px var(--teal), 0 2px 8px rgba(0,0,0,.15); z-index:2;
}
.rb-r2m { position:absolute; top:-4px; width:3px; height:15px; background:rgba(29,78,216,.4); border-radius:2px; transform:translateX(-50%); }
.rb-r2l { position:absolute; top:-18px; font-size:9px; font-weight:700; color:var(--blue); white-space:nowrap; transform:translateX(-50%); }

/* Card action buttons */
.cacts { display:flex; flex-wrap:wrap; gap:6px; }
.ca {
  display:flex; align-items:center; gap:5px;
  background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:22px; padding:7px 13px;
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; color:var(--t2);
  cursor:pointer; text-decoration:none; transition:all .18s;
}
.ca:hover { border-color:var(--teal); color:var(--teal); background:var(--teal-bg); }
.ca.maps:hover { border-color:var(--blue); color:var(--blue); background:var(--blue-bg); }

/* ── Expandable panel ── */
.cexp {
  display:none;
  border-top:1.5px solid var(--bd);
  padding:16px 18px 18px 22px;
  background:var(--surf2);
}
.cexp.on { display:block; }

/* Round comparison table */
.rt-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; margin-bottom:16px; border:1.5px solid var(--bd); border-radius:var(--r-sm); overflow:hidden; }
.rt-table th { background:var(--surf3); color:var(--t3); font-size:10.5px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; padding:9px 11px; text-align:left; border-bottom:1.5px solid var(--bd); }
.rt-table td { padding:10px 11px; color:var(--t1); font-weight:600; border-bottom:1px solid var(--bd); }
.rt-table tr:last-child td { border-bottom:none; }
.rt-table .you { color:var(--teal); font-family:'DM Mono',monospace; font-weight:700; }
.rt-table .ok { color:var(--green); font-weight:700; }
.rt-table .no { color:var(--red); font-weight:700; }
.rt-table .est { color:var(--t4); font-style:italic; }

/* Fee box */
.fee-box {
  background:var(--amber-bg); border:1.5px solid var(--amber-bd);
  border-radius:var(--r-sm); padding:14px 16px; margin-bottom:14px;
}
.fee-box-h { font-size:12px; font-weight:800; color:var(--amber); text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
.fee-row { display:flex; justify-content:space-between; align-items:center; font-size:13px; color:var(--t2); padding:5px 0; border-bottom:1px solid rgba(217,119,6,.15); font-weight:600; }
.fee-row:last-child { border-bottom:none; font-weight:800; font-size:14px; color:var(--t1); padding-top:8px; }
.fee-row:last-child span:last-child { color:var(--amber); }

/* Meta details */
.meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px 16px; margin-bottom:14px; }
@media(max-width:400px){ .meta-grid { grid-template-columns:1fr; } }
.mg-lbl { font-size:10px; font-weight:800; color:var(--t4); text-transform:uppercase; letter-spacing:.5px; margin-bottom:3px; }
.mg-val { font-size:13.5px; font-weight:700; color:var(--t1); }

/* Empty state */
.empty { text-align:center; padding:56px 20px; }
.empty-icon { font-size:48px; margin-bottom:14px; }
.empty h3 { font-size:20px; font-weight:800; margin-bottom:9px; }
.empty p { font-size:14px; color:var(--t3); line-height:1.75; max-width:400px; margin:0 auto; font-weight:500; }
.empty .tip { color:var(--teal); font-weight:800; }

/* ══════════════════════════════════════════════════════
   COLLEGE EXPLORER
══════════════════════════════════════════════════════ */
.exp-search-wrap { position:relative; margin-bottom:16px; }
.exp-search-wrap input {
  background:var(--white); border:2px solid var(--bd);
  border-radius:var(--r); padding:15px 44px 15px 50px;
  color:var(--t1); width:100%; font-family:'DM Sans',sans-serif;
  font-size:15px; font-weight:600; outline:none;
  box-shadow:var(--sh-sm); transition:border-color .18s, box-shadow .18s;
}
.exp-search-wrap input:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,151,167,.12),var(--sh); }
.exp-search-wrap input::placeholder { color:var(--t4); font-size:14px; font-weight:400; }
.exp-search-ico { position:absolute; left:16px; top:50%; transform:translateY(-50%); font-size:20px; }
.search-clear {
  position:absolute; right:12px; top:50%; transform:translateY(-50%);
  background:var(--surf3); border:none; border-radius:50%;
  width:28px; height:28px; color:var(--t3); cursor:pointer; font-size:15px;
  display:none; align-items:center; justify-content:center; transition:all .18s;
}
.search-clear:hover { background:var(--red-bg); color:var(--red); }
.search-clear.on { display:flex; }

/* Filter row */
.exp-filters { display:flex; gap:7px; flex-wrap:wrap; margin-bottom:16px; }
.ef {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:22px; padding:8px 15px;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700; color:var(--t3);
  cursor:pointer; box-shadow:var(--sh-sm); transition:all .18s; white-space:nowrap;
}
.ef:hover { border-color:var(--teal); color:var(--teal); }
.ef.on { background:var(--navy); border-color:var(--navy); color:#FFF; box-shadow:0 2px 8px rgba(11,34,57,.25); }

/* College grid */
.col-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
@media(max-width:540px){ .col-grid { grid-template-columns:1fr; } }

/* College tile */
.col-tile {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r); padding:0; cursor:pointer;
  transition:all .18s; overflow:hidden;
  box-shadow:var(--sh-sm);
  animation:slideUp .25s ease both;
}
.col-tile:hover { border-color:var(--teal); box-shadow:var(--sh-md); transform:translateY(-2px); }

.ct-header {
  padding:13px 15px 11px;
  border-bottom:1px solid var(--bd);
}
.ct-type-bar { height:4px; margin:-13px -15px 10px; }
.ct-type-bar.govt { background:linear-gradient(90deg, var(--blue), #3B82F6); }
.ct-type-bar.priv { background:linear-gradient(90deg, var(--orange), #F97316); }

.ct-name { font-size:13.5px; font-weight:800; color:var(--t1); line-height:1.3; margin-bottom:9px; letter-spacing:-.1px; }
.ct-tags { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:9px; }
.ct-tag { font-size:10.5px; font-weight:700; padding:2px 8px; border-radius:20px; }
.ct-tag.govt { background:var(--blue-bg); color:var(--blue); }
.ct-tag.priv { background:var(--orange-bg); color:var(--orange); }
.ct-tag.reg  { background:var(--surf3); color:var(--t2); }
.ct-tag.naac-s { background:var(--green-bg); color:var(--green); }
.ct-tag.naac-a { background:#F0FDF4; color:#166534; }
.ct-tag.naac-b { background:var(--surf3); color:var(--t3); }

.ct-cutoffs { padding:11px 15px 13px; }
.ct-cutoff-row {
  display:flex; justify-content:space-between; align-items:center;
  padding:5px 0; border-bottom:1px solid var(--bd);
  font-size:12px;
}
.ct-cutoff-row:last-child { border-bottom:none; }
.ct-cut-lbl { font-size:10.5px; font-weight:700; color:var(--t3); }
.ct-cut-val { font-family:'DM Mono',monospace; font-size:13px; font-weight:700; color:var(--t1); }
.ct-cut-val.teal { color:var(--teal); }
.ct-cut-val.orange { color:var(--orange); }
.ct-cut-fee { font-size:10.5px; color:var(--t4); margin-top:1px; }
.ct-desc-snippet{font-size:11.5px;color:var(--t3);line-height:1.5;margin-top:5px;padding:0 2px;}
.ct-desc-short{font-size:11.5px;color:var(--t3);line-height:1.5;margin-top:5px;padding:0 2px;}
.ct-read-more-btn{background:none;border:none;color:var(--blue);font-size:11px;font-weight:700;cursor:pointer;padding:1px 0 0 0;display:block;}
.ct-read-more-btn:hover{text-decoration:underline;}
.ct-tile-links-row{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px;padding:0 2px;}
.ct-tile-maps-link{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:#e05a1e;background:rgba(224,90,30,.08);border-radius:5px;padding:2px 8px;text-decoration:none;border:1px solid rgba(224,90,30,.2);}
.ct-tile-maps-link:hover{background:rgba(224,90,30,.16);}
.ct-seats-badge{display:inline-block;font-size:10px;font-weight:700;color:var(--teal);background:rgba(0,200,180,.1);border-radius:5px;padding:1px 7px;border:1px solid rgba(0,200,180,.25);}
.ct-web-row{margin-top:5px;padding:0 2px;}
.ct-web-link{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;color:var(--blue);background:rgba(80,140,255,.1);border-radius:5px;padding:2px 8px;text-decoration:none;border:1px solid rgba(80,140,255,.2);}
.ct-web-link:hover{background:rgba(80,140,255,.2);}
@media(max-width:480px){.ct-desc-short{font-size:12px;}}

/* ══ College Detail Modal ══ */
.col-modal {
  position:fixed; inset:0; z-index:400;
  display:flex; align-items:flex-end; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.col-modal.on { opacity:1; pointer-events:auto; }
.cm-ov { position:absolute; inset:0; background:rgba(11,34,57,.65); backdrop-filter:blur(6px); }
.cm-sheet {
  position:relative; z-index:1;
  background:var(--white); border-radius:22px 22px 0 0;
  width:100%; max-width:800px; max-height:92vh;
  overflow:hidden; display:flex; flex-direction:column;
  transform:translateY(100%); transition:transform .35s cubic-bezier(.22,1,.36,1);
  box-shadow:0 -8px 48px rgba(11,34,57,.18);
}
.col-modal.on .cm-sheet { transform:translateY(0); }

.cm-head {
  padding:18px 20px 16px; border-bottom:1.5px solid var(--bd);
  flex-shrink:0; background:var(--white);
}
.cm-head-top { display:flex; align-items:flex-start; gap:13px; margin-bottom:12px; }
.cm-head-info { flex:1; min-width:0; }
.cm-name { font-size:17px; font-weight:800; color:var(--t1); line-height:1.3; margin-bottom:10px; letter-spacing:-.3px; }
.cm-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
.cm-links { display:flex; gap:7px; flex-wrap:wrap; }
.cm-link {
  display:flex; align-items:center; gap:5px;
  background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:22px; padding:7px 14px;
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; color:var(--t2);
  text-decoration:none; transition:all .18s;
}
.cm-link:hover { border-color:var(--teal); color:var(--teal); background:var(--teal-bg); }
.cm-close {
  width:34px; height:34px; background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:50%; color:var(--t2); cursor:pointer; font-size:18px;
  display:flex; align-items:center; justify-content:center;
  transition:all .18s; flex-shrink:0;
}
.cm-close:hover { background:var(--red-bg); border-color:var(--red-bd); color:var(--red); }

.cm-body { flex:1; overflow-y:auto; padding:18px 20px; }

/* College info grid */
.ci-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:18px; }
@media(max-width:480px){ .ci-grid { grid-template-columns:repeat(2,1fr); } }
.ci-item {
  background:var(--surf2); border:1px solid var(--bd);
  border-radius:var(--r-sm); padding:12px 13px;
}
.ci-l { font-size:9.5px; font-weight:800; color:var(--t4); text-transform:uppercase; letter-spacing:.5px; margin-bottom:5px; }
.ci-v { font-size:14px; font-weight:800; color:var(--t1); }

/* About text */
.cm-about {
  background:var(--surf2); border:1px solid var(--bd);
  border-radius:var(--r-sm); padding:14px 16px; margin-bottom:20px;
  font-size:13.5px; color:var(--t2); line-height:1.7; font-weight:400;
}
.cm-about strong { color:var(--t1); font-weight:700; }

/* Category section */
.cat-sec-title {
  font-size:13px; font-weight:800; color:var(--t2);
  text-transform:uppercase; letter-spacing:.6px;
  margin-bottom:12px; padding-bottom:10px;
  border-bottom:1.5px solid var(--bd);
  display:flex; align-items:center; gap:8px;
}
.cat-sec-title span { font-size:11px; color:var(--t4); font-weight:500; text-transform:none; letter-spacing:0; }

/* Category type section header */
.cat-cut-head { margin-bottom:14px; }
.cat-cut-head h2 { font-size:20px; font-weight:800; color:var(--t1); margin:0 0 4px; }
.cat-cut-head p { font-size:13px; color:var(--t3); font-weight:500; margin:0; }
.cat-cut-controls { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-bottom:16px; }
.cat-cut-controls select {
  flex:1; min-width:160px; padding:11px 14px; border-radius:10px; border:1.5px solid var(--bd);
  background:var(--white); color:var(--t1); font-size:14px; font-weight:700; cursor:pointer;
}
.cat-cut-controls select:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,151,167,.12); outline:none; }
.cat-cut-pdf-btn {
  display:inline-flex; align-items:center; gap:6px; padding:11px 16px; border-radius:10px; border:none;
  background:linear-gradient(135deg,var(--teal),var(--teal2)); color:#fff; font-size:13.5px; font-weight:700; cursor:pointer; white-space:nowrap;
}
.cat-cut-pdf-btn:hover { filter:brightness(1.06); }
.cat-cut-full-table td:first-child { min-width:200px; }
.cat-cut-note {
  margin-top:16px; background:var(--amber-bg); border:1.5px solid var(--amber-bd); color:var(--amber);
  font-size:12.5px; font-weight:600; padding:10px 14px; border-radius:10px; line-height:1.55;
}
body.dark-mode .cat-cut-controls select { background:var(--surf2); border-color:var(--bd); color:var(--t1); }

.cat-group-hdr {
  font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.6px;
  padding:8px 12px; border-radius:var(--r-xs);
  margin-bottom:8px; margin-top:14px; display:flex; align-items:center; gap:6px;
}
.cat-group-hdr:first-child { margin-top:0; }
.cat-group-hdr.govt { background:var(--blue-bg); color:var(--blue); }
.cat-group-hdr.priv { background:var(--orange-bg); color:var(--orange); }
.cat-group-hdr.mgmt { background:var(--purple-bg); color:var(--purple); }
.cat-group-hdr.minority { background:var(--surf3); color:var(--t3); }
.cat-group-hdr.nri { background:var(--green-bg); color:var(--green); }

/* Category search in modal */
.cat-search-wrap { position:relative; margin-bottom:14px; }
.cat-search-wrap input {
  background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:10px 12px 10px 38px;
  color:var(--t1); width:100%; font-family:'DM Sans',sans-serif;
  font-size:13.5px; font-weight:600; outline:none;
  transition:border-color .18s;
}
.cat-search-wrap input:focus { border-color:var(--teal); background:var(--white); }
.cat-search-wrap input::placeholder { color:var(--t4); font-size:13px; font-weight:400; }
.cat-search-ico { position:absolute; left:11px; top:50%; transform:translateY(-50%); font-size:15px; }

/* Category rows */
.cat-table { width:100%; border-collapse:separate; border-spacing:0; border:1.5px solid var(--bd); border-radius:var(--r-sm); overflow:hidden; }
.cat-table thead tr { background:var(--surf3); }
.cat-table th {
  padding:9px 11px; font-size:10px; font-weight:800; color:var(--t3);
  text-transform:uppercase; letter-spacing:.5px; text-align:left;
  border-bottom:1.5px solid var(--bd);
}
.cat-table td { padding:10px 11px; font-size:13px; border-bottom:1px solid var(--bd); vertical-align:middle; }
.cat-table tr:last-child td { border-bottom:none; }
.cat-table tr:hover td { background:var(--surf2); }

.cat-name-cell { font-weight:800; color:var(--t1); }
.cat-type-badge {
  display:inline-flex; font-size:9.5px; font-weight:700;
  padding:2px 7px; border-radius:12px; margin-left:5px; vertical-align:middle;
}
.ctb-govt { background:var(--blue-bg); color:var(--blue); }
.ctb-mgmt { background:var(--purple-bg); color:var(--purple); }
.ctb-min  { background:var(--surf3); color:var(--t3); }
.ctb-nri  { background:var(--green-bg); color:var(--green); }
.cat-fee-cell { color:var(--amber); font-weight:700; font-size:12.5px; }
.cat-rank-cell { font-family:'DM Mono',monospace; font-weight:700; }
.cat-r1 { color:var(--t1); }
.cat-r2 { color:var(--blue); }
.cat-r3 { color:var(--t4); font-style:italic; }
.cat-open { font-size:10.5px; color:var(--t4); display:block; }
.cat-delta { font-size:10px; font-weight:700; display:block; margin-top:2px; }
.cat-delta.looser { color:#059669; }
.cat-delta.tighter { color:#dc2626; }
.cat-delta.same { color:var(--t4); font-weight:600; }

/* ══ Guide standalone section ══ */
.guide-standalone {
  max-width:800px;
  margin:0 auto;
  padding:32px 14px 60px;
  border-top:none;
}
.guide-standalone .sec-eyebrow { font-size:11px; }
.guide-standalone .sec-title { font-size:22px; }
/* ══════════════════════════════════════════════════════
   HOW IT WORKS
══════════════════════════════════════════════════════ */
.section-divider { height:1px; background:var(--bd); margin:28px 0; }
.sec-eyebrow { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1px; color:var(--teal); margin-bottom:9px; }
.sec-title { font-family:'DM Serif Display',Georgia,serif; font-size:24px; color:var(--t1); margin-bottom:18px; line-height:1.2; }
.hiw-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
/* ── Mobile HIW: 2-per-row, collapsible body ── */
@media(max-width:600px){
  .hiw-grid { grid-template-columns:1fr 1fr; gap:9px; }
  .hiw-card { padding:12px 11px; cursor:pointer; -webkit-tap-highlight-color:transparent; }
  .hiw-card-body { display:none; }
  .hiw-card.open .hiw-card-body { display:block; margin-top:8px; }
  .hiw-card-head { display:flex; align-items:flex-start; gap:7px; }
  .hiw-card-head .hiw-n { margin-bottom:0; flex-shrink:0; width:24px; height:24px; font-size:12px; border-radius:6px; }
  .hiw-card-head h3 { font-size:12.5px; margin-bottom:0; flex:1; line-height:1.3; color:var(--t1); }
  .hiw-card-arr { font-size:10px; color:var(--t4); flex-shrink:0; transition:transform .2s; margin-top:3px; }
  .hiw-card.open .hiw-card-arr { transform:rotate(180deg); color:var(--teal); }
  .hiw-card.open { border-color:var(--teal-bd); background:var(--teal-bg); }
  .hiw-card.open .hiw-card-head h3 { color:var(--teal); }
}
@media(min-width:601px){
  .hiw-card-head { display:contents; }
  .hiw-card-body { display:block !important; }
  .hiw-card-arr { display:none !important; }
  .hiw-card { cursor:default; }
}
.hiw-card {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r); padding:18px; box-shadow:var(--sh-sm);
}
.hiw-n {
  width:30px; height:30px;
  background:linear-gradient(135deg, var(--teal2), var(--teal));
  border-radius:8px; display:flex; align-items:center; justify-content:center;
  font-size:14px; font-weight:900; color:#FFF; margin-bottom:11px;
}
.hiw-card h3 { font-size:14.5px; font-weight:800; color:var(--t1); margin-bottom:6px; }
.hiw-card p { font-size:13px; color:var(--t3); line-height:1.65; font-weight:500; }

/* ══ FAQ ══ */
.faq-list { margin-top:16px; }
.faq-item { background:var(--white); border:1.5px solid var(--bd); border-radius:var(--r-sm); margin-bottom:8px; overflow:hidden; box-shadow:var(--sh-sm); }
.faq-q {
  display:flex; justify-content:space-between; align-items:center;
  padding:15px 18px; cursor:pointer; font-size:14px; font-weight:700; color:var(--t1);
  transition:background .18s; gap:12px;
}
.faq-q:hover { background:var(--surf2); }
.faq-arr { color:var(--teal); font-size:16px; transition:transform .22s; flex-shrink:0; }
.faq-q.open .faq-arr { transform:rotate(180deg); }
.faq-a { display:none; padding:0 18px 15px; font-size:13.5px; color:var(--t2); line-height:1.75; font-weight:500; }
.faq-a.on { display:block; }

/* ══════════════════════════════════════════════════════
   SHORTLIST PANEL
══════════════════════════════════════════════════════ */
.sl-ov { position:fixed; inset:0; background:rgba(11,34,57,.6); backdrop-filter:blur(5px); z-index:300; opacity:0; pointer-events:none; transition:opacity .3s; }
.sl-ov.on { opacity:1; pointer-events:auto; }
.sl-panel {
  position:fixed; right:-110%; top:0; bottom:0;
  width:min(380px,96vw); background:var(--white);
  border-left:1.5px solid var(--bd);
  box-shadow:-4px 0 32px rgba(11,34,57,.15);
  z-index:301;
  transition:right .35s cubic-bezier(.22,1,.36,1);
  display:flex; flex-direction:column; overflow:hidden;
}
.sl-panel.on { right:0; }
.sl-head {
  padding:18px 18px 16px; border-bottom:1.5px solid var(--bd);
  display:flex; align-items:center; justify-content:space-between; flex-shrink:0;
  background:var(--navy);
}
.sl-head h3 { font-size:16px; font-weight:800; color:#FFF; }
.sl-close {
  width:32px; height:32px; background:rgba(255,255,255,.12);
  border:1.5px solid rgba(255,255,255,.2); border-radius:50%;
  color:#FFF; cursor:pointer; font-size:18px;
  display:flex; align-items:center; justify-content:center; transition:all .18s;
}
.sl-close:hover { background:rgba(255,255,255,.22); }
.sl-body { flex:1; overflow-y:auto; padding:14px; background:var(--bg); }
.sl-empty { text-align:center; padding:40px 16px; color:var(--t3); }
.sl-item {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:13px 38px 13px 14px; margin-bottom:8px;
  position:relative; box-shadow:var(--sh-sm);
}
.sl-item-name { font-size:13.5px; font-weight:800; margin-bottom:4px; line-height:1.3; color:var(--t1); }
.sl-item-meta { font-size:11.5px; color:var(--t3); font-weight:500; }
.sl-note-row { margin-top:5px; display:flex; align-items:center; gap:6px; }
.sl-note-text { font-size:11.5px; font-style:italic; color:var(--t3); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px; }
.sl-note-edit { background:none; border:none; font-size:11px; color:var(--t4); cursor:pointer; padding:2px 4px; opacity:.6; }
.sl-note-edit:hover { opacity:1; }
.sl-note-add { background:none; border:none; font-size:11.5px; font-weight:700; color:var(--teal); cursor:pointer; padding:2px 0; }
.sl-note-add:hover { text-decoration:underline; }
.sl-note-input {
  flex:1; font-size:11.5px; padding:5px 8px; border:1.5px solid var(--bd); border-radius:7px;
  font-family:'DM Sans',sans-serif; color:var(--navy); min-width:0;
}
.sl-note-input:focus { outline:none; border-color:var(--teal); }
.sl-note-save { background:var(--teal); color:#fff; border:none; border-radius:7px; padding:5px 10px; font-size:11px; font-weight:700; cursor:pointer; flex-shrink:0; }
.sl-del { position:absolute; top:10px; right:10px; background:none; border:none; color:var(--t4); cursor:pointer; font-size:17px; transition:color .18s; line-height:1; }
.sl-del:hover { color:var(--red); }
.sl-foot { padding:14px; border-top:1.5px solid var(--bd); flex-shrink:0; display:none; background:var(--white); }
.sl-wa {
  display:flex; align-items:center; justify-content:center; gap:8px;
  width:100%; background:#25D366; border:none; border-radius:var(--r-sm);
  padding:14px; color:#FFF; font-family:'DM Sans',sans-serif;
  font-size:14px; font-weight:800; cursor:pointer; margin-bottom:8px;
  transition:background .18s; text-decoration:none;
}
.sl-wa:hover { background:#1EB854; }
.sl-clr {
  width:100%; background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:11px;
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; color:var(--t3);
  cursor:pointer; transition:all .18s;
}
.sl-clr:hover { border-color:var(--red-bd); color:var(--red); background:var(--red-bg); }

/* ══════════════════════════════════════════════════════
   TOAST
══════════════════════════════════════════════════════ */
.toast {
  position:fixed; bottom:24px; left:50%;
  transform:translateX(-50%) translateY(80px);
  background:var(--navy); border:1px solid rgba(255,255,255,.12);
  border-radius:30px; padding:11px 22px;
  font-size:13.5px; font-weight:700; color:#FFF;
  z-index:500; pointer-events:none; white-space:nowrap;
  box-shadow:var(--sh-md); backdrop-filter:blur(16px);
  transition:transform .3s cubic-bezier(.22,1,.36,1);
}
.toast.on { transform:translateX(-50%) translateY(0); }

/* ══════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════ */
footer {
  background:var(--navy); color:rgba(255,255,255,.45);
  padding:28px 20px 50px; text-align:center;
  font-size:12.5px; line-height:2; font-weight:500;
}
footer strong { color:rgba(255,255,255,.80); font-weight:700; }
footer a { color:var(--teal2); text-decoration:none; }
footer a:hover { text-decoration:underline; }
.footer-logo { font-size:15px; font-weight:800; color:#FFF; margin-bottom:8px; }
.footer-logo em { color:var(--teal2); font-style:normal; }

/* ── Hero guide button ── */
/* ── Header contact ── */
.hdr-contact{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--teal2);background:rgba(0,188,212,.13);border:1.5px solid rgba(0,188,212,.3);border-radius:22px;padding:6px 14px;cursor:pointer;transition:all .2s;white-space:nowrap;}
.hdr-contact:hover{background:var(--teal);color:#FFF;border-color:var(--teal);}
/* ── Mobile shortlist fix ── */
@media(max-width:530px){
  .hdr-actions{gap:5px;}
  .hdr-contact{padding:5px 9px;font-size:11px;}
  .hdr-btn{padding:7px 11px;font-size:12px;gap:4px;}
}
@media(max-width:380px){
  .hdr-contact{display:none;}
}
/* ── Mobile header alignment fix ── */
@media(max-width:1180px){
  .hdr{padding:0 12px;overflow:visible;height:auto;min-height:56px;}
  .logo{min-width:0;flex-shrink:1;gap:8px;}
  .logo-img{width:34px;height:34px;flex-shrink:0;}
  .logo-text{min-width:0;}
  .logo-title{font-size:13px;white-space:nowrap;}
  .logo-sub{font-size:8.5px;letter-spacing:0.2px;white-space:nowrap;color:rgba(255,255,255,0.55);}
  .mob-actions{flex-shrink:0;margin-left:auto;}
  .tab-bar{top:56px;}
}
@media(max-width:360px){
  .hdr{padding:0 8px;}
  .logo-img{width:28px;height:28px;}
  .logo-title{font-size:12px;}
  .logo-sub{font-size:7.5px;}
}
/* ── Contact section ── */
.contact-section{background:var(--navy);border-top:1px solid rgba(255,255,255,.10);padding:32px 20px;text-align:center;}
.contact-label{font-size:11px;font-weight:800;color:var(--teal);text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;}
.contact-title{font-size:24px;font-weight:800;color:#FFF;margin-bottom:8px;}
.contact-desc{font-size:13.5px;color:rgba(255,255,255,.6);margin-bottom:20px;max-width:480px;margin-left:auto;margin-right:auto;}
.contact-btn{display:inline-flex;align-items:center;gap:9px;background:rgba(0,188,212,.15);color:var(--teal2);border:1.5px solid rgba(0,188,212,.35);border-radius:12px;padding:13px 26px;font-size:15px;font-weight:700;cursor:pointer;transition:all .22s;}
.contact-btn:hover{background:var(--teal);color:#FFF;border-color:var(--teal);}
/* ── Explainer / Seat Allocation ── */
.explainer-section{margin-top:16px; width:100%;}
.ex-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;}
.ex-card{background:var(--surf2);border:1.5px solid var(--bd);border-radius:var(--r-sm);padding:18px;}
.ex-card.mcc{border-top:3px solid #3B82F6;}
.ex-card.kea{border-top:3px solid var(--teal);}
.ex-card-badge{font-size:11px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.ex-card h4{font-size:14px;font-weight:800;color:var(--t1);margin-bottom:8px;line-height:1.4;}
.ex-card p{font-size:12.5px;color:var(--t2);line-height:1.7;margin-bottom:10px;}
.ex-stat{font-size:11.5px;color:var(--t3);line-height:1.6;}
.ex-seats-table{width:100%;border-collapse:collapse;margin-bottom:20px;font-size:13px;}
.ex-seats-table th{background:var(--surf3);color:var(--t2);font-weight:700;padding:10px 12px;text-align:left;font-size:12px;}
.ex-seats-table td{padding:10px 12px;border-bottom:1px solid var(--bd);color:var(--t2);vertical-align:top;font-size:12.5px;line-height:1.5;}
.ex-pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:800;}
.ex-pill.mcc{background:#EFF6FF;color:#3B82F6;}
.ex-pill.state{background:#F0FDFA;color:#0D9488;}
.ex-pill.mgmt{background:#FFF7ED;color:#EA580C;}
.ex-pill.nri{background:#FDF4FF;color:#9333EA;}
.tl-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px; margin:0 0 20px;
}
.tl-item{
  display:flex; align-items:flex-start; gap:10px;
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:12px 14px;
  font-size:13px; font-weight:700; color:var(--t2);
  position:relative;
}
.tl-item.tl-highlight{
  border-color:var(--teal-bd); background:var(--teal-bg);
  color:var(--teal);
}
.tl-n{
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  background:var(--surf3); color:var(--t3);
  border:2px solid var(--bd2); font-size:12px; font-weight:900;
  display:flex; align-items:center; justify-content:center;
  margin-top:1px;
}
.tl-n-kea{background:var(--teal);color:#FFF;border-color:var(--teal);}
.tl-arr{ display:none; } /* arrows removed — grid layout is self-explanatory */
.tl-txt{line-height:1.4; flex:1;}
@media(max-width:600px){
  .tl-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:380px){
  .tl-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:600px){
  .ex-grid{grid-template-columns:1fr;}
  /* tl mobile handled above */
  .ex-seats-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .ex-seats-table th,.ex-seats-table td{padding:8px;font-size:11px;white-space:nowrap;}
}

/* ══════════════════════════════════════════
   DESKTOP NAV
══════════════════════════════════════════ */
.desk-nav {
  display:flex; align-items:center; justify-content:center; gap:2px;
  flex-shrink:1; overflow:hidden; min-width:0;
  position:fixed; top:68px; left:0; right:0; z-index:199;
  height:46px; padding:0 24px;
  background:rgba(4,38,42,0.45); backdrop-filter:blur(20px) saturate(150%); -webkit-backdrop-filter:blur(20px) saturate(150%);
  border-bottom:1px solid rgba(0,188,212,0.14);
}
.nav-link {
  display:inline-flex; align-items:center; gap:5px;
  background:none; border:none;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700;
  color:rgba(255,255,255,.82); padding:7px 10px; border-radius:10px;
  cursor:pointer; transition:all .18s; white-space:nowrap;
  letter-spacing:-.1px; flex-shrink:0;
}
.nav-link:hover {
  background:rgba(255,255,255,.12); color:#fff;
}
.nav-contact {
  color:var(--teal2); 
}
.nav-contact:hover {
  background:rgba(0,188,212,.15); color:var(--teal2);
}

.nav-dropdown { position:relative; flex-shrink:0; }
.nav-caret { font-size:9px; margin-left:1px; display:inline-block; transition:transform .18s; opacity:.75; }
.nav-dropdown.open .nav-caret { transform:rotate(180deg); }
.nav-dropdown-panel {
  display:none; position:fixed;
  background:#fff; border-radius:12px; box-shadow:0 16px 40px rgba(0,0,0,.28);
  min-width:290px; padding:6px; z-index:300;
  border:1px solid var(--bd);
}
.nav-dropdown.open .nav-dropdown-panel { display:block; animation:navDropIn .16s ease; }
.nav-dropdown-panel.open { display:block; animation:navDropIn .16s ease; }
@keyframes navDropIn { from{opacity:0;transform:translateY(-4px)} to{opacity:1;transform:none} }
.nav-dropdown-item {
  display:block; width:100%; text-align:left; background:none; border:none;
  padding:11px 12px; border-radius:8px; font-family:'DM Sans',sans-serif;
  font-size:12.5px; font-weight:700; color:var(--t2); cursor:pointer;
  transition:background .15s; letter-spacing:-.1px;
}
.nav-dropdown-item:hover { background:var(--surf2); color:var(--navy); }
body.dark-mode .nav-dropdown-panel { background:#1e293b; border-color:#334155; }
body.dark-mode .nav-dropdown-item { color:#cbd5e1; }
body.dark-mode .nav-dropdown-item:hover { background:#334155; color:#fff; }

/* ══════════════════════════════════════════
   HAMBURGER BUTTON
══════════════════════════════════════════ */
.mob-actions {
  display:none; /* hidden on desktop */
  align-items:center; gap:8px;
}
.mob-sl {
  padding:7px 10px; font-size:13px;
}
.ham-btn {
  width:42px; height:42px;
  background:rgba(255,255,255,.10); border:1.5px solid rgba(255,255,255,.18);
  border-radius:12px; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px;
  transition:all .2s; flex-shrink:0;
}
.ham-btn:hover { background:rgba(255,255,255,.20); }
.ham-btn.open { background:rgba(0,188,212,.2); border-color:var(--teal2); }
.ham-line {
  width:18px; height:2px; background:#fff; border-radius:2px;
  transition:transform .25s, opacity .2s, width .2s;
  transform-origin:center;
}
.ham-btn.open .ham-line:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.ham-btn.open .ham-line:nth-child(2) { opacity:0; width:0; }
.ham-btn.open .ham-line:nth-child(3) { opacity:0; width:0; }
.ham-btn.open .ham-line:nth-child(4) { transform:translateY(-7px) rotate(-45deg); }

/* ══════════════════════════════════════════
   MOBILE DROPDOWN MENU
══════════════════════════════════════════ */
.mob-menu-ov {
  display:none; position:fixed; inset:0; z-index:299;
  background:rgba(0,0,0,.45); backdrop-filter:blur(2px);
  opacity:0; transition:opacity .25s;
}
.mob-menu-ov.visible { opacity:1; }
.mob-menu {
  display:none; position:fixed; top:60px; right:0; z-index:300;
  width:min(340px, calc(100vw - 16px));
  max-height: calc(100vh - 76px);
  max-height: calc(100dvh - 76px);
  background:var(--navy); 
  border:1.5px solid rgba(255,255,255,.10);
  border-top:2px solid var(--teal2);
  border-radius:0 0 18px 18px;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  transform:translateY(-8px); opacity:0;
  transition:transform .25s cubic-bezier(.34,1.56,.64,1), opacity .2s;
}
.mob-menu.open {
  transform:translateY(0); opacity:1;
}
.mob-menu-inner { padding:8px; }
.mob-state-switcher {
  display:flex; gap:6px; padding:12px 14px 14px; flex-wrap:wrap;
}
.mob-state-pill {
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700;
  color:rgba(255,255,255,.72); text-decoration:none;
  padding:7px 13px; border-radius:999px;
  border:1.5px solid rgba(255,255,255,.14);
}
.mob-state-pill.active {
  background:rgba(11,198,212,.18); border-color:rgba(11,198,212,.55); color:#fff;
}
.mob-nav-item {
  display:flex; align-items:center; gap:14px;
  width:100%; padding:13px 16px; border-radius:12px; border:none;
  background:none; text-align:left; cursor:pointer;
  transition:background .15s; font-family:'DM Sans',sans-serif;
}
.mob-nav-item:hover, .mob-nav-item:active {
  background:rgba(255,255,255,.07);
}
.mob-nav-ico {
  font-size:20px; width:36px; height:36px; border-radius:10px;
  background:rgba(255,255,255,.08); display:flex; align-items:center;
  justify-content:center; flex-shrink:0;
}
.mob-nav-text { flex:1; }
.mob-nav-label {
  font-size:14px; font-weight:700; color:#FFF; line-height:1.3;
}
.mob-nav-sub {
  font-size:11.5px; color:rgba(255,255,255,.45); font-weight:500; margin-top:2px;
}
.mob-nav-arr {
  font-size:18px; color:rgba(255,255,255,.25); font-weight:300; flex-shrink:0;
}
.mob-nav-chevron { transition:transform .18s; }
.mob-nav-group.open .mob-nav-chevron { transform:rotate(90deg); }
.mob-nav-submenu { display:none; flex-direction:column; padding:2px 0 6px 44px; gap:1px; }
.mob-nav-group.open .mob-nav-submenu { display:flex; }
.mob-nav-subitem {
  display:block; width:100%; text-align:left; background:none; border:none;
  padding:11px 12px; border-radius:9px; font-family:'DM Sans',sans-serif;
  font-size:12.5px; font-weight:700; color:rgba(255,255,255,.7); cursor:pointer;
  transition:background .15s;
}
.mob-nav-subitem:hover, .mob-nav-subitem:active { background:rgba(255,255,255,.07); color:#fff; }
.mob-nav-links .mob-nav-ico { background:rgba(99,102,241,.15); }
.mob-nav-links .mob-nav-label { color:#a5b4fc; }
.mob-nav-links .mob-nav-sub { color:rgba(165,180,252,.5); }
.mob-nav-contact .mob-nav-ico { background:rgba(0,188,212,.15); }
.mob-nav-contact .mob-nav-label { color:var(--teal2); }
.mob-nav-contact .mob-nav-sub { color:rgba(0,212,200,.5); }

/* Divider between menu items */
.mob-nav-item + .mob-nav-item {
  border-top:1px solid rgba(255,255,255,.05);
  border-radius:0;
  margin-top:0;
}
.mob-nav-item:last-child { border-radius:0 0 10px 10px; }
.mob-nav-item:first-child { border-radius:10px 10px 0 0; }
.mob-nav-item:only-child { border-radius:10px; }

/* ══════════════════════════════════════════
   RESPONSIVE — show/hide desktop vs mobile
══════════════════════════════════════════ */
@media(max-width:1180px) {
  .desk-nav { display:none; }
  .mob-actions { display:flex; }
}
@media(min-width:1181px) {
  .mob-actions { display:none; }
  .mob-menu, .mob-menu-ov { display:none !important; }
}


.logo-img {
  width: 40px; height: 40px;
  border-radius: 10px;
  object-fit: contain;
  background: #fff;
  flex-shrink: 0;
  box-shadow: 0 2px 12px rgba(0,0,0,0.25);
}
.cs.dim .cs-v, .cs-v.dim { opacity: 0.38; }


/* ── COLLEGE EXPLORER SHORTLIST ── */
.ct-bottom {
  display:flex; align-items:center; justify-content:space-between;
  margin-top:10px; padding-top:10px;
  border-top:1px solid var(--bd);
  gap:8px;
}
.ct-sl-btn {
  display:inline-flex; align-items:center; gap:5px;
  background:rgba(0,0,0,.04); border:1.5px solid var(--bd);
  border-radius:20px; padding:6px 14px;
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700;
  color:var(--t3); cursor:pointer; transition:all .18s;
  white-space:nowrap; flex-shrink:0;
}
.ct-sl-btn:hover { background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.3); color:#EF4444; }
.ct-sl-btn.on { background:rgba(239,68,68,.10); border-color:rgba(239,68,68,.4); color:#EF4444; }

.cat-save-btn {
  display:inline-flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.04); border:1.5px solid var(--bd);
  border-radius:50%; width:34px; height:34px; padding:0;
  font-size:15px; cursor:pointer; transition:all .18s;
}
.cat-save-btn:hover { background:rgba(239,68,68,.08); border-color:rgba(239,68,68,.3); }
.cat-save-btn.on { background:rgba(239,68,68,.10); border-color:rgba(239,68,68,.4); }


/* ── PAGINATION ── */
.pager {
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; padding:14px 4px; flex-wrap:wrap;
}
.pg-btn {
  background:var(--card); border:2px solid var(--bd);
  border-radius:10px; padding:8px 18px;
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700;
  color:var(--t2); cursor:pointer; transition:all .18s;
  white-space:nowrap;
}
.pg-btn:hover:not(:disabled) { background:var(--teal); color:#fff; border-color:var(--teal); }
.pg-btn:disabled { opacity:.35; cursor:not-allowed; }
.pg-info { font-size:13px; color:var(--t3); text-align:center; flex:1; }
.pg-info strong { color:var(--t1); }


.ctb-pos {
  font-size:11px; font-weight:800; color:var(--t4);
  background:rgba(255,255,255,.08); border-radius:6px;
  padding:2px 7px; letter-spacing:.5px;
}


/* ── QUOTA TOGGLE ── */
.quota-toggle-wrap{margin:0 0 22px;padding:0;}
.quota-toggle-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--teal);margin-bottom:8px;}
.quota-toggle{display:flex;gap:10px;background:var(--surf3);border:1.5px solid var(--teal-bd);border-radius:14px;padding:6px;}
.qt-btn{flex:1;display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:all .2s;color:var(--navy2);text-align:left;}
.qt-btn:hover{background:#fff;border-color:var(--teal-bd);color:var(--navy);}
.qt-btn.active{background:#fff;border-color:var(--teal2);color:var(--navy);box-shadow:0 2px 8px rgba(0,188,212,.15);}
.qt-icon{font-size:22px;flex-shrink:0;}
.qt-text{display:flex;flex-direction:column;gap:2px;}
.qt-title{font-size:13px;font-weight:700;line-height:1.2;color:var(--navy);}
.qt-sub{font-size:10px;color:var(--teal);font-weight:500;}
.qt-btn.active .qt-title{color:var(--teal);}
@media(max-width:520px){
  .quota-toggle{flex-direction:column;gap:6px;}
  .qt-btn{padding:10px 12px;}
}

/* ── AIQ College Info Row ── */
.aiq-college-info{display:flex;align-items:center;gap:8px;margin:8px 0 4px;flex-wrap:wrap;; display:flex; align-items:center; flex-wrap:wrap; gap:6px;}
.aiq-maps-link{font-size:11.5px;font-weight:600;color:var(--teal);text-decoration:none;
  background:var(--teal-bg);border:1px solid var(--teal-bd);border-radius:20px;
  padding:3px 10px;display:inline-flex;align-items:center;gap:4px;transition:.15s;}
.aiq-maps-link:hover{background:var(--teal);color:#fff;}
.aiq-state-pill{font-size:10.5px;font-weight:700;color:#64748b;background:#f1f5f9;
  border-radius:12px;padding:2px 8px;border:1px solid #e2e8f0;}

/* ── AIQ Details Collapsible ── */
.aiq-cats-details{margin-top:8px;}
.aiq-cats-summary{font-size:11px;font-weight:600;color:var(--teal);cursor:pointer;padding:5px 0;list-style:none;user-select:none;display:flex;align-items:center;gap:4px;}
.aiq-cats-summary::-webkit-details-marker{display:none;}
details[open] .aiq-cats-summary{margin-bottom:4px;}

/* ── AIQ CARD ── */
.aiq-card{border:1.5px solid var(--teal-bd);background:#fff;}
.cc-meta-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.cc-state-badge{font-size:11px;color:var(--navy2);background:var(--surf3);padding:2px 8px;border-radius:20px;border:1px solid var(--bd,#dde3ea);}
.cc-allotted-badge{font-size:11px;padding:2px 8px;border-radius:20px;font-weight:600;}
.cc-quota-badge{font-size:11px;color:var(--teal);background:var(--teal-bg);padding:2px 8px;border-radius:20px;font-weight:600;}
.aiq-ranks-box{display:flex;align-items:center;background:var(--surf3);border:1px solid var(--teal-bd);border-radius:10px;padding:10px 14px;margin:10px 0 0;gap:0;}
.aiq-rank-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;}
.aiq-rank-lbl{font-size:10px;color:#7a90a4;text-transform:uppercase;letter-spacing:.5px;font-weight:600;}
.aiq-rank-val{font-size:15px;font-weight:700;color:var(--navy);}
.aiq-rank-hi{color:#dc2626;}
.aiq-rank-divider{width:1px;height:36px;background:var(--teal-bd);}
.aiq-cats-breakdown{margin-top:8px;border-radius:8px;overflow:hidden;border:1px solid var(--teal-bd);}
.aiq-cat-row{display:flex;align-items:center;padding:6px 12px;gap:8px;font-size:11px;border-bottom:1px solid #eef3f8;}
.aiq-cat-row:last-child{border-bottom:none;}
.aiq-cat-active{background:var(--teal-bg);}
.aiq-cat-lbl{width:70px;font-weight:700;color:var(--navy2);}
.aiq-cat-ranks{flex:1;color:#5a7080;font-variant-numeric:tabular-nums;}
.aiq-cat-seats{color:#8fa0b0;font-size:10px;}


/* ══════════════════════════════════════════
   LINKS SECTION — clean card-based design
═══════════════════════════════════════════ */
.ns-links {
  background: #f0f4f8;
}
.ns-links-inner {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.ns-links-hero { text-align: center; }
.ns-links-title {
  font-size: clamp(20px,3.5vw,26px);
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 6px;
}
.ns-links-sub {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.6;
}

/* ── block wrapper ── */
.nsl-block {
  background: #fff;
  border-radius: 16px;
  border: 1.5px solid #e2e8f0;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0,0,0,.05);
}
.nsl-block-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  border-bottom: 1.5px solid #e2e8f0;
  background: #f8fafc;
}
.nsl-block-icon { font-size: 24px; flex-shrink: 0; }
.nsl-block-title { font-size: 14px; font-weight: 800; color: var(--ink); }
.nsl-block-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }

/* ── PDF cards ── */
.nsl-pdf-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}
@media(max-width:560px){ .nsl-pdf-grid { grid-template-columns: 1fr; } }
.nsl-pdf-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  text-decoration: none;
  border-bottom: 1px solid #f1f5f9;
  border-right: 1px solid #f1f5f9;
  transition: background .15s;
}
.nsl-pdf-card:hover { background: #f0fdfa; }
.nsl-pdf-card:hover .nsl-pdf-dl { background: var(--teal); color: #fff; }
.nsl-pdf-badge {
  font-size: 10px;
  font-weight: 800;
  padding: 3px 9px;
  border-radius: 20px;
  flex-shrink: 0;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.nsl-pdf-badge.aiq { background: #e0f7fa; color: #0097a7; border: 1px solid #b2ebf2; }
.nsl-pdf-badge.kea { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; }
.nsl-pdf-body { flex: 1; min-width: 0; }
.nsl-pdf-name { font-size: 13px; font-weight: 700; color: var(--ink); }
.nsl-pdf-meta { font-size: 11px; color: var(--muted); margin-top: 2px; }
.nsl-pdf-dl {
  font-size: 11px;
  font-weight: 800;
  padding: 5px 10px;
  border-radius: 8px;
  background: #f1f5f9;
  color: var(--ink);
  white-space: nowrap;
  transition: .15s;
  flex-shrink: 0;
}

/* ── Portal row ── */
.nsl-portal-row {
  display: flex;
  flex-direction: column;
}
.nsl-portal {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 20px;
  text-decoration: none;
  border-bottom: 1px solid #f1f5f9;
  transition: background .15s;
}
.nsl-portal:last-child { border-bottom: none; }
.nsl-portal:hover { background: #f8fafc; }
.nsl-portal:hover .nsl-portal-arr { color: var(--teal); transform: translateX(3px); }
.nsl-portal-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.nsl-portal-dot.mcc { background: #0bc6d4; }
.nsl-portal-dot.kea { background: #10b981; }
.nsl-portal-dot.nta { background: #8b5cf6; }
.nsl-portal-body { flex: 1; }
.nsl-portal-name { font-size: 13px; font-weight: 700; color: var(--ink); }
.nsl-portal-sub { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.nsl-portal-arr { font-size: 16px; color: #cbd5e1; font-weight: 700; transition: .15s; }

/* ── YouTube grid ── */
.nsl-yt-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 0;
}
/* Featured spans full width */
.nsl-yt-featured {
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 18px 20px;
  text-decoration: none;
  background: linear-gradient(135deg, #fff5f5, #fff);
  border-bottom: 1.5px solid #fecdd3;
  transition: background .15s;
}
.nsl-yt-featured:hover { background: linear-gradient(135deg,#fee2e2,#fff5f5); }
.nsl-yt-feat-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.nsl-yt-play-big {
  width: 44px; height: 44px;
  background: #ff0000;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 800;
  flex-shrink: 0;
  padding-left: 3px;
}
.nsl-yt-feat-name { font-size: 15px; font-weight: 800; color: #cc0000; }
.nsl-yt-feat-handle { font-size: 12px; color: #94a3b8; margin-top: 1px; }
.nsl-yt-feat-badge {
  display: inline-block;
  margin-top: 5px;
  font-size: 10.5px;
  font-weight: 700;
  background: #dcfce7;
  color: #166534;
  padding: 2px 8px;
  border-radius: 20px;
  border: 1px solid #bbf7d0;
}
.nsl-yt-feat-desc {
  font-size: 12.5px;
  color: #64748b;
  line-height: 1.6;
  padding-top: 4px;
}
@media(max-width:600px){
  .nsl-yt-featured { flex-direction: column; gap: 10px; }
  .nsl-yt-feat-desc { display: none; }
  .nsl-yt-grid { grid-template-columns: 1fr; }
}

.nsl-yt-col {
  border-right: 1px solid #f1f5f9;
  padding: 14px 0;
}
.nsl-yt-col:last-child { border-right: none; }
.nsl-yt-col-label {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 10px;
  font-size: 11.5px;
  font-weight: 800;
  color: var(--ink);
  border-bottom: 1px solid #f1f5f9;
  margin-bottom: 4px;
}
.nsl-yt-tag {
  font-size: 9px;
  font-weight: 800;
  padding: 2px 7px;
  border-radius: 20px;
  text-transform: uppercase;
  letter-spacing: .4px;
}
.nsl-yt-tag.aiq { background: #e0f7fa; color: #0097a7; }
.nsl-yt-tag.kea { background: #e8f5e9; color: #2e7d32; }
.nsl-yt-tag.gen { font-size: 13px; }
.nsl-yt-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 9px 16px;
  text-decoration: none;
  transition: background .12s;
}
.nsl-yt-item:hover { background: #fff7f7; }
.nsl-yt-play-sm {
  width: 20px; height: 20px;
  background: #ff0000;
  color: #fff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  font-weight: 800;
  flex-shrink: 0;
  margin-top: 1px;
  padding-left: 2px;
}
.nsl-yt-item-text {
  font-size: 12px;
  color: var(--ink);
  line-height: 1.45;
  font-weight: 600;
}
.nsl-yt-item:hover .nsl-yt-item-text { color: #cc0000; }
.nsl-yt-note {
  padding: 12px 20px;
  background: #fffbeb;
  border-top: 1px solid #fde68a;
  font-size: 12px;
  color: #78350f;
  line-height: 1.6;
}
.nsl-disclaimer {
  background: #fff7ed;
  border: 1.5px solid #fed7aa;
  border-radius: 12px;
  padding: 13px 18px;
  font-size: 12px;
  color: #7c2d12;
  line-height: 1.7;
}

/* ══════════════════════════════════════════
   CONTACT SECTION — stands alone below links
═══════════════════════════════════════════ */
.ns-contact-section {
  background: var(--navy);
  padding: 52px 20px !important;
}
.ns-contact-inner {
  max-width: 520px;
  margin: 0 auto;
  text-align: center;
}
.ns-contact-tag {
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--teal2);
  margin-bottom: 10px;
}
.ns-contact-title {
  font-size: clamp(22px,4vw,30px);
  font-weight: 800;
  color: #fff;
  margin-bottom: 10px;
}
.ns-contact-desc {
  font-size: 14px;
  color: rgba(255,255,255,.55);
  line-height: 1.7;
  margin-bottom: 24px;
}
.ns-contact-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 32px;
  background: var(--teal2);
  color: var(--navy);
  font-size: 14px;
  font-weight: 800;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  font-family: 'DM Sans', sans-serif;
}
.ns-contact-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(11,198,212,.35);
}

/* ══ MOBILE-FIRST v2.34 ══ */
html,body{overflow-x:hidden;-webkit-text-size-adjust:100%;}
img,video,iframe{max-width:100%;}

/* iOS input zoom prevention */
@media(max-width:600px){
  input[type="number"],select{font-size:16px !important;min-height:48px;width:100%;}
  .pred-btn,[class*="cta-btn"],#ctaBtn{width:100%;min-height:52px;font-size:16px;border-radius:12px;}
}

/* Touch targets min 44px */
@media(max-width:600px){
  .ca,.pg-btn,.ct-sl-btn,.sl-del,.heart{min-height:44px;min-width:44px;}
}

/* Card layout on mobile */
@media(max-width:600px){
  .card-top{flex-direction:column;gap:10px;}
  .card-right{flex-direction:row;align-items:center;justify-content:space-between;width:100%;}
  .cstats{grid-template-columns:1fr 1fr !important;}
  .cacts{flex-wrap:wrap;gap:6px;}
  .cacts .ca{flex:1 1 calc(50% - 6px);text-align:center;justify-content:center;}
  .ctb-left{flex-wrap:wrap;gap:4px;}
}

/* Pager on mobile */
@media(max-width:480px){
  .pager{flex-direction:column;align-items:center;gap:8px;padding:12px;}
  .pg-btn{width:100%;max-width:200px;min-height:44px;font-size:14px;}
  .pg-info{font-size:13px;}
}

/* Shortlist panel full width on phone */
@media(max-width:480px){
  .sl-panel{width:100vw !important;}  /* right:-110% default preserved; .on sets right:0 */
  .sl-foot{flex-direction:column;gap:8px;}
  .sl-foot>button,.sl-wa,.sl-pdf{width:100% !important;}
}

/* Tab bar horizontal scroll (no wrap) */
@media(max-width:480px){
  .qt-row{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
  .qt-row::-webkit-scrollbar{display:none;}
  .tab-btn,.qt-btn{white-space:nowrap;flex-shrink:0;font-size:12px;padding:10px 14px;}
  .tb{font-size:12px;padding:12px 10px;gap:5px;}
  .tb-icon{font-size:14px;}
}

/* College explorer single column on mobile */
@media(max-width:540px){
  .col-grid{grid-template-columns:1fr !important;}
  .ct-bottom{flex-direction:column;gap:8px;align-items:flex-start;}
  .ct-sl-btn{width:100%;}
}

/* Section horizontal padding */
@media(max-width:600px){
  section,.section{padding-left:14px !important;padding-right:14px !important;}
}

/* ── Body top padding for fixed header (desktop) ── */
body { padding-top: 68px; }
@media(min-width:1181px) { body { padding-top: 114px; } }

/* Notch / safe-area support (iPhone X+) */
/* Fixed header on mobile — always accessible */
@media(max-width:1180px){
  .hdr{
    position:fixed !important;
    top:0; left:0; right:0;
    z-index:200;
    height:60px !important;
  }
  body{
    padding-top:60px; /* match .hdr height */
  }
  .tab-bar{ top:60px !important; }
}

@supports(padding:max(0px)){
  .hdr,header,[class*="hdr"]{
    padding-left:max(16px,env(safe-area-inset-left));
    padding-right:max(16px,env(safe-area-inset-right));
  }
  body{padding-bottom:env(safe-area-inset-bottom);}
}


/* ── Logo with tagline ── */
.logo {
  display:flex; align-items:center; gap:10px;
  text-decoration:none; flex-shrink:0; min-width:0;
  max-width:200px;
}
.logo-icon { flex-shrink:0; border-radius:10px; display:block !important; width:40px; height:40px; min-width:40px; }
.logo-text-wrap {
  display:flex; flex-direction:column;
  justify-content:center; line-height:1.15;
  min-width:0; overflow:hidden;
}
.logo-name {
  font-family:'DM Sans',sans-serif;
  font-size:16px; font-weight:900;
  color:#fff; letter-spacing:-0.3px;
  white-space:nowrap;
}
.logo-dot { color:#0bc6d4; }
.logo-tag {
  font-family:'DM Sans',sans-serif;
  font-size:8.5px; font-weight:500;
  color:rgba(255,255,255,0.50);
  letter-spacing:0.3px;
  white-space:nowrap; margin-top:1px;
}
/* Mobile: show tagline at smaller size */
@media(max-width:600px){
  .logo-tag { display:block; font-size:7px; letter-spacing:0.1px; color:rgba(255,255,255,0.50); }
  .logo-name { font-size:14px; }
  .logo { max-width:180px; }
}
@media(max-width:360px){
  .logo-icon { width:32px; height:32px; display:block !important; min-width:32px; }
  .logo-name { font-size:14px; }
}


/* ── Shortlist drag-to-reorder ── */
.sl-item { position:relative; cursor:default; transition:background .15s, box-shadow .15s; }
.sl-item.dragging { opacity:0.5; box-shadow:0 8px 24px rgba(11,34,57,.18); background:#f0f9ff; }
.sl-item.drag-over { border-top:2px solid #0bc6d4; }
.sl-drag-handle {
  display:flex; align-items:center; justify-content:center;
  width:28px; height:100%; cursor:grab; flex-shrink:0;
  color:#cbd5e1; font-size:15px; padding:0 4px;
  touch-action:none; user-select:none; -webkit-user-select:none;
}
.sl-drag-handle:active { cursor:grabbing; }
.sl-drag-handle:hover { color:#64748b; }
.sl-item-row {
  display:flex; align-items:center; gap:6px; padding:12px 10px 12px 4px;
}
/* Override existing sl-item padding since we use sl-item-row */
.sl-item { padding:0 !important; }

/* ══════════════════════════════════════════════════════
   DARK MODE
══════════════════════════════════════════════════════ */
body.dark-mode {
  --bg:         #0d1821;
  --white:      #162032;
  --surf2:      #1a2840;
  --surf3:      #1e2f4a;
  --t1:         #e8f0f8;
  --t2:         #b0c4d8;
  --t3:         #7a9ab8;
  --t4:         #4a6a8a;
  --bd:         #243650;
  --bd2:        #2e4468;
  --teal-bg:    #0a2530;
  --teal-bd:    #1a4a58;
  --green-bg:   #0a2818;
  --green-bd:   #1a4a30;
  --amber-bg:   #2a1e08;
  --amber-bd:   #4a3a10;
  --red-bg:     #2a1010;
  --red-bd:     #4a2020;
  --blue-bg:    #0a1830;
  --blue-bd:    #1a2a50;
  --purple-bg:  #1a1030;
  --purple-bd:  #3a2060;
  --orange-bg:  #2a1808;
  --orange-bd:  #4a3010;
  --surf-card:  #162032;
}
body.dark-mode .form-card,
body.dark-mode .hiw-card,
body.dark-mode .faq-item,
body.dark-mode .col-tile,
body.dark-mode .sl-item,
body.dark-mode .nsl-block,
body.dark-mode .sl-panel { background:var(--white); border-color:var(--bd); }
body.dark-mode .card { background:var(--white); }
body.dark-mode .card.chance-g { background:#0d2218; }
body.dark-mode .card.chance-a { background:#221e08; }
body.dark-mode .card.chance-r { background:#220e0e; }
body.dark-mode input[type=number], body.dark-mode select { background:var(--surf3); color:var(--t1); border-color:var(--bd); }
body.dark-mode .cm-sheet { background:#162032; }
body.dark-mode .cat-box { background:var(--surf3); }
body.dark-mode .hero { background:linear-gradient(155deg,#060f18 0%,#0b1e30 55%,#101f30 100%); }
body.dark-mode .tab-bar, body.dark-mode .ns-links { background:#0d1821; }
body.dark-mode .nsl-block-head { background:#1a2840; }
body.dark-mode .tl-grid, body.dark-mode .aiq-ranks-box, body.dark-mode .ex-card { background:var(--surf3); border-color:var(--bd); }
body.dark-mode .mob-menu { background:#0b1826; }
body.dark-mode .ex-seats-table th { background:var(--surf3); color:var(--t2); }
body.dark-mode .ex-seats-table td { color:var(--t2); }
body.dark-mode footer { background:#060f18; }
body.dark-mode .sl-head { background:#0b1826; }
body.dark-mode .sl-body { background:#0d1821; }
body.dark-mode .guide-standalone { background:transparent; }
body.dark-mode .cexp { background:var(--surf3); }
body.dark-mode .rt-table th { background:var(--surf3); }
body.dark-mode .fee-box { background:var(--amber-bg); border-color:var(--amber-bd); }
body.dark-mode .cs { background:var(--surf3); }
body.dark-mode .exp-search-wrap input { background:var(--surf2); color:var(--t1); border-color:var(--bd); }
body.dark-mode .ef { background:var(--surf2); border-color:var(--bd); color:var(--t3); }
body.dark-mode .ef.on { background:var(--navy2); border-color:var(--teal); color:#FFF; }
body.dark-mode .qt-btn { color:var(--t1); }
body.dark-mode .qt-btn.active, body.dark-mode .qt-btn:hover { background:var(--surf3); }
body.dark-mode .quota-toggle { background:var(--surf3); }
body.dark-mode .qt-title { color:var(--t1) !important; }
body.dark-mode .bg-body { background:var(--bg); }

/* Dark mode toggle button */
.dm-toggle {
  background: rgba(255,255,255,0.10); border: 1.5px solid rgba(255,255,255,0.18);
  border-radius: 20px; width: 40px; height: 22px; position: relative;
  cursor: pointer; transition: all .25s; flex-shrink: 0;
  display: flex; align-items: center; padding: 2px;
}
.dm-toggle.on { background: rgba(0,188,212,0.30); border-color: var(--teal2); }
.dm-knob {
  width: 16px; height: 16px; border-radius: 50%;
  background: rgba(255,255,255,0.6); transition: transform .25s, background .25s;
  display: flex; align-items: center; justify-content: center; font-size: 9px;
}
.dm-toggle.on .dm-knob { transform: translateX(18px); background: var(--teal2); }
.dm-label { font-size: 10px; font-weight: 700; color: rgba(255,255,255,0.5); margin-right:4px; display:none; }
@media(min-width:900px){ .dm-label { display:block; } }

/* ══════════════════════════════════════════════════════
   COUNTDOWN TIMER
══════════════════════════════════════════════════════ */
.hero-countdown {
  display:flex; align-items:center; justify-content:center; gap:10px;
  margin-top:20px; flex-wrap:wrap;
}
.cd-label {
  font-size:11px; font-weight:700; color:rgba(255,255,255,0.5);
  text-transform:uppercase; letter-spacing:.8px; width:100%; text-align:center;
  margin-bottom:2px;
}
.cd-blocks { display:flex; gap:8px; align-items:center; justify-content:center; }
.cd-block {
  background: rgba(255,255,255,0.08); border: 1px solid rgba(255,255,255,0.15);
  border-radius:10px; padding:10px 14px; text-align:center; min-width:60px;
}
.cd-num {
  font-family:'DM Mono',monospace; font-size:22px; font-weight:900; color:#FFF;
  line-height:1; display:block;
}
.cd-unit {
  font-size:9px; font-weight:700; color:rgba(255,255,255,0.45);
  text-transform:uppercase; letter-spacing:.6px; margin-top:3px; display:block;
}
.cd-sep { font-size:20px; color:rgba(255,255,255,0.3); font-weight:300; align-self:flex-start; padding-top:8px; }
.cd-done { font-size:13px; font-weight:700; color:var(--teal2); padding:10px; }

/* ══════════════════════════════════════════════════════
   CHANCE SCORE GAUGE
══════════════════════════════════════════════════════ */
.chance-gauge-wrap {
  display:flex; align-items:center; gap:10px; margin:10px 0 4px;
}
.chance-gauge {
  position:relative; width:52px; height:52px; flex-shrink:0;
}
.chance-gauge svg { transform:rotate(-90deg); }
.gauge-bg { fill:none; stroke:rgba(0,0,0,0.08); stroke-width:5; }
.gauge-fill { fill:none; stroke-width:5; stroke-linecap:round; transition:stroke-dashoffset .6s ease; }
.chance-pct {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:900; line-height:1;
}
.chance-text { flex:1; }
.chance-title { font-size:12px; font-weight:800; color:var(--t1); margin-bottom:2px; }
.chance-sub { font-size:11px; color:var(--t3); }

/* ══════════════════════════════════════════════════════
   COMPARISON MODE
══════════════════════════════════════════════════════ */
.cmp-toggle-bar {
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r-sm); padding:10px 16px;
  box-shadow:var(--sh-sm);
}
.cmp-toggle-label { font-size:13px; font-weight:700; color:var(--t1); flex:1; }
.cmp-toggle-sub { font-size:11px; color:var(--t3); display:block; font-weight:500; }
.cmp-btn-wrap { display:flex; align-items:center; gap:8px; }
.cmp-toggle-btn {
  background:var(--surf3); border:1.5px solid var(--bd);
  border-radius:22px; padding:7px 14px;
  font-family:'DM Sans',sans-serif; font-size:12px; font-weight:700; color:var(--t2);
  cursor:pointer; transition:all .18s; white-space:nowrap;
}
.cmp-toggle-btn.on { background:var(--navy); color:#FFF; border-color:var(--navy); }
.cmp-count-badge {
  background:var(--teal2); color:var(--navy); border-radius:10px;
  min-width:20px; height:20px; font-size:11px; font-weight:900;
  padding:0 5px; display:none; align-items:center; justify-content:center;
}
.cmp-count-badge.on { display:flex; }

/* Compare checkbox on card */
.cmp-cb-wrap {
  display:none; align-items:center; gap:6px;
  cursor:pointer; user-select:none;
}
.cmp-mode .cmp-cb-wrap { display:flex; }
.cmp-cb {
  width:18px; height:18px; border-radius:5px;
  border:2px solid var(--bd2); background:var(--white);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; transition:all .15s; flex-shrink:0;
}
.cmp-cb.checked { background:var(--teal); border-color:var(--teal); }
.cmp-cb-lbl { font-size:11.5px; font-weight:700; color:var(--t2); }

/* Floating compare button */
.cmp-float-btn {
  position:fixed; bottom:24px; right:20px; z-index:350;
  background:var(--navy); color:#FFF;
  border:2px solid var(--teal2); border-radius:28px;
  padding:12px 22px; font-family:'DM Sans',sans-serif;
  font-size:14px; font-weight:800; cursor:pointer;
  box-shadow:0 8px 32px rgba(0,0,0,.3);
  display:none; align-items:center; gap:8px;
  transition:all .25s; animation:pop .3s ease;
}
.cmp-float-btn.on { display:flex; }
.cmp-float-btn:hover { background:var(--teal); transform:translateY(-2px); }

/* Compare Modal */
.cmp-modal-ov {
  position:fixed; inset:0; z-index:500;
  background:rgba(6,15,24,.85); backdrop-filter:blur(8px);
  display:none; align-items:center; justify-content:center;
  padding:16px;
}
.cmp-modal-ov.on { display:flex; }
.cmp-modal {
  background:var(--white); border-radius:20px;
  width:100%; max-width:900px; max-height:90vh;
  overflow:hidden; display:flex; flex-direction:column;
  box-shadow:0 32px 80px rgba(0,0,0,.4);
}
.cmp-modal-head {
  background:var(--navy); color:#FFF;
  padding:18px 22px; display:flex; align-items:center;
  justify-content:space-between; flex-shrink:0;
}
.cmp-modal-head h3 { font-size:17px; font-weight:800; }
.cmp-modal-close {
  background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.2);
  border-radius:50%; width:34px; height:34px; color:#FFF;
  cursor:pointer; font-size:18px; display:flex; align-items:center; justify-content:center;
}
.cmp-body { flex:1; overflow-y:auto; overflow-x:hidden; padding:20px; }
.cmp-grid {
  display:grid; gap:14px;
}
.cmp-grid.cols-2 { grid-template-columns:repeat(2,1fr); }
.cmp-grid.cols-3 { grid-template-columns:repeat(3,1fr); }
@media(max-width:600px){
  .cmp-body { overflow-x:auto !important; -webkit-overflow-scrolling:touch; padding:12px 0 12px 12px; }
  .cmp-grid { min-width:max-content; padding-right:12px; }
  .cmp-grid.cols-2 { grid-template-columns:repeat(2,minmax(155px,1fr)); }
  .cmp-grid.cols-3 { grid-template-columns:repeat(3,minmax(140px,1fr)); }
}
.cmp-col { background:var(--surf2); border:1.5px solid var(--bd); border-radius:var(--r); overflow:hidden; }
.cmp-col-head {
  background:var(--navy); color:#FFF; padding:12px 15px;
  font-size:13px; font-weight:800; line-height:1.3;
}
.cmp-col-head .cmp-college-type {
  font-size:10px; color:rgba(255,255,255,0.55); font-weight:600;
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px;
}
.cmp-row {
  display:flex; flex-direction:column; gap:2px;
  padding:11px 15px; border-bottom:1px solid var(--bd);
}
.cmp-row:last-child { border-bottom:none; }
.cmp-row-label { font-size:10px; font-weight:800; color:var(--t4); text-transform:uppercase; letter-spacing:.5px; }
.cmp-row-val { font-size:14px; font-weight:800; color:var(--t1); }
.cmp-row-val.green { color:var(--green); }
.cmp-row-val.amber { color:var(--amber); }
.cmp-row-val.red { color:var(--red); }
.cmp-row-val.teal { color:var(--teal); }
.cmp-win { background:rgba(21,128,61,.08); }
.cmp-lose { background:rgba(185,28,28,.04); }

/* ══════════════════════════════════════════════════════
   RANK CARD SHARE (WhatsApp image card)
══════════════════════════════════════════════════════ */
.share-card-btn {
  display:inline-flex; align-items:center; gap:7px;
  background:rgba(0,188,212,0.13); border:1.5px solid rgba(0,188,212,.28);
  border-radius:22px; padding:8px 18px;
  font-family:'DM Sans',sans-serif; font-size:12.5px; font-weight:700; color:var(--teal2);
  cursor:pointer; transition:all .18s; white-space:nowrap; margin-top:14px;
}
.share-card-btn:hover { background:var(--teal); color:#FFF; border-color:var(--teal); }

/* Share card modal */
.share-modal-ov {
  position:fixed; inset:0; z-index:510;
  background:rgba(6,15,24,.85); backdrop-filter:blur(8px);
  display:none; align-items:center; justify-content:center; padding:16px;
}
.share-modal-ov.on { display:flex; }
.share-modal {
  background:var(--white); border-radius:20px; width:100%; max-width:480px;
  box-shadow:0 32px 80px rgba(0,0,0,.4); overflow:hidden;
}
.share-modal-head {
  background:var(--navy); color:#FFF; padding:16px 20px;
  display:flex; align-items:center; justify-content:space-between;
}
.share-modal-head h3 { font-size:16px; font-weight:800; }
.share-modal-close {
  background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.2);
  border-radius:50%; width:32px; height:32px; color:#FFF;
  cursor:pointer; font-size:16px; display:flex; align-items:center; justify-content:center;
}
.share-modal-body { padding:20px; }

/* The visual card that gets "shared" */
#rankShareCard {
  background:linear-gradient(135deg,#0B2239 0%,#143250 50%,#1C3E61 100%);
  border-radius:16px; padding:24px;
  font-family:'DM Sans',sans-serif; color:#FFF;
  position:relative; overflow:hidden; margin-bottom:16px;
  border:2px solid rgba(0,188,212,0.3);
}
#rankShareCard::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:200px; height:200px;
  background:radial-gradient(circle,rgba(0,188,212,0.15),transparent 70%);
  pointer-events:none;
}
.rsc-brand { font-size:10px; font-weight:800; color:var(--teal2); letter-spacing:1px; text-transform:uppercase; margin-bottom:14px; }
.rsc-rank { font-size:48px; font-weight:900; color:#FFF; line-height:1; margin-bottom:4px; font-family:'DM Mono',monospace; }
.rsc-rank-label { font-size:12px; color:rgba(255,255,255,0.5); margin-bottom:16px; }
.rsc-pills { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px; }
.rsc-pill { background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.18); border-radius:20px; padding:5px 12px; font-size:11px; font-weight:700; color:rgba(255,255,255,0.85); }
.rsc-colleges { background:rgba(0,0,0,0.2); border-radius:10px; padding:12px 14px; margin-bottom:14px; }
.rsc-colleges-label { font-size:9px; font-weight:800; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:.6px; margin-bottom:8px; }
.rsc-college-item { display:flex; align-items:center; gap:8px; padding:5px 0; border-bottom:1px solid rgba(255,255,255,0.06); font-size:12px; color:rgba(255,255,255,0.8); }
.rsc-college-item:last-child { border-bottom:none; }
.rsc-college-chance { font-size:10px; background:rgba(0,188,212,0.2); color:var(--teal2); padding:2px 8px; border-radius:10px; margin-left:auto; flex-shrink:0; font-weight:700; }
.rsc-footer { font-size:10px; color:rgba(255,255,255,0.35); text-align:center; }
.rsc-url { color:var(--teal2); font-weight:700; }

.share-actions { display:flex; gap:10px; flex-wrap:wrap; }
.share-wa-btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  background:#25D366; border:none; border-radius:10px; padding:13px;
  color:#FFF; font-family:'DM Sans',sans-serif; font-size:14px; font-weight:800;
  cursor:pointer; transition:background .18s; text-decoration:none;
}
.share-wa-btn:hover { background:#1EB854; }
.share-copy-btn {
  background:var(--surf2); border:1.5px solid var(--bd);
  border-radius:10px; padding:13px 18px;
  font-family:'DM Sans',sans-serif; font-size:13px; font-weight:700; color:var(--t2);
  cursor:pointer; transition:all .18s;
}
.share-copy-btn:hover { border-color:var(--teal); color:var(--teal); }

/* ── Add compare button to existing card action row ── */
.ca.compare { border-color:rgba(109,40,217,.3); color:var(--purple); }
.ca.compare:hover { border-color:var(--purple); background:var(--purple-bg); }
.ca.compare.selected { background:rgba(0,188,212,.15); border-color:var(--teal); color:var(--teal); font-weight:800; }
/* compare always active */


/* === ANNOUNCEMENT BANNER === */
#ns-banner{background:linear-gradient(90deg,#0d2844,#0f3460,#0d2844);border-bottom:1px solid rgba(0,188,212,.3);max-height:52px;overflow:hidden;transition:max-height .4s,opacity .3s;position:relative;z-index:199;}
#ns-banner.hidden{max-height:0;opacity:0;pointer-events:none;}
.ns-banner-inner{display:flex;align-items:center;gap:10px;padding:9px 18px;max-width:1200px;margin:0 auto;}
.ns-banner-dot{width:8px;height:8px;border-radius:50%;background:#0bc6d4;flex-shrink:0;animation:bdot 1.6s infinite;}
@keyframes bdot{0%,100%{box-shadow:0 0 0 0 rgba(0,188,212,.55)}50%{box-shadow:0 0 0 5px rgba(0,188,212,0)}}
.ns-banner-badge{background:rgba(0,188,212,.18);color:#0bc6d4;border:1px solid rgba(0,188,212,.3);border-radius:20px;padding:2px 9px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;white-space:nowrap;}
.ns-banner-text{flex:1;font-size:12px;color:rgba(255,255,255,.82);line-height:1.4;}
.ns-banner-text strong{color:#fff;}
.ns-banner-text a{color:#0bc6d4;font-weight:700;text-decoration:none;}
.ns-banner-text a:hover{text-decoration:underline;}
.ns-banner-close{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:50%;width:24px;height:24px;flex-shrink:0;color:rgba(255,255,255,.45);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .18s;}
.ns-banner-close:hover{background:rgba(255,255,255,.18);color:#fff;}
@media(max-width:600px){.ns-banner-badge{display:none;}.ns-banner-text{font-size:10.5px;}.ns-banner-inner{gap:6px;padding:8px 12px;}}

/* === BOOKMARK BAR === */
.bookmark-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--blue-bg);border:1.5px solid var(--blue-bd);border-radius:var(--r-sm);padding:10px 16px;margin-bottom:14px;}
.bm-ico{font-size:15px;flex-shrink:0;}
.bm-text{flex:1;font-size:12.5px;color:var(--t2);min-width:130px;}
.bm-text strong{color:var(--t1);}
.bm-btn{background:var(--white);border:1.5px solid var(--bd2);border-radius:22px;padding:7px 15px;font-family:'DM Sans',sans-serif;font-size:12px;font-weight:700;color:var(--t2);cursor:pointer;transition:all .18s;white-space:nowrap;}
.bm-btn:hover{border-color:var(--teal);color:var(--teal);}
.bm-btn.ok{border-color:var(--green);color:var(--green);}

/* === MODAL TABS === */
.cm-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:14px 0 10px;border-bottom:1px solid var(--bd);margin-bottom:14px;}
.cm-tab{background:var(--surf2);border:1.5px solid var(--bd);border-radius:22px;padding:7px 16px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:700;color:var(--t3);cursor:pointer;transition:all .18s;}
.cm-tab.on{background:var(--navy);color:#fff;border-color:var(--navy);}
.cm-tab:hover:not(.on){border-color:var(--teal);color:var(--teal);}

/* === SEAT MATRIX IN MODAL === */
.sm-legend{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.sm-leg-item{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--t3);}
.sm-leg-dot{width:10px;height:10px;border-radius:2px;}
.sm-leg-dot.r1{background:#0bc6d4;}
.sm-leg-dot.r2{background:#4ade80;}
.sm-leg-dot.rem{background:var(--surf3);border:1.5px solid var(--bd);}
.sm-fee-group{margin-bottom:18px;}
.sm-fee-label{font-size:11px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;padding-bottom:5px;border-bottom:1px solid var(--bd);margin-bottom:10px;}
.sm-cat-row{margin-bottom:10px;}
.sm-cat-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:5px;}
.sm-cat-name{font-size:12.5px;font-weight:800;color:var(--t1);flex:1;}
.sm-chips{display:flex;gap:6px;flex-wrap:wrap;}
.sm-chip{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:10px;}
.sm-chip.r1{background:rgba(11,198,212,.12);color:#0097a7;border:1px solid rgba(11,198,212,.25);}
.sm-chip.r2{background:rgba(74,222,128,.12);color:#15803d;border:1px solid rgba(74,222,128,.25);}
.sm-bar{height:18px;background:var(--surf3);border-radius:4px;overflow:hidden;display:flex;border:1px solid var(--bd);margin-bottom:3px;}
.sm-bar-r1{height:100%;background:linear-gradient(90deg,#0097a7,#0bc6d4);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:rgba(255,255,255,.95);white-space:nowrap;overflow:hidden;}
.sm-bar-r2{height:100%;background:linear-gradient(90deg,#15803d,#4ade80);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:800;color:rgba(255,255,255,.95);white-space:nowrap;overflow:hidden;}
.sm-bar-rem{height:100%;flex:1;background:var(--surf3);}
.sm-bar-note{font-size:10px;color:var(--t4);text-align:right;}
.sm-no-data{text-align:center;padding:20px;color:var(--t3);font-size:13px;}

/* === REVIEWS IN MODAL === */
.rv-avg{display:flex;align-items:center;gap:16px;background:var(--surf2);border:1.5px solid var(--bd);border-radius:var(--r-sm);padding:14px 16px;margin-bottom:16px;}
.rv-big-num{font-size:40px;font-weight:900;color:var(--t1);line-height:1;}
.rv-big-stars{display:flex;gap:2px;margin:4px 0;}
.rv-star{font-size:18px;}
.rv-star.on{color:#f59e0b;}
.rv-star.off{color:#dde3ea;}
.rv-big-n{font-size:11px;color:var(--t3);}
.rv-bars{flex:1;display:flex;flex-direction:column;gap:3px;}
.rv-bar-row{display:flex;align-items:center;gap:6px;}
.rv-bar-lbl{font-size:10px;color:var(--t4);width:10px;text-align:right;}
.rv-bar-track{flex:1;height:5px;background:var(--surf3);border-radius:3px;overflow:hidden;}
.rv-bar-fill{height:100%;background:#f59e0b;border-radius:3px;}
.rv-bar-cnt{font-size:10px;color:var(--t4);width:16px;}
.rv-write-label{font-size:13px;font-weight:800;color:var(--t1);margin-bottom:8px;}
.rv-pick-stars{display:flex;gap:6px;margin-bottom:10px;}
.rv-pick-star{font-size:28px;cursor:pointer;color:#dde3ea;transition:transform .12s,color .12s;line-height:1;user-select:none;-webkit-user-select:none;}
.rv-pick-star.on{color:#f59e0b;}
.rv-pick-star:hover{transform:scale(1.18);}
.rv-textarea{width:100%;border:1.5px solid var(--bd2);border-radius:8px;padding:9px 12px;font-family:'DM Sans',sans-serif;font-size:16px;color:var(--t1);background:var(--white);resize:vertical;min-height:68px;margin:0 0 10px;box-sizing:border-box;transition:border-color .18s;}
.rv-textarea:focus{outline:none;border-color:var(--teal);}
.rv-submit{background:var(--teal);color:var(--navy);border:none;border-radius:22px;padding:9px 22px;font-family:'DM Sans',sans-serif;font-size:12.5px;font-weight:800;cursor:pointer;transition:background .18s;margin-bottom:18px;}
.rv-submit:hover{background:var(--teal2);}
.rv-list{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.rv-item{background:var(--white);border:1px solid var(--bd);border-radius:8px;padding:10px 12px;}
.rv-item-top{display:flex;align-items:center;gap:7px;margin-bottom:4px;}
.rv-item-stars{display:flex;gap:1px;}
.rv-item-star{font-size:12px;}
.rv-item-star.on{color:#f59e0b;}
.rv-item-star.off{color:#dde3ea;}
.rv-item-date{font-size:10px;color:var(--t4);margin-left:auto;}
.rv-item-text{font-size:12.5px;color:var(--t2);line-height:1.6;}
.rv-empty{text-align:center;padding:20px;color:var(--t3);font-size:13px;}
.rv-list-title{font-size:11px;font-weight:800;color:var(--t3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}

/* Card rating row */
.card-rating-row{display:flex;align-items:center;gap:6px;border-top:1px solid var(--bd);margin-top:8px;padding-top:7px;flex-wrap:wrap;}
.crd-stars{display:flex;gap:1px;}
.crd-star{font-size:11px;}
.crd-star.on{color:#f59e0b;}
.crd-star.off{color:#dde3ea;}
.crd-avg{font-size:11.5px;font-weight:800;color:var(--t2);}
.crd-cnt{font-size:10.5px;color:var(--t4);}
.crd-rate-btn{margin-left:auto;font-size:11px;color:var(--teal);font-weight:700;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;}
.crd-rate-btn:hover{text-decoration:underline;}

/* Dark mode */
body.dark-mode .rv-item{background:var(--surf3);}
body.dark-mode .rv-avg{background:var(--surf3);}
body.dark-mode .rv-textarea{background:var(--surf2);color:var(--t1);}
body.dark-mode .cm-tab{background:var(--surf3);}
body.dark-mode #ns-banner{background:linear-gradient(90deg,#060c14,#0b1a2e);}
body.dark-mode .bookmark-bar{background:#0a1428;}

body.dark-mode .hdr { background:rgba(3,28,30,0.97) !important; border-bottom-color:rgba(255,255,255,0.08) !important; box-shadow:0 2px 24px rgba(0,0,0,0.4) !important; }
body.dark-mode .logo-name { color:#fff !important; }
body.dark-mode .logo-tag { color:rgba(255,255,255,0.45) !important; }
body.dark-mode .logo-sub { color:rgba(255,255,255,0.45) !important; }
body.dark-mode .nav-link { color:rgba(255,255,255,.72) !important; }
body.dark-mode .nav-link:hover { background:rgba(255,255,255,.10) !important; color:#fff !important; }
body.dark-mode .hdr-btn { background:rgba(255,255,255,0.10) !important; border-color:rgba(255,255,255,0.18) !important; color:#fff !important; }
body.dark-mode .hdr-btn-accent { background:#fbbf24 !important; border-color:#f59e0b !important; color:#3a1a05 !important; }
body.dark-mode .hdr-btn:hover { background:rgba(255,255,255,0.18) !important; }
body.dark-mode .ham-btn { background:rgba(255,255,255,.10) !important; border-color:rgba(255,255,255,.18) !important; }
body.dark-mode .ham-line { background:#fff !important; }
body.dark-mode .hdr-contact { color:var(--teal2) !important; background:rgba(0,188,212,.13) !important; border-color:rgba(0,188,212,.3) !important; }

/* ══════════════════════════════════════════════════════
   DARK MODE — USEFUL LINKS SECTION (nsl-*)
══════════════════════════════════════════════════════ */
/* PDF cards */
body.dark-mode .nsl-pdf-card { background:var(--surf2); border-color:var(--bd); }
body.dark-mode .nsl-pdf-card:hover { background:var(--surf3); }
body.dark-mode .nsl-pdf-name { color:var(--t1); }
body.dark-mode .nsl-pdf-meta { color:var(--t3); }
body.dark-mode .nsl-pdf-dl { background:var(--surf3); color:var(--t1); border:1px solid var(--bd); }
body.dark-mode .nsl-pdf-card:hover .nsl-pdf-dl { background:var(--teal); color:#fff; border-color:var(--teal); }
body.dark-mode .nsl-pdf-badge.aiq { background:rgba(0,188,212,.15); color:var(--teal2); border-color:rgba(0,188,212,.3); }
body.dark-mode .nsl-pdf-badge.kea { background:rgba(16,185,129,.15); color:#34d399; border-color:rgba(16,185,129,.3); }

/* Portal rows */
body.dark-mode .nsl-portal { border-color:var(--bd); background:transparent; }
body.dark-mode .nsl-portal:hover { background:var(--surf3); }
body.dark-mode .nsl-portal-name { color:var(--t1); }
body.dark-mode .nsl-portal-sub { color:var(--t3); }
body.dark-mode .nsl-portal-arr { color:var(--t4); }

/* YouTube grid */
body.dark-mode .nsl-yt-featured { background:linear-gradient(135deg,#1a0a0a,#160e0e); border-color:#3d1a1a; }
body.dark-mode .nsl-yt-featured:hover { background:linear-gradient(135deg,#221010,#1a0e0e); }
body.dark-mode .nsl-yt-feat-desc { color:var(--t3); }
body.dark-mode .nsl-yt-feat-badge { background:rgba(16,185,129,.15); color:#34d399; border-color:rgba(16,185,129,.3); }
body.dark-mode .nsl-yt-col { border-color:var(--bd); background:transparent; }
body.dark-mode .nsl-yt-col-label { color:var(--t2); border-color:var(--bd); }
body.dark-mode .nsl-yt-tag.aiq { background:rgba(0,188,212,.15); color:var(--teal2); }
body.dark-mode .nsl-yt-tag.kea { background:rgba(16,185,129,.15); color:#34d399; }
body.dark-mode .nsl-yt-item { border-color:var(--bd); }
body.dark-mode .nsl-yt-item:hover { background:rgba(204,0,0,.1); }
body.dark-mode .nsl-yt-item-text { color:var(--t2); }
body.dark-mode .nsl-yt-item:hover .nsl-yt-item-text { color:#ff6666; }
body.dark-mode .nsl-yt-note { background:#1a1000; border-color:#3d2a00; color:#fbbf24; }
body.dark-mode .nsl-disclaimer { background:#1a0e00; border-color:#3d2200; color:#fcd34d; }

/* Block title/sub in dark */
body.dark-mode .nsl-block-title { color:var(--t1); }
body.dark-mode .nsl-block-sub { color:var(--t3); }

/* ══════════════════════════════════════════════════════
   DARK MODE — COMPARE MODAL
══════════════════════════════════════════════════════ */
body.dark-mode .cmp-modal-ov { background:rgba(0,0,0,.7); }
body.dark-mode .cmp-modal { background:var(--white); }
body.dark-mode .cmp-modal-head { background:var(--navy2); border-color:var(--bd); }
body.dark-mode .cmp-toggle-bar { background:var(--surf2); border-color:var(--bd); }
body.dark-mode .cmp-cb-wrap { background:var(--surf2); border-color:var(--bd); }

/* ══════════════════════════════════════════════════════
   DARK MODE — CONTACT SECTION
══════════════════════════════════════════════════════ */
body.dark-mode .ns-contact-section { background:#060f18; }
body.dark-mode .ns-contact-btn { color:#fff; border-color:rgba(255,255,255,.25); }
body.dark-mode .ns-contact-btn:hover { background:rgba(255,255,255,.1); }

/* ══════════════════════════════════════════════════════
   CATEGORY GUIDE — SEO static section
══════════════════════════════════════════════════════ */
.cat-guide-intro { font-size:14px; color:var(--t2); line-height:1.8; margin-bottom:22px; }
.cat-guide-group { margin-bottom:28px; }
.cat-guide-group-title {
  font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.7px;
  color:var(--t3); border-bottom:1.5px solid var(--bd); padding-bottom:9px; margin-bottom:14px;
  display:flex; align-items:center; gap:8px;
}
.cat-guide-cards {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:12px;
}
@media(max-width:500px){ .cat-guide-cards { grid-template-columns:1fr 1fr; gap:9px; } }
@media(max-width:340px){ .cat-guide-cards { grid-template-columns:1fr; } }
.cgc {
  background:var(--white); border:1.5px solid var(--bd);
  border-radius:var(--r); padding:16px 14px;
  box-shadow:var(--sh-sm); transition:border-color .18s, box-shadow .18s;
}
.cgc:hover { border-color:var(--teal); box-shadow:var(--sh); }
.cgc-code {
  font-family:'DM Mono',monospace; font-size:20px; font-weight:700;
  color:var(--navy); margin-bottom:4px; line-height:1;
}
.cgc-full {
  font-size:10.5px; font-weight:800; color:var(--teal);
  text-transform:uppercase; letter-spacing:.5px; margin-bottom:8px;
}
.cgc-desc { font-size:12.5px; color:var(--t2); line-height:1.65; font-weight:500; }
.cgc-badges { display:flex; flex-wrap:wrap; gap:5px; margin-top:9px; }
.cgc-badge {
  display:inline-flex; font-size:10px; font-weight:700;
  padding:2px 8px; border-radius:10px;
}
.cgc-badge.govt  { background:var(--blue-bg); color:var(--blue); border:1px solid var(--blue-bd); }
.cgc-badge.rural { background:var(--green-bg); color:var(--green); border:1px solid var(--green-bd); }
.cgc-badge.hk    { background:var(--purple-bg); color:var(--purple); border:1px solid var(--purple-bd); }
.cgc-badge.open  { background:var(--orange-bg); color:var(--orange); border:1px solid var(--orange-bd); }
.cgc-badge.sc    { background:var(--red-bg); color:var(--red); border:1px solid var(--red-bd); }
.cat-suffix-box {
  background:var(--teal-bg); border:1.5px solid var(--teal-bd);
  border-radius:var(--r-sm); padding:16px 18px; margin-bottom:22px;
}
.cat-suffix-title {
  font-size:11px; font-weight:800; color:var(--teal);
  text-transform:uppercase; letter-spacing:.6px; margin-bottom:12px;
}
.cat-suffix-grid {
  display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:8px 24px;
}
.cat-suffix-item { display:flex; gap:9px; align-items:flex-start; }
.cat-suffix-key {
  font-family:'DM Mono',monospace; font-size:15px; font-weight:800;
  color:var(--navy); min-width:26px; flex-shrink:0; margin-top:1px;
}
.cat-suffix-val { font-size:12.5px; color:var(--t2); line-height:1.5; font-weight:500; }
.cat-cross-note {
  background:var(--blue-bg); border:1.5px solid var(--blue-bd);
  border-radius:var(--r-sm); padding:14px 16px; margin-top:6px;
  font-size:13px; color:var(--blue); line-height:1.7; font-weight:500;
}
.cat-cross-note strong { color:var(--t1); }
/* dark mode for category guide */
body.dark-mode .cgc { background:var(--white); border-color:var(--bd); }
body.dark-mode .cgc:hover { border-color:var(--teal); }
body.dark-mode .cat-suffix-box { background:var(--teal-bg); border-color:var(--teal-bd); }
body.dark-mode .cat-cross-note { background:var(--blue-bg); border-color:var(--blue-bd); }

/* ── Hero CTA buttons (Rank / Seat / Explorer) ── */
.hero-cta-row {
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap;
  margin:24px auto 0; max-width:720px;
}
.hero-cta-btn {
  display:flex; align-items:center; gap:12px;
  background:rgba(255,255,255,.10); border:1.5px solid rgba(255,255,255,.22);
  border-radius:16px; padding:14px 18px; cursor:pointer;
  transition:all .2s; text-align:left;
  flex:1 1 200px; min-width:200px; max-width:100%;
  font-family:'DM Sans',sans-serif;
}
.hero-cta-btn:hover { background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.40); transform:translateY(-2px); }
.hero-cta-primary { border-color:rgba(0,188,212,.50); background:rgba(0,188,212,.12); }
.hero-cta-primary:hover { background:rgba(0,188,212,.22); border-color:rgba(0,188,212,.70); }
.hero-cta-icon { font-size:22px; flex-shrink:0; }
.hero-cta-text { flex:1; }
.hero-cta-label { font-size:15px; font-weight:800; color:#FFF; line-height:1.2; }
.hero-cta-sub { font-size:11px; color:rgba(255,255,255,.60); font-weight:500; margin-top:2px; }
.hero-cta-arr { font-size:16px; color:rgba(255,255,255,.50); flex-shrink:0; }
.hero-cta-primary .hero-cta-arr { color:var(--teal2); }
@media(max-width:640px){
  .hero-cta-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; max-width:420px; }
  .hero-cta-btn {
    flex:0 0 auto; min-width:0; width:auto;
    flex-direction:column; align-items:flex-start; gap:8px;
    padding:14px 14px;
  }
  .hero-cta-arr { display:none; }
  .hero-cta-label { font-size:13.5px; }
  .hero-cta-sub { font-size:10.5px; }
}

