:root{
    --bg-dark:#0b0b0c;
    --bg-dark-2:#141311;
    --gold:#c9a165;
    --gold-light:#e6cc9c;
    --cream:#faf6ef;
    --ink:#1c1b19;
    --ink-soft:#6f6a60;
    --line:#e6ded0;
    --font-display:'Cormorant Garamond', serif;
    --font-body:'Inter', sans-serif;
    --container:1160px;
}
/* ===========================
   RESET
=========================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:var(--font-body);
    background:var(--cream);
    color:var(--ink);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
}

img{
    display:block;
    max-width:100%;
    height:auto;
}

a{
    text-decoration:none;
    color:inherit;
}

.wrap{
    max-width:var(--container);
    margin:auto;
    padding:0 32px;
}

/* ===========================
   TYPOGRAPHY
=========================== */

h1,h2,h3{
    font-family:var(--font-display);
    font-weight:600;
    line-height:1.08;
}

.eyebrow{

    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    font-weight:600;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--gold);
}

.eyebrow::before{
    content:"";
    width:22px;
    height:1px;
    background:var(--gold);
}

/* ===========================
   BUTTONS
=========================== */

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:16px 34px;
    background:var(--gold);
    color:#141311;
    border:1px solid var(--gold);
    border-radius:3px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
    letter-spacing:.03em;
    transition:.35s;
}

.btn:hover{
    background:transparent;
    color:var(--gold-light);
    transform:translateY(-2px);
}

.btn-ghost{
    background:transparent;
    color:var(--cream);
    border:1px solid rgba(250,246,239,.35);
}

.btn-ghost:hover{
    background:var(--cream);
    color:var(--ink);
}

/* ===========================
   REVEAL
=========================== */

.reveal{
    opacity:0;
    transform:translateY(22px);
    transition:
        opacity .8s ease,
        transform .8s ease;
}

.reveal.is-visible{
    opacity:1;
    transform:none;
}

@media(prefers-reduced-motion:reduce){
    html{
        scroll-behavior:auto;
    }
    .reveal{
        opacity:1;
        transform:none;
        transition:none;
    }
}

/* ===========================
   HEADER
=========================== */

header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    z-index:100;
    padding:18px 0;
    background:
        linear-gradient(
            to bottom,
            rgba(11,11,12,.88),
            rgba(11,11,12,.15),
            transparent
        );
    backdrop-filter:blur(8px);
}

header .wrap{
    display:flex;
    align-items:center;
    justify-content:space-between;
}

/* ===========================
   LOGO
=========================== */

.logo{
    display:flex;
    align-items:center;
    flex:1;
}

.logo img{
    height:62px;
    width:auto;
}

/* ===========================
   NAVIGATION
=========================== */

nav ul{
    display:flex;
    gap:36px;
    list-style:none;
    padding: 15px;
}

nav a{
    color:var(--cream);
    opacity:.85;
    font-size:13px;
    letter-spacing:.05em;
    transition:.3s;
}

nav a:hover{
    opacity:1;
    color:var(--gold-light);
}

.nav-cta{
    display:none;
}

@media(min-width:900px){

.nav-cta{
    display:inline-flex;
    padding:11px 24px;
    font-size:12px;
}

}

.nav-toggle{
    display:none;
    margin-left:auto;
    background:none;
    border:0;
    color:var(--cream);
    font-size:28px;
    cursor:pointer;
}

/* ===========================
   MOBILE NAV
=========================== */

@media(max-width:899px){

    nav{
        display:none;
    }

    .nav-toggle{
        display:block;
    }

}

@media(max-width:768px){

    .wrap{
        padding:0 22px;
    }

    .logo img{
        height:48px;
    }

    header{
        padding:14px 0;
    }

}

  /* HERO */
  /* ======================================
   HERO
====================================== */

.hero{
    position:relative;
    min-height:100svh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:var(--bg-dark);
}

.hero-media{
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 30% 20%,rgba(201,161,101,.15),transparent 45%),
        linear-gradient(180deg,
            rgba(11,11,12,.15),
            rgba(11,11,12,.55) 60%,
            rgba(11,11,12,.92));

}

.hero-inner{
    position:relative;
    z-index:2;
    width:100%;
    padding:160px 0 80px;
}

.hero .wrap{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:70px;
}

.hero-content{
    max-width:650px;
}

.hero h1{
    color:var(--cream);
    font-size:clamp(42px,6vw,72px);
    margin:20px 0;
}

.hero h1 em{
    color:var(--gold);
    font-style:normal;
}

.hero p{
    color:rgba(250,246,239,.82);
    font-size:17px;
    line-height:1.8;
    margin-bottom:40px;
}

.hero-actions{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

/* ============================
   HERO IMAGE
============================ */

.hero-frame{
    display:flex;
    justify-content:center;
    align-items:center;
}

.car-card{
    width:100%;
    max-width:520px;
}

.car-card picture{
    display:block;
    width:100%;
}

.car-card img{
    width:100%;
    height:auto;
    object-fit:contain;
}

/* ============================
   SCROLL
============================ */

.scroll-cue{
    position:absolute;
    bottom:30px;
    left:35px;
    z-index:10;
    display:flex;
    align-items:center;
    gap:12px;
    color:rgba(255,255,255,.55);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.scroll-cue .line{
    width:36px;
    height:1px;
    background:currentColor;
    overflow:hidden;
    position:relative;
}

.scroll-cue .line::after{
    content:"";
    position:absolute;
    inset:0;
    background:var(--gold);
    animation:pulse 2.4s infinite;
}

@keyframes pulse{

    0%,100%{
        transform:translateX(-100%);
    }

    50%{
        transform:translateX(100%);
    }
}

/* ======================================
   HERO MOBILE
====================================== */

@media(max-width:900px){

.hero{
    min-height:auto;
}

.hero-inner{
    padding:120px 0 50px;
}

.hero .wrap{
    display:flex;
    flex-direction:column;
    text-align:center;
    gap:30px;
}

.hero-content{
    max-width:100%;
}

.hero h1{
    font-size:44px;
    line-height:1.1;
}

.hero p{
    font-size:15px;
    line-height:1.7;
}

.hero-frame{
    width:100%;
    order:2;
}

.car-card{
    max-width:340px;
    margin:auto;
}

.hero-actions{
    flex-direction:column;
    width:100%;
}

.hero-actions .btn{
    width:100%;
}

.scroll-cue{
    display:none;
}

}

/* ======================================
   SMALL MOBILE
====================================== */

@media(max-width:480px){

.hero-inner{
    padding:105px 0 40px;
}

.hero h1{
    font-size:36px;
}

.hero p{
    font-size:14px;
}
.car-card{
    max-width:290px;
}
}

/* MEDIA PLACEHOLDER */
  .ph{
    position:relative;
    background:linear-gradient(150deg,#f0e9da,#e4d8bd);
    border:1px solid var(--line);
    display:flex; align-items:center; justify-content:center;
    color:#a08a5f;
    overflow:hidden;
  }
  .ph.dark{background:linear-gradient(150deg,#1c1a16,#0f0e0c); border-color:rgba(201,161,101,.25); color:var(--gold);}
  .ph svg{width:34%; opacity:.55;}
  .ph .ph-tag{
    position:absolute; bottom:10px; left:10px;
    font-size:10px; letter-spacing:.08em; text-transform:uppercase;
    background:rgba(0,0,0,.55); color:#f2e6c9; padding:4px 8px;
  }

  section{padding:120px 0;}
  .section-head{max-width:640px; margin-bottom:56px;}
  .section-head h2{font-size:clamp(28px,3.6vw,42px); margin-top:16px;}
  .section-head p{color:var(--ink-soft); font-size:16px; line-height:1.75; margin-top:18px;}

  /* SERVICES */
  .services{background:var(--cream);}
  .grid-3{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:34px;}
  .service-card .ph{aspect-ratio:4/3; margin-bottom:24px;}
  .service-card h3{font-size:22px; margin-bottom:10px; color:var(--ink);}
  .service-card p{color:var(--ink-soft); font-size:14.5px; line-height:1.7;}
  .service-card .eyebrow{margin-bottom:2px;}

  /* FLEET */
  .fleet{background:var(--bg-dark); color:var(--cream);}
  .fleet .section-head p{color:rgba(250,246,239,.65);}
  .fleet .section-head .eyebrow{color:var(--gold);}
  .fleet-list{display:flex; flex-direction:column;}
  .fleet-row{
    display:grid; grid-template-columns:220px 1fr; gap:40px;
    align-items:center;
    padding:38px 0;
    border-top:1px solid rgba(250,246,239,.12);
  }
  .fleet-row:last-child{border-bottom:1px solid rgba(250,246,239,.12);}
  .fleet-row .ph{aspect-ratio:4/3;}
  .fleet-row h3{font-size:24px; color:var(--gold-light); margin-bottom:8px;}
  .fleet-row p{color:rgba(250,246,239,.7); font-size:15px; line-height:1.75; max-width:560px;}
  @media(max-width:640px){.fleet-row{grid-template-columns:1fr;}}

  /* DESTINATIONS */
  .destinations{background:var(--cream); position:relative;}
  .route-line{
    position:absolute; top:0; bottom:0; left:50%;
    width:1px;
    background:repeating-linear-gradient(to bottom, var(--gold) 0 6px, transparent 6px 14px);
    opacity:.35;
    display:none;
  }
  @media(min-width:860px){.route-line{display:block;}}
  .grid-2{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:30px;}
  .dest-card .ph{aspect-ratio:16/11; margin-bottom:20px;}
  .dest-card h3{font-size:22px; margin-bottom:8px; color:var(--gold); font-family:var(--font-display);}
  .dest-card p{color:var(--ink-soft); font-size:14.5px; line-height:1.6;}

  /* ABOUT */
  .about{background:var(--bg-dark-2); color:var(--cream); text-align:center;}
  .about .wrap{max-width:800px;}
  .about .eyebrow{justify-content:center;}
  .about .eyebrow::before{display:none;}
  .about h2{font-size:clamp(30px,4vw,44px); margin:18px 0 24px; color:var(--gold-light);}
  .about p{color:rgba(250,246,239,.75); font-size:16.5px; line-height:1.85;}

  /* TESTIMONIALS */
  .testimonials{background:var(--cream);}
  .test-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:30px;}
  .test-card{
    background:#fff; border:1px solid var(--line); padding:36px;
    position:relative;
  }
  .test-card::before{
    content:"“"; font-family:var(--font-display); font-size:64px; color:var(--gold);
    position:absolute; top:8px; left:20px; opacity:.5; line-height:1;
  }
  .test-card p{font-size:16px; line-height:1.75; font-style:italic; margin:26px 0 22px; color:var(--ink);}
  .test-person{display:flex; align-items:center; gap:12px;}
  .avatar{width:44px; height:44px; border-radius:50%; background:linear-gradient(150deg,var(--gold),#8a7042); flex-shrink:0;}
  .test-person strong{display:block; font-size:14px;}
  .test-person span{display:block; font-size:12.5px; color:var(--ink-soft);}

  /* CTA STRIP */
  .cta-strip{
    background:var(--gold);
    color:var(--ink);
    padding:70px 0;
    text-align:center;
  }
  .cta-strip h2{font-size:clamp(26px,3.4vw,36px); margin-bottom:22px; color:#1c1611;}
  .cta-strip .btn{background:var(--ink); color:var(--cream); border-color:var(--ink);}
  .cta-strip .btn:hover{background:transparent; color:var(--ink);}

  /* FOOTER */
  footer{background:var(--bg-dark); color:rgba(250,246,239,.7); padding:80px 0 30px;}
  .foot-top{display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:40px; padding-bottom:60px;}
  @media(max-width:760px){.foot-top{grid-template-columns:1fr 1fr;}}
  .foot-brand .logo{margin-bottom:14px;}
  .foot-brand p{font-size:14px; line-height:1.7; color:rgba(250,246,239,.55); max-width:280px;}
  footer h4{font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-light); margin-bottom:18px;}
  footer ul{list-style:none;}
  footer li{margin-bottom:10px;}
  footer a{font-size:14px; color:rgba(250,246,239,.65); transition:color .3s;}
  footer a:hover{color:var(--gold-light);}
  .foot-bottom{
    border-top:1px solid rgba(250,246,239,.12);
    padding-top:26px;
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
    font-size:12.5px; color:rgba(250,246,239,.45);
  }

  @media(max-width:640px){
    section{padding:80px 0;}
    .wrap{padding:0 22px;}
    .hero-inner{padding:150px 0 70px;}
  }

/* LANGUAGE SWITCHER + MOBILE NAV */
.language-switcher{
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:18px;
  margin-right: 18px;
  white-space:nowrap;
}
.language-switcher a{
  color:rgba(250,246,239,.65);
  font-size:11px;
  letter-spacing:.08em;
  transition:.3s;
}
.language-switcher a:hover{
  color:var(--gold-light);
}
@media(max-width:899px){
  .language-switcher{margin-left:auto;margin-right:14px;}
  nav.is-open{
    display:block;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:rgba(11,11,12,.97);
    backdrop-filter:blur(10px);
    padding:8px 22px 18px;
  }
  nav.is-open ul{
    flex-direction:column;
    gap:18px;
    padding:14px 0;
  }
}
