/*==============================================
      RESET & TOKENS
    ==============================================*/
    *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
    :root{
      --gold:#A67D44;
      --gold-l:#B8915C;
      --gold-d:#7D5E33; --btn:#CDBCAB; --btn-ink:#232A38; --btn-d:#B6A590;
      --bg:#EFE9E1;
      --bg2:#F4F0E9;
      --bg3:#E6E0D6;
      --bg4:#DCD5CA;
      --text:#1C1714;
      --text2:rgba(28,23,20,.68);
      --text3:rgba(28,23,20,.44);
      --border:rgba(140,100,40,.14);
      --border2:rgba(140,100,40,.34);
      --serif:'Cormorant Garamond',Georgia,serif;
      --sans:'Inter',system-ui,sans-serif;
    }
    html{scroll-behavior:smooth;font-size:16px}
    body{background:var(--bg);color:var(--text);font-family:var(--sans);font-weight:300;line-height:1.7;overflow-x:hidden}
    ::selection{background:var(--gold);color:var(--bg)}
    ::-webkit-scrollbar{width:3px}
    ::-webkit-scrollbar-track{background:var(--bg2)}
    ::-webkit-scrollbar-thumb{background:var(--gold-d)}
    h1,h2,h3,h4{font-family:var(--serif);font-weight:300;line-height:1.12}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    .overline{font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-family:var(--sans)}
    .gold{color:var(--gold)}

    /*==============================================
      NAV
    ==============================================*/
    nav{
      position:fixed;top:0;left:0;right:0;z-index:200;
      display:flex;align-items:center;justify-content:space-between;
      padding:0 5rem;height:78px;
      background:#232A38;border-bottom:1px solid rgba(255,255,255,.08);
      transition:background .4s,border-color .4s;
    }
    nav.scrolled{
      background:rgba(35,42,56,.97);backdrop-filter:blur(24px);
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .nav-logo a{display:flex;align-items:center}
    .nav-logo img{height:32px;width:auto}
    .nav-links{display:flex;gap:2.5rem;list-style:none}
    .nav-links a{
      font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;
      color:rgba(245,242,236,.65);transition:color .3s;
    }
    .nav-links a:hover{color:rgba(245,242,236,1)}
    .nav-right{display:flex;align-items:center;gap:1.8rem}
    .nav-phone{
      font-size:.74rem;color:rgba(245,242,236,.55);letter-spacing:.04em;
      transition:color .3s;
    }
    .nav-phone:hover{color:var(--gold)}
    .btn-book{
      padding:.52rem 1.5rem;
      font-size:.67rem;font-weight:500;letter-spacing:.2em;text-transform:uppercase;
      border:1px solid var(--border2);color:var(--gold);background:transparent;
      cursor:pointer;font-family:var(--sans);transition:background .3s,border-color .3s;
    }
    .btn-book:hover{background:rgba(166,125,68,.09);border-color:var(--gold)}
    @media(max-width:1024px){.nav-links{display:none};nav{padding:0 2rem}}

    /*==============================================
      HERO
    ==============================================*/
    .hero{
      min-height:100vh;position:relative;
      display:flex;align-items:center;
      padding:0 5rem;overflow:hidden;
      background:#232A38;
    }
    /* Hero slideshow */
    .hero-slide{
      position:absolute;inset:0;
      background-size:cover;
      background-position:center 42%;
      opacity:0;
      transition:opacity 1.8s ease-in-out;
      z-index:0;
    }
    .hero-slide.active{opacity:1}
    .hero-slide-1{background-image:url('../fleet-hero.jpg')}
    .hero-slide-2{background-image:url('../interior-hero.jpg');background-position:center 48%}
    /* Video hero slide */
    .hero-slide-video{background:#232A38}
    .hero-slide-video video{
      position:absolute;inset:0;
      width:100%;height:100%;
      object-fit:cover;
      display:block;
    }
    .hero::before{
      content:'';position:absolute;inset:0;
      background:
        linear-gradient(to right, rgba(35,42,56,.96) 0%, rgba(35,42,56,.9) 44%, rgba(35,42,56,.64) 68%, rgba(35,42,56,.32) 100%),
        linear-gradient(to top, rgba(35,42,56,.78) 0%, rgba(35,42,56,.4) 26%, rgba(35,42,56,.12) 50%, rgba(35,42,56,0) 66%),
        linear-gradient(to bottom, rgba(35,42,56,.55) 0%, rgba(35,42,56,0) 24%);
      z-index:0;
    }
    .hero::after{
      content:'';position:absolute;bottom:0;left:0;right:0;height:180px;
      background:linear-gradient(to top,rgba(35,42,56,1) 0%,transparent 100%);
      z-index:1;
    }
    .hero-content{position:relative;z-index:2;max-width:52%;padding-top:78px}
    .hero-overline{margin-bottom:1.8rem}
    .hero-overline .overline{color:rgba(244,240,232,.92)}
    .hero h1{
      font-family:var(--serif);
      font-size:clamp(2.8rem,5.6vw,5.8rem);
      font-weight:400;letter-spacing:.01em;line-height:1.04;
      margin-bottom:1.8rem;
      color:rgba(244,240,232,.95);
      text-shadow:0 2px 40px rgba(0,0,0,.5);
    }
    .hero h1 em{font-style:italic;color:inherit;transition:color 1.4s ease}
    /* Slide 2 (dark interior): "distinguished travel." returns to gold, as before.
       Slide 1 (bright fleet photo) keeps the whole headline cream for legibility. */
    .hero:has(.hero-slide-2.active) h1 em{color:var(--gold)}
    .hero-sub{
      font-size:.88rem;color:rgba(247,244,238,.97);
      max-width:400px;line-height:1.85;margin-bottom:2.8rem;
      text-shadow:0 1px 2px rgba(0,0,0,.9), 0 2px 22px rgba(0,0,0,.5);
      transition:opacity 1s ease;
    }
    /* Hide the subheadline on slide 1 (fleet photo); it fades in on slide 2 (interior).
       Space is kept so the buttons don't shift as the slideshow cycles. */
    .hero:has(.hero-slide-1.active) .hero-sub{opacity:0}
    .hero-ctas{display:flex;gap:1rem;flex-wrap:wrap}
    .btn-primary{
      display:inline-block;
      padding:.9rem 2.3rem;
      font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
      border:1px solid var(--btn);color:var(--btn-ink);background:var(--btn);
      cursor:pointer;font-family:var(--sans);transition:background .3s,border-color .3s,color .3s;
    }
    .btn-primary:hover{background:#fff;border-color:#fff}
    .btn-ghost{
      display:inline-block;
      padding:.82rem 2.2rem;
      font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
      border:1px solid rgba(244,240,232,.3);color:rgba(244,240,232,.7);background:transparent;
      cursor:pointer;font-family:var(--sans);transition:border-color .3s,color .3s;
    }
    .btn-ghost:hover{border-color:rgba(244,240,232,.6);color:var(--text)}
    .hero-stats{
      position:absolute;bottom:0;left:0;right:0;
      display:flex;gap:0;z-index:3;
      border-top:1px solid rgba(166,125,68,.2);
      background:rgba(35,42,56,.6);backdrop-filter:blur(8px);
    }
    .hero-stat{
      flex:1;padding:1.8rem 2rem;
      border-right:1px solid rgba(166,125,68,.12);
    }
    .hero-stat:last-child{border-right:none}
    .hero-stat-n{
      font-family:var(--serif);font-size:2.5rem;font-weight:300;
      color:var(--gold);line-height:1;margin-bottom:.4rem;
    }
    .hero-stat-l{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,240,232,.45)}
    @media(max-width:900px){
      .hero{padding:100px 1.5rem 6rem;min-height:auto;background-position:70% center}
      .hero-content{max-width:100%;padding-top:0}
      .hero::before{background:rgba(35,42,56,.85)}
      .hero-stats{position:static;margin-top:3rem;flex-wrap:wrap;background:none;backdrop-filter:none;border:none}
      .hero-stat{flex:1 1 45%;border:1px solid var(--border);margin:0;padding:1.5rem}
    }

    /*==============================================
      BOOKING — MULTI-STEP
    ==============================================*/
    .booking{
      background:var(--bg2);
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      padding:3rem 5rem 4rem;
    }
    /* Step bar */
    .bstep-bar{
      display:flex;align-items:center;margin-bottom:3rem;
    }
    .bstep-item{
      display:flex;align-items:center;gap:.7rem;
      opacity:.35;transition:opacity .3s;
    }
    .bstep-item.active{opacity:1}
    .bstep-item.done{opacity:.65}
    .bstep-n{
      width:28px;height:28px;border-radius:50%;
      border:1px solid var(--border2);
      display:flex;align-items:center;justify-content:center;
      font-size:.65rem;font-weight:500;color:var(--text3);
      font-family:var(--sans);flex-shrink:0;
      transition:background .3s,border-color .3s,color .3s;
    }
    .bstep-item.active .bstep-n{background:var(--gold);border-color:var(--gold);color:#fff}
    .bstep-item.done .bstep-n{background:var(--bg3);border-color:var(--border2);color:var(--gold)}
    .bstep-label{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text3)}
    .bstep-item.active .bstep-label{color:var(--text)}
    .bstep-line{flex:1;height:1px;background:var(--border);margin:0 1rem}
    /* Tabs */
    .btabs{
      display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:2.5rem;
      padding:.4rem;border-radius:14px;
      background:rgba(125,94,51,.06);border:1px solid var(--border);
    }
    .btab{
      flex:1 1 auto;white-space:nowrap;text-align:center;
      padding:.92rem 1.5rem;
      font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
      color:var(--text2);cursor:pointer;
      background:transparent;border:none;border-radius:9px;
      font-family:var(--sans);font-weight:600;
      transition:background .25s,color .25s,box-shadow .25s;
    }
    .btab:hover:not(.on){background:rgba(0,0,0,.045);color:var(--text)}
    .btab.on{color:var(--btn-ink);background:var(--btn);box-shadow:0 6px 18px rgba(150,135,105,.34)}
    /* Form fields */
    .bform{display:none}
    .bform.on{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
      gap:1.2rem;align-items:start;
    }
    .bfield{display:flex;flex-direction:column;gap:.4rem;position:relative;min-width:0}
    .bfield-full{grid-column:1/-1;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:.5rem}
    .special-panel{flex-direction:column;align-items:flex-start;gap:1.4rem;margin-top:0}
    .special-panel p{font-size:.94rem;line-height:1.75;color:var(--text2);max-width:660px;margin:0}
    .special-panel strong{color:var(--text);font-weight:600}
    .special-panel .btn-res{display:inline-block;text-decoration:none}
    .bfield label{
      font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--text3);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      min-height:1.1em;
    }
    /* "Use my location" — small floating button on the right of pickup inputs */
    .use-loc{
      position:absolute;
      right:.6rem;bottom:.55rem;
      font-size:.62rem;letter-spacing:.04em;text-transform:none;
      color:var(--gold);cursor:pointer;text-decoration:none;
      padding:.25rem .55rem;background:rgba(166,125,68,.08);
      border:1px solid transparent;border-radius:3px;
      transition:background .2s,border-color .2s;
      white-space:nowrap;line-height:1;
      z-index:2;
    }
    .use-loc:hover{background:rgba(166,125,68,.16);border-color:rgba(166,125,68,.4)}
    .bfield input,.bfield select{
      background:#fff;border:1px solid var(--border);
      color:var(--text);padding:.78rem 1rem;
      font-size:.8rem;font-family:var(--sans);font-weight:300;
      outline:none;transition:border-color .3s,box-shadow .3s;
      height:42px;
    }
    /* Inputs that also have the "use-loc" button need right padding so text doesn't collide */
    .bfield.has-useloc input{padding-right:9rem}
    .bfield input:focus,.bfield select:focus{
      border-color:var(--gold);
      box-shadow:0 0 0 3px rgba(166,125,68,.08);
    }
    .bfield select{appearance:none;cursor:pointer;
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23A67D44' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right 1rem center;
      padding-right:2.4rem;
    }
    .bfield option{background:#fff}
    .bfield-hidden{display:none}
    /* Shared trip-meta row (passengers / luggage / flight) — item 13 */
    .bmeta{
      display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
      gap:1.2rem;align-items:start;
      margin:0 0 1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);
    }
    .bfield label .opt{font-size:.92em;letter-spacing:.04em;text-transform:none;color:var(--text3);opacity:.7;font-weight:400;margin-left:.35rem}
    /* Billing personal/corporate toggle — item 13 */
    .billing-toggle{display:inline-flex;gap:.35rem;margin-top:1rem;background:rgba(0,0,0,.03);padding:.3rem;border-radius:7px;border:1px solid var(--border)}
    .btg{padding:.5rem 1.5rem;font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;font-family:var(--sans);color:var(--text3);background:transparent;border:none;border-radius:5px;cursor:pointer;transition:background .2s,color .2s}
    .btg:hover:not(.on){color:var(--text)}
    .btg.on{background:var(--btn);color:var(--btn-ink)}
    .billing-details .corp-only{display:none}
    .billing-details.corp .corp-only{display:flex}
    .btn-res{
      padding:.82rem 2.5rem;
      background:var(--btn);color:var(--btn-ink);
      border:none;cursor:pointer;
      font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
      font-family:var(--sans);transition:opacity .3s;white-space:nowrap;
    }
    .btn-res:hover{opacity:.88}
    .btn-back{
      padding:.82rem 1.8rem;
      background:transparent;color:var(--text3);
      border:1px solid var(--border);cursor:pointer;
      font-size:.68rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;
      font-family:var(--sans);transition:border-color .3s,color .3s;
    }
    .btn-back:hover{border-color:var(--border2);color:var(--text)}
    /* Step panels */
    .bpanel{display:none}
    .bpanel.active{display:block}
    /* Route summary */
    .route-summary{
      display:flex;gap:3rem;align-items:center;flex-wrap:wrap;
      background:#fff;border:1px solid var(--border);
      padding:1.2rem 2rem;margin-bottom:2.5rem;
      font-size:.78rem;color:var(--text2);
    }
    .rs-item{display:flex;flex-direction:column;gap:.2rem}
    .rs-label{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text3)}
    .rs-val{font-size:.88rem;color:var(--text);font-weight:400}
    .rs-gold{color:var(--gold);font-family:var(--serif);font-size:1.1rem;font-weight:300}
    /* Vehicle cards step 2 */
    .vehicle-grid{
      display:grid;
      grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
      gap:1.5rem;
    }
    .vcard{
      background:#fff;border:1px solid var(--border);
      cursor:pointer;transition:box-shadow .3s,border-color .3s;
      position:relative;
    }
    .vcard:hover,.vcard.selected{
      border-color:var(--gold);
      box-shadow:0 8px 32px rgba(0,0,0,.08);
    }
    .vcard.selected::after{
      content:'✓ Selected';
      position:absolute;top:.8rem;right:.8rem;
      background:var(--gold);color:#fff;
      font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;
      padding:.25rem .7rem;font-family:var(--sans);font-weight:500;
    }
    .vcard-img{width:100%;height:170px;object-fit:cover;display:block;filter:brightness(.95)}
    .vcard-ph{width:100%;height:170px;background:linear-gradient(135deg,var(--bg3),var(--bg2));display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:.75rem;letter-spacing:.1em}
    .vcard-body{padding:1.4rem 1.5rem}
    .vcard-tag{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
    .vcard-name{font-family:var(--serif);font-size:1.3rem;font-weight:300;margin-bottom:.2rem}
    .vcard-sub{font-size:.7rem;color:var(--text3);margin-bottom:1rem}
    .vcard-specs{display:flex;gap:1.5rem;padding:.8rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin-bottom:1rem}
    .vcard-spec-v{font-family:var(--serif);font-size:1.4rem;font-weight:300;line-height:1}
    .vcard-spec-k{font-size:.53rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text3);margin-top:.2rem}
    .vcard-price{
      display:flex;align-items:baseline;gap:.4rem;
    }
    .vcard-price-n{font-family:var(--serif);font-size:1.8rem;font-weight:300;color:var(--gold);line-height:1}
    .vcard-price-s{font-size:.62rem;letter-spacing:.1em;color:var(--text3);text-transform:uppercase}
    .vcard-select{
      display:block;width:100%;margin-top:1rem;
      padding:.65rem;
      background:transparent;border:1px solid var(--border2);
      color:var(--gold);font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;
      font-family:var(--sans);cursor:pointer;transition:background .3s;
    }
    .vcard:hover .vcard-select,.vcard.selected .vcard-select{background:var(--gold);color:#fff;border-color:var(--gold)}
    /* Contact form step 3 */
    .contact-grid{
      display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;
    }
    @media(max-width:600px){.contact-grid{grid-template-columns:1fr}}
    .cfield{display:flex;flex-direction:column;gap:.4rem}
    .cfield label{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3)}
    .cfield input,.cfield select,.cfield textarea{
      background:#fff;border:1px solid var(--border);
      color:var(--text);padding:.72rem 1rem;
      font-size:.8rem;font-family:var(--sans);font-weight:300;
      outline:none;transition:border-color .3s;
    }
    .cfield input:focus,.cfield textarea:focus{border-color:var(--border2)}
    .cfield textarea{resize:vertical;min-height:90px}
    .cfield-full{grid-column:1/-1}
    /* Confirmation step 4 */
    .confirm-box{
      background:#fff;border:1px solid var(--border);
      padding:3rem;max-width:640px;margin:0 auto;
    }
    .confirm-box h3{font-family:var(--serif);font-size:1.8rem;font-weight:300;margin-bottom:.5rem}
    .confirm-box p{font-size:.82rem;color:var(--text2);margin-bottom:2rem;line-height:1.72}
    .confirm-details{
      background:var(--bg2);border-left:3px solid var(--gold);
      padding:1.2rem 1.5rem;margin-bottom:2rem;
      font-size:.8rem;color:var(--text2);line-height:1.85;
    }
    .confirm-actions{display:flex;gap:1rem;flex-wrap:wrap}
    .ca-wa{
      display:inline-flex;align-items:center;gap:.6rem;
      padding:.85rem 2rem;background:#25D366;color:#fff;
      font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
      font-family:var(--sans);text-decoration:none;transition:opacity .3s;border:none;cursor:pointer;
    }
    .ca-wa:hover{opacity:.88}
    .ca-email{
      display:inline-flex;align-items:center;gap:.6rem;
      padding:.85rem 2rem;background:transparent;color:var(--gold);
      font-size:.68rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
      font-family:var(--sans);text-decoration:none;border:1px solid var(--border2);
      transition:background .3s;cursor:pointer;
    }
    .ca-email:hover{background:var(--bg2)}
    @media(max-width:768px){
      .booking{padding:2.5rem 1.5rem}
      .btab{flex:1 1 42%;padding:.8rem .9rem;font-size:.62rem;letter-spacing:.1em}
      .bstep-label{display:none}
      .route-summary{gap:1.5rem}
    }

    /*==============================================
      COMMON SECTION
    ==============================================*/
    .sec{padding:7rem 5rem}
    section[id],div[id^="booking"]{scroll-margin-top:86px}
    .sec-hd{margin-bottom:4.5rem}
    .sec-hd h2{font-size:clamp(1.9rem,3.2vw,3rem);margin-top:.9rem}
    .sec-hd p{font-size:.84rem;color:var(--text2);max-width:460px;margin-top:1.2rem;line-height:1.85}
    @media(max-width:768px){.sec{padding:5rem 1.5rem}}

    /*==============================================
      FLEET — Clean WordPress-style cards
    ==============================================*/
    .fleet{
      background:#fff;
      padding-top:6rem;padding-bottom:5rem;
      overflow:hidden;
    }
    .fleet-head{
      display:flex;justify-content:space-between;align-items:flex-end;
      gap:2rem;flex-wrap:wrap;
      margin-bottom:3rem;
    }
    .fleet-title-wrap{display:flex;flex-direction:column;gap:1.2rem}
    .fleet-rule{
      display:block;width:130px;height:3px;background:var(--gold);
    }
    .fleet-title{
      font-family:var(--serif);
      font-size:clamp(1.9rem, 3.2vw, 3rem);
      font-weight:400;letter-spacing:.05em;
      color:var(--text);line-height:1.05;
    }
    .fleet-cta-pill{
      display:inline-flex;align-items:center;justify-content:center;
      background:#232A38;color:#fff;
      padding:1.1rem 2.4rem;border-radius:999px;
      font-family:var(--sans);font-size:.95rem;font-weight:400;
      letter-spacing:.01em;text-decoration:none;
      transition:background .3s,transform .3s;
      white-space:nowrap;
    }
    .fleet-cta-pill:hover{background:var(--btn);color:var(--btn-ink);transform:translateY(-2px)}
    @media(max-width:720px){
      .fleet-head{flex-direction:column;align-items:flex-start}
      .fleet-cta-pill{width:100%;text-align:center}
    }
    .fleet-swiper{
      width:100%;padding:.5rem 0 2.5rem;
      overflow:visible;
    }
    .fleet-swiper .swiper-slide{height:auto;display:flex}
    .car-card{
      background:#fff;
      border:none;
      box-shadow:none;
      display:flex;flex-direction:column;
      width:100%;
      padding:0 0 1.5rem;
      transition:transform .35s;
    }
    .car-card:hover{transform:translateY(-4px)}
    .car-tagline{
      font-family:var(--sans);font-size:.95rem;
      color:var(--text2);font-weight:300;line-height:1.5;
      margin:.4rem 0 1.4rem;
      min-height:2.8rem;
      overflow:hidden;display:-webkit-box;
      -webkit-line-clamp:1;-webkit-box-orient:vertical;
      text-overflow:ellipsis;
    }
    .car-name{
      font-family:var(--serif);font-size:1.65rem;
      font-weight:500;color:var(--text);
      line-height:1.15;margin-bottom:.3rem;
      letter-spacing:.005em;
    }
    .car-sub{
      font-family:var(--sans);font-size:.6rem;font-weight:600;
      letter-spacing:.22em;text-transform:uppercase;
      color:var(--gold);margin-bottom:.7rem;
    }
    /* Full-bleed magazine photo frame (real backgrounds, object-fit:cover) */
    .car-photo{
      width:100%;aspect-ratio:3/2;
      overflow:hidden;background:#232A38;
      margin-bottom:1.1rem;
    }
    .car-photo--cutout{
      background:#F1EBE2;
      display:flex;align-items:center;justify-content:center;
      padding:1.4rem;
    }
    .car-img{
      width:100%;height:100%;
      object-fit:cover;display:block;
      transition:transform .7s ease;
    }
    .car-photo--cutout .car-img{
      object-fit:contain;
      filter:drop-shadow(0 12px 12px rgba(0,0,0,.12));
    }
    .car-card:hover .car-img{transform:scale(1.05)}
    .car-placeholder{
      width:100%;height:100%;
      display:flex;align-items:center;justify-content:center;
      font-family:var(--serif);font-size:1rem;font-weight:300;
      color:rgba(140,100,40,.4);letter-spacing:.1em;
    }
    /* Spec pills (passengers / luggage) */
    .car-specs{
      display:flex;gap:.7rem;flex-wrap:wrap;
      padding:0;border:none;margin:0;
    }
    .car-spec-pill{
      display:inline-flex;align-items:center;gap:.55rem;
      background:#F4F4F5;
      padding:.55rem 1.1rem .55rem .85rem;
      border-radius:999px;
      font-family:var(--sans);font-size:.85rem;color:var(--text);
      font-weight:400;
    }
    .car-spec-pill svg{
      width:18px;height:18px;color:#232A38;flex-shrink:0;
    }
    /* Carousel nav — small ‹ › arrows aligned left at bottom */
    .fleet-nav{
      display:flex;align-items:center;gap:.8rem;
      margin-top:1rem;
    }
    .fleet-prev,.fleet-next{
      width:48px;height:48px;border-radius:50%;
      background:#fff;border:1px solid var(--border);
      color:var(--text);font-size:1.2rem;cursor:pointer;
      display:flex;align-items:center;justify-content:center;
      transition:background .25s,color .25s,border-color .25s;
      font-family:var(--sans);
    }
    .fleet-prev:hover,.fleet-next:hover{
      background:#232A38;color:#fff;border-color:#232A38;
    }
    .fleet-prev.swiper-button-disabled,
    .fleet-next.swiper-button-disabled{
      opacity:.4;cursor:default;pointer-events:none;
    }

    /* PRESTIGE CARS — variant of fleet section */
    .fleet.prestige{
      background:#FAF7F1;
      padding-top:5rem;padding-bottom:6rem;
    }
    .fleet-cta-pill.prestige-cta{
      background:var(--btn);color:var(--btn-ink);
    }
    .fleet-cta-pill.prestige-cta:hover{
      background:var(--btn-d);
    }

    /*==============================================
      WHAT IS PHENOM
    ==============================================*/
    .what-is-phenom{
      background:#fff;
      padding-top:5rem;padding-bottom:5rem;
    }
    .wip-grid{
      display:grid;
      grid-template-columns:1fr 1.2fr;
      gap:4rem;align-items:center;
    }
    @media(max-width:880px){
      .wip-grid{grid-template-columns:1fr;gap:1.5rem}
    }
    /* When video is on the left */
    .wip-grid-video{
      grid-template-columns:1.4fr 1fr;
      gap:3.5rem;
      align-items:center;
    }
    @media(max-width:880px){.wip-grid-video{grid-template-columns:1fr;gap:2rem}}
    .wip-video-wrap{
      width:100%;aspect-ratio:16/9;
      position:relative;overflow:hidden;
      background:#232A38;
      box-shadow:0 30px 70px -30px rgba(28,23,20,.45);
    }
    .wip-video{
      width:100%;height:100%;
      object-fit:cover;display:block;
    }
    /* Subtle bottom overlay for elegance */
    .wip-video-wrap::after{
      content:'';position:absolute;inset:auto 0 0 0;height:30%;
      background:linear-gradient(180deg,transparent 0%,rgba(28,23,20,.35) 100%);
      pointer-events:none;
    }
    .wip-rule{
      display:block;width:130px;height:3px;background:var(--gold);
      margin-bottom:1.2rem;
    }
    .wip-overline{
      font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
      color:var(--gold);font-weight:500;display:block;margin-bottom:1rem;
    }
    .wip-title{
      font-family:var(--sans);
      font-size:clamp(2rem, 4.6vw, 3.6rem);
      font-weight:700;letter-spacing:.06em;
      color:var(--text);line-height:1.05;
    }
    .wip-title em{
      font-style:normal;color:var(--gold);font-weight:700;
    }
    .wip-right p{
      font-family:var(--sans);
      font-size:1.05rem;line-height:1.7;font-weight:300;
      color:var(--text2);margin-bottom:1.6rem;
    }
    .wip-cta{
      display:inline-flex;align-items:center;gap:.6rem;
      font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;
      color:var(--gold);font-weight:500;
      border-bottom:1px solid rgba(166,125,68,.4);padding-bottom:6px;
      transition:letter-spacing .3s,border-color .3s;
    }
    .wip-cta:hover{letter-spacing:.28em;border-color:var(--gold)}

    /*==============================================
      PRIVATE CONCIERGE
    ==============================================*/
    .concierge{
      background:var(--bg2);
      padding-top:6rem;padding-bottom:6rem;
    }
    .concierge-intro{
      max-width:920px;
      font-family:var(--sans);font-weight:300;
      font-size:1rem;color:var(--text2);line-height:1.75;
      margin:1.6rem 0 3.2rem;
    }
    .concierge-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:1.6rem;
    }
    @media(max-width:1024px){.concierge-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:600px){.concierge-grid{grid-template-columns:1fr}}
    .concierge-card{
      background:#fff;
      padding:2.4rem 1.8rem;
      display:flex;flex-direction:column;align-items:center;text-align:center;
      border:1px solid var(--border);
      transition:transform .35s, border-color .35s, box-shadow .35s;
    }
    .concierge-card:hover{
      transform:translateY(-4px);
      border-color:var(--gold);
      box-shadow:0 18px 40px -18px rgba(28,23,20,.18);
    }
    .concierge-icon{
      width:108px;height:108px;border-radius:50%;
      overflow:hidden;margin-bottom:1.6rem;
      background:#F7F2E9;
      display:flex;align-items:center;justify-content:center;
      border:1px solid var(--border);
    }
    .concierge-icon img{
      width:100%;height:100%;object-fit:cover;display:block;
      transition:transform .5s ease;
    }
    .concierge-card:hover .concierge-icon img{transform:scale(1.06)}
    .concierge-title{
      font-family:var(--sans);font-size:1rem;font-weight:700;
      text-transform:uppercase;letter-spacing:.08em;color:var(--text);
      margin-bottom:.9rem;
    }
    .concierge-desc{
      font-family:var(--sans);font-weight:300;
      font-size:.85rem;color:var(--text2);line-height:1.7;
    }
    .concierge-cta{
      margin-top:1.4rem;display:inline-flex;align-items:center;gap:.4rem;
      font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
      color:var(--gold);font-weight:500;
      border-bottom:1px solid rgba(166,125,68,.35);padding-bottom:4px;
      transition:letter-spacing .3s,border-color .3s;
    }
    .concierge-card:hover .concierge-cta{letter-spacing:.28em;border-color:var(--gold)}

    /*==============================================
      DELEGATIONS & SPECIAL REQUESTS
    ==============================================*/
    /* ── CLOSE PROTECTION (separate service line) ── */
    .cp{
      background:#232A38;
      color:rgba(255,255,255,.85);
      position:relative;overflow:hidden;
      padding-top:6.5rem;padding-bottom:7rem;
    }
    .cp::before{
      content:'';position:absolute;inset:0;pointer-events:none;
      background:radial-gradient(ellipse 70% 55% at 50% 0%, rgba(166,125,68,.10), transparent 62%);
    }
    .cp-inner{position:relative;max-width:1120px;margin:0 auto}
    .cp-head{max-width:780px}
    .cp-rule{display:block;width:130px;height:3px;background:var(--gold);margin-bottom:1.5rem}
    .cp-overline{
      font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
      color:var(--gold);font-weight:500;
    }
    .cp-title{
      font-family:var(--sans);
      font-size:clamp(1.8rem,4vw,3.2rem);
      font-weight:700;letter-spacing:.04em;line-height:1.05;color:#fff;
      margin:1.1rem 0 1.4rem;
    }
    .cp-lead{color:rgba(255,255,255,.7);font-size:1.05rem;line-height:1.75;font-weight:300}
    .cp-lead strong{color:#fff;font-weight:500}
    .cp-grid{
      display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;
      margin:3.5rem 0 3rem;
    }
    @media(max-width:980px){.cp-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.cp-grid{grid-template-columns:1fr}}
    .cp-card{
      border:1px solid rgba(166,125,68,.18);
      background:rgba(255,255,255,.03);
      padding:1.8rem 1.5rem;
      display:flex;flex-direction:column;gap:.7rem;
      transition:border-color .3s,background .3s,transform .3s;
    }
    .cp-card:hover{
      border-color:rgba(166,125,68,.45);
      background:rgba(255,255,255,.05);
      transform:translateY(-4px);
    }
    .cp-num{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:var(--gold);line-height:1}
    .cp-card-title{font-family:var(--sans);font-size:1.02rem;font-weight:600;color:#fff;letter-spacing:.01em}
    .cp-card-text{font-size:.86rem;line-height:1.65;color:rgba(255,255,255,.62);font-weight:300}
    .cp-foot{
      display:flex;align-items:center;justify-content:space-between;
      gap:2rem;flex-wrap:wrap;
      border-top:1px solid rgba(166,125,68,.16);padding-top:2.6rem;
    }
    .cp-foot-note{
      font-family:var(--serif);font-style:italic;font-weight:300;
      font-size:1.3rem;line-height:1.45;color:rgba(255,255,255,.82);
      max-width:500px;
    }
    .cp-actions{display:flex;gap:1rem;flex-wrap:wrap}
    .cp-btn{
      display:inline-flex;align-items:center;gap:.6rem;
      padding:1rem 2rem;border-radius:999px;
      font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;
      transition:background .25s,color .25s,border-color .25s;
    }
    .cp-btn-primary{background:var(--btn);color:var(--btn-ink)}
    .cp-btn-primary:hover{background:#fff}
    .cp-btn-ghost{border:1px solid rgba(255,255,255,.3);color:#fff}
    .cp-btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

    .delegations{
      background:#232A38;
      color:rgba(255,255,255,.85);
      padding-top:6rem;padding-bottom:6rem;
      position:relative;overflow:hidden;
    }
    .delegations::before{
      content:'';position:absolute;inset:0;
      background:
        radial-gradient(ellipse 60% 80% at 80% 30%, rgba(166,125,68,.10), transparent 60%),
        radial-gradient(ellipse 50% 60% at 20% 80%, rgba(166,125,68,.06), transparent 60%);
      pointer-events:none;
    }
    .delegations > *{position:relative}
    .delegations-head{
      display:grid;grid-template-columns:1.1fr 1fr;
      gap:3rem;margin-bottom:3rem;align-items:start;
    }
    @media(max-width:880px){.delegations-head{grid-template-columns:1fr;gap:1.5rem}}
    .delegations-title-wrap{display:flex;flex-direction:column;gap:1.2rem}
    .delegations-rule{
      display:block;width:130px;height:3px;background:var(--gold);
    }
    .delegations-overline{
      font-size:.62rem;letter-spacing:.32em;text-transform:uppercase;
      color:var(--gold);font-weight:500;
    }
    .delegations-title{
      font-family:var(--sans);
      font-size:clamp(1.8rem, 4vw, 3.2rem);
      font-weight:700;letter-spacing:.04em;line-height:1.05;
      color:#fff;
    }
    .delegations-intro{
      color:rgba(255,255,255,.7);
      font-size:1.02rem;line-height:1.7;font-weight:300;
    }
    .delegations-intro p{margin-bottom:.9rem}
    .delegations-intro strong{color:#fff;font-weight:500}
    .delegations-form{
      background:rgba(255,255,255,.04);
      border:1px solid rgba(166,125,68,.18);
      padding:2.4rem;
      backdrop-filter:blur(6px);
    }
    @media(max-width:600px){.delegations-form{padding:1.4rem}}
    .delegations-grid{
      display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;
    }
    @media(max-width:600px){.delegations-grid{grid-template-columns:1fr}}
    .dfield{display:flex;flex-direction:column;gap:.4rem;position:relative}
    .dfield-full{grid-column:1/-1}
    .dfield label{
      font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
      color:rgba(255,255,255,.55);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
    }
    .dfield input,.dfield select,.dfield textarea{
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.12);
      color:#fff;
      padding:.78rem 1rem;
      font-size:.85rem;font-family:var(--sans);font-weight:300;
      outline:none;
      transition:border-color .25s,background .25s;
    }
    .dfield input::placeholder,.dfield textarea::placeholder{color:rgba(255,255,255,.3)}
    .dfield input:focus,.dfield select:focus,.dfield textarea:focus{
      border-color:var(--gold);
      background:rgba(255,255,255,.08);
    }
    .dfield select{
      appearance:none;cursor:pointer;
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23A67D44' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right 1rem center;
      padding-right:2.4rem;
    }
    .dfield select option{background:#1C1714;color:#fff}
    .dfield textarea{resize:vertical;min-height:100px;font-family:var(--sans)}
    .delegations-fleet-row{
      grid-column:1/-1;
    }
    .fleet-mix-row{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:.8rem;margin-top:.5rem;
    }
    @media(max-width:600px){.fleet-mix-row{grid-template-columns:1fr 1fr}}
    .fleet-mix-pill{
      display:flex;align-items:center;justify-content:space-between;
      gap:.6rem;
      background:rgba(255,255,255,.05);
      border:1px solid rgba(255,255,255,.12);
      padding:.6rem .9rem;
    }
    .fleet-mix-label{
      font-size:.75rem;color:rgba(255,255,255,.85);font-weight:400;
    }
    .fleet-mix-qty{
      display:flex;align-items:center;
      border:1px solid rgba(255,255,255,.15);
    }
    .fleet-mix-btn{
      width:28px;height:28px;border:none;background:transparent;
      color:rgba(255,255,255,.85);cursor:pointer;font-size:.95rem;
      transition:background .15s,color .15s;
    }
    .fleet-mix-btn:hover{background:rgba(166,125,68,.15);color:var(--gold)}
    .fleet-mix-val{
      width:32px;text-align:center;font-size:.85rem;font-weight:500;color:#fff;
      border-left:1px solid rgba(255,255,255,.15);
      border-right:1px solid rgba(255,255,255,.15);
      padding:.35rem 0;
    }
    .delegations-submit{
      grid-column:1/-1;
      display:flex;gap:1rem;align-items:center;margin-top:1rem;flex-wrap:wrap;
    }
    .delegations-submit-btn{
      flex:1;min-width:200px;
      background:var(--btn);color:var(--btn-ink);border:none;
      padding:1rem 2rem;
      font-family:var(--sans);font-size:.72rem;font-weight:500;
      letter-spacing:.22em;text-transform:uppercase;
      cursor:pointer;transition:background .25s;
    }
    .delegations-submit-btn:hover{background:var(--btn-d)}
    .delegations-submit-wa{
      display:inline-flex;align-items:center;gap:.5rem;
      background:#25D366;color:#fff;
      padding:1rem 1.5rem;
      font-family:var(--sans);font-size:.7rem;font-weight:500;
      letter-spacing:.18em;text-transform:uppercase;
      text-decoration:none;transition:opacity .25s;
    }
    .delegations-submit-wa:hover{opacity:.85}
    .delegations-success{
      display:none;
      grid-column:1/-1;
      background:rgba(37,211,102,.1);
      border:1px solid rgba(37,211,102,.3);
      padding:1rem 1.4rem;
      color:#7fe5a4;font-size:.85rem;text-align:center;
    }
    .delegations-success.shown{display:block}

    /*==============================================
      JOURNAL TEASER (homepage)
    ==============================================*/
    .journal-teaser{
      background:#fff;
      padding-top:6rem;padding-bottom:6rem;
    }
    .journal-head{
      display:flex;justify-content:space-between;align-items:flex-end;
      gap:2rem;flex-wrap:wrap;
      margin-bottom:3rem;
    }
    .journal-title-wrap{display:flex;flex-direction:column;gap:1.2rem}
    .journal-title{
      font-family:var(--sans);
      font-size:clamp(2rem, 4.6vw, 3.6rem);
      font-weight:700;letter-spacing:.06em;
      color:var(--text);line-height:1;
    }
    .journal-grid{
      display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;
    }
    @media(max-width:1024px){.journal-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:560px){.journal-grid{grid-template-columns:1fr}}
    .journal-card{
      display:flex;flex-direction:column;
      text-decoration:none;color:inherit;
      background:#fff;border:1px solid var(--border);
      transition:transform .35s,box-shadow .35s;
    }
    .journal-card:hover{
      transform:translateY(-4px);
      box-shadow:0 20px 50px -18px rgba(28,23,20,.2);
    }
    .journal-card-img{
      width:100%;aspect-ratio:16/10;overflow:hidden;
    }
    .journal-card-img img{
      width:100%;height:100%;object-fit:cover;
      transition:transform .6s ease;
    }
    .journal-card:hover .journal-card-img img{transform:scale(1.04)}
    .journal-card-body{padding:1.4rem 1.4rem 1.6rem}
    .journal-card-cat{
      font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;
      color:var(--gold);font-weight:600;margin-bottom:.6rem;
    }
    .journal-card-title{
      font-family:var(--sans);font-size:1rem;font-weight:700;
      color:var(--text);line-height:1.3;margin-bottom:.5rem;
      letter-spacing:.01em;
    }
    .journal-card-excerpt{
      font-size:.78rem;color:var(--text2);line-height:1.6;
    }

    /*==============================================
      SERVICES
    ==============================================*/
    .services{background:var(--bg2)}
    .svc-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:2px;
    }
    @media(max-width:960px){.svc-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:580px){.svc-grid{grid-template-columns:1fr}}
    .svc{
      background:#fff;padding:2.8rem 2.2rem;
      display:flex;flex-direction:column;
      position:relative;transition:background .3s;
      border:1px solid var(--border);
    }
    .svc.feat{background:var(--bg2);outline:1px solid var(--border2)}
    .svc:hover{background:var(--bg2)}
    .svc-n{
      font-family:var(--serif);font-size:3.2rem;font-weight:300;
      color:rgba(140,100,40,.12);line-height:1;margin-bottom:2.2rem;
    }
    .svc h3{
      font-family:var(--serif);font-size:1.42rem;font-weight:300;
      margin-bottom:1rem;
    }
    .svc.feat h3{color:var(--gold)}
    .svc p{font-size:.81rem;color:var(--text2);line-height:1.78;flex:1;margin-bottom:1.8rem}
    .svc-lnk{
      font-size:.63rem;letter-spacing:.17em;text-transform:uppercase;
      color:var(--gold);border-bottom:1px solid rgba(166,125,68,.2);
      padding-bottom:2px;width:fit-content;transition:border-color .3s,letter-spacing .3s;
    }
    .svc:hover .svc-lnk{border-color:var(--gold);letter-spacing:.22em}
    .svc-tag{
      display:inline-block;margin-top:1.5rem;
      font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
      border:1px solid var(--border2);color:var(--gold);
      padding:.3rem .8rem;width:fit-content;
    }

    /*==============================================
      TRUST BAR
    ==============================================*/
    .trust-bar{
      background:#232A38;
      border-top:1px solid rgba(166,125,68,.18);
      border-bottom:1px solid rgba(166,125,68,.18);
      padding:1.4rem 5rem;
      display:flex;align-items:center;justify-content:center;
      gap:4rem;flex-wrap:wrap;
    }
    .trust-item{
      display:flex;align-items:center;gap:.7rem;
      font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
      color:rgba(245,242,236,.48);white-space:nowrap;
    }
    .trust-dot{background:var(--gold)}
    .trust-dot{
      width:4px;height:4px;border-radius:50%;
      background:var(--gold);flex-shrink:0;
    }
    @media(max-width:768px){.trust-bar{padding:1.2rem 1.5rem;gap:2rem}}

    /*==============================================
      INCLUDED
    ==============================================*/
    .included{background:var(--bg3)}
    .inc-grid{
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:2px;margin-top:4rem;
    }
    @media(max-width:960px){.inc-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:500px){.inc-grid{grid-template-columns:1fr}}
    .inc-item{
      background:#fff;
      padding:2.2rem 2rem;
      border:1px solid var(--border);
      border-bottom:2px solid transparent;
      transition:border-color .3s,background .3s;
    }
    .inc-item:hover{background:var(--bg2);border-bottom-color:var(--gold)}
    .inc-check{
      font-size:.65rem;font-weight:600;letter-spacing:.25em;
      color:var(--gold);margin-bottom:1.2rem;
      font-family:var(--sans);
    }
    .inc-title{
      font-family:var(--serif);font-size:1.15rem;font-weight:300;
      margin-bottom:.6rem;
    }
    .inc-desc{font-size:.78rem;color:var(--text3);line-height:1.7}

    /*==============================================
      HOW IT WORKS
    ==============================================*/
    .how{background:var(--bg)}
    .how-steps{
      display:grid;grid-template-columns:repeat(3,1fr);
      gap:0;margin-top:4rem;
      border-top:1px solid var(--border);
    }
    @media(max-width:768px){.how-steps{grid-template-columns:1fr}}
    .how-step{
      padding:3rem 2.5rem;
      border-right:1px solid var(--border);
      position:relative;
    }
    .how-step:last-child{border-right:none}
    .how-step-n{
      font-family:var(--serif);font-size:4rem;font-weight:300;
      color:rgba(166,125,68,.1);line-height:1;
      margin-bottom:1.8rem;
    }
    .how-step h3{
      font-family:var(--serif);font-size:1.35rem;font-weight:300;
      margin-bottom:.9rem;
    }
    .how-step p{font-size:.81rem;color:var(--text3);line-height:1.75}
    .how-connector{
      position:absolute;top:3rem;right:-1px;
      width:2px;height:2rem;
      background:var(--gold);opacity:.3;
    }
    @media(max-width:768px){.how-step{border-right:none;border-bottom:1px solid var(--border)}.how-connector{display:none}}

    /*==============================================
      WHY PHENOM
    ==============================================*/
    .why{background:var(--bg)}
    .why-grid{
      display:grid;grid-template-columns:repeat(4,1fr);
      gap:0;border-top:1px solid var(--border);
      margin-top:4rem;
    }
    @media(max-width:900px){.why-grid{grid-template-columns:1fr 1fr}}
    @media(max-width:500px){.why-grid{grid-template-columns:1fr}}
    .why-item{
      padding:2.5rem;
      border-right:1px solid var(--border);
      border-bottom:1px solid var(--border);
    }
    .why-item:nth-child(4n){border-right:none}
    @media(max-width:900px){.why-item:nth-child(even){border-right:none}.why-item:nth-child(4n){border-right:none}}
    .why-n{
      font-family:var(--serif);font-size:2.6rem;font-weight:300;
      color:rgba(140,100,40,.18);line-height:1;margin-bottom:1.4rem;
    }
    .why h4{font-family:var(--serif);font-size:1.12rem;font-weight:300;margin-bottom:.8rem}
    .why p{font-size:.79rem;color:var(--text3);line-height:1.72}

    /*==============================================
      ABOUT
    ==============================================*/
    .about{background:var(--bg2)}
    .about-inner{
      display:grid;grid-template-columns:1fr 1fr;
      gap:7rem;align-items:center;
    }
    @media(max-width:820px){.about-inner{grid-template-columns:1fr;gap:3.5rem}}
    .about-img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:brightness(.88)}
    .about-text .overline{margin-bottom:1.2rem}
    .about-text h2{font-size:clamp(1.7rem,2.8vw,2.7rem);margin-bottom:1.6rem}
    .about-text p{font-size:.84rem;color:var(--text2);line-height:1.85;margin-bottom:1.1rem}

    /*==============================================
      FOOTER
    ==============================================*/
    footer{
      background:#232A38;
      color:#F5F2EC;
      border-top:1px solid rgba(166,125,68,.18);
      padding:5rem;
    }
    footer .ft-desc{color:rgba(245,242,236,.4)}
    footer .ft-col h5{color:var(--gold)}
    footer .ft-col li a{color:rgba(245,242,236,.4)}
    footer .ft-col li a:hover{color:rgba(245,242,236,.75)}
    footer .ft-bottom{border-top:1px solid rgba(166,125,68,.14)}
    footer .ft-copy{color:rgba(245,242,236,.3)}
    footer .ft-social a{color:rgba(245,242,236,.4)}
    footer .ft-social a:hover{color:var(--gold)}
    footer .ft-legal a{color:rgba(245,242,236,.4)}
    footer .ft-legal a:hover{color:var(--gold)}
    .ft-top{
      display:grid;grid-template-columns:2fr 1fr 1fr 1fr;
      gap:5rem;margin-bottom:4rem;
    }
    @media(max-width:900px){.ft-top{grid-template-columns:1fr 1fr;gap:3rem}}
    @media(max-width:500px){.ft-top{grid-template-columns:1fr};footer{padding:3rem 1.5rem}}
    .ft-logo img{height:28px;margin-bottom:1.6rem}
    .ft-desc{font-size:.78rem;color:var(--text3);line-height:1.82;max-width:230px}
    .ft-col h5{
      font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;
      color:var(--gold);margin-bottom:1.6rem;font-weight:500;
    }
    .ft-col ul{list-style:none;display:flex;flex-direction:column;gap:.8rem}
    .ft-col li a{font-size:.77rem;color:var(--text3);transition:color .3s}
    .ft-col li a:hover{color:var(--text2)}
    .ft-bottom{
      padding-top:2rem;border-top:1px solid var(--border);
      display:flex;justify-content:space-between;align-items:center;
      flex-wrap:wrap;gap:1rem;
    }
    .ft-copy{font-size:.7rem;color:var(--text3)}
    .ft-social{display:flex;gap:1.5rem}
    .ft-social a{
      font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
      color:var(--text3);transition:color .3s;
    }
    .ft-social a:hover{color:var(--gold)}
    .ft-legal{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:center}
    .ft-legal a{
      font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
      color:var(--text3);transition:color .3s;
    }
    .ft-legal a:hover{color:var(--gold)}

    /*==============================================
      SCROLL REVEAL
    ==============================================*/
    .rv{opacity:0;transform:translateY(18px);transition:opacity .75s,transform .75s}
    .rv.vis{opacity:1;transform:none}
    .rv.d1{transition-delay:.1s}
    .rv.d2{transition-delay:.2s}
    .rv.d3{transition-delay:.3s}
    .rv.d4{transition-delay:.4s}

    /*==============================================
      ADDRESS AUTOCOMPLETE
    ==============================================*/
    .bfield{position:relative}
    .bfield-row{display:flex;gap:.5rem;align-items:stretch}
    .bfield-row input{flex:1}
    .geo-btn{
      padding:0 .9rem;background:var(--bg2);border:1px solid var(--border);
      color:var(--gold);cursor:pointer;font-size:.85rem;flex-shrink:0;
      transition:background .2s;white-space:nowrap;
    }
    .geo-btn:hover{background:var(--bg3)}
    /* Address autocomplete — improved */
    .bfield input.addr-input{padding-left:2.4rem}
    .addr-pin{
      position:absolute;left:.85rem;bottom:.95rem;
      width:14px;height:14px;
      pointer-events:none;color:var(--gold);
      display:flex;align-items:center;justify-content:center;
    }
    .addr-loading{
      position:absolute;right:.85rem;bottom:.85rem;
      width:14px;height:14px;
      border:1.5px solid var(--border2);border-top-color:var(--gold);
      border-radius:50%;
      animation:spin .7s linear infinite;
      display:none;
    }
    .addr-loading.on{display:block}
    @keyframes spin{to{transform:rotate(360deg)}}
    .addr-drop{
      position:absolute;top:calc(100% + 4px);left:0;right:0;
      background:#fff;border:1px solid var(--border2);
      z-index:300;max-height:280px;overflow-y:auto;
      box-shadow:0 12px 36px rgba(0,0,0,.15);
    }
    .addr-item{
      padding:.7rem 1rem .7rem 2.4rem;font-size:.78rem;
      cursor:pointer;border-bottom:1px solid var(--border);
      position:relative;transition:background .15s;
    }
    .addr-item::before{
      content:'';position:absolute;left:.95rem;top:50%;
      width:14px;height:14px;transform:translateY(-50%);
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A67D44'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5a2.5 2.5 0 1 1 0-5 2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-size:contain;opacity:.85;
    }
    .addr-item.airport::before{
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A67D44'%3E%3Cpath d='M21 16v-2l-8-5V3.5C13 2.67 12.33 2 11.5 2S10 2.67 10 3.5V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5z'/%3E%3C/svg%3E");
    }
    .addr-item.city::before{
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23A67D44'%3E%3Cpath d='M15 11V5l-3-3-3 3v2H3v14h18V11h-6zm-8 8H5v-2h2v2zm0-4H5v-2h2v2zm0-4H5V9h2v2zm6 8h-2v-2h2v2zm0-4h-2v-2h2v2zm0-4h-2V9h2v2zm0-4h-2V5h2v2zm6 12h-2v-2h2v2zm0-4h-2v-2h2v2z'/%3E%3C/svg%3E");
    }
    .addr-item:hover,.addr-item.kbsel{background:var(--bg2)}
    .addr-item-main{
      font-size:.82rem;color:var(--text);font-weight:400;
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      margin-bottom:2px;
    }
    .addr-item-sub{
      font-size:.66rem;color:var(--text3);
      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
      letter-spacing:.02em;
    }
    .addr-item:last-child{border-bottom:none}
    .addr-empty{
      padding:.9rem 1rem;font-size:.74rem;color:var(--text3);
      text-align:center;font-style:italic;
    }

    /* Live map + price preview block */
    .live-block{
      grid-column:1/-1;
      display:grid;
      grid-template-columns:1.55fr 1fr;
      gap:1.2rem;
      margin-top:.5rem;
      min-height:280px;
    }
    @media(max-width:880px){
      .live-block{grid-template-columns:1fr;min-height:auto}
    }
    .live-map{
      width:100%;height:100%;min-height:280px;
      background:linear-gradient(135deg,var(--bg3),var(--bg2));
      border:1px solid var(--border);
      position:relative;overflow:hidden;
    }
    .live-map-empty{
      position:absolute;inset:0;
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      gap:.6rem;pointer-events:none;
      transition:opacity .35s;
    }
    .live-map.has-points .live-map-empty{opacity:0}
    .live-map-icon{
      width:30px;height:30px;color:var(--gold);opacity:.6;
    }
    .live-map-hint{
      font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
      color:var(--text3);
    }
    #leafletMap{width:100%;height:100%;min-height:280px;z-index:1}
    .leaflet-container{
      background:linear-gradient(135deg,var(--bg3),var(--bg2));
      font-family:var(--sans);
    }
    .pin-marker{
      width:30px;height:30px;
      display:flex;align-items:center;justify-content:center;
      transform:translate(-15px,-30px);
      filter:drop-shadow(0 4px 8px rgba(0,0,0,.25));
    }

    .live-price{
      background:#fff;border:1px solid var(--border);
      padding:1.3rem 1.4rem;
      display:flex;flex-direction:column;gap:.8rem;
      position:relative;
    }
    .live-price-hd{
      display:flex;justify-content:space-between;align-items:baseline;
      padding-bottom:.7rem;border-bottom:1px solid var(--border);
    }
    .live-price-ttl{
      font-size:.6rem;letter-spacing:.24em;text-transform:uppercase;
      color:var(--gold);font-weight:500;
    }
    .live-price-route{
      font-family:var(--serif);font-size:.95rem;color:var(--text2);font-weight:300;
    }
    .live-price-empty{
      flex:1;display:flex;align-items:center;justify-content:center;
      text-align:center;font-size:.74rem;color:var(--text3);
      line-height:1.7;padding:1rem 0;
      letter-spacing:.04em;
    }
    .live-price-row{
      display:flex;justify-content:space-between;align-items:baseline;
      padding:.65rem 0;border-bottom:1px solid var(--border);
    }
    .live-price-row:last-child{border-bottom:none}
    .lpr-name{
      font-family:var(--serif);font-size:1rem;font-weight:300;color:var(--text);
    }
    .lpr-tag{
      font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;
      color:var(--text3);display:block;margin-top:1px;
    }
    .lpr-price{
      font-family:var(--serif);font-size:1.25rem;font-weight:400;color:var(--gold);
      white-space:nowrap;
    }
    .lpr-from{
      font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;
      color:var(--text3);margin-right:.3rem;
    }
    .live-price-loading{
      position:absolute;top:1.3rem;right:1.4rem;
      width:12px;height:12px;
      border:1.5px solid var(--border2);border-top-color:var(--gold);
      border-radius:50%;animation:spin .7s linear infinite;
      display:none;
    }
    .live-price-loading.on{display:block}
    .route-info{
      grid-column:1/-1;
      display:none;
      background:var(--bg2);border:1px solid var(--border);
      padding:.8rem 1.4rem;
      font-size:.78rem;color:var(--text2);
      gap:2.5rem;align-items:center;
    }
    .route-info.show{display:flex}
    .route-val{font-family:var(--serif);font-size:1.3rem;font-weight:300;color:var(--gold);margin-right:.3rem}

    /* ─── International phone input theme ─── */
    .iti{width:100%;display:block}
    .iti--container{z-index:9999}
    .iti__country-list{font-family:var(--sans)!important;font-size:.85rem}
    .iti__selected-flag{background:transparent !important}
    .iti__selected-flag:hover,.iti__selected-flag:focus{background:rgba(166,125,68,.06)!important}
    .iti__country.iti__highlight{background:rgba(166,125,68,.1)!important}
    .iti--separate-dial-code .iti__selected-dial-code{color:var(--text);font-weight:500}
    .cfield .iti input.iti__tel-input{
      width:100%;
      background:#fff;border:1px solid var(--border);
      color:var(--text);
      font-size:.8rem;font-family:var(--sans);font-weight:300;
      outline:none;transition:border-color .3s,box-shadow .3s;
    }
    .cfield .iti input.iti__tel-input:focus{
      border-color:var(--gold);
      box-shadow:0 0 0 3px rgba(166,125,68,.08);
    }

    /* ─── Flatpickr custom theme (matches Phenom palette) ─── */
    .flatpickr-calendar{
      background:#fff;
      border:1px solid var(--border);
      box-shadow:0 18px 50px -10px rgba(28,23,20,.18);
      border-radius:0;font-family:var(--sans);
      width:340px;padding:.4rem;
    }
    .flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{display:none}
    .flatpickr-months{padding:.6rem 0 .4rem;align-items:center}
    .flatpickr-months .flatpickr-month{
      color:var(--text);
      font-family:var(--sans);font-weight:500;
      height:36px;line-height:36px;
    }
    .flatpickr-current-month{
      font-size:.95rem;font-weight:500;
      padding:0;
      letter-spacing:.02em;color:var(--text);
    }
    .flatpickr-current-month .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year{
      color:var(--text);font-weight:500;font-family:var(--sans);
      font-size:.95rem;
    }
    .flatpickr-monthDropdown-months:hover{background:transparent !important}
    .flatpickr-months .flatpickr-prev-month,
    .flatpickr-months .flatpickr-next-month{
      width:32px;height:32px;border-radius:50%;
      border:1px solid var(--border);
      display:flex;align-items:center;justify-content:center;
      padding:0;margin:0 .5rem;color:var(--text);
      top:.6rem;
      transition:border-color .2s,color .2s;
    }
    .flatpickr-months .flatpickr-prev-month:hover,
    .flatpickr-months .flatpickr-next-month:hover{
      border-color:var(--gold);color:var(--gold);fill:var(--gold);
    }
    .flatpickr-months .flatpickr-prev-month svg,
    .flatpickr-months .flatpickr-next-month svg{
      width:9px;height:9px;
    }
    .flatpickr-weekdays{background:transparent;padding:.5rem 0 .3rem}
    span.flatpickr-weekday{
      color:var(--text3);
      font-weight:500;font-size:.72rem;
      letter-spacing:.06em;
      background:transparent;
    }
    .flatpickr-days{padding:0 .2rem .5rem}
    .dayContainer{padding:0;width:auto}
    .flatpickr-day{
      color:var(--text3);
      font-weight:400;font-size:.85rem;
      border-radius:50%;
      max-width:40px;height:40px;line-height:40px;
      margin:1px;
      border:none;
      transition:background .2s,color .2s,box-shadow .2s;
    }
    .flatpickr-day:hover{
      background:rgba(166,125,68,.1);color:var(--text);
    }
    .flatpickr-day.today{
      border:1px solid var(--gold);color:var(--text);background:transparent;
    }
    .flatpickr-day.today:hover{background:rgba(166,125,68,.1);border-color:var(--gold)}
    .flatpickr-day.selected,
    .flatpickr-day.selected:hover{
      background:var(--gold);color:#fff;border:none;
      box-shadow:0 0 0 1px var(--gold) inset;
    }
    .flatpickr-day.prevMonthDay,
    .flatpickr-day.nextMonthDay{
      color:var(--border2);opacity:.5;
    }
    .flatpickr-day.flatpickr-disabled{color:var(--border2);opacity:.3}
    /* Time picker */
    .flatpickr-time{
      border-top:1px solid var(--border);
      padding:.5rem 0;
    }
    .flatpickr-time input{
      color:var(--text);font-family:var(--sans);font-weight:500;font-size:1rem;
    }
    .flatpickr-time input:focus,
    .flatpickr-time input:hover{background:rgba(166,125,68,.08)}
    .flatpickr-time .flatpickr-time-separator{color:var(--text);font-weight:500}
    .flatpickr-time .numInputWrapper:hover{background:rgba(166,125,68,.08)}
    .flatpickr-time .arrowUp:after{border-bottom-color:var(--gold) !important}
    .flatpickr-time .arrowDown:after{border-top-color:var(--gold) !important}

    /*==============================================
      STEP 2 — SUMMARY SIDEBAR + FILTER + VEHICLES
    ==============================================*/
    .step2-layout{
      display:grid;
      grid-template-columns:280px 1fr;
      gap:2rem;align-items:start;
    }
    @media(max-width:880px){
      .step2-layout{grid-template-columns:1fr}
    }
    /* Summary sidebar */
    .bk-summary{
      background:#F4F4F5;
      padding:1.6rem 1.4rem;
      display:flex;flex-direction:column;gap:1.2rem;
      position:sticky;top:90px;
      font-family:var(--sans);
    }
    .bk-summary h3{
      font-family:var(--sans);font-size:1.05rem;font-weight:700;
      color:var(--text);letter-spacing:.02em;margin-bottom:.2rem;
    }
    .bks-row{
      display:flex;flex-direction:column;gap:.15rem;
      padding-bottom:.9rem;border-bottom:1px solid rgba(28,23,20,.08);
    }
    .bks-row:last-of-type{border-bottom:none}
    .bks-label{
      font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
      color:var(--text3);font-weight:500;
    }
    .bks-val{
      font-size:.88rem;color:var(--text);font-weight:400;line-height:1.4;
      word-break:break-word;
    }
    .bks-dist-time{
      display:flex;gap:1.4rem;
    }
    .bks-dist-time > div{flex:1}
    .bks-totals{
      background:#fff;
      margin:0 -1.4rem -1.6rem;
      padding:1.2rem 1.4rem;
      border-top:2px solid var(--gold);
      display:flex;flex-direction:column;gap:.5rem;
    }
    .bks-total-row{
      display:flex;justify-content:space-between;align-items:baseline;
      font-size:.92rem;
    }
    .bks-total-row.muted{color:var(--text3);font-size:.78rem}
    .bks-total-row.big{
      font-weight:700;color:var(--text);font-size:1rem;
    }
    .bks-total-row.deposit{
      font-weight:700;color:var(--gold);font-size:1rem;
      padding-top:.5rem;border-top:1px solid var(--border);
    }
    .bks-total-row .small{font-size:.7rem;color:var(--text3);font-weight:400;margin-left:.3rem}

    /* Vehicles filter */
    .vehicles-filter{
      background:#F4F4F5;padding:1rem 1.2rem;
      margin-bottom:1.2rem;
    }
    .vehicles-filter-ttl{
      font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
      color:var(--text3);font-weight:500;margin-bottom:.7rem;
    }
    .vf-row{
      display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:.6rem;
    }
    @media(max-width:600px){.vf-row{grid-template-columns:1fr}}
    .vf-field{display:flex;flex-direction:column;gap:.3rem}
    .vf-label{
      font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;
      color:var(--text3);font-weight:500;
    }
    .vf-field select{
      background:#fff;border:1px solid var(--border);
      padding:.55rem .8rem;font-size:.82rem;
      font-family:var(--sans);font-weight:400;color:var(--text);
      cursor:pointer;outline:none;appearance:none;
      background-image:url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23A67D44' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");
      background-repeat:no-repeat;background-position:right .8rem center;
      padding-right:2rem;
    }
    .vf-field select:focus{border-color:var(--gold)}

    /* Vehicle list (horizontal cards) */
    .vehicle-list{display:flex;flex-direction:column;gap:0}
    .vrow{
      background:#fff;
      display:grid;grid-template-columns:200px 1fr auto;
      gap:1.4rem;align-items:center;
      padding:1.2rem 1.4rem;
      border-bottom:1px solid var(--border);
      cursor:pointer;
      transition:background .25s;
    }
    .vrow:hover{background:#FAFAF8}
    .vrow.selected{background:rgba(166,125,68,.06);border-color:var(--gold)}
    @media(max-width:700px){
      .vrow{grid-template-columns:120px 1fr;gap:.8rem;padding:1rem}
    }
    .vrow-img-wrap{
      width:100%;height:110px;
      display:flex;align-items:center;justify-content:center;
      border-radius:6px;
      background:#F4F0E9;border:1px solid var(--border);
    }
    .vrow-icon{
      width:80%;max-width:170px;height:auto;
      color:var(--gold);display:block;
    }
    .vrow-info{display:flex;flex-direction:column;gap:.3rem}
    .vrow-name{
      font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--text);
    }
    .vrow-price{
      font-family:var(--sans);font-size:1.4rem;font-weight:300;color:var(--gold);
      letter-spacing:-.01em;line-height:1;
    }
    .vrow-more{
      display:inline-flex;align-items:center;gap:.4rem;cursor:pointer;
      font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;
      color:var(--text3);background:none;border:none;padding:.3rem 0;
      font-family:var(--sans);transition:color .2s;
      margin-top:.4rem;
    }
    .vrow-more:hover{color:var(--gold)}
    .vrow-more-icon{
      width:18px;height:18px;border-radius:50%;
      border:1px solid var(--border);
      display:inline-flex;align-items:center;justify-content:center;
      transition:transform .25s,border-color .25s;
    }
    .vrow-more.open .vrow-more-icon{transform:rotate(180deg);border-color:var(--gold)}
    .vrow-details{
      grid-column:1/-1;
      max-height:0;overflow:hidden;transition:max-height .35s ease;
      font-size:.82rem;color:var(--text2);line-height:1.6;
    }
    .vrow-details.open{max-height:300px;padding-top:.8rem}
    .vrow-specs{
      display:flex;gap:.6rem;align-items:center;flex-shrink:0;
      margin-left:.6rem;
    }
    .vspec-pill{
      display:inline-flex;align-items:center;gap:.4rem;
      background:#F4F4F5;border-radius:999px;
      padding:.4rem .8rem;font-size:.78rem;color:var(--text);
    }
    .vspec-pill svg{width:14px;height:14px;color:#232A38}
    .vrow-cta{
      display:flex;flex-direction:column;align-items:flex-end;gap:.7rem;
    }
    .vrow-select{
      padding:.6rem 1.8rem;border-radius:999px;
      background:#232A38;color:#fff;
      border:none;cursor:pointer;
      font-family:var(--sans);font-size:.72rem;font-weight:500;
      letter-spacing:.16em;text-transform:uppercase;
      transition:background .25s;
    }
    .vrow-select:hover{background:var(--gold)}
    .vrow.selected .vrow-select{background:var(--gold)}
    .vrow.selected .vrow-select::after{content:' ✓'}
    @media(max-width:700px){
      .vrow-cta{grid-column:1/-1;align-items:stretch}
      .vrow-specs{margin-left:0}
    }

    /* Extra options */
    .extras{
      background:#fff;
      margin-top:1.6rem;padding:1.6rem 1.4rem;
      border:1px solid var(--border);
    }
    .extras-hd{
      display:flex;align-items:center;gap:.8rem;
      padding-bottom:1rem;border-bottom:1px solid var(--border);
      margin-bottom:.9rem;
    }
    .extras-icon{
      width:36px;height:36px;border-radius:50%;
      background:#F4F4F5;
      display:flex;align-items:center;justify-content:center;
      color:var(--text);
    }
    .extras-ttl{
      font-family:var(--sans);font-size:1.1rem;font-weight:700;color:var(--text);
    }
    .extra-row{
      display:grid;grid-template-columns:1fr auto auto;gap:1.2rem;
      align-items:center;
      padding:.9rem 0;border-bottom:1px solid var(--border);
    }
    .extra-row:last-child{border-bottom:none}
    .extra-name{
      font-family:var(--sans);font-size:.95rem;color:var(--text);font-weight:500;
    }
    .extra-price{
      color:var(--gold);font-weight:700;margin-left:.6rem;font-size:.92rem;
    }
    .extra-desc{
      font-size:.78rem;color:var(--text3);margin-top:.2rem;
    }
    .extra-qty{
      display:flex;align-items:center;
      border:1px solid var(--border);
    }
    .extra-qty-btn{
      width:34px;height:34px;border:none;background:#fff;
      color:var(--text);cursor:pointer;font-size:1rem;
      transition:background .2s;
    }
    .extra-qty-btn:hover{background:#F4F4F5;color:var(--gold)}
    .extra-qty-val{
      width:44px;text-align:center;font-size:.92rem;font-weight:500;
      border-left:1px solid var(--border);border-right:1px solid var(--border);
      padding:.5rem 0;background:#fff;
    }
    @media(max-width:600px){
      .extra-row{grid-template-columns:1fr;gap:.6rem}
    }

    /* Billing details (collapsible) */
    .billing-details{
      margin-top:1.5rem;
      border-top:1px solid var(--border);
      padding-top:1.2rem;
    }
    .billing-details summary{
      cursor:pointer;
      display:flex;align-items:baseline;gap:.6rem;flex-wrap:wrap;
      font-family:var(--sans);font-size:.78rem;font-weight:500;
      letter-spacing:.16em;text-transform:uppercase;
      color:var(--text2);padding:.6rem 0;
      list-style:none;
      user-select:none;
      transition:color .2s;
    }
    .billing-details summary:hover{color:var(--gold)}
    .billing-details summary::-webkit-details-marker{display:none}
    .billing-details summary::before{
      content:'+';
      display:inline-flex;align-items:center;justify-content:center;
      width:20px;height:20px;border:1px solid var(--border2);
      border-radius:50%;font-size:.85rem;line-height:1;
      color:var(--gold);font-weight:300;
      margin-right:.4rem;
      transition:transform .25s,background .2s;
    }
    .billing-details[open] summary::before{content:'−';transform:rotate(0deg)}
    .billing-summary-hint{
      letter-spacing:.04em;text-transform:none;
      color:var(--text3);font-weight:300;font-size:.74rem;
    }

    /* Payment methods */
    .pay-methods{
      margin-top:2rem;
    }
    .pay-methods-ttl{
      text-align:center;
      font-family:var(--sans);font-size:1.05rem;font-weight:700;
      color:var(--text);margin-bottom:1.4rem;
    }
    .pay-grid{
      display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;
    }
    @media(max-width:600px){.pay-grid{grid-template-columns:1fr}}
    .pay-card{
      background:#fff;border:1px solid var(--border);
      padding:2.2rem 1rem;
      display:flex;flex-direction:column;align-items:center;justify-content:center;
      gap:.6rem;cursor:pointer;min-height:130px;
      transition:border-color .25s,background .25s;
    }
    .pay-card:hover{border-color:var(--gold);background:#FAF7F1}
    .pay-card.selected{
      border-color:var(--gold);border-width:2px;
      background:rgba(166,125,68,.06);
    }
    .pay-card.selected::after{
      content:'✓';
      position:absolute;
    }
    .pay-card-icon{
      width:48px;height:48px;
      display:flex;align-items:center;justify-content:center;
      color:var(--text);
    }
    .pay-card-label{
      font-family:var(--sans);font-size:1rem;font-weight:700;color:var(--text);
    }
    .pay-stripe-logo{color:#635BFF;font-size:1.8rem;font-weight:700;letter-spacing:-.02em}
    .pay-paypal-logo{font-size:1.4rem;font-weight:700;letter-spacing:-.01em}
    .pay-paypal-logo .p1{color:#003087}
    .pay-paypal-logo .p2{color:#009CDE}

/* ════════════════════════════════════════════════════════════
   V2 — MAGAZINE SECTIONS (home + fleet + services + clients + about)
   ════════════════════════════════════════════════════════════ */

/* ── Sub-page hero band ── */
.pagehero{background:#232A38;color:#fff;padding:8rem 2rem 4.5rem;text-align:center;position:relative;overflow:hidden}
.pagehero::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 50% 0%,rgba(166,125,68,.12),transparent 60%)}
.pagehero-inner{position:relative;max-width:920px;margin:0 auto}
.pagehero .eyebrow{display:inline-block;font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1.3rem}
.pagehero h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,6vw,4.4rem);line-height:1.03;color:#fff;letter-spacing:.01em}
.pagehero h1 em{font-style:italic;color:var(--gold-l);font-weight:400}
.pagehero p{margin:1.5rem auto 0;max-width:640px;color:rgba(255,255,255,.72);font-size:1.06rem;line-height:1.7;font-weight:300}

/* ── By the numbers ── */
.numbers{background:#232A38;color:#fff;padding:5.5rem 2rem}
.numbers-inner{max-width:1120px;margin:0 auto}
.numbers .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.numbers h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,3rem);color:#fff;margin:.5rem 0 0;line-height:1.05}
.numbers h2 em{font-style:italic;color:var(--gold-l)}
.numbers-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin:3.2rem 0 2.6rem}
@media(max-width:760px){.numbers-grid{grid-template-columns:repeat(2,1fr);gap:2.4rem}}
.numbers-stat .n{font-family:var(--serif);font-weight:400;font-size:clamp(2.7rem,5vw,3.8rem);color:#fff;line-height:1}
.numbers-stat .l{display:block;margin-top:.5rem;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.numbers-area{border-top:1px solid rgba(166,125,68,.18);padding-top:2.2rem;text-align:center}
.numbers-area .eyebrow{display:block;margin-bottom:.9rem}
.numbers-area .places{font-family:var(--serif);font-size:clamp(1.4rem,3vw,2.1rem);color:#fff;font-weight:400}
.numbers-area .places i{font-style:normal;color:var(--gold-l);margin:0 .55rem}

/* ── Five crafts (services overview) ── */
.crafts{background:var(--bg);padding:6rem 2rem}
.crafts-inner{max-width:1120px;margin:0 auto}
.crafts .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.crafts h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--text);margin:.5rem 0 0;line-height:1.04}
.crafts h2 em{font-style:italic;color:var(--gold-d)}
.crafts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem 2.2rem;margin-top:3.5rem}
@media(max-width:880px){.crafts-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.crafts-grid{grid-template-columns:1fr}}
.craft{display:block;border-top:1px solid var(--border);padding-top:1.3rem;transition:border-color .3s}
.craft:hover{border-color:var(--gold)}
.craft:hover h3{color:var(--gold-d)}
.craft .n{font-family:var(--serif);font-style:italic;font-size:1.7rem;color:var(--gold);line-height:1}
.craft h3{font-family:var(--sans);font-size:1.12rem;font-weight:600;color:var(--text);margin:.55rem 0 .5rem}
.craft p{font-size:.9rem;line-height:1.65;color:var(--text2)}
.craft-more{display:inline-block;margin-top:.8rem;font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-d);font-weight:600}

/* ── Trusted partners ── */
.partners{background:var(--bg2);padding:6rem 2rem}
.partners-inner{max-width:1040px;margin:0 auto}
.partners .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.partners h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--text);margin:.5rem 0 .4rem;line-height:1.04}
.partners h2 em{font-style:italic;color:var(--gold-d)}
.partners-sub{color:var(--text2);font-size:1rem;margin-bottom:2.5rem}
.partner-group{border-top:1px solid var(--border);padding:1.5rem 0}
.partner-group .label{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-bottom:.7rem}
.partner-group .list{font-family:var(--serif);font-size:1.18rem;color:var(--text);line-height:1.65}
.partner-group .list b{font-weight:600;margin-right:1rem;letter-spacing:.02em}

/* ── Why agencies choose us ── */
.agencies{background:#232A38;color:#fff;padding:5.5rem 2rem;position:relative;overflow:hidden}
.agencies::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 50% 60% at 15% 20%,rgba(166,125,68,.09),transparent 60%)}
.agencies-inner{position:relative;max-width:1100px;margin:0 auto}
.agencies .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.agencies h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,3.2rem);color:#fff;margin:.5rem 0 .8rem;line-height:1.05}
.agencies h2 em{font-style:italic;color:var(--gold-l)}
.agencies-lead{color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.7;max-width:640px;font-weight:300}
.agencies-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-top:3rem}
@media(max-width:900px){.agencies-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.agencies-grid{grid-template-columns:1fr}}
.agency-card{border:1px solid rgba(166,125,68,.18);background:rgba(255,255,255,.03);padding:1.6rem 1.4rem}
.agency-card .n{font-family:var(--serif);font-style:italic;font-size:1.4rem;color:var(--gold);line-height:1}
.agency-card h3{font-size:.98rem;font-weight:600;color:#fff;margin:.5rem 0 .4rem}
.agency-card p{font-size:.84rem;line-height:1.6;color:rgba(255,255,255,.6);font-weight:300}
.agencies-cta{margin-top:2.6rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.agencies-cta a.btn{display:inline-block;background:var(--btn);color:var(--btn-ink);padding:1rem 2.1rem;border-radius:999px;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;transition:background .25s}
.agencies-cta a.btn:hover{background:#fff}
.agencies-cta .note{font-size:.82rem;color:rgba(255,255,255,.55)}

/* ── Section intro (centered, reused: showroom, experience, ambiances) ── */
.secintro{max-width:780px;margin:0 auto 3rem;text-align:center}
.secintro .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.secintro h2{font-family:var(--serif);font-weight:400;font-size:clamp(2rem,4.5vw,3.2rem);color:var(--text);margin:.5rem 0 .8rem;line-height:1.05}
.secintro h2 em{font-style:italic;color:var(--gold-d)}
.secintro p{color:var(--text2);font-size:1.02rem;line-height:1.7}
.secintro.on-dark h2{color:#fff}
.secintro.on-dark p{color:rgba(255,255,255,.7)}
.secintro.on-dark h2 em{color:var(--gold-l)}

/* ── In service of the journey (experience details) ── */
.inservice{background:var(--bg);padding:6rem 2rem}
.inservice-inner{max-width:1100px;margin:0 auto}
.inservice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
@media(max-width:900px){.inservice-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.inservice-grid{grid-template-columns:1fr}}
.iscard{background:#fff;border:1px solid var(--border);padding:1.7rem 1.5rem;display:flex;flex-direction:column;gap:.6rem}
.iscard .k{font-family:var(--serif);font-style:italic;font-size:1.3rem;color:var(--gold)}
.iscard h3{font-size:1rem;font-weight:600;color:var(--text)}
.iscard p{font-size:.86rem;line-height:1.6;color:var(--text2)}

/* ── Six ambiances (interiors) ── */
.ambiances{background:#232A38;padding:6rem 2rem;color:#fff}
.ambiances-inner{max-width:1160px;margin:0 auto}
.ambiances-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.1rem}
.amb{display:block;position:relative;flex:0 1 calc(33.333% - 0.8rem);min-width:300px;aspect-ratio:3/2;overflow:hidden;background:#1a1714}
.amb img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease;filter:brightness(.78)}
.amb:hover img{transform:scale(1.05)}
.amb-cap{position:absolute;left:0;right:0;bottom:0;padding:1.2rem 1.3rem;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.amb-cap .t{font-family:var(--serif);font-size:1.3rem;color:#fff;line-height:1.1}
.amb-cap .s{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-l);margin-top:.3rem}

/* ── Home fleet teaser ── */
.fteaser{background:var(--bg);padding:6rem 2rem;text-align:center}
.fteaser-inner{max-width:1100px;margin:0 auto}
.fteaser .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.fteaser h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.4rem);color:var(--text);margin:.5rem 0 .9rem;line-height:1.04}
.fteaser h2 em{font-style:italic;color:var(--gold-d)}
.fteaser p{color:var(--text2);max-width:600px;margin:0 auto 2.2rem;line-height:1.7}
.fteaser-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-bottom:2.4rem}
@media(max-width:760px){.fteaser-row{grid-template-columns:1fr}}
.fteaser-card{aspect-ratio:3/2;overflow:hidden;position:relative}
.fteaser-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.fteaser-card:hover img{transform:scale(1.05)}
.fteaser-card .cap{position:absolute;left:0;bottom:0;right:0;padding:1rem;background:linear-gradient(transparent,rgba(0,0,0,.7));text-align:left;color:#fff;font-family:var(--sans);font-weight:600;font-size:1rem}
.btn-line{display:inline-block;background:#232A38;color:#fff;padding:1rem 2.4rem;border-radius:999px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transition:background .25s}
.btn-line:hover{background:var(--btn);color:var(--btn-ink)}

/* ── Who is Phenom (brand film) ── */
.whois{background:var(--bg);padding:6rem 2rem}
.whois-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.35fr 1fr;gap:4rem;align-items:center}
.whois-video-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:6px;background:#232A38;box-shadow:0 40px 80px -42px rgba(28,23,20,.5)}
.whois-video{width:100%;height:100%;object-fit:cover;display:block}
.whois-video-wrap::after{content:'';position:absolute;inset:auto 0 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(28,23,20,.34));pointer-events:none}
.whois-body .eyebrow{display:block;font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1rem}
.whois-body h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.3rem);color:var(--text);margin:0 0 1.4rem;line-height:1.04}
.whois-body h2 em{font-style:italic;color:var(--gold-d)}
.whois-body p{color:var(--text2);line-height:1.75;margin:0 0 1.3rem;max-width:46ch}
.whois-cta{display:inline-flex;align-items:center;gap:.5rem;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--gold-d);border-bottom:1px solid rgba(125,94,51,.4);padding-bottom:5px;transition:letter-spacing .3s,border-color .3s}
.whois-cta:hover{letter-spacing:.22em;border-color:var(--gold-d)}
@media(max-width:880px){.whois{padding:4rem 1.5rem}.whois-grid{grid-template-columns:1fr;gap:2rem}}

/* ── Footer tagline + social (v2) ── */
.ft-tagline{font-family:var(--serif);font-style:italic;font-size:1.15rem;color:rgba(245,242,236,.85);margin-bottom:1.2rem}


/* ── Section onward CTA (every section leads somewhere) ── */
.sec-cta-wrap{text-align:center;margin-top:.4rem}
.sec-cta{display:inline-block;margin-top:1.9rem;padding:.92rem 2.1rem;border-radius:999px;
  font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  border:1px solid var(--gold);color:var(--gold-d);
  transition:background .25s,color .25s,border-color .25s}
.sec-cta:hover{background:var(--btn);color:var(--btn-ink)}
.sec-cta.on-dark{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.sec-cta.on-dark:hover{background:#fff;border-color:#fff;color:#232A38}


/* ── Hero scroll cue ── */
.hero-scroll{position:absolute;bottom:2.2rem;left:50%;transform:translateX(-50%);z-index:3;width:26px;height:42px;border:1px solid rgba(244,240,232,.4);border-radius:14px;display:flex;justify-content:center;padding-top:8px}
.hero-scroll span{width:3px;height:8px;background:var(--gold);border-radius:2px;animation:heroScroll 1.8s ease-in-out infinite}
@keyframes heroScroll{0%{opacity:0;transform:translateY(0)}30%{opacity:1}60%{opacity:1;transform:translateY(10px)}100%{opacity:0;transform:translateY(14px)}}
@media(max-width:900px){.hero-scroll{display:none}}


/* ── Page hero: background image + quick-jump CTAs (every hero leads somewhere) ── */
.pagehero--img{background-size:cover;background-position:center}
.pagehero--img::before{background:linear-gradient(rgba(35,42,56,.82),rgba(35,42,56,.9))}
.pagehero-ctas{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:2.2rem;position:relative;z-index:1}
.pagehero-link{padding:.72rem 1.5rem;border:1px solid rgba(255,255,255,.28);border-radius:999px;
  font-size:.64rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.85);font-weight:500;
  transition:background .25s,color .25s,border-color .25s}
.pagehero-link:hover{border-color:var(--gold);color:var(--gold)}
.pagehero-link.primary{background:var(--btn);color:var(--btn-ink);border-color:var(--btn);font-weight:600}
.pagehero-link.primary:hover{background:#fff;border-color:#fff;color:#232A38}


/* ════ CONVERSION: trust bar + recurring CTA band + bolder Book ════ */

.cta-band{background:#232A38;color:#fff;text-align:center;padding:5.5rem 2rem;position:relative;overflow:hidden}
.cta-band::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 50% 0%,rgba(166,125,68,.14),transparent 62%)}
.cta-band-inner{position:relative;max-width:760px;margin:0 auto}
.cta-band .eyebrow{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-weight:600}
.cta-band h2{font-family:var(--serif);font-weight:400;font-size:clamp(2.2rem,5vw,3.6rem);color:#fff;margin:.6rem 0 1rem;line-height:1.05}
.cta-band h2 em{font-style:italic;color:var(--gold-l)}
.cta-band p{color:rgba(255,255,255,.72);font-size:1.05rem;line-height:1.7;margin-bottom:2.2rem}
.cta-band-actions{display:flex;gap:1.4rem;justify-content:center;align-items:center;flex-wrap:wrap}
.cta-band-btn{display:inline-block;background:var(--btn);color:var(--btn-ink);padding:1.05rem 2.6rem;border-radius:999px;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;transition:background .25s}
.cta-band-btn:hover{background:#fff}
.cta-band-call{color:rgba(255,255,255,.7);font-size:.85rem;letter-spacing:.04em}
.cta-band-call:hover{color:var(--gold)}

/* Bolder, filled Book button (always the clearest action) */
.btn-book{background:var(--btn)!important;color:var(--btn-ink)!important;border-color:var(--btn)!important;font-weight:600}
.btn-book:hover{background:#fff!important;border-color:#fff!important;color:#232A38!important}

/* Fix: footer legal nav must NOT inherit the fixed main-nav positioning */
nav.ft-legal{position:static!important;top:auto!important;z-index:auto!important;width:auto}


/* ── Sticky booking bar (follows the visitor) ── */
.sticky-book{position:fixed;left:0;right:0;bottom:0;z-index:300;
  background:rgba(35,42,56,.97);backdrop-filter:blur(10px);
  border-top:1px solid rgba(166,125,68,.32);
  display:flex;align-items:center;justify-content:space-between;gap:1.5rem;
  padding:.8rem 2.5rem;transform:translateY(115%);transition:transform .45s cubic-bezier(.4,0,.2,1)}
.sticky-book.show{transform:translateY(0)}
.sticky-book-text{color:rgba(255,255,255,.78);font-size:.8rem;letter-spacing:.05em}
.sticky-book-text strong{color:var(--gold);font-weight:600;letter-spacing:.22em}
.sticky-book-btn{flex-shrink:0;background:var(--btn);color:var(--btn-ink);
  padding:.72rem 1.9rem;border-radius:999px;font-size:.7rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;white-space:nowrap;transition:background .25s}
.sticky-book-btn:hover{background:#fff}
@media(max-width:600px){.sticky-book{padding:.6rem .9rem}.sticky-book-text{display:none}.sticky-book-btn{flex:1;text-align:center;padding:.85rem}}


/* Sticky booking mini-form */
.sticky-book{justify-content:center}
.sticky-book .sb-inner{max-width:1080px;width:100%;margin:0 auto;display:flex;align-items:center;gap:.7rem}
.sticky-book .sb-label{color:var(--gold);font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.sb-input{flex:1;min-width:0;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);color:#fff;padding:.72rem 1rem;font-size:.85rem;font-family:var(--sans);border-radius:5px;outline:none;transition:border-color .2s,background .2s}
.sb-input::placeholder{color:rgba(255,255,255,.42)}
.sb-input:focus{border-color:var(--gold);background:rgba(255,255,255,.11)}
.sb-arrow{color:rgba(255,255,255,.4);flex-shrink:0;font-size:1.1rem}
.sb-go{flex-shrink:0;background:var(--btn);color:var(--btn-ink);border:none;cursor:pointer;padding:.74rem 1.7rem;border-radius:999px;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;white-space:nowrap;font-family:var(--sans);transition:background .25s}
.sb-go:hover{background:#fff}
.sb-toggle{display:flex;gap:2px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:7px;padding:2px;flex-shrink:0}
.sb-tab{background:transparent;border:none;cursor:pointer;color:rgba(255,255,255,.6);font-family:var(--sans);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;padding:.5rem .8rem;border-radius:5px;transition:background .2s,color .2s;white-space:nowrap}
.sb-tab.on{background:var(--btn);color:var(--btn-ink)}
.sb-select{cursor:pointer;flex:0 0 auto;min-width:150px}
.sb-select option{color:#1C1714}
.sb-note{flex:1;min-width:0;color:rgba(255,255,255,.82);font-size:.82rem;font-family:var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky-book.cta-mode .sb-inner{justify-content:center;gap:1.3rem}
@media(max-width:760px){
  .sticky-book{padding:.55rem .7rem}
  .sticky-book .sb-label{display:none}.sb-arrow{display:none}
  .sb-input{font-size:.8rem;padding:.62rem .7rem}
  .sb-go{padding:.66rem 1rem;font-size:.6rem}
}

/*==============================================
  CAR PHOTO GALLERY (lightbox)
==============================================*/
.car-photo[data-gal]{cursor:pointer;position:relative}
.car-gal-hint{
  position:absolute;right:.7rem;bottom:.7rem;z-index:2;
  background:rgba(35,42,56,.78);color:#F4F0E8;
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.34rem .75rem;border-radius:999px;pointer-events:none;
  opacity:.92;transition:opacity .25s, background .25s;
}
.car-photo[data-gal]:hover .car-gal-hint{opacity:1;background:rgba(35,42,56,.95)}
#galModal{position:fixed;inset:0;z-index:600;display:none}
#galModal.open{display:block}
.gal-backdrop{position:absolute;inset:0;background:rgba(14,16,21,.9);backdrop-filter:blur(6px)}
.gal-panel{
  position:relative;z-index:2;max-width:1060px;margin:4vh auto;max-height:92vh;
  overflow:auto;background:#EFE9E1;border-radius:14px;
  padding:2.4rem 2.6rem 2.6rem;box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.gal-close{
  position:absolute;top:1.05rem;right:1.2rem;width:38px;height:38px;
  border:none;border-radius:50%;background:rgba(35,42,56,.08);
  color:#232A38;font-size:1.5rem;line-height:1;cursor:pointer;
  transition:background .25s;
}
.gal-close:hover{background:rgba(35,42,56,.16)}
.gal-eyebrow{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.32em;text-transform:uppercase;color:var(--gold);
}
.gal-title{
  font-family:var(--serif);font-size:2rem;font-weight:400;
  color:var(--text);margin-top:.45rem;line-height:1.1;
}
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:1.6rem}
.gal-item{margin:0;overflow:hidden;border-radius:5px;background:#E6E0D6}
.gal-item img{
  width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;
  transition:transform .5s ease;
}
.gal-item:hover img{transform:scale(1.03)}
@media(max-width:860px){
  .gal-grid{grid-template-columns:repeat(2,1fr)}
  .gal-panel{margin:2vh 10px;padding:1.8rem 1.4rem}
}

/*==============================================
  REQUEST MODAL (concierge service & trade account)
==============================================*/
#reqModal{position:fixed;inset:0;z-index:650;display:none}
#reqModal.open{display:block}
.req-backdrop{position:absolute;inset:0;background:rgba(14,16,21,.9);backdrop-filter:blur(6px)}
.req-panel{
  position:relative;z-index:2;max-width:640px;margin:5vh auto;max-height:90vh;overflow:auto;
  background:#EFE9E1;border-radius:14px;padding:2.6rem 2.8rem 2.4rem;
  box-shadow:0 30px 90px rgba(0,0,0,.55);
}
.req-close{
  position:absolute;top:1.05rem;right:1.2rem;width:38px;height:38px;border:none;border-radius:50%;
  background:rgba(35,42,56,.08);color:#232A38;font-size:1.5rem;line-height:1;cursor:pointer;transition:background .25s;
}
.req-close:hover{background:rgba(35,42,56,.16)}
.req-eyebrow{font-family:var(--sans);font-size:.6rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.req-title{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--text);margin-top:.45rem;line-height:1.1}
.req-intro{font-size:.92rem;line-height:1.7;color:var(--text2);margin-top:.9rem;max-width:48ch}
.req-form{margin-top:1.6rem}
.req-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.1rem}
.req-field{display:flex;flex-direction:column;gap:.4rem}
.req-field--wide{grid-column:1 / -1}
.req-label{font-family:var(--sans);font-size:.64rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--text2)}
.req-star{color:var(--gold)}
.req-field input,.req-field select,.req-field textarea{
  width:100%;padding:.8rem .9rem;background:#FAF7F1;border:1px solid var(--border2);border-radius:7px;
  font-family:var(--sans);font-size:.92rem;color:var(--text);transition:border-color .2s,box-shadow .2s;
}
.req-field textarea{resize:vertical;min-height:84px}
.req-field input:focus,.req-field select:focus,.req-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(166,125,68,.12);
}
.req-actions{display:flex;align-items:center;gap:1.4rem;margin-top:1.5rem;flex-wrap:wrap}
.req-submit{
  background:var(--btn);color:var(--btn-ink);border:none;cursor:pointer;
  padding:.95rem 2.2rem;border-radius:999px;font-family:var(--sans);
  font-size:.74rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;transition:background .25s;
}
.req-submit:hover{background:var(--btn-d)}
.req-emaillink{font-size:.8rem;color:var(--gold);border-bottom:1px solid rgba(166,125,68,.35);transition:border-color .2s}
.req-emaillink:hover{border-bottom-color:var(--gold)}
.req-note{margin-top:1.1rem;font-size:.72rem;color:var(--text3);line-height:1.6}
.req-done{text-align:center;padding:1.5rem 0 .5rem}
.req-check{width:54px;height:54px;margin:0 auto 1rem;border-radius:50%;background:var(--btn);color:var(--btn-ink);display:flex;align-items:center;justify-content:center;font-size:1.6rem}
.req-done h4{font-family:var(--serif);font-weight:400;font-size:1.5rem;color:var(--text);margin-bottom:.6rem}
.req-done p{font-size:.9rem;color:var(--text2);line-height:1.7}
.req-done a{color:var(--gold);border-bottom:1px solid rgba(166,125,68,.35)}
@media(max-width:600px){
  .req-panel{margin:2vh 10px;padding:1.9rem 1.4rem}
  .req-grid{grid-template-columns:1fr}
  .req-title{font-size:1.7rem}
}

/*==============================================
  BOOK PAGE (dedicated booking page)
==============================================*/
.bookhero{padding:150px 5rem 0;background:var(--bg)}
.bookhero .eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-family:var(--sans)}
.bookhero h1{font-family:var(--serif);font-size:clamp(2.3rem,4.6vw,3.8rem);font-weight:400;line-height:1.06;color:var(--text);margin-top:.7rem}
.bookhero h1 em{font-style:italic;color:var(--gold)}
@media(max-width:768px){.bookhero{padding:112px 1.5rem 0}}

/*==============================================
  FLEET CAROUSEL UX — text padding + visible side arrows
==============================================*/
/* Give the card text breathing room; photo stays full-bleed */
.car-card > :not(.car-photo){padding-left:1.15rem;padding-right:1.15rem}

/* Move the prev/next controls to the carousel sides, always visible */
.sec.fleet{position:relative}
.fleet-nav{
  position:absolute;left:0;right:0;top:56%;transform:translateY(-50%);
  display:flex;justify-content:space-between;align-items:center;
  margin:0;padding:0 .9rem;pointer-events:none;z-index:20;
}
.fleet-prev,.fleet-next{
  pointer-events:auto;flex-shrink:0;
  width:46px;height:46px;border-radius:50%;border:none;
  background:var(--btn);color:var(--btn-ink);
  font-size:1.35rem;line-height:1;
  box-shadow:0 8px 24px rgba(20,22,28,.22);
}
.fleet-prev:hover,.fleet-next:hover{background:#232A38;color:#F4F0E8}
@media(max-width:640px){
  .fleet-nav{padding:0 .3rem}
  .fleet-prev,.fleet-next{width:38px;height:38px;font-size:1.15rem}
}

/*==============================================
  SPECIAL REQUEST TAB (multi-vehicle, on book.html)
==============================================*/
.sr-veh-row{flex-direction:column;align-items:stretch;gap:.55rem}
.sr-veh-title{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3);font-family:var(--sans)}
.sr-veh-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.7rem}
@media(max-width:900px){.sr-veh-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.sr-veh-grid{grid-template-columns:1fr}}
.sr-veh{
  display:flex;align-items:center;justify-content:space-between;gap:.6rem;
  background:#fff;border:1px solid var(--border);border-radius:6px;
  padding:.55rem .8rem;
}
.sr-veh-label{font-size:.82rem;color:var(--text);font-family:var(--sans)}
.sr-qty{display:flex;align-items:center;gap:.5rem}
.sr-qty button{
  width:26px;height:26px;border:1px solid var(--border2);border-radius:50%;
  background:#FAF7F1;cursor:pointer;font-size:.95rem;line-height:1;color:var(--text);
  font-family:var(--sans);transition:background .2s;
}
.sr-qty button:hover{background:var(--btn)}
.sr-qty span{min-width:1.3em;text-align:center;font-weight:600;font-size:.92rem;font-family:var(--sans)}
.sr-status{font-size:.85rem;font-family:var(--sans);color:var(--text2)}
.sr-status.ok{color:#2C7A4B;font-weight:500}
.sr-status.err{color:#B0322B}

/*==============================================
  RENTAL RATES TABLE (indicative daily rates)
==============================================*/
.rental-rates{margin-top:3.5rem;border-top:1px solid var(--border);padding-top:2.6rem}
.rental-rates-head .eyebrow{font-size:.6rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-family:var(--sans)}
.rental-rates-head h3{font-family:var(--serif);font-size:1.7rem;font-weight:400;color:var(--text);margin-top:.4rem}
.rental-rates-head h3 em{font-style:italic;color:var(--gold)}
.rental-rates-scroll{overflow-x:auto;margin-top:1.4rem}
.rental-rates-table{width:100%;border-collapse:collapse;min-width:560px;font-family:var(--sans)}
.rental-rates-table th{
  text-align:left;font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--text3);font-weight:600;padding:.7rem .9rem;
  border-bottom:1px solid var(--border2);
}
.rental-rates-table td{
  padding:.85rem .9rem;font-size:.92rem;color:var(--text);
  border-bottom:1px solid var(--border);
}
.rental-rates-table td:first-child{font-weight:600}
.rental-rates-table td:nth-child(2){color:var(--gold-d);font-weight:600}
.rental-rates-table tr:hover td{background:#FAF7F1}
.rental-rates-note{
  margin-top:1rem;font-size:.78rem;line-height:1.7;color:var(--text3);
  font-family:var(--sans);max-width:72ch;
}

/*==============================================
  FOOTER — mini map + social icons
==============================================*/
.ft-map{
  display:block;margin-top:1.1rem;height:130px;border-radius:8px;overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  transition:border-color .25s;
}
.ft-map:hover{border-color:var(--gold)}
.ft-map-canvas{width:100%;height:100%;pointer-events:none;background:#2A3140}
.ft-social{display:flex;gap:.7rem;align-items:center}
.ft-social a{
  width:38px;height:38px;border-radius:50%;
  border:1px solid rgba(255,255,255,.2);
  display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.72);
  transition:color .25s,border-color .25s,background .25s;
}
.ft-social a svg{width:16px;height:16px;display:block}
.ft-social a:hover{color:#F4F0E8;border-color:var(--gold);background:rgba(166,125,68,.18)}

/* Footer social icons — official app brand colours */
.ft-social a{border:none;color:#fff}
.ft-social a[aria-label="Instagram"]{background:radial-gradient(circle at 30% 110%, #fdf497 0%, #fd5949 45%, #d6249f 60%, #285AEB 90%)}
.ft-social a[aria-label="LinkedIn"]{background:#0A66C2}
.ft-social a[aria-label="WhatsApp"]{background:#25D366}
.ft-social a[aria-label="Facebook"]{background:#1877F2}
.ft-social a:hover{color:#fff;border:none;filter:brightness(1.12);transform:translateY(-2px)}
.ft-social a{transition:filter .25s,transform .25s}

/*==============================================
  CAR DETAIL PAGE (magazine-style)
==============================================*/
.cardetail{padding:118px 5rem 5rem;background:var(--bg);min-height:70vh}
.cd-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:3rem;align-items:center}
.cd-hero-media{border-radius:10px;overflow:hidden;box-shadow:0 24px 70px -20px rgba(20,22,28,.35)}
.cd-hero-media img{width:100%;height:100%;min-height:340px;max-height:520px;object-fit:cover;display:block}
.cd-hero-body .eyebrow{font-size:.62rem;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);font-family:var(--sans)}
.cd-hero-body h1{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400;line-height:1.05;color:var(--text);margin-top:.6rem}
.cd-sub{font-family:var(--sans);font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-d);font-weight:600;margin-top:.5rem}
.cd-tagline{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--text2);margin-top:1.1rem}
.cd-specs{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.4rem}
.cd-spec{display:inline-flex;align-items:center;gap:.45rem;background:#fff;border:1px solid var(--border);border-radius:999px;padding:.5rem 1rem;font-family:var(--sans);font-size:.8rem;color:var(--text)}
.cd-spec svg{width:15px;height:15px;color:var(--gold)}
.cd-spec b{font-weight:600}
.cd-desc{font-size:.98rem;line-height:1.85;color:var(--text2);max-width:56ch;margin-top:1.3rem}
.cd-ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1.7rem}
.cd-ctas .btn-res{text-decoration:none;display:inline-block}
.cd-ctas .btn-ghost2{
  display:inline-block;padding:.82rem 2.1rem;border:1px solid var(--border2);
  font-family:var(--sans);font-size:.7rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-d);background:transparent;cursor:pointer;transition:background .25s,color .25s;
}
.cd-ctas .btn-ghost2:hover{background:var(--btn);color:var(--btn-ink);border-color:var(--btn)}
.cd-gallery-head{margin-top:4.5rem}
.cd-gallery-head h2{font-family:var(--serif);font-size:1.9rem;font-weight:400;color:var(--text);margin-top:.4rem}
.cd-gallery-head h2 em{font-style:italic;color:var(--gold)}
.cd-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:1.5rem}
.cd-gallery figure{margin:0;border-radius:6px;overflow:hidden;background:#E6E0D6}
.cd-gallery img{width:100%;height:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .5s ease}
.cd-gallery figure:hover img{transform:scale(1.04)}
.cd-gallery figure:first-child{grid-column:span 2;grid-row:span 2}
.cd-gallery figure:first-child img{aspect-ratio:auto;height:100%}
.cd-prevnext{display:flex;justify-content:space-between;gap:1rem;margin-top:4rem;border-top:1px solid var(--border);padding-top:1.6rem}
.cd-nav-link{font-family:var(--serif);font-size:1.15rem;color:var(--text2);transition:color .25s}
.cd-nav-link:hover{color:var(--gold-d)}
.cd-nav-link .k{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;color:var(--text3);margin-bottom:.3rem}
@media(max-width:900px){
  .cardetail{padding:104px 1.5rem 4rem}
  .cd-hero{grid-template-columns:1fr;gap:1.6rem}
  .cd-gallery{grid-template-columns:1fr 1fr}
  .cd-gallery figure:first-child{grid-column:span 2;grid-row:auto}
}
/* Fleet cards: car name links to its detail page */
.car-name a{color:inherit;text-decoration:none;transition:color .25s}
.car-name a:hover{color:var(--gold-d)}

/* 3D car renders in the vehicle price list */
.vrow-carimg{max-width:94%;max-height:96%;object-fit:contain;display:block;margin:auto;filter:drop-shadow(0 10px 16px rgba(20,22,28,.18))}

/* Required-field validation */
.field-missing{border-color:#B0322B !important;background:#FDF3F2 !important;box-shadow:0 0 0 3px rgba(176,50,43,.12) !important}
.bform-err{flex-basis:100%;font-family:var(--sans);font-size:.8rem;color:#B0322B;font-weight:500}

/* Collection tile tags (chauffeured / rental) */
.amb{position:relative}
.amb-tag{
  position:absolute;top:.7rem;left:.7rem;z-index:2;
  background:rgba(35,42,56,.82);color:#F4F0E8;
  font-family:var(--sans);font-size:.56rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.32rem .7rem;border-radius:999px;pointer-events:none;
}

/* Ambiance tiles: hover-reveal the related car */
.amb .amb-reveal{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .6s ease;z-index:1;
}
.amb:hover .amb-reveal{opacity:1}
.amb .amb-cap{z-index:2}
.amb-discover{
  position:absolute;right:.8rem;bottom:.8rem;z-index:3;
  background:var(--btn);color:var(--btn-ink);
  font-family:var(--sans);font-size:.6rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;
  padding:.4rem .85rem;border-radius:999px;
  opacity:0;transform:translateY(4px);
  transition:opacity .4s ease,transform .4s ease;pointer-events:none;
}
.amb:hover .amb-discover{opacity:1;transform:translateY(0)}

/* Luggage volume — pill selector (replaces native dropdown) */
.vol-pills{display:flex;gap:.55rem;flex-wrap:wrap}
.vol-pill{
  flex:1 1 auto;min-width:86px;
  display:flex;flex-direction:column;align-items:center;gap:.15rem;
  background:#fff;border:1px solid var(--border);border-radius:8px;
  padding:.6rem .8rem;cursor:pointer;font-family:var(--sans);
  transition:background .25s,border-color .25s,transform .2s;
}
.vol-pill b{font-size:.95rem;font-weight:600;color:var(--text);letter-spacing:.02em}
.vol-pill span{font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text3)}
.vol-pill:hover{border-color:var(--border2);transform:translateY(-1px)}
.vol-pill.on{background:var(--btn);border-color:var(--btn)}
.vol-pill.on b{color:var(--btn-ink)}
.vol-pill.on span{color:rgba(35,42,56,.7)}
.vol-note{margin-top:.55rem;font-family:var(--sans);font-size:.74rem;line-height:1.6;color:var(--text3)}
.equip-row{display:flex;align-items:center;gap:.9rem;margin-top:.7rem;flex-wrap:wrap}
.equip-label{font-family:var(--sans);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3)}
.equip-chips{display:flex;gap:.5rem;flex-wrap:wrap}
.equip-chip{
  background:#fff;border:1px solid var(--border);border-radius:999px;
  padding:.42rem 1rem;cursor:pointer;font-family:var(--sans);font-size:.76rem;color:var(--text2);
  transition:background .25s,border-color .25s,color .25s;
}
.equip-chip:hover{border-color:var(--border2)}
.equip-chip.on{background:var(--btn);border-color:var(--btn);color:var(--btn-ink);font-weight:600}

/* Home — quick booking band */
.hq-band{background:#232A38;padding:5.5rem 6vw}
.hq-inner{max-width:1080px;margin:0 auto}
.hq-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap;margin-top:2.2rem}
.hq-field{flex:1 1 240px;display:flex;flex-direction:column;gap:.45rem}
.hq-field label{font-family:var(--sans);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,240,232,.55)}
.hq-field input{background:#fff;border:1px solid transparent;border-radius:6px;padding:.85rem 1rem;font-family:var(--sans);font-size:.92rem;color:var(--text);outline:none}
.hq-field input:focus{border-color:var(--gold-l)}
.hq-go{white-space:nowrap;padding:.95rem 1.8rem}
.hq-links{display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;margin-top:1.6rem;font-family:var(--sans);font-size:.78rem}
.hq-links span{color:rgba(244,240,232,.45)}
.hq-links a{color:var(--gold-l);text-decoration:none;letter-spacing:.06em;border-bottom:1px solid rgba(184,145,92,.35);padding-bottom:2px}
.hq-links a:hover{color:#F4F0E8;border-color:#F4F0E8}

/* Home — maison intro */
.hp-about{background:var(--bg);padding:5.5rem 6vw;text-align:center}
.hp-inner{max-width:880px;margin:0 auto}
.hp-about .secintro p{max-width:640px;margin:1rem auto 0;line-height:1.85}
.hp-stats{display:flex;justify-content:center;gap:3.4rem;flex-wrap:wrap;margin:2.6rem 0 2.4rem}
.hp-stat{display:flex;flex-direction:column;gap:.3rem}
.hp-stat b{font-family:var(--serif);font-size:2rem;font-weight:500;color:var(--gold)}
.hp-stat span{font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3)}
@media (max-width:700px){.hq-row{flex-direction:column;align-items:stretch}.hq-field{flex:1 1 auto}.hq-go{text-align:center}.hp-stats{gap:2rem}}

/* Live estimate — inactive luggage tier */
.live-price-row.lpr-dim{opacity:.4}

/* Locked airport-side field + delegation failure banner + payment note */
input.locked{background:#F1EDE6 !important;color:var(--text2);cursor:default}
#del-success.err{background:#FDF3F2;border-color:#B0322B;color:#7A2520}
.pay-methods-note{font-family:var(--sans);font-size:.78rem;color:var(--text3);margin:.3rem 0 1rem}

/* Home quick-booking: address autocomplete support */
.hq-field{position:relative}
.hq-field input.addr-input{padding-left:2.4rem}
.hq-field .addr-drop{color:var(--text)}
.hq-loc{color:var(--gold-l);font-size:.6rem;letter-spacing:.08em;margin-left:.55rem;text-decoration:none;text-transform:none}
.hq-loc:hover{color:#F4F0E8}

/* Quiet multi-car: add another vehicle to the same journey */
.addcar{margin:.9rem 0 0;padding:0 .2rem}
.addcar a#addCarLink{font-family:var(--sans);font-size:.78rem;color:var(--gold);text-decoration:none;border-bottom:1px solid rgba(166,125,68,.35);padding-bottom:2px}
.addcar a#addCarLink:hover{color:var(--gold-d);border-color:var(--gold-d)}
.addcar-hint{color:var(--text3);font-size:.72rem}
.addcar-picker{display:flex;gap:.6rem;margin-top:.7rem;max-width:460px}
.addcar-picker select{flex:1;padding:.6rem .8rem;border:1px solid var(--border2);border-radius:6px;font-family:var(--sans);font-size:.8rem;background:#fff;color:var(--text)}
.addcar-btn{background:var(--btn);color:var(--btn-ink);border:none;border-radius:6px;padding:.6rem 1.2rem;font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
.addcar-btn:hover{background:var(--btn-d)}
.addcar-list{display:flex;flex-direction:column;gap:.4rem;margin-top:.7rem}
.addcar-chip{display:flex;align-items:center;gap:.9rem;background:#fff;border:1px solid var(--border);border-radius:8px;padding:.55rem .9rem;font-family:var(--sans);font-size:.8rem;max-width:460px}
.addcar-chip span{color:var(--text)}
.addcar-chip b{margin-left:auto;color:var(--gold-d);font-weight:600}
.addcar-rm{color:var(--text3);text-decoration:none;font-size:.85rem;padding:.1rem .3rem}
.addcar-rm:hover{color:#B0322B}

/* Contact page */
.contactpage{padding:4.5rem 6vw 5.5rem}
.ct-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:3.5rem;max-width:1080px;margin:0 auto}
.ct-cards{display:flex;flex-direction:column;gap:.9rem}
.ct-card{display:flex;align-items:center;gap:1rem;background:#fff;border:1px solid var(--border);border-radius:10px;padding:1.05rem 1.2rem;text-decoration:none;transition:border-color .25s,transform .2s}
.ct-card:hover{border-color:var(--gold-l);transform:translateY(-1px)}
.ct-ico{font-size:1.25rem}
.ct-body{display:flex;flex-direction:column;gap:.15rem}
.ct-body b{font-family:var(--sans);font-size:.86rem;color:var(--text);font-weight:600}
.ct-body i{font-style:normal;font-family:var(--sans);font-size:.76rem;color:var(--text3)}
.ct-form-wrap h3{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--text)}
.ct-form-sub{font-family:var(--sans);font-size:.8rem;color:var(--text3);margin:.4rem 0 1.4rem}
.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ct-field{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.ct-field label{font-family:var(--sans);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--text3)}
.ct-field input,.ct-field textarea{background:#fff;border:1px solid var(--border2);border-radius:6px;padding:.8rem 1rem;font-family:var(--sans);font-size:.9rem;color:var(--text);outline:none;resize:vertical}
.ct-field input:focus,.ct-field textarea:focus{border-color:var(--gold-l)}
.ct-actions{display:flex;align-items:center;gap:1.2rem;flex-wrap:wrap}
.ct-status{font-family:var(--sans);font-size:.8rem;color:var(--text3)}
.ct-status.ok{color:#2E6B3F}.ct-status.err{color:#B0322B}
.ct-map-wrap{max-width:1080px;margin:3rem auto 0}
.ct-map-link{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--border)}
#contactMap{height:340px;width:100%}
@media (max-width:860px){.ct-grid{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr}}

/* Real deposit checkout box (step 4) */
#ppPayBox{margin:1.4rem 0;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--border);border-radius:10px}
.pp-title{font-family:var(--sans);font-size:.84rem;font-weight:600;color:var(--text);margin-bottom:.8rem}
.pp-note{font-family:var(--sans);font-size:.78rem;color:var(--text3);margin-top:.5rem}

/* Sticky bar: address autocomplete (opens upward) */
.sb-field{position:relative;display:flex;flex:1 1 180px;min-width:0}
.sb-field .sb-input{width:100%}
.sb-field input.addr-input{padding-left:2.1rem}
.sb-field .addr-pin{left:.75rem;bottom:auto;top:50%;transform:translateY(-50%)}
.sb-field .addr-loading{right:.75rem;bottom:auto;top:50%;transform:translateY(-50%)}
.sb-field .addr-drop{top:auto;bottom:calc(100% + 8px);border-radius:8px;max-height:300px}

/* Stripe deposit box (step 4) */
#stripePayBox{margin:1.4rem 0;padding:1.1rem 1.2rem;background:#fff;border:1px solid var(--border);border-radius:10px}
.stripe-pay-btn{display:inline-block;background:#635BFF;color:#fff;text-decoration:none;font-family:var(--sans);font-size:.8rem;font-weight:600;letter-spacing:.08em;padding:.85rem 1.6rem;border-radius:8px;transition:background .25s}
.stripe-pay-btn:hover{background:#4B44D6}

/* Maps: mute OSM colors toward the house palette */
#ftMap .leaflet-tile,#contactMap .leaflet-tile{filter:grayscale(.28) sepia(.13) saturate(.72) brightness(1.03)}
#ftMap .leaflet-control-attribution,#contactMap .leaflet-control-attribution{font-size:9px;background:rgba(255,255,255,.6);color:#8a8a8a}
