/* ═══════════════════════════════════════════════════════════════
   Desert Drive — styles.css
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300..900;1,9..144,300..900&family=Work+Sans:wght@300..700&display=swap');

/* ─── TOKENS LIGHT ─── */
:root, [data-theme="light"] {
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Work Sans', 'Helvetica Neue', sans-serif;
  --color-bg: #F5EFE6; --color-surface: #FAF5EE; --color-surface-2: #FDF9F4;
  --color-surface-offset: #EDE3D4; --color-surface-offset-2: #E5D9C8;
  --color-surface-dynamic: #D9CBBA; --color-divider: #CEC0AD; --color-border: #C4B49E;
  --color-text: #2C1F0E; --color-text-muted: #6B5540; --color-text-faint: #A8937A; --color-text-inverse: #FAF5EE;
  --color-primary: #8B4513; --color-primary-hover: #6F3610; --color-primary-active: #51270C; --color-primary-highlight: #E8D4C4;
  --color-accent: #C4A882; --color-accent-hover: #A88B63; --color-accent-active: #8C7050; --color-accent-highlight: #F0E8D8;
  --color-success: #4A7C3A; --color-error: #B03030; --color-warning: #B07820;
  --radius-sm: 0.25rem; --radius-md: 0.5rem; --radius-lg: 0.875rem; --radius-xl: 1.25rem; --radius-full: 9999px;
  --transition-interactive: 200ms cubic-bezier(0.16, 1, 0.3, 1);
  --shadow-sm: 0 1px 3px oklch(0.25 0.05 50 / 0.10);
  --shadow-md: 0 4px 14px oklch(0.25 0.05 50 / 0.13);
  --shadow-lg: 0 12px 36px oklch(0.25 0.05 50 / 0.18);
  --content-narrow: 640px; --content-default: 960px; --content-wide: 1200px;
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;
  --space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;
  --space-20:5rem;--space-24:6rem;--space-32:8rem;
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.875rem, 0.8rem + 0.35vw, 1rem);
  --text-base: clamp(1rem, 0.95rem + 0.25vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1rem + 0.75vw, 1.5rem);
  --text-xl: clamp(1.5rem, 1.2rem + 1.25vw, 2.25rem);
  --text-2xl: clamp(2rem, 1.2rem + 2.5vw, 3.5rem);
  --text-3xl: clamp(2.5rem, 1rem + 4vw, 5rem);
  --text-hero: clamp(3rem, 0.5rem + 7vw, 8rem);
}
[data-theme="dark"] {
  --color-bg:#1A1208;--color-surface:#221808;--color-surface-2:#2A1E0C;
  --color-surface-offset:#2F2210;--color-surface-offset-2:#382814;--color-surface-dynamic:#453318;
  --color-divider:#3D2E1A;--color-border:#4A3820;
  --color-text:#E8D5BC;--color-text-muted:#A88B6A;--color-text-faint:#6B5540;--color-text-inverse:#1A1208;
  --color-primary:#C4724A;--color-primary-hover:#D4845C;--color-primary-active:#E0926E;--color-primary-highlight:#3A2215;
  --color-accent:#C4A882;--color-accent-hover:#D4BA96;--color-accent-active:#E0CCAA;--color-accent-highlight:#2E2010;
  --color-success:#6DAA50;--color-error:#D06060;--color-warning:#D0A040;
  --shadow-sm:0 1px 3px oklch(0 0 0 / 0.30);--shadow-md:0 4px 14px oklch(0 0 0 / 0.40);--shadow-lg:0 12px 36px oklch(0 0 0 / 0.55);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --color-bg:#1A1208;--color-surface:#221808;--color-surface-2:#2A1E0C;
    --color-surface-offset:#2F2210;--color-surface-offset-2:#382814;--color-surface-dynamic:#453318;
    --color-divider:#3D2E1A;--color-border:#4A3820;
    --color-text:#E8D5BC;--color-text-muted:#A88B6A;--color-text-faint:#6B5540;--color-text-inverse:#1A1208;
    --color-primary:#C4724A;--color-primary-hover:#D4845C;--color-primary-active:#E0926E;--color-primary-highlight:#3A2215;
    --color-accent:#C4A882;--color-accent-hover:#D4BA96;--color-accent-active:#E0CCAA;--color-accent-highlight:#2E2010;
    --shadow-sm:0 1px 3px oklch(0 0 0 / 0.30);--shadow-md:0 4px 14px oklch(0 0 0 / 0.40);--shadow-lg:0 12px 36px oklch(0 0 0 / 0.55);
  }
}

/* ─── RESET ─── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{overflow-x:hidden;-webkit-text-size-adjust:none;text-size-adjust:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;scroll-padding-top:clamp(56px,5vw + 44px,72px)}
body{overflow-x:hidden;min-height:100dvh;font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-bg);line-height:1.65}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}
ul[role="list"],ol[role="list"]{list-style:none}
input,button,textarea,select{font:inherit;color:inherit}
h1,h2,h3,h4,h5,h6{text-wrap:balance;line-height:1.15;font-family:var(--font-display)}
p,li,figcaption{text-wrap:pretty;max-width:72ch;overflow-wrap:break-word;word-break:break-word}
a,button,[role="button"]{transition:color var(--transition-interactive),background var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive),opacity var(--transition-interactive)}
button{cursor:pointer;background:none;border:none}
figure{margin:0}
::selection{background-color:color-mix(in oklch,var(--color-primary) 25%,transparent);color:var(--color-text)}
:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}

/* ─── LAYOUT ─── */
.container{width:100%;max-width:var(--content-default);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-12))}
.container--wide{max-width:var(--content-wide)}
.container--narrow{max-width:var(--content-narrow)}

/* ─── BUTTONS ─── */
.btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:clamp(0.6rem,1vw + 0.4rem,0.875rem) clamp(1.25rem,2vw + 0.75rem,2rem);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;letter-spacing:0.03em;text-transform:uppercase;text-decoration:none;border-radius:var(--radius-md);white-space:nowrap;cursor:pointer;border:2px solid transparent}
.btn--primary{background:var(--color-primary);color:#FAF5EE;border-color:var(--color-primary)}
.btn--primary:hover{background:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md)}
.btn--primary:active{background:var(--color-primary-active);border-color:var(--color-primary-active);transform:translateY(1px)}
.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}
.btn--outline:hover{background:var(--color-primary);color:#FAF5EE;box-shadow:var(--shadow-md)}
.btn--ghost{background:transparent;color:var(--color-text-muted);border-color:var(--color-border)}
.btn--ghost:hover{background:var(--color-surface-offset);color:var(--color-text)}
.btn--sand{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}
.btn--sand:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover);box-shadow:var(--shadow-md)}
[data-theme="dark"] .btn--sand{color:var(--color-text-inverse)}

/* ─── HEADER ─── */
.site-header{position:fixed;top:0;left:0;right:0;z-index:10000;height:clamp(56px,5vw + 44px,72px);padding-inline:clamp(16px,4vw,40px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);background:color-mix(in oklch,var(--color-bg) 92%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);transition:background var(--transition-interactive),box-shadow var(--transition-interactive)}
.site-header.scrolled{background:color-mix(in oklch,var(--color-bg) 97%,transparent);box-shadow:var(--shadow-md)}
.hdr-logo{display:flex;align-items:center;gap:clamp(var(--space-2),1vw,var(--space-3));text-decoration:none;color:var(--color-text);flex-shrink:0}
.hdr-logo__icon{width:clamp(28px,3vw + 18px,40px);height:clamp(28px,3vw + 18px,40px);color:var(--color-primary)}
.hdr-logo__name{font-family:var(--font-display);font-size:clamp(1.1rem,1vw + 0.8rem,1.5rem);font-weight:700;letter-spacing:-0.02em;line-height:1}
.hdr-logo__name span{color:var(--color-primary)}
.hdr-nav{display:none}
@media(min-width:1023px){.hdr-nav{display:flex;align-items:center;gap:clamp(var(--space-4),2vw,var(--space-8))}}
.hdr-nav__link{font-size:clamp(0.8rem,0.5vw + 0.7rem,0.95rem);font-weight:500;color:var(--color-text-muted);text-decoration:none;white-space:nowrap;padding:clamp(4px,0.5vw,8px) 0;border-bottom:2px solid transparent}
.hdr-nav__link:hover,.hdr-nav__link.active{color:var(--color-text);border-bottom-color:var(--color-primary)}
.hdr-controls{display:flex;align-items:center;gap:var(--space-3)}
.hdr-cta{display:none}
@media(min-width:768px){.hdr-cta{display:inline-flex}}
.theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text-muted);flex-shrink:0}
.theme-toggle:hover{background:var(--color-surface-offset);color:var(--color-text)}
.hdr-burger{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-md);color:var(--color-text);flex-shrink:0}
.hdr-burger:hover{background:var(--color-surface-offset)}
@media(min-width:1023px){.hdr-burger{display:none}}
/* ─── MOBILE DRAWER (FIXED) ─── */
.hdr-drawer {
  position: fixed;
  top: clamp(56px, 5vw + 44px, 72px);
  left: 0;
  right: 0;
  bottom: 0;
  background: black;
  z-index: 999;
  /* isolation: isolate;  */
  padding: var(--space-8) clamp(16px, 4vw, 40px) var(--space-12);
  display: flex;
  flex-direction: column;
  gap: 0;
  /* overflow-y: auto; */
  /* ЗАКРЫТОЕ состояние */
  pointer-events: none;
  opacity: 0;
  /* visibility: hidden; */
  transform: translateX(100%);
  transition:
    transform 320ms cubic-bezier(0.16, 1, 0.3, 1),
    opacity   320ms cubic-bezier(0.16, 1, 0.3, 1),
    visibility 320ms;
}
.hdr-drawer.open {
  pointer-events: all;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
}
.hdr-drawer__link {
  display: block;
  padding: var(--space-5) 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 500;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: 1px solid var(--color-divider);
  line-height: 1.2;
  /* background: red !important; */
}
.hdr-drawer__link:hover,
.hdr-drawer__link:focus-visible {
  color: var(--color-primary);
}
.hdr-drawer__cta {
  margin-top: var(--space-8);
  align-self: flex-start;
}
@media (min-width: 1023px) {
  .hdr-drawer { display: none !important; }
}

/* ─── HERO ─── */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;padding-bottom:clamp(var(--space-12),8vw,var(--space-24));overflow:hidden}
.hero__bg{position:absolute;inset:0;z-index:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,oklch(0.12 0.04 40 / 0.75) 0%,oklch(0.12 0.04 40 / 0.20) 50%,oklch(0.12 0.04 40 / 0.05) 100%);z-index:1}
.hero__content{position:relative;z-index:2;width:100%}
.hero__eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-4)}
.hero__eyebrow::before{content:'';display:block;width:32px;height:2px;background:var(--color-accent)}
.hero__title{font-size:var(--text-hero);font-weight:800;color:#FAF5EE;line-height:1.0;letter-spacing:-0.03em;margin-bottom:var(--space-6);max-width:14ch}
.hero__title em{font-style:italic;color:var(--color-accent)}
.hero__subtitle{font-family:var(--font-body);font-size:var(--text-lg);color:oklch(0.9 0.02 50);max-width:52ch;margin-bottom:var(--space-8);line-height:1.6;font-weight:300}
.hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:center}
.hero__scroll{position:absolute;bottom:clamp(var(--space-8),4vw,var(--space-12));right:clamp(var(--space-4),4vw,var(--space-12));z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:oklch(0.9 0.02 50 / 0.7);font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase}
.hero__scroll-line{width:1px;height:48px;background:linear-gradient(to bottom,oklch(0.9 0.02 50 / 0.6),transparent);animation:scrollLine 2s ease-in-out infinite}
@keyframes scrollLine{0%,100%{transform:scaleY(1);opacity:0.6}50%{transform:scaleY(0.5);opacity:0.3}}
.hero__stats{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-top:var(--space-10);padding-top:var(--space-6);border-top:1px solid oklch(0.9 0.02 50 / 0.2)}
.hero__stat{flex:1 1 120px;padding:var(--space-3) var(--space-4);background:oklch(0.12 0.04 40 / 0.4);backdrop-filter:blur(8px);border-radius:var(--radius-md);border:1px solid oklch(0.9 0.02 50 / 0.12)}
.hero__stat-num{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-accent);line-height:1;margin-bottom:var(--space-1)}
.hero__stat-label{font-size:var(--text-xs);color:oklch(0.85 0.02 50 / 0.8);font-weight:400;letter-spacing:0.05em}

/* ─── SECTION BASE ─── */
.section{padding-block:clamp(var(--space-12),8vw,var(--space-24))}
.section--alt{background:var(--color-surface)}
.section--dark{background:var(--color-surface-offset-2)}
.section__header{margin-bottom:clamp(var(--space-8),4vw,var(--space-16))}
.section__tag{display:inline-block;font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.section__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);letter-spacing:-0.02em;line-height:1.1}
.section__lead{font-size:var(--text-lg);color:var(--color-text-muted);max-width:60ch;margin-top:var(--space-4);font-weight:300}

/* ─── SERVICES ─── */
.services-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
@media(min-width:768px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}
.service-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-6),3vw,var(--space-10));display:flex;flex-direction:column;gap:var(--space-4);transition:box-shadow var(--transition-interactive),transform var(--transition-interactive)}
.service-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.service-card--featured{background:var(--color-primary);border-color:var(--color-primary);color:#FAF5EE}
.service-card__tag{font-size:var(--text-xs);font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--color-text-faint)}
.service-card--featured .service-card__tag{color:oklch(0.9 0.05 50 / 0.7)}
.service-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);letter-spacing:-0.01em}
.service-card--featured .service-card__title{color:#FAF5EE}
.service-card__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;flex-grow:1}
.service-card--featured .service-card__desc{color:oklch(0.92 0.03 50 / 0.85)}
.service-card__details{list-style:none;display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-divider)}
.service-card--featured .service-card__details{border-top-color:oklch(0.9 0.02 50 / 0.2)}
.service-card__details li{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:var(--space-2)}
.service-card--featured .service-card__details li{color:oklch(0.9 0.03 50 / 0.75)}
.service-card__details li::before{content:'→';color:var(--color-primary);font-weight:700;flex-shrink:0}
.service-card--featured .service-card__details li::before{color:var(--color-accent)}
.service-card__price{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--color-primary)}
.service-card--featured .service-card__price{color:var(--color-accent)}

/* ─── FLEET ─── */
.fleet-tabs{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-divider);padding-bottom:var(--space-4)}
.fleet-tab{padding:clamp(var(--space-2),1vw,var(--space-3)) clamp(var(--space-4),2vw,var(--space-6));font-size:var(--text-sm);font-weight:600;color:var(--color-text-muted);border-radius:var(--radius-full);background:transparent;border:2px solid transparent;cursor:pointer;white-space:nowrap;transition:all var(--transition-interactive)}
.fleet-tab:hover{color:var(--color-text);background:var(--color-surface-offset)}
.fleet-tab.active{color:var(--color-primary);background:var(--color-primary-highlight);border-color:var(--color-primary)}
.fleet-panel{display:none}
.fleet-panel.active{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
@media(min-width:768px){.fleet-panel.active{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.fleet-panel.active{grid-template-columns:repeat(3,1fr)}}
.fleet-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;transition:box-shadow var(--transition-interactive),transform var(--transition-interactive)}
.fleet-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.fleet-card__img{aspect-ratio:4/3;width:100%;object-fit:cover;background:var(--color-surface-offset)}
.fleet-card__body{padding:clamp(var(--space-4),2vw,var(--space-6))}
.fleet-card__badges{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}
.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);letter-spacing:0.05em}
.badge--primary{background:var(--color-primary-highlight);color:var(--color-primary)}
.badge--accent{background:var(--color-accent-highlight);color:var(--color-accent-active)}
.fleet-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-2)}
.fleet-card__specs{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0;font-size:var(--text-xs);color:var(--color-text-muted)}
.fleet-card__spec{display:flex;align-items:center;gap:var(--space-1)}
.fleet-card__spec::before{content:'·';color:var(--color-accent);font-weight:700}
.fleet-card__price-row{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-4);border-top:1px solid var(--color-divider);flex-wrap:wrap;gap:var(--space-3)}
.fleet-card__price{font-family:var(--font-display);font-weight:700;color:var(--color-primary)}
.fleet-card__price strong{font-size:var(--text-xl)}
.fleet-card__price span{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:400}

/* ─── TERRAIN ─── */
.terrain-layout{display:grid;grid-template-columns:1fr;gap:clamp(var(--space-8),5vw,var(--space-16))}
@media(min-width:768px){.terrain-layout{grid-template-columns:repeat(2,1fr);align-items:center}}
.terrain-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}
.terrain-photos__main{grid-column:1/-1;aspect-ratio:16/9;border-radius:var(--radius-xl);overflow:hidden}
.terrain-photos__thumb{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden}
.terrain-photos__main img,.terrain-photos__thumb img{width:100%;height:100%;object-fit:cover;transition:transform 500ms cubic-bezier(0.16,1,0.3,1)}
.terrain-photos__main:hover img,.terrain-photos__thumb:hover img{transform:scale(1.04)}
.terrain-text__tag{font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.terrain-text__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);letter-spacing:-0.02em;line-height:1.1;margin-bottom:var(--space-5)}
.terrain-text__title em{font-style:italic;color:var(--color-primary)}
.terrain-text__body{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-4)}
.terrain-features{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin:var(--space-6) 0}
.terrain-feature{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);background:var(--color-surface-offset);border-radius:var(--radius-lg);border:1px solid var(--color-border)}
.terrain-feature__label{font-size:var(--text-xs);color:var(--color-text-faint);font-weight:500;text-transform:uppercase;letter-spacing:0.08em}
.terrain-feature__value{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--color-text)}

/* ─── ROUTES ─── */
.routes-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}
@media(min-width:768px){.routes-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.routes-grid{grid-template-columns:repeat(3,1fr)}}
.route-card{position:relative;border-radius:var(--radius-xl);overflow:hidden;aspect-ratio:3/4;cursor:pointer}
.route-card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 600ms cubic-bezier(0.16,1,0.3,1)}
.route-card:hover .route-card__img{transform:scale(1.06)}
.route-card__overlay{position:absolute;inset:0;background:linear-gradient(to top,oklch(0.12 0.04 40 / 0.85) 0%,oklch(0.12 0.04 40 / 0.10) 60%)}
.route-card__content{position:absolute;bottom:0;left:0;right:0;padding:clamp(var(--space-4),3vw,var(--space-8));color:#FAF5EE}
.route-card__difficulty{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:color-mix(in oklch,var(--color-primary) 80%,transparent);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;color:#FAF5EE;margin-bottom:var(--space-3)}
.route-card__country{font-size:var(--text-xs);letter-spacing:0.1em;text-transform:uppercase;color:var(--color-accent);font-weight:600;margin-bottom:var(--space-2)}
.route-card__name{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.1;margin-bottom:var(--space-3)}
.route-card__meta{display:flex;flex-wrap:wrap;gap:var(--space-3);font-size:var(--text-xs);color:oklch(0.85 0.02 50 / 0.85)}
.route-card__meta-item{display:flex;align-items:center;gap:var(--space-1)}
.route-card__meta-item::before{content:'—';color:var(--color-accent)}

/* ─── TRUST / OPERATIONS ─── */
.trust-strip{display:grid;grid-template-columns:1fr;gap:var(--space-8)}
@media(min-width:768px){.trust-strip{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.trust-strip{grid-template-columns:repeat(4,1fr)}}
.trust-item{display:flex;flex-direction:column;gap:var(--space-3)}
.trust-item__num{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:800;color:var(--color-primary);line-height:1;letter-spacing:-0.03em}
.trust-item__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text)}
.trust-item__desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7}

/* ─── BOOKING ─── */
.booking-layout{display:grid;grid-template-columns:1fr;gap:clamp(var(--space-8),5vw,var(--space-16))}
@media(min-width:1024px){.booking-layout{grid-template-columns:repeat(2,1fr);align-items:start}}
.booking-info{display:flex;flex-direction:column;gap:var(--space-8)}
.contact-details{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-6);background:var(--color-surface-offset);border-radius:var(--radius-xl);border:1px solid var(--color-border)}
.contact-detail{display:flex;align-items:flex-start;gap:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);overflow-wrap:break-word;word-break:break-word}
.contact-detail__icon{width:20px;height:20px;color:var(--color-primary);flex-shrink:0;margin-top:2px}
.contact-detail a{color:var(--color-primary);text-decoration:none;overflow-wrap:break-word;word-break:break-word}
.contact-detail a:hover{text-decoration:underline}
.booking-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-6),4vw,var(--space-10));box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--space-6)}
.form-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}
@media(min-width:768px){.form-grid{grid-template-columns:repeat(2,1fr)}}
.form-field{display:flex;flex-direction:column;gap:var(--space-2)}
.form-field--full{grid-column:1/-1}
.form-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text)}
.form-label .required{color:var(--color-error);margin-left:2px}
.form-input,.form-select,.form-textarea{width:100%;padding:clamp(var(--space-3),1vw,var(--space-4)) var(--space-4);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text);transition:border-color var(--transition-interactive),box-shadow var(--transition-interactive);-webkit-appearance:none;appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-primary) 20%,transparent)}
.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in oklch,var(--color-error) 15%,transparent)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-faint)}
.form-textarea{resize:vertical;min-height:100px}
.form-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238B4513' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:clamp(var(--space-8),3vw,var(--space-12))}
[data-theme="dark"] .form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23C4724A' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}
.form-error{font-size:var(--text-xs);color:var(--color-error);display:none}
.form-error.visible{display:block}
.form-success{display:none;padding:var(--space-5);background:color-mix(in oklch,var(--color-success) 12%,var(--color-surface));border:1px solid color-mix(in oklch,var(--color-success) 40%,transparent);border-radius:var(--radius-lg);color:var(--color-success);font-weight:600;text-align:center;font-size:var(--text-sm)}
.form-success.visible{display:block}

/* ─── MAP ─── */
.map-container{border-radius:var(--radius-xl);overflow:hidden;position:relative;border:1px solid var(--color-border);box-shadow:var(--shadow-md)}
.map-container img{width:100%;height:auto;max-height:500px;object-fit:cover;display:block}
.map-pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);pointer-events:none}
.map-pin__dot{width:20px;height:20px;background:var(--color-primary);border-radius:50% 50% 50% 0;transform:rotate(-45deg);border:3px solid #FAF5EE;box-shadow:var(--shadow-md)}
.map-info-box{position:absolute;top:var(--space-4);left:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);box-shadow:var(--shadow-md);max-width:240px}
.map-info-box__name{font-family:var(--font-display);font-weight:700;font-size:var(--text-sm);color:var(--color-text);margin-bottom:var(--space-1)}
.map-info-box__addr{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.5}

/* ─── FOOTER ─── */
.site-footer{background:var(--color-surface-offset-2);border-top:1px solid var(--color-border);padding-block:clamp(var(--space-12),6vw,var(--space-20))}
.footer-grid{display:grid;grid-template-columns:1fr;gap:clamp(var(--space-8),4vw,var(--space-12))}
@media(min-width:768px){.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr}}
.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}
.footer-tagline{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;max-width:36ch}
.footer-col{display:flex;flex-direction:column}
.footer-col__title{font-family:var(--font-display);font-size:var(--text-base);font-weight:700;color:var(--color-text);margin-bottom:var(--space-4);letter-spacing:0.01em}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}
.footer-links a{font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:none;transition:color var(--transition-interactive)}
.footer-links a:hover{color:var(--color-primary)}
.footer-contact-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-3);overflow-wrap:break-word;word-break:break-word}
.footer-contact-item svg{color:var(--color-primary);flex-shrink:0;margin-top:2px}
.footer-contact-item a{color:var(--color-text-muted);text-decoration:none;overflow-wrap:break-word;word-break:break-word}
.footer-contact-item a:hover{color:var(--color-primary)}
.footer-bottom{margin-top:clamp(var(--space-8),4vw,var(--space-12));padding-top:var(--space-6);border-top:1px solid var(--color-divider);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;align-items:center}
.footer-copy{font-size:var(--text-xs);color:var(--color-text-faint)}
.footer-legal{display:flex;flex-wrap:wrap;gap:var(--space-4)}
.footer-legal a{font-size:var(--text-xs);color:var(--color-text-faint);text-decoration:none;transition:color var(--transition-interactive)}
.footer-legal a:hover{color:var(--color-text-muted)}

/* ─── COOKIE BANNER ─── */
.cookie-banner{position:fixed;bottom:clamp(var(--space-4),3vw,var(--space-6));left:clamp(var(--space-4),3vw,var(--space-8));right:clamp(var(--space-4),3vw,var(--space-8));max-width:560px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:clamp(var(--space-4),2vw,var(--space-6));box-shadow:var(--shadow-lg);z-index:200;display:flex;flex-direction:column;gap:var(--space-4);transform:translateY(calc(100% + var(--space-8)));opacity:0;transition:transform 400ms cubic-bezier(0.16,1,0.3,1),opacity 400ms}
.cookie-banner.visible{transform:translateY(0);opacity:1}
.cookie-banner.hidden{display:none}
.cookie-banner__text{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.6}
.cookie-banner__text a{color:var(--color-primary);text-decoration:none}
.cookie-banner__text a:hover{text-decoration:underline}
.cookie-banner__actions{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* ─── ANIMATIONS ─── */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}
.animate-fade-up{animation:fadeUp 600ms cubic-bezier(0.16,1,0.3,1) both}
.animate-delay-1{animation-delay:100ms}
.animate-delay-2{animation-delay:200ms}
.animate-delay-3{animation-delay:300ms}
.animate-delay-4{animation-delay:400ms}
.reveal{opacity:0;transform:translateY(32px);transition:opacity 700ms cubic-bezier(0.16,1,0.3,1),transform 700ms cubic-bezier(0.16,1,0.3,1)}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-delay-1{transition-delay:100ms}
.reveal-delay-2{transition-delay:200ms}
.reveal-delay-3{transition-delay:300ms}
.reveal-delay-4{transition-delay:400ms}

/* ─── LEGAL PAGES ─── */
.main-content{padding-top:clamp(56px,5vw + 44px,72px)}
.legal-hero{padding-top:calc(clamp(56px,5vw + 44px,72px) + clamp(var(--space-12),6vw,var(--space-20)));padding-bottom:clamp(var(--space-8),4vw,var(--space-12));background:var(--color-surface-offset);border-bottom:1px solid var(--color-border)}
.legal-hero__tag{font-size:var(--text-xs);font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-3)}
.legal-hero__title{font-size:var(--text-2xl);font-weight:700;color:var(--color-text);letter-spacing:-0.02em;margin-bottom:var(--space-3)}
.legal-hero__date{font-size:var(--text-xs);color:var(--color-text-faint)}
.legal-content{padding-block:clamp(var(--space-10),5vw,var(--space-16))}
.legal-content h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--color-text);margin-top:clamp(var(--space-8),3vw,var(--space-12));margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-divider)}
.legal-content h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--color-text);margin-top:var(--space-6);margin-bottom:var(--space-3)}
.legal-content p{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.8;margin-bottom:var(--space-4)}
.legal-content ul,.legal-content ol{margin:var(--space-4) 0;padding-left:var(--space-6);display:flex;flex-direction:column;gap:var(--space-2)}
.legal-content ul li,.legal-content ol li{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;max-width:72ch}
.legal-content a{color:var(--color-primary);text-decoration:none;overflow-wrap:break-word;word-break:break-word}
.legal-content a:hover{text-decoration:underline}
.legal-content code{font-family:'Courier New',monospace;font-size:0.9em;background:var(--color-surface-offset);padding:2px 6px;border-radius:var(--radius-sm);color:var(--color-primary)}

/* ─── SCROLL TO TOP ─── */
.scroll-top{position:fixed;bottom:clamp(var(--space-6),3vw,var(--space-8));right:clamp(var(--space-4),3vw,var(--space-8));width:48px;height:48px;background:var(--color-primary);color:#FAF5EE;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;z-index:50;box-shadow:var(--shadow-md);opacity:0;transform:translateY(16px);transition:opacity var(--transition-interactive),transform var(--transition-interactive);pointer-events:none}
.scroll-top.visible{opacity:1;transform:translateY(0);pointer-events:all}
.scroll-top:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-lg)}

/* ─── UTILITY ─── */
.text-center{text-align:center}
.text-primary{color:var(--color-primary)}
.mt-auto{margin-top:auto}
.section-divider{width:100%;height:1px;background:var(--color-divider);margin:0}