    :root{
      --azure:#059669;
      --azure-soft:#ecfdf5;
      --orange:#0ea5e9;
      --orange-dark:#0284c7;
      --section-alt:#ecfdf5;
      --ink:#0f172a;
    }

    html{scroll-behavior:smooth;}
    body{
      font-family:'Manrope',sans-serif;
      background:
        radial-gradient(1200px 600px at 10% -10%, rgba(14,165,233,0.10), transparent 55%),
        radial-gradient(900px 500px at 100% 0%, rgba(5,150,105,0.12), transparent 50%),
        #f8fafc;
      color:#0f172a;
      overflow-x:hidden;
    }

    .hero-overlay{
      background: linear-gradient(125deg, rgba(6,78,59,0.88) 0%, rgba(5,150,105,0.72) 45%, rgba(14,165,233,0.35) 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%, #bae6fd 35%, #7dd3fc 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }

    .section-title-gradient{
      background: linear-gradient(135deg, #059669 0%, #10b981 55%, #0ea5e9 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }

    .btn-shimmer{
      background: linear-gradient(135deg, var(--azure) 0%, #10b981 45%, var(--orange) 100%);
      background-size:200% auto;
      animation: shimmer 2.4s linear infinite;
      color:#fff;
      font-family:'Bricolage Grotesque',sans-serif;
      font-weight:800;
      border-radius:18px;
      box-shadow:0 16px 45px rgba(5,150,105,.28);
      transition:all .25s ease;
    }

    .btn-shimmer:hover{
      transform:translateY(-1px);
    }

    .radio-custom{
      width:18px;
      height:18px;
      border-radius:999px;
      border:2px solid #a7f3d0;
      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 #a7f3d0;
      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:#ecfdf5;
    }

    .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,#10b981,#0ea5e9);
      border-radius:999px;
    }
    ::-webkit-scrollbar-track{ background:#ecfdf5; }