/* ============================================================
   MEDICARE GROUP OF EDUCATION — PREMIUM VISUAL LAYER (premium.css)
   Loads AFTER brand.css. Purely additive: elevates the look to a
   Stripe / Linear / Awwwards feel WITHOUT touching any markup,
   class contract, JavaScript hook, language toggle or module route.
   Safe to remove at any time — the site keeps working exactly as before.
   ============================================================ */

:root{
  --ease:cubic-bezier(.2,.8,.2,1);
  --glass:color-mix(in srgb, var(--surface) 72%, transparent);
  --ring:rgba(108,45,145,.22);
}

/* ---- global polish ------------------------------------------------ */
::selection{ background:rgba(230,168,23,.28); color:var(--navy-ink); }
html{ scroll-padding-top:88px; }
*{ -webkit-tap-highlight-color:transparent; }
/* refined scrollbar (desktop) */
@media (pointer:fine){
  *{ scrollbar-width:thin; scrollbar-color:var(--purple-soft) transparent; }
  *::-webkit-scrollbar{ width:10px; height:10px; }
  *::-webkit-scrollbar-thumb{ background:linear-gradient(var(--purple),var(--purple-deep)); border-radius:20px; border:3px solid var(--bg); }
}

/* ---- reveal: nicer easing + subtle blur lift ---------------------- */
.reveal{ transform:translateY(30px) scale(.99); filter:blur(3px);
  transition:opacity .7s var(--ease), transform .7s var(--ease), filter .7s var(--ease); }
.reveal.in{ transform:none; filter:none; }

/* ============================================================
   HEADER — deeper glass, subtle shrink on scroll
   ============================================================ */
.site-header{
  background:color-mix(in srgb, #fff 70%, transparent);
  backdrop-filter:saturate(180%) blur(20px);
  -webkit-backdrop-filter:saturate(180%) blur(20px);
  border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);
  transition:box-shadow .35s var(--ease), background .35s var(--ease);
}
.site-header.scrolled{
  background:color-mix(in srgb, #fff 82%, transparent);
  box-shadow:0 10px 34px -14px rgba(22,34,94,.28);
}
.header-inner{ transition:padding .35s var(--ease); }
.site-header.scrolled .header-inner{ padding-top:9px; padding-bottom:9px; }
.brand .crest{ transition:transform .4s var(--ease); }
.brand:hover .crest{ transform:rotate(-4deg) scale(1.05); }
.login-btn, .lang-btn, .menu-btn{ transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s, color .25s, background .25s; }

/* ============================================================
   HERO — animated aurora, richer depth, gradient headline
   ============================================================ */
.hero{ padding:96px 0 112px; }
/* soft top vignette so the glass header melts into the hero */
.hero::before{
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(60% 45% at 78% 8%, rgba(255,201,120,.20), transparent 60%),
    radial-gradient(55% 50% at 12% 92%, rgba(46,134,193,.26), transparent 60%);
  mix-blend-mode:screen;
}
/* drifting grain-free mesh shimmer */
.hero::after{
  content:""; position:absolute; inset:-30%; z-index:0; pointer-events:none; opacity:.5;
  background:conic-gradient(from 120deg at 50% 50%, transparent, rgba(155,89,182,.16), transparent 40%, rgba(46,134,193,.14), transparent 70%);
  animation:heroSpin 40s linear infinite;
}
@keyframes heroSpin{ to{ transform:rotate(360deg); } }

/* repurpose the decorative crest quadrants into floating aurora blobs */
.hero-crest-bg{
  inset:0; top:0; left:0; transform:none; width:100%; height:100%;
  display:block; opacity:1; rotate:0deg; filter:blur(70px); mix-blend-mode:screen;
}
.hero-crest-bg span{ position:absolute; border-radius:50%; opacity:.55; }
.hero-crest-bg .q1{ width:460px; height:460px; left:-4%;  top:-14%; background:var(--sky-soft);    animation:blob 20s var(--ease) infinite; }
.hero-crest-bg .q2{ width:420px; height:420px; right:-2%; top:-8%;  background:var(--rose-soft);   animation:blob 26s var(--ease) infinite reverse; }
.hero-crest-bg .q3{ width:380px; height:380px; left:18%;  bottom:-18%;background:var(--green-soft);  animation:blob 30s var(--ease) infinite; }
.hero-crest-bg .q4{ width:440px; height:440px; right:14%; bottom:-12%;background:var(--purple-soft); animation:blob 24s var(--ease) infinite reverse; }
@keyframes blob{ 0%,100%{ transform:translate(0,0) scale(1); } 50%{ transform:translate(34px,26px) scale(1.08); } }

.hero-eyebrow{
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
  box-shadow:0 8px 24px -12px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.25);
}
.hero-eyebrow .flame{ animation:flick 2.4s ease-in-out infinite; }
@keyframes flick{ 0%,100%{ transform:rotate(0) scale(1); opacity:1; } 50%{ transform:rotate(-6deg) scale(1.12); opacity:.85; } }

.hero h1{ font-size:clamp(40px,6.2vw,72px); letter-spacing:-.025em; }
.hero h1 .accent{
  background:linear-gradient(100deg,#FFD98A 0%,#FFB56B 40%,#FF9FB0 100%);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}
.hero p.lead{ color:#EFE9FF; }

/* premium buttons: sheen + spring */
.btn{ transition:transform .28s var(--ease), box-shadow .28s var(--ease), background .28s; position:relative; overflow:hidden; }
.btn::after{
  content:""; position:absolute; top:0; left:-120%; width:60%; height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent); transform:skewX(-18deg);
  transition:left .6s var(--ease);
}
.btn:hover::after{ left:130%; }
.btn-primary:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -14px rgba(243,156,18,.6); }
.btn-fee:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -14px rgba(30,132,73,.6); }
.btn-ghost{ backdrop-filter:blur(6px); }

/* pillar chips: glass + hover pop */
.pillar-chip{ backdrop-filter:blur(6px); transition:transform .25s var(--ease), background .25s, border-color .25s; }
.pillar-chip:hover{ transform:translateY(-3px); background:rgba(255,255,255,.22); border-color:rgba(255,255,255,.5); }

/* ============================================================
   STATS — floating glass slab, gradient numbers, per-stat lift
   ============================================================ */
.stats{ margin-top:-64px; }
.stats-card{
  position:relative; border:none; border-radius:26px;
  background:color-mix(in srgb, var(--surface) 88%, transparent);
  backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3);
  box-shadow:0 2px 6px rgba(22,34,94,.05), 0 40px 80px -34px rgba(22,34,94,.4);
  padding:38px 32px;
}
/* gradient hairline border */
.stats-card::before{
  content:""; position:absolute; inset:0; border-radius:26px; padding:1px; pointer-events:none;
  background:linear-gradient(135deg, rgba(108,45,145,.5), transparent 45%, rgba(46,134,193,.45));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude;
}
.stat{ border-right:none; border-radius:16px; padding:12px 10px; transition:transform .3s var(--ease), background .3s; }
.stat:not(:last-child)::after{
  content:""; position:absolute; }
.stat{ position:relative; }
.stat:hover{ transform:translateY(-4px); background:color-mix(in srgb, var(--purple) 6%, transparent); }
.stat-ico{ width:46px; height:46px; font-size:18px; transition:transform .35s var(--ease); }
.stat:hover .stat-ico{ transform:scale(1.12) rotate(-6deg); }
.stat-num{
  font-size:38px;
  background:linear-gradient(135deg, var(--navy), var(--purple)); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

/* ============================================================
   SECTION HEADS — arc brand device before the eyebrow
   ============================================================ */
.features{ padding:88px 0 40px; }
.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{
  content:""; width:30px; height:12px; flex:none;
  border:2px solid var(--gold); border-bottom:none; border-radius:30px 30px 0 0; opacity:.9;
}
.section-head h2{ font-size:clamp(30px,4.2vw,46px); }

/* ============================================================
   FEATURE CARDS — glass, gradient-glow border, icon motion
   ============================================================ */
.pillar-group{ margin-top:58px; }
.f-card{
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
  will-change:transform;
}
.f-card::after{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px; opacity:0; pointer-events:none;
  background:var(--accent, linear-gradient(135deg,var(--purple),var(--sky)));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; transition:opacity .4s;
}
.f-card:hover{ transform:translateY(-7px); box-shadow:0 30px 60px -24px rgba(22,34,94,.45); }
.f-card:hover::after{ opacity:1; }
.f-ico{ transition:transform .4s var(--ease); }
.f-card:hover .f-ico{ transform:translateY(-2px) scale(1.08) rotate(-5deg); }
.f-link i{ transition:transform .3s var(--ease); }
.f-card:hover .f-link i{ transform:translateX(4px); }

/* staggered rise of cards when their pillar group reveals */
.card-grid .f-card{ opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease), box-shadow .4s, border-color .4s; }
.pillar-group.in .card-grid .f-card{ opacity:1; transform:none; }
.pillar-group.in .card-grid .f-card:nth-child(2){ transition-delay:.08s; }
.pillar-group.in .card-grid .f-card:nth-child(3){ transition-delay:.16s; }
.pillar-group.in .card-grid .f-card:nth-child(4){ transition-delay:.24s; }

/* ============================================================
   CTA STRIP — layered aurora glow
   ============================================================ */
.cta-box{ box-shadow:0 40px 90px -40px rgba(74,29,99,.7); }
.cta-box::before{
  content:""; position:absolute; left:-60px; bottom:-80px; width:280px; height:280px; pointer-events:none;
  background:radial-gradient(circle, rgba(46,134,193,.5), transparent 70%); opacity:.6; filter:blur(10px);
}

/* ============================================================
   FOOTER — gradient hairline + link slide
   ============================================================ */
footer{ position:relative; }
footer::before{
  content:""; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, var(--purple-soft), var(--sky-soft), var(--orange), transparent); opacity:.6;
}
.f-col a{ transition:color .2s, padding-left .25s var(--ease); }
.f-col a:hover{ padding-left:5px; }

/* ============================================================
   RESPONSIVE tuning for the premium hero spacing
   ============================================================ */
@media (max-width:720px){
  .hero{ padding:64px 0 84px; }
  .stats{ margin-top:-48px; }
  .stats-card{ padding:26px 18px; }
  .eyebrow::before{ width:24px; height:10px; }
}

/* ============================================================
   MOTION SAFETY
   ============================================================ */
@media (prefers-reduced-motion:reduce){
  .hero::after, .hero-crest-bg span, .hero-eyebrow .flame{ animation:none !important; }
  .reveal, .card-grid .f-card{ filter:none !important; transform:none !important; opacity:1 !important; }
  .btn::after{ display:none; }
}

/* ============================================================
   HOMEPAGE ADDED SECTIONS — Courses · Process · Stories
   (markup lives in index.html; all bilingual + .reveal aware)
   ============================================================ */
.mep-block{ margin-top:72px; }
.mep-block .section-head{ margin-bottom:34px; }
.mep-center{ text-align:center; margin-top:34px; }

/* light-surface ghost button (brand .btn-ghost is white-on-dark only) */
.mep-btn{
  display:inline-flex; align-items:center; gap:9px; padding:13px 26px; border-radius:999px;
  font-weight:700; font-size:15px; color:var(--purple); background:var(--surface);
  border:1.6px solid var(--line); transition:transform .25s var(--ease), border-color .25s, color .25s, box-shadow .25s;
}
.mep-btn:hover{ transform:translateY(-3px); border-color:var(--purple); color:var(--purple-deep); box-shadow:0 16px 32px -16px var(--ring); }

/* ---- Courses grid ---- */
.mepc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.mepc-card{
  position:relative; display:flex; flex-direction:column; gap:9px;
  background:var(--surface); border:1px solid var(--line); border-radius:18px;
  padding:24px 22px 22px; overflow:hidden;
  transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s;
}
.mepc-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:linear-gradient(var(--purple),var(--sky)); transform:scaleY(0); transform-origin:top; transition:transform .4s var(--ease); }
.mepc-card:hover{ transform:translateY(-6px); box-shadow:0 28px 56px -26px rgba(22,34,94,.4); border-color:transparent; }
.mepc-card:hover::before{ transform:scaleY(1); }
.mepc-ico{ width:50px; height:50px; border-radius:14px; display:grid; place-items:center; color:#fff;
  font-size:19px; box-shadow:var(--shadow-sm); transition:transform .4s var(--ease); }
.mepc-card:hover .mepc-ico{ transform:scale(1.1) rotate(-6deg); }
.mepc-title{ font-family:'Fraunces',serif; font-weight:600; font-size:16.5px; color:var(--navy); line-height:1.28; }
body.bn .mepc-title{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.mepc-desc{ font-size:13px; color:var(--muted); line-height:1.55; font-weight:500; flex:1; }
.mepc-tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:4px; }
.mepc-tags span{ font-size:11px; font-weight:700; letter-spacing:.02em; color:var(--purple-deep);
  background:color-mix(in srgb,var(--purple) 9%,transparent); border-radius:8px; padding:4px 9px; }
.mepc-tags .mepc-free{ color:#166b3a; background:rgba(30,132,73,.12); }
.mepc-arw{ position:absolute; right:20px; top:26px; color:var(--purple-soft); font-size:13px; opacity:0;
  transform:translateX(-4px); transition:opacity .3s, transform .3s var(--ease); }
.mepc-card:hover .mepc-arw{ opacity:1; transform:translateX(0); }

/* ---- Admission process ---- */
.mep-process .mep-steps{
  position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:24px;
  background:var(--surface); border:1px solid var(--line); border-radius:24px; padding:40px 34px;
  box-shadow:var(--shadow-sm);
}
.mep-line{ position:absolute; top:60px; left:13%; right:13%; height:2px; z-index:1;
  background:repeating-linear-gradient(90deg,var(--line) 0 7px,transparent 7px 15px); }
.mep-step{ position:relative; z-index:2; text-align:center; }
.mep-snum{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; margin:0 auto 14px;
  font-family:'Fraunces',serif; font-weight:700; font-size:17px; color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--purple-deep));
  box-shadow:0 10px 22px -8px var(--ring); }
.mep-step:nth-child(3) .mep-snum{ background:linear-gradient(135deg,var(--sky),#1f6ea3); }
.mep-step:nth-child(4) .mep-snum{ background:linear-gradient(135deg,var(--orange),#d9821a); }
.mep-step:nth-child(5) .mep-snum{ background:linear-gradient(135deg,var(--green),#166b3a); }
.mep-step h4{ font-family:'Fraunces',serif; font-weight:600; font-size:16px; color:var(--navy); margin-bottom:6px; }
body.bn .mep-step h4{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.mep-step p{ font-size:12.8px; color:var(--muted); font-weight:500; line-height:1.5; }

/* ---- Success stories ---- */
.mep-tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.mep-tst{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:20px;
  padding:26px 26px 24px; margin:0; transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.mep-tst:hover{ transform:translateY(-5px); box-shadow:0 26px 52px -26px rgba(22,34,94,.4); }
.mep-quote{ font-family:'Fraunces',serif; font-size:52px; line-height:.5; color:var(--gold); height:22px; }
.mep-tst blockquote{ margin:0; font-size:14.5px; color:var(--ink); font-weight:500; line-height:1.62; }
.mep-who{ display:flex; align-items:center; gap:12px; margin-top:20px; }
.mep-av{ width:44px; height:44px; border-radius:50%; flex:none; display:grid; place-items:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:15px; color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--sky)); }
.mep-who b{ display:block; font-size:14.5px; color:var(--navy); font-weight:700; }
.mep-who small{ font-size:12px; color:var(--muted); font-weight:600; }

/* ---- responsive ---- */
@media (max-width:900px){
  .mepc-grid,.mep-tst-grid{ grid-template-columns:repeat(2,1fr); }
  .mep-process .mep-steps{ grid-template-columns:repeat(2,1fr); gap:28px 20px; }
  .mep-line{ display:none; }
}
@media (max-width:620px){
  .mepc-grid,.mep-tst-grid,.mep-process .mep-steps{ grid-template-columns:1fr; }
  .mep-block{ margin-top:56px; }
}

/* ============================================================
   HOMEPAGE ADDED SECTIONS — Approvals · Gallery · FAQ
   ============================================================ */

/* ---- Approvals / affiliations wall ---- */
.mep-appr-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.mep-appr{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px;
  background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:22px 16px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s;
}
.mep-appr:hover{ transform:translateY(-5px); box-shadow:0 22px 44px -22px rgba(22,34,94,.4); border-color:transparent; }
.mep-appr-mark{
  font-family:'Fraunces',serif; font-weight:700; font-size:20px; letter-spacing:.02em;
  color:#fff; padding:10px 16px; border-radius:12px; min-width:92px;
  background:linear-gradient(135deg,var(--navy),var(--purple)); box-shadow:var(--shadow-sm);
}
.mep-appr:nth-child(2) .mep-appr-mark{ background:linear-gradient(135deg,var(--sky),#1f6ea3); }
.mep-appr:nth-child(3) .mep-appr-mark{ background:linear-gradient(135deg,var(--rose),#961246); }
.mep-appr:nth-child(4) .mep-appr-mark{ background:linear-gradient(135deg,var(--purple),var(--purple-deep)); }
.mep-appr:nth-child(5) .mep-appr-mark{ background:linear-gradient(135deg,var(--green),#166b3a); }
.mep-appr:nth-child(6) .mep-appr-mark{ background:linear-gradient(135deg,var(--sky-soft),var(--sky)); }
.mep-appr:nth-child(7) .mep-appr-mark{ background:linear-gradient(135deg,var(--orange),#d9821a); }
.mep-appr-mark.mep-appr-asset{ background:linear-gradient(135deg,var(--green),var(--sky)); }
.mep-appr-name{ font-size:12px; font-weight:600; color:var(--muted); line-height:1.4; }

/* ---- Gallery preview ---- */
.mep-gal-grid{
  display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:150px; gap:14px;
}
.mep-gal-item{
  position:relative; overflow:hidden; border-radius:16px; display:block; background:var(--surface-2);
  box-shadow:var(--shadow-sm);
}
.mep-gal-item img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.mep-gal-item:hover img{ transform:scale(1.08); }
.mep-gal-lg{ grid-column:span 2; grid-row:span 2; }
.mep-gal-wd{ grid-column:span 2; }
.mep-gal-ov{
  position:absolute; inset:0; display:grid; place-items:center; color:#fff; font-size:20px;
  background:linear-gradient(135deg,rgba(74,29,99,.55),rgba(46,134,193,.45)); opacity:0; transition:opacity .35s;
}
.mep-gal-item:hover .mep-gal-ov{ opacity:1; }

/* ---- FAQ (CSS-only <details> accordion) ---- */
.mep-faq-list{ max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:12px; }
.mep-faq-item{
  background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  transition:box-shadow .3s, border-color .3s;
}
.mep-faq-item[open]{ box-shadow:0 18px 40px -24px rgba(22,34,94,.4); border-color:color-mix(in srgb,var(--purple) 40%,var(--line)); }
.mep-faq-item summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px;
  padding:18px 22px; font-weight:700; font-size:15.5px; color:var(--navy); line-height:1.4;
}
.mep-faq-item summary::-webkit-details-marker{ display:none; }
.mep-faq-item summary i{
  margin-left:auto; flex:none; width:30px; height:30px; border-radius:9px; display:grid; place-items:center;
  font-size:12px; color:var(--purple); background:color-mix(in srgb,var(--purple) 10%,transparent);
  transition:transform .35s var(--ease), background .3s, color .3s;
}
.mep-faq-item[open] summary i{ transform:rotate(180deg); background:var(--purple); color:#fff; }
.mep-faq-a{ padding:0 22px 20px; font-size:14px; color:var(--muted); font-weight:500; line-height:1.65; max-width:70ch; }

/* responsive */
@media (max-width:900px){
  .mep-appr-grid{ grid-template-columns:repeat(2,1fr); }
  .mep-gal-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:130px; }
  .mep-gal-lg{ grid-column:span 2; grid-row:span 2; }
  .mep-gal-wd{ grid-column:span 2; }
}
@media (max-width:620px){
  .mep-appr-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .mep-gal-grid{ grid-auto-rows:120px; }
  .mep-faq-item summary{ font-size:14.5px; padding:16px 18px; }
}

/* ============================================================
   MODULE PAGES — Nursing College · Medical Institute · Certification
   Reusable classes (used by the new module pages; harmless elsewhere)
   ============================================================ */
.mod-hero{
  position:relative; overflow:hidden; color:#fff; text-align:center;
  padding:74px 24px 84px;
  background:
    radial-gradient(1000px 480px at 82% -10%, rgba(155,89,182,.5), transparent 60%),
    radial-gradient(820px 460px at 8% 110%, rgba(46,134,193,.42), transparent 60%),
    linear-gradient(150deg,#3A1560 0%,#2A1A6B 46%,#16225E 100%);
}
.mod-hero::after{ content:""; position:absolute; inset:-30%; opacity:.5; pointer-events:none;
  background:conic-gradient(from 120deg at 50% 50%, transparent, rgba(155,89,182,.16), transparent 40%, rgba(46,134,193,.14), transparent 70%);
  animation:heroSpin 40s linear infinite; }
.mod-hero > *{ position:relative; z-index:2; }
.mod-hero .eyebrow{ color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3);
  padding:9px 18px; border-radius:999px; backdrop-filter:blur(8px); }
.mod-hero .eyebrow::before{ border-color:var(--gold); }
.mod-hero h1{ font-family:'Fraunces',serif; font-weight:600; font-size:clamp(34px,5.4vw,58px);
  letter-spacing:-.02em; line-height:1.06; margin:20px 0 0; }
body.bn .mod-hero h1{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.mod-hero .lead{ max-width:660px; margin:18px auto 0; font-size:clamp(15px,1.9vw,18px);
  color:#EFE9FF; line-height:1.65; font-weight:500; }
.mod-badges{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:26px; }
.mod-badge{ display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:#fff;
  background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.26); padding:8px 15px; border-radius:999px;
  backdrop-filter:blur(6px); }
.mod-badge i{ color:var(--gold); }
.mod-hero-cta{ display:flex; gap:13px; justify-content:center; flex-wrap:wrap; margin-top:30px; }

.mod-sec{ padding:64px 0 8px; }
.mod-sec.alt{ background:var(--bg); }

/* program cards */
.prog-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; margin-top:34px; }
.prog-card{ position:relative; background:var(--surface); border:1px solid var(--line); border-radius:20px;
  padding:28px 26px; overflow:hidden; transition:transform .4s var(--ease), box-shadow .4s var(--ease), border-color .4s; }
.prog-card::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:var(--accent,linear-gradient(90deg,var(--purple),var(--sky))); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.prog-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; }
.prog-card:hover::before{ transform:scaleX(1); }
.prog-ico{ width:52px; height:52px; border-radius:14px; display:grid; place-items:center; color:#fff; font-size:20px;
  margin-bottom:16px; box-shadow:var(--shadow-sm); background:var(--accent,linear-gradient(135deg,var(--purple),var(--purple-deep))); }
.prog-card h3{ font-family:'Fraunces',serif; font-weight:600; font-size:20px; color:var(--navy); line-height:1.2; }
body.bn .prog-card h3{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.prog-meta{ display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.prog-meta span{ font-size:11.5px; font-weight:700; color:var(--purple-deep);
  background:color-mix(in srgb,var(--purple) 9%,transparent); border-radius:8px; padding:4px 10px; }
.prog-card > p{ font-size:14px; color:var(--muted); line-height:1.6; font-weight:500; }
.prog-list{ list-style:none; margin:14px 0 18px; padding:0; display:grid; gap:8px; }
.prog-list li{ display:flex; gap:10px; font-size:13.5px; color:var(--ink); font-weight:500; }
.prog-list li i{ color:var(--green); margin-top:3px; font-size:12px; flex:none; }
.prog-apply{ display:inline-flex; align-items:center; gap:8px; font-weight:700; font-size:14px; color:var(--purple);
  transition:gap .25s var(--ease); }
.prog-apply:hover{ gap:12px; color:var(--purple-deep); }

/* info / facilities cards */
.info-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; }
.info-card{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:26px 24px;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.info-card:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.info-ico{ width:48px; height:48px; border-radius:13px; display:grid; place-items:center; font-size:19px;
  color:var(--purple); background:color-mix(in srgb,var(--purple) 10%,transparent); margin-bottom:16px; }
.info-card h4{ font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--navy); margin-bottom:8px; }
body.bn .info-card h4{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.info-card p{ font-size:13.5px; color:var(--muted); line-height:1.58; font-weight:500; }

/* certificate verify box */
.mv-box{ max-width:720px; margin:34px auto 0; background:linear-gradient(160deg,var(--navy),var(--purple-deep));
  border-radius:24px; padding:36px 32px; color:#fff; position:relative; overflow:hidden; text-align:center; }
.mv-box::after{ content:""; position:absolute; right:-50px; top:-50px; width:220px; height:220px;
  background:radial-gradient(circle,var(--orange),transparent 70%); opacity:.3; }
.mv-box h3{ font-family:'Fraunces',serif; font-weight:600; font-size:24px; position:relative; z-index:2; }
body.bn .mv-box h3{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.mv-box p{ color:#EFEBFF; font-size:14px; margin:8px 0 22px; position:relative; z-index:2; }
.mv-in{ display:flex; gap:10px; max-width:520px; margin:0 auto; position:relative; z-index:2; }
.mv-in input{ flex:1; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.28); border-radius:999px;
  padding:14px 22px; color:#fff; font-family:inherit; font-size:14.5px; font-weight:600; outline:none; }
.mv-in input::placeholder{ color:rgba(255,255,255,.55); }
.mv-in input:focus{ border-color:var(--gold); }
.mv-msg{ margin-top:16px; font-size:14px; font-weight:700; min-height:20px; position:relative; z-index:2; }
.mv-qr{ display:inline-flex; align-items:center; gap:9px; margin-top:16px; font-size:12.5px;
  color:rgba(255,255,255,.72); font-weight:600; position:relative; z-index:2; }
.mv-qr i{ color:var(--gold); }

/* module footer link row */
.mod-foot-cta{ text-align:center; margin-top:12px; }
@media (max-width:820px){
  .prog-grid{ grid-template-columns:1fr; }
  .info-grid{ grid-template-columns:1fr; }
  .mod-hero{ padding:56px 20px 64px; }
}

/* ============================================================
   MODULE PAGES — Faculty (people) · Research (publications)
   ============================================================ */
/* people / leadership cards */
.people-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:34px; }
.person{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:26px 24px; text-align:center;
  transition:transform .35s var(--ease), box-shadow .35s var(--ease); }
.person:hover{ transform:translateY(-5px); box-shadow:var(--shadow-md); }
.person-av{ width:72px; height:72px; border-radius:50%; margin:0 auto 14px; display:grid; place-items:center;
  font-family:'Fraunces',serif; font-weight:700; font-size:24px; color:#fff;
  background:linear-gradient(135deg,var(--purple),var(--sky)); box-shadow:var(--shadow-sm); }
.person h4{ font-family:'Fraunces',serif; font-weight:600; font-size:17px; color:var(--navy); margin-bottom:3px; }
body.bn .person h4{ font-family:'Hind Siliguri',sans-serif; font-weight:700; }
.person .role{ font-size:12.5px; font-weight:700; color:var(--purple); }
.person .dept{ font-size:12.5px; color:var(--muted); margin-top:6px; font-weight:500; }

.mod-note{ max-width:760px; margin:26px auto 0; text-align:center; font-size:13px; color:var(--faint);
  font-weight:500; background:var(--surface); border:1px dashed var(--line); border-radius:14px; padding:14px 18px; }
.mod-note i{ color:var(--orange); margin-right:6px; }

/* publications list */
.pub-list{ max-width:860px; margin:34px auto 0; display:flex; flex-direction:column; gap:12px; }
.pub-item{ display:flex; align-items:center; gap:18px; background:var(--surface); border:1px solid var(--line);
  border-radius:16px; padding:18px 22px; transition:transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.pub-item:hover{ transform:translateX(4px); box-shadow:var(--shadow-sm); border-color:color-mix(in srgb,var(--purple) 35%,var(--line)); }
.pub-ico{ width:46px; height:46px; border-radius:12px; flex:none; display:grid; place-items:center; font-size:18px;
  color:#fff; background:linear-gradient(135deg,var(--navy),var(--purple)); }
.pub-body{ flex:1; min-width:0; }
.pub-body h4{ font-size:15px; font-weight:700; color:var(--navy); line-height:1.35; }
.pub-body span{ font-size:12.5px; color:var(--muted); font-weight:600; }
.pub-tag{ font-size:11px; font-weight:700; color:var(--purple-deep); background:color-mix(in srgb,var(--purple) 9%,transparent);
  border-radius:8px; padding:4px 10px; flex:none; }
@media (max-width:820px){ .people-grid{ grid-template-columns:1fr; } .pub-item{ flex-wrap:wrap; } }
