﻿/* Final public homepage polish - loaded last */
:root {
    --som-green: #0f5132;
    --som-green-2: #0f766e;
    --som-orange: #ff671f;
    --som-blue: #2f3192;
    --som-text: #111827;
    --som-muted: #64748b;
    --som-line: #e5e7eb;
}

body {
    font-family: "Poppins", Arial, sans-serif;
    color: var(--som-text);
    background: #f7fafc;
}

/* Header and mega menu */
.site-mega-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 1060 !important;
    max-width: 100% !important;
    margin: 0 !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08) !important;
}

.site-menu-topbar {
    min-height: 58px !important;
    padding: 7px clamp(14px, 3vw, 44px) !important;
    display: grid !important;
    grid-template-columns: 38px minmax(170px, auto) 1fr !important;
    gap: 12px !important;
    align-items: center !important;
    background: #fff !important;
}

.site-menu-close {
    width: 36px !important;
    height: 36px !important;
    display: inline-grid !important;
    place-items: center !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: var(--som-green) !important;
    font-size: 22px !important;
    box-shadow: none !important;
}

.site-menu-brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
}

.site-menu-brand img {
    display: inline-block !important;
    width: 34px !important;
    height: 34px !important;
    object-fit: contain !important;
}

.site-brand-copy strong {
    color: var(--som-green) !important;
    font-size: clamp(17px, 1.8vw, 24px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.site-brand-copy small {
    display: block !important;
    margin-top: 2px !important;
    color: var(--som-muted) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
}

.site-menu-actions {
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    height: auto !important;
    overflow: visible !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}

.site-menu-actions > a,
.site-menu-actions span.site-menu-text-link,
.site-search-button,
.site-language-btn {
    min-height: 34px !important;
    padding: 0 10px !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 8px !important;
    background: #fff !important;
    color: #1f2937 !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.site-search-button i,
.site-language-btn i,
.site-menu-actions i {
    color: var(--som-green-2) !important;
    font-size: 15px !important;
    text-shadow: none !important;
}

.site-mega-panel {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1080 !important;
    padding: 16px clamp(14px, 3vw, 44px) 18px !important;
    max-height: min(560px, calc(100vh - 72px)) !important;
    overflow: auto !important;
    background: rgba(255, 255, 255, .98) !important;
    border-top: 1px solid #eef2f7 !important;
    box-shadow: 0 24px 54px rgba(15, 23, 42, .16) !important;
}

.site-mega-drawer-head {
    max-width: 1180px !important;
    margin: 0 auto 12px !important;
    padding-bottom: 10px !important;
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    border-bottom: 1px solid #edf2f7 !important;
}

.site-mega-drawer-head span {
    color: var(--som-orange) !important;
    font-size: 10.5px !important;
    font-weight: 900 !important;
}

.site-mega-drawer-head strong {
    display: block !important;
    color: var(--som-text) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
}

.site-primary-menu {
    max-width: 1180px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 10px !important;
    list-style: none !important;
}

.site-primary-item { position: relative !important; }

.site-primary-link {
    width: 100% !important;
    min-height: 44px !important;
    padding: 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    border: 1px solid #e5e7eb !important;
    border-left: 3px solid var(--som-orange) !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: var(--som-text) !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    line-height: 1.1 !important;
    text-transform: none !important;
    text-decoration: none !important;
}

.site-primary-link i { color: var(--som-green-2) !important; font-size: 14px !important; }
.site-primary-item:hover > .site-primary-link,
.site-primary-item:focus-within > .site-primary-link { background: #fff7ed !important; color: #c2410c !important; }

.site-mega-flyout {
    position: static !important;
    width: 100% !important;
    margin-top: 7px !important;
    padding: 10px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    border: 1px solid #e5e7eb !important;
    border-top: 2px solid var(--som-green-2) !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: none !important;
}

.site-primary-item:hover .site-mega-flyout,
.site-primary-item:focus-within .site-mega-flyout,
.site-primary-item.open .site-mega-flyout { display: grid !important; }
.site-mega-feature { display: none !important; }
.site-mega-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 7px !important; }
.site-mega-column { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
.site-mega-heading { margin: 0 0 5px !important; padding: 0 !important; border: 0 !important; color: var(--som-green) !important; font-size: 12.5px !important; font-weight: 900 !important; text-transform: none !important; }
.site-mega-description { display: none !important; }
.site-mega-links a,
.site-mega-single-link { padding: 3px 0 !important; color: #475569 !important; font-size: 12px !important; line-height: 1.25 !important; }

/* Homepage rhythm */
.site-home-page > section,
.site-home-page .latest-news-section,
.site-home-page .upcoming-events-section,
.site-home-page .media-coverage-section,
.site-home-page .video-gallery-section,
.site-home-page .image-gallery-section,
.site-home-page .downloads-section {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
}

.home-hit-counter-section { padding: 8px 16px 0 !important; }
.home-hit-counter-card { min-height: 42px !important; padding: 8px 14px !important; font-size: 13px !important; }
.home-hit-counter-card strong { font-size: 20px !important; }

/* Compact documents */
.home-downloads-compact { padding: 18px 0 26px !important; background: #f6f9fc !important; }
.downloads-compact-head { margin-bottom: 12px !important; align-items: center !important; }
.downloads-kicker { min-height: 23px !important; padding: 0 10px !important; font-size: 10px !important; }
.downloads-compact-head h2 { margin: 5px 0 2px !important; font-size: clamp(22px, 2vw, 30px) !important; line-height: 1.1 !important; }
.downloads-compact-head p { font-size: 13px !important; line-height: 1.4 !important; }
.downloads-view-all { min-height: 36px !important; padding: 0 14px !important; font-size: 13px !important; }
.downloads-compact-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 10px !important; }
.download-card-compact { min-height: 90px !important; padding: 10px 12px !important; grid-template-columns: 42px 1fr 34px !important; gap: 10px !important; border-radius: 8px !important; }
.download-card-compact .download-icon { width: 42px !important; height: 42px !important; border-radius: 8px !important; font-size: 19px !important; }
.download-card-compact .download-content h5 { font-size: 14px !important; line-height: 1.22 !important; margin-bottom: 3px !important; }
.download-card-compact .download-content p { font-size: 11.5px !important; margin-bottom: 2px !important; }
.download-card-compact .download-content small { font-size: 11px !important; }
.download-open-link { width: 34px !important; height: 34px !important; }

/* Party members */
.home-members-section { max-height: 370px !important; overflow: hidden !important; }
.home-member-card { min-height: clamp(260px, 30vw, 370px) !important; }
.home-member-card img { inset: 50px 0 0 !important; height: calc(100% - 50px) !important; object-position: center top !important; }
.home-member-copy { min-height: 50px !important; padding: 9px 10px 0 !important; background: linear-gradient(180deg, rgba(52, 99, 145, .92), rgba(52, 99, 145, .36) 72%, transparent) !important; }
.home-member-copy h3 { font-size: clamp(.86rem, 1vw, 1.08rem) !important; line-height: 1.12 !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; overflow: hidden !important; }
.home-member-meta { bottom: 9px !important; padding: 6px 8px !important; }
.home-member-meta p { font-size: .72rem !important; }
.home-member-meta span { font-size: .56rem !important; padding: 3px 7px !important; }
.home-members-title { bottom: 10px !important; font-size: clamp(1.65rem, 2.8vw, 3.3rem) !important; }

/* Floating actions */
.public-engagement-widgets { left: 18px !important; right: auto !important; bottom: 18px !important; }
.som-whatsapp-float,
.ai-help-launcher { width: 52px !important; height: 52px !important; min-height: 52px !important; }
.ai-help-agent { right: 18px !important; bottom: 18px !important; }

@media (max-width: 1000px) {
    .site-menu-topbar { grid-template-columns: 38px 1fr auto !important; }
    .site-menu-actions .site-menu-text-link { display: none !important; }
    .site-primary-menu { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
    .downloads-compact-grid { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
}

@media (max-width: 575px) {
    .site-menu-actions > a,
    .site-search-button,
    .site-language-btn { width: 34px !important; padding: 0 !important; justify-content: center !important; }
    .site-primary-menu,
    .downloads-compact-grid { grid-template-columns: 1fr !important; }
    .site-brand-copy small { display: none !important; }
    .public-engagement-widgets { left: 12px !important; bottom: 12px !important; }
    .ai-help-agent { right: 12px !important; bottom: 12px !important; }
}
/* Final homepage cleanup: loaded last to neutralize older public-page rules. */
body.public-inner-layout .site-home-page {
    background: #f5f7fb !important;
    color: #111827 !important;
}

body.public-inner-layout .site-home-page .container,
body.public-inner-layout .site-home-page .container-fluid {
    max-width: 1180px !important;
}

body.public-inner-layout .site-home-page > section,
body.public-inner-layout .site-home-page .downloads-section,
body.public-inner-layout .site-home-page .upcoming-events-section {
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Keep Downloads professional, compact, and horizontal on desktop. */
body.public-inner-layout .home-downloads-compact {
    padding: 26px 0 34px !important;
    background: #f5f7fb !important;
}

body.public-inner-layout .downloads-compact-head {
    display: flex !important;
    align-items: end !important;
    justify-content: space-between !important;
    gap: 18px !important;
    margin: 0 0 14px !important;
    text-align: left !important;
}

body.public-inner-layout .downloads-kicker {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 24px !important;
    padding: 0 10px !important;
    border-radius: 999px !important;
    background: #e9f2ff !important;
    color: #0f62fe !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

body.public-inner-layout .downloads-compact-head h2 {
    margin: 7px 0 3px !important;
    color: #111827 !important;
    font-family: 'Poppins', Arial, sans-serif !important;
    font-size: clamp(22px, 2.2vw, 30px) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: 0 !important;
}

body.public-inner-layout .downloads-compact-head p {
    margin: 0 !important;
    color: #64748b !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
}

body.public-inner-layout .downloads-view-all {
    flex: 0 0 auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 34px !important;
    padding: 0 14px !important;
    border-radius: 8px !important;
    background: #f97316 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: none !important;
}

body.public-inner-layout .downloads-compact-grid {
    width: 100% !important;
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    align-items: stretch !important;
}

body.public-inner-layout .download-card-compact,
body.public-inner-layout .download-card.download-card-compact {
    width: 100% !important;
    max-width: none !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 34px !important;
    align-items: center !important;
    gap: 10px !important;
    border: 1px solid #e5eaf1 !important;
    border-top: 3px solid #2563eb !important;
    border-radius: 8px !important;
    background: #fff !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .07) !important;
    overflow: hidden !important;
}

body.public-inner-layout .download-card-compact .download-content {
    min-width: 0 !important;
}

body.public-inner-layout .download-card-compact .download-content h5 {
    margin: 0 0 4px !important;
    color: #111827 !important;
    font-size: 13.5px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
}

body.public-inner-layout .download-card-compact .download-content p,
body.public-inner-layout .download-card-compact .download-content small {
    display: block !important;
    margin: 0 !important;
    color: #64748b !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

body.public-inner-layout .download-card-compact .download-open-link span {
    display: none !important;
}

/* Slim member strips without covering faces. */
body.public-inner-layout .home-members-section {
    max-height: none !important;
    padding: 18px 0 !important;
    overflow: visible !important;
}

body.public-inner-layout .home-members-grid {
    min-height: 0 !important;
}

body.public-inner-layout .home-member-card {
    min-height: 300px !important;
    height: 300px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
}

body.public-inner-layout .home-member-card img {
    top: 44px !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: calc(100% - 44px) !important;
    object-fit: cover !important;
    object-position: center top !important;
}

body.public-inner-layout .home-member-copy {
    min-height: 44px !important;
    height: 44px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    background: rgba(25, 80, 120, .94) !important;
}

body.public-inner-layout .home-member-copy h3 {
    margin: 0 !important;
    color: #fff !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
}

/* Floating buttons: same visual weight, opposite sides. */
.public-engagement-widgets {
    position: fixed !important;
    left: 16px !important;
    right: auto !important;
    bottom: 18px !important;
    z-index: 1100 !important;
}

.som-whatsapp-float,
.ai-help-launcher {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    min-height: 52px !important;
    padding: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0 !important;
    font-size: 22px !important;
}

.som-whatsapp-float span,
.ai-help-launcher span {
    display: none !important;
}

.ai-help-agent {
    position: fixed !important;
    right: 16px !important;
    bottom: 18px !important;
    z-index: 1100 !important;
}

.ai-help-panel {
    width: min(360px, calc(100vw - 28px)) !important;
    right: 0 !important;
    bottom: 64px !important;
    border-radius: 14px !important;
    border: 1px solid #dbe6de !important;
    box-shadow: 0 22px 60px rgba(15, 23, 42, .2) !important;
}

@media (max-width: 991px) {
    body.public-inner-layout .downloads-compact-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 575px) {
    body.public-inner-layout .downloads-compact-head {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 10px !important;
    }

    body.public-inner-layout .downloads-compact-grid {
        grid-template-columns: 1fr !important;
    }

    body.public-inner-layout .home-member-card {
        height: 280px !important;
    }
}

/* Sarvottam-inspired clean institutional menu. */
.site-mega-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 1050 !important;
    background: #fff !important;
    border-bottom: 1px solid #e5e7eb !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .08) !important;
    font-family: 'Poppins', Arial, sans-serif !important;
}

.site-menu-topbar {
    max-width: 1240px !important;
    min-height: 64px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    display: grid !important;
    grid-template-columns: 40px auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    background: #fff !important;
}

.site-menu-close {
    width: 36px !important;
    height: 36px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 8px !important;
    background: #f8fafc !important;
    color: #0f172a !important;
}

.site-menu-brand {
    width: auto !important;
    min-width: 170px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
}

.site-menu-brand img {
    width: 38px !important;
    height: 38px !important;
    object-fit: contain !important;
}

.site-brand-copy strong {
    color: #0f3d2e !important;
    font-size: 19px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.site-brand-copy small {
    color: #f97316 !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
}

.site-menu-actions {
    justify-self: end !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    overflow: visible !important;
}

.site-home-visit-link,
.site-menu-actions > a,
.site-menu-actions span.site-menu-text-link,
.site-search-button,
.site-language-btn,
.site-menu-chip,
.site-logout-button {
    min-height: 34px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #e5e7eb !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #111827 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}

.site-home-visit-link {
    background: #fff7ed !important;
    border-color: #fed7aa !important;
    color: #9a3412 !important;
}

.site-home-visit-link > i {
    color: #f97316 !important;
    font-size: 14px !important;
}

.site-home-visit-count {
    min-height: 20px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #0f766e !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

.site-home-visit-count i {
    color: #0f766e !important;
    font-size: 11px !important;
}

.site-mega-panel {
    position: static !important;
    width: 100% !important;
    max-height: none !important;
    padding: 0 !important;
    overflow: visible !important;
    background: #0f3d2e !important;
    border-top: 3px solid #f97316 !important;
    box-shadow: none !important;
}

.site-mega-drawer-head {
    display: none !important;
}

.site-primary-menu {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 0 16px !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    gap: 0 !important;
    list-style: none !important;
}

.site-primary-item {
    position: relative !important;
    flex: 0 0 auto !important;
}

.site-primary-link {
    width: auto !important;
    min-height: 42px !important;
    padding: 0 13px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
}

.site-primary-link i {
    color: #fbbf24 !important;
    font-size: 13px !important;
}

.site-primary-item:hover > .site-primary-link,
.site-primary-item:focus-within > .site-primary-link,
.site-primary-link:hover {
    background: #f97316 !important;
    color: #fff !important;
}

.site-primary-caret {
    margin-left: 2px !important;
    color: rgba(255,255,255,.86) !important;
    font-size: 10px !important;
}

.site-mega-flyout {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    width: min(720px, calc(100vw - 32px)) !important;
    min-width: 260px !important;
    margin: 0 !important;
    padding: 18px !important;
    display: none !important;
    grid-template-columns: 1fr !important;
    border: 1px solid #e5e7eb !important;
    border-top: 3px solid #f97316 !important;
    border-radius: 0 0 10px 10px !important;
    background: #fff !important;
    box-shadow: 0 22px 45px rgba(15, 23, 42, .18) !important;
}

.site-primary-item:nth-last-child(-n+3) .site-mega-flyout {
    left: auto !important;
    right: 0 !important;
}

.site-primary-item:hover > .site-mega-flyout,
.site-primary-item:focus-within > .site-mega-flyout,
.site-primary-item.open > .site-mega-flyout {
    display: grid !important;
}

.site-mega-feature {
    display: none !important;
}

.site-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 22px !important;
}

.site-mega-column {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.site-mega-heading {
    margin: 0 0 8px !important;
    padding: 0 0 7px !important;
    display: flex !important;
    align-items: center !important;
    gap: 7px !important;
    border-bottom: 1px solid #eef2f7 !important;
    color: #0f3d2e !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
}

.site-mega-heading i {
    color: #f97316 !important;
    font-size: 13px !important;
}

.site-mega-description {
    display: none !important;
}

.site-mega-links,
.site-mega-sub-links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.site-mega-links a,
.site-mega-single-link,
.site-mega-sub-links a {
    min-height: 26px !important;
    padding: 4px 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #334155 !important;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
}

.site-mega-links a:hover,
.site-mega-single-link:hover,
.site-mega-sub-links a:hover {
    color: #f97316 !important;
}

.site-mega-links a i {
    color: #94a3b8 !important;
    font-size: 10px !important;
}

@media (max-width: 1100px) {
    .site-menu-topbar {
        grid-template-columns: 40px auto 1fr !important;
    }

    .site-menu-actions {
        gap: 5px !important;
    }

    .site-menu-actions .site-menu-text-link span:not(.site-home-visit-count),
    .site-search-button span,
    .site-language-btn span,
    .site-menu-chip span {
        display: none !important;
    }

    .site-primary-menu {
        justify-content: flex-start !important;
        overflow-x: auto !important;
        scrollbar-width: thin !important;
    }
}

@media (max-width: 700px) {
    .site-menu-topbar {
        min-height: 58px !important;
        grid-template-columns: 36px minmax(130px, auto) 1fr !important;
        padding: 0 10px !important;
        gap: 8px !important;
    }

    .site-brand-copy strong {
        font-size: 16px !important;
    }

    .site-brand-copy small,
    .site-home-visit-text {
        display: none !important;
    }

    .site-home-visit-link,
    .site-menu-actions > a,
    .site-search-button,
    .site-language-btn,
    .site-menu-chip {
        min-width: 34px !important;
        padding: 0 8px !important;
    }

    .site-primary-menu {
        padding: 0 8px !important;
    }

    .site-primary-link {
        min-height: 40px !important;
        padding: 0 10px !important;
        font-size: 11px !important;
    }

    .site-mega-flyout {
        left: 0 !important;
        right: auto !important;
        width: min(330px, calc(100vw - 20px)) !important;
        padding: 14px !important;
    }

    .site-mega-grid {
        grid-template-columns: 1fr !important;
    }
}

/* NarendraModi.in-inspired mega drawer: final override. */
.site-mega-nav {
    position: sticky !important;
    top: 0 !important;
    z-index: 1200 !important;
    background: #ffffff !important;
    border-bottom: 1px solid rgba(15, 23, 42, .08) !important;
    box-shadow: 0 3px 18px rgba(15, 23, 42, .08) !important;
    font-family: 'Poppins', Arial, sans-serif !important;
}

.site-menu-topbar {
    max-width: 1240px !important;
    min-height: 62px !important;
    margin: 0 auto !important;
    padding: 0 18px !important;
    display: grid !important;
    grid-template-columns: 44px auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 14px !important;
    background: #fff !important;
}

.site-menu-close {
    width: 40px !important;
    height: 40px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #0b5ea8 !important;
    color: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 9px 20px rgba(11, 94, 168, .22) !important;
    transition: transform .24s ease, background-color .24s ease, box-shadow .24s ease !important;
}

.site-menu-close:hover {
    transform: translateY(-1px) rotate(2deg) !important;
    background: #f58220 !important;
    box-shadow: 0 12px 26px rgba(245, 130, 32, .28) !important;
}

.site-menu-close i {
    font-size: 20px !important;
    line-height: 1 !important;
}

.site-menu-brand {
    min-width: 172px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
}

.site-menu-brand img {
    width: 40px !important;
    height: 40px !important;
    object-fit: contain !important;
}

.site-brand-copy strong {
    display: block !important;
    color: #0b4f8a !important;
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.site-brand-copy small {
    display: block !important;
    margin-top: 3px !important;
    color: #f58220 !important;
    font-size: 9.5px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.site-menu-actions {
    justify-self: end !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 100% !important;
    overflow: visible !important;
}

.site-home-visit-link,
.site-menu-actions > a,
.site-menu-actions span.site-menu-text-link,
.site-search-button,
.site-language-btn,
.site-menu-chip,
.site-logout-button {
    min-height: 32px !important;
    padding: 0 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    border: 1px solid #e6edf5 !important;
    border-radius: 999px !important;
    background: #f8fbff !important;
    color: #26384d !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    box-shadow: none !important;
    transition: transform .2s ease, color .2s ease, background-color .2s ease, border-color .2s ease !important;
}

.site-home-visit-link:hover,
.site-menu-actions > a:hover,
.site-search-button:hover,
.site-language-btn:hover,
.site-menu-chip:hover,
.site-logout-button:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(245, 130, 32, .45) !important;
    background: #fff7ed !important;
    color: #d85b12 !important;
}

.site-home-visit-link {
    background: #eef7ff !important;
    border-color: #d7eafd !important;
    color: #0b5ea8 !important;
    font-weight: 800 !important;
}

.site-home-visit-count {
    min-height: 20px !important;
    padding: 0 7px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #f58220 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    box-shadow: inset 0 0 0 1px rgba(245, 130, 32, .18) !important;
}

.site-language-menu,
.site-search-panel {
    border-radius: 6px !important;
    border: 1px solid #dbe7f3 !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .16) !important;
}

.site-mega-panel {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1190 !important;
    width: 100% !important;
    max-height: calc(100vh - 68px) !important;
    overflow: auto !important;
    padding: 0 !important;
    background: #fff !important;
    border-top: 1px solid #edf2f7 !important;
    border-bottom: 4px solid #f58220 !important;
    box-shadow: 0 28px 70px rgba(8, 37, 68, .22) !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    transform-origin: top center !important;
    transition: opacity .28s ease, transform .28s ease, visibility .28s ease !important;
}

.site-mega-nav.is-collapsed .site-mega-panel {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateY(-14px) !important;
}

.site-mega-nav.is-closing .site-mega-panel {
    opacity: 0 !important;
    visibility: visible !important;
    transform: translateY(-10px) !important;
}

.site-mega-nav.is-open .site-mega-panel {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

.site-mega-drawer-head {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 18px 18px 10px !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    border: 0 !important;
}

.site-mega-drawer-head span {
    display: inline-flex !important;
    align-items: center !important;
    color: #f58220 !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.site-mega-drawer-head strong {
    display: block !important;
    margin-top: 4px !important;
    color: #0b4f8a !important;
    font-size: 22px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
}

.site-primary-menu {
    max-width: 1240px !important;
    margin: 0 auto !important;
    padding: 10px 18px 24px !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 24px !important;
    list-style: none !important;
    overflow: visible !important;
}

.site-primary-item {
    position: relative !important;
    min-width: 0 !important;
    padding: 0 0 15px !important;
    border-top: 1px solid #edf2f7 !important;
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: transform .28s ease, opacity .28s ease !important;
}

.site-mega-nav.is-collapsed .site-primary-item,
.site-mega-nav.is-closing .site-primary-item {
    opacity: 0 !important;
    transform: translateY(10px) !important;
}

.site-mega-nav.is-open .site-primary-item:nth-child(1) { transition-delay: .03s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(2) { transition-delay: .06s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(3) { transition-delay: .09s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(4) { transition-delay: .12s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(5) { transition-delay: .15s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(6) { transition-delay: .18s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(7) { transition-delay: .21s !important; }
.site-mega-nav.is-open .site-primary-item:nth-child(8) { transition-delay: .24s !important; }

.site-primary-link {
    width: 100% !important;
    min-height: 42px !important;
    padding: 10px 0 6px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #0b4f8a !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: .04em !important;
    line-height: 1.15 !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    box-shadow: none !important;
    transition: color .2s ease, padding-left .2s ease !important;
}

.site-primary-link span {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
}

.site-primary-link i {
    color: #f58220 !important;
    font-size: 14px !important;
}

.site-primary-item:hover > .site-primary-link,
.site-primary-item:focus-within > .site-primary-link,
.site-primary-link:hover {
    padding-left: 4px !important;
    background: transparent !important;
    color: #f58220 !important;
}

.site-primary-caret {
    display: none !important;
}

.site-mega-flyout {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
}

.site-mega-feature {
    display: none !important;
}

.site-mega-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
}

.site-mega-column {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.site-mega-heading {
    margin: 0 0 6px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    border: 0 !important;
    color: #213b55 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    line-height: 1.25 !important;
    text-transform: none !important;
    text-decoration: none !important;
    transition: color .2s ease, transform .2s ease !important;
}

.site-mega-heading:hover {
    color: #f58220 !important;
    transform: translateX(3px) !important;
}

.site-mega-heading i {
    color: #0b5ea8 !important;
    font-size: 12px !important;
}

.site-mega-description,
.site-mega-single-link {
    display: none !important;
}

.site-mega-links,
.site-mega-sub-links {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.site-mega-links li {
    margin: 0 !important;
}

.site-mega-links a,
.site-mega-sub-links a {
    min-height: 24px !important;
    padding: 3px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #56697e !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    transition: color .18s ease, transform .18s ease !important;
}

.site-mega-links a i {
    color: #f58220 !important;
    font-size: 9px !important;
    opacity: .75 !important;
}

.site-mega-links a:hover,
.site-mega-sub-links a:hover {
    color: #f58220 !important;
    transform: translateX(4px) !important;
}

.site-mega-sub-links {
    padding-left: 13px !important;
}

@media (max-width: 1100px) {
    .site-primary-menu {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }

    .site-menu-actions .site-menu-text-link span:not(.site-home-visit-count),
    .site-search-button span,
    .site-language-btn span,
    .site-menu-chip span {
        display: none !important;
    }
}

@media (max-width: 760px) {
    .site-menu-topbar {
        min-height: 58px !important;
        grid-template-columns: 40px minmax(132px, auto) 1fr !important;
        padding: 0 10px !important;
        gap: 8px !important;
    }

    .site-brand-copy strong {
        font-size: 16px !important;
    }

    .site-brand-copy small,
    .site-home-visit-text {
        display: none !important;
    }

    .site-primary-menu {
        grid-template-columns: 1fr !important;
        padding: 8px 18px 20px !important;
        gap: 0 !important;
    }

    .site-mega-drawer-head {
        padding: 14px 18px 4px !important;
    }

    .site-mega-drawer-head strong {
        font-size: 18px !important;
    }

    .site-mega-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Top breaking-news ticker strip. */
.public-news-ticker {
    position: relative !important;
    z-index: 1210 !important;
    width: 100% !important;
    min-height: 36px !important;
    background: #050505 !important;
    color: #fff !important;
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
}

.public-news-ticker-inner {
    max-width: 1240px !important;
    min-height: 36px !important;
    margin: 0 auto !important;
    padding: 0 14px !important;
    display: grid !important;
    grid-template-columns: auto auto minmax(120px, 1fr) auto !important;
    align-items: center !important;
    gap: 24px !important;
}

.ticker-date,
.ticker-label,
.ticker-actions {
    display: inline-flex !important;
    align-items: center !important;
    white-space: nowrap !important;
}

.ticker-date {
    gap: 5px !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.ticker-date i {
    color: #fff !important;
    font-size: 15px !important;
}

.ticker-label {
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.ticker-marquee {
    min-width: 0 !important;
    overflow: hidden !important;
    color: #fff !important;
}

.ticker-track {
    width: max-content !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 42px !important;
    animation: publicTickerScroll 34s linear infinite !important;
    will-change: transform !important;
}

.ticker-marquee:hover .ticker-track {
    animation-play-state: paused !important;
}

.ticker-track span {
    color: #fff !important;
    font-family: 'Noto Sans Devanagari', 'Poppins', Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.ticker-actions {
    gap: 10px !important;
    justify-content: flex-end !important;
}

.ticker-actions-custom {
    gap: 12px !important;
}

.ticker-actions-custom .ticker-download-app {
    width: 150px !important;
    height: 42px !important;
    overflow: hidden;
    border: 0 !important;
    border-radius: 0 !important;
}

.ticker-actions-custom .ticker-download-app img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.ticker-actions-custom .site-home-visit-link {
    min-width: max-content;
    color: var(--ticker-text, #fff) !important;
}

.ticker-actions-custom .site-home-visit-text,
.ticker-actions-custom .site-home-visit-count {
    color: var(--ticker-text, #fff) !important;
}

@media (max-width: 760px) {
    .ticker-actions-custom .ticker-download-app {
        width: 96px !important;
        height: 34px !important;
    }

    .ticker-actions-custom .site-home-visit-text {
        display: none !important;
    }
}

.ticker-actions a,
.ticker-icon {
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: transparent !important;
    color: #fff !important;
    font-size: 16px !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: background-color .2s ease, color .2s ease, transform .2s ease !important;
}

.ticker-icon:first-child,
.ticker-icon:nth-child(2) {
    border: 1px solid rgba(255,255,255,.12) !important;
    background: #080d14 !important;
    font-size: 13px !important;
}

.ticker-actions a:hover,
.ticker-icon:hover {
    background: #f58220 !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

@keyframes publicTickerScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* Compact header and remove excess gap before hero. */
.site-menu-topbar {
    min-height: 54px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.site-menu-close {
    width: 36px !important;
    height: 36px !important;
}

.site-menu-brand img {
    width: 34px !important;
    height: 34px !important;
}

.site-brand-copy strong {
    font-size: 17px !important;
}

.site-brand-copy small {
    margin-top: 1px !important;
    font-size: 8.8px !important;
}

.main-content {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.site-home-page,
.site-home-page > :first-child,
.hero-slider-section,
.hero-section,
.home-hero-section {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

@media (max-width: 900px) {
    .public-news-ticker-inner {
        grid-template-columns: auto minmax(0, 1fr) auto !important;
        gap: 12px !important;
    }

    .ticker-label {
        display: none !important;
    }

    .ticker-track span {
        font-size: 14px !important;
    }

    .ticker-actions a:nth-of-type(n+2),
    .ticker-actions .ticker-icon:nth-child(-n+2) {
        display: none !important;
    }
}

@media (max-width: 560px) {
    .public-news-ticker-inner {
        min-height: 32px !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        padding: 0 10px !important;
    }

    .ticker-date {
        display: none !important;
    }

    .ticker-track span {
        font-size: 13px !important;
    }
}

/* Global public typography and NarendraModi.in-inspired theme system. */
:root {
    --nm-blue: #0b5ea8 !important;
    --nm-blue-dark: #073f72 !important;
    --nm-blue-soft: #eef7ff !important;
    --nm-orange: #f58220 !important;
    --nm-orange-dark: #d85b12 !important;
    --nm-orange-soft: #fff4e8 !important;
    --nm-ink: #172b43 !important;
    --nm-text: #4f6378 !important;
    --nm-muted: #71869b !important;
    --nm-line: #e4edf6 !important;
    --nm-surface: #ffffff !important;
    --nm-page: #f5f8fc !important;
    --nm-shadow: 0 14px 34px rgba(8, 37, 68, .09) !important;
    --nm-radius: 8px !important;
    --primary: var(--nm-orange) !important;
    --primary-dark: var(--nm-orange-dark) !important;
    --secondary: var(--nm-blue) !important;
    --heading: var(--nm-ink) !important;
    --text: var(--nm-text) !important;
    --border: var(--nm-line) !important;
}

html,
body {
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: var(--nm-text) !important;
    background: var(--nm-page) !important;
    letter-spacing: 0 !important;
    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
}

body.public-inner-layout,
body.public-home-layout {
    background: var(--nm-page) !important;
    color: var(--nm-text) !important;
}

body :where(h1, h2, h3, h4, h5, h6),
body :where(.section-title, .home-section-title, .downloads-compact-head h2, .latest-news-title, .events-title, .gallery-title, .media-title) {
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
    color: var(--nm-ink) !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

body h1 { font-size: clamp(34px, 4vw, 52px) !important; }
body h2,
body .section-title,
body .home-section-title { font-size: clamp(25px, 2.4vw, 34px) !important; }
body h3 { font-size: clamp(19px, 1.65vw, 24px) !important; }
body h4 { font-size: 18px !important; }
body h5 { font-size: 15px !important; }
body h6 { font-size: 13px !important; }

body :where(p, li, td, th, label, input, select, textarea, button, a, span) {
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
    letter-spacing: 0 !important;
}

body p,
body .section-description,
body .downloads-compact-head p,
body .latest-news-subtitle,
body .events-subtitle,
body .gallery-subtitle,
body .media-subtitle {
    color: var(--nm-text) !important;
    font-size: 14px !important;
    line-height: 1.65 !important;
    font-weight: 500 !important;
}

body a {
    color: var(--nm-blue) !important;
}

body a:hover {
    color: var(--nm-orange) !important;
}

body :where(.container, .container-fluid) {
    max-width: 1240px !important;
}

body :where(section, .section, .latest-news-section, .upcoming-events-section, .media-coverage-section, .video-gallery-section, .image-gallery-section, .downloads-section) {
    background-color: transparent !important;
}

body .site-home-page > section,
body .site-home-page .latest-news-section,
body .site-home-page .upcoming-events-section,
body .site-home-page .media-coverage-section,
body .site-home-page .video-gallery-section,
body .site-home-page .image-gallery-section,
body .site-home-page .downloads-section {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

body :where(.section-subtitle, .downloads-kicker, .kicker, .eyebrow, .badge, .label, .tag, .category-badge) {
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
    border-radius: 999px !important;
    background: var(--nm-orange-soft) !important;
    color: var(--nm-orange-dark) !important;
    border: 1px solid rgba(245, 130, 32, .18) !important;
    font-size: 10.5px !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}

body :where(.btn, .btn-theme, .downloads-view-all, .view-all-btn, .read-more-btn, .download-open-link, .site-menu-chip) {
    border-radius: var(--nm-radius) !important;
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1 !important;
    transition: transform .22s ease, box-shadow .22s ease, background-color .22s ease, color .22s ease, border-color .22s ease !important;
}

body :where(.btn-primary, .btn-theme, .downloads-view-all, .view-all-btn, .read-more-btn) {
    background: var(--nm-orange) !important;
    border-color: var(--nm-orange) !important;
    color: #fff !important;
    box-shadow: 0 10px 22px rgba(245, 130, 32, .22) !important;
}

body :where(.btn-primary, .btn-theme, .downloads-view-all, .view-all-btn, .read-more-btn):hover {
    transform: translateY(-1px) !important;
    background: var(--nm-orange-dark) !important;
    border-color: var(--nm-orange-dark) !important;
    color: #fff !important;
}

body :where(.card, .card-enterprise, .news-card, .event-card, .gallery-card, .video-card, .download-card, .media-card) {
    border-radius: var(--nm-radius) !important;
    border: 1px solid var(--nm-line) !important;
    background: var(--nm-surface) !important;
    box-shadow: var(--nm-shadow) !important;
    color: var(--nm-text) !important;
}

body :where(.card h3, .card h4, .card h5, .news-card h3, .event-card h3, .download-card h5, .media-card h3) {
    color: var(--nm-ink) !important;
    font-weight: 800 !important;
}

body :where(input, select, textarea, .form-control, .form-select) {
    border-radius: 8px !important;
    border-color: var(--nm-line) !important;
    color: var(--nm-ink) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

body :where(input, select, textarea, .form-control, .form-select):focus {
    border-color: var(--nm-blue) !important;
    box-shadow: 0 0 0 3px rgba(11, 94, 168, .12) !important;
}

/* Header and ticker consistency. */
.public-news-ticker {
    background: #050505 !important;
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
}

.ticker-date,
.ticker-label {
    font-size: 12.5px !important;
    font-weight: 700 !important;
}

.ticker-track span {
    font-size: 15px !important;
    font-weight: 800 !important;
}

.site-mega-nav,
.site-menu-topbar,
.site-mega-panel {
    font-family: 'Poppins', 'Noto Sans Devanagari', Arial, sans-serif !important;
}

.site-brand-copy strong {
    color: var(--nm-blue) !important;
    font-size: 17px !important;
    font-weight: 800 !important;
}

.site-brand-copy small {
    color: var(--nm-orange) !important;
    font-size: 8.5px !important;
    font-weight: 800 !important;
}

.site-menu-actions :where(a, button, span),
.site-home-visit-link {
    font-size: 11.5px !important;
    font-weight: 700 !important;
}

.site-mega-drawer-head strong {
    color: var(--nm-blue) !important;
    font-size: 21px !important;
    font-weight: 800 !important;
}

.site-primary-link {
    color: var(--nm-blue) !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
}

.site-mega-heading {
    color: var(--nm-ink) !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.site-mega-links a,
.site-mega-sub-links a {
    color: var(--nm-text) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
}

/* Home section heading normalization. */
.site-home-page :where(.section-header, .downloads-compact-head, .home-section-head, .news-section-head, .gallery-section-head) {
    margin-bottom: 16px !important;
}

.site-home-page :where(.section-header h2, .downloads-compact-head h2, .home-section-head h2, .news-section-head h2, .gallery-section-head h2) {
    margin: 6px 0 4px !important;
    color: var(--nm-ink) !important;
    font-size: clamp(24px, 2.2vw, 32px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
}

.site-home-page :where(.section-header p, .downloads-compact-head p, .home-section-head p, .news-section-head p, .gallery-section-head p) {
    margin: 0 !important;
    color: var(--nm-muted) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    font-weight: 500 !important;
}

/* Keep image-heavy sections visually sharp and not overly decorative. */
.site-home-page img {
    border-radius: 0 !important;
}

.site-home-page :where(.download-card-compact, .news-card, .event-card, .media-card) img {
    border-radius: 6px !important;
}

@media (max-width: 760px) {
    html,
    body {
        font-size: 14px !important;
    }

    body h1 { font-size: clamp(28px, 8vw, 38px) !important; }
    body h2,
    body .section-title,
    body .home-section-title { font-size: 23px !important; }
    body h3 { font-size: 18px !important; }

    body .site-home-page > section,
    body .site-home-page .latest-news-section,
    body .site-home-page .upcoming-events-section,
    body .site-home-page .media-coverage-section,
    body .site-home-page .video-gallery-section,
    body .site-home-page .image-gallery-section,
    body .site-home-page .downloads-section {
        padding-top: 22px !important;
        padding-bottom: 22px !important;
    }
}

/* Full-width homepage sections, auth modal fixes, and member-card refinement. */
.modal-backdrop {
    z-index: 1290 !important;
}

.modal.auth-modal,
#loginModal,
#registerModal {
    z-index: 1300 !important;
}

.auth-modal .modal-dialog {
    max-width: min(1120px, calc(100vw - 28px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.auth-modal-content {
    border-radius: 14px !important;
    overflow: hidden !important;
}

body.public-inner-layout .main-content,
body.public-home-layout .main-content {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
}

body.public-inner-layout .site-home-page,
body.public-home-layout .site-home-page {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: hidden !important;
}

body.public-inner-layout .site-home-page > section,
body.public-home-layout .site-home-page > section,
body.public-inner-layout .site-home-page :where(.latest-news-section, .upcoming-events-section, .media-coverage-section, .video-gallery-section, .image-gallery-section, .downloads-section, .home-members-section),
body.public-home-layout .site-home-page :where(.latest-news-section, .upcoming-events-section, .media-coverage-section, .video-gallery-section, .image-gallery-section, .downloads-section, .home-members-section) {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
}

body.public-inner-layout .site-home-page > section > .container,
body.public-home-layout .site-home-page > section > .container,
body.public-inner-layout .site-home-page :where(.latest-news-section, .upcoming-events-section, .media-coverage-section, .video-gallery-section, .image-gallery-section, .downloads-section, .home-members-section) > .container,
body.public-home-layout .site-home-page :where(.latest-news-section, .upcoming-events-section, .media-coverage-section, .video-gallery-section, .image-gallery-section, .downloads-section, .home-members-section) > .container,
body.public-inner-layout .site-home-page > section > .container-fluid,
body.public-home-layout .site-home-page > section > .container-fluid {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    padding-left: clamp(14px, 3vw, 28px) !important;
    padding-right: clamp(14px, 3vw, 28px) !important;
}

body.public-inner-layout .hero-slider-section,
body.public-home-layout .hero-slider-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

body.public-inner-layout .hero-slider-section .container,
body.public-home-layout .hero-slider-section .container,
body.public-inner-layout .hero-slider-section .container-fluid,
body.public-home-layout .hero-slider-section .container-fluid {
    width: 100% !important;
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.public-inner-layout .hero-slider-section :where(.swiper, .swiper-wrapper, .hero-slide, .hero-slide-media, .hero-slide-image),
body.public-home-layout .hero-slider-section :where(.swiper, .swiper-wrapper, .hero-slide, .hero-slide-media, .hero-slide-image) {
    width: 100% !important;
    max-width: none !important;
    border-radius: 0 !important;
}

body.public-inner-layout .hero-slider-section img,
body.public-home-layout .hero-slider-section img,
body.public-inner-layout .hero-slide img,
body.public-home-layout .hero-slide img {
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
}

body.public-inner-layout .home-members-section,
body.public-home-layout .home-members-section {
    min-height: 420px !important;
    padding-top: 26px !important;
    padding-bottom: 26px !important;
}

body.public-inner-layout .home-member-card,
body.public-home-layout .home-member-card {
    height: 350px !important;
    min-height: 350px !important;
}

body.public-inner-layout .home-member-card img,
body.public-home-layout .home-member-card img {
    top: 54px !important;
    height: calc(100% - 54px) !important;
}

body.public-inner-layout .home-member-copy,
body.public-home-layout .home-member-copy {
    height: 54px !important;
    min-height: 54px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background: linear-gradient(180deg, rgba(11, 94, 168, .96), rgba(11, 94, 168, .86)) !important;
}

body.public-inner-layout .home-member-copy h3,
body.public-home-layout .home-member-copy h3 {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
}

@media (max-width: 760px) {
    body.public-inner-layout .home-member-card,
    body.public-home-layout .home-member-card {
        height: 315px !important;
        min-height: 315px !important;
    }
}

.public-news-ticker .ticker-track a {
    display: inline-flex !important;
    align-items: center !important;
    color: #fff !important;
    text-decoration: none !important;
}

.public-news-ticker .ticker-track a:hover span {
    color: #f58220 !important;
}

/* Final hero slider stability: no crop, exact image fit, smooth transitions. */
body.public-inner-layout .hero-slider-section,
body.public-home-layout .hero-slider-section,
.hero-slider-section {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    background: #071527 !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
}

body.public-inner-layout .heroSwiper,
body.public-home-layout .heroSwiper,
.heroSwiper,
.heroSwiper .swiper-wrapper,
.heroSwiper .swiper-slide,
.hero-slide,
.hero-background {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
    transform: translateZ(0) !important;
    backface-visibility: hidden !important;
}

.hero-background {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #071527 !important;
}

.hero-background::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: radial-gradient(circle at center, rgba(255,255,255,.04), rgba(7,21,39,.42)) !important;
    pointer-events: none !important;
}

body.public-inner-layout .hero-slider-section img.hero-background-img,
body.public-home-layout .hero-slider-section img.hero-background-img,
body.public-inner-layout .hero-slide img.hero-background-img,
body.public-home-layout .hero-slide img.hero-background-img,
.hero-background-img,
.hero-background-img-contained {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    border-radius: 0 !important;
    transform: translateZ(0) scale(1) !important;
    backface-visibility: hidden !important;
    will-change: opacity !important;
}

.swiper-slide-active .hero-background,
.swiper-slide-active .hero-background-img,
.swiper-slide-active .hero-background-img-contained {
    animation: none !important;
    transform: translateZ(0) scale(1) !important;
}

.hero-slide::before,
.hero-overlay {
    pointer-events: none !important;
}

.heroSwiper .swiper-slide {
    opacity: 0 !important;
    transition-property: opacity !important;
    transition-duration: 900ms !important;
    transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
}

.heroSwiper .swiper-slide-active,
.heroSwiper .swiper-slide-duplicate-active {
    opacity: 1 !important;
}

.hero-title,
.hero-subtitle,
.hero-description,
.hero-buttons,
.hero-leader-image {
    will-change: opacity, transform !important;
    backface-visibility: hidden !important;
}

@media (prefers-reduced-motion: reduce) {
    .heroSwiper .swiper-slide,
    .hero-title,
    .hero-subtitle,
    .hero-description,
    .hero-buttons,
    .hero-leader-image {
        transition: none !important;
        animation: none !important;
    }
}

/* Hero slider correction: cinematic hero look with no-crop foreground. */
.heroSwiper .swiper-slide,
.heroSwiper .swiper-slide-active,
.heroSwiper .swiper-slide-duplicate-active {
    opacity: unset !important;
    transition-property: opacity, transform !important;
}

.public-news-ticker.ticker-js-marquee .ticker-track {
    animation: none !important;
    will-change: transform;
    backface-visibility: hidden;
}

.public-news-ticker.ticker-reduced-motion .ticker-track {
    width: 100% !important;
    animation: none !important;
    transform: none !important;
}

.public-news-ticker.ticker-reduced-motion .ticker-message {
    display: none !important;
}

.public-news-ticker.ticker-reduced-motion .ticker-message.is-active {
    display: inline-flex !important;
}

.public-news-ticker.ticker-marquee-vertical .ticker-track {
    width: 100% !important;
    animation: none !important;
}

.public-news-ticker.ticker-marquee-vertical .ticker-message {
    display: none !important;
}

.public-news-ticker.ticker-marquee-vertical .ticker-message.is-active {
    display: inline-flex !important;
}

.public-news-ticker.ticker-marquee-vertical.ticker-direction-up .ticker-message.is-active {
    animation: tickerCmsScrollUp .7s cubic-bezier(.2,.8,.2,1) both !important;
}

.public-news-ticker.ticker-marquee-vertical.ticker-direction-down .ticker-message.is-active {
    animation: tickerCmsScrollDown .7s cubic-bezier(.2,.8,.2,1) both !important;
}

.campaign-language-menu {
    width: 220px !important;
    font-family: Inter, "Noto Sans", "Noto Sans Devanagari", "Noto Sans Gurmukhi", "Noto Nastaliq Urdu", "Segoe UI", Arial, sans-serif !important;
}

.campaign-language-menu {
    pointer-events: none;
    transform: translateY(-8px) scale(.97) !important;
    transform-origin: top left;
    transition: opacity .2s ease, transform .24s cubic-bezier(.2,.8,.2,1), visibility .2s ease !important;
}

.campaign-language.open .campaign-language-menu {
    pointer-events: auto;
    transform: translateY(0) scale(1) !important;
}

.campaign-language-menu button {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    line-height: 1.35 !important;
    white-space: nowrap;
}

.campaign-language-menu button span:last-child {
    color: #526174 !important;
    font-weight: 600;
}

.campaign-language { --translator-bg:#fff;--translator-text:#071a38;--translator-hover:#fff3e0;--translator-selected:#f97316;--translator-border:#e2e8f0;--translator-radius:10px;--translator-width:210px; }
.campaign-language .campaign-language-trigger { color:var(--translator-text)!important;font-family:var(--translator-font,Inter),sans-serif!important;font-size:var(--translator-size,14px)!important;font-weight:var(--translator-weight,600)!important; }
.campaign-language .campaign-language-menu { width:var(--translator-width)!important;color:var(--translator-text)!important;background:var(--translator-bg)!important;border-color:var(--translator-border)!important;border-radius:var(--translator-radius)!important;font-family:var(--translator-font,Inter),sans-serif!important;font-size:var(--translator-size,14px)!important;font-weight:var(--translator-weight,600)!important;overflow:hidden; }
.campaign-language .campaign-language-menu button { position:relative;color:var(--translator-text)!important;background:transparent!important;font:inherit!important;transition:transform .18s ease,background .18s ease,box-shadow .18s ease!important; }
.campaign-language .campaign-language-menu button span { color:inherit!important; }
.campaign-language .campaign-language-menu button.is-active,.campaign-language .campaign-language-menu button.is-default { box-shadow:inset 3px 0 0 var(--translator-selected); }
.translator-preset-minimal .campaign-language-menu { border-width:0 0 2px!important;border-radius:0!important;box-shadow:0 12px 30px rgba(0,0,0,.12)!important; }
.translator-preset-rounded-card .campaign-language-menu { padding:10px!important;border-radius:max(16px,var(--translator-radius))!important; }
.translator-preset-floating-glass .campaign-language-menu { background:color-mix(in srgb,var(--translator-bg) 82%,transparent)!important;backdrop-filter:blur(16px);box-shadow:0 22px 55px rgba(7,26,56,.24)!important; }
.translator-preset-compact-pill .campaign-language-menu button { min-height:32px!important;border-radius:999px!important; }
.translator-preset-professional-menu .campaign-language-menu { border-top:3px solid var(--translator-selected)!important; }
.translator-open-fade .campaign-language-menu { transform:none!important; }
.translator-open-scale .campaign-language-menu { transform:scale(.88)!important;transform-origin:top left; }
.translator-open-scale.open .campaign-language-menu,.translator-open-scale.campaign-language.open .campaign-language-menu { transform:scale(1)!important; }
.translator-open-flip .campaign-language-menu { transform:perspective(700px) rotateX(-18deg)!important;transform-origin:top center; }
.translator-open-flip.campaign-language.open .campaign-language-menu { transform:perspective(700px) rotateX(0)!important; }
.translator-hover-highlight .campaign-language-menu button:hover { background:var(--translator-hover)!important; }
.translator-hover-lift .campaign-language-menu button:hover { background:var(--translator-hover)!important;transform:translateY(-2px); }
.translator-hover-glow .campaign-language-menu button:hover { background:var(--translator-hover)!important;box-shadow:0 0 0 2px var(--translator-selected),0 6px 18px color-mix(in srgb,var(--translator-selected) 35%,transparent)!important; }
.translator-hover-slide .campaign-language-menu button:hover { background:var(--translator-hover)!important;transform:translateX(6px); }
.translator-click-pulse .translator-click-active { animation:translatorPulse .35s ease; }
.translator-click-ripple .translator-click-active { animation:translatorRipple .4s ease; }
.translator-click-checkmark .campaign-language-menu button.is-active::after { content:"✓";margin-left:auto;color:var(--translator-selected);font-weight:800; }
@keyframes translatorPulse{50%{transform:scale(.96)}}
@keyframes translatorRipple{0%{box-shadow:inset 0 0 0 0 color-mix(in srgb,var(--translator-selected) 35%,transparent)}100%{box-shadow:inset 0 0 0 30px transparent}}

.public-news-ticker .ticker-marquee,
.public-news-ticker .ticker-track {
    background-color: var(--ticker-background, #111) !important;
}

@keyframes tickerViewportTravel {
    from { transform: translate3d(var(--ticker-js-from), 0, 0); }
    to { transform: translate3d(var(--ticker-js-to), 0, 0); }
}

.hero-background {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: #071527 !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
}

.hero-background::after {
    content: "" !important;
    position: absolute !important;
    inset: -28px !important;
    z-index: 0 !important;
    background: inherit !important;
    filter: blur(18px) saturate(1.08) brightness(.72) !important;
    transform: scale(1.08) !important;
    opacity: .92 !important;
    pointer-events: none !important;
}

.hero-background::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background: linear-gradient(90deg, rgba(7,21,39,.42), rgba(7,21,39,.08) 45%, rgba(7,21,39,.38)) !important;
    pointer-events: none !important;
}

.hero-background-img,
.hero-background-img-contained {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    filter: drop-shadow(0 18px 38px rgba(0,0,0,.2)) !important;
    transform: translateZ(0) !important;
}

.hero-overlay {
    z-index: 3 !important;
    opacity: .18 !important;
}

.hero-slide > .container,
.hero-social-dock,
.hero-swiper-prev,
.hero-swiper-next,
.hero-swiper-pagination,
.hero-scroll-indicator {
    position: relative !important;
    z-index: 5 !important;
}

.swiper-slide-active .hero-background {
    animation: heroSoftFocus 7600ms ease-out both !important;
}

.swiper-slide-active .hero-background-img,
.swiper-slide-active .hero-background-img-contained {
    animation: heroForegroundSettle 1200ms cubic-bezier(.22,.61,.36,1) both !important;
}

@keyframes heroSoftFocus {
    from { transform: scale(1.01); }
    to { transform: scale(1.025); }
}

@keyframes heroForegroundSettle {
    from { opacity: .88; transform: translateZ(0) scale(.992); }
    to { opacity: 1; transform: translateZ(0) scale(1); }
}

/* HERO EMERGENCY RESTORE: stable real slider, no viewer mode, no blank-slide opacity hacks. */
.hero-slider-section,
body.public-inner-layout .hero-slider-section,
body.public-home-layout .hero-slider-section {
    position: relative !important;
    width: 100vw !important;
    max-width: 100vw !important;
    margin: 0 !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    overflow: hidden !important;
    background: #071527 !important;
}

.heroSwiper,
.heroSwiper .swiper-wrapper,
.heroSwiper .swiper-slide,
.hero-slide {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    overflow: hidden !important;
}

.heroSwiper .swiper-slide {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 900ms cubic-bezier(.22,.61,.36,1), visibility 900ms cubic-bezier(.22,.61,.36,1) !important;
}

.heroSwiper .swiper-slide-active,
.heroSwiper .swiper-slide-duplicate-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.hero-background,
.hero-background.desktop-only,
.hero-background.mobile-only {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background: #071527 !important;
    overflow: hidden !important;
    transform: none !important;
    animation: none !important;
}

.hero-background::before,
.hero-background::after {
    content: none !important;
    display: none !important;
}

.hero-background-img,
.hero-background-img-contained,
body.public-inner-layout .hero-slider-section img.hero-background-img,
body.public-home-layout .hero-slider-section img.hero-background-img,
body.public-inner-layout .hero-slide img.hero-background-img,
body.public-home-layout .hero-slide img.hero-background-img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    border-radius: 0 !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
}

.swiper-slide-active .hero-background,
.swiper-slide-active .hero-background-img,
.swiper-slide-active .hero-background-img-contained {
    animation: none !important;
    transform: none !important;
}

.hero-slide::before {
    z-index: 1 !important;
    pointer-events: none !important;
}

.hero-overlay {
    z-index: 2 !important;
    pointer-events: none !important;
}

.hero-slide > .container,
.hero-social-dock,
.hero-caption-band,
.hero-swiper-prev,
.hero-swiper-next,
.hero-swiper-pagination,
.hero-scroll-indicator {
    position: relative !important;
    z-index: 4 !important;
}

.hero-title,
.hero-subtitle,
.hero-description,
.hero-buttons,
.hero-leader-image {
    backface-visibility: hidden !important;
    will-change: opacity, transform !important;
}

/* HERO FINAL CLEAN OVERRIDE: let Swiper manage fade; keep every slide renderable. */
.heroSwiper.swiper-fade .swiper-slide,
.heroSwiper .swiper-slide {
    visibility: visible !important;
    pointer-events: auto !important;
    transition-property: opacity !important;
}

.heroSwiper.swiper-fade .swiper-slide:not(.swiper-slide-active):not(.swiper-slide-duplicate-active) {
    pointer-events: none !important;
}

.hero-background,
.hero-background.desktop-only,
.hero-background.mobile-only {
    position: absolute !important;
    inset: 0 !important;
    z-index: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    background-image: none !important;
    background-color: #071527 !important;
}

.hero-background::before,
.hero-background::after {
    content: none !important;
    display: none !important;
}

.hero-background-img,
.hero-background-img-contained,
.hero-slider-section .hero-background img,
.hero-slider-section .hero-slide img.hero-background-img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    filter: none !important;
    transform: none !important;
    animation: none !important;
}

.swiper-slide-active .hero-background,
.swiper-slide-active .hero-background-img,
.swiper-slide-active .hero-background-img-contained {
    animation: none !important;
    transform: none !important;
}

.hero-slide > .container {
    position: relative !important;
    z-index: 4 !important;
}

/* Hero controls cleanup: no social dock, visible arrows, stable slide controls. */
.hero-social-dock {
    display: none !important;
}

.hero-swiper-prev,
.hero-swiper-next,
.hero-slider-section:hover .hero-swiper-prev,
.hero-slider-section:hover .hero-swiper-next,
.hero-slider-section:focus-within .hero-swiper-prev,
.hero-slider-section:focus-within .hero-swiper-next {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    z-index: 30 !important;
    width: 48px !important;
    height: 48px !important;
    margin-top: 0 !important;
    border-radius: 50% !important;
    background: rgba(7, 21, 39, .66) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,.28) !important;
    box-shadow: 0 12px 28px rgba(0,0,0,.22) !important;
    transform: translateY(-50%) scale(1) !important;
}

.hero-swiper-prev {
    left: 24px !important;
}

.hero-swiper-next {
    right: 24px !important;
}

.hero-swiper-prev::after,
.hero-swiper-next::after {
    display: none !important;
}

.hero-swiper-prev i,
.hero-swiper-next i {
    color: #fff !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.hero-swiper-prev:hover,
.hero-swiper-next:hover {
    background: #f58220 !important;
    transform: translateY(-50%) scale(1.04) !important;
}

.hero-swiper-pagination {
    z-index: 31 !important;
    bottom: 16px !important;
}

/* Hero slider runtime stability: keep all slides renderable and let Swiper rotate the active slide. */
.heroSwiper.swiper-fade .swiper-slide,
.heroSwiper .swiper-slide {
    visibility: visible !important;
    pointer-events: none !important;
    transition-property: opacity !important;
}

.heroSwiper.swiper-fade .swiper-slide {
    opacity: 0 !important;
}

.heroSwiper.swiper-fade .swiper-slide-active,
.heroSwiper.swiper-fade .swiper-slide-duplicate-active,
.heroSwiper .swiper-slide-active,
.heroSwiper .swiper-slide-duplicate-active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

/* Inner-page dark banners must retain accessible white typography. */
body.public-inner-layout .page-banner-section .page-banner-title,
body.public-inner-layout .page-banner-section .page-banner-description,
body.public-inner-layout .page-banner-section .breadcrumb-item,
body.public-inner-layout .page-banner-section .breadcrumb-item a {
    color: #fff !important;
    opacity: 1 !important;
}

body.public-inner-layout .page-banner-section .breadcrumb-item.active {
    color: #ff9933 !important;
}

body.public-inner-layout .page-banner-section .breadcrumb-item + .breadcrumb-item::before {
    color: rgba(255,255,255,.78) !important;
}

/* CMS-positioned public announcement ticker */
.public-news-ticker {
    background: var(--ticker-background, #111) !important;
    color: var(--ticker-text, #fff) !important;
}

.public-news-ticker,
.public-news-ticker a,
.public-news-ticker button,
.public-news-ticker .ticker-date,
.public-news-ticker .ticker-label,
.public-news-ticker .ticker-message span {
    color: var(--ticker-text, #fff) !important;
}

.public-news-ticker .ticker-track {
    animation: none !important;
    width: 100% !important;
}

.public-news-ticker.ticker-effect-marquee .ticker-track {
    width: max-content !important;
    animation: none !important;
}

.public-news-ticker.ticker-effect-marquee.ticker-direction-right .ticker-track {
    animation-name: none !important;
}

.public-news-ticker:not(.ticker-effect-marquee) .ticker-message {
    display: none;
}

.public-news-ticker:not(.ticker-effect-marquee) .ticker-message.is-active {
    display: inline-flex;
}

.public-news-ticker.ticker-effect-fade .ticker-message.is-active {
    animation: tickerCmsFade var(--ticker-cycle, 4s) ease both;
}

.public-news-ticker.ticker-effect-scroll .ticker-message.is-active {
    animation: tickerCmsScrollLeft .7s cubic-bezier(.2,.8,.2,1) both;
}

.public-news-ticker.ticker-effect-scroll.ticker-direction-right .ticker-message.is-active {
    animation-name: tickerCmsScrollRight;
}

.ticker-typing-output {
    display: none;
    align-items: center;
    min-height: 24px;
}

.ticker-effect-typing .ticker-typing-output,
.ticker-effect-wordbyword .ticker-typing-output {
    display: inline-flex;
}

.ticker-effect-typing .ticker-typing-output::after {
    content: "";
    width: 2px;
    height: 1.15em;
    margin-left: 4px;
    background: currentColor;
    animation: tickerCmsCursor .7s steps(1) infinite;
}

.public-news-ticker.ticker-effect-slide .ticker-message.is-active {
    animation: tickerCmsScrollLeft .7s cubic-bezier(.2,.8,.2,1) both;
}

.public-news-ticker.ticker-effect-slide.ticker-direction-right .ticker-message.is-active {
    animation-name: tickerCmsScrollRight;
}

.public-news-ticker.ticker-effect-slide.ticker-direction-up .ticker-message.is-active,
.public-news-ticker.ticker-effect-scroll.ticker-direction-up .ticker-message.is-active {
    animation: tickerCmsScrollUp .7s cubic-bezier(.2,.8,.2,1) both;
}

.public-news-ticker.ticker-effect-slide.ticker-direction-down .ticker-message.is-active,
.public-news-ticker.ticker-effect-scroll.ticker-direction-down .ticker-message.is-active {
    animation: tickerCmsScrollDown .7s cubic-bezier(.2,.8,.2,1) both;
}

@keyframes tickerCmsLeft {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes tickerCmsRight {
    from { transform: translateX(-50%); }
    to { transform: translateX(0); }
}

@keyframes tickerCmsFade {
    0%, 100% { opacity: 0; }
    18%, 82% { opacity: 1; }
}

@keyframes tickerCmsScrollLeft {
    from { opacity: 0; transform: translateX(55px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes tickerCmsScrollRight {
    from { opacity: 0; transform: translateX(-55px); }
    to { opacity: 1; transform: translateX(0); }
}

@keyframes tickerCmsScrollUp {
    from { opacity: 0; transform: translateY(100%); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes tickerCmsScrollDown {
    from { opacity: 0; transform: translateY(-100%); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes tickerCmsCursor {
    50% { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .public-news-ticker .ticker-track,
    .public-news-ticker .ticker-message {
        animation: none !important;
    }
}
.cms-themed-section {
    color: var(--cms-section-text, inherit);
    box-shadow: inset 0 0 0 9999px color-mix(in srgb, var(--cms-section-shadow, transparent) 0%, transparent);
}
.cms-themed-section h1,
.cms-themed-section h2,
.cms-themed-section h3,
.cms-themed-section h4,
.cms-themed-section h5,
.cms-themed-section h6,
.cms-themed-section p,
.cms-themed-section label,
.cms-themed-section a:not(.btn):not(.campaign-explore),
.cms-themed-section span:not(.badge),
.cms-themed-section strong,
.cms-themed-section .campaign-kicker,
.cms-themed-section .editorial-section-title {
    color: var(--cms-section-text, inherit) !important;
}

/* Must follow the CMS ticker effect rules so measured JavaScript motion wins. */
.public-news-ticker.ticker-effect-marquee.ticker-js-marquee .ticker-track {
    animation: none !important;
}

.public-news-ticker.ticker-static .ticker-track {
    width: 100% !important;
    animation: none !important;
    transform: none !important;
}

.public-news-ticker.ticker-static .ticker-message {
    display: none !important;
}

.public-news-ticker.ticker-static .ticker-message.is-active {
    display: inline-flex !important;
}

.public-news-ticker.ticker-effect-marquee.ticker-marquee-vertical .ticker-track {
    width: 100% !important;
    animation: none !important;
}

.public-news-ticker.ticker-effect-marquee.ticker-no-waapi .ticker-track {
    animation: tickerViewportTravel var(--ticker-js-duration, 18s) linear infinite !important;
}

/* Header annotations: distinct alert badge and high-contrast visitor shortcut. */
.public-news-ticker .ticker-label {
    padding: 7px 13px !important;
    border-radius: 4px !important;
    color: #fff !important;
    background: #d71920 !important;
}

.public-news-ticker .ticker-actions-custom .site-home-visit-link,
.public-news-ticker .ticker-actions-custom .site-home-visit-link i,
.public-news-ticker .ticker-actions-custom .site-home-visit-text,
.public-news-ticker .ticker-actions-custom .site-home-visit-count {
    color: #111 !important;
}

@media (min-width: 901px) {
    .public-news-ticker-inner {
        width: 100% !important;
        max-width: none !important;
        margin: 0 !important;
        padding-right: 60px !important;
        padding-left: 60px !important;
    }
}
