    :root{
      --azure:#0d9488;
      --azure-soft:#f0fdfa;
      --orange:#f43f5e;
      --orange-dark:#e11d48;
      --section-alt:#f0fdfa;
      --ink:#0f172a;
    }

    html{scroll-behavior:smooth;}
    body{
      font-family:'DM Sans',sans-serif;
      background:#fff;
      color:#0f172a;
      overflow-x:hidden;
    }

    .hero-overlay{
      background: linear-gradient(125deg, rgba(19,78,74,0.92) 0%, rgba(15,118,110,0.75) 45%, rgba(244,63,94,0.38) 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%, #fecdd3 35%, #fda4af 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }

    .section-title-gradient{
      background: linear-gradient(135deg, #0d9488 0%, #14b8a6 55%, #f43f5e 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
    }

    .btn-shimmer{
      background: linear-gradient(135deg, var(--azure) 0%, #14b8a6 45%, var(--orange) 100%);
      background-size:200% auto;
      animation: shimmer 2.4s linear infinite;
      color:#fff;
      font-family:'Outfit',sans-serif;
      font-weight:800;
      border-radius:18px;
      box-shadow:0 16px 45px rgba(13,148,136,.28);
      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 #99f6e4;
      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:#f0fdfa;
    }

    .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,#14b8a6,#f43f5e);
      border-radius:999px;
    }
    ::-webkit-scrollbar-track{ background:#f0fdfa; }