@font-face {
  font-family: "Manrope";
  src: url("../fonts/Manrope.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/CormorantGaramond.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-bg: #0d0e0f;
  --color-surface: #17191b;
  --color-surface-soft: #202326;
  --color-paper: #f1eee7;
  --color-paper-soft: #e4ded4;
  --color-text: #f6f2e9;
  --color-text-dark: #171717;
  --color-text-muted: #a7aaad;
  --color-text-muted-dark: #66635e;
  --color-primary: #c7a86d;
  --color-accent: #d9c7a0;
  --color-line: rgba(199, 168, 109, 0.28);
  --color-line-light: rgba(23, 23, 23, 0.15);
  --color-danger: #c86b62;
  --space-1: 8px;
  --space-2: 16px;
  --space-3: 24px;
  --space-4: 32px;
  --space-5: 48px;
  --space-6: 64px;
  --space-7: 80px;
  --space-8: 96px;
  --space-9: 128px;
  --text-display: clamp(3rem, 7vw, 6.25rem);
  --text-h1: clamp(2.4rem, 5vw, 4.25rem);
  --text-h2: clamp(2rem, 4vw, 3.5rem);
  --text-h3: clamp(1.35rem, 2vw, 1.75rem);
  --text-body: 1rem;
  --text-small: 0.875rem;
  --radius-sm: 10px;
  --radius-md: 20px;
  --radius-lg: 34px;
  --shadow-soft: 0 24px 60px rgba(0,0,0,.18);
  --container: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--color-bg); overflow-x: clip; }
body { margin: 0; font-family: 'Manrope', sans-serif; font-size: var(--text-body); line-height: 1.65; background: var(--color-bg); color: var(--color-text); overflow-x: clip; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; width: 100%; height: 100%; object-fit: cover; display: block; }
.legal-content { word-break: break-word; }
:focus-visible { outline: 3px solid var(--color-primary); outline-offset: 3px; }

.shell { width: min(calc(100% - 40px), var(--container)); margin: 0 auto; }
.eyebrow { display: inline-flex; gap: var(--space-1); align-items: center; text-transform: uppercase; letter-spacing: .14em; font-size: .74rem; font-weight: 700; color: var(--color-primary); }
.eyebrow::before { content: ''; width: 34px; height: 1px; background: currentColor; }
.display, h1, h2, h3 { font-family: 'Cormorant Garamond', serif; line-height: .98; letter-spacing: -.025em; margin: 0; }
h1 { font-size: var(--text-display); }
h2 { font-size: var(--text-h2); }
h3 { font-size: var(--text-h3); }
p { margin: 0; }
.muted { color: var(--color-text-muted); }
.paper .muted { color: var(--color-text-muted-dark); }

.ad-bar { background: var(--color-primary); color: var(--color-text-dark); font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; text-align: center; padding: 7px var(--space-2); }
.site-header { position: sticky; top: 0; z-index: 40; background: rgba(13,14,15,.96); border-bottom: 1px solid rgba(255,255,255,.08); }
.site-header.menu-open { position: sticky; top: 0; z-index: 10001; }
.header-row { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; min-width: 0; }
.brand img { width: 34px; height: 34px; max-width: 34px; flex-shrink: 0; object-fit: contain; border-radius: 50%; }
.brand small { display: block; color: var(--color-text-muted); letter-spacing: .12em; font-size: .61rem; margin-top: 2px; }
.nav { display: flex; align-items: center; gap: 26px; font-size: .86rem; }
.nav a { color: var(--color-text-muted); transition: color .25s ease; }
.nav a:hover { color: var(--color-text); }
.header-cta { border: 1px solid var(--color-primary); padding: 10px 15px; border-radius: 999px; color: var(--color-text) !important; }
.menu-toggle { display: none; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255,255,255,.15); color: var(--color-text); background: transparent; align-items: center; justify-content: center; }

.hero { min-height: 760px; position: relative; overflow: hidden; display: grid; align-items: end; background: var(--color-surface); }
.hero-media { position: absolute; inset: 0; overflow: hidden; background: var(--color-surface); }
.hero-media img { filter: saturate(.72) contrast(1.02) brightness(.68); }
.hero-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,9,10,.94) 0%, rgba(8,9,10,.68) 48%, rgba(8,9,10,.16) 78%), linear-gradient(0deg, rgba(8,9,10,.88) 0%, transparent 45%); }
.hero-content { position: relative; z-index: 2; width: min(calc(100% - 80px), 1540px); padding: var(--space-8) 0 var(--space-7); display: grid; grid-template-columns: 1fr; gap: var(--space-4); align-items: end; }
.hero-copy { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); column-gap: clamp(36px, 6vw, 96px); row-gap: var(--space-3); align-items: end; width: 100%; }
.hero-copy > .eyebrow, .hero-copy > h1 { grid-column: 1 / -1; }
.hero h1 { max-width: none; width: 100%; text-wrap: balance; }
.hero-lead { grid-column: 1; max-width: 820px; margin-top: 0; font-size: 1.08rem; color: #d3d4d4; }
.hero-lead strong { color: var(--color-text); }
.hero-actions { grid-column: 2; display: flex; gap: 12px; flex-wrap: wrap; margin-top: 0; justify-content: flex-end; align-self: end; }
.button { min-height: 48px; border-radius: 999px; padding: 12px 20px; border: 1px solid transparent; display: inline-flex; align-items: center; justify-content: center; gap: 9px; font-weight: 700; transition: transform .25s ease, background .25s ease, border-color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--color-primary); color: var(--color-text-dark); }
.button-ghost { border-color: rgba(255,255,255,.28); color: var(--color-text); background: rgba(0,0,0,.14); }
.button-dark { background: var(--color-bg); color: var(--color-text); }
.route-tag { align-self: end; justify-self: stretch; width: 100%; padding: 18px var(--space-3); border: 1px solid var(--color-line); background: rgba(16,17,18,.75); backdrop-filter: blur(10px); border-radius: var(--radius-md); box-shadow: var(--shadow-soft); display: grid; grid-template-columns: minmax(180px, .32fr) minmax(0, 1fr); gap: var(--space-4); align-items: center; }
.route-tag-top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--color-primary); }
.route-flow { min-width: 0; }
.route-line { height: 1px; background: var(--color-line); margin: 0 0 10px; position: relative; }
.route-line::before, .route-line::after { content: ''; width: 9px; height: 9px; border: 1px solid var(--color-primary); background: var(--color-bg); border-radius: 50%; position: absolute; top: -5px; }
.route-line::before { left: 0; } .route-line::after { right: 0; }
.route-points { display: flex; justify-content: space-between; gap: 16px; font-size: .83rem; color: var(--color-text-muted); }


.section { padding: var(--space-9) 0; }
.section-head { display: grid; grid-template-columns: .65fr 1fr; gap: var(--space-5); align-items: end; margin-bottom: var(--space-6); }
.section-head p { max-width: 650px; color: var(--color-text-muted); }
.paper { background: var(--color-paper); color: var(--color-text-dark); }
.paper .eyebrow { color: #8a6d3e; }
.split { display: grid; grid-template-columns: 1.05fr .95fr; min-height: 610px; min-width: 0; }
.split-media { overflow: hidden; background: var(--color-surface); min-height: 520px; min-width: 0; }
.split-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px, 7vw, 96px); min-width: 0; max-width: 100%; overflow-wrap: break-word; }
.split-copy h2 { margin: 14px 0 24px; overflow-wrap: break-word; word-break: break-word; }
.split-copy p + p { margin-top: var(--space-2); }
.split-copy.paper { background: var(--color-paper); }
.metric-row { margin-top: var(--space-4); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--color-line-light); align-items: stretch; }
.metric { min-width: 0; padding: var(--space-3) var(--space-3) 0; display: grid; grid-template-rows: 2.35rem 1fr; align-content: start; }
.metric:first-child { padding-left: 0; }
.metric + .metric { border-left: 1px solid var(--color-line-light); }
.metric strong { display: flex; align-items: flex-start; font-family: 'Cormorant Garamond', serif; font-size: 2.15rem; line-height: 1; white-space: nowrap; }
.metric span { display: block; margin-top: 10px; color: var(--color-text-muted-dark); font-size: .78rem; line-height: 1.55; max-width: 22ch; }

.bento { display: grid; grid-template-columns: 1.15fr .85fr .85fr; grid-auto-rows: minmax(220px, auto); gap: var(--space-2); }
.bento-card { position: relative; overflow: hidden; border-radius: var(--radius-md); background: var(--color-surface); border: 1px solid rgba(255,255,255,.07); padding: var(--space-4); transition: transform .25s ease, border-color .25s ease; }
.bento-card:hover { transform: translateY(-4px); border-color: var(--color-line); }
.bento-card.featured { grid-row: span 2; padding: 0; min-height: 540px; }
.bento-card.featured img { position: absolute; inset: 0; filter: brightness(.66); }
.bento-card.featured::after { content: ''; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(9,10,11,.92), rgba(9,10,11,.06) 70%); }
.bento-card-content { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: var(--space-4); }
.bento-num { font-family: 'Cormorant Garamond', serif; color: var(--color-primary); font-size: 2rem; }
.bento-card h3 { margin: 12px 0; }
.bento-card p { color: var(--color-text-muted); font-size: .92rem; }

.media-story { display: grid; grid-template-columns: .82fr 1.18fr; gap: var(--space-6); align-items: center; }
.media-story.reverse { grid-template-columns: 1.18fr .82fr; }
.media-story.reverse .story-media { order: 2; }
.story-media { aspect-ratio: 4/5; max-height: 720px; border-radius: var(--radius-lg); overflow: hidden; background: var(--color-surface); }
.story-copy h2 { margin: 14px 0 24px; }
.story-copy p + p { margin-top: var(--space-2); }
.story-points { margin-top: var(--space-4); display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.story-point { border-top: 1px solid var(--color-line); padding-top: 12px; color: var(--color-text-muted); font-size: .88rem; }
.paper .story-point { border-color: var(--color-line-light); color: var(--color-text-muted-dark); }

.process { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-2); }
.process-card { padding: var(--space-4); border: 1px solid rgba(255,255,255,.1); border-radius: var(--radius-md); min-height: 260px; display: flex; flex-direction: column; justify-content: space-between; }
.process-card span { font-family: 'Cormorant Garamond', serif; font-size: 2.7rem; color: var(--color-primary); }
.process-card h3 { margin: 18px 0 10px; }
.process-card p { color: var(--color-text-muted); font-size: .9rem; }

.fleet-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-3); }

.car-card { overflow: hidden; border-radius: var(--radius-lg); background: #fbf9f4; border: 1px solid rgba(23,23,23,.1); transition: transform .25s ease, box-shadow .25s ease; }
.car-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-soft); }
.car-media { aspect-ratio: 16/9; overflow: hidden; background: var(--color-paper-soft); }
.car-copy { padding: var(--space-4); }
.car-top { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; flex-wrap: wrap; }
.car-class { color: #8a6d3e; font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
.car-price { text-align: right; font-weight: 700; font-size: 1.08rem; white-space: nowrap; color: var(--color-text-dark); padding: 10px 12px; border: 1px solid var(--color-line-light); border-radius: var(--radius-sm); background: var(--color-paper-soft); line-height: 1.2; }
.car-price small { display: block; color: var(--color-text-muted-dark); font-weight: 500; font-size: .72rem; }
.car-meta { display: flex; flex-wrap: wrap; gap: 9px; margin-top: var(--space-3); }
.chip { border: 1px solid var(--color-line-light); border-radius: 999px; padding: 7px 10px; font-size: .78rem; }
.price-note { margin-top: var(--space-3); padding-top: var(--space-3); border-top: 1px solid var(--color-line-light); color: var(--color-text-muted-dark); font-size: .78rem; }

.booking { background: var(--color-primary); color: var(--color-text-dark); }
.booking-layout { display: grid; grid-template-columns: .8fr 1.2fr; gap: var(--space-7); align-items: start; }
.booking h2 { margin: 12px 0 20px; }
.booking .eyebrow { color: var(--color-text-dark); }
.booking-note { max-width: 470px; }
.booking-form { background: var(--color-paper); border-radius: var(--radius-lg); padding: var(--space-4); box-shadow: var(--shadow-soft); }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--space-2); }
.field { display: flex; flex-direction: column; gap: 7px; }
.field.full { grid-column: 1 / -1; }
.field label { font-size: .78rem; font-weight: 700; letter-spacing: .04em; }
.field input, .field textarea, .field select { width: 100%; max-width: 100%; border: 1px solid rgba(23,23,23,.18); background: #fff; color: var(--color-text-dark); border-radius: var(--radius-sm); padding: 13px 14px; min-height: 48px; }
.field textarea { min-height: 112px; resize: vertical; }
.checkline { grid-column: 1/-1; display: flex; gap: 10px; align-items: flex-start; font-size: .78rem; color: var(--color-text-muted-dark); }
.checkline input { margin-top: 4px; }
.form-actions { grid-column: 1/-1; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 8px; }
.form-actions small { color: var(--color-text-muted-dark); }

.blog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--space-3); }
.blog-card { display: grid; grid-template-columns: .85fr 1.15fr; min-height: 330px; border: 1px solid rgba(255,255,255,.09); border-radius: var(--radius-md); overflow: hidden; background: var(--color-surface); transition: transform .25s ease, border-color .25s ease; }
.blog-card:hover { transform: translateY(-4px); border-color: var(--color-line); }
.blog-card-media { overflow: hidden; background: var(--color-surface-soft); }
.blog-card-copy { padding: var(--space-4); display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.blog-card-copy h3 { margin-top: 12px; }
.blog-card-copy p { color: var(--color-text-muted); font-size: .9rem; }
.read-more { color: var(--color-primary); font-weight: 700; font-size: .84rem; }

.page-hero { padding: var(--space-8) 0 var(--space-7); background: var(--color-surface); border-bottom: 1px solid rgba(255,255,255,.08); }
.page-hero .shell { display: grid; grid-template-columns: 1fr .46fr; gap: var(--space-6); align-items: end; }
.page-hero h1 { font-size: var(--text-h1); max-width: 900px; margin-top: 12px; }
.page-hero p { color: var(--color-text-muted); }
.article-wrap { width: min(calc(100% - 40px), 920px); margin: 0 auto; }
.article-hero-media { aspect-ratio: 16/8; overflow: hidden; border-radius: var(--radius-lg); background: var(--color-surface); margin: var(--space-6) auto 0; width: min(calc(100% - 40px), 1180px); }
.prose { padding: var(--space-7) 0 var(--space-9); color: var(--color-text-dark); }
.prose h2 { margin: var(--space-6) 0 var(--space-3); font-size: 2.45rem; }
.prose h3 { margin: var(--space-5) 0 var(--space-2); font-size: 1.7rem; }
.prose p { margin: 0 0 var(--space-3); }
.prose .callout { margin: var(--space-5) 0; padding: var(--space-4); border-left: 3px solid #8a6d3e; background: var(--color-paper-soft); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.prose .legal-meta { padding: var(--space-3); background: var(--color-paper-soft); border-radius: var(--radius-md); margin-bottom: var(--space-5); }
.prose ul { margin: 0 0 var(--space-3); padding-left: 20px; }

.thanks-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: var(--space-6); align-items: start; }
.steps { display: grid; gap: var(--space-2); }
.step { padding: var(--space-4); border: 1px solid var(--color-line-light); border-radius: var(--radius-md); }
.step-num { color: #8a6d3e; font-weight: 700; font-size: .76rem; letter-spacing: .14em; text-transform: uppercase; }
.step h3 { margin: 10px 0; }

.site-footer { background: #090a0b; color: var(--color-text); padding: var(--space-7) 0 var(--space-4); border-top: 1px solid rgba(255,255,255,.08); }
.footer-grid { display: grid; grid-template-columns: 1.15fr .62fr .7fr .9fr; gap: var(--space-5); }
.footer-brand p { color: var(--color-text-muted); max-width: 420px; margin-top: var(--space-3); }
.footer-title { color: var(--color-primary); text-transform: uppercase; letter-spacing: .13em; font-size: .72rem; font-weight: 700; margin-bottom: 12px; }
.footer-links { display: grid; gap: 9px; font-size: .88rem; color: var(--color-text-muted); }
.footer-links a:hover { color: var(--color-text); }
.footer-legal-data { color: var(--color-text-muted); font-size: .82rem; line-height: 1.8; }
.disclaimer { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid rgba(255,255,255,.08); color: var(--color-text-muted); font-size: .78rem; }
.disclaimer strong { display: block; color: var(--color-text); margin-bottom: 7px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; color: #73777b; font-size: .74rem; margin-top: var(--space-4); }

.cookie-banner { position: fixed; left: 20px; right: 20px; bottom: 20px; z-index: 100; background: #f5f2eb; color: var(--color-text-dark); border: 1px solid rgba(23,23,23,.12); box-shadow: 0 18px 60px rgba(0,0,0,.26); border-radius: var(--radius-md); padding: var(--space-3); display: grid; grid-template-columns: 1fr auto; gap: var(--space-3); align-items: center; }
.cookie-banner[hidden] { display: none; }
.cookie-copy strong { display: block; margin-bottom: 4px; }
.cookie-copy p { color: var(--color-text-muted-dark); font-size: .82rem; }
.cookie-copy a { text-decoration: underline; }
.cookie-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.cookie-actions button { border: 1px solid var(--color-bg); background: var(--color-bg); color: var(--color-text); min-height: 44px; padding: 9px 14px; border-radius: 999px; font-weight: 700; }
.cookie-actions button:hover { transform: translateY(-1px); }
.cookie-actions .accept { background: var(--color-bg); color: var(--color-text); border-color: var(--color-bg); }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .7s ease, transform .7s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 900px) {
  .hero-copy > *,
  .media-story > *,
  .booking-layout > *,
  .thanks-grid > *,
  .split > *,
  .bento > *,
  .fleet-grid > *,
  .blog-grid > * {
    min-width: 0;
    max-width: 100%;
  }
}

@media (max-width: 1024px) {
  .header-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    min-height: 76px;
  }
  .brand { flex: 1; min-width: 0; justify-content: flex-start; }
  .menu-toggle { display: inline-flex; flex-shrink: 0; margin-left: auto; position: relative; z-index: 10002; }
  .nav {
    display: none;
    position: fixed;
    z-index: 10000;
    margin: 0;
    box-sizing: border-box;
    width: auto;
    height: auto;
    background: #111315;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius-md);
    padding: var(--space-3);
    flex-direction: column;
    align-items: stretch;
    box-shadow: var(--shadow-soft);
  }
  .nav.open { display: flex; }
  .nav a { padding: 10px 6px; font-size: .86rem; color: var(--color-text-muted); }
  .nav a:hover { color: var(--color-text); }
  .nav a.header-cta { margin-top: 4px; text-align: center; color: var(--color-text) !important; }
  .hero-content, .page-hero .shell, .booking-layout, .thanks-grid { grid-template-columns: 1fr; }
  .hero-content { width: min(calc(100% - 48px), 1180px); }
  .hero-copy { grid-template-columns: 1fr; }
  .hero-copy > .eyebrow, .hero-copy > h1, .hero-lead, .hero-actions { grid-column: 1; }
  .hero-actions { justify-content: flex-start; margin-top: var(--space-1); }
  .route-tag { justify-self: stretch; }
  .section-head { grid-template-columns: 1fr; }
  .bento { grid-template-columns: repeat(2,1fr); }
  .bento-card.featured { grid-column: 1/-1; grid-row: auto; min-height: 460px; }
  .split { grid-template-columns: 1fr; }
  .media-story, .media-story.reverse { grid-template-columns: 1fr; }
  .media-story.reverse .story-media { order: 0; }
  .story-media { aspect-ratio: 16/10; max-height: none; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
}

@media (max-width: 768px) {
  .shell { width: min(calc(100% - 28px), var(--container)); }
  .article-hero-media { padding-bottom: var(--space-5); margin-bottom: 0; }
  .section { padding: var(--space-7) 0; }
  .hero { min-height: 720px; }
  .hero-content { width: min(calc(100% - 28px), var(--container)); padding: var(--space-7) 0 var(--space-5); gap: var(--space-4); }
  .hero-copy { row-gap: var(--space-2); }
  .hero h1 { text-wrap: pretty; }
  .route-tag { grid-template-columns: 1fr; gap: var(--space-2); padding: var(--space-2); }
  .route-tag-top { justify-content: space-between; }
  .hero-media::after { background: linear-gradient(0deg, rgba(8,9,10,.94) 0%, rgba(8,9,10,.64) 68%, rgba(8,9,10,.34) 100%); }
  .metric-row, .process { grid-template-columns: 1fr; gap: 0; }
  .metric { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto; align-items: start; gap: 6px; padding: var(--space-2) 0; }
  .metric + .metric { border-left: 0; border-top: 1px solid var(--color-line-light); }
  .metric strong { min-height: 0; align-items: flex-start; white-space: normal; font-size: clamp(1.6rem, 7vw, 2.15rem); line-height: 1.05; }
  .metric span { margin-top: 0; max-width: none; min-width: 0; }
  .bento, .fleet-grid, .blog-grid { grid-template-columns: 1fr; }
  .blog-card { grid-template-columns: 1fr; }
  .blog-card-media { aspect-ratio: 16/9; }
  .story-points, .form-grid { grid-template-columns: 1fr; }
  .field.full, .checkline, .form-actions { grid-column: 1; }
  .form-actions { align-items: stretch; flex-direction: column; }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .footer-brand { grid-column: auto; }
  .cookie-banner { grid-template-columns: 1fr; left: 12px; right: 12px; bottom: 12px; }
  .cookie-actions button { flex: 1; }
}

@media (max-width: 640px) {
  .brand { justify-self: start; align-self: center; flex-direction: row; align-items: center; }
  .brand span { word-break: break-all; min-width: 0; }
  .ad-bar { word-break: break-all; }
  .footer-col { word-break: break-all; }
  .footer-legal-data { word-break: break-all; }
  .article-hero-media { padding-bottom: var(--space-6); width: min(calc(100% - 28px), 1180px); }
}

@media (max-width: 480px) {
  .shell { width: min(calc(100% - 20px), var(--container)); }
  .section { padding: var(--space-6) 0; }
  .hero-content { width: min(calc(100% - 20px), var(--container)); padding: var(--space-6) 0 var(--space-4); }
  .split-copy { padding: var(--space-4) 16px; }
  .split-copy .metric-row { width: 100%; max-width: 100%; }
  .booking-form, .car-copy, .bento-card { padding: var(--space-2); }
  .button { font-size: .9rem; padding: 10px 16px; }
}

@media (max-width: 420px) {
  h1 { font-size: clamp(2.55rem, 13vw, 3.6rem); }
  .brand span { font-size: .8rem; }
  .route-points { font-size: .72rem; }
  .split-copy { padding: var(--space-5) 20px; }
  .booking-form, .car-copy, .bento-card { padding: var(--space-3); }
  .car-top { display: grid; grid-template-columns: 1fr; gap: 10px; }
  .car-price { text-align: left; font-size: 1.12rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

@media (min-width: 769px) {
  .fleet-grid .car-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.12fr .88fr; }
  .fleet-grid .car-card:first-child .car-media { aspect-ratio: auto; min-height: 420px; }
  .fleet-grid .car-card:first-child .car-copy { display: flex; flex-direction: column; justify-content: center; }
}
