/* AMI DRIVE — motion, color accents, modern polish */
:root{
  --accent:#c4a574;
  --accent-soft:#f6efe4;
  --ink:#121212;
  --glow:rgba(196,165,116,.28);
}

html{scroll-behavior:smooth}

.site-header{
  transition:background .35s ease, box-shadow .35s ease, padding .35s ease, backdrop-filter .35s ease;
}
.site-header .main-nav a{
  position:relative;
  transition:color .25s ease, transform .25s ease, opacity .25s ease;
}
.site-header .main-nav a::after{
  content:"";
  position:absolute;
  left:0; right:100%; bottom:-6px;
  height:2px;
  background:var(--accent);
  border-radius:999px;
  transition:right .28s ease;
}
.site-header .main-nav a:hover{opacity:1; transform:translateY(-1px)}
.site-header .main-nav a:hover::after{right:0}
.nav-book,.btn{
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease, background .25s ease;
}
.nav-book:hover,.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 28px var(--glow);
}
.lang-flags button{transition:transform .2s ease, border-color .2s ease}
.lang-flags button:hover{transform:scale(1.06)}

@keyframes riseIn{
  from{opacity:0; transform:translateY(22px)}
  to{opacity:1; transform:none}
}

.home-hero{
  position:relative;
  min-height:100svh;
  color:#fff;
  overflow:hidden;
  background:#0b0b0b;
}
.home-slides{position:absolute; inset:0}
.home-slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  pointer-events:none;
  transition:opacity .85s ease, visibility .85s ease;
}
.home-slide .home-copy{opacity:0; transform:translateY(16px); transition:opacity .55s ease, transform .55s ease}
.home-slide.is-on{opacity:1; visibility:visible; z-index:1; pointer-events:auto}
.home-slide.is-on .home-copy{opacity:1; transform:none}
.home-slide img{
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 40%;
  transform:scale(1.06);
  transition:transform 6.5s ease;
}
.home-slide.is-on img{transform:scale(1)}
.home-shade{
  position:absolute; inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.18) 100%),
    linear-gradient(0deg, rgba(0,0,0,.55) 0%, transparent 48%);
}
.home-copy{
  position:absolute;
  left:max(24px, calc((100% - 1180px) / 2));
  right:24px;
  bottom:12vh;
  z-index:2;
  max-width:560px;
  animation:riseIn .8s ease both;
}
.home-kicker{
  margin:0 0 12px;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#e0c9a0;
  font-weight:750;
}
.home-copy h1,.home-copy h2{
  margin:0 0 14px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(1.85rem, 4.4vw, 3.35rem);
  line-height:1.08;
  letter-spacing:-.02em;
  text-shadow:0 10px 30px #0008;
}
.home-copy p{
  margin:0 0 22px;
  max-width:42ch;
  font-size:clamp(.95rem, 1.4vw, 1.08rem);
  line-height:1.55;
  color:#f0ebe6;
}
.home-controls{
  position:absolute;
  z-index:3;
  left:50%;
  bottom:28px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:14px;
}
.home-prev,.home-next{
  width:42px; height:42px; border:0; border-radius:50%;
  background:rgba(255,255,255,.14); color:#fff; font-size:1.4rem;
  backdrop-filter:blur(8px);
  transition:background .2s ease, transform .2s ease;
}
.home-prev:hover,.home-next:hover{background:var(--accent); transform:scale(1.05)}
.home-dots{display:flex; gap:8px}
.home-dots button{
  width:8px; height:8px; border-radius:999px; border:0; background:#ffffff66; padding:0;
  transition:width .25s ease, background .25s ease;
}
.home-dots button.is-on{width:26px; background:#fff}

.reveal{
  opacity:0;
  transform:translateY(28px);
  transition:opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}
.reveal.visible{opacity:1; transform:none}

.service-card,.destination-card,.channel-card,.gallery-grid figure,.slider-slide{
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.service-card:hover{transform:translateY(-6px); background:linear-gradient(180deg,#fff 0%, var(--accent-soft) 140%)}
.destination-card:hover{transform:translateY(-4px); box-shadow:0 24px 50px #00000033}
.destination-card img{transition:transform .7s ease}
.destination-card:hover img{transform:scale(1.06)}

.trip-card{
  border:1px solid #f0e4e0;
  background:linear-gradient(180deg,#fff 0%, #fffaf8 100%);
  box-shadow:0 24px 60px #c4a57422;
}
.booking-form .field input:focus,
.booking-form .field select:focus,
.booking-form .field textarea:focus,
.contact-form .field input:focus,
.contact-form .field textarea:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);
  transition:box-shadow .2s ease, border-color .2s ease;
}

.station-showcase{
  background:
    radial-gradient(circle at 12% 20%, #ffe5e2 0%, transparent 42%),
    radial-gradient(circle at 88% 10%, #eef3ff 0%, transparent 36%),
    #f7f5f2;
  overflow:hidden;
}
.station-slider{
  position:relative;
  margin-top:34px;
  padding:8px 0 28px;
}
.slider-viewport{overflow:hidden; border-radius:28px; flex:1}
.station-slider{display:grid; grid-template-columns:44px 1fr 44px; gap:12px; align-items:center}
.slider-track{
  display:flex;
  gap:18px;
  overflow:visible;
  scroll-snap-type:none;
  transform:translateX(0);
  transition:transform .75s cubic-bezier(.22,1,.36,1);
  padding:8px 4px 18px;
}
.slider-slide{
  flex:0 0 min(72vw, 420px);
  margin:0;
  position:relative;
  border-radius:24px;
  overflow:hidden;
  background:#111;
  box-shadow:0 18px 40px #00000022;
}
.slider-slide img{
  width:100%;
  height:300px;
  object-fit:cover;
  display:block;
  transition:transform .8s ease, filter .8s ease;
}
.slider-slide:hover img{transform:scale(1.05); filter:saturate(1.08)}
.slider-slide figcaption{
  position:absolute;
  left:0; right:0; bottom:0;
  padding:18px 18px 16px;
  margin:0;
  color:#fff;
  background:linear-gradient(0deg, rgba(0,0,0,.78), transparent);
  display:grid;
  gap:4px;
}
.slider-slide figcaption strong{font-size:1.05rem; font-weight:800}
.slider-slide figcaption span{font-size:.78rem; opacity:.86}
.slider-nav{
  z-index:2;
  width:44px; height:44px;
  border:0; border-radius:50%;
  background:#141414; color:#fff;
  font-size:1.5rem;
  box-shadow:0 10px 24px #0003;
  transition:background .2s ease, transform .2s ease;
}
.slider-nav:hover{background:var(--accent); transform:scale(1.06)}
.slider-dots{
  grid-column:1 / -1;
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:4px;
}
.slider-dots button{
  width:9px; height:9px; border-radius:999px; border:0;
  background:#cfcfcf; padding:0;
  transition:width .25s ease, background .25s ease;
}
.slider-dots button.is-on{width:26px; background:var(--accent)}

.contact-section{
  padding:100px 0;
  background:
    linear-gradient(135deg, #141414 0%, #1d1d1d 48%, #2a1212 100%);
  color:#fff;
}
.contact-layout{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:42px;
  align-items:start;
}
.contact-copy .eyebrow{color:#e0c9a0}
.contact-copy h2{
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(2.2rem,4vw,3.6rem);
  line-height:1.05;
  margin:0 0 16px;
}
.contact-copy > p{color:#d8d4cf; max-width:46ch}
.contact-channels{display:grid; gap:12px; margin:28px 0 24px}
.channel-card{
  display:flex; flex-direction:column; gap:4px;
  padding:16px 18px;
  border-radius:18px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  transition:transform .25s ease, background .25s ease, border-color .25s ease;
}
.channel-card:hover{
  transform:translateY(-3px);
  background:rgba(196,165,116,.16);
  border-color:rgba(196,165,116,.45);
}
.channel-card span{font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:#bdb7b0}
.channel-card strong{font-size:1.02rem}
.contact-qr a{background:#fff}
.contact-qr p{color:#cfc9c2}
.contact-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:26px;
  border-radius:28px;
  background:#fff;
  color:#141414;
  box-shadow:0 30px 70px #0006;
}
.contact-form .field{display:flex; flex-direction:column; gap:7px}
.contact-form .field.wide,.contact-form .wide{grid-column:1 / -1}
.contact-form label{font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; font-weight:750; color:#65615b}
.contact-form input,.contact-form textarea{
  width:100%; border:1px solid #dedbd3; border-radius:13px; padding:13px 14px; outline:none; color:#111; background:#fff;
}
.cta-actions{display:flex; justify-content:center; gap:12px; flex-wrap:wrap; margin-top:28px}
.cta-band{
  background:
    radial-gradient(circle at 20% 30%, rgba(196,165,116,.28), transparent 42%),
    linear-gradient(120deg,#101010,#1c1816 55%, #241e16);
}

/* Full-bleed footer — edge to edge, no inset panel */
.site-footer{
  position:relative;
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
  background:
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(196,165,116,.14), transparent 55%),
    #0a0a0a;
  border-top:1px solid #2a1c1c;
  border-radius:0;
  overflow:hidden;
  color:#f2eee8;
}
.footer-glow,.footer-panel{display:none !important}
.footer-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:48px clamp(18px, 5vw, 72px) 20px;
  box-sizing:border-box;
}
.footer-cta-block{max-width:720px; margin-bottom:28px}
.footer-kicker{
  margin:0 0 10px;
  color:#e0c9a0;
  letter-spacing:.18em;
  font-size:.72rem;
  font-weight:750;
}
.footer-cta-block h2{
  margin:0 0 12px;
  font-family:Georgia,"Times New Roman",serif;
  font-weight:400;
  font-size:clamp(1.7rem, 3.5vw, 2.7rem);
  line-height:1.1;
  color:#fff;
}
.footer-cta-block p{color:#d2ccc5; max-width:52ch; margin:0 0 20px}
.footer-cta-row{display:flex; flex-wrap:wrap; gap:10px}
.site-footer .btn-ghost,
.cta-band .btn-ghost{
  background:transparent !important;
  border:1px solid rgba(255,255,255,.35) !important;
  color:#fff !important;
}
.site-footer .btn-ghost:hover,
.cta-band .btn-ghost:hover{
  background:rgba(196,165,116,.22) !important;
  border-color:var(--accent) !important;
}
.footer-columns{
  display:grid;
  grid-template-columns:1fr .85fr 1.35fr;
  gap:28px 36px;
  padding:26px 0;
  border-top:1px solid #2e2626;
  border-bottom:1px solid #2e2626;
}
.footer-brand-card{
  display:grid;
  gap:12px;
  align-content:start;
}
.footer-wordmark{
  font-size:1.35rem;
  color:#fff;
}
.footer-mail{
  color:#ece8e3 !important;
  font-weight:650;
  font-size:.92rem;
  word-break:break-word;
}
.footer-mail:hover{color:#fff !important}
.footer-logo{display:none !important}
.footer-col h4{
  margin:0 0 12px;
  color:#e0c9a0 !important;
  letter-spacing:.14em;
  font-size:.72rem;
}
.footer-col a,
.footer-col p,
.footer-col .legal-link{
  display:block;
  color:#e4dfd8 !important;
  margin:.5rem 0;
  font-size:.95rem;
  background:none;
  border:0;
  padding:0;
  text-align:left;
  font-weight:550;
}
.footer-col a:hover,
.footer-col .legal-link:hover{color:#fff !important}
.zone-chips{display:flex; flex-wrap:wrap; gap:8px}
.zone-chips span{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #4a4040;
  background:rgba(255,255,255,.06);
  color:#f0ebe6 !important;
  font-size:.78rem;
  font-weight:650;
}
.footer-keywords-bar{padding:22px 0 8px}
.footer-keywords-bar h4{
  margin:0 0 12px;
  color:#e0c9a0 !important;
  letter-spacing:.14em;
  font-size:.72rem;
}
.keyword-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.keyword-list a{
  display:inline-flex;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid #3a3333;
  background:rgba(255,255,255,.05);
  color:#ece8e3;
  font-size:.78rem;
  font-weight:650;
  transition:transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease;
}
.keyword-list a:hover{
  transform:translateY(-2px);
  background:rgba(196,165,116,.2);
  border-color:var(--accent);
  color:#fff;
}
.footer-credit{
  width:100%;
  margin:18px 0 0;
  padding:12px 0 8px;
  display:flex;
  justify-content:center;
  border-top:1px solid #2a2222;
}
.footer-qr{margin-top:4px}
.footer-qr a{
  display:inline-block;
  padding:8px;
  background:#fff;
  border-radius:12px;
}
.footer-qr img{width:88px; height:88px; object-fit:contain}
.footer-qr p{margin:8px 0 0; color:#c9c3bc !important; font-size:.78rem}

.slider-slide img,
.destination-card img,
.gallery-grid img{
  object-fit:cover;
  object-position:center 45%;
}

@media (max-width:1020px){
  .contact-layout,.footer-columns{grid-template-columns:1fr}
  .station-slider{grid-template-columns:36px 1fr 36px}
  .slider-slide{flex-basis:min(82vw, 360px)}
  .home-copy{bottom:14vh; max-width:90%}
  .site-header.hero-header .main-nav a{color:#141414}
  .footer-inner{padding:40px clamp(16px,4vw,40px) 16px}
}
@media (max-width:720px){
  .contact-form{grid-template-columns:1fr; padding:18px}
  .slider-nav{display:none}
  .station-slider{grid-template-columns:1fr}
  .slider-slide{flex-basis:86vw}
  .slider-slide img{height:200px; object-position:center 40%}
  .home-hero{min-height:88svh}
  .home-copy{left:16px; right:16px; bottom:14vh}
  .home-copy h1,.home-copy h2{font-size:clamp(1.5rem, 7.2vw, 2.1rem)}
  .home-copy p{font-size:.9rem; max-width:34ch}
  .home-slide img{object-position:70% center}
  .destination-card img,.gallery-grid img{object-position:70% center}
  .brand-logo{display:none !important}
  .footer-inner{padding:36px 16px 12px}
  .footer-cta-row{display:grid; gap:8px}
  .footer-cta-row .btn{width:100%}
  .footer-columns{gap:22px; padding:22px 0}
  .zone-chips span{font-size:.74rem; padding:7px 10px}
  .footer-qr img{width:72px; height:72px}
}
@media (prefers-reduced-motion:reduce){
  .home-slide,.home-slide img{transition:none}
  .reveal{opacity:1; transform:none; transition:none}
  .slider-track{transition:none}
}
