        .site-footer {
            padding: 2rem 3rem 1.2rem;
            color: rgba(255,255,255,0.76);
            background:
                radial-gradient(circle at 90% 10%, rgba(217,154,43,0.13), transparent 18rem),
                linear-gradient(135deg, #062f3f, #041f2b);
        }

        .footer-logo {
            display: inline-flex;
            align-items: center;
            gap: 0.65rem;
            margin-bottom: 1rem;
            color: #fff;
            font-weight: 900;
        }

        .footer-logo img {
            width: 48px;
            height: 48px;
            object-fit: contain;
        }

        .footer-title {
            margin-bottom: 0.95rem;
            color: #fff;
            font-size: 0.9rem;
            font-weight: 900;
        }

        .footer-list {
            padding: 0;
            margin: 0;
            list-style: none;
        }

        .footer-list li + li {
            margin-top: 0.55rem;
        }

        .footer-list a,
        .footer-bottom a {
            color: rgba(255,255,255,0.74);
        }

        .footer-list a:hover,
        .footer-bottom a:hover {
            color: #ffd36c;
        }

        .social-links {
            display: flex;
            gap: 0.6rem;
            margin-top: 1rem;
        }

        .social-links a {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 38px;
            height: 38px;
            color: #fff;
            border: 1px solid rgba(255,255,255,0.16);
            border-radius: 50%;
            background: rgba(255,255,255,0.06);
            transition: 0.2s ease;
        }

        .social-links a:hover {
            color: var(--primary);
            background: var(--gold);
        }

        .footer-bottom {
            margin-top: 2rem;
            padding-top: 1.1rem;
            border-top: 1px solid rgba(255,255,255,0.12);
            font-size: 0.86rem;
        }


.angaza-terms-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: clamp(12px, 3vw, 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
}

.angaza-terms-modal.is-open {
    display: flex;
}

.angaza-terms-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(4, 31, 41, 0.72);
    backdrop-filter: blur(8px);
}

.angaza-terms-dialog {
    position: relative;
    z-index: 1;
    width: min(680px, 100%);
    max-height: min(84dvh, 720px);
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    padding: clamp(24px, 4vw, 38px);
    border-radius: 28px;
    border: 1px solid rgba(255, 255, 255, 0.72);
    background:
        radial-gradient(circle at top right, rgba(215, 154, 43, 0.16), transparent 16rem),
        #ffffff;
    box-shadow: 0 30px 90px rgba(4, 31, 41, 0.34);
    word-break: normal;
    overflow-wrap: anywhere;
}

.angaza-terms-dialog h2 {
    margin: 0 0 12px;
    color: var(--angaza-primary);
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 800;
    line-height: 1.05;
}

.angaza-terms-dialog p,
.angaza-terms-dialog li {
    color: var(--angaza-muted);
    line-height: 1.7;
}

.angaza-terms-dialog ul {
    padding-left: 1.25rem;
}

.angaza-terms-close {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(6, 53, 68, 0.12);
    border-radius: 999px;
    color: var(--angaza-primary);
    background: #fff;
    font-weight: 800;
}

.angaza-terms-close:hover,
.angaza-terms-close:focus {
    color: #fff;
    background: var(--angaza-primary);
}

.angaza-terms-lock {
    overflow: hidden;
}


/* Shared home footer; explicit colors and type keep all public pages consistent. */
.site-footer { --primary:#062f3f; --gold:#d99a2b; font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:14px; line-height:1.7; }
.site-footer .footer-inner { width:min(1240px,100%); margin-inline:auto; }
.site-footer a { text-decoration:none; }
.site-footer .footer-logo, .site-footer .footer-title { color:#fff; }
.site-footer .footer-title { font-family:Inter,"Segoe UI",Arial,sans-serif; font-size:14px; line-height:1.4; font-weight:800; }
.site-footer .footer-logo { font-size:16px; }
.site-footer .footer-list a, .site-footer .footer-bottom a { color:rgba(255,255,255,.8); }
.site-footer .footer-list li { overflow-wrap:anywhere; }
.site-footer .footer-bottom > div { display:flex; flex-wrap:wrap; gap:20px; }
.site-footer .footer-bottom a { margin:0; }
.site-footer a:focus-visible { outline:2px solid #ffd36c; outline-offset:4px; }
.angaza-terms-dialog { --angaza-primary:#062f3f; --angaza-muted:#53616c; color:#17333f; font-family:"Segoe UI",Arial,sans-serif; }
.angaza-terms-dialog .angaza-public-btn { display:inline-block; padding:10px 20px; border:0; border-radius:8px; color:white; background:#062f3f; }
.company-about-section { scroll-margin-top:100px; margin-top:20px; }
.company-about-title { font-family:Georgia,"Times New Roman",serif; font-size:22px; color:#14213d; margin-bottom:12px; }
@media (max-width:991.98px) {
    .site-footer { padding:1.8rem 1rem 1.05rem; }
    .site-header .navbar .navbar-brand { position:static; left:auto; transform:none; order:2; margin:0 auto 0 12px; min-width:0; }
    .site-header .navbar .header-actions { gap:6px; flex-shrink:0; flex-direction:row; width:auto; margin-top:0; }
    .site-header .navbar .pill-action { padding:8px 10px; min-width:40px; }
    .site-header .navbar .public-language-select { width:58px; min-width:58px; padding:8px 6px; }
}
@media (max-width:767.98px) {
    .site-header .brand-copy, .product-site-brand > span, .angaza-public-brand > span, .about-site-brand > span { display:none; }
    .site-header .navbar .navbar-brand img { width:44px; height:44px; object-fit:contain; }
    .site-header .navbar .navbar-toggler { padding:8px 10px; }
    .site-footer .footer-bottom { text-align:left; }
}
@media (max-width:359.98px) {
    .site-header .navbar .navbar-brand { margin-left:7px; }
    .site-header .navbar .header-actions { gap:4px; }
    .site-header .navbar .pill-action { padding:8px; min-width:36px; }
    .site-header .navbar .public-language-select { width:48px; min-width:48px; }
    .site-footer .col-6 { flex:0 0 100%; max-width:100%; }
}
