:root{
  --theme-color:#ae0040;
  --theme-dark:#7a002d;
  --theme-light:#fbe9ef;
  --gold:#d4a017;
}
body{ font-family:'Poppins','Noto Sans Devanagari',sans-serif; color:#333; }
.text-theme{ color:var(--theme-color) !important; }
.bg-theme{ background:var(--theme-color) !important; }
a{ transition:.2s; }

/* Top info bar */
.top-info-bar{ background:var(--theme-dark); color:#fff; }
.top-info-bar a:hover{ color:var(--gold); }

/* Header band */
.header-band{ background:#fff; border-bottom:3px solid var(--theme-color); }
.site-logo{ height:80px; }
.site-title{ color:var(--theme-color); font-weight:700; font-size:26px; margin:0; font-family:'Noto Sans Devanagari',sans-serif; }
.site-title sup{ font-size:14px; }
.site-tagline{ color:var(--gold); font-weight:600; font-family:'Noto Sans Devanagari',sans-serif; }
.site-subtagline{ color:#555; font-size:13px; font-family:'Noto Sans Devanagari',sans-serif; }
.btn-theme{ background:var(--theme-color); border-color:var(--theme-color); color:#fff; font-weight:600; }
.btn-theme:hover{ background:var(--theme-dark); border-color:var(--theme-dark); color:#fff; }
.btn-outline-theme{ border:2px solid var(--theme-color); color:var(--theme-color); font-weight:600; }
.btn-outline-theme:hover{ background:var(--theme-color); color:#fff; }

/* Navbar */
.main-navbar{ background:var(--theme-color); }
.main-navbar .nav-link{ color:#fff !important; font-weight:500; padding:14px 16px !important; }
.main-navbar .nav-link:hover, .main-navbar .nav-link.active{ background:var(--theme-dark); }
.dropdown-menu{ max-height:420px; overflow-y:auto; }
.dropdown-item:active{ background:var(--theme-color); }

/* Hero / Banner */
.hero-slide{ position:relative; height:480px; background-size:cover; background-position:center; }
.hero-slide::after{ content:''; position:absolute; inset:0; background:linear-gradient(90deg, rgba(174,0,64,.75), rgba(0,0,0,.3)); }
.hero-caption{ position:relative; z-index:2; color:#fff; height:100%; display:flex; flex-direction:column; justify-content:center; max-width:650px; }
.hero-caption h2{ font-weight:700; font-size:2.4rem; }

/* Section titles */
.section-title{ text-align:center; margin-bottom:40px; }
.section-title h2{ color:var(--theme-color); font-weight:700; position:relative; display:inline-block; padding-bottom:12px; }
.section-title h2::after{ content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:70px; height:3px; background:var(--gold); }
.section-title p{ color:#777; }

/* Cards */
.program-card, .scheme-card, .blog-card{ border:none; border-radius:14px; overflow:hidden; box-shadow:0 3px 15px rgba(0,0,0,.08); transition:.3s; height:100%; }
.program-card:hover, .scheme-card:hover, .blog-card:hover{ transform:translateY(-6px); box-shadow:0 10px 25px rgba(174,0,64,.2); }
.program-card .icon-circle{ width:60px; height:60px; border-radius:50%; background:var(--theme-light); color:var(--theme-color); display:flex; align-items:center; justify-content:center; font-size:26px; margin-bottom:12px; }

/* Stats */
.stats-section{ background:linear-gradient(135deg, var(--theme-color), var(--theme-dark)); color:#fff; }
.stats-section h2{ font-weight:700; font-size:2.4rem; }

/* Gallery */
.gallery-item img{ border-radius:10px; height:220px; width:100%; object-fit:cover; }

/* Footer */
.site-footer{ background:#1c1c1c; }
.footer-links{ list-style:none; padding:0; }
.footer-links li{ margin-bottom:8px; }
.footer-links a{ color:#bbb; text-decoration:none; font-size:14.5px; }
.footer-links a:hover{ color:var(--gold); }
.footer-bottom{ background:#111; color:#999; }
.social-icons a{ display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; background:rgba(255,255,255,.1); color:#fff; border-radius:50%; margin-right:8px; text-decoration:none; }
.social-icons a:hover{ background:var(--theme-color); }

/* Forms */
.form-box{ background:#fff; border-radius:14px; box-shadow:0 4px 20px rgba(0,0,0,.08); padding:30px; }
.download-card{ border-left:4px solid var(--theme-color); border-radius:8px; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.06); }
