  :root{
    --misty:#DCEEFF;
    --mountain:#6BA8D6;
    --green-1:#18B57B;
    --green-2:#0E8F6A;
    --white:#FFFFFF;
    --navy:#0F172A;
    --navy-soft:#1E293B;
    --ink-60: rgba(15,23,42,.62);
    --ink-40: rgba(15,23,42,.42);
    --glass: rgba(255,255,255,.55);
    --glass-brd: rgba(255,255,255,.7);
    --shadow-lg: 0 30px 80px -20px rgba(15,42,70,.35);
    --shadow-sm: 0 10px 30px -10px rgba(15,42,70,.25);
    --r-lg: 28px;
    --r-md: 18px;
    --r-sm: 12px;
  }
  *{margin:0;padding:0;box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Plus Jakarta Sans', sans-serif;
    color:var(--navy);
    background:var(--misty);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,.display{font-family:'Fraunces', serif;}
  .mono{font-family:'JetBrains Mono', monospace;}
  a{text-decoration:none;color:inherit;}
  ul{list-style:none;}
  img{display:block;max-width:100%;}
  button{font-family:inherit;border:none;cursor:pointer;}
  .container{max-width:1240px;margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
    font-weight:600;
    color:var(--green-2);
    display:inline-flex;
    align-items:center;
    gap:10px;
  }
  .eyebrow::before{
    content:'';
    width:22px;height:1px;background:var(--green-2);
    display:inline-block;
  }
  .grad-btn{
    background:linear-gradient(135deg,var(--green-1),var(--green-2));
    color:#fff;
    padding:16px 30px;
    border-radius:100px;
    font-weight:700;
    font-size:.95rem;
    display:inline-flex;
    align-items:center;
    gap:10px;
    position:relative;
    overflow:hidden;
    box-shadow:0 15px 35px -10px rgba(24,181,123,.55);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s;
    isolation:isolate;
  }
  .grad-btn::after{
    content:'';
    position:absolute;inset:0;
    background:linear-gradient(135deg,var(--green-2),var(--green-1));
    opacity:0;
    transition:opacity .35s;
    z-index:-1;
  }
  .grad-btn:hover{transform:translateY(-3px);box-shadow:0 20px 45px -8px rgba(24,181,123,.65);}
  .grad-btn:hover::after{opacity:1;}
  .grad-btn .ripple{
    position:absolute;border-radius:50%;
    background:rgba(255,255,255,.5);
    transform:scale(0);
    animation:ripple .6s linear;
    pointer-events:none;
  }
  @keyframes ripple{to{transform:scale(4);opacity:0;}}

  .ghost-btn{
    border:1.5px solid rgba(15,23,42,.15);
    background:rgba(255,255,255,.4);
    padding:15px 28px;
    border-radius:100px;
    font-weight:600;
    font-size:.92rem;
    transition:all .3s;
  }
  .ghost-btn:hover{border-color:var(--green-2); background:#fff; transform:translateY(-2px);}

  /* ============ NAV ============ */
  header{
    position:fixed; top:0; left:0; right:0; z-index:1000;
    padding:22px 0;
    transition:all .4s ease;
  }
  header.scrolled{
    padding:12px 0;
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(18px) saturate(160%);
    box-shadow:0 4px 30px rgba(15,42,70,.08);
  }
  nav{display:flex;align-items:center;justify-content:space-between;}
  .logo{display:flex;align-items:center;gap:12px;font-weight:800;font-size:1.15rem;}
  .logo-img{height:52px; display:inline-flex; align-items:center; gap:0;}
  .logo-img img{height:100%; width:auto; display:block;}
  .logo-badge{
    height:auto; padding:9px 18px;
    background:linear-gradient(160deg,#0F172A,#1E293B);
    border-radius:14px; box-shadow:var(--shadow-sm);
  }
  .logo-badge img{height:38px;}
  .foot-logo.logo-img{height:46px; margin-bottom:18px;}
  .foot-logo.logo-img img{height:100%; width:auto;}
  .logo .mark{
    width:44px;height:44px;border-radius:14px;
    background:linear-gradient(135deg,var(--mountain),var(--green-2));
    display:flex;align-items:center;justify-content:center;
    box-shadow:var(--shadow-sm);
  }
  .logo span.cool{
    color:var(--misty);
    -webkit-text-stroke:.55px rgba(15,23,42,.5);
    text-shadow:0 1px 1px rgba(15,23,42,.18);
  }
  .nav-links{display:flex;gap:38px;align-items:center;}
  .nav-links a{
    font-weight:600;font-size:.92rem;color:var(--ink-60);
    position:relative; padding:6px 0;
    transition:color .3s;
  }
  .nav-links a::after{
    content:'';position:absolute;bottom:0;left:0;width:0;height:2px;
    background:linear-gradient(90deg,var(--green-1),var(--mountain));
    transition:width .35s;
  }
  .nav-links a:hover{color:var(--navy);}
  .nav-links a:hover::after{width:100%;}
  .nav-cta{display:flex;align-items:center;gap:14px;}
  .burger{
    display:none; background:rgba(15,23,42,.06); border-radius:12px;
    width:42px; height:42px; align-items:center; justify-content:center;
    position:relative; flex-shrink:0;
  }
  .burger svg{width:20px;height:20px; position:absolute; transition:opacity .25s, transform .25s;}
  .burger .icon-close{opacity:0; transform:rotate(-45deg);}
  .burger.open .icon-open{opacity:0; transform:rotate(45deg);}
  .burger.open .icon-close{opacity:1; transform:rotate(0deg);}

  .mobile-nav{
    max-height:0; overflow:hidden;
    background:rgba(255,255,255,.96);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 30px -20px rgba(15,42,70,.2);
    transition:max-height .45s cubic-bezier(.2,.8,.2,1);
  }
  .mobile-nav.open{max-height:420px;}
  .mobile-nav ul{padding:10px 24px 22px; display:flex; flex-direction:column;}
  .mobile-nav ul li a{
    display:block; padding:14px 4px; font-weight:600; font-size:1rem;
    border-bottom:1px solid rgba(15,23,42,.08); color:var(--navy);
  }
  .mobile-nav ul li:last-child a{border-bottom:none;}

  /* ============ HERO ============ */
  .hero{
    position:relative;
    min-height:100vh;
    display:flex; align-items:center;
    overflow:hidden;
    background:linear-gradient(180deg,#EAF4FF 0%, #DCEEFF 45%, #cfe6f7 100%);
  }
  .hero-sky{
    position:absolute;inset:0;z-index:0;
  }
  .cloud{
    position:absolute;
    background:rgba(255,255,255,.75);
    border-radius:100px;
    filter:blur(2px);
    opacity:.8;
  }
  .cloud.c1{width:220px;height:60px;top:12%;left:-5%;animation:drift 55s linear infinite;}
  .cloud.c2{width:160px;height:44px;top:22%;left:60%;animation:drift 70s linear infinite;animation-delay:-20s;}
  .cloud.c3{width:280px;height:70px;top:8%;left:35%;animation:drift 90s linear infinite;animation-delay:-40s;}
  @keyframes drift{
    0%{transform:translateX(0);}
    100%{transform:translateX(160vw);}
  }

  .hills{position:absolute;bottom:0;left:0;width:100%;z-index:1;line-height:0;}
  .hills svg{width:100%;height:auto;display:block;}
  .hill-back{opacity:1;animation:sway 18s ease-in-out infinite;}
  .hill-mid{animation:sway 14s ease-in-out infinite reverse;}
  @keyframes sway{
    0%,100%{transform:translateX(0);}
    50%{transform:translateX(-1.2%);}
  }

  .mist{
    position:absolute; bottom:0; left:0; width:220%; height:38%;
    background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.85) 60%, rgba(255,255,255,.95) 100%);
    filter:blur(6px);
    z-index:3;
    animation:mistdrift 30s linear infinite;
  }
  .mist.m2{
    height:24%; opacity:.6; animation-duration:45s; animation-direction:reverse;
    background:linear-gradient(180deg, rgba(220,238,255,0) 0%, rgba(220,238,255,.9) 70%);
  }
  @keyframes mistdrift{
    0%{transform:translateX(-25%);}
    100%{transform:translateX(0%);}
  }

  /* ============ SUB-PAGE BANNER (cars.html / packages.html) ============ */
  .page-banner{
    position:relative; overflow:hidden;
    padding:170px 0 90px;
    background:linear-gradient(180deg,#EAF4FF 0%, #DCEEFF 45%, #cfe6f7 100%);
    text-align:center;
  }
  .page-banner-inner{position:relative; z-index:5;}
  .page-banner-inner h1{
    font-size:clamp(2.1rem,4.2vw,3.2rem); font-weight:600; margin-top:14px; color:var(--navy);
  }
  .page-banner-inner p{
    margin:16px auto 0; max-width:560px; color:var(--ink-60); font-size:1.05rem; line-height:1.6;
  }
  .cars-page-section{padding-top:70px;}
  .cars-page-grid{grid-template-columns:repeat(4,1fr);}
  @media (max-width:1080px){ .cars-page-grid{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:680px){ .cars-page-grid{grid-template-columns:1fr;} }

  .road{
    position:absolute; bottom:0; left:0; width:100%; z-index:2;
  }

  .hero-inner{
    position:relative; z-index:5;
    width:100%;
    padding-top:90px;
  }
  .hero-grid{
    display:grid; grid-template-columns:1.05fr .95fr; gap:20px; align-items:center;
  }
  .hero-copy{opacity:0; transform:translateY(24px); animation:reveal .9s cubic-bezier(.2,.8,.2,1) forwards; animation-delay:.15s;}
  .hero-copy .eyebrow{margin-bottom:22px;}
  .hero-copy h1{
    font-size:clamp(2.6rem, 5.4vw, 4.4rem);
    line-height:1.03;
    font-weight:600;
    letter-spacing:-.02em;
    color:var(--navy);
  }
  .hero-copy h1 .accent{
    color:var(--misty);
    font-style:italic;
    font-weight:500;
    -webkit-text-stroke:.7px rgba(15,23,42,.45);
    text-shadow:0 2px 2px rgba(15,23,42,.15);
  }
  .hero-copy p.sub{
    margin-top:24px;
    font-size:1.12rem;
    color:var(--ink-60);
    max-width:480px;
    line-height:1.6;
  }
  .hero-actions{display:flex;gap:16px;margin-top:38px;flex-wrap:wrap;}
  @keyframes reveal{to{opacity:1; transform:translateY(0);}}

  .hero-car-wrap{
    position:relative;
    animation:float 5.5s ease-in-out infinite;
  }
  @keyframes float{
    0%,100%{transform:translateY(0px);}
    50%{transform:translateY(-16px);}
  }
  .hero-car-wrap svg{width:100%;height:auto; filter:drop-shadow(0 40px 40px rgba(15,42,70,.35));}

  /* ============ BOOKING TICKET WIDGET ============ */
  .ticket-wrap{
    position:relative; z-index:6;
    margin:56px auto 0;
    max-width:1100px;
  }
  .ticket{
    background:var(--glass);
    backdrop-filter:blur(22px) saturate(180%);
    border:1px solid var(--glass-brd);
    border-radius:26px;
    box-shadow:var(--shadow-lg);
    display:grid;
    grid-template-columns:220px 1fr;
    overflow:hidden;
    opacity:0; transform:translateY(30px);
    animation:reveal 1s cubic-bezier(.2,.8,.2,1) forwards;
    animation-delay:.5s;
  }
  .ticket-tabs{
    background:linear-gradient(160deg, rgba(15,23,42,.94), rgba(30,41,59,.92));
    padding:26px 22px;
    display:flex; flex-direction:column; gap:10px;
    position:relative;
  }
  .ticket-tabs::after{
    content:'';
    position:absolute; top:0; right:-1px; bottom:0; width:2px;
    background-image:radial-gradient(circle, rgba(220,238,255,.9) 3px, transparent 3px);
    background-size:2px 18px;
    background-repeat:repeat-y;
  }
  .tab-btn{
    background:transparent; color:rgba(255,255,255,.55);
    padding:12px 16px; border-radius:12px; text-align:left;
    font-weight:600; font-size:.9rem;
    display:flex; align-items:center; gap:10px;
    transition:all .3s;
  }
  .tab-btn svg{width:16px;height:16px; opacity:.7;}
  .tab-btn.active{
    background:linear-gradient(135deg,var(--green-1),var(--green-2));
    color:#fff;
    box-shadow:0 8px 20px -6px rgba(24,181,123,.6);
  }
  .tab-btn.active svg{opacity:1;}
  .tab-btn:not(.active):hover{background:rgba(255,255,255,.08); color:#fff;}

  .ticket-fields{
    padding:26px 30px;
    display:grid;
    grid-template-columns:repeat(4, 1fr) auto;
    gap:0;
    align-items:stretch;
  }
  .field{
    padding:6px 22px;
    border-right:1px dashed rgba(15,23,42,.15);
    display:flex; flex-direction:column; gap:8px; justify-content:center;
  }
  .field:first-child{padding-left:0;}
  .field label{
    font-family:'JetBrains Mono', monospace;
    font-size:.66rem; text-transform:uppercase; letter-spacing:.12em;
    color:var(--ink-40); font-weight:600;
  }
  .field .val{
    display:flex; align-items:center; gap:9px;
    font-weight:700; font-size:.94rem; color:#000;
  }
  .field .val svg{width:16px;height:16px; color:var(--green-2); flex-shrink:0;}
  .field input{
    border:none; background:transparent; outline:none;
    font-family:inherit; font-weight:700; font-size:.94rem; color:#000;
    width:100%;
  }
  .field input::placeholder{color:rgba(0,0,0,.5); font-weight:600;}
  .field-search{
    display:flex; align-items:center; padding-left:22px;
  }
  .search-btn{
    background:linear-gradient(135deg,var(--green-1),var(--green-2));
    color:#fff; width:58px; height:58px; border-radius:18px;
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden; isolation:isolate;
    box-shadow:0 16px 30px -8px rgba(24,181,123,.55);
    transition:transform .3s, box-shadow .3s;
  }
  .search-btn:hover{transform:scale(1.06) rotate(-4deg); box-shadow:0 20px 40px -6px rgba(24,181,123,.7);}
  .search-btn svg{width:22px;height:22px; flex-shrink:0;}
  .search-btn-label{display:none;}

  /* ============ SUGGEST PANEL ============ */
  .suggest-panel{
    max-height:0; overflow:hidden; opacity:0;
    transition:max-height .55s cubic-bezier(.2,.8,.2,1), opacity .5s ease, margin .55s ease;
    margin-top:0;
  }
  .suggest-panel.show{max-height:420px; opacity:1; margin-top:22px;}
  .suggest-inner{
    background:var(--glass); backdrop-filter:blur(20px) saturate(160%);
    border:1px solid var(--glass-brd); border-radius:24px;
    padding:26px 30px 30px; box-shadow:var(--shadow-sm);
  }
  .suggest-head{display:flex; align-items:center; justify-content:space-between;}
  .suggest-close{
    width:32px;height:32px;border-radius:50%; background:rgba(15,23,42,.06);
    display:flex; align-items:center; justify-content:center; color:var(--navy);
    transition:background .3s;
  }
  .suggest-close svg{width:14px;height:14px;}
  .suggest-close:hover{background:rgba(15,23,42,.12);}
  .suggest-msg{margin-top:14px; font-size:.95rem; color:var(--ink-60); font-weight:600;}
  .suggest-msg strong{color:var(--navy);}
  .suggest-cars{display:flex; flex-wrap:wrap; gap:12px; margin-top:18px;}
  .suggest-chip{
    display:flex; align-items:center; gap:10px;
    background:rgba(255,255,255,.7); border:1px solid rgba(255,255,255,.9);
    border-radius:14px; padding:12px 18px;
    font-weight:700; font-size:.88rem; color:var(--navy);
    box-shadow:var(--shadow-sm);
    animation:reveal .5s cubic-bezier(.2,.8,.2,1) backwards;
  }
  .suggest-chip .dot{width:8px;height:8px;border-radius:50%;background:linear-gradient(135deg,var(--green-1),var(--green-2));}
  .suggest-chip .go{
    margin-left:6px; display:flex; align-items:center; justify-content:center;
    width:26px;height:26px;border-radius:50%;
    background:linear-gradient(135deg,var(--green-1),var(--green-2)); color:#fff;
    transition:transform .3s;
  }
  .suggest-chip .go svg{width:12px;height:12px;}
  .suggest-chip:hover .go{transform:translateX(3px);}

  /* ============ SECTION SHARED ============ */
  section{position:relative;}
  .section-head{text-align:center; max-width:640px; margin:0 auto 56px;}
  .section-head h2{font-size:clamp(1.9rem,3.2vw,2.7rem); font-weight:600; margin-top:14px; letter-spacing:-.01em;}
  .section-head p{margin-top:14px; color:var(--ink-60); font-size:1.02rem;}
  .reveal-up{opacity:0; transform:translateY(36px); transition:all .8s cubic-bezier(.2,.8,.2,1);}
  .reveal-up.in{opacity:1; transform:translateY(0);}

  /* ============ RIDE OPTIONS ============ */
  .ride-options{padding:130px 0 100px;}
  .ride-grid{display:grid; grid-template-columns:1fr 1fr; gap:28px;}
  .ride-card{
    border-radius:var(--r-lg);
    padding:44px 40px;
    position:relative; overflow:hidden;
    min-height:340px;
    display:flex; flex-direction:column; justify-content:flex-end;
    transition:transform .5s cubic-bezier(.2,.8,.2,1), box-shadow .5s;
    box-shadow:var(--shadow-sm);
    isolation:isolate;
  }
  .ride-card::before{
    content:''; position:absolute; inset:0; z-index:-2;
  }
  .ride-card.taxi::before{background:linear-gradient(155deg,#0F172A,#233854 70%);}
  .ride-card.rental::before{background:linear-gradient(155deg,var(--green-2),#0a6b52 75%);}
  .ride-card::after{
    content:''; position:absolute; inset:0; z-index:-1; opacity:0;
    background:radial-gradient(circle at 30% 20%, rgba(255,255,255,.18), transparent 60%);
    transition:opacity .5s;
  }
  .ride-card:hover{transform:translateY(-10px); box-shadow:0 40px 70px -20px rgba(15,42,70,.45);}
  .ride-card:hover::after{opacity:1;}
  .ride-card .icon-orb{
    width:60px;height:60px;border-radius:18px;
    background:rgba(255,255,255,.14);
    display:flex; align-items:center; justify-content:center;
    margin-bottom:22px;
    transition:transform .5s;
  }
  .ride-card:hover .icon-orb{transform:rotate(-8deg) scale(1.08);}
  .ride-card .icon-orb svg{width:28px;height:28px;color:#fff;}
  .ride-card h3{color:#fff; font-size:1.7rem; font-weight:600;}
  .ride-card ul{margin-top:16px; display:flex; flex-direction:column; gap:8px;}
  .ride-card ul li{color:rgba(255,255,255,.75); font-size:.92rem; display:flex; align-items:center; gap:9px;}
  .ride-card ul li svg{width:14px;height:14px; color:var(--green-1); flex-shrink:0;}
  .ride-card.taxi ul li svg{color:#6BA8D6;}
  .ride-card .cbtn{
    margin-top:26px; display:inline-flex; align-items:center; gap:8px;
    background:#fff; color:var(--navy); padding:13px 26px; border-radius:100px;
    font-weight:700; font-size:.88rem; width:fit-content;
    transition:transform .3s;
  }
  .ride-card:hover .cbtn{transform:translateX(4px);}

  /* ============ FLEET ============ */
  .fleet{padding:100px 0; background:linear-gradient(180deg, transparent, rgba(255,255,255,.5));}
  .fleet-scroller{
    display:grid; grid-template-columns:repeat(4, 1fr); gap:24px;
  }
  .car-card{
    background:rgba(255,255,255,.7);
    backdrop-filter:blur(14px);
    border:1px solid rgba(255,255,255,.8);
    border-radius:var(--r-md);
    padding:0 0 26px;
    overflow:hidden;
    box-shadow:var(--shadow-sm);
    transition:transform .1s linear, box-shadow .4s;
    position:relative;
  }
  .car-card:hover{box-shadow:0 30px 55px -18px rgba(15,42,70,.35);}
  .car-card .stage{
    height:150px; margin:18px 18px 4px;
    border-radius:14px;
    background:linear-gradient(160deg, var(--misty), #c9e4f7);
    display:flex; align-items:center; justify-content:center;
    position:relative; overflow:hidden;
  }
  .car-card .stage svg{width:80%; height:auto; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .car-card .stage img{
    width:100%; height:100%; object-fit:cover; border-radius:14px;
    transition:transform .5s cubic-bezier(.2,.8,.2,1);
  }
  .car-card:hover .stage svg{transform:scale(1.08) translateY(-4px);}
  .car-card:hover .stage img{transform:scale(1.08);}
  .car-card .stage::after{
    content:''; position:absolute; bottom:10px; left:10%; width:80%; height:10px;
    background:radial-gradient(ellipse, rgba(15,23,42,.18), transparent 70%);
    filter:blur(3px);
  }
  .car-card .body{padding:16px 22px 0;}
  .car-card h4{font-size:1.15rem; font-weight:700;}
  .car-specs{display:flex; gap:12px; margin-top:10px; flex-wrap:wrap;}
  .car-specs span{
    display:flex; align-items:center; gap:5px;
    font-size:.74rem; color:var(--ink-60); font-weight:600;
  }
  .car-specs svg{width:13px;height:13px; color:var(--mountain);}
  .car-foot{display:flex; align-items:center; justify-content:space-between; margin-top:18px;}
  .price{font-family:'JetBrains Mono', monospace; font-weight:600; color:var(--navy);}
  .price small{color:var(--ink-40); font-weight:500;}
  .book-now{
    background:var(--navy); color:#fff; padding:10px 20px; border-radius:100px;
    font-weight:700; font-size:.8rem;
    transition:background .3s, transform .3s;
  }
  .book-now:hover{background:linear-gradient(135deg,var(--green-1),var(--green-2)); transform:translateY(-2px);}

  /* ============ FARE TABLE ============ */
  .fare-wrap{margin-top:56px;}
  .fare-panel{
    background:var(--glass);
    backdrop-filter:blur(20px) saturate(160%);
    border:1px solid var(--glass-brd);
    border-radius:var(--r-lg);
    box-shadow:var(--shadow-sm);
    overflow:hidden;
    position:relative;
  }
  .fare-panel::before{
    content:'';
    position:absolute; top:0; left:0; right:0; height:6px;
    background:linear-gradient(90deg,var(--mountain),var(--green-1),var(--green-2),var(--mountain));
    background-size:300% 100%;
    animation:fareGlow 8s linear infinite;
  }
  @keyframes fareGlow{0%{background-position:0% 0;}100%{background-position:300% 0;}}
  .fare-head{
    display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:14px;
    padding:34px 38px 24px;
  }
  .fare-head h3{font-size:1.55rem; font-weight:600;}
  .fare-head-tag{
    font-size:.72rem; color:var(--ink-40); letter-spacing:.06em; text-transform:uppercase;
    background:rgba(15,23,42,.05); padding:8px 14px; border-radius:100px; font-weight:600;
  }
  .fare-table-scroll{overflow-x:auto; padding:0 38px;}
  .fare-swipe-hint{
    display:none; align-items:center; gap:8px;
    font-size:.72rem; color:var(--ink-40); font-weight:600;
    padding:0 38px 10px;
  }
  .fare-swipe-hint svg{width:14px;height:14px;}
  table.fare-table{width:100%; border-collapse:collapse; min-width:460px;}
  .fare-table thead th{
    text-align:left; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em;
    color:#fff; background:linear-gradient(135deg,var(--mountain),#4E8FBF);
    padding:16px 20px; font-weight:700;
  }
  .fare-table thead th:first-child{border-radius:14px 0 0 14px;}
  .fare-table thead th:last-child{border-radius:0 14px 14px 0;}
  .fare-table tbody td{
    padding:16px 20px; font-size:.95rem; font-weight:600; color:var(--navy);
    border-bottom:1px solid rgba(15,23,42,.06);
    transition:background .25s;
  }
  .fare-table tbody tr:nth-child(even) td{background:rgba(107,168,214,.1);}
  .fare-table tbody tr:hover td{background:rgba(24,181,123,.14);}
  .fare-table tbody td.mono{color:var(--green-2); font-weight:700;}
  .car-dot{
    display:inline-block; width:8px; height:8px; border-radius:50%;
    background:linear-gradient(135deg,var(--green-1),var(--green-2));
    margin-right:10px; vertical-align:middle;
  }
  .fare-foot{
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
    padding:26px 38px 34px;
  }
  .fare-foot p{font-size:.82rem; color:var(--ink-60); max-width:440px; line-height:1.6;}
  .fare-call{
    display:inline-flex; align-items:center; gap:10px;
    background:var(--navy); color:#fff; padding:14px 24px; border-radius:100px;
    font-weight:700; font-size:.86rem; white-space:nowrap;
    transition:transform .3s, background .3s;
  }
  .fare-call svg{width:16px;height:16px;}
  .fare-call:hover{background:linear-gradient(135deg,var(--green-1),var(--green-2)); transform:translateY(-2px);}
  @media (max-width:640px){
    .fare-head, .fare-table-scroll, .fare-foot{padding-left:22px; padding-right:22px;}
    .fare-foot{flex-direction:column; align-items:flex-start;}
  }

  /* ============ FEATURES ============ */
  .features{padding:100px 0;}
  .feat-grid{
    display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;
  }
  .feat-item{
    background:rgba(255,255,255,.55);
    border:1px solid rgba(255,255,255,.8);
    backdrop-filter:blur(10px);
    border-radius:20px;
    padding:32px 28px;
    display:flex; gap:18px; align-items:flex-start;
    transition:transform .4s, box-shadow .4s;
  }
  .feat-item:hover{transform:translateY(-6px); box-shadow:var(--shadow-sm);}
  .feat-icon{
    width:52px;height:52px; border-radius:15px; flex-shrink:0;
    background:linear-gradient(135deg, rgba(24,181,123,.15), rgba(107,168,214,.18));
    display:flex; align-items:center; justify-content:center;
    transition:transform .4s;
  }
  .feat-item:hover .feat-icon{transform:scale(1.1) rotate(6deg);}
  .feat-icon svg{width:24px;height:24px; color:var(--green-2);}
  .feat-item h4{font-size:1.02rem; font-weight:700; margin-bottom:6px;}
  .feat-item p{font-size:.86rem; color:var(--ink-60); line-height:1.5;}

  /* ============ PACKAGES ============ */
  .packages{padding:100px 0; background:linear-gradient(180deg, rgba(255,255,255,.5), transparent);}
  .pkg-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px;}
  .pkg-card{
    border-radius:var(--r-md); overflow:hidden;
    background:#fff; box-shadow:var(--shadow-sm);
    transition:transform .4s, box-shadow .4s;
  }
  .pkg-card:hover{transform:translateY(-8px); box-shadow:0 30px 55px -18px rgba(15,42,70,.32);}
  .pkg-img{
    height:190px; position:relative; overflow:hidden;
  }
  .pkg-img svg{width:100%; height:100%;}
  .pkg-img img{width:100%; height:100%; object-fit:cover; transition:transform .5s cubic-bezier(.2,.8,.2,1);}
  .pkg-card:hover .pkg-img img{transform:scale(1.08);}
  .pkg-dur{
    position:absolute; top:14px; right:14px;
    background:rgba(15,23,42,.7); color:#fff; backdrop-filter:blur(6px);
    padding:6px 14px; border-radius:100px; font-size:.72rem; font-weight:600;
    display:flex; align-items:center; gap:6px;
  }
  .pkg-dur svg{width:12px;height:12px;}
  .pkg-body{padding:22px 22px 24px;}
  .pkg-body h4{font-size:1.1rem; font-weight:700;}
  .pkg-body p{font-size:.84rem; color:var(--ink-60); margin-top:6px;}
  .pkg-foot{display:flex; align-items:center; justify-content:space-between; margin-top:18px;}

  /* ============ TESTIMONIALS ============ */
  .testimonials{padding:100px 0;}
  .test-track-wrap{position:relative; max-width:820px; margin:0 auto;}
  .test-card{
    background:var(--glass); backdrop-filter:blur(18px);
    border:1px solid var(--glass-brd);
    border-radius:24px; padding:44px 48px;
    box-shadow:var(--shadow-sm);
    text-align:center;
    display:none;
  }
  .test-card.active{display:block; animation:reveal .6s ease forwards;}
  .stars{display:flex; gap:4px; justify-content:center; margin-bottom:20px;}
  .stars svg{width:18px;height:18px; color:#F5B324;}
  .test-card p.quote{font-size:1.15rem; font-family:'Fraunces', serif; font-style:italic; line-height:1.6; color:var(--navy);}
  .test-person{display:flex; align-items:center; justify-content:center; gap:12px; margin-top:26px;}
  .avatar{
    width:44px;height:44px;border-radius:50%;
    background:linear-gradient(135deg,var(--mountain),var(--green-2));
    display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700;
  }
  .test-person .who{text-align:left;}
  .test-person .who strong{display:block; font-size:.92rem;}
  .test-person .who span{font-size:.78rem; color:var(--ink-60);}
  .test-dots{display:flex; gap:8px; justify-content:center; margin-top:28px;}
  .test-dots button{width:8px; height:8px; border-radius:50%; background:rgba(15,23,42,.2); transition:all .3s;}
  .test-dots button.active{width:26px; border-radius:6px; background:var(--green-2);}

  /* ============ STATS ============ */
  .stats{
    padding:70px 0;
    background:linear-gradient(135deg, rgba(15,23,42,.04), rgba(107,168,214,.08));
  }
  .stats-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center;}
  .stat-num{
    font-family:'Fraunces', serif; font-size:clamp(2.2rem,4vw,3.2rem); font-weight:600; color:var(--navy);
  }
  .stat-num .plus{color:var(--green-2);}
  .stat-label{font-size:.84rem; color:var(--ink-60); font-weight:600; margin-top:6px;}

  /* ============ CTA ============ */
  .cta{
    position:relative; overflow:hidden;
    padding:110px 0;
    background:linear-gradient(160deg, var(--navy) 0%, #123a2f 100%);
  }
  .cta-bg-hill{position:absolute; bottom:-2px; left:0; width:100%; opacity:.5;}
  .cta-mist{
    position:absolute; inset:0;
    background:radial-gradient(ellipse at 30% 100%, rgba(24,181,123,.35), transparent 55%),
               radial-gradient(ellipse at 80% 20%, rgba(107,168,214,.25), transparent 50%);
    animation:pulseGlow 8s ease-in-out infinite;
  }
  @keyframes pulseGlow{0%,100%{opacity:.7;} 50%{opacity:1;}}
  .cta-inner{position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:40px; flex-wrap:wrap;}
  .cta-inner h2{color:#fff; font-size:clamp(1.9rem,3.6vw,2.7rem); font-weight:600;}
  .cta-inner p{color:rgba(255,255,255,.7); margin-top:12px; max-width:420px;}

  /* ============ FOOTER ============ */
  footer{background:var(--navy); color:rgba(255,255,255,.7); padding:80px 0 30px;}
  .foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px;}
  .foot-logo{display:flex; align-items:center; gap:10px; color:#fff; font-weight:800; font-size:1.1rem; margin-bottom:16px;}
  footer p.desc{font-size:.88rem; line-height:1.6; max-width:280px;}
  .foot-social{display:flex; gap:10px; margin-top:20px;}
  .foot-social a{
    width:38px; height:38px; border-radius:10px; background:rgba(255,255,255,.08);
    display:flex; align-items:center; justify-content:center; transition:all .3s;
  }
  .foot-social a:hover{background:var(--green-2); transform:translateY(-3px);}
  .foot-social svg{width:16px;height:16px; color:#fff;}
  footer h5{color:#fff; font-size:.85rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:20px; font-weight:700;}
  footer .flinks{display:flex; flex-direction:column; gap:12px;}
  footer .flinks a{font-size:.9rem; transition:color .3s;}
  footer .flinks a:hover{color:#fff;}
  .foot-contact li{display:flex; gap:10px; font-size:.88rem; margin-bottom:14px; align-items:flex-start;}
  .foot-contact svg{width:16px;height:16px; color:var(--green-1); flex-shrink:0; margin-top:2px;}
  .foot-bottom{
    margin-top:60px; padding-top:26px; border-top:1px solid rgba(255,255,255,.1);
    display:flex; justify-content:space-between; font-size:.8rem; flex-wrap:wrap; gap:10px;
  }

  .whatsapp-float{
    position:fixed; bottom:28px; right:28px; z-index:900;
    width:60px;height:60px; border-radius:50%;
    background:#25D366; display:flex; align-items:center; justify-content:center;
    box-shadow:0 15px 35px -8px rgba(37,211,102,.6);
    animation:bob 3s ease-in-out infinite;
  }
  .whatsapp-float svg{width:28px;height:28px; color:#fff;}
  @keyframes bob{0%,100%{transform:translateY(0);} 50%{transform:translateY(-8px);}}

  /* ============ BOOKING PAGE ============ */
  .booking-page{
    position:fixed; inset:0; z-index:4000;
    background:linear-gradient(180deg,#EAF4FF, var(--misty) 55%, #cfe6f7);
    overflow-y:auto;
    opacity:0; visibility:hidden; transform:translateY(28px);
    transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1), visibility 0s linear .5s;
  }
  .booking-page.open{
    opacity:1; visibility:visible; transform:translateY(0);
    transition:opacity .5s ease, transform .5s cubic-bezier(.2,.8,.2,1), visibility 0s linear 0s;
  }
  body.no-scroll{overflow:hidden;}
  .booking-topbar{
    display:flex; align-items:center; justify-content:space-between;
    padding:22px 32px; position:sticky; top:0; z-index:5;
    background:rgba(255,255,255,.65); backdrop-filter:blur(16px);
    box-shadow:0 4px 20px rgba(15,42,70,.06);
  }
  .booking-back{
    display:flex; align-items:center; gap:8px; font-weight:700; font-size:.88rem; color:var(--navy);
    background:rgba(255,255,255,.75); padding:10px 18px; border-radius:100px; transition:transform .3s;
  }
  .booking-back:hover{transform:translateX(-3px);}
  .booking-wrap{max-width:720px; margin:0 auto; padding:50px 32px 100px;}
  .booking-head{text-align:center; margin-bottom:36px;}
  .booking-head h2{font-size:clamp(1.8rem,3.4vw,2.5rem); font-weight:600; margin-top:12px;}
  .booking-form{
    background:var(--glass); backdrop-filter:blur(20px) saturate(160%);
    border:1px solid var(--glass-brd); border-radius:var(--r-lg);
    padding:40px; box-shadow:var(--shadow-lg); display:grid; gap:22px;
  }
  .form-row{display:grid; grid-template-columns:1fr 1fr; gap:22px;}
  .form-group{display:flex; flex-direction:column; gap:8px;}
  .form-group label{
    font-family:'JetBrains Mono', monospace; font-size:.7rem; text-transform:uppercase;
    letter-spacing:.1em; color:var(--ink-60); font-weight:700;
  }
  .form-group input, .form-group textarea{
    border:1.5px solid rgba(15,23,42,.14); background:rgba(255,255,255,.75); border-radius:14px;
    padding:14px 16px; font-family:inherit; font-size:.95rem; color:#000; font-weight:700;
    outline:none; transition:border-color .3s, box-shadow .3s; resize:vertical;
  }
  .form-group input::placeholder, .form-group textarea::placeholder{color:rgba(0,0,0,.45); font-weight:600;}
  .form-group input:focus, .form-group textarea:focus{border-color:var(--green-2); box-shadow:0 0 0 4px rgba(24,181,123,.15);}
  .form-group input.invalid, .form-group textarea.invalid{border-color:#E0483F; box-shadow:0 0 0 4px rgba(224,72,63,.12);}
  .form-error{font-size:.74rem; color:#E0483F; font-weight:700; min-height:14px;}
  .car-select-btn{
    display:flex; align-items:center; justify-content:space-between;
    border:1.5px solid rgba(15,23,42,.14); background:rgba(255,255,255,.75); border-radius:14px;
    padding:14px 16px; font-weight:700; color:#000; font-size:.95rem; cursor:pointer; width:100%;
    transition:border-color .3s;
  }
  .car-select-btn.invalid{border-color:#E0483F;}
  .car-select-btn svg{width:16px;height:16px; color:var(--green-2); flex-shrink:0;}
  .booking-submit{margin-top:6px;}

  /* ============ CAR SELECTOR POPUP ============ */
  .car-popup-overlay{
    position:fixed; inset:0; z-index:6000;
    background:rgba(15,23,42,.55); backdrop-filter:blur(4px);
    display:flex; align-items:center; justify-content:center;
    opacity:0; visibility:hidden; transition:opacity .35s ease, visibility 0s linear .35s;
    padding:20px;
  }
  .car-popup-overlay.open{opacity:1; visibility:visible; transition:opacity .35s ease;}
  .car-popup{
    background:#fff; border-radius:24px; padding:30px; width:min(92vw,480px);
    box-shadow:var(--shadow-lg); transform:scale(.9); transition:transform .35s cubic-bezier(.2,.8,.2,1);
  }
  .car-popup-overlay.open .car-popup{transform:scale(1);}
  .car-popup-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:20px;}
  .car-popup-head h4{font-size:1.2rem; font-weight:700;}
  .car-popup-close{
    width:32px; height:32px; border-radius:50%; background:rgba(15,23,42,.06);
    font-size:1rem; color:var(--navy); transition:background .3s;
  }
  .car-popup-close:hover{background:rgba(15,23,42,.12);}
  .car-popup-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
  .car-chip{
    padding:14px 12px; border-radius:14px; border:1.5px solid rgba(15,23,42,.1);
    background:rgba(220,238,255,.45); font-weight:700; font-size:.86rem; text-align:left;
    color:var(--navy); transition:all .25s;
  }
  .car-chip:hover{border-color:var(--green-2); background:rgba(24,181,123,.12); transform:translateY(-2px);}
  .car-chip.selected{background:linear-gradient(135deg,var(--green-1),var(--green-2)); color:#fff; border-color:transparent;}

  /* ============ FOG SUCCESS OVERLAY ============ */
  .fog-overlay{
    position:fixed; inset:0; z-index:9000; overflow:hidden;
    opacity:0; pointer-events:none; transition:opacity 1s ease;
  }
  .fog-overlay::before{
    content:''; position:absolute; inset:0;
    background:linear-gradient(160deg, rgba(220,238,255,.97), rgba(107,168,214,.92) 55%, rgba(220,238,255,.97));
  }
  .fog-overlay.show{opacity:1; pointer-events:all;}
  .fog-blob{
    position:absolute; border-radius:50%; background:rgba(255,255,255,.6); filter:blur(50px);
  }
  .fog-blob.b1{width:520px; height:520px; top:-10%; left:-10%; animation:fogSwirl1 9s ease-in-out infinite;}
  .fog-blob.b2{width:460px; height:460px; top:20%; right:-12%; animation:fogSwirl2 11s ease-in-out infinite;}
  .fog-blob.b3{width:600px; height:600px; bottom:-15%; left:10%; animation:fogSwirl3 13s ease-in-out infinite;}
  .fog-blob.b4{width:380px; height:380px; bottom:0%; right:5%; animation:fogSwirl1 10s ease-in-out infinite reverse;}
  .fog-blob.b5{width:340px; height:340px; top:40%; left:35%; animation:fogSwirl2 8s ease-in-out infinite reverse;}
  .fog-blob.b6{width:300px; height:300px; top:5%; left:50%; animation:fogSwirl3 12s ease-in-out infinite;}
  @keyframes fogSwirl1{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(6%,4%) scale(1.25);}}
  @keyframes fogSwirl2{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-8%,3%) scale(1.15);}}
  @keyframes fogSwirl3{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(4%,-6%) scale(1.3);}}
  .fog-toast{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-40%) scale(.85);
    opacity:0; transition:all .6s cubic-bezier(.2,.8,.2,1); text-align:center; z-index:2;
    width:90%; max-width:540px;
  }
  .fog-toast.show{opacity:1; transform:translate(-50%,-50%) scale(1);}
  .fog-toast h3{
    font-family:'Fraunces', serif; font-weight:600; font-size:clamp(1.4rem,4vw,2.2rem); line-height:1.35;
    background:linear-gradient(135deg,#0F172A,#1E3A8A,#0F172A);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }
  .fog-toast .sub{
    margin-top:14px; font-family:'JetBrains Mono', monospace; font-size:.85rem; letter-spacing:.1em;
    text-transform:uppercase; font-weight:700;
    background:linear-gradient(135deg,#0F172A,#1E3A8A);
    -webkit-background-clip:text; background-clip:text; color:transparent;
  }

  /* ============ RESPONSIVE ============ */
  @media (max-width:1080px){
    .hero-grid{grid-template-columns:1fr; text-align:center;}
    .hero-copy p.sub{margin-left:auto; margin-right:auto;}
    .hero-actions{justify-content:center;}
    .hero-car-wrap{max-width:480px; margin:36px auto 0; order:-1;}
    .fleet-scroller{grid-template-columns:repeat(2,1fr);}
    .feat-grid{grid-template-columns:repeat(2,1fr);}
    .pkg-grid{grid-template-columns:repeat(2,1fr);}
    .ticket{grid-template-columns:1fr;}
    .ticket-tabs{flex-direction:row;}
    .ticket-tabs::after{display:none;}
    .ticket-fields{grid-template-columns:repeat(2,1fr);}
    .field{border-right:none; border-bottom:1px dashed rgba(15,23,42,.15); padding:14px 6px;}
    .field-search{grid-column:span 2; padding-left:6px;}
    .cta-inner{text-align:center; justify-content:center;}
    .cta-inner p{margin-left:auto; margin-right:auto;}
  }

  @media (max-width:820px){
    .nav-links{display:none;}
    .burger{display:flex;}
    .ride-options, .fleet, .features, .packages, .testimonials{padding:72px 0;}
    .stats{padding:50px 0;}
    .section-head{margin-bottom:40px;}
    .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:32px;}
    .foot-grid{grid-template-columns:repeat(2,1fr); row-gap:36px;}
  }

  @media (max-width:680px){
    .ride-grid{grid-template-columns:1fr;}
    .fleet-scroller{grid-template-columns:1fr;}
    .feat-grid{grid-template-columns:1fr;}
    .pkg-grid{grid-template-columns:1fr;}
  }

  @media (max-width:560px){
    .container{padding:0 18px;}
    header{padding:16px 0;}
    header.scrolled{padding:10px 0;}
    .logo{font-size:1rem; gap:9px;}
    .logo .mark{width:38px; height:38px; border-radius:11px;}
    .foot-logo.logo-img{height:38px;}
    .logo-badge{padding:7px 14px;}
    .logo-badge img{height:30px;}

    .hero{min-height:auto; padding-bottom:60px;}
    .hero-inner{padding-top:76px;}
    .hero-copy h1{font-size:clamp(2.1rem,9vw,2.6rem);}
    .hero-copy p.sub{font-size:1rem;}
    .hero-actions{flex-direction:column; align-items:stretch;}
    .hero-actions a{justify-content:center;}
    .hero-car-wrap{max-width:320px;}

    .ticket-wrap{margin-top:34px;}
    .ticket{border-radius:20px;}
    .ticket-tabs{padding:14px; gap:6px; overflow-x:auto;}
    .tab-btn{padding:10px 12px; font-size:.8rem; white-space:nowrap;}
    .ticket-fields{grid-template-columns:1fr; padding:18px 18px 22px;}
    .field{padding:12px 0; border-bottom:1px dashed rgba(15,23,42,.15);}
    .field:first-child{padding-top:0;}
    .field-search{grid-column:span 1; padding-left:0; padding-top:16px;}
    .search-btn{
      width:100%; height:54px; border-radius:16px;
      flex-direction:row; gap:10px;
    }
    .search-btn-label{display:inline; font-weight:700; font-size:.92rem;}

    section{overflow-x:clip;}
    .section-head p{font-size:.92rem;}
    .ride-card{padding:34px 26px; min-height:auto;}
    .ride-card h3{font-size:1.4rem;}

    .fleet-scroller{gap:18px;}
    .fare-head{padding:26px 20px 18px; flex-direction:column; align-items:flex-start;}
    .fare-table-scroll{padding:0 20px;}
    .fare-swipe-hint{padding:0 20px 8px;}
    table.fare-table{min-width:420px;}
    .fare-table thead th, .fare-table tbody td{padding:13px 14px; font-size:.85rem;}
    .fare-foot{padding:20px 20px 28px; flex-direction:column; align-items:stretch;}
    .fare-call{justify-content:center;}
    .fare-swipe-hint{display:flex;}

    .feat-item{padding:26px 22px;}
    .test-card{padding:32px 24px;}
    .test-card p.quote{font-size:1rem;}

    .stats-grid{grid-template-columns:repeat(2,1fr); row-gap:26px;}
    .stat-num{font-size:2rem;}

    .cta{padding:70px 0;}
    .cta-inner{gap:26px;}
    .cta-inner .grad-btn{width:100%; justify-content:center;}

    footer{padding:56px 0 24px;}
    .foot-grid{grid-template-columns:1fr; row-gap:32px;}
    .foot-bottom{flex-direction:column; text-align:center;}

    .whatsapp-float{width:52px; height:52px; bottom:18px; right:18px;}
    .whatsapp-float svg{width:24px;height:24px;}

    .booking-topbar{padding:16px 18px;}
    .booking-back span{display:none;}
    .booking-wrap{padding:32px 18px 70px;}
    .booking-form{padding:26px 20px;}
    .form-row{grid-template-columns:1fr;}
    .car-popup{padding:22px;}
    .car-popup-grid{grid-template-columns:1fr;}
    .fog-toast h3{font-size:1.4rem;}
  }

  @media (prefers-reduced-motion: reduce){
    *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important;}
  }
