

:root{
  /* === ROYAL PALETTE (aligned to CATKing Results page + Brand Manual) === */
  /* Primary trio: ink black, brand orange, royal blue. White ground. */
  --orange:#FEA82F;       /* CATKing orange , primary accent */
  --orange-d:#E8951F;     /* hover / pressed */
  --orange-l:#FFF4E0;     /* warm cream tint */
  --blue:#FEA82F;         /* royal blue , remapped to CATKing yellow/orange theme */
  --blue-d:#E8951F;       /* darker orange — hover state */
  --blue-l:#FFF4E0;       /* warm cream wash */
  --navy:#1a1a2e;         /* deep navy , section ground */
  --navy-d:#11111f;
  --navy-l:#242438;
  --ink:#0f0f1c;          /* richer black , hero/CTA bands */
  --dark:#0f0f1c;
  --text:#1a1a2e;
  --muted:#6b6b7d;
  --soft:#6b6b7d;
  --border:#e6e6ec;
  --line:#e6e6ec;
  --bg:#f5f7fa;           /* cool off-white */
  --bg-warm:#fafaf7;      /* warm off-white */
  --bg-d:#0f0f1c;
  /* Legacy aliases (so existing class references don't break) */
  --gold:#FEA82F;
  --gold-d:#E8951F;
  --gold-l:#FFF4E0;
  --green:#1F8A5B;
  --green-d:#0F5E3A;
  --green-l:#E4F1EA;
  /* Display serif for stats, countdowns, big numbers */
  --serif:Georgia,"Times New Roman",serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#fff;color:var(--text);line-height:1.65;font-size:18px;-webkit-font-smoothing:antialiased;letter-spacing:-.005em;}
a{color:inherit;text-decoration:none;cursor:pointer;}
img{max-width:100%;display:block;}

/* ============ HERO with multiple looping videos ============ */
.hero{position:relative;min-height:88vh;background:var(--ink);color:#fff;overflow:hidden;display:flex;align-items:center;}
/* Multi-layer video grid placeholder (4 video tiles tiled in background) */
.hero-bg{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;}
.hero-bg .vt{position:relative;overflow:hidden;background:#1a1a1a;}
.hero-bg .vt:nth-child(1){background:var(--navy);}
.hero-bg .vt:nth-child(2){background:#1a1a1a;}
.hero-bg .vt:nth-child(3){background:#1a1a1a;}
.hero-bg .vt:nth-child(4){background:var(--navy-d);}
.hero-bg .vt::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 14px,rgba(255,255,255,.06) 14px 28px);}
.hero-bg .vt::after{content:"";position:absolute;width:140%;height:140%;left:-20%;top:-20%;background:radial-gradient(circle at 50% 50%,rgba(254,168,47,.18) 0%,transparent 50%);animation:bgmove 14s ease-in-out infinite alternate;}
.hero-bg .vt:nth-child(2)::after{background:radial-gradient(circle at 50% 50%,rgba(245,166,35,.15) 0%,transparent 50%);animation-delay:-3s;animation-duration:18s;}
.hero-bg .vt:nth-child(3)::after{background:radial-gradient(circle at 50% 50%,rgba(59,183,126,.15) 0%,transparent 50%);animation-delay:-6s;animation-duration:16s;}
.hero-bg .vt:nth-child(4)::after{background:radial-gradient(circle at 50% 50%,rgba(254,168,47,.18) 0%,transparent 50%);animation-delay:-9s;animation-duration:20s;}
@keyframes bgmove{0%{transform:scale(1) translateX(0);}100%{transform:scale(1.15) translateX(-3%);}}
.hero-overlay{position:absolute;inset:0;background:rgba(10,10,10,.55);}
.hero .vid-tag{position:absolute;top:18px;left:22px;background:rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.15);padding:6px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:7px;z-index:5;}
.hero .vid-tag .dot{width:8px;height:8px;background:var(--gold);border-radius:50%;animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.hero .mute-btn{position:absolute;top:18px;right:22px;width:38px;height:38px;border-radius:50%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;font-size:15px;cursor:pointer;z-index:5;border:1px solid rgba(255,255,255,.2);color:#fff;}
.hero-inner{max-width:1200px;margin:0 auto;padding:60px 22px;position:relative;z-index:3;width:100%;}
.hero .eyebrow{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);padding:7px 16px;border-radius:30px;font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:24px;color:#fff;}
.hero .eyebrow .pip{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.hero h1{font-size:88px;font-weight:900;letter-spacing:-3px;line-height:.92;margin-bottom:18px;color:#fff;}
.hero h1 .lite{font-weight:300;font-size:62px;letter-spacing:-2px;display:block;margin-bottom:6px;color:rgba(255,255,255,.85);}
.hero h1 .yellow{color:var(--gold);}
.hero .sub{font-size:19px;opacity:.88;max-width:680px;margin-bottom:32px;font-weight:400;line-height:1.55;}
.hero .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:36px;}
.hero .btn{padding:15px 30px;border-radius:6px;font-size:13px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .15s;border:0;}
.hero .btn:hover{transform:translateY(-2px);}
.hero .btn.p{background:var(--gold);color:#1a1a1a;}
.hero .btn.p:hover{background:var(--gold-d);}
.hero .btn.s{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);}
.hero .btn.s:hover{background:rgba(255,255,255,.1);}
.hero .btn.s .play{width:24px;height:24px;border-radius:50%;background:#fff;color:var(--navy);display:inline-flex;align-items:center;justify-content:center;font-size:10px;}
.hero-stats{display:flex;gap:36px;border-top:1px solid rgba(255,255,255,.12);padding-top:30px;flex-wrap:wrap;}
.hero-stats .hs{}
.hero-stats .hs .n{font-size:30px;font-weight:900;color:var(--gold);font-family:var(--serif);}
.hero-stats .hs .l{font-size:11px;text-transform:uppercase;letter-spacing:1px;opacity:.7;margin-top:4px;}

/* Marquee announcement */
.marquee{background:var(--blue);color:#fff;padding:10px 0;overflow:hidden;border-bottom:1px solid var(--blue-d);}
.marquee-track{display:flex;gap:60px;white-space:nowrap;animation:scrollx 35s linear infinite;}
.marquee-track span{font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:inline-flex;align-items:center;gap:10px;}
.marquee-track span::before{content:"●";color:var(--gold);}
@keyframes scrollx{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* Sticky sub nav */
.sub-nav{position:sticky;top:54px;background:#fff;border-bottom:1px solid var(--border);z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.04);max-width:100vw;overflow-x:hidden;}
.sub-nav-inner{max-width:1200px;margin:0 auto;padding:0 22px;display:flex;align-items:center;overflow-x:auto;}
.sub-nav a{padding:18px 14px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--muted);border-bottom:3px solid transparent;white-space:nowrap;transition:.2s;}
.sub-nav a:hover,.sub-nav a.act{color:var(--blue-d);border-bottom-color:var(--blue);}
.sub-nav .cta{margin-left:auto;background:var(--green);color:#fff;padding:8px 18px;border-radius:6px;font-size:11px;font-weight:800;text-transform:uppercase;border-bottom:0;}
.sub-nav .cta:hover{background:var(--green-d);}

/* SECTION SCAFFOLD */
.sec{max-width:1200px;margin:0 auto;padding:80px 22px;}
.sec.dark{background:var(--ink);color:#fff;max-width:none;padding-left:0;padding-right:0;}
.sec.dark .sec-inner{max-width:1200px;margin:0 auto;padding:0 22px;}
.sec.bg{background:var(--bg);max-width:none;padding-left:0;padding-right:0;}
.sec.bg .sec-inner{max-width:1200px;margin:0 auto;padding:0 22px;}
.sec h2{font-size:46px;font-weight:900;letter-spacing:-1.8px;margin-bottom:10px;line-height:1.05;color:var(--dark);}
.sec.dark h2{color:#fff;}
.sec h2 .accent{color:var(--blue);}
.sec.dark h2 .accent{color:var(--gold);}
.sec .sub-h{font-size:15px;color:var(--muted);max-width:680px;margin-bottom:42px;}
.sec.dark .sub-h{color:rgba(255,255,255,.7);}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:32px;gap:30px;flex-wrap:wrap;}
.sec-head .right-link{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--blue-d);padding:10px 0;border-bottom:2px solid var(--blue);}

/* Reveal animation hook */
.reveal{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

/* ====== PROGRAMME BREATHER (intro tagline strip) ====== */
.prog-breather{padding:60px 22px;background:var(--navy);color:#fff;text-align:center;}
.prog-breather h3,.prog-breather .prog-breather-text{font-size:32px;font-weight:300;letter-spacing:-.8px;line-height:1.3;max-width:980px;margin:0 auto;}
.prog-breather h3 b,.prog-breather .prog-breather-text b{font-weight:800;color:var(--gold);}

/* ====== CRAFTED SECTION (cohort fit) ====== */
.crafted{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.craft-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:28px 24px;position:relative;overflow:hidden;transition:.3s;}
.craft-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.08);}
.craft-card .ico{width:50px;height:50px;background:var(--blue-l);color:var(--blue-d);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:18px;}
.craft-card:nth-child(2) .ico{background:var(--green-l);color:var(--green-d);}
.craft-card:nth-child(3) .ico{background:var(--gold-l);color:var(--gold-d);}
.craft-card h4{font-size:18px;font-weight:800;margin-bottom:10px;color:var(--dark);}
.craft-card p{font-size:13px;color:var(--muted);line-height:1.65;}
.craft-card .num{position:absolute;top:14px;right:18px;font-size:48px;font-weight:900;color:var(--bg);line-height:1;}

/* ====== BLUEPRINT, pillars (4-up grid with image+text) ====== */
.blueprint{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.bp-card{background:var(--navy);color:#fff;border-radius:14px;padding:26px 22px;position:relative;overflow:hidden;transition:.3s;cursor:pointer;}
.bp-card:hover{transform:translateY(-6px);background:var(--blue-d);}
.bp-card::before{content:"";position:absolute;top:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:rgba(245,166,35,.15);}
.bp-card .num{font-size:42px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;margin-bottom:14px;position:relative;z-index:2;}
.bp-card h4{font-size:17px;font-weight:800;margin-bottom:10px;position:relative;z-index:2;}
.bp-card p{font-size:12px;opacity:.8;line-height:1.6;position:relative;z-index:2;}

/* ====== SEMESTER CURRICULUM, phase tabs + content ====== */
.curr{background:#fff;border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.curr-tabs{display:flex;background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;}
.curr-tabs .tab{padding:18px 24px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap;transition:.2s;}
.curr-tabs .tab.act{color:var(--blue-d);background:#fff;border-bottom-color:var(--blue);}
.curr-body{padding:32px;display:none;}
.curr-body.act{display:block;}
.curr-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;}
.curr-mod{background:var(--bg);border-left:4px solid var(--blue);border-radius:8px;padding:18px 20px;}
.curr-mod h5{font-size:14px;font-weight:800;color:var(--dark);margin-bottom:6px;}
.curr-mod p{font-size:12px;color:var(--muted);}
.curr-mod .meta{font-size:10px;font-weight:700;color:var(--blue-d);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;}
.curr-mod.intensive-only{border-left-color:var(--orange);background:linear-gradient(135deg,#FFF4E0 0%,#FFE9C7 100%);}
.curr-mod.intensive-only h5{color:var(--ink);}
.curr-mod.intensive-only .meta-exclusive{color:var(--orange-d);font-weight:800;}
.omet-intro{font-size:13.5px;color:var(--muted);margin:-4px 0 18px;line-height:1.5;}
.omet-intro b{color:var(--ink);font-weight:800;}

/* ====== FACULTY, large showcase cards (horizontal scroll on mobile) ====== */
.faculty-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fac{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:.3s;}
.fac:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.1);}
.fac .ph{aspect-ratio:1;background:var(--navy);position:relative;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;color:#fff;font-weight:900;font-size:48px;}
.fac .ph::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 14px,rgba(255,255,255,.07) 14px 28px);}
.fac:nth-child(2) .ph{background:var(--blue);}
.fac:nth-child(3) .ph{background:var(--green);}
.fac:nth-child(4) .ph{background:var(--gold);color:#1a1a1a;}
.fac .ph .ini{position:relative;z-index:2;padding-bottom:30px;}
.fac .info{padding:18px 20px;}
.fac h5{font-size:15px;font-weight:800;color:var(--dark);margin-bottom:3px;}
.fac .role{font-size:11px;color:var(--blue-d);font-weight:700;margin-bottom:10px;text-transform:uppercase;letter-spacing:.3px;}
.fac .creds{display:flex;flex-wrap:wrap;gap:5px;}
.fac .creds span{background:var(--blue-l);color:var(--blue-d);padding:3px 8px;border-radius:10px;font-size:9px;font-weight:700;}

/* ====== METRICS GRAPH ====== */
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center;}
.metric{padding:30px 20px;border-right:1px solid rgba(255,255,255,.1);}
.metric:last-child{border-right:0;}
.metric .n{font-size:60px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;letter-spacing:-2px;}
.metric .n .small{font-size:32px;}
.metric .l{font-size:12px;color:rgba(255,255,255,.75);margin-top:8px;text-transform:uppercase;letter-spacing:.5px;font-weight:700;}
.metric .desc{font-size:11px;color:rgba(255,255,255,.5);margin-top:6px;}

/* ====== COHORT, student profiles strip ====== */
.cohort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cohort-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;position:relative;}
.cohort-card .top{display:flex;gap:12px;margin-bottom:14px;}
.cohort-card .av{width:50px;height:50px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:18px;flex-shrink:0;}
.cohort-card:nth-child(2) .av{background:var(--green);}
.cohort-card:nth-child(3) .av{background:var(--gold);color:#1a1a1a;}
.cohort-card:nth-child(4) .av{background:var(--navy);}
.cohort-card h5{font-size:14px;font-weight:800;color:var(--dark);margin-bottom:2px;}
.cohort-card .from{font-size:11px;color:var(--muted);}
.cohort-card .quote{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:14px;font-style:italic;}
.cohort-card .target{display:flex;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px dashed var(--border);}
.cohort-card .target .lk{font-size:10px;color:var(--soft);text-transform:uppercase;font-weight:700;}
.cohort-card .target .lv{font-size:13px;color:var(--blue-d);font-weight:800;}

/* ====== STUDY CLUBS, colored pill grid ====== */
.clubs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.club{padding:24px 20px;border-radius:14px;color:#fff;cursor:pointer;transition:.2s;position:relative;overflow:hidden;}
.club:hover{transform:translateY(-4px);}
.club:nth-child(4n+1){background:var(--blue);}
.club:nth-child(4n+2){background:var(--green);}
.club:nth-child(4n+3){background:var(--gold);color:#1a1a1a;}
.club:nth-child(4n+4){background:var(--navy);}
.club::before{content:"";position:absolute;bottom:-30px;right:-30px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.1);}
.club .ico{font-size:28px;margin-bottom:14px;}
.club h5{font-size:16px;font-weight:800;margin-bottom:6px;}
.club p{font-size:11px;opacity:.85;}

/* ====== LIFE AT, video tile gallery ====== */
.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.life-tile{aspect-ratio:4/3;border-radius:14px;overflow:hidden;position:relative;cursor:pointer;background:var(--navy);}
.life-tile:nth-child(2){background:var(--blue-d);}
.life-tile:nth-child(3){background:var(--ink);}
.life-tile:nth-child(4){background:var(--green-d);}
.life-tile:nth-child(5){background:var(--gold-d);}
.life-tile:nth-child(6){background:var(--navy-d);}
.life-tile::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 14px,rgba(255,255,255,.06) 14px 28px);}
.life-tile::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.3);}
.life-tile .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.9);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:18px;z-index:2;transition:.2s;}
.life-tile:hover .play-btn{transform:translate(-50%,-50%) scale(1.15);background:var(--gold);}
.life-tile h4{position:absolute;bottom:18px;left:18px;right:18px;color:#fff;font-size:18px;font-weight:800;z-index:2;letter-spacing:-.3px;}
.life-tile .vid-mark{position:absolute;top:14px;right:14px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:#fff;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:2;display:flex;align-items:center;gap:5px;}
.life-tile .vid-mark .dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 1.6s infinite;}

/* ====== PRESS / NEWS ====== */
.press-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.press{background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px;cursor:pointer;transition:.2s;}
.press:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.06);border-color:var(--blue);}
.press .pub{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:var(--blue-d);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.press h5{font-size:14px;font-weight:700;color:var(--dark);line-height:1.45;margin-bottom:14px;min-height:64px;}
.press .date{font-size:10px;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;}

/* ====== APPLICATION TIMELINE ====== */
.appline{position:relative;padding:0 0 20px 0;}
.appline::before{content:"";position:absolute;left:32px;top:8px;bottom:8px;width:3px;background:var(--blue);border-radius:2px;}
.al-row{display:flex;gap:24px;align-items:flex-start;padding:18px 0;position:relative;}
.al-row .stage{width:24px;height:24px;border-radius:50%;background:#fff;border:4px solid var(--blue);margin-left:21px;flex-shrink:0;margin-top:6px;z-index:2;box-shadow:0 0 0 5px #fff;}
.al-row.done .stage{background:var(--green);border-color:var(--green);}
.al-row.now .stage{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 5px #fff,0 0 0 9px rgba(245,166,35,.25);animation:pulse 2s infinite;}
.al-row .body{flex:1;background:#fff;border:1px solid var(--border);border-radius:12px;padding:18px 22px;}
.al-row.now .body{border-color:var(--gold);background:var(--gold-l);}
.al-row .body .label{font-size:14px;font-weight:800;color:var(--dark);}
.al-row .body .desc{font-size:12px;color:var(--muted);margin-top:4px;}
.al-row .body .date{font-size:12px;color:var(--blue-d);font-weight:800;margin-top:6px;}
.al-row.now .body .date{color:var(--gold-d);}
.al-row.done .body .date{color:var(--green-d);}

/* ====== COURSES ====== */
.cv-tabs{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap;}
.cv-tabs .tab{padding:9px 18px;border-radius:24px;background:#fff;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;border:1.5px solid var(--border);}
.cv-tabs .tab.act{background:var(--blue);color:#fff;border-color:var(--blue);}
.cv-tabs .tab:hover{border-color:var(--blue);}
.c-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.c-card{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:.2s;display:flex;flex-direction:column;}
.c-card:hover{transform:translateY(-6px);box-shadow:0 16px 36px rgba(0,0,0,.1);}
.c-card .thumb{aspect-ratio:16/9;background:var(--blue);position:relative;display:flex;align-items:flex-end;padding:16px;color:#fff;}
.c-card.rec .thumb{background:var(--navy);}
.c-card .thumb::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 12px,rgba(255,255,255,.08) 12px 24px);}
.c-card .thumb .badge{position:absolute;top:14px;right:14px;background:var(--gold);color:#1a1a1a;padding:5px 11px;border-radius:5px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;z-index:2;}
.c-card .thumb .label{position:relative;z-index:2;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;opacity:.95;}
.c-card .body{padding:20px;flex:1;display:flex;flex-direction:column;}
.c-card .body h4{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:6px;}
.c-card .body .desc{font-size:12px;color:var(--muted);line-height:1.55;margin-bottom:14px;flex:1;}
.c-card .body .feats{display:flex;flex-direction:column;gap:5px;margin-bottom:14px;}
.c-card .body .feats div{font-size:11px;color:var(--muted);}
.c-card .body .feats div::before{content:"✓ ";color:var(--green);font-weight:800;}
.c-card .body .price{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;padding-top:14px;border-top:1px dashed var(--border);}
.c-card .body .price .now{font-size:24px;font-weight:900;color:var(--dark);}
.c-card .body .price .mrp{font-size:13px;color:var(--muted);text-decoration:line-through;}
.c-card .body .price .off{background:var(--green-l);color:var(--green-d);font-size:10px;font-weight:800;padding:3px 8px;border-radius:10px;margin-left:auto;}
.c-card .body .ctas{display:flex;gap:6px;}
.c-card .body .ctas .b{flex:1;padding:11px;text-align:center;border-radius:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;}
.c-card .body .ctas .b.buy{background:var(--blue);color:#fff;}
.c-card .body .ctas .b.buy:hover{background:var(--blue-d);}
.c-card .body .ctas .b.cart{background:#fff;color:var(--blue-d);border:1.5px solid var(--blue);}

/* ====== FEES & FINANCING ====== */
.fees{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:start;}
.fee-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:32px;}
.fee-card h3{font-size:22px;font-weight:800;margin-bottom:6px;color:var(--dark);}
.fee-card .total{font-size:48px;font-weight:900;color:var(--blue-d);letter-spacing:-1.5px;margin:14px 0 4px;}
.fee-card .total .mrp{font-size:18px;color:var(--muted);text-decoration:line-through;font-weight:700;margin-left:8px;}
.fee-card .saving{display:inline-block;background:var(--green-l);color:var(--green-d);padding:5px 12px;border-radius:20px;font-size:12px;font-weight:800;margin-bottom:24px;}
.fee-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px dashed var(--border);font-size:13px;}
.fee-row:last-child{border:0;}
.fee-row .k{color:var(--muted);}
.fee-row .v{color:var(--dark);font-weight:700;}
.fee-card .cta{display:block;background:var(--blue);color:#fff;text-align:center;padding:14px;border-radius:8px;font-size:13px;font-weight:800;margin-top:18px;text-transform:uppercase;letter-spacing:.5px;}
.fee-card .cta:hover{background:var(--blue-d);}
.fin{background:var(--navy);color:#fff;border-radius:16px;padding:32px;}
.fin h3{font-size:20px;font-weight:800;margin-bottom:18px;color:var(--gold);}
.fin .opt{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1);}
.fin .opt:last-child{border:0;}
.fin .opt h5{font-size:14px;font-weight:800;margin-bottom:4px;}
.fin .opt p{font-size:11px;opacity:.7;}

/* ====== OUTCOMES (alumni placements) ====== */
.outcomes-row{display:flex;gap:14px;overflow-x:auto;padding-bottom:10px;}
.outcome{flex:0 0 280px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;cursor:pointer;transition:.2s;}
.outcome:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.outcome .ph{width:64px;height:64px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;margin-bottom:14px;}
.outcome:nth-child(2) .ph{background:var(--green);}
.outcome:nth-child(3) .ph{background:var(--gold);color:#1a1a1a;}
.outcome:nth-child(4) .ph{background:var(--navy);}
.outcome:nth-child(5) .ph{background:var(--blue-d);}
.outcome:nth-child(6) .ph{background:var(--green-d);}
.outcome h5{font-size:15px;font-weight:800;color:var(--dark);margin-bottom:3px;}
.outcome .pct{font-size:11px;color:var(--muted);margin-bottom:10px;}
.outcome .school{display:inline-block;background:var(--ink);color:#fff;padding:4px 11px;border-radius:20px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.3px;margin-bottom:10px;}
.outcome .quote{font-size:12px;color:var(--muted);line-height:1.55;font-style:italic;border-top:1px dashed var(--border);padding-top:12px;margin-top:10px;}

/* ====== NEWS / INSIGHTS row ====== */
.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.insight{background:#fff;border:1px solid var(--border);border-radius:14px;overflow:hidden;cursor:pointer;transition:.2s;}
.insight:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.08);}
.insight .thumb{aspect-ratio:16/9;background:var(--blue);position:relative;display:flex;align-items:flex-end;padding:14px;color:#fff;}
.insight:nth-child(2) .thumb{background:var(--green);}
.insight:nth-child(3) .thumb{background:var(--gold);}
.insight .thumb::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 12px,rgba(255,255,255,.07) 12px 24px);}
.insight .thumb .cat{position:relative;z-index:2;background:rgba(0,0,0,.4);padding:4px 10px;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;}
.insight .body{padding:20px;}
.insight h5{font-size:16px;font-weight:800;color:var(--dark);margin-bottom:8px;line-height:1.35;}
.insight p{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:12px;}
.insight .meta{display:flex;justify-content:space-between;font-size:10px;color:var(--soft);text-transform:uppercase;letter-spacing:.5px;font-weight:700;}

/* ====== FAQ ====== */
.faqs{max-width:840px;margin:0 auto;}
.faq{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;}
.faq summary{padding:20px 24px;font-size:14px;font-weight:700;cursor:pointer;display:flex;justify-content:space-between;align-items:center;list-style:none;color:var(--dark);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";font-size:24px;font-weight:300;color:var(--muted);transition:.2s;}
.faq[open] summary::after{transform:rotate(45deg);color:var(--blue);}
.faq[open] summary{color:var(--blue-d);background:var(--blue-l);}
.faq .body{padding:0 24px 18px;font-size:13px;color:var(--muted);line-height:1.7;}

/* ====== LEAD CAPTURE ====== */
.lead{background:var(--navy);color:#fff;border-radius:18px;padding:60px 40px;text-align:center;position:relative;overflow:hidden;}
.lead::before{content:"";position:absolute;top:-120px;left:-120px;width:340px;height:340px;border-radius:50%;background:var(--blue);opacity:.2;filter:blur(50px);}
.lead::after{content:"";position:absolute;bottom:-120px;right:-120px;width:340px;height:340px;border-radius:50%;background:var(--gold);opacity:.15;filter:blur(50px);}
.lead h2{font-size:42px;font-weight:900;letter-spacing:-1.2px;margin-bottom:12px;position:relative;z-index:2;color:#fff;}
.lead h2 .yellow{color:var(--gold);}
.lead p{font-size:15px;opacity:.85;max-width:600px;margin:0 auto 32px;position:relative;z-index:2;}
.lead .form{display:flex;gap:8px;max-width:500px;margin:0 auto;position:relative;z-index:2;flex-wrap:wrap;}
.lead .form input{flex:1;min-width:220px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);color:#fff;padding:15px 20px;border-radius:6px;font-size:13px;outline:none;}
.lead .form input::placeholder{color:rgba(255,255,255,.4);}
.lead .form input:focus{border-color:var(--gold);background:rgba(255,255,255,.12);}
.lead .form button{background:var(--gold);color:#1a1a1a;border:0;padding:15px 30px;border-radius:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;}
.lead .form button:hover{background:var(--gold-d);}

/* ====== STACKED PERSONA CARDS (sticky-scroll feel) ====== */
.stack-row{display:flex;gap:0;perspective:1200px;}
.stack-card{flex:1;background:#fff;border:1px solid var(--border);border-radius:18px;padding:32px 28px;position:relative;overflow:hidden;transition:transform .4s ease,box-shadow .4s ease,z-index 0s .2s;margin-left:-30px;cursor:pointer;}
.stack-card:first-child{margin-left:0;}
.stack-card:nth-child(1){background:#fff;z-index:1;transform:rotate(-2deg) translateY(8px);}
.stack-card:nth-child(2){background:var(--blue-l);z-index:2;transform:rotate(0deg);}
.stack-card:nth-child(3){background:#fff;z-index:1;transform:rotate(2deg) translateY(8px);}
.stack-card:hover{transform:translateY(-12px) rotate(0deg) scale(1.02);z-index:10;box-shadow:0 24px 60px rgba(0,0,0,.18);}
.stack-card .num{position:absolute;top:18px;right:24px;font-size:64px;font-weight:900;color:rgba(0,0,0,.05);line-height:1;}
.stack-card .ico{width:54px;height:54px;background:var(--navy);color:#fff;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:20px;}
.stack-card:nth-child(2) .ico{background:var(--blue-d);}
.stack-card h4{font-size:20px;font-weight:800;margin-bottom:12px;color:var(--dark);}
.stack-card p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:18px;}
.stack-card .tag{display:inline-block;background:var(--gold);color:#1a1a1a;padding:4px 12px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;}

/* ====== IMAGE STACK / PARALLAX TILE GRID ====== */
.image-stack{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;}
.is-text h2{margin-bottom:14px;}
.is-text p{font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:16px;}
.is-text .stat-row{display:flex;gap:24px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border);}
.is-text .stat-row .s .n{font-size:32px;font-weight:900;color:var(--blue-d);font-family:var(--serif);line-height:1;}
.is-text .stat-row .s .l{font-size:11px;color:var(--muted);text-transform:uppercase;font-weight:700;letter-spacing:.5px;margin-top:4px;}
.is-collage{position:relative;height:440px;}
.is-tile{position:absolute;border-radius:14px;overflow:hidden;background:var(--navy);color:#fff;padding:18px;display:flex;align-items:flex-end;font-weight:800;font-size:13px;box-shadow:0 18px 40px rgba(0,0,0,.18);transition:transform .4s ease;}
.is-tile::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 14px,rgba(255,255,255,.08) 14px 28px);}
.is-tile span{position:relative;z-index:2;}
.is-tile.t1{width:62%;height:62%;top:0;left:0;background:var(--blue-d);transform:rotate(-2deg);}
.is-tile.t2{width:48%;height:55%;top:14%;right:0;background:var(--navy);transform:rotate(3deg);}
.is-tile.t3{width:54%;height:48%;bottom:0;left:8%;background:var(--gold);color:#1a1a1a;transform:rotate(-1deg);}
.is-tile.t4{width:36%;height:38%;bottom:6%;right:6%;background:var(--green-d);transform:rotate(2deg);}
.is-tile:hover{transform:rotate(0deg) scale(1.05);z-index:10;}

/* ====== VIDEO CAPSULES (horizontal scroll-snap row) ====== */
.capsule-wrap{margin:0 -22px;padding:0 22px;}
.capsules{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:24px;scroll-padding:22px;}
.capsules::-webkit-scrollbar{height:8px;}
.capsules::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:4px;}
.capsules::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px;}
.capsule{flex:0 0 320px;aspect-ratio:9/16;border-radius:24px;overflow:hidden;position:relative;scroll-snap-align:start;cursor:pointer;background:var(--navy);transition:transform .3s ease;}
.capsule:nth-child(2){background:var(--blue-d);}
.capsule:nth-child(3){background:var(--ink);}
.capsule:nth-child(4){background:var(--green-d);}
.capsule:nth-child(5){background:var(--gold-d);}
.capsule:nth-child(6){background:var(--navy-d);}
.capsule:nth-child(7){background:var(--blue);}
.capsule::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 14px,rgba(255,255,255,.07) 14px 28px);}
.capsule::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 50%,rgba(0,0,0,.85) 100%);}
.capsule:hover{transform:scale(1.03);}
.capsule .vid-mark{position:absolute;top:14px;left:14px;background:rgba(255,255,255,.15);backdrop-filter:blur(8px);color:#fff;padding:4px 10px;border-radius:20px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;z-index:3;display:flex;align-items:center;gap:5px;}
.capsule .vid-mark .dot{width:6px;height:6px;background:var(--gold);border-radius:50%;animation:pulse 1.6s infinite;}
.capsule .duration{position:absolute;top:14px;right:14px;background:rgba(0,0,0,.5);color:#fff;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:700;z-index:3;}
.capsule .play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:22px;z-index:3;transition:.2s;}
.capsule:hover .play-btn{background:var(--gold);transform:translate(-50%,-50%) scale(1.1);}
.capsule .meta{position:absolute;bottom:0;left:0;right:0;padding:18px 20px;color:#fff;z-index:3;}
.capsule .meta .tag{display:inline-block;background:var(--gold);color:#1a1a1a;padding:3px 8px;border-radius:4px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.capsule .meta h4{font-size:17px;font-weight:800;line-height:1.25;margin-bottom:6px;}
.capsule .meta .author{font-size:11px;opacity:.85;}
.capsule-controls{display:flex;justify-content:flex-end;gap:8px;margin-bottom:14px;}
.capsule-controls button{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:16px;cursor:pointer;}
.capsule-controls button:hover{background:rgba(255,255,255,.2);}

/* ====== TESTIMONIAL MARQUEE ROWS ====== */
.testi-section{padding:60px 0;background:var(--bg);overflow:hidden;}
.testi-row{display:flex;gap:14px;animation:scrollx 60s linear infinite;width:max-content;margin-bottom:14px;}
.testi-row.r2{animation-direction:reverse;animation-duration:50s;}
.testi-card{flex:0 0 380px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;}
.testi-card .top{display:flex;align-items:center;gap:12px;margin-bottom:12px;}
.testi-card .av{width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px;}
.testi-card:nth-child(3n+2) .av{background:var(--green);}
.testi-card:nth-child(3n+3) .av{background:var(--gold);color:#1a1a1a;}
.testi-card .name{font-size:13px;font-weight:800;color:var(--dark);}
.testi-card .role{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.3px;font-weight:700;}
.testi-card .quote{font-size:12px;color:var(--muted);line-height:1.6;font-style:italic;}
.testi-card .stars{color:var(--gold);font-size:12px;margin-bottom:6px;}

/* Mobile */
@media(max-width:900px){
  .hero h1{font-size:52px;letter-spacing:-1.5px;}
  .hero h1 .lite{font-size:38px;}
  .hero .sub{font-size:15px;}
  .hero-bg{grid-template-columns:1fr;grid-template-rows:repeat(4,1fr);}
  .crafted,.faculty-row,.cohort-grid,.clubs-grid,.life-grid,.press-row,.insight-grid,.metrics{grid-template-columns:repeat(2,1fr);}
  .blueprint{grid-template-columns:repeat(2,1fr);}
  .c-grid{grid-template-columns:1fr;}
  .fees{grid-template-columns:1fr;}

  .sec h2{font-size:32px;}
  .sec{padding:50px 22px;}

  .metric{border-right:0;border-bottom:1px solid rgba(255,255,255,.1);}
}
@media(max-width:600px){
  /* Stack blueprint cards 1-per-row at narrow mobile (text was getting too cramped at 2-col) */
  .blueprint{grid-template-columns:1fr !important;gap:12px !important;}
  .bp-card{padding:22px 20px !important;}
  /* Stack other 2-col grids 1-per-row too */
  .crafted,.faculty-row,.clubs-grid,.life-grid,.press-row,.insight-grid{grid-template-columns:1fr !important;}
}

/* ====== NMAT COLLEGES with CUTOFFS TABLE ====== */
.colleges-wrap{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.coll-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;transition:.2s;cursor:pointer;border-left:4px solid var(--blue);}
.coll-card:nth-child(3n+2){border-left-color:var(--green);}
.coll-card:nth-child(3n+3){border-left-color:var(--gold);}
.coll-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);}
.coll-card .coll-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;}
.coll-card h5{font-size:15px;font-weight:800;color:var(--dark);line-height:1.3;}
.coll-card .city{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:4px;}
.coll-card .rank{background:var(--navy);color:#fff;padding:3px 9px;border-radius:4px;font-size:9px;font-weight:800;letter-spacing:.3px;flex-shrink:0;}
.coll-card .cutoff-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px dashed var(--border);font-size:12px;}
.coll-card .cutoff-row:last-of-type{border:0;margin-bottom:8px;}
.coll-card .cutoff-row .k{color:var(--muted);}
.coll-card .cutoff-row .v{font-weight:800;color:var(--dark);font-family:var(--serif);}
.coll-card .cutoff-row .v.hi{color:var(--blue-d);}
.coll-card .footer{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--border);margin-top:8px;}
.coll-card .footer .fee{font-size:11px;color:var(--muted);}
.coll-card .footer .fee b{color:var(--dark);font-size:13px;}
.coll-card .footer .cta{font-size:10px;font-weight:800;color:var(--blue-d);text-transform:uppercase;letter-spacing:.5px;}

/* ====== COMPOSITE SCORE BREAKDOWN ====== */
.composite{display:grid;grid-template-columns:1fr 1.3fr;gap:24px;align-items:center;margin-top:30px;}
.composite .donut{position:relative;width:280px;height:280px;margin:0 auto;}
.composite .donut svg{width:100%;height:100%;transform:rotate(-90deg);}
.composite .donut circle{fill:none;stroke-width:28;}
.composite .donut .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.composite .donut .center .big{font-size:36px;font-weight:900;color:var(--dark);line-height:1;}
.composite .donut .center .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;font-weight:700;}
.composite .breakdown{display:flex;flex-direction:column;gap:10px;}
.composite .comp-row{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fff;border:1px solid var(--border);border-radius:10px;}
.composite .comp-row .swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0;}
.composite .comp-row h6{font-size:13px;font-weight:800;color:var(--dark);flex:1;}
.composite .comp-row .pct{font-size:18px;font-weight:900;color:var(--dark);font-family:var(--serif);}
.composite .comp-row .pct .lbl{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-left:3px;}

/* ====== EXAM PATTERN, 3 sections with real marks ====== */
.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px;}
.pat-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:24px;position:relative;overflow:hidden;transition:.2s;}
.pat-card:nth-child(1){border-top:4px solid var(--blue);}
.pat-card:nth-child(2){border-top:4px solid var(--green);}
.pat-card:nth-child(3){border-top:4px solid var(--gold);}
.pat-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);}
.pat-card .top-row{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px;}
.pat-card .num{width:34px;height:34px;border-radius:8px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;}
.pat-card:nth-child(2) .num{background:var(--green);}
.pat-card:nth-child(3) .num{background:var(--gold);color:#1a1a1a;}
.pat-card .cutoff-tag{background:var(--navy);color:#fff;padding:4px 10px;border-radius:4px;font-size:10px;font-weight:800;}
.pat-card h4{font-size:17px;font-weight:800;color:var(--dark);margin-bottom:4px;}
.pat-card .sub{font-size:11px;color:var(--muted);margin-bottom:16px;}
.pat-card .stats-3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;padding:14px;background:var(--bg);border-radius:8px;}
.pat-card .stats-3 .s{text-align:center;}
.pat-card .stats-3 .s .n{font-size:22px;font-weight:900;color:var(--dark);font-family:var(--serif);line-height:1;}
.pat-card .stats-3 .s .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:4px;}
.pat-card .topics{font-size:12px;color:var(--muted);line-height:1.7;}
.pat-card .topics b{color:var(--dark);font-weight:700;}
.pattern-footer{display:flex;justify-content:space-around;gap:14px;background:var(--navy);color:#fff;border-radius:14px;padding:22px;flex-wrap:wrap;}
.pattern-footer .item{text-align:center;flex:1;min-width:120px;}
.pattern-footer .item .big{font-size:28px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;}
.pattern-footer .item .lbl{font-size:10px;text-transform:uppercase;opacity:.75;letter-spacing:.5px;font-weight:700;margin-top:6px;}




/* ====== Why CATKing · Pinned Feature Stack (5 reasons) ====== */
.pin-wrap{position:relative;}
.pin-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:40px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;box-shadow:0 6px 20px rgba(0,0,0,.04);position:sticky;top:120px;}
.pin-card.dk{background:var(--ink);color:#fff;border-color:var(--ink);}
.pin-card.br{background:var(--navy);color:#fff;border-color:var(--navy);}
.pin-card .count{position:absolute;top:22px;right:26px;font-size:13px;font-weight:900;color:rgba(0,0,0,.2);letter-spacing:1.5px;font-family:var(--serif);}
.pin-card.dk .count,.pin-card.br .count{color:rgba(255,255,255,.25);}
.pin-card .ct-left .tag{display:inline-block;background:var(--bg);padding:5px 12px;border-radius:14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--blue-d);margin-bottom:14px;}
.pin-card.dk .ct-left .tag,.pin-card.br .ct-left .tag{background:rgba(255,255,255,.12);color:var(--gold);}
.pin-card .ct-left h3{font-size:30px;font-weight:900;letter-spacing:-.8px;line-height:1.15;margin-bottom:14px;}
.pin-card .ct-left h3 .acc{color:var(--blue);}
.pin-card.dk .ct-left h3 .acc,.pin-card.br .ct-left h3 .acc{color:var(--gold);}
.pin-card .ct-left p{font-size:14px;line-height:1.7;margin-bottom:18px;color:#444;}
.pin-card.dk .ct-left p,.pin-card.br .ct-left p{color:rgba(255,255,255,.8);}
.pin-card .ct-left ul{list-style:none;margin-bottom:22px;}
.pin-card .ct-left ul li{padding:6px 0 6px 24px;font-size:13px;position:relative;line-height:1.5;}
.pin-card .ct-left ul li::before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:900;}
.pin-card.dk .ct-left ul li::before,.pin-card.br .ct-left ul li::before{color:var(--gold);}
.pin-card .ct-ctas{display:flex;gap:10px;flex-wrap:wrap;}
.btn-p{background:var(--blue);color:#fff;padding:12px 22px;border-radius:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:6px;transition:.15s;border:0;cursor:pointer;}
.btn-p:hover{background:var(--blue-d);transform:translateY(-1px);}
.btn-o{background:transparent;color:var(--blue);padding:12px 22px;border-radius:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;gap:6px;border:1.5px solid var(--blue);transition:.15s;cursor:pointer;}
.btn-o:hover{background:var(--blue);color:#fff;}
.pin-card .md{aspect-ratio:16/10;border-radius:10px;background:#1a1a2e;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.pin-card .md .lite-yt{aspect-ratio:auto !important;width:100%;height:100%;}
.pin-card.dk .md,.pin-card.br .md{background:repeating-linear-gradient(45deg,#1a1a1a 0 12px,#1a1a1a 12px 24px);}
.pin-card .md .play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--dark);}
.pin-card .md .cap{position:absolute;bottom:12px;left:12px;right:12px;background:rgba(0,0,0,.6);color:#fff;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:600;}
@media(max-width:900px){.pin-card{grid-template-columns:1fr;padding:28px;gap:24px;position:static;}.pin-card .ct-left h3{font-size:24px;}}

/* ====== Overview split ====== */
.ov-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
.ov-txt p{font-size:15px;line-height:1.8;color:#444;margin-bottom:14px;}
.ov-txt .hi{background:linear-gradient(120deg,transparent 0%,#fdf3e0 0%,#fdf3e0 100%,transparent 100%);padding:1px 3px;font-weight:700;color:var(--dark);}
.ov-facts{background:var(--bg);border-radius:12px;padding:28px;border-left:4px solid var(--blue);}
.ov-facts h4{font-size:11px;color:var(--blue-d);text-transform:uppercase;letter-spacing:1.2px;font-weight:800;margin-bottom:16px;}
.ov-facts .row{display:flex;justify-content:space-between;padding:11px 0;border-bottom:1px dashed #e0e0e0;font-size:13px;gap:12px;}
.ov-facts .row:last-child{border:0;}
.ov-facts .row .k{color:var(--muted);flex-shrink:0;}
.ov-facts .row .v{font-weight:800;color:var(--dark);text-align:right;}
@media(max-width:900px){.ov-grid{grid-template-columns:1fr;}}

/* ====== IIM Selection Weightage Donut ====== */
.donut-block{margin-top:40px;background:var(--bg);border-radius:14px;padding:40px;display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:center;}
.donut-wrap{display:flex;justify-content:center;align-items:center;}
.donut-svg{width:240px;height:240px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.06));}
.donut-legend h4{font-size:22px;font-weight:900;letter-spacing:-.4px;margin-bottom:10px;color:var(--dark);}
.donut-legend .donut-lede{font-size:14px;color:#666;line-height:1.65;margin-bottom:18px;}
.donut-rows{margin-bottom:16px;}
.donut-rows .dr{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px dashed #e0e0e0;font-size:13px;}
.donut-rows .dr:last-child{border:0;}
.donut-rows .sw{width:14px;height:14px;border-radius:4px;flex-shrink:0;}
.donut-rows .lb{flex:1;color:#444;font-weight:600;}
.donut-rows .vl{font-weight:900;color:var(--dark);font-family:var(--serif);}
.donut-note{font-size:12px;color:#666;line-height:1.6;background:#fff;padding:12px 14px;border-radius:8px;border-left:3px solid var(--blue);}
@media(max-width:900px){.donut-block{grid-template-columns:1fr;padding:28px;gap:24px;}}

/* ====== Pattern Footer Strip ====== */
.pattern-footer{background:var(--ink);color:#fff;padding:22px 28px;border-radius:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:22px;}
.pf-cell{padding:4px 12px;border-right:1px solid rgba(255,255,255,.1);}
.pf-cell:last-child{border:0;}
.pf-cell .pl{font-size:10px;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:6px;}
.pf-cell .pv{font-size:18px;font-weight:900;color:var(--gold);font-family:var(--serif);}
@media(max-width:900px){.pattern-footer{grid-template-columns:1fr 1fr;}.pf-cell{border:0;}}

/* ====== Cohort Profile Cards ====== */
.cohort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}
.co-card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:22px;transition:.2s;}
.co-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08);}
.co-head{display:flex;gap:12px;align-items:center;margin-bottom:14px;}
.co-av{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,#1a1a1a 0%,#FEA82F 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:17px;flex-shrink:0;}
.co-head h5{font-size:14px;font-weight:800;letter-spacing:-.2px;margin-bottom:3px;}
.co-bg{font-size:11px;color:var(--blue-d);font-weight:700;}
.co-q{font-size:13px;color:#444;font-style:italic;line-height:1.6;margin-bottom:12px;}
.co-target{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;padding-top:10px;border-top:1px dashed var(--border);}
@media(max-width:900px){.cohort-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.cohort-grid{grid-template-columns:1fr;}}

/* ====== Testimonial dual-row marquee ====== */
.testi-section{padding:40px 0;background:var(--ink);color:#fff;overflow:hidden;margin-top:20px;border-radius:0;}
.testi-rows-wrap{position:relative;overflow:hidden;max-width:1400px;margin:0 auto;}
.testi-rows-wrap::before,.testi-rows-wrap::after{content:"";position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.testi-rows-wrap::before{left:0;background:linear-gradient(90deg,var(--ink) 0%,transparent 100%);}
.testi-rows-wrap::after{right:0;background:linear-gradient(270deg,var(--ink) 0%,transparent 100%);}
.testi-row{overflow:hidden;margin-bottom:14px;}
.testi-row:last-child{margin-bottom:0;}
.testi-track{display:flex;gap:14px;animation:t-scroll 60s linear infinite;width:max-content;}
.testi-track.rev{animation-direction:reverse;animation-duration:75s;}
@keyframes t-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.tc{flex:0 0 320px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:18px;backdrop-filter:blur(10px);}
.tc .stars{color:var(--gold);font-size:13px;margin-bottom:8px;letter-spacing:1px;}
.tc p{font-size:13px;line-height:1.55;color:rgba(255,255,255,.88);margin-bottom:12px;font-style:italic;}
.tc .who{display:flex;gap:10px;align-items:center;}
.tc .who .av{width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;flex-shrink:0;}
.tc .who b{font-size:12px;display:block;color:#fff;}
.tc .who span{font-size:10px;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.5px;font-weight:600;}

/* ====== Video Capsule Rail ====== */
.cap-ctrl{display:flex;gap:8px;}
.cap-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--border);color:var(--dark);font-size:22px;font-weight:300;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;line-height:1;padding-bottom:3px;}
.cap-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:scale(1.05);}
.cap-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 20px;scrollbar-width:thin;}
.cap-rail::-webkit-scrollbar{height:6px;}
.cap-rail::-webkit-scrollbar-track{background:var(--bg);border-radius:3px;}
.cap-rail::-webkit-scrollbar-thumb{background:#e0e0e0;border-radius:3px;}
.cap{flex:0 0 200px;aspect-ratio:9/16;background:linear-gradient(140deg,var(--navy) 0%,#1a1a1a 100%);border-radius:14px;scroll-snap-align:start;position:relative;overflow:hidden;cursor:pointer;transition:.2s;box-shadow:0 4px 14px rgba(0,0,0,.1);}
.cap:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(0,0,0,.18);}
.cap::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 12px,rgba(255,255,255,.04) 12px 24px);}
.cap:nth-child(2n){background:linear-gradient(140deg,#1a1a1a 0%,var(--blue-d) 100%);}
.cap:nth-child(3n){background:linear-gradient(140deg,#1a1a1a 0%,var(--green) 100%);}
.cap:nth-child(4n){background:linear-gradient(140deg,var(--navy-d) 0%,var(--gold) 100%);}
.cap-tag{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);color:#fff;padding:4px 8px;border-radius:4px;font-size:9px;font-weight:800;letter-spacing:.6px;text-transform:uppercase;z-index:2;}
.cap-dur{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.55);backdrop-filter:blur(4px);color:#fff;padding:4px 7px;border-radius:4px;font-size:10px;font-weight:700;z-index:2;}
.cap-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:52px;height:52px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--ink);display:flex;align-items:center;justify-content:center;font-size:18px;z-index:2;box-shadow:0 4px 12px rgba(0,0,0,.2);transition:.2s;}
.cap:hover .cap-play{transform:translate(-50%,-50%) scale(1.08);}
.cap-foot{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.65) 50%,rgba(0,0,0,.85) 100%);padding:30px 12px 12px;z-index:2;}
.cap-foot .cap-nm{color:#fff;font-weight:900;font-size:12px;line-height:1.2;}
.cap-foot .cap-adm{color:rgba(255,255,255,.75);font-size:10px;margin-top:3px;font-weight:600;}

/* ====== Faculty Founder Split ====== */
.founder-split{background:#fff;border:1px solid var(--border);border-radius:16px;padding:40px;display:grid;grid-template-columns:1fr 1.3fr;gap:40px;align-items:center;}
.fs-media{aspect-ratio:4/3;background:linear-gradient(135deg,#1a1a1a 0%,#FEA82F 100%);border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.fs-media::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.03) 0 14px,rgba(255,255,255,.06) 14px 28px);}
.fs-play{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.95);display:flex;align-items:center;justify-content:center;font-size:26px;color:var(--dark);z-index:2;}
.fs-cap{position:absolute;bottom:12px;left:12px;right:12px;background:rgba(0,0,0,.6);color:#fff;padding:6px 12px;border-radius:4px;font-size:11px;font-weight:600;text-align:center;z-index:2;}
.fs-text .fs-tag{display:inline-block;background:var(--gold-l);color:var(--gold-d);padding:5px 12px;border-radius:14px;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;margin-bottom:12px;}
.fs-text h3{font-size:30px;font-weight:900;letter-spacing:-.6px;line-height:1.15;margin-bottom:14px;color:var(--dark);}
.fs-text h3 .accent{color:var(--blue);}
.fs-text p{font-size:14px;line-height:1.7;color:#444;margin-bottom:20px;}
.fs-stats{display:flex;gap:28px;padding:16px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:20px;}
.fss b{display:block;font-size:24px;font-weight:900;color:var(--blue-d);font-family:var(--serif);line-height:1;}
.fss span{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:4px;display:block;}
.fs-ctas{display:flex;gap:10px;flex-wrap:wrap;}
@media(max-width:900px){.founder-split{grid-template-columns:1fr;padding:28px;gap:24px;}.fs-text h3{font-size:24px;}}

/* ====== News / Insights Cards ====== */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.news-card{background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:.2s;cursor:pointer;}
.news-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.nc-thumb{aspect-ratio:16/9;background:linear-gradient(135deg,#f0f0ed 0%,#e0e0e0 100%);position:relative;display:flex;align-items:flex-start;padding:14px;}
.nc-tag{background:var(--blue);color:#fff;padding:4px 10px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.4px;text-transform:uppercase;}
.nc-body{padding:18px;}
.nc-body h5{font-size:15px;font-weight:900;line-height:1.3;margin-bottom:8px;color:var(--dark);}
.nc-exc{font-size:12px;color:var(--muted);line-height:1.55;margin-bottom:10px;}
.nc-meta{font-size:10px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding-top:10px;border-top:1px dashed var(--border);}
@media(max-width:900px){.news-grid{grid-template-columns:1fr;}}

/* ====== Final Counsellor CTA ====== */
.counsellor-sec{background:var(--navy);color:#fff;position:relative;overflow:hidden;max-width:none !important;padding:0 !important;}
.counsellor-sec::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.02) 0 22px,rgba(255,255,255,.04) 22px 44px);pointer-events:none;}
.counsellor-card{position:relative;max-width:1200px;margin:0 auto;padding:60px 22px;display:grid;grid-template-columns:1.4fr 1fr;gap:50px;align-items:center;z-index:1;}
.counsellor-card .ccl-left .eyebrow{display:inline-block;background:var(--gold);color:var(--ink);padding:5px 12px;border-radius:20px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;}
.counsellor-card .ccl-left h2{font-size:38px;font-weight:900;letter-spacing:-1.2px;line-height:1.1;margin-bottom:12px;color:#fff;}
.counsellor-card .ccl-left h2 .accent{color:var(--gold);}
.counsellor-card .ccl-left p{font-size:14px;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:22px;max-width:520px;}
.counsellor-card .ccl-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.counsellor-card .ccl-ctas .btn{padding:14px 26px;border-radius:6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;transition:all .15s;border:0;display:inline-flex;align-items:center;gap:8px;}
.counsellor-card .ccl-ctas .btn.p{background:var(--gold);color:var(--ink);box-shadow:0 4px 14px rgba(245,166,35,.35);}
.counsellor-card .ccl-ctas .btn.p:hover{background:#f5a623;transform:translateY(-2px);}
.counsellor-card .ccl-ctas .btn.g{background:var(--green);color:#fff;box-shadow:0 4px 14px rgba(59,183,126,.3);}
.counsellor-card .ccl-ctas .btn.g:hover{background:var(--green-d);transform:translateY(-2px);}
.counsellor-card .ccl-trust{display:flex;gap:32px;padding-top:20px;border-top:1px solid rgba(255,255,255,.15);flex-wrap:wrap;}
.counsellor-card .ccl-trust .t .n{font-size:22px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;}
.counsellor-card .ccl-trust .t .l{font-size:11px;color:rgba(255,255,255,.7);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:5px;}
.counsellor-card .ccl-right{display:flex;flex-direction:column;align-items:center;gap:24px;}
.counsellor-card .ccl-avatars{display:flex;align-items:center;}
.counsellor-card .ccl-avatars .av{width:58px;height:58px;border-radius:50%;border:3px solid var(--navy);margin-left:-14px;box-shadow:0 4px 12px rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:16px;}
.counsellor-card .ccl-avatars .av:first-child{margin-left:0;}
.counsellor-card .ccl-avatars .av.a1{background:var(--blue);}.counsellor-card .ccl-avatars .av.a2{background:var(--green);}
.counsellor-card .ccl-avatars .av.a3{background:var(--gold);color:var(--ink);}.counsellor-card .ccl-avatars .av.a4{background:var(--navy-l);}
.counsellor-card .ccl-avatars .av.plus{background:rgba(255,255,255,.15);}
.counsellor-card .ccl-callout{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:18px 22px;font-size:13px;color:rgba(255,255,255,.9);line-height:1.6;max-width:320px;text-align:center;}
@media(max-width:900px){.counsellor-card{grid-template-columns:1fr;gap:32px;padding:40px 22px;}.counsellor-card .ccl-left h2{font-size:26px;}}

/* ====== FAQ Accordion enhancements ====== */
.faq-list{max-width:820px;margin:0 auto;}
.fq{background:#fff;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;overflow:hidden;transition:.15s;}
.fq[open]{border-color:var(--blue);box-shadow:0 4px 14px rgba(254,168,47,.08);}
.fq summary{padding:18px 22px;cursor:pointer;font-size:14px;font-weight:800;letter-spacing:-.2px;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none;}
.fq summary::-webkit-details-marker{display:none;}
.fq-chev{font-size:20px;color:var(--blue);font-weight:300;transition:.2s;}
.fq[open] .fq-chev{transform:rotate(45deg);}
.fq .fq-a{padding:0 22px 18px;font-size:13px;color:#444;line-height:1.7;}

/* ====== Animated counter shimmer ====== */
.cnt{transition:color .2s;display:inline-block;}


/* ====== Course cards enhancement ====== */
/* "View more courses" callout row at bottom of #courses-again - replaces filter pills */
.courses-more-row{
  margin-top:34px;
  text-align:center;
}
.courses-more-link{
  display:inline-block;
  max-width:740px;
  padding:18px 28px;
  background:linear-gradient(135deg,rgba(254,168,47,.14) 0%,rgba(255,255,255,.05) 100%);
  border:1px solid rgba(254,168,47,.35);
  border-radius:14px;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.92);
  text-decoration:none;
  transition:all .2s;
  font-weight:500;
}
.courses-more-link:hover{
  background:linear-gradient(135deg,rgba(254,168,47,.22) 0%,rgba(255,255,255,.08) 100%);
  border-color:var(--orange);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(254,168,47,.18);
}
.courses-more-link .cml-cta{
  display:inline-block;
  margin-left:6px;
  color:var(--orange);
  font-weight:800;
  white-space:nowrap;
}
@media (max-width:780px){
  .courses-more-link{padding:16px 20px;font-size:13.5px;}
  .courses-more-link .cml-cta{display:block;margin-left:0;margin-top:6px;}
}
.courses-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.course-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;overflow:hidden;transition:.25s;display:flex;flex-direction:column;position:relative;}
.course-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(0,0,0,.09);border-color:#e0e0e0;}
.course-card.rec{border:2px solid var(--blue);}
.cc-thumb{position:relative;aspect-ratio:16/9;background:linear-gradient(135deg,#1a1a1a 0%,#FEA82F 100%);display:flex;align-items:flex-start;padding:14px;overflow:hidden;}
.cc-thumb::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,rgba(255,255,255,.04) 0 14px,rgba(255,255,255,.07) 14px 28px);}
.thumb-tag{background:rgba(0,0,0,.7);color:#fff;padding:5px 12px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;z-index:2;backdrop-filter:blur(6px);box-shadow:0 2px 8px rgba(0,0,0,.25);}
.rec-tag{position:absolute;top:14px;right:14px;background:var(--gold);color:var(--ink);padding:5px 10px;border-radius:4px;font-size:9px;font-weight:900;letter-spacing:.6px;z-index:2;}
.cc-body{padding:22px;flex:1;display:flex;flex-direction:column;}
.cc-body h4{font-size:22px;font-weight:900;letter-spacing:-.5px;margin-bottom:8px;}
.cc-cap{font-size:12px;color:var(--muted);line-height:1.55;margin-bottom:14px;}
.cc-feats{list-style:none;margin:0 0 16px;padding:0;flex:1;}
.cc-feats li{padding:6px 0 6px 22px;font-size:12px;color:#444;position:relative;line-height:1.55;}
.cc-feats li::before{content:"✓";position:absolute;left:0;color:var(--green-d);font-weight:900;}
.cc-price{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin-bottom:14px;}
.cc-price .now{font-size:24px;font-weight:900;color:var(--blue-d);font-family:var(--serif);}
.cc-price .was{font-size:13px;color:#666;text-decoration:line-through;margin-left:8px;}
.cc-price .off{background:#fdf3e0;color:var(--green-d);padding:3px 9px;border-radius:4px;font-size:11px;font-weight:800;}
.cc-btns{display:flex;gap:8px;}
.cc-btns .cc-b{flex:1;padding:12px;border-radius:6px;text-align:center;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;transition:.15s;}
.cc-btns .cc-b.p{background:var(--blue);color:#fff;}
.cc-btns .cc-b.p:hover{background:var(--blue-d);}
.cc-btns .cc-b.s{background:#fff;border:1.5px solid var(--blue);color:var(--blue);}
.cc-btns .cc-b.s:hover{background:var(--blue);color:#fff;}
@media(max-width:900px){.courses-grid{grid-template-columns:1fr;}}

/* ====== Mock Test Series sub-band ====== */
#courses-again .mocks-band-link{color:var(--orange) !important;border-bottom-color:var(--orange) !important;}
#courses-again .mocks-band-link:hover{color:#fff !important;border-bottom-color:#fff !important;}
/* Mock tile thumb gets a distinct gradient so it reads as a different product family */
.course-card.mock-card .cc-thumb{background:linear-gradient(135deg,#0F5E3A 0%,#1F8A5B 60%,#FEA82F 100%);}

/* ====== Pattern grid ====== */
.pattern-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.pat-card{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:26px;transition:.2s;}
.pat-card:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 8px 20px rgba(74,143,217,.1);}
.pat-card .top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;}
.pat-card .num{background:var(--blue);color:#fff;padding:4px 10px;border-radius:4px;font-size:10px;font-weight:900;letter-spacing:.6px;}
.cutoff-tag{background:var(--gold-l);color:var(--gold-d);padding:4px 10px;border-radius:14px;font-size:10px;font-weight:800;}
.pat-card h4{font-size:20px;font-weight:900;letter-spacing:-.3px;margin-bottom:4px;}
.pat-card .sub{font-size:12px;color:var(--muted);margin-bottom:18px;}
.pat-card .stats-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:var(--bg);padding:14px;border-radius:8px;margin-bottom:14px;}
.pat-card .stats-3 .s{text-align:center;}
.pat-card .stats-3 .n{font-size:22px;font-weight:900;color:var(--blue-d);font-family:var(--serif);line-height:1;}
.pat-card .stats-3 .l{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-weight:700;margin-top:4px;}
.pat-card .topics{font-size:12px;color:#666;line-height:1.6;}
@media(max-width:900px){.pattern-grid{grid-template-columns:1fr;}}

/* ====== Colleges grid (Results-portal tile design, 4 across × 2 rows) ====== */
.colleges-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.col-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px 22px;transition:all .25s;position:relative;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;}
.col-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--orange),var(--orange-d));transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.col-card:hover{transform:translateY(-6px);box-shadow:0 18px 44px rgba(26,26,46,.12);border-color:transparent;}
.col-card:hover::before{transform:scaleX(1);}
.col-card .rank{position:absolute;top:16px;right:16px;background:var(--orange-l);color:var(--orange-d);font-size:10px;font-weight:900;padding:4px 10px;border-radius:20px;letter-spacing:1px;}
.col-card.top .rank{background:var(--orange);color:#fff;}
.col-card .col-mono{width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:14px;letter-spacing:.5px;margin-bottom:14px;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;}
.col-card h4{font-size:17px;font-weight:800;letter-spacing:-.3px;color:var(--ink);margin-bottom:4px;padding-right:54px;line-height:1.2;}
.col-card .city{font-size:11px;color:var(--muted);letter-spacing:.3px;margin-bottom:16px;font-weight:600;}
.col-card .stats{padding:14px 0;border-top:1px dashed var(--border);border-bottom:1px dashed var(--border);margin-bottom:14px;}
.col-card .stat{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;}
.col-card .stat span{color:var(--ink);font-weight:500;}
.col-card .stat b{font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;font-family:Calibri,"Segoe UI","Helvetica Neue",Arial,sans-serif;font-size:16px;letter-spacing:.2px;}
.col-card .stat:first-child b{color:var(--orange-d);font-size:17px;font-weight:900;}
.col-card .place-strip{font-size:11px;color:var(--muted);line-height:1.45;margin-bottom:14px;}
.col-card .footer{margin-top:auto;display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px dashed var(--border);}
.col-card .fee{font-size:11px;color:var(--muted);}
.col-card .fee b{color:var(--ink);font-weight:800;}
.col-card .cta{color:var(--orange-d);font-size:11px;font-weight:800;letter-spacing:.4px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:gap .15s;}
.col-card:hover .cta{gap:8px;}
@media(max-width:1100px){.colleges-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.colleges-grid{grid-template-columns:1fr;}}

/* ====== Timeline ====== */
.timeline{max-width:880px;margin:0 auto;padding-left:40px;position:relative;}
.timeline::before{content:"";position:absolute;left:13px;top:10px;bottom:10px;width:2.5px;background:linear-gradient(180deg,var(--blue) 0%,var(--border) 50%,var(--border) 100%);}
.tr{position:relative;margin-bottom:18px;}
.tr .dot{position:absolute;left:-34px;top:14px;width:18px;height:18px;border-radius:50%;background:#fff;border:3.5px solid var(--border);box-shadow:0 0 0 5px var(--bg);z-index:2;}
.tr.done .dot{background:var(--blue);border-color:var(--blue);}
.tr.done .dot::after{content:"✓";color:#fff;font-size:10px;font-weight:900;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.tr.now .dot{background:var(--gold);border-color:var(--gold);animation:puls 1.4s infinite;}
@keyframes puls{0%,100%{box-shadow:0 0 0 5px var(--bg),0 0 0 8px rgba(245,166,35,.3);}50%{box-shadow:0 0 0 5px var(--bg),0 0 0 14px rgba(245,166,35,0);}}
.tr .body{background:#fff;border:1.5px solid var(--border);border-radius:10px;padding:18px 22px;transition:.15s;}
.tr.now .body{background:#fdf3e0;border-color:var(--gold);border-left:4px solid var(--gold);}
.tr .date{font-size:10px;color:var(--blue-d);font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.tr.done .date{color:var(--muted);}
.tr.now .date{color:var(--gold-d);}
.tr h4{font-size:16px;font-weight:900;margin-bottom:4px;}
.tr p{font-size:13px;color:var(--muted);line-height:1.5;}
.tr .state{display:inline-block;margin-left:8px;font-size:9px;padding:2px 7px;border-radius:10px;font-weight:900;letter-spacing:.5px;vertical-align:middle;}
.tr.done .state{background:#fdf3e0;color:var(--green-d);}
.tr.now .state{background:var(--gold-l);color:var(--gold-d);}

/* ====== Metrics (Social Proof) ====== */
.metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.met{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:24px;border-left:4px solid var(--gold);}
.met .val{font-size:38px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;letter-spacing:-.5px;}
.met .lab{font-size:12px;color:rgba(255,255,255,.75);text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-top:6px;}
@media(max-width:900px){.metrics-grid{grid-template-columns:1fr 1fr;}}

/* ====== Clubs ====== */
.clubs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.club{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px;transition:.25s;cursor:pointer;}
.club:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:var(--blue);}
.cl-ico{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,var(--blue) 0%,var(--blue-d) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;margin-bottom:16px;}
.club h5{font-size:16px;font-weight:900;margin-bottom:6px;}
.club p{font-size:12.5px;color:var(--muted);line-height:1.6;margin-bottom:12px;}
.cl-link{color:var(--blue-d);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;display:inline-flex;align-items:center;min-height:36px;padding:6px 0;}
@media(max-width:900px){.clubs-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.clubs-grid{grid-template-columns:1fr;}}

/* Reveal */
.reveal{opacity:1;transform:translateY(0);transition:opacity .7s ease,transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}



/* ====== TRUST BADGES ROW (Hero) - centered, comfortable wrap ====== */
.trust-row{display:flex;gap:10px;margin-bottom:28px;flex-wrap:wrap;justify-content:center;max-width:780px;margin-left:auto;margin-right:auto;}
.tb{display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);padding:6px 14px;border-radius:20px;font-size:11px;font-weight:700;color:rgba(255,255,255,.9);letter-spacing:.3px;backdrop-filter:blur(6px);}
.tb-ico{font-size:13px;}

/* ====== COURSE PERSUASION TAGS ====== */
.value-tag{position:absolute;bottom:14px;right:14px;background:var(--gold);color:var(--ink);padding:5px 12px;border-radius:4px;font-size:9px;font-weight:900;letter-spacing:.6px;text-transform:uppercase;z-index:2;}
.value-tag.cov{background:#fff;color:var(--blue);}
.seats-tag{position:absolute;bottom:14px;left:14px;background:rgba(0,0,0,.7);color:#fff;padding:4px 10px;border-radius:4px;font-size:9px;font-weight:700;z-index:2;animation:pulse-seat 2s ease-in-out infinite;}
@keyframes pulse-seat{0%,100%{opacity:1;}50%{opacity:.7;}}
.fi{display:inline-block;width:18px;text-align:center;font-size:12px;margin-right:2px;}
.cc-feats li{display:flex;align-items:flex-start;gap:0;}

/* ====== SCORE BADGES (Testimonials) ====== */
.score-badge{display:inline-block;background:var(--gold);color:var(--ink);padding:1px 8px;border-radius:10px;font-size:10px;font-weight:900;margin-left:6px;vertical-align:middle;}

/* ====== RESOURCE TYPE TAGS ====== */
.res-type{display:inline-block;background:var(--blue);color:#fff;padding:2px 8px;border-radius:3px;font-size:8px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:8px;}
.res-type.free{background:var(--gold);color:var(--ink);}

/* ====== PLACEMENT STRIP (Colleges) ====== */
.place-strip{background:var(--gold);color:#0A1F44;padding:8px 16px;font-size:11.5px;font-weight:900;letter-spacing:.3px;margin:-14px -20px 14px;border-radius:0;text-align:center;}
.col-card.top .place-strip{margin-top:10px;}

/* ====== FAQ QUICK LINKS ====== */
.faq-quick{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-bottom:24px;}
.fq-pill{background:#fff;border:1.5px solid var(--border);padding:7px 16px;border-radius:20px;font-size:11px;font-weight:700;color:var(--blue);cursor:pointer;transition:.15s;}
.fq-pill:hover{background:var(--blue);color:#fff;border-color:var(--blue);}

/* ====== MID-PAGE CTA BLOCKS ====== */
.mid-cta{background:linear-gradient(135deg,#FFE9C7 0%,#FFD394 100%);color:var(--ink);padding:18px 22px;display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(254,168,47,.25);border-bottom:1px solid rgba(254,168,47,.25);}
.mid-cta span{font-size:14px;font-weight:800;color:var(--ink);}
.mc-btn{background:var(--orange);color:#fff;padding:11px 24px;border-radius:8px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;transition:.15s;box-shadow:0 4px 12px rgba(254,168,47,.32);}
.mc-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(254,168,47,.42);background:var(--orange-d);}
.mc-btn.alt{background:transparent;color:var(--ink);border:1.5px solid var(--ink);box-shadow:none;}
.mc-btn.alt:hover{background:var(--ink);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.18);}

/* ====== STICKY MOBILE CTA ====== */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:1200;background:#fff;border-top:1px solid var(--border);padding:10px 16px;gap:8px;box-shadow:0 -4px 16px rgba(0,0,0,.1);}
.sc-btn{flex:1;padding:12px;text-align:center;border-radius:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.3px;}
.sc-btn.pri{background:var(--gold);color:var(--ink);}
.sc-btn.sec{background:#fff;color:var(--blue);border:1.5px solid var(--blue);}
@media(max-width:768px){
  .sticky-cta{display:flex;}
  body{padding-bottom:72px;}
}

/* ====== STRATEGY PHASE ICONS ====== */
.bp-ico{font-size:28px;margin-bottom:10px;line-height:1;}

/* ====== MICRO-INTERACTIONS ====== */
.course-card{transition:transform .25s ease,box-shadow .25s ease;}
.course-card:hover{transform:translateY(-8px);box-shadow:0 20px 44px rgba(0,0,0,.1);}
.col-card{transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.col-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.07);border-left-color:var(--gold);}
.club{transition:transform .2s ease,box-shadow .2s ease;}
.club:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(0,0,0,.1);}
.bp-card{transition:transform .2s ease,background .2s ease;}
.bp-card:hover{transform:translateY(-6px) scale(1.02);}
.pat-card{transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;}
.pat-card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 10px 24px rgba(74,143,217,.12);}
.co-card{transition:transform .2s ease,box-shadow .2s ease;}
.co-card:hover{transform:translateY(-5px);box-shadow:0 16px 36px rgba(0,0,0,.1);}
.fac{transition:transform .2s ease,box-shadow .2s ease;}
.fac:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 18px 40px rgba(0,0,0,.12);}
.news-card{transition:transform .2s ease,box-shadow .2s ease;}
.news-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(0,0,0,.09);}

/* ====== SECTION SEPARATORS ====== */
.sec::after{content:"";display:block;max-width:120px;height:3px;background:linear-gradient(90deg,var(--blue) 0%,var(--gold) 100%);margin:0 auto;margin-top:48px;border-radius:2px;opacity:.4;}
.sec.dark::after,.sec.bg::after,.counsellor-sec::after,.testi-section::after{display:none;}



/* ======= HERO: YouTube video background ======= */
.hero{position:relative;min-height:88vh;background:#1a1a1a;color:#fff;overflow:hidden;display:flex;align-items:center;}
.hero-video{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.hero-video iframe{position:absolute;top:50%;left:50%;width:177.78vh;height:56.25vw;min-width:100%;min-height:100%;transform:translate(-50%,-50%);border:0;pointer-events:none;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.65) 0%,rgba(10,10,10,.85) 100%);z-index:1;pointer-events:none;}
.hero-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:60px 22px;width:100%;}

/* (Legacy hero-anchor countdown rules removed — chip now lives in #courses sec-head) */

/* ======= FACULTY CAROUSEL (slim) ======= */
.faculty-slim .fac-ctrl{display:flex;gap:8px;}
.fac-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:1.5px solid var(--border);color:#1a1a1a;font-size:22px;font-weight:300;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;line-height:1;padding-bottom:3px;}
.fac-btn:hover{background:var(--blue);border-color:var(--blue);color:#fff;transform:scale(1.05);}
.faculty-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:8px 4px 20px;scrollbar-width:thin;}
.faculty-rail::-webkit-scrollbar{height:6px;}
.faculty-rail::-webkit-scrollbar-track{background:var(--bg);border-radius:3px;}
.faculty-rail::-webkit-scrollbar-thumb{background:#b5b5b0;border-radius:3px;}
.fac-tile{flex:0 0 230px;background:#fff;border:1px solid var(--border);border-radius:14px;padding:20px;scroll-snap-align:start;transition:.2s;}
.fac-tile:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);border-color:var(--blue);}
.fac-tile .fac-ph{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#1a1a1a 0%,var(--blue) 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;margin-bottom:14px;}
.fac-tile h4{font-size:17px;font-weight:900;letter-spacing:-.2px;margin-bottom:4px;color:#1a1a1a;}
.fac-tile .fac-role{font-size:12px;color:var(--blue);font-weight:800;text-transform:uppercase;letter-spacing:.4px;margin-bottom:10px;}
.fac-tile .fac-creds{display:flex;gap:4px;flex-wrap:wrap;}
.fac-tile .fac-creds span{background:var(--bg);color:#444;font-size:10px;font-weight:700;padding:3px 8px;border-radius:4px;}

/* ======= TESTIMONIALS: Flip-to-view-scorecard (opacity-based, reliable) ======= */
.testi-slim{padding-bottom:14px;background:var(--bg);}
.testi-marquee-section{padding:8px 0 50px;background:var(--bg);overflow:hidden;}
.testi-marquee-section .testi-rows-wrap{position:relative;overflow:hidden;max-width:1400px;margin:0 auto;}
.testi-marquee-section .testi-rows-wrap::before,.testi-marquee-section .testi-rows-wrap::after{content:"";position:absolute;top:0;bottom:0;width:60px;z-index:2;pointer-events:none;}
.testi-marquee-section .testi-rows-wrap::before{left:0;background:linear-gradient(90deg,var(--bg) 0%,transparent 100%);}
.testi-marquee-section .testi-rows-wrap::after{right:0;background:linear-gradient(270deg,var(--bg) 0%,transparent 100%);}
.flip-track{display:flex;gap:16px;animation:flipScroll 55s linear infinite;width:max-content;padding:14px 0;}
.flip-track:hover{animation-play-state:paused;}
@keyframes flipScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.flip-tc{flex:0 0 320px;height:240px;position:relative;cursor:pointer;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(0,0,0,.06);}
.flip-inner{position:relative;width:100%;height:100%;}
.flip-front,.flip-back{position:absolute;inset:0;border-radius:14px;padding:20px;display:flex;flex-direction:column;transition:opacity .3s ease;}
.flip-front{background:#fff;border:1px solid var(--border);opacity:1;z-index:2;}
.flip-back{background:linear-gradient(135deg,#1a1a1a 0%,var(--blue) 100%);color:#fff;opacity:0;z-index:3;justify-content:center;align-items:center;text-align:center;}
.flip-tc:hover .flip-front,.flip-tc.flipped .flip-front{opacity:0;}
.flip-tc:hover .flip-back,.flip-tc.flipped .flip-back{opacity:1;}
.flip-front .stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:10px;}
.flip-front p{font-size:13px;line-height:1.55;color:#333;font-style:italic;margin-bottom:auto;}
.flip-front .who{display:flex;gap:10px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px dashed var(--border);}
.flip-front .who .av{width:36px;height:36px;border-radius:50%;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:13px;flex-shrink:0;}
.flip-front .who b{font-size:12px;color:#1a1a1a;display:block;line-height:1.3;}
.flip-front .who span{font-size:10px;color:#666;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.flip-back .sc-head{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--gold);margin-bottom:8px;}
.flip-back .sc-percentile{font-size:56px;font-weight:900;color:var(--gold);font-family:var(--serif);line-height:1;letter-spacing:-2px;}
.flip-back .sc-percentile .sc-pct{font-size:22px;font-weight:800;letter-spacing:-.3px;margin-left:4px;color:var(--gold);font-family:var(--serif);vertical-align:baseline;opacity:.92;}
.flip-back .sc-label{font-size:11px;color:rgba(255,255,255,.85);font-weight:700;margin:6px 0 14px;letter-spacing:.3px;}
.flip-back .sc-breakdown{display:flex;gap:14px;margin-bottom:10px;}
.flip-back .sc-breakdown > div{text-align:center;}
.flip-back .sc-breakdown span{display:block;font-size:9px;color:rgba(255,255,255,.75);font-weight:800;letter-spacing:.5px;text-transform:uppercase;margin-bottom:3px;}
.flip-back .sc-breakdown b{font-size:17px;font-weight:900;color:#fff;font-family:var(--serif);}
.flip-back .sc-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;border-radius:8px;background:rgba(255,255,255,.08);margin-bottom:10px;}
.flip-back .sc-meta span{font-size:9.5px;color:rgba(255,255,255,.75);font-weight:800;letter-spacing:.6px;text-transform:uppercase;}
.flip-back .sc-meta b{font-size:13px;font-weight:900;color:#fff;font-family:'DM Sans',sans-serif;text-align:right;line-height:1.15;letter-spacing:.1px;}
.flip-back .sc-name{font-size:12px;font-weight:800;color:#fff;border-top:1px solid rgba(255,255,255,.2);padding-top:10px;margin-top:10px;}

/* ======= FAQ: Minimize with View More ======= */
.faq-more-wrap{display:none;}
.faq-more-wrap.expanded{display:block;}
.faq-more-btn{display:block;margin:20px auto 0;background:var(--blue);color:#fff;padding:13px 30px;border:0;border-radius:8px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:.15s;}
.faq-more-btn:hover{background:#E8951F;transform:translateY(-2px);box-shadow:0 6px 16px rgba(254,168,47,.25);}
.faq-more-btn.expanded{background:#1a1a1a;}

/* ======= Counsellor trust row is now removed in HTML ======= */

/* ======= Color & contrast adjustments ======= */
.sec.bg{background:var(--bg);}
.sec.bg h2, .sec.bg h3, .sec.bg h4{color:#1a1a1a;}
.sec:not(.dark):not(.counsellor-sec) p{color:#333;}
.sec:not(.dark):not(.counsellor-sec) .sub-h{color:#555;}

@media(max-width:768px){
  .flip-tc{flex-basis:260px;height:220px;}
  .fac-tile{flex-basis:200px;}
}



/* ===== ELIGIBILITY (compact pointer version) ===== */
.elig-compact{background:#fff;border:1.5px solid var(--border);border-radius:12px;padding:22px 24px;margin-bottom:20px;}
.elig-title{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.elig-ico-mini{width:34px;height:34px;background:linear-gradient(135deg,var(--blue) 0%,#1a1a1a 100%);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;}
.elig-title h3{font-size:16px;font-weight:900;color:#1a1a1a;letter-spacing:-.2px;margin:0;}
.elig-title .elig-sub{font-size:11px;color:#666;font-weight:600;margin-left:auto;}
.elig-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;}
.elig-col-head{font-size:10px;font-weight:900;color:var(--blue);letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;}
.elig-list{list-style:none;padding:0;margin:0;}
.elig-list li{padding:5px 0 5px 22px;position:relative;font-size:12.5px;line-height:1.45;color:#333;font-weight:500;border-bottom:1px dashed #eee;}
.elig-list li:last-child{border-bottom:0;}
.elig-list.yes li::before{content:"✓";position:absolute;left:2px;top:5px;color:#3bb77e;font-weight:900;font-size:14px;}
.elig-list.warn li::before{content:"!";position:absolute;left:4px;top:4px;color:var(--gold);font-weight:900;font-size:15px;background:rgba(245,166,35,.15);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;line-height:1;}
.elig-list.warn li{padding-left:26px;}
@media(max-width:768px){
  .elig-cols{grid-template-columns:1fr;gap:14px;}
  .elig-title{flex-wrap:wrap;}
  .elig-title .elig-sub{margin-left:0;flex-basis:100%;}
}

}



/* ===== CONTRAST + SPACING FIXES ===== */
/* Ensure all body text has minimum WCAG AA contrast */
.sec p, .sub-h{color:#333 !important;}
.sec.dark p, .sec.dark .sub-h, .counsellor-sec p, .counsellor-sec .sub-h{color:rgba(255,255,255,.88) !important;}

/* Section spacing - ensure no section is cut off */
.sec{padding:56px 22px 48px;max-width:1200px;margin:0 auto;}
.sec.dark, .sec.bg{max-width:none;padding-left:0;padding-right:0;}
.sec.dark .sec-inner, .sec.bg .sec-inner{max-width:1200px;margin:0 auto;padding:0 22px;}

/* Ensure testimonials section is visible and properly spaced */
.testi-slim{padding:48px 22px 20px;max-width:1200px;margin:0 auto;}
.testi-slim .sec-head{margin-bottom:8px;}

/* Faculty carousel section also needs clean spacing */
.faculty-slim{padding:48px 22px 56px;max-width:1200px;margin:0 auto;}

/* FAQ section */
#faq{padding-top:56px;padding-bottom:56px;}

/* Force section background colors to not clash */
.sec:not(.dark):not(.bg){background:#fff;}

/* Overview + eligibility extra margin */
#overview .sec-inner > *{margin-bottom:16px;}
#overview .sec-inner > *:last-child{margin-bottom:0;}

/* Hero readability */
.hero h1 .yellow{color:var(--gold) !important;}
.hero .sub{color:rgba(255,255,255,.88) !important;}
.hero-overlay{background:linear-gradient(180deg,rgba(10,10,10,.72) 0%,rgba(10,10,10,.90) 100%) !important;}

/* Counsellor section */
.counsellor-sec{background:#1a1a1a !important;}
.counsellor-sec h2, .counsellor-sec h3{color:#fff !important;}

/* Make sure the mid-CTAs do not double up */
.mid-cta + .mid-cta{display:none;}



/* =================================================================
   OVERVIEW SECTION REDESIGN
================================================================== */
.ov-intro-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:34px;margin-bottom:34px;align-items:stretch;}
.ov-intro-text p{font-size:14.5px;line-height:1.7;color:#333;margin-bottom:14px;}
.ov-intro-text p:last-child{margin-bottom:0;}
.ov-intro-text b{color:#1a1a1a;font-weight:800;}
.ov-intro-text .hi{background:linear-gradient(180deg,transparent 55%,rgba(245,166,35,.35) 55%);padding:1px 2px;color:#1a1a1a;font-weight:700;}

.ov-highlight-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:linear-gradient(135deg,#1a1a1a 0%,#7a5a1f 100%);padding:22px;border-radius:14px;color:#fff;min-height:280px;align-content:center;}
.ohs{text-align:center;padding:18px 12px;border-radius:10px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:.2s;display:flex;flex-direction:column;justify-content:center;}
.ohs:hover{background:rgba(245,166,35,.12);border-color:rgba(245,166,35,.3);transform:translateY(-2px);}
.ohs-n{font-size:34px;font-weight:900;color:var(--gold);line-height:1;letter-spacing:-1.2px;font-family:var(--serif);margin-bottom:6px;}
.ohs-l{font-size:11px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:.5px;text-transform:uppercase;}

.ov-facts-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}

/* Eligibility compact card (NO explanations, only pointers) */
.elig-card-new{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:26px;}
.elig-head-new{display:flex;gap:14px;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.elig-ico-new{width:46px;height:46px;background:linear-gradient(135deg,#FEA82F 0%,#1a1a1a 100%);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.elig-head-new h3{font-size:18px;font-weight:900;color:#1a1a1a;letter-spacing:-.3px;line-height:1.2;}
.elig-head-new span{font-size:11px;color:#666;font-weight:700;text-transform:uppercase;letter-spacing:.6px;}
.elig-cols-new{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.elig-col-new .elig-col-lbl{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border);}
.elig-col-new.yes .elig-col-lbl{color:#3bb77e;}
.elig-col-new.warn .elig-col-lbl{color:var(--gold);}
.lbl-tick,.lbl-bang{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;}
.lbl-tick{background:#3bb77e;}
.lbl-bang{background:var(--gold);color:#1a1a1a;}
.elig-col-new ul{list-style:none;padding:0;margin:0;}
.elig-col-new ul li{font-size:12.5px;line-height:1.5;color:#333;padding:6px 0 6px 16px;position:relative;font-weight:500;}
.elig-col-new.yes ul li::before{content:"•";position:absolute;left:4px;color:#3bb77e;font-weight:900;}
.elig-col-new.warn ul li::before{content:"•";position:absolute;left:4px;color:var(--gold);font-weight:900;}

/* Quick Facts (updated styling for consistency) */
.ov-facts{background:var(--bg);border-radius:14px;padding:26px;border-left:4px solid var(--blue);}
.ov-facts h4{font-size:11px;color:var(--blue);text-transform:uppercase;letter-spacing:1.2px;font-weight:800;margin-bottom:14px;}
.ov-facts .row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--border);font-size:12.5px;gap:12px;line-height:1.4;}
.ov-facts .row:last-child{border:0;}
.ov-facts .row .k{color:#555;flex-shrink:0;font-weight:600;}
.ov-facts .row .v{font-weight:800;color:#1a1a1a;text-align:right;}

@media(max-width:900px){
  .ov-intro-row, .ov-facts-row{grid-template-columns:1fr;}
  .elig-cols-new{grid-template-columns:1fr;}
}

/* =================================================================
   CONTRAST FIXES (font + background)
================================================================== */
/* Ensure consistent body text on light sections */
.sec:not(.dark):not(.counsellor-sec) p{color:#333;}
.sec:not(.dark):not(.counsellor-sec) .sub-h{color:#555;font-weight:500;}
.sec h2,.sec h3,.sec h4{color:#1a1a1a;}
.sec.dark h2,.sec.dark h3,.sec.dark h4,
.sec.dark p,.sec.dark .sub-h{color:#fff;}
.sec.dark .sub-h{color:rgba(255,255,255,.75);}

/* Flip card text color reinforcement (was low contrast) */
.flip-front p{color:#333;font-weight:500;}
.flip-front .who b{color:#1a1a1a;font-weight:800;}
.flip-front .who span{color:#666;}

/* Course feature list contrast */
.cc-feats li{color:#333;font-weight:500;}

/* Faculty tile contrast */
.fac-tile h4{color:#1a1a1a;}
.fac-tile .fac-role{color:var(--blue);}
.fac-tile .fac-creds span{color:#444;}

/* FAQ accordion text */
.fq summary{color:#1a1a1a;font-weight:700;}
.fq[open] summary{color:var(--blue);}

/* =================================================================
   DESIGN GAP FIXES (testimonial cards, section spacing)
================================================================== */
/* Ensure testimonial flip cards have sufficient height and visibility */
.flip-tc{height:260px;}
.flip-front,.flip-back{overflow:hidden;}
.flip-front p{font-size:13px;line-height:1.5;-webkit-line-clamp:5;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;}

/* Ensure testimonials section has proper background */
.testi-marquee-section{padding:24px 0 60px;background:var(--bg);}

/* Section padding consistency */
.sec{padding:60px 22px;}
.sec.dark{padding:60px 22px;}

/* Hero stats text contrast on black background */
.hero-stats .n{color:var(--gold);}
.hero-stats .l{color:rgba(255,255,255,.75);}

/* Trust row on hero - better visibility */
.trust-row .tb{color:rgba(255,255,255,.95);background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);}

/* Counsellor section clean contrast */
.counsellor-sec h2,.counsellor-sec h3{color:#fff;}
.counsellor-sec p{color:rgba(255,255,255,.85);}



/* (old testimonials CSS replaced by catkingMarquee rule below) */

/* (removed overly-broad club color rules, replaced below) */



/* ======= FREE RESOURCES: per-card text contrast ======= */
/* Override the section-level p{color:#333} rule for club cards */
.clubs-grid .club h5,
.clubs-grid .club p,
.clubs-grid .club .res-type,
.clubs-grid .club .cl-link,
.clubs-grid .club .cl-ico{color:#fff !important;}
.clubs-grid .club p{color:rgba(255,255,255,.92) !important;font-weight:500 !important;}
.clubs-grid .club .res-type{background:rgba(255,255,255,.2) !important;color:#fff !important;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:800;letter-spacing:.5px;display:inline-block;margin-bottom:10px;}
.clubs-grid .club .cl-link{color:#fff !important;font-weight:800 !important;text-transform:uppercase;font-size:11px;letter-spacing:.5px;display:inline-block;margin-top:8px;}
.clubs-grid .club .cl-ico{background:rgba(255,255,255,.15) !important;width:44px;height:44px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:14px;color:#fff !important;}

/* Gold card (nth-child 4n+3) needs DARK text */
.clubs-grid .club:nth-child(4n+3) h5,
.clubs-grid .club:nth-child(4n+3) p,
.clubs-grid .club:nth-child(4n+3) .res-type,
.clubs-grid .club:nth-child(4n+3) .cl-link{color:#1a1a1a !important;}
.clubs-grid .club:nth-child(4n+3) p{color:rgba(26,26,26,.85) !important;}
.clubs-grid .club:nth-child(4n+3) .res-type{background:rgba(26,26,26,.15) !important;color:#1a1a1a !important;}
.clubs-grid .club:nth-child(4n+3) .cl-ico{background:rgba(26,26,26,.12) !important;color:#1a1a1a !important;}
.clubs-grid .club:nth-child(4n+3) .cl-link{color:#1a1a1a !important;}

/* Also make sure cards have proper padding and layout */
.clubs-grid .club{padding:26px 22px !important;min-height:220px;display:flex;flex-direction:column;}
.clubs-grid .club h5{font-size:17px !important;font-weight:900 !important;margin-bottom:8px !important;line-height:1.3;}
.clubs-grid .club p{font-size:13px !important;line-height:1.55 !important;opacity:1 !important;margin-bottom:auto;}




/* =================================================================
   OVERVIEW UNIFIED LAYOUT
   Left: prose (top) + eligibility (bottom) stacked
   Right: Quick Facts (full-height)
================================================================== */
.ov-unified{display:flex;gap:28px;align-items:stretch;flex-wrap:wrap;}
.ov-left{flex:1 1 600px;min-width:300px;}
.ov-right{flex:1 1 360px;min-width:300px;max-width:460px;}
.ov-left-inner{display:flex;flex-direction:column;gap:22px;}


/* Overview prose block */
.ov-prose{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:28px;}
.ov-prose p{font-size:14.5px;line-height:1.7;color:#333;margin-bottom:14px;font-weight:500;}
.ov-prose p:last-child{margin-bottom:0;}
.ov-prose p b{color:#1a1a1a;font-weight:800;}
.ov-prose p .hi{background:linear-gradient(180deg,transparent 55%,rgba(245,166,35,.35) 55%);padding:1px 2px;color:#1a1a1a;font-weight:700;}

/* Eligibility card (matches prose card styling for unified look) */
.elig-card-unified{background:#fff;border:1.5px solid var(--border);border-radius:14px;padding:24px;flex:1;}
.elig-head-u{display:flex;gap:12px;align-items:center;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--border);}
.elig-ico-u{width:42px;height:42px;background:linear-gradient(135deg,#FEA82F 0%,#1a1a1a 100%);color:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.elig-head-u h3{font-size:17px;font-weight:900;color:#1a1a1a;letter-spacing:-.3px;line-height:1.2;margin-bottom:2px;}
.elig-head-u span{font-size:10px;color:#666;font-weight:700;text-transform:uppercase;letter-spacing:.6px;}
.elig-cols-u{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.elig-col-u .elig-col-lbl-u{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;margin-bottom:10px;padding-bottom:8px;border-bottom:1px dashed var(--border);}
.elig-col-u.yes .elig-col-lbl-u{color:#3bb77e;}
.elig-col-u.warn .elig-col-lbl-u{color:var(--gold);}
.lbl-tick-u,.lbl-bang-u{display:inline-flex;width:18px;height:18px;border-radius:50%;align-items:center;justify-content:center;font-size:10px;font-weight:900;color:#fff;}
.lbl-tick-u{background:#3bb77e;}
.lbl-bang-u{background:var(--gold);color:#1a1a1a;}
.elig-col-u ul{list-style:none;padding:0;margin:0;}
.elig-col-u ul li{font-size:12px;line-height:1.5;color:#333;padding:5px 0 5px 14px;position:relative;font-weight:500;}
.elig-col-u.yes ul li::before{content:"•";position:absolute;left:2px;color:#3bb77e;font-weight:900;font-size:14px;line-height:1;top:8px;}
.elig-col-u.warn ul li::before{content:"•";position:absolute;left:2px;color:var(--gold);font-weight:900;font-size:14px;line-height:1;top:8px;}

/* Quick Facts right column (full-height, same styling as prose card for unified look) */
.ov-facts-unified{background:#fff;border:1.5px solid var(--border);border-left:4px solid var(--blue);border-radius:14px;padding:24px 22px;flex:1;display:flex;flex-direction:column;}
.qf-head{padding-bottom:14px;margin-bottom:6px;border-bottom:1px solid var(--border);}
.qf-head h4{font-size:14px;color:var(--blue);text-transform:uppercase;letter-spacing:1.2px;font-weight:900;margin-bottom:3px;}
.qf-sub{font-size:10px;color:#888;font-weight:700;text-transform:uppercase;letter-spacing:.5px;}
.qf-list{flex:1;}
.qf-list .row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border);font-size:12px;gap:10px;line-height:1.45;}
.qf-list .row:last-child{border:0;}
.qf-list .row .k{color:#555;flex-shrink:0;font-weight:600;min-width:150px;}
.qf-list .row .v{font-weight:800;color:#1a1a1a;text-align:right;flex:1;}

@media(max-width:900px){
  .ov-unified{grid-template-columns:1fr;}
  .elig-cols-u{grid-template-columns:1fr;}
}




/* =================================================================
   TESTIMONIALS MARQUEE - DEFINITIVE FIX
   Uses unique animation name 'catkingMarquee' to avoid ANY conflict
   with the older flipScroll/t-scroll/scrollx rules above.
================================================================== */
@keyframes catkingMarquee {
  0%   { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(-50%, 0, 0); }
}

.testi-marquee-section {
  padding: 30px 0 60px !important;
  background: var(--bg) !important;
  overflow: hidden !important;
  width: 100% !important;
}

.testi-marquee-section .testi-rows-wrap {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

.testi-marquee-section .testi-rows-wrap::before,
.testi-marquee-section .testi-rows-wrap::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 80px;
  z-index: 3;
  pointer-events: none;
}
.testi-marquee-section .testi-rows-wrap::before {
  left: 0;
  background: linear-gradient(90deg, var(--bg) 0%, transparent 100%);
}
.testi-marquee-section .testi-rows-wrap::after {
  right: 0;
  background: linear-gradient(270deg, var(--bg) 0%, transparent 100%);
}

.testi-marquee-section .flip-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px !important;
  width: max-content !important;
  padding: 16px 0 !important;
  animation: catkingMarquee 45s linear infinite !important;
  animation-play-state: running !important;
  will-change: transform;
}

.testi-marquee-section .flip-track:hover {
  animation-play-state: paused !important;
}

/* Card sizing */
.testi-marquee-section .flip-tc {
  flex: 0 0 300px !important;
  width: 300px !important;
  height: 260px !important;
  perspective: 1200px;
  cursor: pointer;
}



/* Sub-nav active state slider - smoother transition */
.sub-nav a {
  transition: color .25s ease, border-bottom-color .25s ease, background .15s ease !important;
  padding:18px 10px !important;
  font-size:11px !important;
  letter-spacing:.4px !important;
}
.sub-nav-inner{
  gap:2px;
}
.sub-nav-ctas{
  margin-left:auto;
  padding-left:10px;
  display:flex;
  gap:8px;
  flex-shrink:0;
}
.sub-nav-ctas .cta{
  white-space:nowrap;
  font-size:11.5px !important;
  padding:8px 14px !important;
}
.sub-nav a.act {
  color: var(--blue-d) !important;
  border-bottom-color: var(--blue) !important;
  border-bottom-width: 3px !important;
}
.sub-nav a:hover:not(.act):not(.cta) {
  color: var(--dark) !important;
  border-bottom-color: var(--border) !important;
}
@media (max-width:1280px){
  .sub-nav a{padding:18px 8px !important;font-size:10.5px !important;}
  .sub-nav-ctas .cta{font-size:11px !important;padding:8px 12px !important;}
}
@media (max-width:1100px){
  .sub-nav a{padding:18px 6px !important;font-size:10px !important;}
  /* At smaller laptop widths drop the lowest-priority items first */
  .sub-nav a[href="#dates"],
  .sub-nav a[href="#resources"]{display:none;}
}
@media (max-width:1024px){
  /* Drop next tier - Insights */
  .sub-nav a[href="#insights"]{display:none;}
}
@media (max-width:920px){
  /* At tablet drop Faculty (already disabled), Strategy, Pattern, and the ghost CTA */
  .sub-nav a[href="#faculty"],
  .sub-nav a[href="#strategy"],
  .sub-nav a[href="#pattern"]{display:none;}
  .sub-nav-ctas .cta-ghost{display:none;}
}

@media (max-width:768px){
  /* On mobile/small tablet, sub-nav link items are unusable — hide them all and keep only the Buy Now CTA.
     Users still navigate via top-nav mega menus and the on-page section flow. */
  .sub-nav .sub-nav-inner > a{display:none !important;}
  .sub-nav-ctas{margin-left:0 !important;width:100% !important;justify-content:center !important;display:flex !important;gap:10px !important;}
  .sub-nav-ctas .cta{flex:0 1 auto !important;}
  /* Show the Book a Mentorship Call CTA back on mobile (was hidden at 920px) */
  .sub-nav-ctas .cta-ghost{display:inline-flex !important;}
  .sub-nav-inner{padding:10px 14px !important;justify-content:center;}
}



/* =================================================================
   WHY CATKING pin-card dark variant contrast fix
   My earlier .sec h3/.sec p rules inadvertently forced dark text
   on .pin-card.dk children. Override with higher specificity here.
================================================================== */
.pin-card.dk,
.pin-card.dk * {
  color: #fff;
}
.pin-card.dk h2,
.pin-card.dk h3,
.pin-card.dk h4,
.pin-card.dk .ct-left h3 {
  color: #fff !important;
}
.pin-card.dk p,
.pin-card.dk .ct-left p,
.pin-card.dk .sub-h {
  color: rgba(255, 255, 255, 0.82) !important;
}
.pin-card.dk ul li,
.pin-card.dk .ct-left ul li {
  color: rgba(255, 255, 255, 0.9) !important;
}
.pin-card.dk .ct-left h3 .acc {
  color: var(--gold) !important;
}
.pin-card.dk .ct-left .tag {
  background: rgba(255, 255, 255, 0.12) !important;
  color: var(--gold) !important;
}
.pin-card.dk .count {
  color: rgba(255, 255, 255, 0.28) !important;
}
.pin-card.dk .btn-o {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

/* Same treatment for .pin-card.br (brown/navy variant if used) */
.pin-card.br,
.pin-card.br * {
  color: #fff;
}
.pin-card.br h3, .pin-card.br p, .pin-card.br li {
  color: #fff !important;
}
.pin-card.br p {
  color: rgba(255, 255, 255, 0.82) !important;
}

/* ============================================================ */
/* ROYAL THEME OVERRIDES (last cascade, intentionally !important) */
/* Aligned to CATKing Results page + brand manual:                */
/*   ink black, brand orange, royal blue, white, alternating.     */
/*   Display numbers in Georgia serif, tabular, tight tracking.   */
/* ============================================================ */

/* ---- Top nav: royal black with orange accent ---- */







/* ---- Display serif numbers: tighter tracking so they don't look stretched ---- */
.hero-stats .hs .n,
.bp-card .num,
.metric .n,
.is-text .stat-row .s .n,
.coll-card .cutoff-row .v,
.composite .comp-row .pct,
.pat-card .stats-3 .s .n,
.pattern-footer .item .big,
.pin-card .count,
.donut-rows .vl,
.pf-cell .pv,
.fss b,
.counsellor-card .ccl-trust .t .n,
.cc-price .now,
.pat-card .stats-3 .n,
.col-card .stat b,
.met .val,
.flip-back .sc-percentile,
.flip-back .sc-breakdown b,
.ohs-n{
  font-family:var(--serif) !important;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
  letter-spacing:-1.2px;
  font-weight:900;
}
/* Bigger display numbers want even tighter tracking */
.metric .n,
.met .val,
.flip-back .sc-percentile,
.ohs-n{ letter-spacing:-2.2px !important; }
.hero-stats .hs .n,
.bp-card .num,
.pattern-footer .item .big,
.fee-card .total{
  letter-spacing:-1.6px !important;
  font-family:var(--serif) !important;
  font-variant-numeric:tabular-nums;
}
/* (Dark-glass hero-countdown override removed — chip now lives in #courses sec-head) */

/* ---- Bigger headings, tighter tracking (fix "stretched feel") ---- */
.sec h2{
  font-size:56px !important;
  letter-spacing:-2.2px !important;
  line-height:1.02 !important;
  font-weight:900 !important;
}
.sec h2 .accent,
.sec.dark h2 .accent,
.pin-card .ct-left h3 .acc,
.pin-card.dk .ct-left h3 .acc,
.pin-card.br .ct-left h3 .acc,
.fs-text h3 .accent,
.counsellor-card .ccl-left h2 .accent{
  color:var(--orange) !important;
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  letter-spacing:-1px !important;
}
.sec h2 .serif{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:600;color:var(--orange);}
@media (max-width:760px){
  .sec h2{font-size:38px !important;letter-spacing:-1.3px !important;}
}

/* Hero h1 stays large, but tighten tracking and re-color the highlight */
.hero h1{font-size:92px !important;letter-spacing:-3.5px !important;line-height:.94 !important;}
.hero h1 .lite{font-size:60px !important;letter-spacing:-2.2px !important;font-weight:300 !important;}
.hero h1 .yellow{color:var(--orange) !important;}
.hero h1 .royal{color:var(--blue) !important;}
.hero h1 .serif{font-family:var(--serif);font-style:italic;font-weight:400;color:#fff;}
@media (max-width:760px){.hero h1{font-size:42px !important;letter-spacing:-1.4px !important;} .hero h1 .lite{font-size:28px !important;}}
@media (max-width:480px){
  .hero h1{font-size:40px !important;letter-spacing:-1.3px !important;}
  .hero h1 .lite{font-size:26px !important;}
  .hero-title-line1{white-space:normal !important;}
}
@media (max-width:380px){.hero h1{font-size:34px !important;letter-spacing:-1.1px !important;} .hero h1 .lite{font-size:22px !important;} .hero-title-accent{font-size:52px !important;}}

/* Section eyebrow gets bolder to match Results page */
.sec .eyebrow,.sec-head .eyebrow{font-size:11px !important;font-weight:800 !important;letter-spacing:2px !important;color:var(--orange) !important;text-transform:none !important;}

/* ---- Buttons: orange primary, royal-blue accent secondary ---- */
.hero .btn.p{background:var(--orange) !important;color:#fff !important;box-shadow:0 6px 22px rgba(254,168,47,.4);}
.hero .btn.p:hover{background:var(--orange-d) !important;}
.sub-nav a:hover,.sub-nav a.act{color:var(--blue) !important;border-bottom-color:var(--orange) !important;}
.sub-nav .cta{background:var(--orange) !important;color:#fff !important;}
.sub-nav .cta:hover{background:var(--orange-d) !important;}

/* Hero supporting marquee turns into orange band, royal contrast */
.marquee{background:var(--orange) !important;color:var(--ink) !important;border-bottom:1px solid var(--orange-d) !important;}
.marquee-track span::before{color:var(--ink) !important;}

/* ============ ROYAL ALTERNATION: section backgrounds ============ */
/* Pattern: light --> dark --> light --> dark across the page */
/* Already-dark sections keep their dark; we add new dark bands. */

#pattern{background:var(--navy);color:#fff;max-width:none;padding-left:0;padding-right:0;}
#pattern .sec-inner,#pattern > *{max-width:1200px;margin-left:auto;margin-right:auto;}
#pattern h2,#pattern h3,#pattern h4{color:#fff !important;}
#pattern p{color:rgba(255,255,255,.82) !important;}
#pattern .pat-card{background:rgba(255,255,255,.04) !important;border:1px solid rgba(255,255,255,.1) !important;color:#fff;}
#pattern .pat-card h3,#pattern .pat-card h4{color:#fff !important;}
#pattern .pat-card p{color:rgba(255,255,255,.78) !important;}
#pattern .pat-card .stats-3 .s .n,#pattern .pat-card .stats-3 .n{color:var(--orange) !important;}
#pattern .pattern-footer{border-top:1px solid rgba(255,255,255,.1);}
#pattern .pattern-footer .item .lbl{color:rgba(255,255,255,.7) !important;}
#pattern .pattern-footer .item .big{color:var(--orange) !important;}

#testimonials{background:var(--ink) !important;color:#fff;max-width:none !important;padding-left:0 !important;padding-right:0 !important;}
.testi-slim{background:var(--ink) !important;}
.testi-slim > .sec-head h2,
.testi-slim > .sec-head h3,
.testi-slim > .sec-head .sub-h,
.testi-slim > .sec-head p{color:#fff !important;}
.testi-slim > .sec-head .sub-h,
.testi-slim > .sec-head p{color:rgba(255,255,255,.82) !important;}
.testi-slim .right-link{color:var(--orange) !important;border-bottom-color:var(--orange) !important;}

/* Testimonials marquee lives in a SIBLING section -- target it directly so
   the dark band carries through and gradient fades blend with --ink */
.testi-marquee-section{background:var(--ink) !important;padding-top:8px !important;padding-bottom:60px !important;}
.testi-marquee-section .testi-rows-wrap::before{background:linear-gradient(90deg,var(--ink),transparent) !important;}
.testi-marquee-section .testi-rows-wrap::after{background:linear-gradient(270deg,var(--ink),transparent) !important;}

#courses-again{background:var(--ink) !important;color:#fff;max-width:none !important;padding-left:0 !important;padding-right:0 !important;overflow-x:hidden;}
#courses-again > *{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px;}
#courses-again > .sec-head h2,
#courses-again > .sec-head h3,
#courses-again > .sec-head .sub-h,
#courses-again > .sec-head p{color:#fff !important;}
#courses-again > .sec-head .sub-h,
#courses-again > .sec-head p{color:rgba(255,255,255,.82) !important;}
/* Course cards stay as white tiles -- inner content stays dark for legibility */
#courses-again .c-card,#courses-again .course-card{background:#fff !important;color:var(--text) !important;}
#courses-again .c-card h3,#courses-again .c-card h4,#courses-again .course-card h3,#courses-again .course-card h4{color:var(--ink) !important;}
#courses-again .c-card p,#courses-again .course-card p{color:#444 !important;}
#courses-again .right-link{color:var(--orange) !important;border-bottom-color:var(--orange) !important;}
#courses-again .pill{background:rgba(255,255,255,.06) !important;border:1px solid rgba(255,255,255,.16) !important;color:#fff !important;}
#courses-again .pill.act{background:var(--orange) !important;border-color:var(--orange) !important;color:var(--ink) !important;}

#faculty{background:var(--navy) !important;color:#fff;max-width:none !important;padding-left:0 !important;padding-right:0 !important;}
#faculty > *{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:22px;padding-right:22px;}
.faculty-slim{background:var(--navy) !important;}
/* Section-level head text only -- do NOT cascade into tile cards */
.faculty-slim > .sec-head h2,
.faculty-slim > .sec-head h3,
.faculty-slim > .sec-head .sub-h,
.faculty-slim > .sec-head p{color:#fff !important;}
.faculty-slim > .sec-head .sub-h,
.faculty-slim > .sec-head p{color:rgba(255,255,255,.82) !important;}
/* Faculty rail scrollbar visible on dark */
.faculty-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.06) !important;}
.faculty-rail::-webkit-scrollbar-thumb{background:rgba(254,168,47,.5) !important;}
/* Faculty tiles stay as crisp white cards on navy -- restore inner text colors */
.fac-tile{background:#fff !important;border:1px solid rgba(255,255,255,.1) !important;}
.fac-tile:hover{border-color:var(--orange) !important;box-shadow:0 12px 28px rgba(254,168,47,.25) !important;}
.fac-tile .fac-ph{background:linear-gradient(135deg,var(--ink) 0%,var(--blue) 100%) !important;}
.fac-tile h4{color:var(--ink) !important;}
.fac-tile .fac-role{color:var(--blue) !important;}
.fac-tile .fac-creds span{color:#444 !important;background:var(--bg-warm) !important;}
.fac-btn{background:rgba(255,255,255,.08) !important;color:#fff !important;border:1px solid rgba(255,255,255,.18) !important;}
.fac-btn:hover{background:var(--orange) !important;border-color:var(--orange) !important;color:var(--ink) !important;}

/* Light sections that previously felt washed out get a warm cream tint */
#syllabus,#colleges,#dates,#resources,#faq{background:var(--bg-warm);}
#overview{background:#fff;}
#courses{background:#fff;}

/* ---- Kill "claudy box" feeling: flatter cards on dark sections, ----
   ---- orange edge accents instead of soft rounded shadows.           */
.sec.dark .craft-card,
.sec.dark .pin-card,
.sec.dark .bp-card,
.sec.dark .metric{
  background:rgba(255,255,255,.04) !important;
  border:1px solid rgba(255,255,255,.1) !important;
  border-radius:8px !important;
  box-shadow:none !important;
}
.sec.dark .craft-card:hover,
.sec.dark .bp-card:hover{border-color:var(--orange) !important;}

/* Light sections: trim shadows so cards read as flat tiles, not bubbles */
.craft-card,.c-card,.coll-card,.col-card,.tcar-card,.audit-card,.trust-card,
.fee-card,.f-card,.r-card,.faq-card,.t-card,.testimonial,.tile,.fac-card{
  box-shadow:0 1px 3px rgba(15,15,28,.06) !important;
  border-radius:10px !important;
}
.craft-card:hover,.c-card:hover,.coll-card:hover,.col-card:hover{
  box-shadow:0 4px 14px rgba(254,168,47,.18) !important;
  border-color:var(--orange) !important;
  transform:translateY(-2px);
}

/* ---- Solid, single-coloured icon system (per brand manual) ---- */
.fi{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  width:18px;height:18px;
  background:var(--orange);
  color:#fff !important;
  border-radius:50%;
  font-size:10px !important;
  font-weight:900;
  margin-right:8px;
  flex-shrink:0;
  vertical-align:-3px;
}
.tb-ico{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;height:14px;
  color:var(--orange);
  font-size:11px;
  font-weight:900;
  margin-right:5px;
}
/* Top-nav SVG icons inherit nav text colour and stay subtle */




/* Why-CATKing pin-card dark variants on the new royal background */
.pin-card.dk{background:var(--navy) !important;border:1px solid rgba(254,168,47,.18) !important;}
.pin-card.dk .acc{color:var(--orange) !important;}

/* Counter-balance: any leftover .gold accents read as orange now */
.hero .vid-tag .dot,.hero .eyebrow .pip,

/* Stat blocks on dark hero want bigger, bolder numbers without monospace stretch */
.hero-stats .hs .n{
  font-family:var(--serif) !important;
  font-size:42px !important;
  font-weight:900 !important;
  letter-spacing:-1.8px !important;
  color:var(--orange) !important;
  line-height:1;
}
.hero-stats .hs .l{font-size:11px;letter-spacing:1.4px;color:rgba(255,255,255,.7);text-transform:none;font-weight:700;margin-top:6px;}

/* Trust badges on hero: cleaner, no claudy box look */
.trust-row .tb{
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:6px !important;
  padding:7px 12px !important;
  box-shadow:none !important;
  font-size:11px;
  letter-spacing:.3px;
}

/* Final CTA / counsellor band: deep ink with orange edge */
#counsellor{background:var(--ink) !important;}
#counsellor .counsellor-card{border-top:3px solid var(--orange) !important;}

/* End royal theme overrides */

/* Kill duplicate checkmark: when .fi span carries the icon, suppress the
   ::before that originally drew a separate ✓ */
.cc-feats li{padding-left:0 !important;}
.cc-feats li::before{content:"" !important;display:none !important;}
.c-card .body .feats div::before{content:"" !important;}

/* =================================================================
   v4 FINAL CASCADE
   1. New centered hero (NMAT-style, video bg, italic Cormorant accent)
   2. Slim course tiles (Featured Courses row only)
   3. Global tile spacing tightening
   4. Font legibility upgrade
   5. Mobile responsive pass
   ================================================================= */

/* ---- 1. HERO: centered, large, with local video bg ---- */
.hero{
  position:relative !important;
  min-height:auto !important;
  height:auto !important;
  background:var(--ink,#0f0f1c) !important;
  color:#fff;
  overflow:hidden;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:96px 0 64px !important;
}
.hero-video{position:absolute !important;inset:0 !important;z-index:0 !important;overflow:hidden;pointer-events:none;display:block !important;}
.hero-video video,.hero-video iframe{
  position:absolute !important;
  top:0;left:0;
  width:100% !important;height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  opacity:.78 !important;
  filter:saturate(.85) brightness(.78);
  border:0;
  pointer-events:none;
  animation:heroZoom 18s ease-in-out infinite alternate;
}
@keyframes heroZoom{from{transform:scale(1.0);}to{transform:scale(1.06);}}
.hero-overlay{
  position:absolute !important;inset:0 !important;z-index:1 !important;
  background:linear-gradient(to bottom,rgba(8,12,20,.55) 0%,rgba(8,12,20,.18) 35%,rgba(8,12,20,.25) 60%,rgba(8,12,20,.72) 85%,rgba(8,12,20,1) 100%) !important;
}
.hero-overlay-bottom{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at center,transparent 40%,rgba(8,12,20,.55) 100%);pointer-events:none;}
.hero-content{
  position:relative;z-index:3;width:100%;max-width:880px;
  padding:0 32px;margin-top:0;
  display:flex;flex-direction:column;align-items:center;
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(8,12,20,.55);
  border:1px solid rgba(255,255,255,.25);
  color:#fff;
  font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;
  padding:10px 22px;border-radius:50px;margin-bottom:30px;
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  font-family:'DM Sans',sans-serif;
  animation:fadeUp .8s ease both;
}
.hero-badge::before{content:'';width:7px;height:7px;background:var(--orange);border-radius:50%;animation:hpulse 1.8s infinite;}
@keyframes hpulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.5;transform:scale(1.4);}}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}

/* The big two-line title: white DM Sans + Cormorant italic orange */
.hero-title-line1{
  display:block;
  white-space:nowrap;
}
.hero-title{
  font-family:'DM Sans',sans-serif !important;
  font-size:clamp(42px,6.6vw,76px) !important;
  font-weight:800 !important;
  line-height:1.0 !important;
  color:#fff !important;
  margin:0 0 4px !important;
  letter-spacing:-1.8px !important;
  text-shadow:0 2px 30px rgba(0,0,0,.55);
  animation:fadeUp .8s .15s ease both;
}
.hero-title-accent{
  display:block;
  font-family:'Cormorant Garamond',Georgia,serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:clamp(54px,8.6vw,98px) !important;
  color:var(--orange) !important;
  line-height:0.98 !important;
  letter-spacing:-1px !important;
  margin-top:4px;
}
.hero-title-accent .hero-div{
  display:inline-block;
  font-style:normal;
  color:rgba(254,168,47,.45);
  font-weight:300;
  font-size:.7em;
  vertical-align:middle;
  margin:0 .15em;
  transform:translateY(-.06em);
}
.hero-sub{
  font-size:clamp(16px,1.7vw,19px) !important;
  color:rgba(232,235,242,.88) !important;
  margin:18px auto 26px !important;
  max-width:620px !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  text-shadow:0 1px 12px rgba(0,0,0,.6);
  animation:fadeUp .8s .35s ease both;
}
.hero-sub strong{color:#fff;font-weight:700;}

/* Pill CTAs */
.hero-ctas{display:flex !important;gap:14px !important;flex-wrap:wrap;justify-content:center;margin-bottom:24px !important;animation:fadeUp .8s .5s ease both;}
.hero-ctas .btn-primary{
  background:var(--orange) !important;color:#0f0f1c !important;
  border-radius:50px !important;padding:16px 36px !important;
  font-size:14.5px !important;font-weight:800 !important;letter-spacing:.2px;
  box-shadow:0 6px 24px rgba(254,168,47,.36) !important;
  transition:all .2s;font-family:'DM Sans',sans-serif !important;
  display:inline-flex;align-items:center;gap:6px;
  border:0 !important;
}
.hero-ctas .btn-primary:hover{background:var(--orange-d) !important;color:#0f0f1c !important;transform:translateY(-2px);box-shadow:0 12px 36px rgba(254,168,47,.5) !important;}
.hero-ctas .btn-outline{
  border-radius:50px !important;
  border:1.5px solid rgba(255,255,255,.55) !important;
  color:#fff !important;
  padding:16px 36px !important;
  font-size:14.5px !important;font-weight:700 !important;
  background:rgba(255,255,255,.06) !important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:all .2s;font-family:'DM Sans',sans-serif !important;
  display:inline-flex;align-items:center;gap:6px;
}
.hero-ctas .btn-outline:hover{border-color:#fff !important;background:rgba(255,255,255,.14) !important;color:#fff !important;transform:translateY(-2px);}

/* Trust chip row */
.hero .trust-row{display:flex !important;gap:10px 18px !important;flex-wrap:wrap;justify-content:center;margin-bottom:28px !important;border:0 !important;padding:0 !important;animation:fadeUp .8s .65s ease both;}
.hero .tb{
  display:inline-flex !important;align-items:center;gap:7px;
  background:rgba(8,12,20,.55) !important;
  border:1px solid rgba(255,255,255,.18) !important;
  color:rgba(255,255,255,.92) !important;
  padding:8px 16px !important;border-radius:30px !important;
  font-size:12px !important;font-weight:600 !important;letter-spacing:.2px !important;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  font-family:'DM Sans',sans-serif;
}
.hero .tb .tb-ico{font-size:13px;color:var(--orange);font-weight:900;}

/* Stats row */
.hero-stats{
  display:flex !important;gap:48px !important;flex-wrap:wrap;
  justify-content:center !important;align-items:flex-start;
  padding-top:22px !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  width:100%;max-width:880px;
  animation:fadeUp .8s .8s ease both;
}
.hero-stats .hs{text-align:center;min-width:130px;}
.hero-stats .hs .n{
  font-size:clamp(30px,3.4vw,40px) !important;
  font-weight:800 !important;
  color:var(--orange) !important;
  font-family:'DM Sans',sans-serif !important;
  letter-spacing:-1.2px !important;
  line-height:1 !important;
  font-variant-numeric:tabular-nums;
}
.hero-stats .hs .l{
  font-size:11px !important;
  letter-spacing:1.2px !important;
  opacity:.78 !important;
  margin-top:10px !important;
  text-transform:uppercase !important;
  font-family:'DM Sans',sans-serif;
  font-weight:700 !important;
  color:rgba(255,255,255,.78) !important;
}

/* NMAT 2026 countdown chip — placed in #courses sec-head above View All Courses link */
.courses-head-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:14px;
}
.hero-countdown{
  display:inline-block !important;
  position:relative;
  background:var(--orange) !important;
  color:var(--ink) !important;
  border:0 !important;
  padding:14px 22px !important;
  border-radius:12px !important;
  box-shadow:0 8px 22px rgba(254,168,47,.28) !important;
  font-family:'DM Sans',sans-serif !important;
  font-size:14px;font-weight:800;
  line-height:1.35;
  text-align:left;
}
.hero-countdown .cd-line{
  display:block;
  color:var(--ink);
  font-weight:800;
}
.hero-countdown .cd-num{
  font-size:26px;font-weight:900;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  letter-spacing:-.5px;
  display:inline-block;
  vertical-align:baseline;
  line-height:1;
  margin:0 3px;
}
.hero-countdown .cd-batch-date{
  font-size:16px;font-weight:900;
  color:var(--ink);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
  margin-left:3px;
}
.hero-countdown .cd-line-batch{
  border-top:1px solid rgba(0,0,0,.18);
  padding-top:7px;margin-top:5px;
}
@media (max-width:768px){
  /* On mobile the sec-head stacks; align chip to the start so it sits left under the heading */
  .courses-head-right{align-items:flex-start;width:100%;}
}
/* Hide ALL old hero h1 / .yellow / .lite / .ctas / .btn variants that conflict */
.hero h1.hero-title{}  /* no-op anchor; keeps specificity */
.hero h1 .lite,.hero h1 .yellow{display:none !important;}
.hero .vid-tag,.hero .mute-btn{display:none !important;}
.hero-bg{display:none !important;}
.hero-inner{display:none !important;}

/* ---- 2. SLIM COURSE TILES (Featured Courses row only - section #courses) ---- */
#courses .courses-grid{gap:18px !important;}
#courses .course-card{padding:0 !important;border-radius:14px !important;border:1px solid var(--border) !important;background:#fff;overflow:hidden;display:flex;flex-direction:column;}
#courses .course-card{padding:0 !important;display:flex !important;flex-direction:column !important;overflow:hidden !important;}
#courses .course-card .cc-thumb{display:block !important;aspect-ratio:16/9 !important;background-size:cover !important;background-position:center !important;background-repeat:no-repeat !important;padding:0 !important;position:relative !important;}
#courses .course-card .thumb-tag{position:absolute !important;top:12px !important;left:12px !important;z-index:2;}
#courses .course-card .cc-thumb::before{display:none !important;}
#courses .course-card .cc-body{padding:22px !important;flex:1 !important;display:flex !important;flex-direction:column !important;}
#courses .course-card .cc-body{padding:22px 22px 18px !important;display:flex;flex-direction:column;gap:0;}
#courses .course-card.rec{border-color:var(--orange) !important;box-shadow:0 8px 28px rgba(254,168,47,.18);position:relative;}
#courses .course-card.rec::before{content:"Most Popular";position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--orange);color:#0f0f1c;font-size:10px;font-weight:900;letter-spacing:1.2px;padding:5px 14px;border-radius:0 0 8px 8px;font-family:'DM Sans',sans-serif;z-index:2;}
#courses .course-card.rec .cc-body{padding-top:30px !important;}
#courses .course-card h4{font-size:20px !important;font-weight:800 !important;color:var(--ink) !important;margin-bottom:6px !important;letter-spacing:-.4px !important;line-height:1.2 !important;}
#courses .course-card .cc-cap{font-size:13.5px !important;color:var(--muted) !important;line-height:1.5 !important;margin-bottom:18px !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#courses .course-card .cc-feats{display:none !important;}
#courses .course-card .cc-price{padding:14px 0 !important;border-top:1px dashed var(--border) !important;border-bottom:1px dashed var(--border) !important;margin-bottom:14px !important;display:flex !important;justify-content:space-between !important;align-items:center !important;margin-top:auto !important;}
#courses .course-card .cc-price .now{font-size:24px !important;font-weight:900 !important;color:var(--ink) !important;font-family:'DM Sans',sans-serif !important;letter-spacing:-.6px !important;}
#courses .course-card .cc-price .was{font-size:13px !important;color:var(--muted) !important;text-decoration:line-through !important;margin-left:8px !important;font-weight:600 !important;}
#courses .course-card .cc-price .off{background:var(--orange-l) !important;color:var(--orange-d) !important;font-size:11px !important;font-weight:800 !important;padding:4px 10px !important;border-radius:6px !important;letter-spacing:.4px;}
#courses .course-card .cc-btns{display:flex !important;gap:10px !important;margin-top:0 !important;align-items:stretch !important;}
#courses .course-card .cc-b,
#courses-again .course-card .cc-b{flex:1;text-align:center;padding:13px 14px !important;border-radius:8px !important;font-size:12.5px !important;font-weight:800 !important;letter-spacing:.3px !important;text-transform:none !important;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif !important;display:flex !important;align-items:center !important;justify-content:center !important;line-height:1.2 !important;min-height:44px !important;box-sizing:border-box !important;}
#courses .course-card .cc-b.p,
#courses-again .course-card .cc-b.p{background:var(--orange) !important;color:#fff !important;border:0 !important;}
#courses .course-card .cc-b.p:hover,
#courses-again .course-card .cc-b.p:hover{background:var(--orange-d) !important;}
#courses .course-card .cc-b.s{background:transparent !important;color:var(--ink) !important;border:1.5px solid var(--ink) !important;}
#courses .course-card .cc-b.s:hover{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important;}
#courses-again .course-card .cc-b.s{background:#fff !important;color:var(--ink) !important;border:1.5px solid var(--ink) !important;}
#courses-again .course-card .cc-b.s:hover{background:var(--ink) !important;color:#fff !important;border-color:var(--ink) !important;}

/* ---- 3. SECTION + TILE TIGHTENING (everywhere) ---- */
.sec{padding:64px 22px !important;}
.sec h2{font-size:clamp(32px,4.2vw,46px) !important;letter-spacing:-1.4px !important;line-height:1.06 !important;}
.sec .sub-h{font-size:15px !important;line-height:1.6 !important;max-width:720px;}
.sec-head{margin-bottom:28px !important;gap:24px !important;}
.prog-breather{padding:48px 22px !important;}
.prog-breather h3,.prog-breather .prog-breather-text{font-size:clamp(20px,2.4vw,26px) !important;line-height:1.45 !important;}

/* Why CATKing pin cards: reduce overall padding, body text up to 14.5 */
.pin-card{padding:36px 32px !important;gap:42px !important;}
.pin-card h3{font-size:clamp(24px,2.8vw,32px) !important;letter-spacing:-.6px !important;}
.pin-card p,.pin-card ul li{font-size:14.5px !important;line-height:1.6 !important;}
.pin-card .tag{font-size:10.5px !important;letter-spacing:1.4px !important;padding:6px 12px !important;}
.pin-card .count{font-size:12px !important;font-weight:700 !important;letter-spacing:1.5px;}

/* Metrics tiles */
.met{padding:24px 18px !important;}
.met .val{font-size:clamp(34px,4.2vw,52px) !important;letter-spacing:-1.5px !important;}
.met .lab{font-size:11.5px !important;letter-spacing:.8px !important;font-weight:700 !important;}

/* Pattern cards */
.pat-card{padding:24px 22px !important;}
.pat-card h4{font-size:18px !important;letter-spacing:-.3px;}
.pat-card .stats-3 .n{font-size:24px !important;font-weight:900 !important;}
.pat-card .stats-3 .l{font-size:10.5px !important;letter-spacing:.6px;}
.pat-card .topics{font-size:12.5px !important;line-height:1.6 !important;}

/* Free resources cards */
.club{padding:22px 20px !important;}
.club h5{font-size:16px !important;font-weight:800 !important;}
.club p{font-size:13px !important;line-height:1.55 !important;}

/* News cards */
.news-card .nc-body{padding:20px !important;}
.news-card h5{font-size:15.5px !important;line-height:1.35 !important;}
.news-card .nc-exc{font-size:13px !important;line-height:1.55 !important;}

/* FAQ */
.fq summary{font-size:15.5px !important;padding:18px 22px !important;font-weight:700 !important;}
.fq-a{font-size:14px !important;line-height:1.65 !important;padding:0 22px 20px !important;}

/* Course-variant cards (#courses-again section) - keep richer detail per user spec, just tighten */
#courses-again .course-card{padding:0 !important;}
#courses-again .course-card .cc-body{padding:22px !important;display:flex !important;flex-direction:column !important;}
#courses-again .course-card .cc-feats li{font-size:13px !important;line-height:1.5 !important;}
#courses-again .course-card .cc-price{margin-top:auto !important;}
#courses-again .course-card .cc-btns{display:flex !important;gap:10px !important;align-items:stretch !important;}
#courses-again .course-card .cc-b{flex:1;display:flex !important;align-items:center !important;justify-content:center !important;line-height:1.2 !important;min-height:44px !important;box-sizing:border-box !important;text-align:center !important;padding:13px 14px !important;font-size:12.5px !important;font-weight:800 !important;border-radius:8px !important;}

/* College tiles (8 already, just tighten) */
.col-card{padding:20px 18px !important;}
.col-card h4{font-size:16px !important;}
.col-card .stats{padding:12px 0 !important;margin-bottom:12px !important;}
.col-card .stat{font-size:12px !important;}
.col-card .place-strip{font-size:11px !important;margin-bottom:12px !important;}
.col-card .col-mono{width:46px !important;height:46px !important;font-size:13px !important;margin-bottom:12px !important;}

/* Counsellor card */
.counsellor-card{padding:48px 36px !important;}
.counsellor-card h2{font-size:clamp(28px,3.6vw,40px) !important;}
.counsellor-card p{font-size:14.5px !important;line-height:1.6 !important;}

/* ---- 4. MOBILE RESPONSIVE PASS ---- */
@media (max-width:900px){
  body{font-size:15.5px;}
  .sec{padding:48px 18px !important;}
  .sec h2{font-size:32px !important;letter-spacing:-1px !important;}
  .sec-head{flex-direction:column;align-items:flex-start;gap:14px !important;}
  .prog-breather{padding:36px 18px !important;}
  .prog-breather h3{font-size:18px !important;line-height:1.5 !important;}

  /* Hero on mobile */
  .hero{padding:80px 0 50px !important;}
  .hero-content{margin-top:0;padding:0 18px;}
  .hero-title{font-size:38px !important;letter-spacing:-1px !important;}
  .hero-title-accent{font-size:46px !important;}
  .hero-sub{font-size:15px !important;margin:14px auto 22px !important;}
  .hero-ctas{flex-direction:column !important;width:100% !important;gap:10px !important;margin-bottom:22px !important;}
  .hero-ctas .btn-primary,.hero-ctas .btn-outline{width:100% !important;justify-content:center;padding:14px 22px !important;}
  .hero .trust-row{gap:8px !important;margin-bottom:22px !important;}
  .hero .tb{font-size:11px !important;padding:6px 12px !important;}
  .hero-stats{gap:24px !important;padding-top:18px !important;}
  .hero-stats .hs{min-width:0;flex:1 1 40%;}
  .hero-stats .hs .n{font-size:26px !important;}
  .hero-stats .hs .l{font-size:9.5px !important;letter-spacing:.8px !important;}

  /* Slim course cards: 1 col on mobile, comfortable touch targets */
  #courses .courses-grid{grid-template-columns:1fr !important;gap:14px !important;}
  #courses .course-card .cc-body{padding:20px !important;}

  /* Course variants 1-col */
  #courses-again .courses-grid{grid-template-columns:1fr !important;}

  /* Pin cards: stack image+text */
  .pin-card{padding:28px 22px !important;gap:20px !important;flex-direction:column !important;grid-template-columns:1fr !important;}
  .pin-card h3{font-size:22px !important;}
  .pin-card .md{order:0 !important;}

  /* Pattern: stack */
  .pattern-grid{grid-template-columns:1fr !important;gap:14px !important;}

  /* Metrics: 2 col */
  .metrics-grid{grid-template-columns:1fr 1fr !important;gap:0 !important;}
  .met{padding:22px 16px !important;}

  /* Faculty rail: smaller tiles */
  .fac-tile{min-width:170px !important;}

  /* News: 1 col */
  .news-grid{grid-template-columns:1fr !important;}

  /* FAQ */
  .fq summary{font-size:14px !important;padding:14px 16px !important;}
  .fq-a{font-size:13px !important;padding:0 16px 16px !important;}

  /* Top nav: hide some links, show drawer */


  /* Sub-nav: smaller padding */
  .sub-nav a{padding:14px 10px !important;font-size:10.5px !important;}

  /* Counsellor card: stack */
  .counsellor-card{padding:32px 22px !important;}
  .counsellor-card h2{font-size:24px !important;}

  /* Popup: full-width with margins */
  .anc-pop{width:calc(100vw - 28px) !important;max-width:none !important;padding:26px 20px 22px !important;}
  .anc-pop h3{font-size:19px !important;}
}

@media (max-width:560px){
  .hero-title{font-size:36px !important;}
  .hero-title-accent{font-size:40px !important;}
  .hero-stats{gap:18px !important;}
  .hero-stats .hs .n{font-size:22px !important;}
}

@media (prefers-reduced-motion:reduce){
  .hero-video video{animation:none !important;}
  .hero-title,.hero-title-accent,.hero-sub,.hero-ctas,.trust-row,.hero-stats{animation:none !important;}
}

/* ==================================================================
   POLISH applied after main override block
   1. Pattern dark-section text contrast
   2. Eyebrow pill redesign (01/02/03)
   3. Free Resources 2-2-2 colour distribution
   4. Free Resources icon refresh (real SVG icons)
   5. Whitespace + alignment tightening
   ================================================================== */

/* ---- 1. PATTERN: fix muted-text-on-dark-bg contrast issue ---- */
#pattern .pat-card .sub{
  color:rgba(255,255,255,.72) !important;
  font-size:13px !important;
}
#pattern .pat-card .topics{
  color:rgba(255,255,255,.78) !important;
  font-size:12.5px !important;
  line-height:1.6 !important;
}
#pattern .pat-card .topics b{
  color:#fff !important;
  font-weight:800 !important;
}
#pattern .pat-card .stats-3 .l{
  color:var(--muted) !important; /* on white inner card → keep muted, just confirm */
}

/* ---- 2. EYEBROW PILLS REDESIGN (01/02/03) ----
   Light section default: orange-l ground, orange-d numeral, italic Cormorant.
   Dark section (#pattern): tinted orange ring, orange numeral, transparent ground.
   ALL three pills now share the same brand language - no more off-brand blue. */
.pat-card .num{
  width:38px !important;
  height:38px !important;
  border-radius:50% !important;
  background:var(--orange-l) !important;
  color:var(--orange-d) !important;
  border:1.5px solid var(--orange) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif !important;
  font-style:italic !important;
  font-weight:600 !important;
  font-size:17px !important;
  letter-spacing:0 !important;
  padding:0 !important;
}
/* Override the per-nth-child colour rules so all pills are identical */
.pat-card:nth-child(1) .num,
.pat-card:nth-child(2) .num,
.pat-card:nth-child(3) .num{
  background:var(--orange-l) !important;
  color:var(--orange-d) !important;
  border-color:var(--orange) !important;
}
/* Dark section variant - pills sit on navy bg */
#pattern .pat-card .num,
#pattern .pat-card:nth-child(1) .num,
#pattern .pat-card:nth-child(2) .num,
#pattern .pat-card:nth-child(3) .num{
  background:rgba(254,168,47,.14) !important;
  color:var(--orange) !important;
  border:1.5px solid rgba(254,168,47,.55) !important;
}
/* While we're here, also retune the .cutoff-tag chip on dark bg so it pairs visually */
#pattern .pat-card .cutoff-tag{
  background:rgba(255,255,255,.06) !important;
  color:rgba(255,255,255,.85) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:6px !important;
  padding:4px 10px !important;
}

/* ---- 3. FREE RESOURCES - 2 BLACK + 2 BLUE + 2 ORANGE diagonal ----
   Override the cycling :nth-child(4n+X) rules with explicit per-position colours:
     1: BLUE   (Free CAT Mock)
     2: ORANGE (Doubt Forum)
     3: BLACK  (YouTube Channel)   ← was orange, changed
     4: BLACK  (Vocab Builder App)
     5: BLUE   (30-Day Study Plan)
     6: ORANGE (Cutoff Tracker)
   Visual rhythm: Row 1 = BLUE-ORANGE-BLACK, Row 2 = BLACK-BLUE-ORANGE
*/
.clubs-grid .club:nth-child(1),
.clubs-grid .club:nth-child(5){
  background:var(--blue) !important;
  color:#fff !important;
}
.clubs-grid .club:nth-child(2),
.clubs-grid .club:nth-child(6){
  background:var(--orange) !important;
  color:#1a1a1a !important;
}
.clubs-grid .club:nth-child(3),
.clubs-grid .club:nth-child(4){
  background:var(--ink) !important;
  color:#fff !important;
}
/* Orange cards: dark text + dark-on-orange chip/icon */
.clubs-grid .club:nth-child(2) h5,
.clubs-grid .club:nth-child(6) h5{color:#1a1a1a !important;}
.clubs-grid .club:nth-child(2) p,
.clubs-grid .club:nth-child(6) p{color:rgba(26,26,26,.78) !important;}
.clubs-grid .club:nth-child(2) .cl-link,
.clubs-grid .club:nth-child(6) .cl-link{color:#1a1a1a !important;}
.clubs-grid .club:nth-child(2) .res-type,
.clubs-grid .club:nth-child(6) .res-type{
  background:rgba(26,26,26,.16) !important;
  color:#1a1a1a !important;
}
.clubs-grid .club:nth-child(2) .cl-ico,
.clubs-grid .club:nth-child(6) .cl-ico{
  background:rgba(26,26,26,.10) !important;
  color:#1a1a1a !important;
}
/* Black cards: confirm white text everywhere */
.clubs-grid .club:nth-child(3) h5,
.clubs-grid .club:nth-child(4) h5,
.clubs-grid .club:nth-child(3) p,
.clubs-grid .club:nth-child(4) p,
.clubs-grid .club:nth-child(3) .cl-link,
.clubs-grid .club:nth-child(4) .cl-link{color:#fff !important;}
.clubs-grid .club:nth-child(3) p,
.clubs-grid .club:nth-child(4) p{color:rgba(255,255,255,.78) !important;}
.clubs-grid .club:nth-child(3) .res-type,
.clubs-grid .club:nth-child(4) .res-type{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.clubs-grid .club:nth-child(3) .cl-ico,
.clubs-grid .club:nth-child(4) .cl-ico{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}

/* ---- 4. .cl-ico container - switch from coloured square to subtle SVG slot ---- */
.club .cl-ico{
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-bottom:14px !important;
  font-size:0 !important; /* prevents stray text-content from old "▶" */
}
.club .cl-ico svg{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  display:block;
}

/* ---- 5. WHITESPACE / ALIGNMENT TIGHTENING ---- */
.sec{padding:56px 22px !important;}            /* down from 64 */
.sec-head{margin-bottom:22px !important;}      /* down from 28 */
#syllabus .curr,
#syllabus .syllabus-tabs{margin-top:0 !important;}
.testi-marquee-section{padding-bottom:36px !important;padding-top:0 !important;}  /* down from 60/8 */
#testimonials{padding-bottom:32px !important;}
.mid-cta{padding:32px 22px !important;}        /* tighten "Ready to start NMAT 2026 prep" stripe */

@media (max-width:900px){
  .sec{padding:44px 18px !important;}
  .testi-marquee-section{padding-bottom:28px !important;}
}

/* ==================================================================
   POLISH solid icons, Title Case, hero trim, label sizing
   ================================================================== */

/* ---- Solid SVG icons (replace stroke-based "AI emoji" feel) ---- */
.club .cl-ico svg{
  width:22px !important;
  height:22px !important;
  fill:currentColor !important;
  stroke:none !important;
  display:block;
}

/* ---- Kill text-transform:uppercase across user-facing copy ----
   Acronyms that ARE legitimately uppercase (IIM, BLACKI, NMIMS, %ile, MBA, SC/ST,
   PwD, OBC, EWS, FMS, CAT, etc.) stay uppercase because they are typed that way
   in the markup. We only stop the CSS from FORCING uppercase on Title-Case copy. */
.sub-nav a,
.sub-nav .cta,
.hero-stats .hs .l,
.met .lab,
.metric .l,
.cl-link,
.res-type,
.club .cl-link,
.clubs-grid .club .res-type,
.clubs-grid .club .cl-link,
.curr-mod .meta,
.nc-meta,
.counsellor-card .ccl-trust .t .l,
.counsellor-card .ccl-left .eyebrow,
.counsellor-card .ccl-ctas .btn,
.tb,
.btn-primary,.btn-outline,
.hero .btn{
  text-transform:none !important;
  letter-spacing:.2px !important;
}

/* Restore tiny letter-spacing punch where it helps small all-caps acronyms (kept from
   prior styling) - but ONLY for the labels that contain a typed-uppercase acronym */
.hero-stats .hs .l{font-weight:700 !important;}
.met .lab{font-weight:700 !important;}

/* ---- Trim hero TOP padding so stat labels are visible above the fold ---- */
.hero{padding:64px 0 56px !important;}
@media (max-width:900px){
  .hero{padding:60px 0 44px !important;}
}

/* ---- MOBILE HERO LAYOUT FIX ----
   On small phones (≤480px) switch the hero from flex centering to block layout
   so .hero-content can reliably be 100% width without flex min-content overflow
   pushing it off-canvas. Also moves countdown to inline static position above the title. */
@media (max-width:480px){
  .hero{display:block !important;text-align:left !important;padding:32px 0 32px !important;}
  .hero-content{display:flex !important;flex-direction:column !important;align-items:center !important;width:100% !important;max-width:100% !important;padding:0 18px !important;margin:0 !important;box-sizing:border-box !important;text-align:center !important;}
  .hero-content > *{max-width:100% !important;}
  .hero-sub{word-wrap:break-word;}
}

/* ---- Sub-nav 2-CTA group ---- */
.sub-nav-ctas{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex-shrink:0;
}
.sub-nav .cta{
  margin-left:0 !important;
  padding:9px 18px !important;
  border-radius:6px !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:.2px !important;
  border-bottom:0 !important;
  white-space:nowrap;
  transition:all .15s;
}
.sub-nav .cta-ghost{
  background:transparent !important;
  color:var(--ink) !important;
  border:1.5px solid var(--border) !important;
}
.sub-nav .cta-ghost:hover{
  border-color:var(--ink) !important;
  background:var(--bg) !important;
}
.sub-nav .cta-buy{
  background:var(--orange) !important;
  color:#0f0f1c !important;
  border:1.5px solid var(--orange) !important;
  box-shadow:0 4px 12px rgba(254,168,47,.28);
}
.sub-nav .cta-buy:hover{
  background:var(--orange-d) !important;
  border-color:var(--orange-d) !important;
  transform:translateY(-1px);
}
@media (max-width:900px){
  .sub-nav-ctas{position:sticky;right:0;background:linear-gradient(90deg,transparent 0,#fff 18px);padding-left:24px;}
  .sub-nav .cta{padding:12px 16px !important;font-size:12px !important;min-height:44px !important;display:inline-flex !important;align-items:center !important;}
}

/* Sub-nav text links: Title Case (already typed that way in markup; remove uppercase force) */
.sub-nav a{
  text-transform:none !important;
  font-size:13px !important;
  letter-spacing:.1px !important;
  font-weight:600 !important;
}

/* ==================================================================
   POLISH testimonial alignment + global contrast audit
   ================================================================== */

/* ---- 1. TESTIMONIAL SECTION: full-bleed dark band with centered 1200px content ----
   Screenshot showed text touching viewport edges. Same fix pattern as #courses-again:
   make the SECTION full-width, then constrain INNER content to 1200px. */
.testi-slim{
  background:var(--ink) !important;
  max-width:none !important;
  padding-left:0 !important;
  padding-right:0 !important;
  padding-top:48px !important;
  padding-bottom:14px !important;
}
.testi-slim > .sec-head{
  max-width:1200px;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:32px !important;
  padding-right:32px !important;
  margin-bottom:8px !important;
}
.testi-marquee-section{
  background:var(--ink) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.testi-marquee-section .testi-rows-wrap{
  max-width:1400px !important;
  margin:0 auto !important;
}
.testi-slim > .sec-head .right-link{
  align-self:flex-end;
  margin-bottom:6px;
}
@media (max-width:900px){
  .testi-slim > .sec-head{padding-left:20px !important;padding-right:20px !important;}
  .testi-slim{padding-top:36px !important;}
}
@media (max-width:560px){
  .testi-slim > .sec-head{padding-left:16px !important;padding-right:16px !important;}
}

/* ---- 2. MID-CTA stripe: never let text touch viewport edges ---- */
.mid-cta{padding-left:32px !important;padding-right:32px !important;}
@media (max-width:900px){
  .mid-cta{padding-left:20px !important;padding-right:20px !important;}
}

/* ---- 3. CONTRAST: testimonial section text on dark ---- */
.testi-slim .sub-h{color:rgba(255,255,255,.78) !important;}
.testi-slim h2{color:#fff !important;}
.testi-slim h2 .accent{color:var(--orange) !important;}

/* ---- 4. CONTRAST: courses-again pills on dark ---- */
#courses-again .pill{
  color:rgba(255,255,255,.85) !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
#courses-again .pill.act{
  background:var(--orange) !important;
  color:var(--ink) !important;
  border-color:var(--orange) !important;
}

/* ---- 5. CONTRAST: hero stat labels and trust chips ---- */
.hero-stats .hs .l{color:rgba(255,255,255,.78) !important;}
.hero .tb{
  color:rgba(255,255,255,.92) !important;
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.18) !important;
}
.hero .tb-ico{color:var(--orange) !important;}

/* ---- 6. CONTRAST: dates timeline - section is LIGHT (sec.bg), keep default colors ---- */
/* No override needed; #dates uses var(--bg) cream background with default dark text */

/* ---- 7. CONTRAST: footer ---- */




/* ---- 8. EDGE GUARDRAIL: every full-bleed dark section gets a consistent gutter ---- */
.sec.dark > .sec-head,
.testi-slim > .sec-head,
#courses-again > .sec-head{
  padding-left:32px !important;
  padding-right:32px !important;
}
@media (max-width:900px){
  .sec.dark > .sec-head,
  .testi-slim > .sec-head,
  #courses-again > .sec-head{
    padding-left:20px !important;
    padding-right:20px !important;
  }
}

/* ==================================================================
   v6.0 PRODUCTION - top nav, mega menus, footer, new sections
   ================================================================== */

/* --- TOP NAV: official logo + redesigned (mirrors live catking.in nav) --- */

.tn-logo{
  display:flex;
  align-items:center;
  flex-shrink:0;
  height:40px;
  padding:4px 0;
  border-radius:6px;
  transition:opacity .12s;
}
.tn-logo:hover{opacity:.85;}
.tn-logo img{
  height:34px;
  width:auto;
  display:block;
  filter:brightness(0) invert(1);
}









/* Hover tooltip - surfaces icon name on hover/focus (replaces native title hover delay) */








/* --- MEGA MENU panels --- */



/* 7-column variant for Courses mega menu */





@media (max-width:1280px){


}
@media (max-width:1180px){



  .tn-logo img{height:32px;}

}
@media (max-width:980px){

}
@media (max-width:780px){

  .tn-logo img{height:30px;}


}
@media (max-width:480px){
  /* Squeeze top-nav for iPhone SE class viewports (320-414px) */

  .tn-logo img{height:26px !important;}



}
@media (max-width:380px){
  /* iPhone SE 1st-gen and similar small viewports - tighten everything in the top nav */

  .tn-logo img{height:26px !important;}



}

/* --- FOOTER REBUILD (production) --- */
















@media (max-width:900px){


}
@media (max-width:560px){




}

/* --- FREE WORKSHOP SECTION (Sumit Sir) --- */
#workshop{
  background:linear-gradient(135deg,#1a1a2e 0%,#0f0f1c 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
  max-width:none !important;
  padding:80px 0 !important;
}
#workshop::before{
  content:"";
  position:absolute;
  top:-50%;right:-10%;
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(254,168,47,.15) 0%,transparent 70%);
  pointer-events:none;
}
#workshop .ws-inner{
  max-width:1200px;
  margin:0 auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:1.05fr 1fr;
  gap:56px;
  position:relative;
  z-index:1;
}
#workshop .ws-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(254,168,47,.16);
  color:var(--orange);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.4px;
  padding:6px 14px;
  border-radius:20px;
  text-transform:uppercase;
  margin-bottom:20px;
  border:1px solid rgba(254,168,47,.3);
}
#workshop h2{
  font-size:clamp(34px,4vw,46px);
  font-weight:800;
  line-height:1.05;
  letter-spacing:-1.2px;
  color:#fff;
  margin-bottom:18px;
}
#workshop h2 em,
#workshop h2 .accent{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:600;
  color:var(--orange);
}
#workshop .ws-lede{
  font-size:16px;
  line-height:1.6;
  color:rgba(255,255,255,.85);
  margin-bottom:24px;
  max-width:520px;
  font-weight:500;
}
#workshop .ws-bullets{
  list-style:none;
  padding:0;
  margin:0 0 28px;
}
#workshop .ws-bullets li{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin-bottom:12px;
  font-size:14.5px;
  line-height:1.5;
  color:rgba(255,255,255,.88);
}
#workshop .ws-bullets svg{
  flex-shrink:0;
  width:20px;height:20px;
  color:var(--orange);
  margin-top:1px;
}
#workshop .ws-ctas{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:20px;
}
#workshop .ws-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  transition:all .15s;
  border:none;
}
#workshop .ws-btn.primary{
  background:var(--orange);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(254,168,47,.35);
}
#workshop .ws-btn.primary:hover{
  background:var(--orange-d);
  transform:translateY(-2px);
}
#workshop .ws-btn.whatsapp{
  background:#25D366;
  color:#fff;
}
#workshop .ws-btn.whatsapp:hover{
  background:#1DA851;
  transform:translateY(-2px);
}
#workshop .ws-quote{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-size:17px;
  color:var(--orange);
  letter-spacing:-.2px;
  margin-top:12px;
}
#workshop .ws-quote span{
  display:block;
  font-family:'DM Sans',Arial,sans-serif;
  font-size:11px;
  font-style:normal;
  font-weight:700;
  letter-spacing:1.2px;
  color:rgba(255,255,255,.6);
  text-transform:uppercase;
  margin-top:6px;
}
#workshop .ws-video{
  position:relative;
  border-radius:14px;
  overflow:hidden;
  aspect-ratio:16/9;
  background:#000;
  box-shadow:0 24px 64px rgba(0,0,0,.5);
  border:1px solid rgba(254,168,47,.25);
}
#workshop .ws-video iframe{
  width:100%;
  height:100%;
  border:0;
}
#workshop .ws-mentor{
  margin-top:18px;
  padding:14px 18px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  display:flex;
  gap:14px;
  align-items:center;
}
#workshop .ws-mentor .av{
  width:48px;height:48px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%);
  display:flex;align-items:center;justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  font-size:24px;
  color:var(--ink);
  flex-shrink:0;
}
#workshop .ws-mentor h4{
  font-size:14px;
  font-weight:800;
  color:#fff;
  line-height:1.3;
  margin-bottom:2px;
}
#workshop .ws-mentor p{
  font-size:12px;
  color:rgba(255,255,255,.7);
  line-height:1.5;
  font-weight:500;
}
@media (max-width:900px){
  #workshop{padding:56px 0 !important;}
  #workshop .ws-inner{grid-template-columns:1fr;gap:32px;padding:0 22px;}
}

/* --- SLOT ANALYSIS SECTION --- */
#slot-analysis{
  background:var(--bg);
}
.slot-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:26px;
}
.slot-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:24px;
}
.slot-card .slot-h{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid var(--border);
}
.slot-card .slot-h h4{
  font-size:16px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.3px;
}
.slot-card .slot-h .diff{
  font-size:10px;
  font-weight:800;
  letter-spacing:.6px;
  padding:4px 10px;
  border-radius:12px;
  text-transform:uppercase;
}
.slot-card .slot-h .diff.easy{background:#E4F1EA;color:#0F5E3A;}
.slot-card .slot-h .diff.med{background:#FFF4E0;color:#E8951F;}
.slot-card .slot-h .diff.hard{background:#FFE5E5;color:#C62828;}
.slot-card .slot-stat{
  display:flex;
  gap:14px;
  margin-bottom:14px;
  padding:12px;
  background:var(--bg);
  border-radius:8px;
}
.slot-card .slot-stat .ss{
  flex:1;
  text-align:center;
}
.slot-card .slot-stat .ss .n{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  font-size:22px;
  color:var(--orange);
  letter-spacing:-.3px;
  line-height:1;
}
.slot-card .slot-stat .ss .l{
  font-size:9px;
  font-weight:800;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.6px;
  margin-top:4px;
}
.slot-card .slot-content p{
  font-size:13px;
  line-height:1.55;
  color:#444;
  margin-bottom:10px;
  font-weight:500;
}
.slot-card .slot-content p strong{
  color:var(--ink);
  font-weight:800;
}
@media (max-width:900px){
  .slot-grid{grid-template-columns:1fr;}
}

/* --- LAST 3 YEARS TREND TABLE --- */
.trend-table-wrap{
  overflow-x:auto;
  margin-top:22px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
}
table.trend-table{
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
table.trend-table th{
  background:var(--ink);
  color:#fff;
  font-size:11.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.8px;
  padding:14px 18px;
  text-align:left;
  white-space:nowrap;
}
table.trend-table td{
  padding:14px 18px;
  border-top:1px solid var(--border);
  font-weight:600;
  color:#333;
}
table.trend-table tr:hover td{background:var(--orange-l);}
table.trend-table .recent td{
  background:var(--orange-l);
  font-weight:700;
}
table.trend-table .recent td:first-child{
  border-left:3px solid var(--orange);
  font-weight:800;
  color:var(--orange-d);
}
table.trend-table .yr{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  color:var(--orange);
  font-size:15px;
}

/* --- IIM CUTOFF CALC TEASER --- */
#cutoff-calc{
  background:linear-gradient(135deg,var(--orange-l) 0%,#FFE5C2 100%);
  border-radius:18px;
  padding:48px 36px;
  margin:36px auto;
  max-width:1100px;
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:32px;
  align-items:center;
}
#cutoff-calc h3{
  font-size:30px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-1px;
  line-height:1.1;
  margin-bottom:14px;
}
#cutoff-calc h3 em{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;font-weight:500;
  color:var(--orange-d);
}
#cutoff-calc p{
  font-size:14.5px;
  color:#444;
  line-height:1.55;
  margin-bottom:20px;
  font-weight:500;
}
#cutoff-calc .cc-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:var(--ink);
  color:#fff;
  padding:14px 28px;
  border-radius:10px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  transition:all .15s;
}
#cutoff-calc .cc-cta:hover{
  background:#000;
  transform:translateY(-2px);
}
#cutoff-calc .cc-vis{
  background:#fff;
  border-radius:14px;
  padding:24px;
  box-shadow:0 12px 32px rgba(15,15,28,.08);
}
#cutoff-calc .cc-vis-h{
  font-size:11px;
  font-weight:800;
  color:var(--muted);
  letter-spacing:1.2px;
  text-transform:uppercase;
  margin-bottom:14px;
}
#cutoff-calc .cc-bar{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:11px;
  font-size:13px;
}
#cutoff-calc .cc-bar .iim{
  width:88px;
  font-weight:800;
  color:var(--ink);
  flex-shrink:0;
}
#cutoff-calc .cc-bar .track{
  flex:1;
  height:14px;
  background:var(--bg);
  border-radius:7px;
  overflow:hidden;
  position:relative;
}
#cutoff-calc .cc-bar .fill{
  height:100%;
  background:linear-gradient(90deg,var(--orange) 0%,var(--orange-d) 100%);
  border-radius:7px;
}
#cutoff-calc .cc-bar .pct{
  width:54px;
  text-align:right;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  font-size:16px;
  color:var(--orange-d);
  flex-shrink:0;
}
@media (max-width:900px){
  #cutoff-calc{grid-template-columns:1fr;padding:36px 24px;}
}

/* --- STICKY MOBILE BAR --- */
.sticky-mobile{
  position:fixed;
  bottom:0;left:0;right:0;
  background:#fff;
  border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(0,0,0,.08);
  display:none;
  z-index:1050;
  padding:8px 8px calc(8px + env(safe-area-inset-bottom));
  gap:8px;
}
.sticky-mobile a{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:8px 6px;
  border-radius:10px;
  font-size:10.5px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:.2px;
  text-decoration:none;
  text-align:center;
  line-height:1.2;
  gap:4px;
  transition:all .15s;
}
.sticky-mobile a svg{width:20px;height:20px;}
.sticky-mobile a.workshop{background:var(--orange);color:var(--ink);}
.sticky-mobile a.mock{background:var(--ink);color:#fff;}
.sticky-mobile a.whatsapp{background:#25D366;color:#fff;}
.sticky-mobile a:active{transform:scale(.96);}
@media (max-width:780px){
  .sticky-mobile{display:flex;}
  body{padding-bottom:72px;}
  .toast-stack{bottom:88px !important;}
}

/* --- v6 contrast fix: counsellor card eyebrow (orange-on-orange bug) --- */
.counsellor-card .ccl-left .eyebrow{
  color:var(--ink) !important;
  background:var(--orange) !important;
}

/* --- LATEST CAT INSIGHTS (blog cards grid) --- */
#insights{padding:64px 0;}
.insights-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:8px;
}
.insight-card{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  overflow:hidden;
  transition:all .25s;
  display:flex;
  flex-direction:column;
}
.insight-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 38px rgba(15,15,28,.12);
  border-color:var(--orange);
}
.insight-link{
  display:flex;
  flex-direction:column;
  height:100%;
  text-decoration:none;
  color:inherit;
}
.insight-thumb{
  height:165px;
  position:relative;
  display:flex;
  align-items:flex-end;
  padding:14px;
  overflow:hidden;
}
.insight-thumb::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.55) 100%);
  z-index:1;
}
/* 6 thumbnail variations using brand-aligned gradients (no stock photography needed) */
.insight-thumb-1{background:linear-gradient(135deg,#FEA82F 0%,#E8951F 100%);}
.insight-thumb-2{background:linear-gradient(135deg,#1F8A5B 0%,#0F5E3A 100%);}
.insight-thumb-3{background:linear-gradient(135deg,#FEA82F 0%,#E8951F 100%);}
.insight-thumb-4{background:linear-gradient(135deg,#1a1a2e 0%,#0f0f1c 100%);}
.insight-thumb-5{background:linear-gradient(135deg,#FEA82F 0%,#1F8A5B 100%);}
.insight-thumb-6{background:linear-gradient(135deg,#FEA82F 0%,#1F8A5B 100%);}
/* Decorative pattern overlay on thumbnails */
.insight-thumb-1::after,.insight-thumb-2::after,.insight-thumb-3::after,
.insight-thumb-4::after,.insight-thumb-5::after,.insight-thumb-6::after{
  content:"";
  position:absolute;
  top:-20%;right:-20%;
  width:160px;height:160px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.15) 0%,transparent 70%);
  z-index:0;
}
.insight-tag{
  position:relative;
  z-index:2;
  background:rgba(255,255,255,.95);
  color:var(--ink);
  font-size:10.5px;
  font-weight:800;
  letter-spacing:.5px;
  text-transform:uppercase;
  padding:5px 12px;
  border-radius:5px;
  align-self:flex-start;
  box-shadow:0 2px 6px rgba(0,0,0,.15);
}
.insight-body{
  padding:18px 20px 22px;
  flex:1;
  display:flex;
  flex-direction:column;
}
.insight-cat{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.6px;
  color:var(--orange-d);
  margin-bottom:8px;
}
.insight-card h3{
  font-size:16px;
  line-height:1.35;
  font-weight:800;
  letter-spacing:-.3px;
  color:var(--ink);
  margin-bottom:10px;
}
.insight-excerpt{
  font-size:13px;
  line-height:1.55;
  color:var(--muted);
  margin-bottom:14px;
  flex:1;
}
.insight-meta{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:11.5px;
  color:var(--muted);
  font-weight:600;
}
.insight-author{color:var(--ink);font-weight:700;}
.insight-dot{opacity:.5;}
@media (max-width:980px){
  .insights-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
  .insights-grid{grid-template-columns:1fr;}
}

/* --- WHATSAPP MOMENTS MARQUEE CAROUSEL (mirrors results-page pattern) --- */
#whatsapp-testimonials{
  background:linear-gradient(180deg,#0f0f1c 0%,#1a1a2e 100%);
  color:#fff;
  padding:72px 0 80px;
  position:relative;
  overflow:hidden;
  max-width:none !important;
}
#whatsapp-testimonials::before,
#whatsapp-testimonials::after{
  content:"";
  position:absolute;
  top:0;bottom:0;
  width:140px;
  z-index:2;
  pointer-events:none;
}
#whatsapp-testimonials::before{
  left:0;
  background:linear-gradient(90deg,#0f0f1c,transparent);
}
#whatsapp-testimonials::after{
  right:0;
  background:linear-gradient(270deg,#1a1a2e,transparent);
}
#whatsapp-testimonials .wa-inner{
  max-width:1400px;
  margin:0 auto;
  padding:0 28px;
  position:relative;
  z-index:1;
}
#whatsapp-testimonials .wa-head{
  text-align:center;
  margin-bottom:42px;
}
#whatsapp-testimonials h2{
  font-size:clamp(30px,3.8vw,44px);
  font-weight:800;
  line-height:1.1;
  letter-spacing:-1.2px;
  color:#fff;
  margin-bottom:14px;
}
#whatsapp-testimonials h2 em{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  color:var(--orange);
}
#whatsapp-testimonials .wa-sub{
  font-size:14.5px;
  line-height:1.6;
  color:rgba(255,255,255,.72);
  font-weight:500;
  max-width:720px;
  margin:0 auto;
}
#whatsapp-testimonials .wa-sub b{
  color:#fff;
}
.wa-marquee-wrap{
  position:relative;
  margin-top:8px;
}
.wa-marquee{
  display:flex;
  gap:18px;
  animation:wascroll 120s linear infinite;
  width:max-content;
}
.wa-marquee:hover{
  animation-play-state:paused;
}
@keyframes wascroll{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.wa-card{
  flex:0 0 auto;
  width:240px;
  background:#fff;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  padding:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.3);
  position:relative;
  overflow:hidden;
  transition:all .25s;
}
.wa-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 38px rgba(0,0,0,.45);
  border-color:var(--orange);
}
.wa-card-img{
  width:100%;
  border-radius:8px;
  display:block;
  aspect-ratio:400/700;
  background:linear-gradient(180deg,#075E54 0%,#128C7E 35%,#E5DDD5 35%,#DCF8C6 100%);
  position:relative;
  overflow:hidden;
}
.wa-card-img.has-img{
  background:#0c1317;
}
.wa-card-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:top;
  display:block;
}
/* CSS-rendered placeholder when image not yet uploaded */
.wa-card-img .ph-bar{
  position:absolute;
  top:0;left:0;right:0;
  background:#075E54;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:8px;
  height:48px;
  box-sizing:border-box;
}
.wa-card-img .ph-av{
  width:28px;height:28px;
  border-radius:50%;
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:600;
  font-size:14px;
  color:var(--ink);
  flex-shrink:0;
}
.wa-card-img .ph-name{
  font-size:11px;
  font-weight:700;
  color:#fff;
  flex:1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wa-card-img .ph-msg{
  position:absolute;
  top:62px;left:12px;
  background:#fff;
  padding:7px 10px 6px;
  border-radius:0 8px 8px 8px;
  font-size:11px;
  line-height:1.4;
  color:#111;
  max-width:170px;
  box-shadow:0 1px 1px rgba(0,0,0,.07);
}
.wa-card-img .ph-msg-2{
  top:auto;bottom:62px;
  left:auto;right:12px;
  background:#DCF8C6;
  border-radius:8px 0 8px 8px;
  font-weight:600;
}
.wa-card-img .ph-celebrate{
  position:absolute;
  bottom:8px;left:12px;right:12px;
  background:linear-gradient(135deg,var(--orange) 0%,var(--orange-d) 100%);
  color:var(--ink);
  padding:8px 10px;
  border-radius:8px;
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:600;
  font-size:12px;
  text-align:center;
  box-shadow:0 4px 12px rgba(254,168,47,.3);
  z-index:1;
}
/* Verified CATKing stamp - mirrors results page */
.wa-stamp{
  position:absolute;
  bottom:8px;right:8px;
  z-index:3;
}
.wa-stamp-outer{
  background:linear-gradient(135deg,#1F8A5B 0%,#0F5E3A 100%);
  color:#fff;
  border-radius:5px;
  padding:5px 7px;
  border:2px solid rgba(255,255,255,.2);
  box-shadow:0 4px 10px rgba(31,138,91,.45);
  text-align:center;
  letter-spacing:.3px;
}
.wa-stamp-top{
  font-size:6.5px;
  font-weight:900;
  color:rgba(255,255,255,.85);
  text-transform:uppercase;
  letter-spacing:.6px;
  line-height:1.1;
  margin-bottom:1px;
}
.wa-stamp-ctr{
  font-size:9px;
  font-weight:900;
  color:#fff;
  line-height:1.2;
  margin-bottom:1px;
}
.wa-card-caption{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:10px 4px 2px;
  font-size:11.5px;
  color:var(--ink);
  font-weight:800;
  gap:6px;
}
.wa-card-caption b{
  color:var(--ink);
  font-size:11.5px;
  letter-spacing:-.1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.wa-card-caption .wa-card-score{
  font-size:10px;
  color:var(--orange-d);
  font-weight:700;
  white-space:nowrap;
  flex-shrink:0;
}
.wa-disclaimer-row{
  margin-top:36px;
  text-align:center;
  font-size:12.5px;
  color:rgba(255,255,255,.6);
  line-height:1.6;
  max-width:720px;
  margin-left:auto;
  margin-right:auto;
  padding:14px 18px;
  background:rgba(255,255,255,.03);
  border:1px dashed rgba(255,255,255,.1);
  border-radius:10px;
}
.wa-disclaimer-row b{color:rgba(255,255,255,.85);font-weight:700;}
.wa-disclaimer-row a{
  color:var(--orange);
  text-decoration:none;
  font-weight:700;
}
.wa-disclaimer-row a:hover{
  text-decoration:underline;
}

@media (max-width:780px){
  #whatsapp-testimonials{padding:56px 0 64px;}
  #whatsapp-testimonials .wa-inner{padding:0 18px;}
  .wa-card{width:200px;}
  .wa-marquee{animation-duration:90s;}
}

/* --- LITE-YOUTUBE EMBED (click thumbnail → iframe loads + autoplays inline) --- */
.lite-yt{
  position:relative;
  display:block;
  width:100%;
  background-color:#000;
  background-position:center center;
  background-size:cover;
  cursor:pointer;
  aspect-ratio:16/9;
  border-radius:14px;
  overflow:hidden;
  contain:content;
}
.lite-yt::before{
  content:'';
  display:block;
  position:absolute;
  top:0;left:0;right:0;
  height:60px;
  background-image:linear-gradient(180deg,rgba(0,0,0,.6) 0%,rgba(0,0,0,0) 100%);
  pointer-events:none;
  z-index:1;
}
.lite-yt > .lite-yt-title{
  position:absolute;
  top:14px;left:18px;right:60px;
  color:#fff;
  font-size:13px;
  font-weight:700;
  text-shadow:0 1px 2px rgba(0,0,0,.4);
  z-index:2;
  line-height:1.3;
}
.lite-yt > .lite-yt-play-btn{
  position:absolute;
  top:50%;left:50%;
  width:78px;height:54px;
  margin-top:-27px;margin-left:-39px;
  background:rgba(33,33,33,.85);
  border-radius:14px;
  z-index:2;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s, transform .15s;
}
.lite-yt:hover > .lite-yt-play-btn{
  background:#FF0000;
  transform:scale(1.08);
}
.lite-yt > .lite-yt-play-btn::before{
  content:'';
  border:solid transparent;
  border-width:11px 0 11px 19px;
  border-left-color:#fff;
  transform:translateX(2px);
}
.lite-yt > .lite-yt-meta{
  position:absolute;
  bottom:14px;left:18px;
  color:rgba(255,255,255,.9);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:.3px;
  text-shadow:0 1px 2px rgba(0,0,0,.5);
  z-index:2;
  display:flex;
  align-items:center;
  gap:6px;
}
.lite-yt > .lite-yt-meta svg{
  width:14px;height:14px;
  fill:#FF0000;
}
.lite-yt.activated{
  cursor:auto;
}
.lite-yt.activated::before,
.lite-yt.activated > .lite-yt-title,
.lite-yt.activated > .lite-yt-play-btn,
.lite-yt.activated > .lite-yt-meta{
  display:none;
}
.lite-yt > iframe{
  width:100%;height:100%;
  border:0;
  position:absolute;
  inset:0;
}

/* --- VIDEO STRIP - multiple lite-youtube cards in a row --- */
.video-strip{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:26px;
}
.video-strip .lite-yt{
  border-radius:12px;
}
.video-card{
  display:flex;
  flex-direction:column;
  gap:0;
}
.video-card .vc-meta{
  background:#fff;
  border:1px solid var(--border);
  border-top:0;
  border-radius:0 0 12px 12px;
  padding:14px 16px 16px;
  margin-top:-8px;
  position:relative;
  z-index:1;
}
.video-card .vc-meta h5{
  font-size:14px;
  font-weight:800;
  color:var(--ink);
  letter-spacing:-.2px;
  line-height:1.3;
  margin-bottom:4px;
}
.video-card .vc-meta p{
  font-size:12px;
  color:var(--muted);
  font-weight:500;
  line-height:1.4;
}
.video-card .lite-yt{
  border-radius:12px 12px 0 0;
}
@media (max-width:900px){
  .video-strip{grid-template-columns:1fr;}
}

/* --- WORKSHOP MODAL --- */
.modal-bg{
  position:fixed;
  inset:0;
  background:rgba(15,15,28,.78);
  backdrop-filter:blur(6px);
  z-index:2000;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  transition:opacity .25s;
}
.modal-bg.open{
  display:flex;
  opacity:1;
}
.modal-card{
  background:#fff;
  border-radius:18px;
  max-width:480px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  position:relative;
  transform:translateY(20px);
  transition:transform .25s;
}
.modal-bg.open .modal-card{transform:translateY(0);}
.modal-close{
  position:absolute;
  top:14px;right:14px;
  width:32px;height:32px;
  border-radius:50%;
  background:var(--bg);
  border:0;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  font-size:20px;
  color:var(--ink);
  z-index:1;
  transition:background .12s;
}
.modal-close:hover{background:var(--border);}
.modal-head{
  background:linear-gradient(135deg,var(--ink) 0%,var(--navy) 100%);
  color:#fff;
  padding:32px 28px 24px;
  border-radius:18px 18px 0 0;
  position:relative;
  overflow:hidden;
}
.modal-head::before{
  content:"";
  position:absolute;
  top:-50%;right:-30%;
  width:300px;height:300px;
  background:radial-gradient(circle,rgba(254,168,47,.2),transparent 70%);
}
.modal-head .eyebrow{
  display:inline-block;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.4px;
  color:var(--orange);
  text-transform:uppercase;
  margin-bottom:8px;
  position:relative;
}
.modal-head h3{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.6px;
  line-height:1.15;
  color:#fff;
  position:relative;
}
.modal-head h3 em{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:500;
  color:var(--orange);
}
.modal-head .when{
  margin-top:14px;
  font-size:13px;
  color:rgba(255,255,255,.85);
  font-weight:600;
  position:relative;
}
.modal-body{padding:24px 28px 28px;}
.modal-body label{
  display:block;
  font-size:11.5px;
  font-weight:800;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.8px;
  margin-bottom:6px;
  margin-top:14px;
}
.modal-body label:first-child{margin-top:0;}
.modal-body input,
.modal-body select{
  width:100%;
  padding:11px 14px;
  border:1.5px solid var(--border);
  border-radius:8px;
  font-size:14px;
  font-family:inherit;
  background:#fff;
  transition:border-color .12s;
}
.modal-body input:focus,
.modal-body select:focus{
  outline:none;
  border-color:var(--orange);
}
.modal-body .modal-cta{
  width:100%;
  background:var(--orange);
  color:var(--ink);
  border:0;
  padding:14px;
  border-radius:10px;
  font-size:14px;
  font-weight:800;
  letter-spacing:.2px;
  cursor:pointer;
  margin-top:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  transition:all .15s;
}
.modal-body .modal-cta:hover{
  background:var(--orange-d);
  transform:translateY(-1px);
}
.modal-body .modal-foot{
  text-align:center;
  font-size:11.5px;
  color:var(--muted);
  margin-top:14px;
  line-height:1.5;
}
.modal-body .modal-foot a{
  color:var(--orange-d);
  font-weight:700;
}


/* === UNIVERSAL ALL-CAPS → Title Case override (round 20) === */
*, *::before, *::after {
  text-transform: none !important;
}

/* Re-apply ONLY for elements that semantically must stay uppercase */
[data-keep-caps] {
  text-transform: uppercase !important;
}


/* === Strip all text-based avatar placeholders === */
.wa-card-img .ph-av { display: none !important; }
.fac-tile .fac-ph  { display: none !important; }

/* === COLLEGE CARD ALIGNMENT FIX: yellow strip + footer always at same offset === */
.col-card.top{display:flex !important;flex-direction:column !important;}
.col-card.top .stats{flex-grow:1;}

/* === ROUND 20: Bump element sizes for prominence === */
.sub-h, .lede, p { font-size: 1.02em; line-height: 1.65; }
.col-card .city { font-size: 13px; font-weight: 600; color: var(--muted); }
.col-card .stat { padding: 7px 0 !important; font-size: 13.5px !important; }
.col-card .stat span { font-size: 14px; font-weight: 600; }
.col-card h4 { font-size: 19px; font-weight: 900; letter-spacing: -.3px; }
.col-card .rank { font-size: 14px; padding: 6px 12px; }
.col-card .fee { font-size: 14px; }
.col-card .fee b { font-size: 18px; }
.pin-card .ct-left h3 { font-size: 33px; }
.pin-card .ct-left p { font-size: 16px; line-height: 1.65; }
    .pin-card .ct-left ul li { font-size: 15px; line-height: 1.55; padding: 6px 0 6px 24px; }
.btn-p, .btn-o, .btn-primary, .btn-outline, .ws-cta-primary, .ws-cta-secondary {
  font-size: 15px !important;
  padding: 13px 24px !important;
  font-weight: 800 !important;
}
.hero-sub { font-size: 18px !important; line-height: 1.6 !important; }
.sec-head h2 { font-size: 42px; letter-spacing: -.8px; }
.sec-head .sub-h { font-size: 16.5px; }


.toast-stack{
  position:fixed;
  left:20px;bottom:20px;
  width:calc(100% - 40px);
  max-width:380px;
  z-index:1450;
  pointer-events:none;
  display:flex;flex-direction:column;gap:10px;
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;
}
.toast{
  pointer-events:auto;
  background:#fff;
  border:1px solid var(--border);
  border-radius:10px;
  box-shadow:0 8px 24px rgba(8,12,20,.14),0 1px 3px rgba(8,12,20,.06);
  padding:11px 14px 11px 16px;
  position:relative;
  overflow:hidden;
  display:flex;align-items:center;gap:11px;
  min-height:56px;
  opacity:0;
  transform:translate(-20px,4px);
  transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1);
}
.toast.in{opacity:1;transform:translate(0,0);}
.toast.out{opacity:0;transform:translate(-20px,4px);}
.toast::before{
  content:"";position:absolute;left:0;top:0;bottom:0;
  width:3px;
  background:linear-gradient(180deg,var(--orange) 0%,var(--orange-d) 100%);
}
/* Purpose-coloured left bar variants */
.toast-discount::before{background:linear-gradient(180deg,#FEA82F 0%,#E8951F 100%);}
.toast-fomo::before{background:linear-gradient(180deg,#E11D48 0%,#9F1239 100%);}
.toast-urgency::before{background:linear-gradient(180deg,#FEA82F 0%,#C2410C 100%);}
.toast-info::before{background:linear-gradient(180deg,#FEA82F 0%,#E8951F 100%);}
.toast-social_proof::before{background:linear-gradient(180deg,#1F8A5B 0%,#0F5E3A 100%);}
/* Match progress bar to purpose */
.toast-discount .toast-progress{background:var(--orange);}
.toast-fomo .toast-progress{background:#E11D48;}
.toast-urgency .toast-progress{background:#C2410C;}
.toast-info .toast-progress{background:#FEA82F;}
.toast-social_proof .toast-progress{background:var(--green);}
.toast-progress{
  position:absolute;left:0;bottom:0;height:2px;
  background:var(--orange);
  width:100%;
  transform-origin:left;
  animation:toastProgress var(--toast-duration,7s) linear forwards;
}
@keyframes toastProgress{from{transform:scaleX(1);}to{transform:scaleX(0);}}
.toast:hover .toast-progress{animation-play-state:paused;}
.toast-ico{
  flex-shrink:0;width:32px;height:32px;border-radius:8px;
  background:var(--orange-l);color:var(--orange-d);
  display:flex;align-items:center;justify-content:center;
}
.toast-ico svg{
  width:16px;height:16px;
  fill:var(--orange-d);
}
.toast-ico.mint{background:var(--green-l);}
.toast-ico.mint svg{fill:var(--green-d);}
.toast-ico.ink{background:#E8E8EE;}
.toast-ico.ink svg{fill:var(--ink);}
.toast-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;}
.toast-title{
  font-size:12.5px;font-weight:800;
  color:var(--ink);line-height:1.25;letter-spacing:-.1px;
}
.toast-msg{
  font-size:11px;color:var(--muted);
  line-height:1.35;
}
.toast-msg b{color:var(--ink);font-weight:700;}
.toast-cta{
  flex-shrink:0;
  background:var(--orange);
  color:#fff !important;
  font-size:11px;font-weight:800;
  padding:7px 12px;
  border-radius:6px;
  text-decoration:none;
  white-space:nowrap;
  letter-spacing:.2px;
  transition:all .15s;
  align-self:center;
}
.toast-cta:hover{background:var(--orange-d);transform:translateY(-1px);}
.toast-social_proof .toast-cta{background:var(--green);}
.toast-social_proof .toast-cta:hover{background:var(--green-d);}
.toast-info .toast-cta{background:#FEA82F;}
.toast-info .toast-cta:hover{background:#E8951F;}
.toast-fomo .toast-cta{background:#E11D48;}
.toast-fomo .toast-cta:hover{background:#9F1239;}
.toast-x{
  flex-shrink:0;width:20px;height:20px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;border:0;cursor:pointer;
  color:var(--muted);font-size:16px;line-height:1;
  border-radius:50%;transition:all .15s;
  align-self:flex-start;margin-top:1px;margin-right:-4px;
}
.toast-x:hover{background:var(--bg);color:var(--ink);}

/* Mobile: full width, slightly tighter */
@media (max-width:560px){
  .toast-stack{
    left:12px;right:12px;bottom:12px;
    width:auto;max-width:none;
  }
  .toast{padding:10px 12px;min-height:52px;}
  .toast-title{font-size:12px;}
  .toast-msg{font-size:10.5px;}
  .toast-ico{width:30px;height:30px;}
  .toast-ico svg{width:15px;height:15px;}
  .toast-cta{font-size:10.5px;padding:6px 10px;}
}

/* Hide on very-small screens when sticky CTA is also present (mobile) */
@media (max-width:560px){
  body.has-sticky-cta .toast-stack{bottom:78px;}
}

@media (prefers-reduced-motion:reduce){
  .toast,.toast-progress{transition:none !important;animation:none !important;}
}

.wa-stamp {
    position: absolute;
    bottom: 8px;
    right: 8px;
    z-index: 3;
}

.wa-stamp-outer {
    background: linear-gradient(135deg, #1F8A5B 0%, #0F5E3A 100%);
    color: #fff;
    border-radius: 5px;
    padding: 5px 7px;
    border: 2px solid rgba(255, 255, 255, .2);
    box-shadow: 0 4px 10px rgba(31, 138, 91, .45);
    text-align: center;
    letter-spacing: .3px;
}

.wa-stamp-top {
    font-size: 6.5px;
    font-weight: 900;
    color: rgba(255, 255, 255, .85);
    text-transform: uppercase;
    letter-spacing: .6px;
    line-height: 1.1;
    margin-bottom: 1px;
}

.wa-stamp-ctr {
    font-size: 9px;
    font-weight: 900;
    color: #fff;
    line-height: 1.2;
    margin-bottom: 1px;
}
