.gf-silhouette {
    width: 100%;
    overflow: hidden;
    line-height: 0;
    background: linear-gradient(180deg, #4a0012 0%, #4a0012 60%, #4a0012c4 100%);
    position: relative;
}
.gf-silhouette img {
    width: 100%;
    height: auto;
    display: block;
    opacity: .92;
}
.gf-silhouette::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 50%;
    background: linear-gradient(to bottom, transparent, #daab362e);
    pointer-events: none;
}
/* ═══════════ NEWSLETTER / FOOTER / SEWABOT ═══════════ */
.news-form .form-control { background:transparent; border:none;
border-bottom:2px solid rgba(212,175,55,.5); border-radius:0; padding:.9rem .25rem; color:var(--maroon); }
.news-form .form-control:focus { box-shadow:none; border-color:var(--saffron); background:transparent; }
.news-form .form-check-input:checked { background-color:var(--saffron); border-color:var(--saffron); }

.mantra-marquee { overflow:hidden; background:var(--maroon); border-block:1px solid rgba(212,175,55,.4);border-color:rgba(255,255,255,.25); }
.marquee-track { display:flex; width:max-content; animation:marquee 45s linear infinite; }
.marquee-track span { padding:.9rem 3rem .9rem 0; white-space:nowrap; color:#fff;
font-family:var(--font-display); letter-spacing:.15em; font-size: 20px}
@keyframes marquee { to{transform:translateX(-50%);} }

.announce .marquee-track span { color:#fff }
.announce i { color:var(--saffron); padding:0 1.4rem; font-style:normal; }
.hot { animation:blink 1.4s infinite; } @keyframes blink { 50%{opacity:.45} }

footer {
    background: var(--color-2);
    color: #fff;
}
.footer-text{color:var(--maroon-deep)}
.footer-img {
    width: 250px;
    height: auto;
}
.footer-title { font-family:var(--font-display); color:#fff;font-size:24px }
.footer-links { list-style:none; padding:0; }
.footer-links li { margin-bottom:.5rem;font-size:18px }
.footer-links a { color:var(--maroon-deep); text-decoration:none; transition:.3s; }
.footer-links a:hover { color:#fff; padding-left:6px; }
.social-icons a { color:var(--maroon-deep); font-size:1.2rem; transition:.3s; }
.social-icons a:hover { color:#fff; transform:translateY(-3px); }
.footer-copy { color:rgba(255,248,231,.45); font-size:18px;font-weight: 600; }
.footer-copy a{ color:var(--maroon-deep); font-size:16px; }
footer p, footer a, footer li a, .footer-copy { color:rgba(255,255,255,.92); }

.sewabot { position:fixed; right:22px; bottom:22px; z-index:1040; width:62px; height:62px;
border-radius:50%; border:none; display:grid; place-items:center;
background:linear-gradient(135deg,var(--saffron),var(--maroon));
box-shadow:0 12px 30px -8px rgba(128,0,32,.55); transition:transform .3s; }
.sewabot img { width:36px; height:36px; object-fit:cover; border-radius:50%; }
.sewabot:hover { transform:scale(1.08); }
.sewabot::after { content:""; position:absolute; inset:0; border-radius:50%;
border:2px solid rgba(212,175,55,.8); animation:pulse 2.4s ease-out infinite; }
@keyframes pulse { 0%{transform:scale(1); opacity:.9;} 100%{transform:scale(1.7); opacity:0;} }
.sewa-offcanvas { background:var(--cream); border-left:2px solid var(--gold); }
.chat-bubble { background:#fff; border:1px solid rgba(212,175,55,.4); border-radius:16px 16px 16px 4px;
padding:1rem; font-size:.9rem; color:var(--maroon); box-shadow:0 8px 24px -12px rgba(128,0,32,.25); }
@media (max-width:768px){
  .hero-content { padding:6.5rem 0 12rem; }
  .hero-caption { bottom:112px; font-size:.58rem; letter-spacing:.2em; }
  .hero-pagination { bottom:84px; }
  .involve-btn { width:92px; height:92px; }
  .cd-box { min-width:52px; padding:.4rem .5rem; }
  .carousel-control-prev,.carousel-control-next { width:40px; height:40px; }
  .event-img { min-height:220px; }
}