/* ============================================================
   ASPEN EXOTICS — Global Styles
   Editorial Luxury · Dark · Gold accent
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Manrope:wght@300;400;500;600;700&display=swap');

:root {
  --gold: #c9a84c;
  --gold-light: #e2c97e;
  --gold-dim: #8a6f2e;
  --black: #080808;
  --surface: #0f0f0f;
  --surface-2: #161616;
  --surface-3: #1e1e1e;
  --text: #f0ece4;
  --text-dim: #9a9490;
  --text-muted: #5a5652;
  --border: rgba(201,168,76,0.15);
  --border-subtle: rgba(255,255,255,0.06);
  --radius-sm: 4px;
  --radius: 12px;
  --radius-lg: 24px;
  --radius-xl: 40px;
  --ease-out: cubic-bezier(0.32,0.72,0,1);
  --ease-in-out: cubic-bezier(0.65,0,0.35,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  background: var(--black);
  color: var(--text);
  font-family: 'Manrope', sans-serif;
  font-weight: 300;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ── Noise overlay ─────────────────────────────────────── */
body::after {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 100;
  pointer-events: none;
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  background-size: 200px;
}

/* ── Typography ────────────────────────────────────────── */
h1, h2, h3, h4 {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
}

.eyebrow {
  display: inline-block;
  font-family: 'Manrope', sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 5px 14px;
  border: 1px solid var(--border);
  border-radius: 999px;
  margin-bottom: 24px;
}

/* ── Layout ─────────────────────────────────────────────── */
.container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}

@media (max-width: 768px) {
  .container { padding: 0 20px; }
}

/* ── Nav ─────────────────────────────────────────────────── */
nav {
  position: fixed;
  top: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 90;
  width: calc(100% - 80px);
  max-width: 1240px;
}

.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 28px 10px 20px;
  background: rgba(8,8,8,0.85);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(24px);
  border: 1px solid var(--border-subtle);
  border-radius: 999px;
  box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset, 0 24px 60px rgba(0,0,0,0.4);
}

.nav-logo {
  display: flex;
  align-items: center;
  text-decoration: none;
}

.nav-logo img {
  height: 58px;
  width: auto;
  filter: brightness(0) invert(1);
}

.nav-links {
  display: flex;
  align-items: center;
  gap: 36px;
  list-style: none;
}

.nav-links a {
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-dim);
  text-decoration: none;
  transition: color 0.3s var(--ease-out);
}

.nav-links a:hover { color: var(--text); }

.nav-cta {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: var(--gold);
  color: var(--black) !important;
  border-radius: 999px;
  font-weight: 600 !important;
  transition: background 0.3s var(--ease-out), transform 0.2s var(--ease-out) !important;
}

.nav-cta:hover {
  background: var(--gold-light) !important;
  transform: scale(1.02);
}

/* Hamburger */
.nav-hamburger {
  display: none;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
  padding: 4px;
  background: none;
  border: none;
}

.nav-hamburger span {
  display: block;
  width: 22px;
  height: 1.5px;
  background: var(--text);
  transition: all 0.4s var(--ease-out);
  transform-origin: center;
}

.nav-hamburger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-hamburger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

.nav-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 89;
  background: rgba(8,8,8,0.97);
  backdrop-filter: blur(32px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 40px;
}

.nav-mobile-menu.open { display: flex; }

.nav-mobile-menu a {
  font-family: 'Fraunces', serif;
  font-size: clamp(36px, 8vw, 64px);
  font-weight: 300;
  color: var(--text);
  text-decoration: none;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.5s var(--ease-out), transform 0.5s var(--ease-out), color 0.3s;
}

.nav-mobile-menu.open a { opacity: 1; transform: translateY(0); }
.nav-mobile-menu.open a:nth-child(1) { transition-delay: 0.05s; }
.nav-mobile-menu.open a:nth-child(2) { transition-delay: 0.1s; }
.nav-mobile-menu.open a:nth-child(3) { transition-delay: 0.15s; }
.nav-mobile-menu.open a:nth-child(4) { transition-delay: 0.2s; }
.nav-mobile-menu.open a:nth-child(5) { transition-delay: 0.25s; }
.nav-mobile-menu a:hover { color: var(--gold); }

@media (max-width: 768px) {
  nav { width: calc(100% - 40px); top: 16px; }
  .nav-links { display: none; }
  .nav-hamburger { display: flex; }
}

/* ── Hero ─────────────────────────────────────────────────── */
.hero {
  position: relative;
  min-height: 100dvh;
  display: flex;
  align-items: flex-end;
  padding-bottom: 80px;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    #0a0a0a 0%,
    #0f0c08 40%,
    #120e08 60%,
    #0a0a0a 100%
  );
}

.hero-bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: 78% 45%;
  opacity: 0.85;
  transition: opacity 1.2s ease;
}

.hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, var(--black) 0%, var(--black) 28%, rgba(7,10,15,0.85) 48%, rgba(7,10,15,0.3) 72%, rgba(7,10,15,0) 100%), linear-gradient(to top, var(--black) 0%, rgba(7,10,15,0.5) 30%, rgba(7,10,15,0) 65%);
}

.hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
}

.hero h1 {
  font-size: clamp(48px, 7.5vw, 108px);
  font-weight: 400;
  line-height: 0.95;
  margin-bottom: 32px;
  color: var(--text);
}

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

.hero-sub {
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--text-dim);
  max-width: 480px;
  margin-bottom: 48px;
  line-height: 1.7;
}

.hero-actions {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}

.hero-stats {
  position: absolute;
  right: 40px;
  bottom: 80px;
  display: flex;
  flex-direction: column;
  gap: 32px;
  z-index: 2;
}

.hero-stat {
  text-align: right;
}

.hero-stat-num {
  font-family: 'Fraunces', serif;
  font-size: 48px;
  font-weight: 300;
  color: var(--text);
  line-height: 1;
}

.hero-stat-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-top: 4px;
}

.hero-scroll {
  position: absolute;
  bottom: 32px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  z-index: 2;
  opacity: 0.4;
}

.hero-scroll span {
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--text-dim);
}

.hero-scroll-line {
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, var(--text-dim), transparent);
  animation: scrollLine 2s ease-in-out infinite;
}

@keyframes scrollLine {
  0%, 100% { transform: scaleY(1); opacity: 0.4; }
  50% { transform: scaleY(0.5); opacity: 0.1; }
}

@media (max-width: 768px) {
  .hero { padding-bottom: 60px; align-items: center; }
  .hero h1 { font-size: clamp(48px, 12vw, 72px); }
  .hero-stats { display: none; }
}

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-family: 'Manrope', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.35s var(--ease-out);
  position: relative;
}

.btn-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(0,0,0,0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.35s var(--ease-out);
  font-size: 14px;
}

.btn:hover .btn-icon {
  transform: translate(2px, -1px) scale(1.1);
}

.btn-primary {
  background: var(--gold);
  color: var(--black);
}

.btn-primary:hover {
  background: var(--gold-light);
  transform: translateY(-1px);
  box-shadow: 0 12px 40px rgba(201,168,76,0.25);
}

.btn-secondary {
  background: transparent;
  color: var(--text);
  border: 1px solid var(--border-subtle);
}

.btn-secondary:hover {
  background: rgba(255,255,255,0.04);
  border-color: rgba(255,255,255,0.15);
  transform: translateY(-1px);
}

/* ── Section spacing ─────────────────────────────────────── */
.section { padding: 120px 0; }
.section-sm { padding: 80px 0; }

@media (max-width: 768px) {
  .section { padding: 80px 0; }
  .section-sm { padding: 60px 0; }
}

/* ── Section header ──────────────────────────────────────── */
.section-header {
  margin-bottom: 64px;
}

.section-header h2 {
  font-size: clamp(40px, 5vw, 72px);
  color: var(--text);
}

.section-header p {
  font-size: 14px;
  color: var(--text-dim);
  max-width: 520px;
  margin-top: 16px;
  line-height: 1.7;
}

/* ── Fleet grid ──────────────────────────────────────────── */
.fleet-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 16px;
}

/* Bento layout — alternating large/small */
.fleet-card:nth-child(1)  { grid-column: span 8; }
.fleet-card:nth-child(2)  { grid-column: span 4; }
.fleet-card:nth-child(3)  { grid-column: span 4; }
.fleet-card:nth-child(4)  { grid-column: span 4; }
.fleet-card:nth-child(5)  { grid-column: span 4; }
.fleet-card:nth-child(6)  { grid-column: span 6; }
.fleet-card:nth-child(7)  { grid-column: span 6; }
.fleet-card:nth-child(8)  { grid-column: span 4; }
.fleet-card:nth-child(9)  { grid-column: span 4; }
.fleet-card:nth-child(10) { grid-column: span 4; }
.fleet-card:nth-child(11) { grid-column: span 6; }
.fleet-card:nth-child(12) { grid-column: span 6; }
.fleet-card:nth-child(13) { grid-column: span 8; }
.fleet-card:nth-child(14) { grid-column: span 4; }

@media (max-width: 1024px) {
  .fleet-card:nth-child(n) { grid-column: span 6; }
}

@media (max-width: 640px) {
  .fleet-grid { grid-template-columns: 1fr; gap: 12px; }
  .fleet-card:nth-child(n) { grid-column: span 1; }
}

/* ── Fleet card ──────────────────────────────────────────── */
.fleet-card {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  aspect-ratio: 16/10;
  cursor: pointer;
  text-decoration: none;
  display: block;
  /* Outer shell */
  padding: 2px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border-subtle);
  transition: transform 0.5s var(--ease-out), box-shadow 0.5s var(--ease-out);
}

.fleet-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(201,168,76,0.2);
}

/* Inner core */
.fleet-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: calc(var(--radius-lg) - 2px);
  overflow: hidden;
  background: var(--surface-2);
  box-shadow: inset 0 1px 1px rgba(255,255,255,0.08);
}

.fleet-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.8s var(--ease-out), opacity 0.4s ease;
  opacity: 0.85;
}

.fleet-card:hover img {
  transform: scale(1.04);
  opacity: 1;
}

.fleet-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.85) 0%,
    rgba(0,0,0,0.3) 40%,
    transparent 70%
  );
}

.fleet-card-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 24px 28px;
}

.fleet-card-year {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}

.fleet-card-name {
  font-family: 'Fraunces', serif;
  font-size: clamp(20px, 2.5vw, 32px);
  font-weight: 300;
  color: var(--text);
  line-height: 1.1;
  margin-bottom: 8px;
}

.fleet-card-trim {
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.08em;
  color: var(--text-dim);
}

.fleet-card-tags {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.fleet-tag {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(255,255,255,0.08);
  color: var(--text-dim);
  border: 1px solid rgba(255,255,255,0.06);
}

.fleet-card-arrow {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(0,0,0,0.5);
  border: 1px solid rgba(255,255,255,0.1);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text);
  font-size: 14px;
  opacity: 0;
  transform: scale(0.8);
  transition: opacity 0.3s var(--ease-out), transform 0.3s var(--ease-out);
}

.fleet-card:hover .fleet-card-arrow {
  opacity: 1;
  transform: scale(1);
}

/* ── About strip ─────────────────────────────────────────── */
.about-strip {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}

.about-strip-image {
  position: relative;
  border-radius: var(--radius-xl);
  overflow: hidden;
  aspect-ratio: 4/5;
  padding: 2px;
  background: rgba(255,255,255,0.04);
  border: 1px solid var(--border-subtle);
}

.about-strip-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: calc(var(--radius-xl) - 2px);
}

.about-strip-image-accent {
  position: absolute;
  bottom: 24px;
  left: 24px;
  right: 24px;
  padding: 16px 20px;
  background: rgba(8,8,8,0.85);
  backdrop-filter: blur(12px);
  border-radius: var(--radius);
  border: 1px solid var(--border);
}

.about-strip-text h2 {
  font-size: clamp(36px, 4vw, 64px);
  margin-bottom: 24px;
}

.about-strip-text p {
  font-size: 14px;
  color: var(--text-dim);
  line-height: 1.8;
  margin-bottom: 20px;
}

@media (max-width: 768px) {
  .about-strip { grid-template-columns: 1fr; gap: 48px; }
}

/* ── Stats bar ───────────────────────────────────────────── */
.stats-bar {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
  background: var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.stat-item {
  background: var(--surface);
  padding: 40px 32px;
  text-align: center;
}

.stat-item:first-child { border-radius: var(--radius-lg) 0 0 var(--radius-lg); }
.stat-item:last-child { border-radius: 0 var(--radius-lg) var(--radius-lg) 0; }

.stat-num {
  font-family: 'Fraunces', serif;
  font-size: 56px;
  font-weight: 300;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 8px;
}

.stat-label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
}

@media (max-width: 768px) {
  .stats-bar { grid-template-columns: repeat(2, 1fr); }
  .stat-item:first-child { border-radius: var(--radius-lg) 0 0 0; }
  .stat-item:last-child { border-radius: 0 0 var(--radius-lg) var(--radius-lg); }
  .stat-item:nth-child(2) { border-radius: 0 var(--radius-lg) 0 0; }
  .stat-item:nth-child(3) { border-radius: 0 0 0 var(--radius-lg); }
}

/* ── How it works ─────────────────────────────────────────── */
.how-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
}

.how-step {
  background: var(--surface);
  padding: 48px 40px;
  position: relative;
}

.how-step-num {
  font-family: 'Fraunces', serif;
  font-size: 80px;
  font-weight: 300;
  color: var(--border);
  line-height: 1;
  margin-bottom: 24px;
  position: relative;
}

.how-step h3 {
  font-family: 'Fraunces', serif;
  font-size: 28px;
  font-weight: 300;
  margin-bottom: 16px;
  color: var(--text);
}

.how-step p {
  font-size: 13px;
  color: var(--text-dim);
  line-height: 1.7;
}

@media (max-width: 768px) {
  .how-steps { grid-template-columns: 1fr; }
}

/* ── Reviews ─────────────────────────────────────────────── */
.reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.review-card {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  padding: 32px;
  transition: transform 0.4s var(--ease-out), border-color 0.4s;
}

.review-card:hover {
  transform: translateY(-3px);
  border-color: var(--border);
}

.review-stars {
  color: var(--gold);
  font-size: 14px;
  letter-spacing: 2px;
  margin-bottom: 16px;
}

.review-text {
  font-family: 'Fraunces', serif;
  font-size: 18px;
  font-weight: 300;
  color: var(--text);
  line-height: 1.6;
  margin-bottom: 20px;
}

.review-author {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.review-car {
  font-size: 11px;
  color: var(--gold-dim);
  margin-top: 4px;
}

@media (max-width: 768px) {
  .reviews-grid { grid-template-columns: 1fr; }
}

/* ── CTA Banner ──────────────────────────────────────────── */
.cta-banner {
  border-radius: var(--radius-xl);
  overflow: hidden;
  position: relative;
  padding: 80px;
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  text-align: center;
}

.cta-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(201,168,76,0.08) 0%, transparent 70%);
  pointer-events: none;
}

.cta-banner h2 {
  font-size: clamp(40px, 5vw, 72px);
  margin-bottom: 20px;
}

.cta-banner p {
  font-size: 14px;
  color: var(--text-dim);
  max-width: 500px;
  margin: 0 auto 40px;
  line-height: 1.7;
}

.cta-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

@media (max-width: 768px) {
  .cta-banner { padding: 48px 24px; }
}

/* ── Footer ──────────────────────────────────────────────── */
footer {
  border-top: 1px solid var(--border-subtle);
  padding: 48px 0;
}

.footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
}

.footer-logo img {
  height: 44px;
  filter: brightness(0) invert(1);
  opacity: 0.5;
}

.footer-links {
  display: flex;
  gap: 28px;
  list-style: none;
  flex-wrap: wrap;
}

.footer-links a {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
  transition: color 0.3s;
}

.footer-links a:hover { color: var(--text-dim); }

.footer-copy {
  font-size: 11px;
  color: var(--text-muted);
  letter-spacing: 0.06em;
}

/* ── Reveal animations ───────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(32px);
  transition: opacity 0.8s var(--ease-out), transform 0.8s var(--ease-out);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

/* ── Individual car page ─────────────────────────────────── */
.car-hero .container { width: 100%; }
.car-hero {
  min-height: 70dvh;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding-bottom: 80px;
  margin-top: 0;
}

.car-hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.car-hero-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.5;
}

.car-hero-gradient {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, var(--black) 0%, rgba(8,8,8,0.4) 60%, rgba(8,8,8,0.2) 100%);
}

.car-detail {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 64px;
  align-items: start;
}

.car-specs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: var(--border-subtle);
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: 40px;
}

.car-spec {
  background: var(--surface);
  padding: 24px;
  text-align: center;
}

.car-spec-value {
  font-family: 'Fraunces', serif;
  font-size: 32px;
  font-weight: 300;
  color: var(--text);
  margin-bottom: 4px;
}

.car-spec-label {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.car-sidebar {
  position: sticky;
  top: 100px;
}

.car-sidebar-card {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  padding: 36px;
}

.car-sidebar-price {
  font-family: 'Fraunces', serif;
  font-size: 48px;
  font-weight: 300;
  color: var(--text);
  margin-bottom: 4px;
}

.car-sidebar-price-label {
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 28px;
}

.car-sidebar-divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 24px 0;
}

.car-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 40px;
}

.car-gallery img {
  width: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: var(--radius);
  cursor: pointer;
  transition: opacity 0.3s, transform 0.4s var(--ease-out);
  opacity: 0.75;
}

.car-gallery img:hover {
  opacity: 1;
  transform: scale(1.02);
}

@media (max-width: 1024px) {
  .car-detail { grid-template-columns: 1fr; }
  .car-sidebar { position: static; }
}

/* ── Enquiry form ─────────────────────────────────────────── */
.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.form-group.full { grid-column: span 2; }

label {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-muted);
}

input, select, textarea {
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius);
  padding: 14px 18px;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: var(--text);
  outline: none;
  transition: border-color 0.3s, box-shadow 0.3s;
  -webkit-appearance: none;
}

input:focus, select:focus, textarea:focus {
  border-color: var(--gold-dim);
  box-shadow: 0 0 0 3px rgba(201,168,76,0.08);
}

textarea { resize: vertical; min-height: 140px; }

select option { background: var(--surface-2); }

.form-wrapper {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: 80px;
  align-items: start;
}

@media (max-width: 1024px) {
  .form-wrapper { grid-template-columns: 1fr; gap: 48px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-group.full { grid-column: span 1; }
}

/* ── FAQ ─────────────────────────────────────────────────── */
.faq-item {
  border-bottom: 1px solid var(--border-subtle);
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 0;
  cursor: pointer;
  font-family: 'Fraunces', serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--text);
  transition: color 0.3s;
  gap: 24px;
  user-select: none;
}

.faq-question:hover { color: var(--gold); }

.faq-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--border-subtle);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 18px;
  color: var(--text-dim);
  transition: all 0.4s var(--ease-out);
}

.faq-item.open .faq-icon {
  transform: rotate(45deg);
  border-color: var(--gold-dim);
  color: var(--gold);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s var(--ease-out);
}

.faq-answer-inner {
  padding: 0 0 28px;
  font-size: 14px;
  color: var(--text-dim);
  line-height: 1.8;
  max-width: 680px;
}

.faq-item.open .faq-answer { max-height: 400px; }

/* ── About page ──────────────────────────────────────────── */
.about-hero-text {
  max-width: 800px;
}

.about-body {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 80px;
  align-items: start;
}

.about-body p {
  font-size: 15px;
  color: var(--text-dim);
  line-height: 1.9;
  margin-bottom: 24px;
}

.about-body h3 {
  font-size: 36px;
  margin-bottom: 20px;
  margin-top: 48px;
}

.about-sidebar-card {
  position: sticky;
  top: 100px;
  background: var(--surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-xl);
  overflow: hidden;
}

.about-sidebar-card img {
  width: 100%;
  aspect-ratio: 3/4;
  object-fit: cover;
  object-position: top;
}

.about-sidebar-info {
  padding: 28px;
}

.about-sidebar-info h4 {
  font-size: 24px;
  margin-bottom: 4px;
}

.about-sidebar-info p {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  text-transform: uppercase;
}

@media (max-width: 1024px) {
  .about-body { grid-template-columns: 1fr; }
  .about-sidebar-card { position: static; }
  .about-sidebar-card img { aspect-ratio: 16/9; }
}

/* ── Page header (inner pages) ────────────────────────────── */
.page-header {
  padding-top: 140px;
  padding-bottom: 64px;
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: 80px;
}

.page-header h1 {
  font-size: clamp(48px, 7vw, 96px);
}

/* ── Divider ─────────────────────────────────────────────── */
.divider {
  height: 1px;
  background: var(--border-subtle);
  margin: 0;
}

/* ── Availability embed ──────────────────────────────────── */
.availability-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 20px;
  background: rgba(201,168,76,0.06);
  border: 1px solid rgba(201,168,76,0.15);
  border-radius: var(--radius);
  font-size: 12px;
  color: var(--text-dim);
  margin-bottom: 24px;
}

.availability-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  animation: pulse 2s ease-in-out infinite;
}

@keyframes pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.3; }
}

/* ── Scroll padding for fixed nav ────────────────────────── */
:target { scroll-margin-top: 100px; }

/* ============================================================
   THEMES — set <html data-theme="summer|winter">
   ============================================================ */

/* Summer: warm cream editorial, espresso text, gold accent */
:root, [data-theme="summer"] {
  --gold: #a8842e;
  --gold-light: #c9a84c;
  --gold-dim: #8a6f2e;
  --black: #f7f3ec;            /* page background (cream) */
  --surface: #ffffff;          /* cards */
  --surface-2: #f1ebe1;
  --surface-3: #e9e1d4;
  --text: #1c1814;             /* espresso */
  --text-dim: #5e564d;
  --text-muted: #9a9086;
  --border: rgba(168,132,46,0.25);
  --border-subtle: rgba(28,24,20,0.08);
  --glow: rgba(201,168,76,0.12);
  --hero-img: url('../images/hero-summer.jpg');
  --hero-tint: linear-gradient(135deg,#f7f3ec 0%,#efe6d6 50%,#f7f3ec 100%);
}
[data-theme="summer"] body::after { opacity: 0.035; mix-blend-mode: multiply; }
[data-theme="summer"] .nav-inner { background: rgba(255,255,255,0.78); border-color: rgba(28,24,20,0.08); box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 20px 50px rgba(28,24,20,0.10); }
[data-theme="summer"] .nav-logo img, [data-theme="summer"] .footer-logo img { filter: none; }
[data-theme="summer"] .hero-bg-image { opacity: 1; background-position: 78% 45%; }
[data-theme="summer"] .hero-gradient { background: linear-gradient(to right, #f7f3ec 0%, #f7f3ec 30%, rgba(247,243,236,0.92) 48%, rgba(247,243,236,0.35) 70%, rgba(247,243,236,0) 100%), linear-gradient(to top, #f7f3ec 0%, rgba(247,243,236,0.6) 25%, rgba(247,243,236,0) 60%); }
[data-theme="summer"] .hero-stats .hero-stat-num, [data-theme="summer"] .hero-stats .hero-stat-label { text-shadow: 0 1px 12px rgba(247,243,236,0.9); }
@media (max-width:768px){ [data-theme="summer"] .hero-gradient { background: linear-gradient(to top, #f7f3ec 0%, #f7f3ec 45%, rgba(247,243,236,0.7) 70%, rgba(247,243,236,0.1) 100%); } [data-theme="summer"] .hero-bg-image { background-position: 60% 20%; } }
[data-theme="summer"] .hero h1 { color: var(--text); }
[data-theme="summer"] .btn-primary { background: var(--text); color: #f7f3ec; }
[data-theme="summer"] .btn-primary:hover { background: #2a251f; box-shadow: 0 12px 40px rgba(28,24,20,0.22); }
[data-theme="summer"] .btn-primary .btn-icon { background: rgba(255,255,255,0.12); }
[data-theme="summer"] .btn-secondary { border-color: rgba(28,24,20,0.18); }
[data-theme="summer"] .btn-secondary:hover { background: rgba(28,24,20,0.04); border-color: rgba(28,24,20,0.3); }
[data-theme="summer"] .nav-cta { background: var(--text) !important; color: #f7f3ec !important; }
[data-theme="summer"] .nav-cta:hover { background: #2a251f !important; }
[data-theme="summer"] .fleet-card { background: rgba(28,24,20,0.04); border-color: rgba(28,24,20,0.08); }
[data-theme="summer"] .fleet-card:hover { box-shadow: 0 24px 60px rgba(28,24,20,0.18), 0 0 0 1px rgba(168,132,46,0.3); }
[data-theme="summer"] .fleet-card-inner { box-shadow: none; }
[data-theme="summer"] .fleet-card img { opacity: 1; }
[data-theme="summer"] .fleet-card-overlay { background: linear-gradient(to top, rgba(20,16,12,0.82) 0%, rgba(20,16,12,0.25) 45%, transparent 70%); }
[data-theme="summer"] .fleet-card-name { color: #fff; }
[data-theme="summer"] .fleet-card-trim { color: rgba(255,255,255,0.75); }
[data-theme="summer"] .fleet-card-year { color: var(--gold-light); }
[data-theme="summer"] .fleet-tag { background: rgba(255,255,255,0.14); color: rgba(255,255,255,0.85); border-color: rgba(255,255,255,0.12); }
[data-theme="summer"] .fleet-card-arrow { background: rgba(255,255,255,0.9); color: var(--text); border-color: transparent; }
[data-theme="summer"] .stats-bar, [data-theme="summer"] .how-steps, [data-theme="summer"] .car-specs-grid { background: rgba(28,24,20,0.08); }
[data-theme="summer"] .stat-item, [data-theme="summer"] .how-step, [data-theme="summer"] .car-spec { background: var(--surface); }
[data-theme="summer"] .how-step-num { color: rgba(168,132,46,0.25); }
[data-theme="summer"] .review-card, [data-theme="summer"] .cta-banner, [data-theme="summer"] .car-sidebar-card, [data-theme="summer"] .about-sidebar-card { box-shadow: 0 10px 40px rgba(28,24,20,0.06); }
[data-theme="summer"] .review-stars { color: var(--gold); }
[data-theme="summer"] .about-strip-image-accent { background: rgba(255,255,255,0.9); border-color: rgba(28,24,20,0.08); }
[data-theme="summer"] .about-strip-image-accent div:last-child { color: var(--text) !important; }
[data-theme="summer"] input, [data-theme="summer"] select, [data-theme="summer"] textarea { background: #fff; }
[data-theme="summer"] .aex-cal-month { background: #fff; }
[data-theme="summer"] .aex-cal-free { background: rgba(28,24,20,0.03); }
[data-theme="summer"] .aex-cal-booked { background: rgba(28,24,20,0.12); }
[data-theme="summer"] .car-hero-bg img { opacity: 1; }
[data-theme="summer"] .car-hero-gradient { background: linear-gradient(to top, #f7f3ec 0%, rgba(247,243,236,0.35) 50%, rgba(247,243,236,0) 100%); }
[data-theme="summer"] .hero-scroll span { color: var(--text-dim); }
[data-theme="summer"] .hero-scroll-line { background: linear-gradient(to bottom, var(--text-dim), transparent); }
[data-theme="summer"] .availability-dot { background: var(--gold); }
[data-theme="summer"] .nav-mobile-menu { background: rgba(247,243,236,0.97); }
[data-theme="summer"] .nav-hamburger span { background: var(--text); }
[data-theme="summer"] section[style*="background:var(--surface)"] { background: #fbf9f5 !important; }

/* Winter: cool blue-black, icy platinum accent, gold retained as secondary */
[data-theme="winter"] {
  --gold: #c7d3e2;
  --gold-light: #ffffff;
  --gold-dim: #6f7f94;
  --black: #070a0f;
  --surface: #0b1016;
  --surface-2: #10161e;
  --surface-3: #161e28;
  --text: #eef2f7;
  --text-dim: #8f9aa8;
  --glow: rgba(199,211,226,0.08);
  --hero-img: url('../images/hero-winter.jpg');
  --hero-tint: linear-gradient(135deg,#070a0f 0%,#0b1220 50%,#070a0f 100%);
}

[data-theme="winter"] .border-gold { border-color: rgba(199,211,226,0.18); }
[data-theme="winter"] .eyebrow { border-color: rgba(199,211,226,0.2); }
[data-theme="winter"] .cta-banner::before { background: radial-gradient(ellipse at 50% 0%, rgba(199,211,226,0.10) 0%, transparent 70%); }
[data-theme="winter"] .availability-note { background: rgba(199,211,226,0.06); border-color: rgba(199,211,226,0.18); }

.hero-bg { background: var(--hero-tint); }
.hero-bg-image { background-image: var(--hero-img); }

/* Sub-page nav offset */
.subpage-top { padding-top: 40px; }

/* Availability calendar */
.aex-cal-wrap { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.aex-cal-month { background:var(--surface-2); border:1px solid var(--border-subtle); border-radius:var(--radius); padding:16px; }
.aex-cal-title { font-family:'Fraunces',serif; font-size:18px; margin-bottom:10px; color:var(--text); }
.aex-cal-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.aex-cal-dow { font-size:9px; letter-spacing:.1em; text-align:center; color:var(--text-muted); padding:4px 0; }
.aex-cal-day { font-size:11px; text-align:center; padding:6px 0; border-radius:4px; color:var(--text-dim); }
.aex-cal-free { background:rgba(255,255,255,0.03); }
.aex-cal-booked { background:rgba(255,255,255,0.10); color:var(--text-muted); text-decoration:line-through; }
.aex-today { outline:1px solid var(--gold-dim); }
.aex-cal-pad { }
.cal-legend { display:flex; gap:20px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; color:var(--text-muted); margin-top:14px; }
.cal-legend span::before { content:''; display:inline-block; width:10px; height:10px; border-radius:2px; margin-right:6px; vertical-align:middle; background:rgba(255,255,255,0.03); }
.cal-legend span.b::before { background:rgba(255,255,255,0.12); }

/* ── Hero: split layout (text left, framed photo right) ── */
.hero { align-items: center; padding-bottom: 40px; padding-top: 150px; min-height: 100dvh; }
.hero-bg-image { display: none; }
.hero-gradient { background: none !important; }
.hero-content { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.hero-text { position: relative; z-index: 2; }
.hero-photo { position: relative; padding: 6px; border-radius: var(--radius-xl); background: rgba(28,24,20,0.05); border: 1px solid var(--border-subtle); box-shadow: 0 40px 90px rgba(28,24,20,0.18); }
.hero-photo-inner { border-radius: calc(var(--radius-xl) - 6px); overflow: hidden; aspect-ratio: 4/3; }
.hero-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hero-photo-badge { position: absolute; left: 28px; bottom: 28px; padding: 12px 18px; border-radius: 999px; background: rgba(255,255,255,0.92); backdrop-filter: blur(12px); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: var(--text); font-weight: 600; border: 1px solid rgba(28,24,20,0.08); }
[data-theme="winter"] .hero-photo { background: rgba(255,255,255,0.04); box-shadow: 0 40px 90px rgba(0,0,0,0.5); }
[data-theme="winter"] .hero-photo-badge { background: rgba(7,10,15,0.85); color: var(--text); border-color: rgba(255,255,255,0.1); }
.hero-stats { position: static; flex-direction: row; gap: 40px; margin-top: 56px; }
.hero-stat { text-align: left; }
.hero-stat-num { font-size: 40px; }
.hero-scroll { display: none; }
@media (max-width: 1024px) { .hero-content { grid-template-columns: 1fr; gap: 40px; } .hero { padding-top: 120px; padding-bottom: 60px; min-height: auto; } .hero-stats { display: flex; gap: 28px; margin-top: 36px; } .hero-photo-badge { left: 18px; bottom: 18px; } }

/* ── Season toggle ── */
.theme-toggle { position: relative; display: flex; align-items: center; margin-left: 20px; padding: 3px; border-radius: 999px; background: rgba(28,24,20,0.07); border: 1px solid var(--border-subtle); cursor: pointer; font-family: 'Manrope', sans-serif; }
.tt-opt { position: relative; z-index: 2; padding: 6px 12px; font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--text-muted); transition: color .3s var(--ease-out); }
.tt-knob { position: absolute; top: 3px; left: 3px; height: calc(100% - 6px); width: calc(50% - 3px); border-radius: 999px; background: var(--text); transition: transform .45s var(--ease-out); }
[data-theme="summer"] .tt-opt[data-t="summer"] { color: #f7f3ec; }
[data-theme="winter"] .tt-opt[data-t="winter"] { color: #070a0f; }
[data-theme="winter"] .tt-knob { transform: translateX(100%); background: var(--gold); }
[data-theme="winter"] .theme-toggle { background: rgba(255,255,255,0.06); }
@media (max-width: 768px) { .theme-toggle { margin-left: auto; margin-right: 14px; } }

/* ── Fleet card: text at top, gradient from top ── */
.fleet-card-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.78) 0%, rgba(0,0,0,0.35) 40%, transparent 65%); }
[data-theme="summer"] .fleet-card-overlay { background: linear-gradient(to bottom, rgba(20,16,12,0.8) 0%, rgba(20,16,12,0.35) 40%, transparent 65%); }
.fleet-card-content { top: 0; bottom: auto; padding: 24px 28px; }
.fleet-card-arrow { top: auto; bottom: 20px; }
.fleet-card img { object-position: center 60%; }

/* ── Fleet card v3: caption panel above photo, photo untouched ── */
.fleet-card { aspect-ratio: auto; }
.fleet-card-inner { display: flex; flex-direction: column; }
.fleet-card-overlay { display: none; }
.fleet-card-content { position: static; padding: 22px 24px 18px; background: var(--surface); order: 0; }
.fleet-card-media { position: relative; order: 1; aspect-ratio: 4/3; overflow: hidden; }
.fleet-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.fleet-card-name { color: var(--text); font-size: clamp(22px, 2vw, 30px); }
.fleet-card-trim { color: var(--text-dim); }
[data-theme="summer"] .fleet-card-name { color: var(--text); }
[data-theme="summer"] .fleet-card-trim { color: var(--text-dim); }
[data-theme="summer"] .fleet-card-year { color: var(--gold); }
[data-theme="summer"] .fleet-tag { background: rgba(28,24,20,0.06); color: var(--text-dim); border-color: rgba(28,24,20,0.06); }
.fleet-card-arrow { top: 18px; right: 18px; bottom: auto; background: var(--text); color: var(--black); border: none; opacity: 1; transform: none; }
[data-theme="summer"] .fleet-card-arrow { background: var(--text); color: #f7f3ec; }
.fleet-card:hover .fleet-card-arrow { transform: translate(2px,-2px); }
.fleet-card:nth-child(n) { grid-column: span 4; }
@media (max-width: 1024px) { .fleet-card:nth-child(n) { grid-column: span 6; } }
@media (max-width: 640px) { .fleet-card:nth-child(n) { grid-column: span 1; } }
.fleet-card-content { min-height: 178px; }
.fleet-card-name { min-height: 2.2em; }

/* ── Lightbox ── */
.lb { position: fixed; inset: 0; z-index: 200; background: rgba(8,8,8,0.96); display: none; align-items: center; justify-content: center; }
.lb.open { display: flex; }
.lb img { max-width: 92vw; max-height: 86vh; object-fit: contain; border-radius: 8px; box-shadow: 0 30px 90px rgba(0,0,0,0.6); }
.lb-btn { position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 1px solid rgba(255,255,255,0.15); background: rgba(255,255,255,0.06); color: #fff; font-size: 20px; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background .3s var(--ease-out); backdrop-filter: blur(8px); }
.lb-btn:hover { background: rgba(255,255,255,0.14); }
.lb-close { top: 24px; right: 24px; }
.lb-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.lb-next { right: 24px; top: 50%; transform: translateY(-50%); }
.lb-count { position: absolute; bottom: 24px; left: 50%; transform: translateX(-50%); font-size: 10px; letter-spacing: .2em; color: rgba(255,255,255,0.6); text-transform: uppercase; }
.car-gallery img, .car-hero-bg img { cursor: zoom-in; }
.car-hero-bg { z-index: 1; }
.car-hero-gradient { pointer-events: none; z-index: 1; }
@media (max-width: 640px) { .lb-prev, .lb-next { width: 40px; height: 40px; left: 10px; } .lb-next { left: auto; right: 10px; } }

/* ── Nav: transparent at top, glass on scroll ── */
nav { transition: top .4s var(--ease-out); }
.nav-inner { background: transparent; border-color: transparent; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; transition: background .5s var(--ease-out), border-color .5s, box-shadow .5s, padding .4s var(--ease-out); }
[data-theme="summer"] .nav-inner { background: transparent; border-color: transparent; box-shadow: none; }
nav.scrolled .nav-inner { background: rgba(8,8,8,0.72); border-color: rgba(255,255,255,0.08); box-shadow: 0 20px 50px rgba(0,0,0,0.35); backdrop-filter: blur(20px) saturate(160%); -webkit-backdrop-filter: blur(20px) saturate(160%); }
[data-theme="summer"] nav.scrolled .nav-inner { background: rgba(247,243,236,0.72); border-color: rgba(28,24,20,0.08); box-shadow: 0 20px 50px rgba(28,24,20,0.10); }
.nav-logo img { height: 66px; filter: brightness(0) invert(1); }
[data-theme="summer"] .nav-logo img { filter: none; }
.nav-inner { padding: 8px 24px 8px 16px; }

/* ── Hero slider ── */
.hero-slider { position: relative; min-height: 100dvh; display: flex; align-items: flex-end; padding: 0 0 96px; overflow: hidden; }
.hero-slider .hero-bg { display: none; }
.slides { position: absolute; inset: 0; }
.slide { position: absolute; inset: 0; opacity: 0; transition: opacity 1.4s var(--ease-in-out); }
.slide.active { opacity: 1; }
.slide img { width: 100%; height: 100%; object-fit: cover; object-position: center 55%; transform: scale(1.06); transition: transform 7s linear; }
.slide.active img { transform: scale(1); }
.slide-scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(6,6,6,0.88) 0%, rgba(6,6,6,0.45) 40%, rgba(6,6,6,0.08) 70%, rgba(6,6,6,0.25) 100%); }
.hero-slider .hero-content { display: block; position: relative; z-index: 2; }
.hero-slider .hero-text { max-width: 760px; }
.hero-slider h1 { color: #fff; font-size: clamp(44px, 6.4vw, 92px); }
.hero-slider h1 em { color: var(--gold-light); }
[data-theme="winter"] .hero-slider h1 em { color: #cfdbe9; }
.hero-slider .hero-sub { color: rgba(255,255,255,0.78); }
.hero-slider .eyebrow { color: var(--gold-light); border-color: rgba(255,255,255,0.25); }
.hero-slider .btn-primary { background: #fff; color: #111; }
.hero-slider .btn-primary:hover { background: #f2ede3; }
.hero-slider .btn-primary .btn-icon { background: rgba(0,0,0,0.08); }
.hero-slider .btn-secondary { color: #fff; border-color: rgba(255,255,255,0.3); }
.hero-slider .btn-secondary:hover { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.5); }
.slide-caption { position: absolute; left: 50%; transform: translateX(-50%); bottom: 36px; z-index: 2; display: flex; align-items: center; justify-content: space-between; width: 100%; }
#slide-car { font-size: 10px; letter-spacing: .2em; text-transform: uppercase; color: rgba(255,255,255,0.7); text-decoration: none; padding: 10px 16px; border: 1px solid rgba(255,255,255,0.2); border-radius: 999px; backdrop-filter: blur(8px); transition: color .3s, border-color .3s; }
#slide-car:hover { color: #fff; border-color: rgba(255,255,255,0.5); }
.slide-dots { display: flex; gap: 8px; }
.slide-dots button { width: 28px; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.3); border: none; cursor: pointer; padding: 0; transition: background .4s, width .4s var(--ease-out); }
.slide-dots button.active { background: #fff; width: 44px; }
nav:not(.scrolled) .nav-logo img { filter: brightness(0) invert(1); }
nav:not(.scrolled) .nav-links a { color: rgba(255,255,255,0.8); }
nav:not(.scrolled) .nav-links a:hover { color: #fff; }
nav:not(.scrolled) .tt-opt { color: rgba(255,255,255,0.6); }
nav:not(.scrolled) .theme-toggle { background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.15); }
[data-theme="summer"] nav:not(.scrolled) .nav-cta { background: #fff !important; color: #111 !important; }
[data-theme="summer"] nav:not(.scrolled) .tt-knob { background: #fff; }
[data-theme="summer"] nav:not(.scrolled) .tt-opt[data-t="summer"] { color: #111; }
nav:not(.scrolled) .nav-hamburger span { background: #fff; }
/* inner pages have no slider: keep nav readable at top */
body:not(.has-slider) nav:not(.scrolled) .nav-logo img { filter: none; }
[data-theme="winter"] body:not(.has-slider) nav:not(.scrolled) .nav-logo img, [data-theme="winter"] nav:not(.scrolled) .nav-logo img { filter: brightness(0) invert(1); }
body:not(.has-slider) nav:not(.scrolled) .nav-links a { color: var(--text-dim); }
body:not(.has-slider) nav:not(.scrolled) .tt-opt { color: var(--text-muted); }
body:not(.has-slider) nav:not(.scrolled) .theme-toggle { background: rgba(28,24,20,0.07); border-color: var(--border-subtle); }
[data-theme="summer"] body:not(.has-slider) nav:not(.scrolled) .nav-cta { background: var(--text) !important; color: #f7f3ec !important; }
[data-theme="summer"] body:not(.has-slider) nav:not(.scrolled) .tt-knob { background: var(--text); }
[data-theme="summer"] body:not(.has-slider) nav:not(.scrolled) .tt-opt[data-t="summer"] { color: #f7f3ec; }
body:not(.has-slider) nav:not(.scrolled) .nav-hamburger span { background: var(--text); }
@media (max-width: 768px) { .hero-slider { padding-bottom: 110px; align-items: flex-end; } .slide img { object-position: 60% center; } .slide-caption { bottom: 24px; padding: 0 20px; } .hero-slider h1 { font-size: clamp(38px, 10vw, 56px); } }
.slide img { object-position: 70% 55%; }
.slide-scrim { background: linear-gradient(to right, rgba(6,6,6,0.92) 0%, rgba(6,6,6,0.78) 30%, rgba(6,6,6,0.35) 55%, rgba(6,6,6,0.05) 80%), linear-gradient(to top, rgba(6,6,6,0.85) 0%, rgba(6,6,6,0.2) 45%, rgba(6,6,6,0.15) 100%); }
.hero-slider h1 { font-size: clamp(40px, 5.4vw, 78px); }
.hero-slider .hero-text { max-width: 640px; }
.hero-slider .hero-sub { max-width: 440px; }
.hero-slider { padding-bottom: 120px; }
@media (max-width: 768px) { .slide-scrim { background: linear-gradient(to top, rgba(6,6,6,0.92) 0%, rgba(6,6,6,0.75) 45%, rgba(6,6,6,0.25) 75%, rgba(6,6,6,0.2) 100%); } .slide img { object-position: 65% 40%; } }
.slides { z-index: 0; }
.slide-scrim { z-index: 1; pointer-events: none; }
.hero-slider .hero-content, .slide-caption { z-index: 2; }
[data-theme="summer"] .hero-slider h1, [data-theme="winter"] .hero-slider h1, .hero-slider h1 { color: #fff; }
[data-theme="summer"] .hero-slider h1 em { color: var(--gold-light); }
#slide-car { white-space: nowrap; }
@media (max-width: 768px) { .slide-caption { flex-direction: column; align-items: flex-start; gap: 14px; } .slide-dots button { width: 20px; } .slide-dots button.active { width: 32px; } }

/* ── Fraunces tuning + lighter scrim ── */
h1, h2, h3, h4, .fleet-card-name, .stat-num, .car-spec-value, .car-sidebar-price, .hero-stat-num, .how-step h3, .review-text, .faq-question, .aex-cal-title, .about-sidebar-info h4 { font-family: 'Fraunces', serif; font-weight: 500; letter-spacing: -0.015em; font-variation-settings: "opsz" 144, "SOFT" 30; }
.hero-slider h1 { font-weight: 500; text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
.hero-slider h1 em { font-weight: 500; }
.fleet-card-name { font-weight: 500; }
.review-text { font-weight: 400; font-size: 17px; }
.slide-scrim { background: linear-gradient(to right, rgba(6,6,6,0.82) 0%, rgba(6,6,6,0.6) 30%, rgba(6,6,6,0.22) 55%, rgba(6,6,6,0) 80%), linear-gradient(to top, rgba(6,6,6,0.7) 0%, rgba(6,6,6,0.12) 45%, rgba(6,6,6,0.08) 100%); }
@media (max-width: 768px) { .slide-scrim { background: linear-gradient(to top, rgba(6,6,6,0.88) 0%, rgba(6,6,6,0.62) 45%, rgba(6,6,6,0.18) 75%, rgba(6,6,6,0.15) 100%); } }

/* ── Page hero (FAQ / Enquiries) ── */
.page-hero { position: relative; min-height: 58vh; display: flex; align-items: flex-end; padding: 140px 0 64px; overflow: hidden; }
.page-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.page-hero-scrim { position: absolute; inset: 0; background: linear-gradient(to right, rgba(6,6,6,0.82) 0%, rgba(6,6,6,0.55) 35%, rgba(6,6,6,0.15) 70%, rgba(6,6,6,0) 100%), linear-gradient(to top, rgba(6,6,6,0.75) 0%, rgba(6,6,6,0.1) 50%, rgba(6,6,6,0.15) 100%); }
.page-hero-content { position: relative; z-index: 2; }
.page-hero h1 { color: #fff; font-size: clamp(40px, 5.6vw, 80px); text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
.page-hero .eyebrow { color: var(--gold-light); border-color: rgba(255,255,255,0.25); }
/* car hero: white text over photo, both themes */
.car-hero .eyebrow { color: var(--gold-light); border-color: rgba(255,255,255,0.25); }
[data-theme="summer"] .car-hero h1, .car-hero h1 { color: #fff; text-shadow: 0 2px 24px rgba(0,0,0,0.35); }
[data-theme="summer"] .car-hero h1 em { color: var(--gold-light) !important; }
[data-theme="summer"] .car-hero p, .car-hero p { color: rgba(255,255,255,0.8) !important; }
[data-theme="summer"] .car-hero a { color: rgba(255,255,255,0.7) !important; }
[data-theme="summer"] .car-hero-gradient { background: linear-gradient(to right, rgba(6,6,6,0.8) 0%, rgba(6,6,6,0.5) 35%, rgba(6,6,6,0.1) 70%, rgba(6,6,6,0) 100%), linear-gradient(to top, #f7f3ec 0%, rgba(6,6,6,0.0) 18%, rgba(6,6,6,0.15) 100%); }
.car-hero-gradient { background: linear-gradient(to right, rgba(6,6,6,0.8) 0%, rgba(6,6,6,0.5) 35%, rgba(6,6,6,0.1) 70%, rgba(6,6,6,0) 100%), linear-gradient(to top, var(--black) 0%, rgba(6,6,6,0) 18%, rgba(6,6,6,0.15) 100%); }
[data-theme="summer"] .car-hero-bg img { opacity: 1; }
.page-hero .container { width: 100%; }

.slide-trio img { object-position: center center; }
.page-hero img[src*="trio"] { object-position: center center; }
.slide img, .page-hero img, .car-hero-bg img { opacity: 0.72 !important; }
.hero-slider, .page-hero, .car-hero { background: #0a0a0a; }
.nav-logo img { height: 72px; }
