    :root {
        --azure: #1f67e6;
        --azure-soft: #eef6ff;
        --orange: #f97316;
        --orange-dark: #ea580c;
        --section-alt: #f8fbff;
        --ink: #0f172a;
    }

    html {
        scroll-behavior: smooth;
    }

    body {
        font-family: 'Inter', sans-serif;
        background: #fff;
        color: #0f172a;
        overflow-x: hidden;
    }

    .hero-overlay {
        background: linear-gradient(125deg, rgba(10, 37, 94, 0.90) 0%, rgba(20, 63, 145, 0.72) 45%, rgba(249, 115, 22, 0.40) 100%);
    }

    .nav-blur {
        background: rgba(255, 255, 255, 0.84);
        backdrop-filter: blur(16px);
        -webkit-backdrop-filter: blur(16px);
        border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    }

    .glass-card {
        background: rgba(255, 255, 255, 0.93);
        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .gradient-text {
        background: linear-gradient(135deg, #ffffff 0%, #ffd2ae 35%, #fdba74 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .section-title-gradient {
        background: linear-gradient(135deg, #1f67e6 0%, #2f83ff 55%, #f97316 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    .btn-shimmer {
        background: linear-gradient(135deg, var(--azure) 0%, #2f83ff 45%, var(--orange) 100%);
        background-size: 200% auto;
        animation: shimmer 2.4s linear infinite;
        color: #fff;
        font-family: 'Plus Jakarta Sans', sans-serif;
        font-weight: 800;
        border-radius: 18px;
        box-shadow: 0 16px 45px rgba(31, 103, 230, .25);
        transition: all .25s ease;
    }

    .btn-shimmer:hover {
        transform: translateY(-1px);
    }

    .radio-custom {
        width: 18px;
        height: 18px;
        border-radius: 999px;
        border: 2px solid #cbd5e1;
        display: flex;
        align-items: center;
        justify-content: center;
        transition: all .25s ease;
        flex-shrink: 0;
    }

    .radio-custom .radio-dot {
        width: 8px;
        height: 8px;
        border-radius: 999px;
        background: transparent;
        transition: all .25s ease;
    }

    .radio-custom.checked {
        border-color: var(--azure);
    }

    .radio-custom.checked .radio-dot {
        background: var(--azure);
    }

    .autocomplete-list {
        border-radius: 18px;
        border: 1px solid #dbeafe;
        background: #fff;
        box-shadow: 0 22px 55px rgba(15, 23, 42, .12);
        overflow: hidden;
    }

    .suggestion-item {
        cursor: pointer;
        transition: background .18s ease;
    }

    .suggestion-item:hover {
        background: #f8fbff;
    }

    .popup-backdrop {
        background: rgba(15, 23, 42, .62);
        backdrop-filter: blur(7px);
        -webkit-backdrop-filter: blur(7px);
    }

    .popup-card {
        background: #ffffff;
        border-radius: 28px;
        box-shadow: 0 28px 80px rgba(15, 23, 42, .22);
        border: 1px solid rgba(219, 234, 254, .9);
    }

    .dot1 {
        animation: dotBounce 1.2s 0s infinite;
    }

    .dot2 {
        animation: dotBounce 1.2s .2s infinite;
    }

    .dot3 {
        animation: dotBounce 1.2s .4s infinite;
    }

    .route-card:hover .route-arrow {
        transform: translateX(4px);
    }

    .route-arrow {
        transition: transform .25s ease;
    }

    ::-webkit-scrollbar {
        width: 7px;
    }

    ::-webkit-scrollbar-thumb {
        background: linear-gradient(to bottom, #2f83ff, #f97316);
        border-radius: 999px;
    }

    ::-webkit-scrollbar-track {
        background: #eff6ff;
    }

/* Shared simple inner-page theme */
body {
    background: #f3f3f3;
}

.hero-overlay {
    background: linear-gradient(90deg, rgba(15, 23, 42, .54) 0%, rgba(15, 23, 42, .24) 50%, rgba(15, 23, 42, .06) 100%) !important;
}

main.simple-page {
    max-width: 1180px !important;
    padding-top: 64px !important;
    padding-bottom: 72px !important;
    background: #fff !important;
}

main.simple-page .simple-content,
main.simple-page .content-card {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow: visible !important;
}

main.simple-page .simple-content > div:first-child,
main.simple-page .content-card > div:first-child {
    background: #fff !important;
    border-bottom: 0 !important;
}

main.simple-page .section-chip,
main.simple-page section {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 0 34px !important;
}

main.simple-page h2 {
    margin: 0 0 16px !important;
    color: #0f172a !important;
    font-size: clamp(1.25rem, 2vw, 1.65rem) !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
}

main.simple-page p {
    margin: 0 0 20px !important;
    color: #475569 !important;
    font-size: 15px !important;
    line-height: 1.85 !important;
}

main.simple-page ul,
main.simple-page ol {
    margin: 14px 0 26px 22px !important;
    color: #475569 !important;
    line-height: 1.85 !important;
}

main.simple-page li {
    margin-bottom: 8px !important;
}

footer#contacto {
    background: #fff !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 56px !important;
}

footer#contacto .absolute {
    display: none !important;
}

footer#contacto h4,
footer#contacto h5 {
    color: #0f172a !important;
}

footer#contacto p,
footer#contacto span,
footer#contacto a,
footer#contacto li,
footer#contacto div {
    color: #64748b !important;
}

footer#contacto a:hover {
    color: #2f9ddd !important;
}

footer#contacto .footer-top {
    align-items: start !important;
    gap: 42px !important;
}

footer#contacto .footer-about {
    border-right: 1px solid #e2e8f0 !important;
    padding-right: 30px !important;
}

footer#contacto .footer-contact-list {
    display: grid !important;
    gap: 12px !important;
}

footer#contacto .footer-contact-list > *,
footer#contacto .footer-contact-list a {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    padding: 12px !important;
}

footer#contacto .footer-contact-list svg {
    color: #2f9ddd !important;
}

footer#contacto h4 {
    padding-bottom: 12px !important;
    margin-bottom: 18px !important;
    border-bottom: 2px solid #91c926 !important;
    display: inline-block !important;
}

footer#contacto ul {
    display: grid !important;
    gap: 11px !important;
}

footer#contacto .footer-disclaimer {
    margin-top: 10px !important;
    border-top: 1px solid #e2e8f0 !important;
    padding-top: 24px !important;
}

footer#contacto .footer-disclaimer-box {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 0 !important;
    padding: 22px !important;
}

footer#contacto + a.site-phone-link.fixed {
    display: inline-flex !important;
    background: #f97316 !important;
    color: #fff !important;
    box-shadow: 0 14px 34px rgba(249, 115, 22, .36) !important;
    transition: transform .2s ease, background-color .2s ease, box-shadow .2s ease !important;
}

footer#contacto + a.site-phone-link.fixed:hover {
    background: #ea580c !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 42px rgba(234, 88, 12, .42) !important;
}

@media (max-width: 1023px) {
    footer#contacto .footer-about {
        border-right: 0 !important;
        padding-right: 0 !important;
    }
}

@media (max-width: 767px) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition-duration: 0s !important;
        scroll-behavior: auto !important;
    }

    .animate-pulse,
    .animate-pulseSoft,
    .animate-floaty,
    .btn-shimmer,
    .loading-dot {
        animation: none !important;
    }

    footer#contacto + a.site-phone-link.fixed:hover,
    .btn-shimmer:hover,
    .route-card:hover img,
    .service-link:hover .service-arrow {
        transform: none !important;
    }
}
