body { font-family: 'Outfit', sans-serif; background-color: #ffffff; }
.hero-section {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url('../images/hero-background.jpeg') no-repeat center center;
    background-size: cover;
}
#header { transition: all 0.3s ease-in-out; }
.nav-link.active { color: #f8a41e; font-weight: 600; }
.slider-dot { transition: background-color 0.3s ease; }
.slider-dot.active { background-color: #f8a41e; }
.accordion-content { max-height: 0; overflow: hidden; transition: max-height 0.5s ease-in-out; }
.accordion-button .accordion-icon { transition: transform 0.3s ease; }
.accordion-button.active .accordion-icon { transform: rotate(135deg); }

/* Responsive fix for Industries section */
@media (max-width: 767px) {
    #industries .bg-gray-100 {
        padding: 1.5rem; /* Reduces padding on smaller screens */
        display: flex;
        align-items: center;
        justify-content: center;
    }
    #industries h3 {
        font-size: 1.125rem; /* Reduces font size on smaller screens */
        line-height: 1.75rem;
    }
}

/* Coverage network map */
.map-card { border-radius: 1.75rem; background: #fff; padding: .75rem; border: 1px solid #ede4f3; box-shadow: 0 30px 60px -30px rgba(85,53,105,.3); }
.coverage-map { position: relative; aspect-ratio: 800 / 700; border-radius: 1.25rem; overflow: hidden; background: #e4f3fb; }
.coverage-map svg { width: 100%; height: 100%; display: block; }
.map-loading { position: absolute; inset: 0; display: grid; place-items: center; font-size: 3rem; color: #a9d6ee; animation: pulse 1.5s ease-in-out infinite; }
@keyframes pulse { 50% { opacity: .4; } }
.land { fill: url(#dots-land); stroke: none; }
.land.near { fill: url(#dots-near); }
.land.tz { fill: url(#dots-tz); }
.borders { fill: none; stroke: #8a77a8; stroke-width: .9; stroke-dasharray: 4 3; stroke-linejoin: round; opacity: .55; pointer-events: none; }
.tz-outline { fill: none; stroke: #f29614; stroke-width: 2.6; stroke-linejoin: round; pointer-events: none; filter: drop-shadow(0 0 4px rgba(248,164,30,.35)); }
.lake { fill: #cbe7f6; stroke: #9fd0ec; stroke-width: 1; pointer-events: none; }
.lake-label { fill: #2f86c0; font: italic 500 12px 'Outfit', sans-serif; pointer-events: none; }
.ocean-label { fill: #2f8fd0; font: 600 14px 'Outfit', sans-serif; letter-spacing: .14em; pointer-events: none; }
.tz-label { fill: #1e1b4b; font: 800 26px 'Outfit', sans-serif; letter-spacing: .12em; pointer-events: none; paint-order: stroke; stroke: rgba(253,230,191,.9); stroke-width: 5px; }
.country-label { fill: #1e1b4b; font: 700 13px 'Outfit', sans-serif; letter-spacing: .14em; pointer-events: none; paint-order: stroke; stroke: #fff; stroke-width: 4px; stroke-linejoin: round; }
.route { fill: none; pointer-events: none; }
.route.spoke { stroke: #f07a14; stroke-width: 2; }
.route.inner { stroke: #f07a14; stroke-width: 1.6; opacity: .85; }
.route.cross { stroke: #4b2a86; stroke-width: 1.8; stroke-dasharray: 5 4; animation: routeFlow 1.6s linear infinite; }
@keyframes routeFlow { to { stroke-dashoffset: -18; } }
.node.tz-node { fill: #fff; stroke: #f07a14; stroke-width: 2.5; }
.node.border-node circle { fill: #fff; stroke: #4b2a86; stroke-width: 2.5; }
.hub-dar .ring { fill: #fff; stroke: #f07a14; stroke-width: 3.5; }
.hub-dar .core { fill: #f07a14; }
.hub-dar .pulse { fill: #f07a14; transform-box: fill-box; transform-origin: center; animation: hubPulse 2.4s ease-out infinite; }
@keyframes hubPulse { from { transform: scale(1); opacity: .45; } to { transform: scale(2.6); opacity: 0; } }
.hub-label { fill: #1e1b4b; font: 700 18px 'Outfit', sans-serif; paint-order: stroke; stroke: #e4f3fb; stroke-width: 5px; }
.north text { fill: #1e1b4b; font: 700 13px 'Outfit', sans-serif; }
.north path { fill: #1e1b4b; }
.map-tooltip { position: absolute; pointer-events: none; transform: translate(-50%, calc(-100% - 14px)); background: #160d1d; color: #fff; padding: .5rem .75rem; border-radius: .6rem; font-size: .85rem; white-space: nowrap; opacity: 0; transition: opacity .15s; box-shadow: 0 10px 24px -10px rgba(0,0,0,.4); }
.map-tooltip.show { opacity: 1; }
.map-tooltip span { display: block; color: #fbb948; font-size: .75rem; }

/* Regional network list */
.network-list { margin-top: 2rem; }
.network-item { display: flex; gap: 1.1rem; align-items: flex-start; padding: 1.1rem 0; border-bottom: 1px solid #e5e7eb; }
.network-item:first-child { padding-top: 0; }
.network-item:last-child { border-bottom: 0; }
.network-icon { flex-shrink: 0; width: 3rem; height: 3rem; border-radius: 9999px; display: grid; place-items: center; background: #fdebd8; color: #f07a14; font-size: 1.15rem; }
.network-item h4 { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 1.3rem; color: #1e1b4b; line-height: 1.3; }
.network-item p { color: #4b5563; margin-top: .2rem; line-height: 1.5; }

