    :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;
    }