/* Shared navigation and footer palette: loaded after every page stylesheet. */
.topbar { background: #101827; color: #c7d2e2; border-bottom: 1px solid #253046; }
.topbar a { color: #e4eaf3; }
.topbar a:hover, .topbar a:focus-visible { color: #c8bcff; }
#siteHeader, #siteHeader:not(.solid), #siteHeader.solid {
    background: #ffffff;
    font-size: 15px;
    color: #243247;
    border-bottom: 1px solid #e5eaf1;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
#siteHeader.solid { box-shadow: 0 6px 24px #16213a0a; }
#siteHeader .nav-inner { min-height: 80px; }
#siteHeader .logo {
    display: inline-flex;
    align-items: center;
    padding: 8px 10px;
    background: #fff;
    border-radius: 8px;
    line-height: 0;
    flex-shrink: 0;
}
#siteHeader .logo .logo-img {
    display: block;
    width: 164px;
    height: auto;
    max-height: none;
    object-fit: contain;
}
#siteHeader .nav-links > li > a,
#siteHeader:not(.solid) .nav-links > li > a,
#siteHeader.solid .nav-links > li > a {
    color: #243247;
    font-size: 16px;
    font-weight: 600;
    transition: color .2s ease;
}
#siteHeader .nav-links > li > a:hover,
#siteHeader .nav-links > li > a:focus-visible,
#siteHeader:not(.solid) .nav-links > li > a:hover,
#siteHeader:not(.solid) .nav-links > li > a:focus-visible,
#siteHeader.solid .nav-links > li > a:hover,
#siteHeader.solid .nav-links > li > a:focus-visible { color: #6042be; }
#siteHeader .nav-cta .btn, #mobileMenu .btn {
    color: #fff;
    background: linear-gradient(110deg, #3955bb, #7041b9);
    border: 1px solid #6042be;
    box-shadow: 0 4px 12px #6042be1c;
}
#siteHeader .nav-cta .btn:hover, #mobileMenu .btn:hover { background: #5533a8; color: #fff; }
#siteHeader .hamburger span,
#siteHeader:not(.solid) .hamburger span,
#siteHeader.solid .hamburger span { background: #243247; }
#siteHeader .mega {
    background: #fff;
    border: 1px solid #e3e8f0;
    border-radius: 16px;
    box-shadow: 0 20px 50px #17243b1a;
    padding: 28px;
}
#siteHeader .mega h5 { color: #6042be; font-size: 10px; font-weight: 700; letter-spacing: .12em; margin-bottom: 16px; }
#siteHeader .mega ul li a { color: #42516a; font-size: 13px; line-height: 1.6; }
#siteHeader .mega ul li a:hover, #siteHeader .mega ul li a:focus-visible { color: #6042be; }
#mobileMenu { background: #101827; color: #f4f7fb; }
#mobileMenu .mm-link { color: #e4eaf3; border-color: #29364c; }
#mobileMenu .mm-link:hover, #mobileMenu .mm-link:focus-visible { color: #c8bcff; }
#mobileMenu .mm-close span { background: #f4f7fb; }
#siteFooter {
    background: #101827;
    color: #c7d2e2;
    padding: 72px 0 28px;
    border-top: 1px solid #29364c;
}
#siteFooter .footer-top { grid-template-columns: 1.35fr .8fr 1fr 1.2fr; gap: 40px; padding-bottom: 48px; border-color: #29364c; }
#siteFooter .footer-brand .logo {
    display: inline-flex;
   
  
}
#siteFooter .footer-brand .logo { line-height: 0; }
#siteFooter .footer-brand .footer-logo-img {
    display: block;
    width: 184px;
    height: auto;
    max-height: none;
    object-fit: contain;
}
#siteFooter .footer-brand p { color: #b8c5d8; font-size: 16px; line-height: 1.85; margin-top: 22px; max-width: 32ch; }
#siteFooter .footer-col h4 { color: #f4f7fb; font-size: 16px; font-weight: 600; letter-spacing: .08em; margin-bottom: 22px; }
#siteFooter .footer-col ul { gap: 12px; }
#siteFooter .footer-col ul li a { color: #c7d2e2; font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; transition: color .2s ease; }
#siteFooter .footer-col ul li a:hover, #siteFooter .footer-col ul li a:focus-visible { color: #c8bcff; }
#siteFooter .footer-bottom { padding-top: 26px; gap: 20px; }
#siteFooter .footer-bottom p { color: #aebed3; font-size: 16px; line-height: 1.7; }
#siteFooter .f-socials { gap: 10px; }
#siteFooter .f-socials a { width: 38px; height: 38px; border-radius: 10px; background: #192438; border-color: #33415a; color: #e4eaf3; }
#siteFooter .f-socials a:hover, #siteFooter .f-socials a:focus-visible { background: #2c2348; border-color: #a897db; color: #d8ceff; }
#siteHeader :focus-visible { outline: 2px solid #6042be; outline-offset: 5px; }
#siteFooter :focus-visible, #mobileMenu :focus-visible { outline: 2px solid #c8bcff; outline-offset: 5px; }
@media (max-width: 960px) {
    #siteFooter .footer-top { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
}
@media (max-width: 600px) {
    #siteHeader .nav-inner { min-height: 72px; }
    #siteHeader .logo .logo-img { width: 148px; }
    #siteFooter { padding-top: 48px; }
    #siteFooter .footer-top { grid-template-columns: 1fr; gap: 30px; padding-bottom: 32px; }
    #siteFooter .footer-col h4 { margin-bottom: 14px; }
    #siteFooter .footer-bottom { align-items: flex-start; flex-direction: column; }
}
