
/* ═══════════════════════════════════════════════
   ROOT TOKENS
═══════════════════════════════════════════════ */
:root {
  --saffron:   #FF6B1A;
  --saffron-d: #e05a12;
  --deep-blue: #0B2E6E;
  --blue-mid:  #1a4094;
  --teal:      #00897B;
  --teal-lt:   #00bfa5;
  --gold:      #FFB300;
  --gold-lt:   #ffd055;
  --light-bg:  #F5F7FF;
  --white:     #ffffff;
  --soft-gray: #f0f2f8;
  --text-dark: #1a1a2e;
  --text-mid:  #444860;
  --text-light:#7a88a8;

  --sh-xs: 0 1px 4px rgba(11,46,110,.07);
  --sh-sm: 0 4px 16px rgba(11,46,110,.10);
  --sh-md: 0 8px 32px rgba(11,46,110,.14);
  --sh-lg: 0 16px 56px rgba(11,46,110,.18);
  --sh-xl: 0 28px 80px rgba(11,46,110,.22);
  --sh-orange: 0 8px 28px rgba(255,107,26,.40);
  --sh-teal:   0 8px 28px rgba(0,137,123,.35);
  --sh-gold:   0 8px 28px rgba(255,179,0,.40);
  --sh-blue:   0 8px 28px rgba(11,46,110,.35);

  --radius:    14px;
  --radius-lg: 22px;
  --ease:      cubic-bezier(.22,1,.36,1);
  --spring:    cubic-bezier(.34,1.56,.64,1);
}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Nunito',sans-serif;
  color:var(--text-dark);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ═══════════════════════════════════════════════
   SCROLL REVEAL
═══════════════════════════════════════════════ */
.sr {
  opacity: 0;
  transform: translateY(40px);
  animation: fadeUp 0.8s ease forwards;
}
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.sr.up{transform:translateY(44px)}
.sr.left{transform:translateX(-44px)}
.sr.right{transform:translateX(44px)}
.sr.scale{transform:scale(.88)}
.sr.visible{opacity:1!important;transform:none!important}
.d1{transition-delay:.06s}.d2{transition-delay:.13s}.d3{transition-delay:.20s}
.d4{transition-delay:.27s}.d5{transition-delay:.34s}.d6{transition-delay:.41s}

/* ═══════════════════════════════════════════════
   TOP BAR
═══════════════════════════════════════════════ */
.topbar{
  background:var(--deep-blue);
  color:#b8cbec;
  font-size:.76rem;font-weight:600;
  padding:7px 52px;
  display:flex;justify-content:space-between;align-items:center;
  letter-spacing:.02em;
  border-bottom:1px solid rgba(255,255,255,.06);
  position:relative;z-index:10;
}
.topbar-live{display:flex;align-items:center;gap:8px}
.live-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 0 rgba(255,179,0,.6);
  animation:livePulse 1.8s ease-in-out infinite;
}
@keyframes livePulse{
  0%{box-shadow:0 0 0 0 rgba(255,179,0,.7)}
  70%{box-shadow:0 0 0 7px rgba(255,179,0,0)}
  100%{box-shadow:0 0 0 0 rgba(255,179,0,0)}
}
.topbar a{color:var(--gold);text-decoration:none;font-weight:800;transition:color .2s}
.topbar a:hover{color:var(--gold-lt)}
.topbar-sep{color:rgba(255,255,255,.2);margin:0 10px}

/* ═══════════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════════ */
nav{
  position:sticky;top:0;z-index:900;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  box-shadow:var(--sh-sm);
  border-bottom:1px solid rgba(11,46,110,.08);
  padding:0 52px;
  display:flex;align-items:center;justify-content:space-between;
  height:72px;
  transition:box-shadow .3s,height .3s;
}
nav.shrunk{height:62px;box-shadow:var(--sh-md)}
.logo-wrap{display:flex;align-items:center;gap:14px}
.logo-wrap img{height:50px;object-fit:contain;transition:height .3s}
nav.shrunk .logo-wrap img{height:42px}
.logo-text{
  border-left:2px solid rgba(11,46,110,.15);padding-left:14px;
  font-size:.78rem;font-weight:800;color:var(--deep-blue);
  line-height:1.3;text-transform:uppercase;letter-spacing:.04em;display:none;
}
@media(min-width:1100px){.logo-text{display:block}}
.nav-links{display:flex;align-items:center;gap:0;list-style:none}
.nav-links>li{position:relative}
.nav-links>li>a{
  display:block;padding:0 14px;line-height:72px;
  font-size:.81rem;font-weight:800;color:var(--deep-blue);
  text-decoration:none;text-transform:uppercase;letter-spacing:.06em;
  transition:color .2s,background .2s;position:relative;
}
.nav-links>li>a::after{
  content:'';position:absolute;bottom:0;left:14px;right:14px;
  height:3px;background:var(--saffron);border-radius:2px 2px 0 0;
  transform:scaleX(0);transform-origin:left;transition:transform .25s var(--ease);
}
.nav-links>li>a:hover{color:var(--saffron)}
.nav-links>li>a:hover::after{transform:scaleX(1)}
nav.shrunk .nav-links>li>a{line-height:62px}
.dropdown{
  display:none;position:absolute;top:calc(100% + 0px);left:0;
  min-width:248px;background:var(--deep-blue);
  border-top:3px solid var(--saffron);
  border-radius:0 0 var(--radius) var(--radius);
  box-shadow:var(--sh-lg);z-index:999;overflow:hidden;
  animation:dropIn .22s var(--ease);
}
@keyframes dropIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.nav-links>li:hover .dropdown{display:block}
.dropdown li a{
  display:block;padding:11px 22px;color:#c0d0ec;
  font-size:.8rem;font-weight:700;text-decoration:none;letter-spacing:.02em;
  border-bottom:1px solid rgba(255,255,255,.06);
  transition:background .15s,color .15s,padding-left .15s;
}
.dropdown li:last-child a{border-bottom:none}
.dropdown li a:hover{background:var(--saffron);color:#fff;padding-left:30px}
.btn-login{
  background:var(--saffron)!important;color:#fff!important;
  border-radius:30px!important;padding:9px 24px!important;
  line-height:normal!important;font-size:.82rem!important;font-weight:800!important;
  letter-spacing:.04em;box-shadow:var(--sh-orange);
  transition:background .2s,transform .2s var(--spring),box-shadow .2s!important;
}
.btn-login::after{display:none!important}
.btn-login:hover{background:var(--deep-blue)!important;transform:translateY(-2px) scale(1.04)!important;box-shadow:var(--sh-blue)!important;}

/* ═══════════════════════════════════════════════
   CM BANNER
═══════════════════════════════════════════════ */
.cm-banner{width:100%;overflow:hidden;max-height:380px;position:relative}
.cm-banner img{width:100%;max-height:380px;object-fit:cover;display:block}
.cm-banner::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(to right,rgba(11,46,110,.25) 0%,transparent 40%,transparent 60%,rgba(11,46,110,.25) 100%);
}

/* ═══════════════════════════════════════════════
   TICKER
═══════════════════════════════════════════════ */
.ticker-wrap{background:linear-gradient(90deg,var(--gold),#ffcc44);overflow:hidden;position:relative;}
.ticker-label{
  position:absolute;left:0;top:0;bottom:0;
  background:var(--saffron);color:#fff;font-size:.7rem;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;
  display:flex;align-items:center;padding:0 20px;
  z-index:2;white-space:nowrap;box-shadow:4px 0 16px rgba(0,0,0,.15);
}
.ticker-inner{
  display:flex;white-space:nowrap;
  padding:11px 0 11px 160px;
  font-weight:800;font-size:.83rem;color:var(--deep-blue);letter-spacing:.03em;
  animation:tickerScroll 28s linear infinite;
}
.ticker-inner span{padding:0 48px}
@keyframes tickerScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ticker-inner:hover{animation-play-state:paused}

/* ═══════════════════════════════════════════════
   ★ NEW HERO SECTION ★
═══════════════════════════════════════════════ */
.hero {
  position: relative;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(ellipse 70% 80% at 80% 50%, rgba(14,84,112,.7) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 90%, rgba(255,107,26,.18) 0%, transparent 55%),
    radial-gradient(ellipse 40% 50% at 90% 10%, rgba(255,179,0,.12) 0%, transparent 50%),
    linear-gradient(135deg, #0B2E6E 0%, #0d3580 35%, #0e4f70 70%, #0a3060 100%);
  color: #fff;
}

/* Dot-grid mesh */
.hero-mesh {
  position: absolute; inset: 0; z-index: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 44px 44px;
  animation: meshDrift 20s ease-in-out infinite alternate;
}
@keyframes meshDrift {
  from { background-position: 0 0; }
  to   { background-position: 22px 22px; }
}

/* Blobs */
.blob { position: absolute; border-radius: 50%; pointer-events: none; z-index: 0; }
.blob-1 {
  width: 580px; height: 580px;
  background: radial-gradient(circle, rgba(255,107,26,.24) 0%, transparent 70%);
  top: -160px; right: -120px;
  animation: blobFloat 8s ease-in-out infinite;
}
.blob-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(0,137,123,.2) 0%, transparent 70%);
  bottom: -80px; left: 5%;
  animation: blobFloat 11s 3s ease-in-out infinite;
}
.blob-3 {
  width: 260px; height: 260px;
  background: radial-gradient(circle, rgba(255,179,0,.13) 0%, transparent 70%);
  top: 38%; left: 40%;
  animation: blobFloat 9s 1.5s ease-in-out infinite;
}
@keyframes blobFloat {
  0%,100% { transform: scale(1) translateY(0); }
  50%      { transform: scale(1.14) translateY(-18px); }
}

/* Saffron right stripe */
.hero-stripe {
  position: absolute; top: 0; right: 0;
  width: 5px; height: 100%;
  background: linear-gradient(to bottom, #FF6B1A, #FFB300, transparent);
  opacity: .55; z-index: 1;
}

/* ── INNER GRID ── */
.hero-inner {
  position: relative; z-index: 2;
  max-width: 1457px; margin: 0 auto; width: 100%;
  padding: 80px 17px 140px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;  /* right side bigger */  /* right side bigger */
  gap: 60px;
  align-items: center;
  min-height: 100vh;
  
}
@media(max-width:1024px){ .hero-inner{grid-template-columns:1fr; padding:80px 40px 130px} }
@media(max-width:640px) { .hero-inner{padding:60px 24px 120px} }

/* ── LEFT TEXT ── */
.hero-left { display: flex; flex-direction: column; }

.hero-badge {
  display: inline-flex; align-items: center; gap: 10px;
  background: rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--gold);
  font-size: .72rem; font-weight: 900;
  text-transform: uppercase; letter-spacing: .16em;
  padding: 9px 20px; border-radius: 100px;
  width: fit-content; margin-bottom: 32px;
  animation: heroFadeUp .7s .1s var(--ease) both;
}
.badge-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 0 0 rgba(255,179,0,.7);
  animation: livePulse 1.8s ease-in-out infinite;
  flex-shrink: 0;
}

.hero-h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(2.8rem, 4.5vw, 4.4rem);
  font-weight: 900; line-height: 1.1;
  color: #fff; margin-bottom: 26px;
  animation: heroFadeUp .7s .22s var(--ease) both;
}
.hero-h1 .hl {
  color: var(--gold); font-style: italic;
  position: relative; display: inline-block;
}
.hero-h1 .hl::after {
  content: '';
  position: absolute; left: 0; bottom: -5px;
  width: 100%; height: 3px;
  background: linear-gradient(90deg, var(--saffron), var(--gold));
  border-radius: 2px;
  transform-origin: left;
  animation: lineGrow .8s .95s var(--ease) both;
}
@keyframes lineGrow {
  from { transform: scaleX(0); }
  to   { transform: scaleX(1); }
}

.hero-sub {
  font-size: 1.08rem; font-weight: 400; line-height: 1.85;
  color: rgba(255,255,255,.78);
  max-width: 530px; margin-bottom: 44px;
  animation: heroFadeUp .7s .36s var(--ease) both;
}

.hero-btns {
  display: flex; gap: 16px; flex-wrap: wrap;
  animation: heroFadeUp .7s .5s var(--ease) both;
}
.btn-hero-primary {
  background: var(--saffron); color: #fff;
  padding: 15px 36px; border-radius: 100px;
  font-weight: 900; font-size: .92rem; letter-spacing: .04em;
  text-decoration: none;
  box-shadow: var(--sh-orange);
  transition: transform .25s var(--spring), box-shadow .25s, background .2s;
  display: inline-flex; align-items: center; gap: 8px;
}
.btn-hero-primary:hover {
  transform: translateY(-4px) scale(1.04);
  box-shadow: 0 18px 40px rgba(255,107,26,.6);
  background: var(--saffron-d);
}
.btn-hero-outline {
  border: 2px solid rgba(255,255,255,.5); color: #fff;
  padding: 14px 36px; border-radius: 100px;
  font-weight: 700; font-size: .92rem;
  text-decoration: none;
  transition: background .2s, border-color .2s, transform .2s var(--spring);
  display: inline-flex; align-items: center;
}
.btn-hero-outline:hover {
  background: rgba(255,255,255,.14); border-color: #fff;
  transform: translateY(-3px);
}

/* Stat pills row */
.hero-pills {
  display: flex; gap: 12px; flex-wrap: wrap;
  margin-top: 44px;
  animation: heroFadeUp .7s .65s var(--ease) both;
}
.hero-pill {
  display: flex; align-items: center; gap: 8px;
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 100px; padding: 8px 18px;
  backdrop-filter: blur(8px);
  transition: background .2s, transform .2s var(--spring);
}
.hero-pill:hover { background: rgba(255,255,255,.18); transform: translateY(-2px); }
.pill-icon { font-size: 1rem; }
.pill-val {
  font-family: 'Playfair Display', serif;
  font-size: 1.15rem; font-weight: 900;
  color: var(--gold); line-height: 1;
}
.pill-lbl { font-size: .68rem; font-weight: 700; color: rgba(255,255,255,.6); text-transform: uppercase; letter-spacing: .08em; }

/* ── RIGHT VISUAL ── */
.hero-right {
  justify-content: flex-end;
  position: relative;
  display: flex; align-items: center; justify-content: center;
}
@media(max-width:1024px){ .hero-right{display:none} }

.hero-visual { 
  position: relative; 
  width: 100%; 
  max-width: 900px;   /* increased */
}

/* Decorative rings */
.hero-ring {
  position: absolute;
  width: calc(100% + 60px); height: calc(100% + 60px);
  border-radius: 34px;
  border: 1.5px solid rgba(255,255,255,.1);
  top: -30px; left: -30px;
  pointer-events: none; z-index: 0;
}
.hero-ring-2 {
  position: absolute;
  width: calc(100% + 112px); height: calc(100% + 112px);
  border-radius: 44px;
  border: 1px solid rgba(255,255,255,.05);
  top: -56px; left: -56px;
  pointer-events: none;
}

/* Main media card */
.hero-card {
  width: 100%;
  position: relative; z-index: 1;
  transform: scale(1.12);
  transition: transform .4s ease;
  border-radius: 24px; overflow: hidden;
  box-shadow:
    0 2px 4px rgba(0,0,0,.1),
    0 10px 28px rgba(0,0,0,.28),
    0 32px 72px rgba(0,0,0,.38),
    
    0 0 0 1px rgba(255,255,255,.1);
    
  animation: heroFadeUp .8s .3s var(--ease) both;
}
.hero-card:hover {
  transform: scale(1.15);
}
.hero-video {
   border-radius: 24px;
  width: 100%; 
  height: 500px;   /* increased height */
  object-fit: cover; 
  display: block;
}
/* Fallback when video not available */
.hero-fallback {
  width: 100%; 
  height: 600px;
  background: linear-gradient(135deg, #0B2E6E 0%, #1a4094 45%, #028090 100%);
  display: flex; flex-direction: column;
  align-items: center; justify-content: center; gap: 14px;
}
.hero-fallback img {
  width: 100%; height: 430px; object-fit: cover; display: block;
}
.hero-card-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(11,46,110,.62) 0%, transparent 55%);
  pointer-events: none;
}
.hero-card-label {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 20px 26px; z-index: 2;
}
.hero-card-title { font-size: .97rem; font-weight: 900; color: #fff; margin-bottom: 3px; }
.hero-card-sub   { font-size: .74rem; color: rgba(255,255,255,.68); font-weight: 600; }

/* Floating stat chips */
.f-chip {
  position: absolute;
  background: #fff; border-radius: 16px;
  padding: 14px 20px;
  display: flex; align-items: center; gap: 12px;
  box-shadow: 0 8px 32px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.12);
  z-index: 5; min-width: 168px;
}
.fc-top  { top: -22px; right: -28px; animation: chipFloat 4s ease-in-out infinite; }
.fc-bot  { bottom: 44px; left: -32px; animation: chipFloat 5.5s 1.8s ease-in-out infinite; }
.fc-mid  {
  top: 50%; right: -38px; transform: translateY(-50%);
  flex-direction: column; align-items: flex-start; gap: 4px;
  padding: 14px 18px; min-width: 138px;
  animation: chipFloat 6s .8s ease-in-out infinite;
}
@keyframes chipFloat {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-11px); }
}
.fc-mid { animation-name: chipFloatMid; }
@keyframes chipFloatMid {
  0%,100% { transform: translateY(-50%); }
  50%      { transform: translateY(calc(-50% - 11px)); }
}

.fchip-icon {
  width: 42px; height: 42px; border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.2rem; flex-shrink: 0;
}
.fci-orange { background: rgba(255,107,26,.12); }
.fci-teal   { background: rgba(0,137,123,.12); }
.fci-gold   { background: rgba(255,179,0,.12); }

.f-chip-num {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem; font-weight: 900;
  color: var(--deep-blue); line-height: 1;
}
.f-chip-lbl {
  font-size: .67rem; font-weight: 700;
  color: var(--text-light); text-transform: uppercase; letter-spacing: .07em;
}

/* ── HERO TRUST BAR (bottom of hero) ── */
.hero-trust {
  position: absolute; bottom: 0; left: 0; right: 0; z-index: 3;
  background: rgba(0,0,0,.28);
  backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
  border-top: 1px solid rgba(255,255,255,.08);
  display: grid; grid-template-columns: repeat(4,1fr);
  animation: heroFadeUp .7s .8s var(--ease) both;
}
@media(max-width:640px){ .hero-trust{grid-template-columns:repeat(2,1fr)} }
.trust-item {
  padding: 18px 28px;
  display: flex; align-items: center; gap: 10px;
  border-right: 1px solid rgba(255,255,255,.1);
}
.trust-item:last-child { border-right: none; }
.trust-icon { font-size: 1.2rem; opacity: .75; }
.trust-num {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem; font-weight: 900;
  color: var(--gold); line-height: 1;
}
.trust-lbl { font-size: .7rem; font-weight: 700; color: rgba(255,255,255,.58); text-transform: uppercase; letter-spacing: .07em; }

@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ═══════════════════════════════════════════════
   STATS
═══════════════════════════════════════════════ */
.stats{
  background:var(--deep-blue);padding:0 80px;
  display:grid;grid-template-columns:repeat(4,1fr);
}
@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr);padding:0 28px}}
.stat-card{
  padding:38px 28px;text-align:center;
  border-right:1px solid rgba(255,255,255,.1);
  position:relative;overflow:hidden;cursor:default;transition:background .3s;
}
.stat-card:last-child{border-right:none}
.stat-card::before{
  content:'';position:absolute;bottom:0;left:0;right:0;height:3px;
  transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);
}
.stat-card:nth-child(1)::before{background:var(--saffron)}
.stat-card:nth-child(2)::before{background:var(--teal)}
.stat-card:nth-child(3)::before{background:var(--gold)}
.stat-card:nth-child(4)::before{background:var(--saffron)}
.stat-card:hover{background:rgba(255,255,255,.05)}
.stat-card:hover::before{transform:scaleX(1)}
.stat-icon{font-size:1.4rem;margin-bottom:8px;opacity:.65}
.stat-num{
  font-family:'Playfair Display',serif;font-size:2.9rem;font-weight:900;
  color:var(--gold);display:block;line-height:1;transition:transform .3s var(--spring);
}
.stat-card:hover .stat-num{transform:scale(1.06)}
.stat-label{color:#b8cbec;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;margin-top:7px;display:block;}

/* ═══════════════════════════════════════════════
   GYANSETU BANNER
═══════════════════════════════════════════════ */
.gyansetu-banner{
  background:linear-gradient(90deg,var(--gold) 0%,#ffcc44 100%);
  color:var(--deep-blue);padding:18px 80px;
  display:flex;justify-content:space-between;align-items:center;
  font-weight:900;font-size:.92rem;position:relative;overflow:hidden;
}
@media(max-width:700px){.gyansetu-banner{flex-direction:column;gap:12px;text-align:center;padding:18px 24px}}
.gyansetu-banner::before{
  content:'';position:absolute;right:-60px;top:-60px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.18);animation:blobFloat 6s ease-in-out infinite;
}
.gyansetu-inner{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.gyansetu-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(11,46,110,.15);
  display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;
}
.gyansetu-banner a{
  background:var(--deep-blue);color:var(--gold);
  padding:10px 28px;border-radius:30px;
  text-decoration:none;font-size:.83rem;font-weight:900;
  letter-spacing:.05em;text-transform:uppercase;
  box-shadow:var(--sh-blue);
  transition:transform .2s var(--spring),box-shadow .2s;
  position:relative;z-index:1;white-space:nowrap;
}
.gyansetu-banner a:hover{transform:scale(1.06) translateY(-2px);box-shadow:0 12px 28px rgba(11,46,110,.45);}

/* ═══════════════════════════════════════════════
   SECTION COMMON
═══════════════════════════════════════════════ */
section{padding:96px 80px}
@media(max-width:900px){section{padding:64px 28px}}
.section-label{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.2em;
  color:var(--saffron);margin-bottom:12px;
}
.section-label::before{content:'';width:24px;height:2.5px;background:currentColor;border-radius:2px;flex-shrink:0;}
.section-title{
  font-family:'Playfair Display',serif;font-size:clamp(1.9rem,3.2vw,2.7rem);
  font-weight:900;color:var(--deep-blue);line-height:1.18;margin-bottom:18px;
}

/* ═══════════════════════════════════════════════
   ABOUT
═══════════════════════════════════════════════ */
.about{background:var(--light-bg);position:relative;overflow:hidden}
.about::after{
  content:'MSFDA';position:absolute;right:-30px;bottom:-50px;
  font-family:'Playfair Display',serif;font-size:18rem;font-weight:900;
  color:rgba(11,46,110,.04);line-height:1;pointer-events:none;user-select:none;
}
.about-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
@media(max-width:900px){.about-inner{grid-template-columns:1fr}}
.about-img-wrap{position:relative}
.about-img{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--sh-lg);position:relative;}
.about-img img{width:100%;height:440px;object-fit:cover;display:block;transition:transform .6s var(--ease);}
.about-img:hover img{transform:scale(1.05)}
.about-img-wrap::before{
  content:'';position:absolute;bottom:-18px;right:-18px;
  width:180px;height:180px;border-radius:var(--radius-lg);
  background:linear-gradient(135deg,var(--saffron),var(--gold));
  z-index:-1;transition:transform .4s var(--ease);
}
.about-img-wrap:hover::before{transform:translate(6px,6px)}
.about-float{
  position:absolute;top:28px;left:-24px;
  background:#fff;border-radius:var(--radius);padding:16px 20px;
  box-shadow:var(--sh-md);border-left:4px solid var(--teal);
  animation:chipFloat 5s ease-in-out infinite;
}
.about-float .af-num{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;color:var(--teal);line-height:1;}
.about-float .af-lbl{font-size:.7rem;font-weight:700;color:var(--text-light);text-transform:uppercase;letter-spacing:.08em;}
.about-text p{font-size:1.05rem;line-height:1.9;color:var(--text-mid);margin-bottom:30px;font-weight:400;}
.btn-primary{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--saffron);color:#fff;
  padding:13px 32px;border-radius:40px;
  font-weight:900;font-size:.9rem;text-decoration:none;
  box-shadow:var(--sh-orange);
  transition:transform .25s var(--spring),box-shadow .25s,background .2s;
}
.btn-primary:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 40px rgba(255,107,26,.5);background:var(--saffron-d);}
.btn-primary .arrow{transition:transform .2s}
.btn-primary:hover .arrow{transform:translateX(5px)}

/* ═══════════════════════════════════════════════
   PROGRAMS
═══════════════════════════════════════════════ */
.programs{background:var(--white)}
.programs-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:46px;flex-wrap:wrap;gap:18px;}
.programs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
@media(max-width:900px){.programs-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.programs-grid{grid-template-columns:1fr}}
.prog-card{
  border-radius:var(--radius);overflow:hidden;background:#fff;
  border:1px solid rgba(11,46,110,.08);box-shadow:var(--sh-sm);
  transition:transform .35s var(--spring),box-shadow .35s;
  text-decoration:none;color:inherit;display:block;position:relative;
}
.prog-card:hover{transform:translateY(-10px) scale(1.01);box-shadow:var(--sh-xl);}
.prog-card::before{
  content:'';position:absolute;top:0;left:-80%;width:60%;height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);
  transform:skewX(-20deg);transition:left .55s;z-index:3;pointer-events:none;
}
.prog-card:hover::before{left:150%}
.prog-img{position:relative;overflow:hidden}
.prog-img img{width:100%;height:195px;object-fit:cover;display:block;transition:transform .5s var(--ease);}
.prog-card:hover .prog-img img{transform:scale(1.08)}
.prog-img-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(11,46,110,.55) 0%,transparent 60%);opacity:0;transition:opacity .3s;}
.prog-card:hover .prog-img-overlay{opacity:1}
.prog-tag{position:absolute;top:10px;left:10px;background:#fff;border-radius:30px;font-size:.66rem;font-weight:900;color:var(--saffron);padding:4px 12px;text-transform:uppercase;letter-spacing:.08em;box-shadow:var(--sh-xs);}
.prog-card-body{padding:18px 20px 22px;border-top:3px solid transparent;transition:border-color .3s;position:relative;}
.prog-card:nth-child(3n+1) .prog-card-body{border-color:var(--saffron)}
.prog-card:nth-child(3n+2) .prog-card-body{border-color:var(--teal)}
.prog-card:nth-child(3n+0) .prog-card-body{border-color:var(--gold)}
.prog-card h4{font-size:.93rem;font-weight:800;color:var(--deep-blue);margin-bottom:6px;line-height:1.35;}
.prog-card p{font-size:.79rem;color:var(--text-light);font-weight:600}
.prog-arrow{position:absolute;bottom:16px;right:16px;width:30px;height:30px;border-radius:50%;background:var(--light-bg);display:flex;align-items:center;justify-content:center;font-size:.9rem;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s;}
.prog-card:hover .prog-arrow{opacity:1;transform:translateX(0)}
.btn-teal {
  display: inline-block;
  padding: 12px 28px;
  background: linear-gradient(135deg, #00897B, #00BFA5);
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  border-radius: 30px;
  text-decoration: none;
  transition: 0.3s ease;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
}

.btn-teal:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
  background: linear-gradient(135deg, #00796B, #00A896);
}
.btn-teal:hover{transform:translateY(-4px) scale(1.03);box-shadow:0 16px 38px rgba(0,137,123,.5);background:var(--teal-lt);}

/* ═══════════════════════════════════════════════
   CENTERS
═══════════════════════════════════════════════ */
.centers{background:var(--soft-gray)}
.centers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;}
@media(max-width:900px){.centers-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.centers-grid{grid-template-columns:1fr}}
.center-card{
  border-radius:var(--radius);padding:34px 26px;color:#fff;
  position:relative;overflow:hidden;text-decoration:none;display:block;
  min-height:160px;box-shadow:var(--sh-md);
  transition:transform .35s var(--spring),box-shadow .35s;
}
.center-card:hover{transform:translateY(-9px) scale(1.015);box-shadow:var(--sh-xl);}
.center-card::before{content:'';position:absolute;bottom:-40px;right:-40px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.1);transition:transform .45s var(--ease);}
.center-card:hover::before{transform:scale(2.6)}
.center-card::after{content:'→';position:absolute;bottom:18px;right:20px;font-size:1.1rem;opacity:0;transform:translateX(-8px);transition:opacity .3s,transform .3s;}
.center-card:hover::after{opacity:1;transform:translateX(0)}
.cc1{background:linear-gradient(135deg,#FF6B1A,#FF9A3D);box-shadow:0 8px 28px rgba(255,107,26,.35)}
.cc2{background:linear-gradient(135deg,#0B2E6E,#1a5276);box-shadow:var(--sh-blue)}
.cc3{background:linear-gradient(135deg,#00897B,#26a69a);box-shadow:0 8px 28px rgba(0,137,123,.35)}
.cc4{background:linear-gradient(135deg,#7B1FA2,#ab47bc);box-shadow:0 8px 28px rgba(123,31,162,.35)}
.cc5{background:linear-gradient(135deg,#D32F2F,#ef5350);box-shadow:0 8px 28px rgba(211,47,47,.35)}
.cc6{background:linear-gradient(135deg,#E65100,#FFB300);box-shadow:var(--sh-gold)}
.center-card .c-icon{font-size:2.2rem;margin-bottom:14px;display:block;transition:transform .3s var(--spring);}
.center-card:hover .c-icon{transform:scale(1.18) rotate(-4deg)}
.center-card h3{font-size:1rem;font-weight:800;line-height:1.35;position:relative;z-index:1}

/* ═══════════════════════════════════════════════
   VISION
═══════════════════════════════════════════════ */
.vision{background:linear-gradient(135deg,var(--deep-blue) 0%,#0e5470 100%);color:#fff;position:relative;overflow:hidden;}
.vision::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(0,137,123,.2) 0%,transparent 70%);animation:blobFloat 10s ease-in-out infinite;}
.vision .section-label{color:var(--gold)}
.vision .section-title{color:#fff}
.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;position:relative;z-index:1;}
@media(max-width:900px){.vision-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.vision-grid{grid-template-columns:1fr}}
.vision-card{
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);padding:30px 26px;backdrop-filter:blur(10px);
  transition:background .3s,transform .35s var(--spring),box-shadow .35s;
  position:relative;overflow:hidden;
}
.vision-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-100%);transition:transform .55s var(--ease);}
.vision-card:hover::before{transform:translateX(100%)}
.vision-card:hover{background:rgba(255,255,255,.12);transform:translateY(-7px);box-shadow:0 20px 50px rgba(0,0,0,.28);}
.vision-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;margin-bottom:16px;transition:transform .3s var(--spring);}
.vision-card:hover .vision-icon{transform:scale(1.15) rotate(-5deg)}
.v1{background:rgba(255,107,26,.25)}.v2{background:rgba(255,179,0,.25)}.v3{background:rgba(0,137,123,.25)}
.v4{background:rgba(255,107,26,.25)}.v5{background:rgba(255,179,0,.25)}.v6{background:rgba(0,137,123,.25)}
.vision-card h3{font-size:.8rem;font-weight:900;color:var(--gold);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;}
.vision-card p{font-size:.87rem;line-height:1.75;color:rgba(255,255,255,.78);font-weight:400}

/* ═══════════════════════════════════════════════
   TESTIMONIALS
═══════════════════════════════════════════════ */
.testimonials{background:var(--soft-gray);overflow:hidden}
.testi-track-wrap{
  margin-top:48px;overflow:hidden;
  -webkit-mask:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
  mask:linear-gradient(90deg,transparent 0%,#000 10%,#000 90%,transparent 100%);
}
.testi-track{display:flex;gap:22px;width:max-content;animation:trackScroll 38s linear infinite;}
.testi-track:hover{animation-play-state:paused}
@keyframes trackScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.testi-card{
  width:330px;flex-shrink:0;background:#fff;border-radius:var(--radius);
  padding:28px;box-shadow:var(--sh-sm);border-top:3px solid var(--saffron);
  transition:transform .35s var(--spring),box-shadow .35s;position:relative;
}
.testi-card:nth-child(3n+2){border-top-color:var(--teal)}
.testi-card:nth-child(3n+0){border-top-color:var(--gold)}
.testi-card:hover{transform:translateY(-9px) scale(1.02);box-shadow:var(--sh-xl);}
.testi-quote{font-family:'Playfair Display',serif;font-size:3.5rem;line-height:.8;color:var(--saffron);opacity:.25;margin-bottom:10px;}
.testi-card p{font-size:.87rem;line-height:1.8;color:#555;font-style:italic;margin-bottom:18px;}
.testi-footer{display:flex;align-items:center;gap:10px;border-top:1px solid rgba(11,46,110,.08);padding-top:14px;}
.testi-avatar{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.82rem;font-weight:900;color:#fff;background:linear-gradient(135deg,var(--deep-blue),var(--teal));}
.testi-name{font-weight:800;color:var(--deep-blue);font-size:.85rem;display:block}
.testi-inst{font-size:.73rem;color:var(--text-light);font-weight:600}

/* ═══════════════════════════════════════════════
   NEWS
═══════════════════════════════════════════════ */
.news{background:var(--light-bg)}
.news-inner{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:48px;}
@media(max-width:700px){.news-inner{grid-template-columns:1fr}}
.news-item{
  background:#fff;border-radius:var(--radius);padding:30px;box-shadow:var(--sh-sm);
  display:flex;gap:20px;align-items:flex-start;
  text-decoration:none;color:inherit;border-left:4px solid var(--saffron);
  position:relative;overflow:hidden;transition:transform .3s var(--spring),box-shadow .3s;
}
.news-item:nth-child(2){border-left-color:var(--teal)}
.news-item:hover{transform:translateY(-6px) translateX(4px);box-shadow:var(--sh-lg);}
.news-item::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,107,26,.04),transparent);opacity:0;transition:opacity .3s;}
.news-item:hover::after{opacity:1}
.news-item:nth-child(2)::after{background:linear-gradient(90deg,rgba(0,137,123,.04),transparent)}
.news-icon{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,var(--saffron),var(--gold));display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;color:#fff;box-shadow:var(--sh-orange);transition:transform .3s var(--spring);}
.news-item:nth-child(2) .news-icon{background:linear-gradient(135deg,var(--teal),var(--teal-lt));box-shadow:var(--sh-teal);}
.news-item:hover .news-icon{transform:scale(1.12) rotate(-4deg)}
.news-item h4{font-size:1rem;font-weight:800;color:var(--deep-blue);margin-bottom:5px;line-height:1.3}
.news-item p{font-size:.82rem;color:var(--text-light);font-weight:600;line-height:1.6}
.news-link{position:absolute;bottom:22px;right:22px;font-size:1rem;color:var(--text-light);opacity:0;transform:translate(4px,-4px);transition:opacity .3s,transform .3s,color .2s;}
.news-item:hover .news-link{opacity:1;transform:translate(0,0);color:var(--saffron)}

/* ═══════════════════════════════════════════════
   PARTNERSHIPS
═══════════════════════════════════════════════ */
.partnerships{background:#fff}
.partner-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:48px;}
@media(max-width:700px){.partner-cards{grid-template-columns:1fr}}
.partner-card{
  background:var(--soft-gray);border-radius:var(--radius);padding:30px;
  border-top:4px solid var(--teal);position:relative;overflow:hidden;
  transition:transform .35s var(--spring),box-shadow .35s,background .2s;box-shadow:var(--sh-xs);
}
.partner-card:nth-child(2){border-top-color:var(--saffron)}
.partner-card:nth-child(3){border-top-color:var(--gold)}
.partner-card:nth-child(4){border-top-color:var(--deep-blue)}
.partner-card:hover{transform:translateY(-7px);box-shadow:var(--sh-lg);background:#fff;}
.partner-card::before{content:'';position:absolute;bottom:-50px;right:-50px;width:120px;height:120px;border-radius:50%;background:rgba(11,46,110,.05);transition:transform .4s var(--ease);}
.partner-card:hover::before{transform:scale(2.2)}
.partner-card h4{font-weight:900;color:var(--deep-blue);margin-bottom:9px;font-size:.97rem}
.partner-card p{font-size:.85rem;color:var(--text-mid);line-height:1.75}
.partner-name{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--teal);font-weight:800;margin-top:14px;}

/* ═══════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════ */
footer{background:var(--deep-blue);color:#b8cbec;padding:68px 80px 32px;}
@media(max-width:900px){footer{padding:48px 28px 28px}}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:64px;margin-bottom:52px;padding-bottom:52px;border-bottom:1px solid rgba(255,255,255,.08);}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr;gap:36px}}
.footer-brand img{height:48px;margin-bottom:20px;filter:brightness(0) invert(1)}
.footer-brand p{font-size:.84rem;line-height:1.85;color:#7a90b8;max-width:310px;font-weight:400}
footer h4{color:#fff;font-size:.82rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:20px;position:relative;padding-bottom:12px;}
footer h4::after{content:'';position:absolute;left:0;bottom:0;width:28px;height:3px;background:var(--saffron);border-radius:2px;}
footer ul{list-style:none;display:flex;flex-direction:column;gap:9px}
footer ul li a{color:#7a90b8;text-decoration:none;font-size:.84rem;font-weight:600;transition:color .2s,padding-left .2s;display:inline-flex;align-items:center;gap:6px;}
footer ul li a::before{content:'›';color:var(--saffron);opacity:0;transition:opacity .2s}
footer ul li a:hover{color:var(--gold);padding-left:8px}
footer ul li a:hover::before{opacity:1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:.79rem;color:#4a5e7a;flex-wrap:wrap;gap:10px;}
.footer-bottom a{color:var(--gold);text-decoration:none;transition:color .2s}
.footer-bottom a:hover{color:var(--gold-lt)}

/* ═══════════════════════════════════════════════
   SCROLL PROGRESS + BACK TO TOP
═══════════════════════════════════════════════ */
#scroll-bar{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,var(--saffron),var(--gold));z-index:9999;width:0%;transition:width .1s linear;box-shadow:0 0 8px rgba(255,107,26,.7);}
#back-top{
  position:fixed;bottom:32px;right:32px;z-index:800;
  width:46px;height:46px;border-radius:50%;
  background:var(--saffron);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:1.1rem;cursor:pointer;box-shadow:var(--sh-orange);border:none;
  opacity:0;pointer-events:none;transform:translateY(12px);
  transition:opacity .3s,transform .3s,background .2s,box-shadow .2s;
}
#back-top.show{opacity:1;pointer-events:all;transform:translateY(0)}
#back-top:hover{background:var(--deep-blue);box-shadow:var(--sh-blue);transform:translateY(-3px);}


/* ═══════════════════════════════════════════════
   ★ RESPONSIVE ADDITIONS ONLY ★
   (Nothing above was changed — only new rules below)
═══════════════════════════════════════════════ */

/* ── MOBILE NAV HAMBURGER ── */
.nav-hamburger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  width: 40px; height: 40px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 4px;
  border-radius: 8px;
  transition: background .2s;
}
.nav-hamburger:hover { background: rgba(11,46,110,.07); }
.nav-hamburger span {
  display: block;
  width: 24px; height: 2.5px;
  background: var(--deep-blue);
  border-radius: 2px;
  transition: transform .3s var(--ease), opacity .3s, width .3s;
}
.nav-hamburger.open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; width: 0; }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

/* ── 4K / Ultra-wide (2560px+) ── */
@media (min-width: 2560px) {
  :root { font-size: 18px; }
  nav { padding: 0 120px; height: 84px; }
  nav.shrunk { height: 72px; }
  .nav-links > li > a { padding: 0 18px; line-height: 84px; font-size: .88rem; }
  nav.shrunk .nav-links > li > a { line-height: 72px; }
  .logo-wrap img { height: 64px; }
  .topbar { padding: 9px 120px; font-size: .82rem; }
  .hero-inner { max-width: 2100px; padding: 100px 80px 180px; gap: 100px; }
  .hero-h1 { font-size: 5.5rem; }
  .hero-sub { font-size: 1.25rem; max-width: 680px; }
  .btn-hero-primary, .btn-hero-outline { padding: 18px 48px; font-size: 1rem; }
  .hero-pills { gap: 16px; margin-top: 56px; }
  .hero-pill { padding: 12px 24px; }
  .pill-val { font-size: 1.4rem; }
  .pill-lbl { font-size: .78rem; }
  .trust-num { font-size: 2rem; }
  .trust-lbl { font-size: .8rem; }
  .trust-item { padding: 24px 40px; gap: 14px; }
  .trust-icon { font-size: 1.6rem; }
  .gyansetu-banner { padding: 22px 120px; font-size: 1.05rem; }
  section { padding: 120px 120px; }
  .section-title { font-size: 3.2rem; }
  .section-label { font-size: .82rem; }
  .about-inner { gap: 120px; }
  .about-img img { height: 560px; }
  .about-text p { font-size: 1.2rem; }
  .programs-grid { grid-template-columns: repeat(3,1fr); gap: 32px; }
  .prog-img img { height: 240px; }
  .prog-card h4 { font-size: 1.08rem; }
  .prog-card p { font-size: .92rem; }
  .centers-grid { gap: 28px; }
  .center-card { padding: 44px 32px; min-height: 200px; }
  .center-card h3 { font-size: 1.15rem; }
  .center-card .c-icon { font-size: 2.8rem; }
  .vision-grid { gap: 30px; }
  .vision-card { padding: 38px 32px; }
  .vision-card p { font-size: 1rem; }
  .testi-card { width: 400px; padding: 36px; }
  .testi-card p { font-size: 1rem; }
  .news-inner { gap: 32px; }
  .news-item { padding: 38px; }
  .partner-cards { gap: 28px; }
  .partner-card { padding: 38px; }
  footer { padding: 90px 120px 48px; }
  .footer-grid { gap: 80px; }
  .footer-brand p { font-size: 1rem; max-width: 420px; }
  .f-chip-num { font-size: 2rem; }
  .hero-video { height: 640px; }
  .hero-fallback { height: 760px; }
  .hero-fallback img { height: 560px; }
}

/* ── HD Desktop (1440px – 2559px) ── */
@media (min-width: 1440px) and (max-width: 2559px) {
  .hero-inner { max-width: 1600px; padding: 90px 60px 160px; }
  nav { padding: 0 72px; }
  .topbar { padding: 7px 72px; }
  section { padding: 100px 100px; }
  .gyansetu-banner { padding: 18px 100px; }
  footer { padding: 72px 100px 36px; }
}

/* ── Standard Desktop (1025px – 1439px) already handled by base styles ── */

/* ── Tablet Landscape (769px – 1024px) ── */
@media (min-width: 769px) and (max-width: 1024px) {
  .topbar { padding: 7px 28px; font-size: .72rem; }
  .topbar-live span { display: none; }
  nav { padding: 0 28px; height: 68px; }
  nav.shrunk { height: 58px; }
  .logo-wrap img { height: 44px; }
  .nav-links > li > a { padding: 0 10px; font-size: .75rem; line-height: 68px; letter-spacing: .03em; }
  nav.shrunk .nav-links > li > a { line-height: 58px; }
  .btn-login { padding: 8px 16px !important; font-size: .75rem !important; }
  .hero-inner { padding: 80px 40px 140px; gap: 0; }
  .hero-h1 { font-size: clamp(2.4rem, 4vw, 3.2rem); }
  .hero-sub { font-size: 1rem; }
  .hero-pills { gap: 10px; }
  .hero-pill { padding: 7px 14px; }
  .trust-item { padding: 14px 18px; }
  .trust-num { font-size: 1.3rem; }
  .trust-lbl { font-size: .62rem; }
  section { padding: 72px 40px; }
  .gyansetu-banner { padding: 18px 40px; }
  footer { padding: 56px 40px 28px; }
  .about-inner { gap: 48px; }
  .about-img img { height: 360px; }
  .programs-grid { grid-template-columns: repeat(2,1fr); gap: 20px; }
  .centers-grid { grid-template-columns: repeat(2,1fr); }
  .vision-grid { grid-template-columns: repeat(2,1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 40px; }
  .footer-brand { grid-column: 1 / -1; }
  .cm-banner { max-height: 280px; }
  .cm-banner img { max-height: 280px; }
}

/* ── Tablet Portrait (541px – 768px) ── */
@media (min-width: 541px) and (max-width: 768px) {
  /* Topbar */
  .topbar { padding: 6px 16px; font-size: .68rem; flex-wrap: wrap; gap: 4px; }
  .topbar-live span { max-width: 200px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

  /* Nav → hamburger */
  nav { padding: 0 20px; height: 64px; }
  nav.shrunk { height: 56px; }
  .logo-wrap img { height: 40px; }
  .nav-links { display: none; flex-direction: column; position: fixed; top: 64px; left: 0; right: 0; bottom: 0; background: rgba(11,46,110,.98); backdrop-filter: blur(20px); z-index: 9990; padding: 24px 0 40px; gap: 0; overflow-y: auto; list-style: none; }
  .nav-links.mobile-open { display: flex; }
  .nav-links > li > a { line-height: 1; padding: 16px 28px; font-size: .9rem; color: #c8d8f0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .nav-links > li > a:hover { color: var(--gold); background: rgba(255,255,255,.05); }
  .nav-links > li > a::after { display: none; }
  .dropdown { display: none !important; }
  .btn-login { margin: 16px 28px 0; padding: 12px 28px !important; border-radius: 10px !important; text-align: center; font-size: .88rem !important; }
  .nav-hamburger { display: flex; }

  /* CM Banner */
  .cm-banner { max-height: 200px; }
  .cm-banner img { max-height: 200px; }

  /* Ticker */
  .ticker-label { font-size: .62rem; padding: 0 12px; }
  .ticker-inner { padding-left: 110px; font-size: .76rem; }
  .ticker-inner span { padding: 0 28px; }

  /* Hero */
  .hero-inner { padding: 70px 24px 140px; }
  .hero-h1 { font-size: clamp(2.2rem, 5.5vw, 2.8rem); }
  .hero-sub { font-size: .96rem; max-width: 100%; }
  .hero-badge { font-size: .65rem; padding: 8px 16px; margin-bottom: 24px; }
  .hero-btns { gap: 12px; }
  .btn-hero-primary, .btn-hero-outline { padding: 13px 28px; font-size: .86rem; }
  .hero-pills { gap: 8px; margin-top: 32px; }
  .hero-pill { padding: 7px 14px; }
  .pill-val { font-size: 1rem; }
  .pill-lbl { font-size: .62rem; }
  .trust-item { padding: 14px 16px; gap: 8px; }
  .trust-num { font-size: 1.25rem; }
  .trust-lbl { font-size: .6rem; }
  .trust-icon { font-size: 1rem; }

  /* Sections */
  section { padding: 56px 24px; }
  .gyansetu-banner { padding: 16px 24px; font-size: .86rem; }
  .section-title { font-size: clamp(1.6rem, 4vw, 2rem); }

  /* About */
  .about-inner { gap: 40px; }
  .about-img img { height: 280px; }
  .about-img-wrap::before { width: 120px; height: 120px; bottom: -12px; right: -12px; }
  .about-float { left: -8px; top: 18px; padding: 12px 16px; }
  .about-float .af-num { font-size: 1.5rem; }
  .about-text p { font-size: .98rem; }

  /* Programs */
  .programs-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .prog-img img { height: 160px; }

  /* Centers */
  .centers-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .center-card { padding: 26px 20px; min-height: 140px; }
  .center-card h3 { font-size: .9rem; }

  /* Vision */
  .vision-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .vision-card { padding: 24px 20px; }

  /* News */
  .news-inner { gap: 16px; }
  .news-item { padding: 22px 20px; gap: 14px; }
  .news-icon { width: 42px; height: 42px; font-size: 1.2rem; }

  /* Partners */
  .partner-cards { grid-template-columns: 1fr; gap: 16px; }

  /* Footer */
  footer { padding: 44px 24px 24px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 6px; }
}

/* ── Mobile (up to 540px) ── */
@media (max-width: 540px) {
  /* Topbar */
  .topbar { padding: 6px 14px; font-size: .65rem; flex-direction: column; gap: 4px; align-items: flex-start; }
  .topbar-live { gap: 6px; }
  .topbar-live span { font-size: .64rem; }
  .topbar-sep { display: none; }

  /* Nav → full hamburger */
  nav { padding: 0 16px; height: 60px; }
  nav.shrunk { height: 54px; }
  .logo-wrap img { height: 38px; }
  .logo-text { display: none !important; }
  .nav-links { display: none; flex-direction: column; position: fixed; top: 60px; left: 0; right: 0; bottom: 0; background: rgba(11,46,110,.99); backdrop-filter: blur(24px); z-index: 9990; padding: 20px 0 40px; gap: 0; overflow-y: auto; list-style: none; }
  .nav-links.mobile-open { display: flex; }
  .nav-links > li > a { line-height: 1; padding: 15px 24px; font-size: .88rem; color: #c8d8f0; border-bottom: 1px solid rgba(255,255,255,.06); }
  .nav-links > li > a:hover { color: var(--gold); background: rgba(255,255,255,.05); }
  .nav-links > li > a::after { display: none; }
  .dropdown { display: none !important; }
  .btn-login { margin: 16px 24px 0; display: block; padding: 13px 24px !important; border-radius: 10px !important; text-align: center; font-size: .88rem !important; }
  .nav-hamburger { display: flex; }

  /* CM Banner */
  .cm-banner { max-height: 160px; }
  .cm-banner img { max-height: 160px; }

  /* Ticker */
  .ticker-label { font-size: .58rem; padding: 0 10px; letter-spacing: .08em; }
  .ticker-inner { padding-left: 90px; font-size: .72rem; }
  .ticker-inner span { padding: 0 20px; }

  /* Hero */
  .hero { min-height: 100svh; }
  .hero-inner { padding: 80px 18px 170px; min-height: unset; }
  .hero-badge { font-size: .6rem; padding: 7px 14px; margin-bottom: 20px; letter-spacing: .1em; }
  .hero-h1 { font-size: clamp(2rem, 7.5vw, 2.5rem); margin-bottom: 18px; }
  .hero-sub { font-size: .92rem; line-height: 1.75; margin-bottom: 32px; }
  .hero-btns { flex-direction: column; gap: 10px; }
  .btn-hero-primary, .btn-hero-outline { width: 100%; justify-content: center; padding: 14px 24px; font-size: .88rem; }
  .hero-pills { gap: 8px; margin-top: 28px; flex-wrap: wrap; }
  .hero-pill { padding: 7px 12px; flex: 1 1 calc(50% - 8px); min-width: 120px; }
  .pill-val { font-size: .95rem; }
  .pill-lbl { font-size: .58rem; }
  .blob-1 { width: 300px; height: 300px; top: -80px; right: -80px; }
  .blob-2 { width: 220px; height: 220px; }
  .blob-3 { display: none; }

  /* Trust bar */
  .hero-trust { grid-template-columns: repeat(2,1fr); }
  .trust-item { padding: 12px 12px; gap: 6px; }
  .trust-num { font-size: 1.1rem; }
  .trust-lbl { font-size: .55rem; letter-spacing: .04em; }
  .trust-icon { font-size: .9rem; }

  /* Gyansetu */
  .gyansetu-banner { padding: 14px 16px; font-size: .82rem; flex-direction: column; gap: 12px; text-align: center; }
  .gyansetu-inner { flex-direction: column; gap: 8px; text-align: center; }
  .gyansetu-banner a { padding: 10px 24px; font-size: .78rem; }

  /* General sections */
  section { padding: 48px 16px; }
  .section-title { font-size: clamp(1.5rem, 6vw, 1.9rem); }
  .section-label { font-size: .66rem; }

  /* About */
  .about-inner { gap: 32px; }
  .about-img img { height: 230px; }
  .about-img-wrap::before { width: 90px; height: 90px; bottom: -10px; right: -10px; }
  .about-float { position: static; margin-top: 12px; border-radius: var(--radius); display: inline-flex; gap: 10px; align-items: center; }
  .about-float .af-num { font-size: 1.4rem; }
  .about-float .af-lbl { font-size: .64rem; }
  .about::after { font-size: 8rem; right: -10px; bottom: -20px; }
  .about-text p { font-size: .95rem; }
  .btn-primary { padding: 12px 28px; font-size: .86rem; }

  /* Programs */
  .programs-header { flex-direction: column; align-items: flex-start; margin-bottom: 28px; }
  .programs-grid { grid-template-columns: 1fr; gap: 16px; }
  .prog-img img { height: 180px; }
  .prog-card h4 { font-size: .9rem; }

  /* Centers */
  .centers-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 32px; }
  .center-card { padding: 24px 20px; min-height: 120px; }
  .center-card h3 { font-size: .92rem; }
  .center-card .c-icon { font-size: 1.9rem; margin-bottom: 10px; }

  /* Vision */
  .vision-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 32px; }
  .vision-card { padding: 22px 18px; }
  .vision-card h3 { font-size: .75rem; }
  .vision-card p { font-size: .84rem; }

  /* Testimonials */
  .testi-track-wrap { -webkit-mask: linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%); mask: linear-gradient(90deg,transparent 0%,#000 5%,#000 95%,transparent 100%); }
  .testi-card { width: 290px; padding: 22px; }
  .testi-card p { font-size: .84rem; }

  /* News */
  .news-inner { grid-template-columns: 1fr; gap: 14px; margin-top: 32px; }
  .news-item { padding: 20px 18px; flex-direction: column; gap: 12px; }
  .news-icon { width: 44px; height: 44px; font-size: 1.2rem; }
  .news-item h4 { font-size: .95rem; }
  .news-link { display: none; }

  /* Partnerships */
  .partner-cards { grid-template-columns: 1fr; gap: 14px; margin-top: 32px; }
  .partner-card { padding: 24px 20px; }
  .partner-card h4 { font-size: .92rem; }
  .partner-card p { font-size: .82rem; }

  /* Footer */
  footer { padding: 40px 16px 20px; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; margin-bottom: 32px; padding-bottom: 32px; }
  .footer-brand img { height: 40px; }
  .footer-brand p { font-size: .82rem; max-width: 100%; }
  footer h4 { font-size: .78rem; }
  footer ul li a { font-size: .82rem; }
  .footer-bottom { flex-direction: column; text-align: center; gap: 6px; font-size: .74rem; }

  /* Back to top */
  #back-top { bottom: 20px; right: 20px; width: 40px; height: 40px; font-size: 1rem; }
}

/* ── Extra small mobile (up to 360px) ── */
@media (max-width: 360px) {
  .topbar { font-size: .58rem; }
  nav { padding: 0 12px; }
  .hero-inner { padding: 76px 14px 170px; }
  .hero-h1 { font-size: 1.9rem; }
  .hero-pill { flex: 1 1 100%; }
  .hero-btns { gap: 8px; }
  section { padding: 40px 14px; }
  .trust-num { font-size: 1rem; }
  .trust-lbl { font-size: .5rem; }
}

/* ── Landscape mobile ── */
@media (max-width: 768px) and (orientation: landscape) {
  .hero { min-height: unset; }
  .hero-inner { padding: 80px 24px 160px; min-height: unset; }
  .hero-h1 { font-size: clamp(1.8rem, 4vw, 2.4rem); margin-bottom: 14px; }
  .hero-sub { font-size: .9rem; margin-bottom: 24px; }
  .hero-pills { margin-top: 20px; }
  .hero-trust { grid-template-columns: repeat(4,1fr); }
  .trust-item { padding: 10px 12px; }
  .trust-num { font-size: 1rem; }
}


/* ═══════════════════════════════════════════════
   INNER-PAGE HERO  (sub-pages)
═══════════════════════════════════════════════ */
.page-hero {
  position: relative;
  background: linear-gradient(135deg, #0B2E6E 0%, #0d3580 50%, #0e4f70 100%);
  color: #fff;
  padding: 100px 80px 70px;
  overflow: hidden;
  isolation: isolate;
}
.page-hero-inner { position: relative; z-index: 2; max-width: 900px; }
.page-hero-title {
  font-family: "Playfair Display", serif;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  color: #fff;
  margin-top: 18px;
  line-height: 1.15;
}
.breadcrumb { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.breadcrumb a { color: rgba(255,255,255,.65); text-decoration: none; font-size: .82rem; font-weight: 700; transition: color .2s; }
.breadcrumb a:hover { color: var(--gold); }
.bc-sep  { color: rgba(255,255,255,.35); font-size: .82rem; }
.bc-current { color: var(--gold); font-size: .82rem; font-weight: 800; }
@media(max-width:768px) { .page-hero { padding: 90px 24px 56px; } }
@media(max-width:540px) { .page-hero { padding: 80px 18px 48px; } .page-hero-title { font-size: clamp(1.7rem,7vw,2.2rem); } }

/* Active nav link */
.nav-links > li.active > a { color: var(--saffron); }
.nav-links > li.active > a::after { transform: scaleX(1); }

/* ── Inner page content wrapper ── */
.inner-page { padding: 80px 80px; }
@media(max-width:900px)  { .inner-page { padding: 56px 28px; } }
@media(max-width:540px)  { .inner-page { padding: 40px 16px; } }
