/* Khalil Home Nursing Care - Areas We Serve */

.khc-service-areas-section {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 85px 0 90px;
    background: linear-gradient(
        135deg,
        #087fc1 0%,
        #079bd3 55%,
        #102f49 100%
    );
    color: #fff;
}

.khc-areas-map-pattern {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: .16;
    pointer-events: none;
    background-image:
        repeating-linear-gradient(
            35deg,
            transparent 0,
            transparent 75px,
            rgba(255,255,255,.28) 76px,
            transparent 78px
        ),
        repeating-linear-gradient(
            125deg,
            transparent 0,
            transparent 110px,
            rgba(255,255,255,.2) 111px,
            transparent 113px
        ),
        radial-gradient(
            circle at 50% 50%,
            rgba(255,255,255,.22),
            transparent 55%
        );
}

.khc-areas-heading {
    position: relative;
    z-index: 1;
    max-width: 950px;
    margin: 0 auto 55px;
    padding: 0 20px;
    text-align: center;
}

.khc-areas-eyebrow {
    display: block;
    margin-bottom: 15px;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 3px;
}

.khc-areas-heading h2 {
    margin: 0 0 15px;
    color: #fff;
    font-family: var(--khc-font-heading, Manrope, sans-serif);
    font-size: clamp(42px, 6.5vw, 88px);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -2px;
}

.khc-areas-heading h2 span {
    color: #dff6ff;
}

.khc-areas-heading p {
    max-width: 760px;
    margin: 0 auto;
    color: #f0faff;
    font-size: clamp(15px, 1.5vw, 19px);
    line-height: 1.7;
}

.khc-areas-rows {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 36px;
    width: 100%;
    overflow: hidden;
    padding: 12px 0;
}

.khc-area-marquee {
    display: flex;
    overflow: hidden;
    width: 100%;
    -webkit-mask-image: linear-gradient(
        to right,
        transparent,
        #000 5%,
        #000 95%,
        transparent
    );
    mask-image: linear-gradient(
        to right,
        transparent,
        #000 5%,
        #000 95%,
        transparent
    );
}

.khc-area-track {
    display: flex;
    flex: 0 0 auto;
    width: max-content;
    animation: khc-area-scroll 45s linear infinite;
    will-change: transform;
}

.khc-area-reverse .khc-area-track {
    animation-direction: reverse;
    animation-duration: 52s;
}

.khc-area-marquee:nth-child(3) .khc-area-track {
    animation-duration: 48s;
}

.khc-area-marquee:hover .khc-area-track,
.khc-area-marquee:focus-within .khc-area-track {
    animation-play-state: paused;
}

.khc-area-group {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 22px;
    padding-right: 22px;
}

.khc-area-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex: 0 0 auto;
    min-height: auto;
    padding: 10px 20px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 100px;
    background: #102f49;
    color: #fff;
    font-family: var(--khc-font-heading, Manrope, sans-serif);
    font-size: clamp(17px, 1.8vw, 18px);
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(0,0,0,.12);
    transition:
        background .25s ease,
        transform .25s ease,
        box-shadow .25s ease;
}

.khc-area-pill i {
    flex-shrink: 0;
    color: #ef3340;
    font-size: .9em;
}

a.khc-area-pill:hover,
a.khc-area-pill:focus-visible {
    color: #fff;
    background: #0b2c44;
    transform: translateY(-4px);
    box-shadow: 0 14px 28px rgba(0,0,0,.2);
}

a.khc-area-pill:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 3px;
}

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

@media (max-width: 767px) {
    .khc-service-areas-section {
        padding: 65px 0;
    }

    .khc-areas-heading {
        margin-bottom: 35px;
    }

    .khc-areas-heading h2 {
        letter-spacing: -1px;
    }

    .khc-areas-rows {
        gap: 20px;
    }

    .khc-area-group {
        gap: 12px;
        padding-right: 12px;
    }

    .khc-area-pill {
        min-height: 49px;
        padding: 12px 20px;
        font-size: 16px;
    }

    .khc-area-track {
        animation-duration: 38s;
    }
}

@media (prefers-reduced-motion: reduce) {
    .khc-area-track {
        animation: none !important;
        will-change: auto;
    }

    .khc-area-marquee {
        overflow-x: auto;
        mask-image: none;
        -webkit-mask-image: none;
    }

    .khc-area-group[aria-hidden="true"] {
        display: none;
    }

    .khc-area-pill {
        transition: none;
    }
}

.khc-areas-map-pattern {
    display: none;
}


/* Temporary Areas We Serve display test */

.khc-service-areas-section {
    display: block !important;
    background-color: #087fc1 !important;
}

.khc-areas-rows {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.khc-area-marquee,
.khc-area-track,
.khc-area-group {
    visibility: visible !important;
    opacity: 1 !important;
}

.khc-area-pill {
    display: inline-flex !important;
    background: #102f49 !important;
    color: #ffffff !important;
}



/* Strong Dark Overlay - Areas We Serve */

.khc-service-areas-section {
    position: relative !important;
    isolation: isolate;
}

/* Dark navy overlay over background map */
.khc-service-areas-section::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 15, 35, 0.85);
    z-index: 0;
    pointer-events: none;
}

/* Keep heading and animated areas above overlay */
.khc-service-areas-section .khc-areas-heading,
.khc-service-areas-section .khc-areas-rows {
    position: relative;
    z-index: 2;
}

/* Ensure heading remains readable */
.khc-service-areas-section .khc-areas-heading h2,
.khc-service-areas-section .khc-areas-heading p,
.khc-service-areas-section .khc-areas-eyebrow {
    color: #ffffff !important;
}