:root{
  --brand:#111111;
  --accent:#e0245e;
  --bg:#ffffff;
  --muted:#6b7280;
}
body{font-family:"Plus Jakarta Sans",system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:#111827}
h1,h2,h3,h4,h5,h6{font-family:"Outfit",system-ui,sans-serif;font-weight:700}
a{color:#111827}
.site-nav .nav-link{font-size:.95rem;color:#374151!important}
.site-nav .nav-link:hover{color:#000!important}
.hero{background:linear-gradient(180deg,#fff 0%,#f8f9fb 100%);padding:80px 0 60px}
.hero .lead{max-width:640px}
.phone-mockup{width:270px;height:540px;border-radius:36px;background:#111;padding:10px;box-shadow:0 20px 50px rgba(0,0,0,.25)}
.phone-screen{width:100%;height:100%;background:#fff;border-radius:28px;overflow:hidden}
.feature-card,.cap-card,.road-card,.infra-card,.side-card,.insight-card{background:#fff;border:1px solid #eceef2;border-radius:16px;padding:20px;transition:.25s;box-shadow:0 2px 10px rgba(0,0,0,.03)}
.feature-card:hover,.cap-card:hover,.road-card:hover,.infra-card:hover,.side-card:hover,.insight-card:hover{transform:translateY(-4px);box-shadow:0 10px 25px rgba(0,0,0,.08)}
.num{font-family:"Outfit";font-weight:800;color:var(--accent);font-size:1.35rem}
.badge{font-weight:600;border-radius:8px;padding:.45em .8em}
.bg-white.border{border-color:#e5e7eb!important}
.accordion-button{font-weight:600;background:#fff}
.accordion-button:not(.collapsed){background:#fff}
.accordion-item{border:1px solid #eceef2!important}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid #e5e7eb;z-index:1055;padding:14px 0;box-shadow:0 -6px 20px rgba(0,0,0,.05)}

/* ===== footer-custom ===== */
.footer-custom {
    background-color: #FFFFFF;
    color: #121212;
    border-color: #E5E5EA !important;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif;
}

.footer-custom .footer-custom__brand-name {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    font-weight: 700;
    font-size: 1.25rem;
    color: #121212;
    letter-spacing: -0.02em;
}

.footer-custom .footer-custom__logo {
    max-width: 40px;
    height: auto;
    object-fit: contain;
}

.footer-custom .footer-custom__desc {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #666666;
}

.footer-custom .footer-custom__heading {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #121212;
    line-height: 1.3;
}

.footer-custom .footer-custom__info-item {
    font-size: 0.875rem;
    color: #666666;
    display: flex;
    align-items: flex-start;
}

.footer-custom .footer-custom__info-item i {
    font-size: 1.125rem;
    color: #121212;
    margin-top: 0.15rem;
    flex-shrink: 0;
}

.footer-custom .footer-custom__list {
    margin: 0;
    padding: 0;
}

.footer-custom .footer-custom__link {
    color: #666666;
    text-decoration: none;
    font-size: 0.9375rem;
    line-height: 1.5;
    transition: color 0.15s ease;
}

.footer-custom .footer-custom__link:hover,
.footer-custom .footer-custom__link:focus {
    color: #121212;
    text-decoration: underline;
}

.footer-custom .footer-custom__share-desc {
    font-size: 0.875rem;
    color: #666666;
    line-height: 1.5;
}

.footer-custom .footer-custom__social-btn {
    width: 38px;
    height: 38px;
    border: 1px solid #121212;
    background-color: #FFFFFF;
    color: #121212;
    text-decoration: none;
    border-radius: 2px;
    font-size: 1.25rem;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.footer-custom .footer-custom__social-btn:hover,
.footer-custom .footer-custom__social-btn:focus {
    background-color: #121212;
    color: #FFFFFF;
}

.footer-custom .footer-custom__bottom {
    border-color: #E5E5EA !important;
}

.footer-custom .footer-custom__copyright {
    font-size: 0.8125rem;
    color: #8E8E93;
    line-height: 1.5;
}

.footer-custom .footer-custom__bottom-link {
    font-size: 0.8125rem;
    color: #8E8E93;
    text-decoration: none;
}

.footer-custom .footer-custom__bottom-link:hover,
.footer-custom .footer-custom__bottom-link:focus {
    color: #121212;
    text-decoration: underline;
}

@media (max-width: 767.98px) {
    .footer-custom .footer-custom__heading {
        font-size: 0.8125rem;
        hyphens: auto;
    }

    .footer-custom .footer-custom__desc,
    .footer-custom .footer-custom__link {
        font-size: 0.875rem;
    }
}