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