:root{
    --gold:#D4AF37;
    --gold-soft:rgba(212,175,55,.18);
    --ease-lux: cubic-bezier(.22,.85,.3,1);
  }
  html{scroll-behavior:smooth;}
  body{background:#0D0D0D;overflow-x:hidden;}
  ::selection{background:rgba(212,175,55,.28);color:#fff;}

  /* ---------- Scroll progress ---------- */
  #progress{
    position:fixed;top:0;left:0;height:2px;width:0%;
    background:linear-gradient(90deg,rgba(212,175,55,0),#D4AF37,#F1DFA0);
    z-index:100;box-shadow:0 0 12px rgba(212,175,55,.6);
    transition:width .12s linear;
  }

  /* ---------- Header ---------- */
  .header-shell{transition:background .45s var(--ease-lux),backdrop-filter .45s ease,border-color .45s ease,padding .35s ease;}
  .header-scrolled{background:rgba(13,13,13,.92);backdrop-filter:blur(14px);border-color:rgba(212,175,55,.16);box-shadow:0 18px 50px -30px rgba(0,0,0,.9);}
  .nav-link{position:relative;}
  .nav-link::after{
    content:"";position:absolute;left:0;bottom:-6px;height:1.5px;width:100%;
    background:linear-gradient(90deg,#D4AF37,#F1DFA0);
    transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease-lux);
  }
  .nav-link:hover::after,.nav-link.active::after{transform:scaleX(1);transform-origin:left;}

  /* Mega dropdown */
  .mega-wrap{position:relative;}
  .mega{
    position:absolute;left:50%;top:calc(100% + 18px);
    width:min(960px,88vw);transform:translate(-50%,14px);
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .38s var(--ease-lux),transform .48s var(--ease-lux),visibility .38s;
    background:rgba(20,20,20,.97);backdrop-filter:blur(18px);
    border:1px solid rgba(212,175,55,.22);border-radius:18px;
    box-shadow:0 50px 110px -40px rgba(0,0,0,.95),0 0 0 1px rgba(255,255,255,.02) inset;
    padding:26px;z-index:80;
  }
  .mega-wrap:hover .mega,.mega-wrap:focus-within .mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0);}
  .mega-item{transition:background .3s ease,transform .35s var(--ease-lux),border-color .3s ease;}
  .mega-item:hover{background:rgba(212,175,55,.09);transform:translateX(5px);border-color:rgba(212,175,55,.35);}

  /* ---------- Buttons ---------- */
  .btn-gold{
    position:relative;overflow:hidden;isolation:isolate;
    background:linear-gradient(135deg,#E3C463,#D4AF37 45%,#B8912A);
    color:#12100A;font-weight:600;
    box-shadow:0 16px 38px -16px rgba(212,175,55,.65);
    transition:transform .38s var(--ease-lux),box-shadow .38s ease,filter .35s ease;
  }
  .btn-gold:hover{transform:translateY(-3px);box-shadow:0 26px 55px -18px rgba(212,175,55,.8);filter:saturate(1.12) brightness(1.04);}
  .btn-gold::after{
    content:"";position:absolute;inset:0;z-index:-1;
    background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.55) 48%,transparent 72%);
    transform:translateX(-130%);transition:transform .8s var(--ease-lux);
  }
  .btn-gold:hover::after{transform:translateX(130%);}

  .btn-outline{
    position:relative;border:1px solid rgba(212,175,55,.55);color:#F2E4B8;
    transition:color .35s ease,transform .38s var(--ease-lux),border-color .35s ease,box-shadow .35s ease;
    overflow:hidden;z-index:1;
  }
  .btn-outline::before{
    content:"";position:absolute;inset:0;background:linear-gradient(135deg,#D4AF37,#E8CE7A);
    transform:translateY(101%);transition:transform .45s var(--ease-lux);z-index:-1;
  }
  .btn-outline:hover{color:#141109;border-color:#D4AF37;transform:translateY(-3px);box-shadow:0 22px 46px -22px rgba(212,175,55,.7);}
  .btn-outline:hover::before{transform:translateY(0);}

  /* ---------- Hero ---------- */
  .hero-bg{
    position:absolute;inset:0;
    background:
      radial-gradient(1100px 520px at 78% 22%,rgba(212,175,55,.16),transparent 62%),
      radial-gradient(900px 520px at 12% 82%,rgba(212,175,55,.09),transparent 60%),
      linear-gradient(180deg,#0D0D0D 0%,rgba(13,13,13,.72) 38%,rgba(13,13,13,.92) 78%,#0D0D0D 100%);
  }
  .hero-img{
    position:absolute;inset:0;width:100%;height:118%;object-fit:cover;object-position:center 62%;
    opacity:.34;filter:grayscale(.28) contrast(1.08);
    will-change:transform;
  }
  .geo-line{stroke-dasharray:1200;stroke-dashoffset:1200;animation:draw 2.6s var(--ease-lux) forwards;}
  @keyframes draw{to{stroke-dashoffset:0;}}

  .kinetic-word{display:inline-block;overflow:hidden;vertical-align:bottom;}
  .kinetic-word > span{
    display:inline-block;transform:translateY(112%);opacity:0;
    animation:wordUp .95s var(--ease-lux) forwards;
  }
  @keyframes wordUp{to{transform:translateY(0);opacity:1;}}

  .fade-up{opacity:0;transform:translateY(26px);animation:fadeUp .9s var(--ease-lux) forwards;}
  @keyframes fadeUp{to{opacity:1;transform:translateY(0);}}

  /* Booking widget */
  .booking-card{
    background:linear-gradient(155deg,rgba(28,28,28,.92),rgba(17,17,17,.94));
    border:1px solid rgba(212,175,55,.22);
    box-shadow:0 50px 110px -42px rgba(0,0,0,.95),0 0 60px -28px rgba(212,175,55,.35);
    backdrop-filter:blur(16px);
  }
  .field{
    width:100%;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.09);
    color:#fff;border-radius:12px;padding:.82rem 1rem;font-size:.92rem;
    transition:border-color .32s ease,box-shadow .32s ease,background .32s ease;
  }
  .field::placeholder{color:#7C7C7C;}
  .field:focus{
    outline:none;border-color:rgba(212,175,55,.75);background:rgba(212,175,55,.07);
    box-shadow:0 0 0 4px rgba(212,175,55,.13);
  }
  select.field{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#D4AF37 50%),linear-gradient(135deg,#D4AF37 50%,transparent 50%);background-position:calc(100% - 20px) 50%,calc(100% - 14px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;}
  select.field option{background:#161616;color:#fff;}
  input[type="date"].field::-webkit-calendar-picker-indicator,
  input[type="time"].field::-webkit-calendar-picker-indicator{filter:invert(78%) sepia(52%) saturate(470%) hue-rotate(2deg);cursor:pointer;}

  /* ---------- Reveal on scroll ---------- */
  .reveal{opacity:0;transform:translateY(34px);transition:opacity .85s var(--ease-lux),transform .95s var(--ease-lux);}
  .reveal.in{opacity:1;transform:translateY(0);}
  .reveal-left{opacity:0;transform:translateX(-38px);transition:opacity .9s var(--ease-lux),transform 1s var(--ease-lux);}
  .reveal-left.in{opacity:1;transform:translateX(0);}
  .reveal-scale{opacity:0;transform:scale(.94);transition:opacity .9s var(--ease-lux),transform 1s var(--ease-lux);}
  .reveal-scale.in{opacity:1;transform:scale(1);}

  /* ---------- Service cards ---------- */
  .lux-card{
    position:relative;overflow:hidden;
    background:linear-gradient(165deg,#171717,#121212);
    border:1px solid rgba(255,255,255,.07);
    transition:transform .55s var(--ease-lux),border-color .5s ease,box-shadow .55s ease;
  }
  .lux-card::before{
    content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
    background:radial-gradient(420px 220px at var(--mx,50%) var(--my,0%),rgba(212,175,55,.18),transparent 62%);
    opacity:0;transition:opacity .5s ease;
  }
  .lux-card:hover{transform:translateY(-9px);border-color:rgba(212,175,55,.42);box-shadow:0 42px 80px -38px rgba(212,175,55,.5),0 22px 50px -30px rgba(0,0,0,.9);}
  .lux-card:hover::before{opacity:1;}
  .lux-card .sweep{
    position:absolute;top:0;left:-60%;width:45%;height:100%;
    background:linear-gradient(105deg,transparent,rgba(212,175,55,.12),transparent);
    transform:skewX(-18deg);transition:left .8s var(--ease-lux);pointer-events:none;
  }
  .lux-card:hover .sweep{left:120%;}
  .icon-box{
    width:56px;height:56px;display:grid;place-items:center;border-radius:15px;
    background:linear-gradient(150deg,rgba(212,175,55,.18),rgba(212,175,55,.05));
    border:1px solid rgba(212,175,55,.28);color:#E8CE7A;
    transition:transform .55s var(--ease-lux),background .45s ease,box-shadow .45s ease;
  }
  .lux-card:hover .icon-box{transform:translateY(-4px) rotate(-5deg);box-shadow:0 18px 36px -18px rgba(212,175,55,.8);}
  .learn{position:relative;display:inline-flex;align-items:center;gap:.55rem;}
  .learn .arrow{transition:transform .45s var(--ease-lux);}
  .lux-card:hover .learn .arrow{transform:translateX(7px);}
  .learn::after{content:"";position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:rgba(212,175,55,.55);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease-lux);}
  .lux-card:hover .learn::after{transform:scaleX(1);}

  /* ---------- Marquee ---------- */
  .marquee{display:flex;gap:0;width:max-content;animation:slide 38s linear infinite;}
  .marquee:hover{animation-play-state:paused;}
  @keyframes slide{from{transform:translateX(0);}to{transform:translateX(-50%);}}
  .marquee-mask{mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent);}

  /* ---------- Fleet ---------- */
  .tab-btn{position:relative;transition:color .35s ease,background .35s ease,border-color .35s ease,transform .35s var(--ease-lux);}
  .tab-btn:hover{transform:translateY(-2px);}
  .tab-btn.active{background:linear-gradient(135deg,rgba(212,175,55,.95),rgba(184,145,42,.95));color:#141109;border-color:transparent;box-shadow:0 20px 42px -20px rgba(212,175,55,.85);}
  .fleet-panel{display:none;}
  .fleet-panel.show{display:grid;animation:panelIn .7s var(--ease-lux);}
  @keyframes panelIn{from{opacity:0;transform:translateY(22px);}to{opacity:1;transform:translateY(0);}}
  .fleet-img-wrap{position:relative;overflow:hidden;}
  .fleet-img-wrap img{transition:transform 1.1s var(--ease-lux),filter .8s ease;}
  .fleet-img-wrap:hover img{transform:scale(1.09);filter:saturate(1.15) brightness(1.03);}
  .spec-pill{background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);transition:all .4s ease;}
  .spec-pill:hover{border-color:rgba(212,175,55,.45);background:rgba(212,175,55,.1);transform:translateY(-3px);}

  /* ---------- Testimonials ---------- */
  .quote-card{position:relative;overflow:hidden;transition:transform .55s var(--ease-lux),border-color .5s ease,box-shadow .55s ease;}
  .quote-card:hover{transform:translateY(-8px);border-color:rgba(212,175,55,.4);box-shadow:0 42px 80px -40px rgba(212,175,55,.5);}
  .quote-mark{position:absolute;right:-10px;top:-26px;font-size:170px;line-height:1;color:rgba(212,175,55,.09);font-family:'Playfair Display',serif;}
  .star{color:#D4AF37;}

  /* ---------- FAQ ---------- */
  .faq-item{border:1px solid rgba(255,255,255,.08);background:linear-gradient(150deg,#161616,#121212);transition:border-color .4s ease,background .4s ease,transform .45s var(--ease-lux);}
  .faq-item:hover{border-color:rgba(212,175,55,.32);}
  .faq-item.open{border-color:rgba(212,175,55,.5);background:linear-gradient(150deg,rgba(212,175,55,.08),#141414);}
  .faq-answer{max-height:0;overflow:hidden;transition:max-height .55s var(--ease-lux),opacity .45s ease,margin .45s ease;opacity:0;}
  .faq-item.open .faq-answer{opacity:1;}
  .faq-icon{transition:transform .5s var(--ease-lux),color .35s ease;}
  .faq-item.open .faq-icon{transform:rotate(45deg);color:#D4AF37;}

  /* ---------- Footer / misc ---------- */
  .footer-link{position:relative;display:inline-block;transition:color .32s ease,transform .38s var(--ease-lux);}
  .footer-link:hover{color:#E8CE7A;transform:translateX(5px);}
  .social-btn{transition:transform .42s var(--ease-lux),background .38s ease,border-color .38s ease,color .38s ease;}
  .social-btn:hover{transform:translateY(-5px) rotate(-4deg);background:rgba(212,175,55,.18);border-color:rgba(212,175,55,.6);color:#F1DFA0;}
  .gold-text{background:linear-gradient(120deg,#F1DFA0,#D4AF37 42%,#B8912A 72%,#F1DFA0);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .divider-gold{height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,.5),transparent);}
  .chip{transition:transform .38s var(--ease-lux),border-color .35s ease,color .35s ease,background .35s ease;}
  .chip:hover{transform:translateY(-4px);border-color:rgba(212,175,55,.55);color:#F1DFA0;background:rgba(212,175,55,.12);}
  .parallax-band{background-attachment:fixed;}
  @media (max-width:1024px){.parallax-band{background-attachment:scroll;}}

  /* Mobile menu */
  #mobileMenu{transform:translateX(100%);transition:transform .55s var(--ease-lux);}
  #mobileMenu.open{transform:translateX(0);}
  .mobile-accordion-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease-lux);}
  .mobile-accordion.open .mobile-accordion-body{max-height:620px;}
  .mobile-accordion.open .plus{transform:rotate(45deg);}
  .plus{transition:transform .45s var(--ease-lux);}

  /* Toast */
  #toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,140%);opacity:0;transition:transform .6s var(--ease-lux),opacity .5s ease;z-index:200;}
  #toast.show{transform:translate(-50%,0);opacity:1;}

  /* Floating ambient orbs (subtle, gold) */
  .orb{position:absolute;border-radius:50%;filter:blur(46px);opacity:.16;pointer-events:none;}
  .float-a{animation:floatA 16s ease-in-out infinite;}
  .float-b{animation:floatB 21s ease-in-out infinite;}
  @keyframes floatA{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(26px,-32px,0) scale(1.12);}}
  @keyframes floatB{0%,100%{transform:translate3d(0,0,0) scale(1);}50%{transform:translate3d(-30px,26px,0) scale(1.08);}}

  .counter{font-variant-numeric:tabular-nums;}

  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.18s !important;scroll-behavior:auto !important;}
    .reveal,.reveal-left,.reveal-scale{opacity:1 !important;transform:none !important;}
    .kinetic-word > span{opacity:1;transform:none;}
    .fade-up{opacity:1;transform:none;}
    .geo-line{stroke-dashoffset:0;}
    .marquee{animation:none;}
  }
