
  :root {
    --saffron: #FF6B1A;
    --saffron-light: #FF8C42;
    --saffron-pale: #FFF0E6;
    --navy: #0A1E3C;
    --navy-mid: #122952;
    --navy-light: #1E3F6E;
    --gold: #C8960C;
    --gold-light: #F2C233;
    --white: #FFFFFF;
    --off-white: #F8F5F0;
    --text-dark: #1A1A2E;
    --text-mid: #4A4A6A;
    --text-light: #8A8AA8;
    --green-india: #138808;
    --shadow-soft: 0 4px 24px rgba(10,30,60,0.10);
    --shadow-card: 0 8px 32px rgba(10,30,60,0.13);
    --shadow-deep: 0 16px 48px rgba(10,30,60,0.20);
    --radius: 16px;
    --radius-sm: 10px;
  }

  * { margin:0; padding:0; box-sizing:border-box; }

  html { scroll-behavior: smooth; }

  body {
    font-family: 'Noto Sans', sans-serif;
    background: var(--off-white);
    color: var(--text-dark);
    overflow-x: hidden;
  }

  /* ── NAV ── */
  nav {
    position: fixed; top:0; left:0; right:0; z-index:100;
    background: rgba(10,30,60,0.97);
    backdrop-filter: blur(12px);
    /* border-bottom: 2px solid var(--saffron); */
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 48px;
    height: 68px;
  }
  .nav-brand {
    display: flex; align-items: center; gap: 12px;
  }
  .nav-logo {
    width: 42px; height: 42px; border-radius: 50%;
    background: linear-gradient(135deg, var(--saffron), var(--gold));
    display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif;
    color: white; font-size: 18px; font-weight: 900;
    box-shadow: 0 0 0 2px rgba(255,107,26,0.4);
  }
  .nav-name {
    color: white; font-size: 15px; font-weight: 600; letter-spacing: 0.5px;
  }
  .nav-title-small { color: var(--saffron-light); font-size: 11px; font-weight: 400; }
  .nav-links { display: flex; gap: 32px; }
  .nav-links a {
    color: rgba(255,255,255,0.85); text-decoration: none;
    font-size: 13px; font-weight: 500; letter-spacing: 0.6px; text-transform: uppercase;
    transition: color 0.2s;
    position: relative;
  }
  .nav-links a::after {
    content:''; position: absolute; bottom:-4px; left:0; right:0; height:2px;
    background: var(--saffron); transform: scaleX(0); transition: transform 0.2s;
  }
  .dev-card-icon i{
    color: #fff;
  }
  .nav-links a:hover { color: var(--saffron-light); }
  .nav-links a:hover::after { transform: scaleX(1); }
  .nav-cta {
    background: var(--saffron); color: white; border: none;
    padding: 10px 22px; border-radius: 8px; font-size: 13px; font-weight: 600;
    cursor: pointer; transition: background 0.2s;
  }
  .nav-cta:hover { background: var(--saffron-light); }

  /* ── TICKER ── */
  .ticker {
    background: var(--saffron);
    color: white; font-size: 12px; font-weight: 500;
    padding:  0; overflow: hidden;
    height: 40px;
    border-bottom: var(--saffron-light); ;
    position: fixed; top: 67px; left:0; right:0; z-index:99;
    display: flex; align-items: center;
  }
  .ticker-label {
    background: var(--navy); color: var(--gold-light);
     padding: 7px 16px; height: 100%; display: flex; align-items: center;
    font-weight: 700; font-size: 11px; letter-spacing: 1px; white-space: nowrap;
    flex-shrink: 0;
    z-index: 10000;
  }
  .ticker-track {
    display: flex; gap: 60px; white-space: nowrap;
    animation: ticker-scroll 28s linear infinite;
    padding-left: 40px;
  }
  @keyframes ticker-scroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }

  /* ── HERO ── */
  .hero {
    margin-top: 97px;
    min-height: 92vh;
    position: relative;
    display: flex; align-items: center;
    overflow: hidden;
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-mid) 45%, #1a3a6e 100%);
  }
  .hero-flag-bg {
    position: absolute; inset: 0;
    background:
      linear-gradient(180deg,
        rgba(255,107,26,0.12) 0%,
        rgba(255,255,255,0.03) 33%,
        rgba(19,136,8,0.10) 66%,
        transparent 100%
      );
  }
  .hero-pattern {
    position: absolute; inset: 0;
    background-image:
      radial-gradient(circle at 20% 50%, rgba(255,107,26,0.08) 0%, transparent 50%),
      radial-gradient(circle at 80% 20%, rgba(200,150,12,0.06) 0%, transparent 40%);
  }
  .hero-ashoka {
    position: absolute; right: 42%; top: 50%;
    transform: translate(50%,-50%);
    width: 480px; height: 480px;
    opacity: 0.045;
    font-size: 480px; line-height: 1;
    color: white;
    user-select: none;
  }
  .hero-content {
    position: relative; z-index: 2;
    display: grid; grid-template-columns: 1fr 1fr;
    align-items: center;
    max-width: 1200px; margin: 0 auto; padding: 40px 48px;
    gap: 60px; width: 100%;
  }

  .hero-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: rgba(255,107,26,0.15);
    border: 1px solid rgba(255,107,26,0.4);
    color: var(--saffron-light); font-size: 12px; font-weight: 600;
    letter-spacing: 1.2px; text-transform: uppercase;
    padding: 7px 16px; border-radius: 999px;
    margin-bottom: 24px;
    animation: fadeSlideUp 0.6s ease both;
  }
  .hero-badge-dot {
    width: 7px; height: 7px; border-radius: 50%;
    background: var(--saffron-light);
    animation: pulse 1.8s ease infinite;
  }
  @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.5;transform:scale(1.4)} }
  .hero-name {
    font-family: 'Playfair Display', serif;
    font-size: clamp(38px, 4.5vw, 62px); font-weight: 900;
    color: white; line-height: 1.08;
    margin-bottom: 10px;
    animation: fadeSlideUp 0.6s 0.1s ease both;
  }
  .hero-name span { color: var(--saffron); }
  .hero-designation {
    font-size: 17px; font-weight: 400; color: rgba(255,255,255,0.75);
    letter-spacing: 0.3px; margin-bottom: 28px;
    animation: fadeSlideUp 0.6s 0.2s ease both;
  }
  .hero-designation strong { color: var(--gold-light); font-weight: 600; }
  .hero-divider {
    width: 60px; height: 3px;
    background: linear-gradient(90deg, var(--saffron), var(--gold));
    border-radius: 2px; margin-bottom: 28px;
    animation: fadeSlideUp 0.6s 0.25s ease both;
  }
  .hero-quote {
    font-size: 16px; color: rgba(255,255,255,0.70);
    line-height: 1.7; margin-bottom: 40px; font-style: italic;
    animation: fadeSlideUp 0.6s 0.3s ease both;
  }
  .hero-quote::before { content: '"'; color: var(--saffron); font-size: 28px; line-height: 0; vertical-align: -8px; }
  .hero-buttons {
    display: flex; gap: 16px; flex-wrap: wrap;
    animation: fadeSlideUp 0.6s 0.4s ease both;
  }
  .btn-primary {
    background: linear-gradient(135deg, var(--saffron), var(--saffron-light));
    color: white; border: none; padding: 14px 32px;
    border-radius: var(--radius-sm); font-size: 14px; font-weight: 700;
    cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
    box-shadow: 0 6px 24px rgba(255,107,26,0.35);
    transition: transform 0.2s, box-shadow 0.2s;
    letter-spacing: 0.5px;
  }
  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(255,107,26,0.45); }
  .btn-secondary {
    background: transparent; color: white;
    border: 2px solid rgba(255,255,255,0.35);
    padding: 13px 30px; border-radius: var(--radius-sm);
    font-size: 14px; font-weight: 600; cursor: pointer;
    text-decoration: none; display: inline-flex; align-items: center; gap: 8px;
    transition: all 0.2s;
    letter-spacing: 0.5px;
  }
  .btn-secondary:hover { border-color: var(--saffron-light); color: var(--saffron-light); }

  .hero-portrait-wrap {
    display: flex; justify-content: center; align-items: flex-end;
    animation: fadeSlideUp 0.8s 0.15s ease both;
    position: relative;
  }
  .hero-portrait-outer {
    position: relative;
  }
  .hero-portrait-ring {
    position: absolute; inset: -8px;
    border-radius: 24px 24px 0 0;
    background: linear-gradient(160deg, var(--saffron) 0%, var(--gold) 50%, var(--green-india) 100%);
    opacity: 0.4;
  }
  .hero-portrait {
    position: relative;
    width: 360px;
     /* height: 460px; */
    background: linear-gradient(160deg, #1e3f6e, #0d2245);
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    box-shadow: var(--shadow-deep);
    display: flex; align-items: flex-end; justify-content: center;
  }
  .portrait-placeholder {
    width: 100%; height: 100%;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    position: relative;
  }
  /* Silhouette SVG style */
  .portrait-figure {
    width: 220px; height: 340px;
    background: linear-gradient(170deg, #2a5298, #1a3560);
    border-radius: 50% 50% 0 0 / 40% 40% 0 0;
    position: absolute; bottom: 0;
    box-shadow: inset 0 20px 40px rgba(0,0,0,0.2);
  }
  .portrait-head {
    width: 90px; height: 100px;
    background: #c4956a;
    border-radius: 50%;
    position: absolute; bottom: 240px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.3);
  }
  .portrait-suit {
    width: 200px; height: 220px;
    background: linear-gradient(170deg, #1a2e5a, #0d1e3e);
    position: absolute; bottom: 0;
    border-radius: 12px 12px 0 0;
  }
  .portrait-collar {
    width: 30px; height: 50px;
    background: white;
    position: absolute; bottom: 188px;
    clip-path: polygon(50% 0, 100% 100%, 50% 60%, 0 100%);
  }
  .portrait-badge-area {
    position: absolute; bottom: 20px; left: 0; right: 0;
    text-align: center; padding: 16px;
    background: linear-gradient(0deg, rgba(10,20,40,0.95), transparent);
  }
  .portrait-party-badge {
    display: inline-flex; align-items: center; gap: 6px;
    background: var(--saffron); color: white;
    font-size: 11px; font-weight: 700; letter-spacing: 1px;
    padding: 5px 14px; border-radius: 999px;
    text-transform: uppercase;
  }
  .hero-flag-stripe {
    position: absolute; bottom: 0; left: 0; right: 0;
    height: 6px;
    background: linear-gradient(90deg, #FF9933 33%, white 33%, white 66%, var(--green-india) 66%);
  }
  .hero-social {
    position: absolute; left: -48px; top: 50%;
    transform: translateY(-50%);
    display: flex; flex-direction: column; gap: 12px;
    animation: fadeSlideUp 0.6s 0.5s ease both;
  }
  .social-icon {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.2);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.7);
    font-size: 14px; text-decoration: none;
    transition: all 0.2s;
  }
  .social-icon:hover { background: var(--saffron); border-color: var(--saffron); color: white; }

  @keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(24px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* ── STATS ── */
  .stats-section {
    background: white;
    padding: 0;
    box-shadow: 0 -1px 0 rgba(0,0,0,0.06), var(--shadow-soft);
  }
  .stats-inner {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: repeat(4, 1fr);
  }
  .stat-item {
    padding: 40px 32px;
    text-align: center;
    border-right: 1px solid #f0ede8;
    position: relative;
    transition: background 0.2s;
  }
  .stat-item:last-child { border-right: none; }
  .stat-item:hover { background: var(--saffron-pale); }
  .stat-item::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, var(--saffron), var(--gold));
    transform: scaleX(0); transition: transform 0.3s;
  }
  .stat-item:hover::before { transform: scaleX(1); }
  .stat-icon {
    width: 48px; height: 48px; border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 16px;
    font-size: 22px;
  }
  .news-img-bg i{
    color:#fff
  }
  .stat-icon.orange { background: linear-gradient(135deg, #FFE0CC, #FFCBA4); }
  .stat-icon.blue { background: linear-gradient(135deg, #CCE0FF, #A4C5FF); }
  .stat-icon.gold { background: linear-gradient(135deg, #FFF0CC, #FFE4A4); }
  .stat-icon.green { background: linear-gradient(135deg, #CCFFE0, #A4FFD0); }
  .stat-num {
    font-family: 'Playfair Display', serif;
    font-size: 48px; font-weight: 900;
    color: var(--navy);
    line-height: 1;
    margin-bottom: 6px;
  }
  .stat-num span { color: var(--saffron); }
  .stat-label {
    font-size: 13px; color: var(--text-mid); font-weight: 500;
    letter-spacing: 0.4px; text-transform: uppercase;
  }
  .stat-sub { font-size: 11px; color: var(--text-light); margin-top: 4px; }

  /* ── SECTION HEADERS ── */
  section { padding: 80px 48px; }
  .section-inner { max-width: 1200px; margin: 0 auto; }
  .section-tag {
    display: inline-flex; align-items: center; gap: 8px;
    color: var(--saffron); font-size: 12px; font-weight: 700;
    letter-spacing: 2px; text-transform: uppercase;
    margin-bottom: 12px;
  }
  .section-tag::before {
    content: ''; width: 24px; height: 2px;
    background: var(--saffron); border-radius: 1px;
  }
  .section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(28px, 3vw, 42px); font-weight: 900;
    color: var(--navy); line-height: 1.15; margin-bottom: 16px;
  }
  .section-sub {
    font-size: 15px; color: var(--text-mid); line-height: 1.7;
    max-width: 560px;
  }
  .section-header-flex {
    display: flex; justify-content: space-between; align-items: flex-end;
    margin-bottom: 48px;
  }
  .view-all {
    color: var(--saffron); font-size: 13px; font-weight: 600;
    text-decoration: none; display: flex; align-items: center; gap: 6px;
    border-bottom: 1px solid transparent; transition: border-color 0.2s;
    letter-spacing: 0.5px;
  }
  .view-all:hover { border-color: var(--saffron); }

  /* ── ABOUT ── */
  .about-section { background: var(--navy); }
  .about-grid {
    display: grid; grid-template-columns: 1fr 1.6fr;
    gap: 64px; align-items: center;
  }
  .about-img-wrap { position: relative; }
  .about-img {
    width: 100%; 
    border-radius: 20px;
    background: linear-gradient(160deg, var(--navy-light), #0d2245);
    overflow: hidden;
    position: relative;
    box-shadow: var(--shadow-deep);
  }
  .about-img-fig {
    width: 100%; height: 100%;
    display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
    background: linear-gradient(160deg, #1e3f6e 0%, #0d2245 100%);
  }
  .about-figure-body {
    width: 200px; height: 300px;
    background: linear-gradient(170deg, #2a4a80, #162a50);
    border-radius: 40px 40px 0 0; margin-bottom: 0;
  }
  .about-figure-head {
    width: 80px; height: 88px; border-radius: 50%;
    background: #c4956a; margin-bottom: -4px; z-index: 1; position: relative;
  }
  .about-img-overlay {
    position: absolute; bottom: 0; left: 0; right: 0;
    padding: 24px; background: linear-gradient(0deg, rgba(0,0,0,0.8), transparent);
  }
  .about-img-name {
    font-family: 'Playfair Display', serif; font-size: 20px; color: white; font-weight: 700;
  }
  .about-img-sub { color: var(--saffron-light); font-size: 12px; }
  .about-corner-badge {
    position: absolute; top: 20px; right: -16px;
    background: linear-gradient(135deg, var(--saffron), var(--gold));
    color: white; font-size: 11px; font-weight: 700;
    padding: 8px 20px; border-radius: 999px;
    box-shadow: var(--shadow-soft);
    letter-spacing: 0.5px;
    white-space: nowrap;
  }
  .about-flag-bar {
    position: absolute; bottom: 0; left: 0; right: 0; height: 4px;
    background: linear-gradient(90deg, #FF9933 33%, white 33%, white 66%, var(--green-india) 66%);
  }
  .about-section .section-tag { color: var(--saffron-light); }
  .about-section .section-tag::before { background: var(--saffron-light); }
  .about-section .section-title { color: white; }
  .about-section .section-sub { color: rgba(255,255,255,0.65); max-width: 100%; }
  .about-bio {
    font-size: 15px; color: rgba(255,255,255,0.70); line-height: 1.8;
    margin-bottom: 32px;
  }
  .about-tags { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 32px; }
  .about-tag {
    background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.75);
    border: 1px solid rgba(255,255,255,0.15);
    padding: 7px 16px; border-radius: 999px; font-size: 12px; font-weight: 500;
  }
  .about-achievements {
    display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  }
  .achievement-item {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius-sm); padding: 16px;
    display: flex; align-items: flex-start; gap: 12px;
  }
  .achievement-icon {
    width: 36px; height: 36px; border-radius: 10px; flex-shrink: 0;
    background: rgba(255,107,26,0.2);
    display: flex; align-items: center; justify-content: center; font-size: 16px;
  }
  .achievement-icon i{
    color: #fff;
  }
  .achievement-text { font-size: 13px; color: rgba(255,255,255,0.75); line-height: 1.5; }
  .achievement-text strong { color: white; display: block; font-size: 14px; margin-bottom: 2px; }

  /* ── DEVELOPMENT WORK ── */
  .dev-section { background: var(--off-white); }
  .dev-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .dev-card {
    background: white; border-radius: var(--radius);
    overflow: hidden; box-shadow: var(--shadow-card);
    transition: transform 0.25s, box-shadow 0.25s;
    cursor: pointer;
  }
  .dev-card:hover { transform: translateY(-6px); box-shadow: var(--shadow-deep); }
  .dev-card-header {
    height: 140px; position: relative;
    display: flex; align-items: flex-end; padding: 20px;
  }
  .dev-card-header.roads {
    background: linear-gradient(135deg, #1a3a6e, #2a5298);
  }
  .dev-card-header.schools {
    background: linear-gradient(135deg, #7b1e00, #cc3300);
  }
  .dev-card-header.hospitals {
    background: linear-gradient(135deg, #0a4a2a, #1a8045);
  }
  .dev-card-header.power {
    background: linear-gradient(135deg, #5a3a00, #a06010);
  }
  .dev-card-header.water {
    background: linear-gradient(135deg, #003a5a, #0060a0);
  }
  .dev-card-header.rural {
    background: linear-gradient(135deg, #3a1a5a, #6030a0);
  }
  .dev-card-icon {
    width: 52px; height: 52px; border-radius: 14px;
    background: rgba(255,255,255,0.18);
    display: flex; align-items: center; justify-content: center;
    font-size: 24px; margin-bottom: 0;
  }
  .dev-card-num {
    margin-left: auto;
    font-family: 'Playfair Display', serif;
    font-size: 38px; font-weight: 900; color: white; line-height: 1;
    text-align: right;
  }
  .dev-card-num span { font-size: 18px; }
  .dev-card-body { padding: 20px 24px 24px; }
  .dev-card-title {
    font-size: 17px; font-weight: 700; color: var(--navy); margin-bottom: 8px;
  }
  .dev-card-desc {
    font-size: 13px; color: var(--text-mid); line-height: 1.6; margin-bottom: 16px;
  }
  .dev-progress-label {
    display: flex; justify-content: space-between;
    font-size: 12px; color: var(--text-light); margin-bottom: 6px;
  }
  .dev-progress-bar {
    height: 6px; background: #f0ede8; border-radius: 3px; overflow: hidden;
  }
  .dev-progress-fill {
    height: 100%; border-radius: 3px;
    background: linear-gradient(90deg, var(--saffron), var(--gold));
    transition: width 0.8s ease;
  }

  /* ── NEWS ── */
  .news-section { background: white; }
  .news-grid {
    display: grid; grid-template-columns: 1fr 1fr 1fr;
    gap: 24px;
  }
  .news-card {
    background: var(--off-white); border-radius: var(--radius);
    overflow: hidden; box-shadow: var(--shadow-soft);
    transition: transform 0.25s, box-shadow 0.25s;
    cursor: pointer;
    display: flex; flex-direction: column;
  }
  .news-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-card); }
  .news-card-img {
    height: 220px; position: relative; overflow: hidden;
  }
  .news-card:first-child .news-card-img { height: 220px; }
  .news-img-bg {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 48px;
  }
  .news-img-bg.energy { background: linear-gradient(135deg, #1a2e5a, #2a5298); }
  .news-img-bg.infra { background: linear-gradient(135deg, #5a2a00, #b05010); }
  .news-img-bg.award { background: linear-gradient(135deg, #5a3a00, #a07010); }
  .news-img-bg.coal { background: linear-gradient(135deg, #1a1a2e, #3a3a5e); }
  .news-card-category {
    position: absolute; top: 12px; left: 12px;
    background: var(--saffron); color: white;
    font-size: 10px; font-weight: 700; letter-spacing: 1px;
    padding: 4px 10px; border-radius: 999px; text-transform: uppercase;
  }
  .news-card-body { padding: 20px 20px 24px; flex: 1; display: flex; flex-direction: column; }
  .news-date { font-size: 11px; color: var(--text-light); margin-bottom: 10px; }
  .news-title {
    font-size: 15px; font-weight: 700; color: var(--navy); line-height: 1.45;
    margin-bottom: 10px; flex: 1;
  }
  .news-card:first-child .news-title { font-size: 18px; }
  .news-excerpt { font-size: 13px; color: var(--text-mid); line-height: 1.6; margin-bottom: 16px; }
  .news-read-more {
    color: var(--saffron); font-size: 12px; font-weight: 600;
    text-decoration: none; display: flex; align-items: center; gap: 4px;
    letter-spacing: 0.3px; width: fit-content;
  }

  /* ── EVENTS ── */
  .events-section { background: var(--navy-mid); }
  .events-section .section-tag { color: var(--saffron-light); }
  .events-section .section-tag::before { background: var(--saffron-light); }
  .events-section .section-title { color: white; }
  .events-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 20px; margin-top: 48px;
  }
  .event-card {
    background: rgba(255,255,255,0.07);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: var(--radius); padding: 24px;
    display: flex; gap: 20px; align-items: flex-start;
    transition: background 0.2s, transform 0.2s;
    cursor: pointer;
  }
  .event-card:hover { background: rgba(255,107,26,0.12); transform: translateY(-3px); }
  .event-date-box {
    background: var(--saffron); color: white;
    border-radius: 12px; padding: 10px 14px; text-align: center;
    flex-shrink: 0; min-width: 58px;
  }
  .event-day { font-family: 'Playfair Display', serif; font-size: 30px; font-weight: 900; line-height: 1; }
  .event-month { font-size: 11px; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; }
  .event-info { flex: 1; }
  .event-title { font-size: 15px; font-weight: 700; color: white; line-height: 1.4; margin-bottom: 6px; }
  .event-meta { font-size: 12px; color: rgba(255,255,255,0.55); display: flex; gap: 12px; }
  .event-type {
    display: inline-block; margin-top: 10px;
    background: rgba(255,107,26,0.2); color: var(--saffron-light);
    font-size: 10px; font-weight: 600; letter-spacing: 1px;
    padding: 3px 10px; border-radius: 999px; text-transform: uppercase;
  }

  /* ── GALLERY ── */
  .gallery-section { background: var(--off-white); }
  .gallery-tabs {
    display: flex; gap: 4px; margin-bottom: 32px;
    background: white; padding: 4px; border-radius: var(--radius-sm);
    width: fit-content; box-shadow: var(--shadow-soft);
  }
  .gallery-tab {
    padding: 8px 22px; border-radius: 8px; font-size: 13px; font-weight: 600;
    cursor: pointer; border: none; background: none; color: var(--text-mid);
    transition: all 0.2s;
  }
  .gallery-tab.active { background: var(--saffron); color: white; }
  .gallery-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 200px 200px;
    gap: 12px;
  }
  .gallery-item {
    border-radius: var(--radius-sm); overflow: hidden;
    position: relative; cursor: pointer;
    transition: transform 0.25s;
  }
  .gallery-item:hover { transform: scale(1.02); }
  .gallery-item.tall { grid-row: span 2; }
  .gallery-item.wide { grid-column: span 2; }
  .gallery-img {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 40px;
    background-size: cover;
  }
  
  .g1 { background: linear-gradient(135deg, #1a3a6e, #2a5298); }
  /* .g2 { background: linear-gradient(135deg, #3a1a00, #8a3a00); } */
  .g3 { background: linear-gradient(135deg, #0a3a20, #1a7040); }
  .g4 { background: linear-gradient(135deg, #2a1a5e, #5a3aae); }
  .g5 { background: linear-gradient(135deg, #5a1a00, #aa3a00); }
  .g6 { background: linear-gradient(135deg, #003a5a, #0070b0); }
  .g7 { background: linear-gradient(135deg, #2a2a1a, #5a5a2a); }
  .gallery-item-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,0.6), transparent);
    opacity: 0; transition: opacity 0.25s;
    display: flex; align-items: flex-end; padding: 12px;
  }
  .gallery-item:hover .gallery-item-overlay { opacity: 1; }
  .gallery-item-label {
    color: white; font-size: 12px; font-weight: 600;
  }
  .video-badge {
    position: absolute; top: 10px; right: 10px;
    background: rgba(0,0,0,0.6); color: white;
    font-size: 10px; font-weight: 700; padding: 4px 10px;
    border-radius: 999px; display: flex; align-items: center; gap: 4px;
  }

  /* ── GRIEVANCE ── */
  .grievance-section { background: white; }
  .grievance-grid {
    display: grid; grid-template-columns: 1fr 1.4fr;
    gap: 64px; align-items: start;
  }
  .grievance-info { }
  .grievance-contact-cards { display: flex; flex-direction: column; gap: 16px; margin-top: 32px; }
  .contact-card {
    background: var(--off-white); border-radius: var(--radius-sm);
    padding: 16px 20px; display: flex; align-items: center; gap: 16px;
    border: 1px solid #ece9e4;
  }
  .contact-card-icon {
    width: 44px; height: 44px; border-radius: 12px;
    background: linear-gradient(135deg, var(--saffron-pale), #ffd4b2);
    display: flex; align-items: center; justify-content: center;
    font-size: 20px; flex-shrink: 0;
  }
  .contact-card-title { font-size: 12px; color: var(--text-light); margin-bottom: 3px; text-transform: uppercase; letter-spacing: 0.5px; }
  .contact-card-val { font-size: 14px; font-weight: 600; color: var(--navy); }
  .grievance-form-wrap {
    background: var(--navy);
    border-radius: var(--radius); padding: 40px;
    box-shadow: var(--shadow-deep);
  }
  .grievance-form-title {
    font-family: 'Playfair Display', serif;
    font-size: 24px; font-weight: 900; color: white; margin-bottom: 6px;
  }
  .grievance-form-sub { font-size: 13px; color: rgba(255,255,255,0.55); margin-bottom: 28px; }
  .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
  .form-group { margin-bottom: 16px; }
  .form-label { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.65); margin-bottom: 7px; display: block; letter-spacing: 0.4px; }
  .form-input, .form-select, .form-textarea {
    width: 100%; background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    color: white; padding: 12px 14px; border-radius: var(--radius-sm);
    font-size: 14px; font-family: 'Noto Sans', sans-serif;
    transition: border-color 0.2s, background 0.2s;
    outline: none;
  }
  .form-input::placeholder, .form-textarea::placeholder { color: rgba(255,255,255,0.30); }
  .form-input:focus, .form-select:focus, .form-textarea:focus {
    border-color: var(--saffron); background: rgba(255,107,26,0.08);
  }
  .form-select option { background: var(--navy); }
  .form-textarea { resize: vertical; min-height: 100px; }
  .form-submit {
    width: 100%;
    background: linear-gradient(135deg, var(--saffron), var(--saffron-light));
    color: white; border: none; padding: 15px;
    border-radius: var(--radius-sm); font-size: 15px; font-weight: 700;
    cursor: pointer; letter-spacing: 0.5px;
    box-shadow: 0 6px 24px rgba(255,107,26,0.3);
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .form-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(255,107,26,0.4); }

  /* ── FOOTER ── */
  footer {
    background: var(--navy);
    border-top: 3px solid var(--saffron);
    padding: 48px;
  }
  .footer-inner {
    max-width: 1200px; margin: 0 auto;
    display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px;
  }
  .footer-brand-logo {
    width: 56px; height: 56px; border-radius: 16px;
    background: linear-gradient(135deg, var(--saffron), var(--gold));
    display: flex; align-items: center; justify-content: center;
    font-family: 'Playfair Display', serif; font-size: 24px; font-weight: 900; color: white;
    margin-bottom: 16px;
  }
  .footer-brand-name {
    font-family: 'Playfair Display', serif; font-size: 20px; font-weight: 900; color: white; margin-bottom: 4px;
  }
  .footer-brand-sub { font-size: 12px; color: rgba(255,255,255,0.45); margin-bottom: 20px; }
  .footer-brand-desc { font-size: 13px; color: rgba(255,255,255,0.50); line-height: 1.7; margin-bottom: 20px; }
  .footer-socials { display: flex; gap: 10px; }
  .footer-social {
    width: 36px; height: 36px; border-radius: 10px;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.15);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.6); font-size: 14px; text-decoration: none;
    transition: all 0.2s;
  }
  .footer-social:hover { background: var(--saffron); border-color: var(--saffron); color: white; }
  .footer-col-title {
    font-size: 13px; font-weight: 700; color: white;
    letter-spacing: 1px; text-transform: uppercase; margin-bottom: 20px;
    padding-bottom: 12px; border-bottom: 1px solid rgba(255,255,255,0.1);
  }
  .footer-links { list-style: none; display: flex; flex-direction: column; gap: 10px; }
  .footer-links a {
    color: rgba(255,255,255,0.50); font-size: 13px; text-decoration: none;
    transition: color 0.2s; display: flex; align-items: center; gap: 6px;
  }
  .footer-links a::before { content:'›'; color: var(--saffron); font-size: 16px; line-height: 1; }
  .footer-links a:hover { color: var(--saffron-light); }
  .footer-bottom {
    max-width: 1200px; margin: 32px auto 0; padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex; justify-content: space-between; align-items: center;
  }
  .footer-bottom-text { font-size: 12px; color: rgba(255,255,255,0.35); }
  .footer-flag {
    display: flex; gap: 4px; align-items: center;
  }
  .flag-stripe {
    width: 28px; height: 8px; border-radius: 1px;
  }
  .flag-s1 { background: #FF9933; }
  .flag-s2 { background: white; }
  .flag-s3 { background: var(--green-india); }

  /* Misc */
  .divider { height: 1px; background: linear-gradient(90deg, transparent, rgba(0,0,0,0.08), transparent); margin: 0 48px; }

  .latest-icon{
    color: #fff;
    padding-right: 6px;
  }
  .hero-portrait2{
    position: relative;
      width: 500px;
    height: 100%;
    background: linear-gradient(160deg, #1e3f6e, #0d2245);
    border-radius: 20px 20px 0 0;
    overflow: hidden;
    box-shadow: var(--shadow-deep);
    display: flex;
    align-items: flex-end;
    justify-content: center;
}
.margin-top30{
  margin-top: 30px;
}