/* ══════════════════════════════════════════════════════════════
   IMS CAT — "AHMEDABAD NE LAGAI APNI 1ST HALF CENTURY" campaign skin
   Drop-in theme layer. Loads AFTER the inline <style> block.
   Touches only presentation: no markup, no form logic, no pixel,
   no GAS integration.

   PALETTE (lifted from the poster)
   --st-blue-mid   #1B62D6   stadium blue, mid field
   --st-blue-deep  #0A3A8F   stadium blue, edges
   --st-navy       #0C2A6B   scoreboard body
   --st-yellow     #FFC81B   LED digits, primary CTA
   --st-yellow-d   #F0A800   CTA pressed
   --st-red        #E1252B   "TOP 6 IIMs · via CAT 2025" pill
   --st-white      #FFFFFF   slab headline plates

   TYPE
   Display  Anton, skewed −6deg  → poster's condensed black italic
   Scoreboard  Orbitron 900      → seven-segment LED numerals
   Body     DM Sans (unchanged)
══════════════════════════════════════════════════════════════ */

:root {
  --st-blue-mid:  #1B62D6;
  --st-blue-deep: #0A3A8F;
  --st-navy:      #0C2A6B;
  --st-yellow:    #FFC81B;
  --st-yellow-d:  #F0A800;
  --st-red:       #E1252B;

  /* remap the existing tokens so untouched rules inherit the campaign */
  --blue:       #1B62D6;
  --blue-d:     #0A3A8F;
  --blue-vivid: #1B62D6;
  --blue-fr:    #2A7CE0;
  --blue-deep:  #0A3A8F;
  --blue-ink:   #0C2A6B;
  --yellow:     #FFC81B;
  --navy:       #0C2A6B;
  --blue-glow:  rgba(255,200,27,.28);
  --r:          10px;
  --r-lg:       10px;
}

/* ── STADIUM FIELD ─────────────────────────────────────────── */
body {
  background:
    radial-gradient(ellipse 120% 80% at 50% 0%, #2F86EA 0%, var(--st-blue-mid) 42%, var(--st-blue-deep) 100%);
  background-attachment: fixed;
}

/* Spotlight beams raking down from the rig, exactly as on the poster */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% -12%, rgba(255,255,255,.30), transparent 52%),
    linear-gradient(102deg, transparent 22%, rgba(255,255,255,.09) 25%, transparent 28%),
    linear-gradient(96deg,  transparent 40%, rgba(255,255,255,.07) 43%, transparent 46%),
    linear-gradient(-100deg, transparent 24%, rgba(255,255,255,.09) 27%, transparent 30%),
    linear-gradient(-94deg,  transparent 42%, rgba(255,255,255,.06) 45%, transparent 48%);
}
body > * { position: relative; z-index: 1; }

/* Sections drop their own paint and sit on the field */
#hero, #stats, #doubt, #results, #top-converts, #student-converts,
#facilities, #toppers, #blacki-converts, #usps, #faculty, #faq,
#form-sec, #footer-cta, #program {
  background: transparent;
}
#faculty, #usps { background: rgba(10,58,143,.30); }
#form-sec, #facilities { background: rgba(12,42,107,.34); }

/* ── DISPLAY TYPE: Anton, slanted like the poster lockup ───── */
.hero-h1, .sec-title, .doubt-h2, .blacki-h2, .fc-h, .facility-title,
.form-left-h, .toppers-h2, .prog-title, .confirm-h, .success-h {
  font-family: 'Anton', 'Bebas Neue', sans-serif;
  font-weight: 400;
  letter-spacing: .5px;
  transform: skewX(-6deg);
  transform-origin: left bottom;
  color: #fff;
  text-shadow: 0 6px 0 rgba(6,26,66,.35);
}
.hero-h1 .blue, .sec-title .blue, .doubt-h2 .blue, .blacki-h2 em,
.fc-h .blue, .facility-title .blue, .form-left-h .blue, .toppers-h2 span,
.prog-title .blue, .confirm-h .blue { color: var(--st-yellow) !important; }

.iim-section-label h3, .media-title, .pop-h, .sf-pane-title,
.wc-card-title, .facility-kicker {
  font-family: 'Anton', 'Bebas Neue', sans-serif;
  letter-spacing: .6px;
}
.sf-pane-title, .pop-h { color: var(--st-navy); }
.sf-pane-title span, .pop-h span { color: var(--st-blue-mid); }

/* Slab eyebrow — white plate, black slanted text */
.sec-eye, .blacki-kicker, .toppers-eye {
  display: inline-block;
  background: #fff;
  color: #0B1B3A;
  padding: 7px 14px 6px;
  transform: skewX(-8deg);
  font-weight: 800;
  letter-spacing: 2.5px;
  box-shadow: 0 8px 22px rgba(6,26,66,.3);
}
.sec-sub, .blacki-sub, .toppers-sub, .facility-sub, .prog-sub, .form-left-p {
  color: rgba(255,255,255,.78);
}

/* ── SIGNATURE: the LED scoreboard plate ───────────────────── */
.rh-card, .rh-card.dark {
  background: var(--st-navy);
  border: 2px solid rgba(255,200,27,.55);
  border-left: 2px solid rgba(255,200,27,.55);
  border-radius: 12px;
  box-shadow: 0 18px 46px rgba(5,22,60,.45), inset 0 0 0 1px rgba(255,255,255,.05);
}
.rh-card::before { display: none; }
.rh-card:hover { transform: translateY(-6px); box-shadow: 0 26px 60px rgba(255,200,27,.22); }
.rh-rank, .rh-card.dark .rh-rank, .stat-num, .blacki-num {
  font-family: 'Orbitron', 'Bebas Neue', sans-serif;
  font-weight: 900;
  color: var(--st-yellow);
  text-shadow: 0 0 26px rgba(255,200,27,.45);
}
.rh-desc, .rh-card.dark .rh-desc { color: #fff; font-weight: 700; }
.rh-year, .rh-card.dark .rh-year { color: var(--st-yellow); }

/* Count badge on each IIM row = mini scoreboard */
.iim-section-label {
  background: var(--st-navy);
  border: 2px solid rgba(255,200,27,.5);
  box-shadow: 0 18px 48px rgba(5,22,60,.42);
}
.iim-logo-badge {
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  font-size: clamp(34px, 6vw, 58px);
  background: #061B45;
  color: var(--st-yellow);
  border: 2px solid rgba(255,200,27,.5);
  text-shadow: 0 0 22px rgba(255,200,27,.5);
  padding: 12px 16px;
}
.iim-section-label span { color: var(--st-yellow); }

/* Red match-fact pill, straight off the poster */
.hero-tag, .pop-tag, .fac-badge, .topper-badge, .facility-pill {
  background: var(--st-red);
  border: none;
  color: #fff;
  border-radius: 6px;
  font-weight: 800;
  letter-spacing: 1.2px;
}
.hero-tag .pulse { background: #fff; }
.facility-pill.small { background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.22); }

/* ── HERO ──────────────────────────────────────────────────── */
#hero { background: transparent; }
.hero-h1 { transform: skewX(-6deg) translateX(4px); }
.hero-sub { color: rgba(255,255,255,.8); }
.hero-sub strong { color: var(--st-yellow); }

/* ── BUTTONS ───────────────────────────────────────────────── */
.btn-p, .nav-cta, .sf-btn-submit, .sf-btn-next, .wc-btn {
  background: var(--st-yellow);
  color: #0B1B3A;
  font-weight: 800;
  border-radius: 8px;
}
.btn-p:hover, .nav-cta:hover, .sf-btn-submit:hover, .sf-btn-next:hover, .wc-btn:hover {
  background: var(--st-yellow-d);
  color: #0B1B3A;
  box-shadow: 0 14px 38px rgba(255,200,27,.4);
}
.nav-cta { animation: none; }
#hero .btn-s.hero-btn-results {
  background: transparent; color: #fff; border: 2px solid #fff;
}
#hero .btn-s.hero-btn-results:hover { background: #fff; color: var(--st-navy); }

/* ── TICKER: the boundary board ────────────────────────────── */
.ticker-wrap {
  background: var(--st-yellow);
  border-top: 3px solid #061B45;
  border-bottom: 3px solid #061B45;
}
.ticker-item { color: #0B1B3A; font-weight: 700; }
.ticker-item strong {
  font-family: 'Orbitron', sans-serif;
  font-weight: 900;
  color: #0B1B3A;
  font-size: 17px;
}
.t-div { color: rgba(11,27,58,.4); }

/* ── NAV ───────────────────────────────────────────────────── */
nav.scrolled { background: var(--st-navy); box-shadow: 0 2px 24px rgba(5,22,60,.5); }
.nav-links a { color: rgba(255,255,255,.85); }
.nav-links a::after { background: var(--st-yellow); }

/* ── CARDS: white slabs, navy nameplate, yellow rule ───────── */
.wc-card, .fac-card, .topper-card, .usp-card, .blacki-item, .s-card, .stat-card {
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
}
.wc-card, .fac-card, .topper-card, .usp-card, .blacki-item {
  background: #fff;
  box-shadow: 0 18px 46px rgba(5,22,60,.34);
}
.wc-card-namebox { background: var(--st-navy); border-bottom: 3px solid var(--st-yellow); }
.wc-card-excerpt { color: var(--st-blue-mid); }
.wc-img-wrap { background: linear-gradient(135deg, var(--st-blue-mid), var(--st-navy)); }
.topper-card { background: #fff; border: 2px solid rgba(255,200,27,.45); }
.topper-card:hover { border-color: var(--st-yellow); box-shadow: 0 26px 64px rgba(255,200,27,.25); }
.topper-pct { color: var(--st-blue-mid); font-family: 'Orbitron', sans-serif; font-weight: 900; font-size: 17px; }
.topper-play-btn { color: var(--st-blue-mid); }
.blacki-num-box {
  background: #061B45;
  border: 2px solid rgba(255,200,27,.5);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(5,22,60,.4);
}
.blacki-item::before { background: var(--st-yellow); }
.usp-fill { background: var(--st-yellow); }
.usp-card:hover .usp-icon, .usp-icon { background: rgba(27,98,214,.1); }
.stat-card { background: #fff; }

/* ── PROGRAM ───────────────────────────────────────────────── */
.prog-card {
  background: var(--st-navy);
  border: 2px solid rgba(255,200,27,.42);
  box-shadow: 0 18px 46px rgba(5,22,60,.4);
}
.prog-card:hover { background: #0E3179; border-color: var(--st-yellow); }
.prog-num { font-family: 'Orbitron', sans-serif; font-weight: 900; color: var(--st-yellow); font-size: 40px; }
.prog-h3 { color: #fff; }
.prog-list li { color: rgba(255,255,255,.82); border-bottom: 1px solid rgba(255,255,255,.12); }
.prog-list li::before { content: '▸'; color: var(--st-yellow); }
#program .sec-eye { color: #0B1B3A !important; }
.prog-title, .prog-title .blue { color: #fff; }
.prog-title .blue { color: var(--st-yellow) !important; }

/* ── FORM CARD ─────────────────────────────────────────────── */
.form-box { border: 2px solid rgba(255,200,27,.5); box-shadow: 0 26px 70px rgba(5,22,60,.42); }
.trust-list li { color: rgba(255,255,255,.86); }
.t-chk { background: var(--st-yellow); color: #0B1B3A; }
.form-note { color: rgba(255,255,255,.6); }
.sf-dot.active { background: var(--st-yellow); }
.sf-step-label { color: var(--st-blue-mid); }
.fg input:focus, .fg select:focus, .fg textarea:focus,
#popupForm .fg input:focus, .pop-box .fg input:focus {
  border-color: var(--st-blue-mid);
  box-shadow: 0 0 0 4px rgba(27,98,214,.12);
}
.success-icon-ring { background: rgba(255,200,27,.16); border-color: var(--st-yellow); color: var(--st-yellow-d); }
.success-h { color: var(--st-navy); text-shadow: none; }

/* ── FAQ: navy panel, yellow toggles ───────────────────────── */
#faq { background: rgba(12,42,107,.4); }
.faq-item { border-bottom: 1px solid rgba(255,255,255,.14); }
.faq-q { color: #fff; }
.faq-q:hover { color: var(--st-yellow); }
.faq-ico { background: rgba(255,255,255,.12); color: var(--st-yellow); }
.faq-item.open .faq-ico { background: var(--st-yellow); color: #0B1B3A; }
.faq-a { color: rgba(255,255,255,.75); }

/* ── FACILITIES ────────────────────────────────────────────── */
.facility-kicker { background: var(--st-yellow); color: #0B1B3A; border-left: 4px solid #0B1B3A; }
.media-item { border: 2px solid rgba(255,200,27,.35); }

/* ── FOOTER ────────────────────────────────────────────────── */
#footer-cta { background: rgba(6,27,69,.5); }
.fc-p { color: rgba(255,255,255,.7); }
footer.branch-footer { background: #061B45; color: #fff; }
footer.branch-footer .branch-title { color: var(--st-yellow); }
footer.branch-footer .branch-address { color: rgba(255,255,255,.66); }
footer.branch-footer .footer-link { color: #fff; }
footer.branch-footer .footer-link:hover { color: var(--st-yellow); }
footer.branch-footer .footer-copy { background: var(--st-yellow); color: #0B1B3A; font-weight: 700; }

/* ── STICKY CTA + PROGRESS ─────────────────────────────────── */
.sticky-bar { background: var(--st-navy); border-top: 3px solid var(--st-yellow); }
.climb-bar { background: linear-gradient(0deg, var(--st-yellow-d), var(--st-yellow)); }
.pop-overlay { background: rgba(6,27,69,.93); }

/* ── QUALITY FLOOR ─────────────────────────────────────────── */
a:focus-visible, button:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--st-yellow);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  body::before { display: none; }
}
@media (max-width: 768px) {
  .sec-eye, .blacki-kicker, .toppers-eye { letter-spacing: 1.6px; font-size: 10px; }
  .iim-logo-badge { font-size: 30px; padding: 10px 12px; }
}
