/* ============================================================
   MODERN DESIGN — Les Routes de l'Ouzbékistan
   Thème blanc · Animations fluides · Fonds clairs
   ============================================================ */

:root {
  --dark:     #0e1612;
  --dark-2:   #111a15;
  --dark-3:   #1a2820;
  --gold:     #c9a227;
  --gold-lt:  #e4c054;
  --cream-r:  #faf6ef;
  --cream-d:  #f2ebe0;
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

body.homepage { padding-top: 0; }

/* ============================================================
   CURSOR
   ============================================================ */
.cursor {
  width: 40px; height: 40px;
  border: 1.5px solid rgba(14,22,18,0.35);
  border-radius: 50%;
  position: fixed; top: 0; left: 0;
  pointer-events: none; z-index: 9998;
  transform: translate(-20px,-20px);
  transition: width .35s var(--ease-out), height .35s var(--ease-out),
              border-color .3s, opacity .3s;
  mix-blend-mode: multiply;
  will-change: transform;
}
.cursor.hover { width: 68px; height: 68px; border-color: var(--gold); }
.cursor-dot {
  width: 5px; height: 5px;
  background: var(--gold); border-radius: 50%;
  position: fixed; top: 0; left: 0;
  pointer-events: none; z-index: 9999;
  transform: translate(-2.5px,-2.5px);
  will-change: transform;
}
/* On dark hero bg: switch to white blend */
.cursor--hero { border-color: rgba(255,255,255,0.55); mix-blend-mode: difference; }
.cursor-dot--hero { background: #fff; mix-blend-mode: difference; }
@media (hover: none) { .cursor, .cursor-dot { display: none; } }

/* ============================================================
   SCROLL PROGRESS
   ============================================================ */
.scroll-progress {
  position: fixed; top: 0; left: 0; right: 0;
  height: 2px; background: var(--gold);
  transform-origin: left; transform: scaleX(0);
  z-index: 9999; pointer-events: none;
}

/* ============================================================
   REVEAL ANIMATIONS
   ============================================================ */
[data-reveal] {
  opacity: 0; transform: translateY(36px);
  transition: opacity .9s var(--ease-out), transform .9s var(--ease-out);
  transition-delay: var(--delay, 0s);
}
[data-reveal].is-vis { opacity: 1; transform: none; }

[data-stagger] > * {
  opacity: 0; transform: translateY(30px);
  transition: opacity .8s var(--ease-out), transform .8s var(--ease-out);
}
[data-stagger].is-vis > *:nth-child(1) { opacity:1;transform:none;transition-delay:.05s }
[data-stagger].is-vis > *:nth-child(2) { opacity:1;transform:none;transition-delay:.15s }
[data-stagger].is-vis > *:nth-child(3) { opacity:1;transform:none;transition-delay:.25s }
[data-stagger].is-vis > *:nth-child(4) { opacity:1;transform:none;transition-delay:.35s }
[data-stagger].is-vis > *:nth-child(5) { opacity:1;transform:none;transition-delay:.45s }
[data-stagger].is-vis > *:nth-child(6) { opacity:1;transform:none;transition-delay:.55s }

/* Word-by-word text reveal */
.line-mask { display: block; overflow: hidden; line-height: 1.1; }
.line-mask [data-wrev] {
  display: block;
  transform: translateY(110%);
  transition: transform 1s var(--ease-out);
  transition-delay: var(--delay, 0s);
}
.hero-v2.is-ready .line-mask [data-wrev] { transform: none; }

/* ============================================================
   HERO V2 — full viewport avec carousel
   ============================================================ */
.hero-v2 {
  position: relative;
  height: 100svh; min-height: 580px;
  display: flex; align-items: flex-end;
  overflow: hidden; color: #fff;
}

/* --- Carousel de slides --- */
.hero-v2 .hero-carousel {
  position: absolute; inset: 0; z-index: 0;
}
.hero-v2 .hero-slide {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  opacity: 0;
  transition: opacity 1.6s ease;
  transform: scale(1.06);
  transition: opacity 1.6s ease, transform 7s ease;
}
.hero-v2 .hero-slide.active {
  opacity: 1; transform: scale(1);
}

/* Fallback unique bg (non-carousel) */
.hero-v2__bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  will-change: transform;
  transition: transform .05s linear;
}

.hero-v2__overlay {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(
    170deg,
    rgba(8,14,10,.15) 0%,
    rgba(8,14,10,.38) 45%,
    rgba(8,14,10,.85) 100%
  );
}
.hero-v2__content {
  position: relative; z-index: 2;
  max-width: 1200px; width: 100%;
  margin: 0 auto; padding: 0 48px 88px;
}
.hero-v2__eyebrow {
  display: block;
  font-size: .72rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 22px;
  opacity: 0;
}
.hero-v2.is-ready .hero-v2__eyebrow { opacity: 1; transition: opacity .8s var(--ease-out) .05s; }

.hero-v2__title {
  font-family: var(--font-titres);
  font-size: clamp(3.8rem, 7.5vw, 7.8rem);
  font-weight: 900; line-height: 1.02;
  margin: 0 0 30px; color: #fff;
  text-shadow: 0 2px 40px rgba(0,0,0,.22);
}
.hero-v2__title em { font-style: italic; color: var(--gold); }

.hero-v2__sub {
  font-size: clamp(.95rem, 1.4vw, 1.2rem);
  color: rgba(255,255,255,.78);
  max-width: 550px; margin: 0 0 42px; line-height: 1.65;
  opacity: 0;
}
.hero-v2.is-ready .hero-v2__sub { opacity: 1; transition: opacity .9s var(--ease-out) .6s; }

.hero-v2__cta { display: flex; gap: 14px; flex-wrap: wrap; opacity: 0; }
.hero-v2.is-ready .hero-v2__cta { opacity: 1; transition: opacity .8s var(--ease-out) .82s; }

/* Boutons */
.btn-v2 {
  display: inline-block; padding: 15px 38px;
  background: var(--gold); color: var(--dark);
  font-weight: 700; font-size: .9rem; letter-spacing: .04em;
  border-radius: 999px; text-decoration: none;
  transition: transform .22s, box-shadow .22s, background .22s;
}
.btn-v2:hover {
  background: var(--gold-lt); color: var(--dark);
  transform: translateY(-3px);
  box-shadow: 0 14px 36px rgba(201,162,39,.38);
}
.btn-v2-ghost {
  display: inline-block; padding: 14px 36px;
  border: 1.5px solid rgba(255,255,255,.52); color: #fff;
  font-weight: 600; font-size: .9rem;
  border-radius: 999px; text-decoration: none;
  backdrop-filter: blur(4px);
  transition: background .22s, border-color .22s, transform .22s;
}
.btn-v2-ghost:hover {
  background: rgba(255,255,255,.14);
  border-color: rgba(255,255,255,.9); color: #fff;
  transform: translateY(-2px);
}
.btn-v2-dark {
  display: inline-block; padding: 14px 36px;
  border: 1.5px solid rgba(14,22,18,.25); color: var(--dark);
  font-weight: 600; font-size: .9rem;
  border-radius: 999px; text-decoration: none;
  transition: background .22s, color .22s, border-color .22s, transform .22s;
}
.btn-v2-dark:hover {
  background: var(--dark); color: #fff;
  border-color: var(--dark);
  transform: translateY(-2px);
}

/* Scroll indicator */
.hero-v2__scroll {
  position: absolute; bottom: 38px; right: 50px; z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  color: rgba(255,255,255,.42);
  font-size: .65rem; letter-spacing: .18em; text-transform: uppercase;
}
.hero-v2__scroll-line {
  width: 1px; height: 56px;
  background: linear-gradient(to bottom, rgba(255,255,255,.5), transparent);
  animation: scrollPulse 2.2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%   { transform: scaleY(0); transform-origin: top; opacity: 1; }
  50%  { transform: scaleY(1); transform-origin: top; }
  51%  { transform-origin: bottom; }
  100% { transform: scaleY(0); transform-origin: bottom; opacity: 0; }
}

/* Dots carousel */
.hero-dots {
  position: absolute; bottom: 44px; left: 50%; transform: translateX(-50%);
  z-index: 3; display: flex; gap: 8px;
}
.hero-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.35);
  cursor: pointer; border: none; padding: 0;
  transition: background .3s, transform .3s;
}
.hero-dot.active { background: var(--gold); transform: scale(1.4); }

/* ============================================================
   HEADER — transparent sur hero, blanc au scroll
   ============================================================ */
.site-header--hero {
  position: fixed !important; top: 0; left: 0; right: 0;
  background: transparent !important;
  border-bottom-color: transparent !important;
  transition: background .4s ease, backdrop-filter .4s ease, border-color .4s ease;
  z-index: 200;
}
.site-header--hero .logo-img {
  filter: drop-shadow(0 1px 12px rgba(0,0,0,.45));
  height: 64px; width: auto;
}
.site-header--hero .nav-links a { color: rgba(255,255,255,.85); }
.site-header--hero .nav-links a:hover,
.site-header--hero .nav-links a.active { color: var(--gold); }
.site-header--hero .nav-cta {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.site-header--hero .nav-toggle { color: #fff; }
.site-header--hero .lang-switch { background: rgba(255,255,255,.12); }
.site-header--hero .lang-switch a { color: rgba(255,255,255,.7); }
.site-header--hero .lang-switch a.active { background: rgba(255,255,255,.22); color:#fff; }

/* Scrolled → fond BLANC avec texte sombre */
.site-header--hero.scrolled {
  background: rgba(255,255,255,.97) !important;
  backdrop-filter: blur(22px) !important;
  border-bottom-color: rgba(0,0,0,.07) !important;
  box-shadow: 0 2px 24px rgba(0,0,0,.06) !important;
}
.site-header--hero.scrolled .logo-img {
  filter: none;
}
.site-header--hero.scrolled .nav-links a { color: var(--encre, #142621); }
.site-header--hero.scrolled .nav-links a:hover,
.site-header--hero.scrolled .nav-links a.active { color: var(--gold); }
.site-header--hero.scrolled .nav-cta {
  background: var(--gold) !important;
  color: var(--dark) !important;
  border-color: transparent !important;
}
.site-header--hero.scrolled .nav-toggle { color: var(--encre, #142621); }
.site-header--hero.scrolled .lang-switch { background: rgba(0,0,0,.06); }
.site-header--hero.scrolled .lang-switch a { color: rgba(0,0,0,.55); }
.site-header--hero.scrolled .lang-switch a.active { background: rgba(0,0,0,.1); color:var(--dark); }

.site-header--hero .nav-links.open {
  background: #fff !important;
  border-bottom-color: rgba(0,0,0,.08) !important;
}
.site-header--hero .nav-links.open a { color: var(--encre, #142621); }
.site-header--hero .nav-links.open a:hover { color: var(--gold); }

/* ============================================================
   STATS BAR — fond blanc
   ============================================================ */
.stats-bar {
  background: #fff;
  display: grid; grid-template-columns: repeat(4,1fr);
  border-top: 1px solid rgba(0,0,0,.05);
  border-bottom: 1px solid rgba(0,0,0,.05);
}
.stats-bar__item {
  padding: 40px 28px; text-align: center;
  border-right: 1px solid rgba(0,0,0,.06);
}
.stats-bar__item:last-child { border-right: none; }
.stats-bar__num {
  display: block;
  font-family: var(--font-titres);
  font-size: clamp(2.2rem, 3.5vw, 3.2rem);
  font-weight: 900; color: var(--gold); line-height: 1;
  margin-bottom: 9px;
}
.stats-bar__label {
  font-size: .75rem; color: rgba(0,0,0,.38);
  text-transform: uppercase; letter-spacing: .12em;
}

/* ============================================================
   SECTION V2 — générique fond BLANC
   ============================================================ */
.section-v2 { padding: 100px 0; background: #fff; }
.section-v2--cream { background: var(--cream-r); }
.section-v2--dark { background: var(--cream-d); }  /* "dark" devient crème profond */
.section-v2__head { margin-bottom: 56px; }
.label-v2 {
  display: inline-block; font-size: .7rem; font-weight: 700;
  letter-spacing: .2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 14px;
}
.title-v2 {
  font-family: var(--font-titres);
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 800; line-height: 1.1; margin: 0;
  color: var(--dark);
}

/* ============================================================
   DESTINATION CARDS V2
   ============================================================ */
.dest-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 3px; }
.dest-card-v2 {
  position: relative; overflow: hidden;
  text-decoration: none; display: block; height: 500px;
}
.dest-card-v2:first-child { border-radius: 12px 0 0 12px; }
.dest-card-v2:last-child  { border-radius: 0 12px 12px 0; }

.dest-card-v2__img {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.04);
  transition: transform .85s var(--ease-out);
}
.dest-card-v2:hover .dest-card-v2__img { transform: scale(1.11); }

.dest-card-v2__info {
  position: absolute; inset: 0; padding: 28px 26px;
  background: linear-gradient(0deg,
    rgba(8,14,10,.92) 0%,
    rgba(8,14,10,.22) 55%,
    transparent 100%);
  display: flex; flex-direction: column; justify-content: flex-end;
  transition: background .45s;
}
.dest-card-v2:hover .dest-card-v2__info {
  background: linear-gradient(0deg,
    rgba(8,14,10,.96) 0%,
    rgba(8,14,10,.65) 60%,
    rgba(8,14,10,.22) 100%);
}
.dest-card-v2__tag {
  font-size: .64rem; letter-spacing: .16em;
  text-transform: uppercase; font-weight: 700;
  color: var(--gold); margin-bottom: 7px;
}
.dest-card-v2 h3 { color: #fff; font-size: 1.85rem; font-weight: 800; margin: 0 0 8px; }
.dest-card-v2 p {
  color: rgba(255,255,255,.7); font-size: .88rem; line-height: 1.5;
  margin: 0 0 14px;
  max-height: 0; overflow: hidden; opacity: 0;
  transition: max-height .5s var(--ease-out), opacity .4s;
}
.dest-card-v2:hover p { max-height: 80px; opacity: 1; }
.dest-card-v2__link {
  color: var(--gold); font-weight: 700; font-size: .82rem;
  opacity: 0; transform: translateX(-10px);
  transition: opacity .3s, transform .3s;
  display: inline-block;
}
.dest-card-v2:hover .dest-card-v2__link { opacity: 1; transform: none; }

/* ============================================================
   FEATURE SECTIONS — alternées fond blanc / crème
   ============================================================ */
.feature-v2 {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 580px;
}
.feature-v2--rev .feature-v2__img  { order: 2; }
.feature-v2--rev .feature-v2__text { order: 1; }

.feature-v2__img { position: relative; overflow: hidden; min-height: 480px; }
.feature-v2__img-inner {
  position: absolute; inset: -18% 0;
  background-size: cover; background-position: center;
  will-change: transform;
}
.feature-v2__text {
  display: flex; flex-direction: column; justify-content: center;
  padding: 80px 72px; background: #fff;
}
.feature-v2--dark .feature-v2__text { background: var(--cream-r); }

.num-big {
  font-family: var(--font-titres); font-size: 4.5rem; font-weight: 900;
  line-height: 1; color: rgba(0,0,0,.05); margin-bottom: -8px;
}
.feature-v2__text h2 {
  font-size: clamp(1.7rem, 2.4vw, 2.5rem);
  margin-bottom: 20px; line-height: 1.2; color: var(--dark);
}
.feature-v2__text p {
  color: #58695f; line-height: 1.78;
  margin-bottom: 30px; max-width: 440px;
}
.feature-link {
  display: inline-flex; align-items: center; gap: 8px;
  color: var(--gold); font-weight: 700; font-size: .88rem;
  text-decoration: none; transition: gap .25s;
}
.feature-link:hover { gap: 16px; color: var(--gold); }

/* ============================================================
   ITINERARY CARDS V2 — fond blanc
   ============================================================ */
.itin-grid-v2 { display: flex; flex-direction: column; gap: 10px; }
.itin-card-v2 {
  display: grid; grid-template-columns: 80px 1fr 260px;
  align-items: stretch; overflow: hidden; border-radius: 12px;
  border: 1px solid rgba(0,0,0,.09);
  text-decoration: none; color: var(--dark);
  background: #fff;
  transition: background .3s, border-color .3s, transform .35s var(--ease-out),
              box-shadow .35s var(--ease-out);
}
.itin-card-v2:hover {
  background: #fdfaf5;
  border-color: var(--gold);
  transform: translateX(6px);
  box-shadow: 0 8px 32px rgba(201,162,39,.14);
}
.itin-card-v2__num {
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-titres); font-size: 1.4rem; font-weight: 900;
  color: rgba(0,0,0,.1);
  padding: 24px 16px;
  border-right: 1px solid rgba(0,0,0,.08);
}
.itin-card-v2__body { padding: 26px 32px; }
.badge-v2 {
  display: inline-block; background: var(--gold); color: var(--dark);
  font-size: .67rem; font-weight: 800; letter-spacing: .1em;
  text-transform: uppercase; padding: 4px 12px;
  border-radius: 999px; margin-bottom: 10px;
}
.itin-card-v2 h3 { color: var(--dark); font-size: 1.25rem; margin-bottom: 6px; }
.itin-card-v2 p  { color: #58695f; font-size: .88rem; margin: 0; }
.itin-card-v2__img {
  background-size: cover; background-position: center;
  transition: transform .7s var(--ease-out);
}
.itin-card-v2:hover .itin-card-v2__img { transform: scale(1.06); }

/* section--dark itinerary variant */
.section-v2--dark .itin-card-v2 {
  background: #fff;
  border-color: rgba(0,0,0,.08);
  color: var(--dark);
}
.section-v2--dark .itin-card-v2 h3 { color: var(--dark); }
.section-v2--dark .itin-card-v2 p  { color: #58695f; }

/* ============================================================
   BLOG CARDS V2
   ============================================================ */
.blog-grid-v2 { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.blog-card-v2 { text-decoration: none; color: var(--encre, #142621); display: block; }
.blog-card-v2__img {
  height: 225px; border-radius: 10px; overflow: hidden;
  position: relative; margin-bottom: 18px;
}
.blog-card-v2__img-inner {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transition: transform .7s var(--ease-out);
}
.blog-card-v2:hover .blog-card-v2__img-inner { transform: scale(1.07); }
.blog-card-v2__tag {
  font-size: .65rem; letter-spacing: .15em;
  text-transform: uppercase; font-weight: 700;
  color: var(--gold); margin-bottom: 7px; display: block;
}
.blog-card-v2 h3 { font-size: 1.1rem; margin-bottom: 7px; transition: color .2s; }
.blog-card-v2:hover h3 { color: var(--gold); }
.blog-card-v2 p { font-size: .86rem; color: #58695f; margin: 0; }

/* ============================================================
   NEWSLETTER V2 — fond crème + or
   ============================================================ */
.newsletter-v2 {
  background: linear-gradient(135deg, #faf3e0 0%, #f5e8c0 100%);
  padding: 110px 24px; text-align: center; color: var(--dark);
  border-top: 1px solid rgba(201,162,39,.2);
  border-bottom: 1px solid rgba(201,162,39,.2);
}
.newsletter-v2 blockquote {
  font-family: var(--font-titres);
  font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 800; font-style: italic;
  color: var(--dark); margin: 0 auto 18px;
  max-width: 800px; line-height: 1.2;
}
.newsletter-v2 blockquote em { color: var(--gold); font-style: normal; }
.newsletter-v2 > div > p { color: rgba(0,0,0,.5); max-width: 480px; margin: 0 auto 38px; }
.newsletter-v2__form {
  display: flex; gap: 12px; justify-content: center;
  max-width: 480px; margin: 0 auto; flex-wrap: wrap;
}
.newsletter-v2__input {
  flex: 1; min-width: 200px; padding: 14px 22px;
  background: rgba(255,255,255,.8); border: 1px solid rgba(0,0,0,.15);
  border-radius: 999px; color: var(--dark); font-size: .9rem;
  outline: none; font-family: var(--font-texte);
  transition: border-color .2s, box-shadow .2s;
}
.newsletter-v2__input::placeholder { color: rgba(0,0,0,.3); }
.newsletter-v2__input:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(201,162,39,.15); }

/* ============================================================
   FOOTER V2 — fond sombre (seul élément qui reste sombre)
   ============================================================ */
.footer-v2 {
  background: #0d1511; color: rgba(255,255,255,.45);
  padding: 72px 0 28px;
}
.footer-v2__inner { max-width: 1180px; margin: 0 auto; padding: 0 24px; }
.footer-v2__grid {
  display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr;
  gap: 48px; margin-bottom: 52px;
}
.footer-v2__logo {
  font-family: var(--font-titres); font-size: 1.45rem; font-weight: 800;
  color: #fff; display: block; margin-bottom: 14px;
}
.footer-v2__logo em { color: var(--gold); font-style: normal; }
.footer-v2 p { font-size: .85rem; line-height: 1.6; }
.footer-v2 h4 {
  color: #fff; font-size: .72rem; letter-spacing: .16em;
  text-transform: uppercase; margin-bottom: 16px; font-weight: 700;
}
.footer-v2 ul { list-style: none; padding: 0; margin: 0; }
.footer-v2 li { margin-bottom: 10px; }
.footer-v2 a { color: rgba(255,255,255,.42); font-size: .86rem; transition: color .2s; text-decoration: none; }
.footer-v2 a:hover { color: var(--gold); }
.footer-v2__bottom {
  border-top: 1px solid rgba(255,255,255,.07);
  padding-top: 24px; display: flex;
  justify-content: space-between; font-size: .75rem;
  color: rgba(255,255,255,.25);
}

/* ============================================================
   PAGE INNER HERO — pour les pages intérieures
   ============================================================ */
.page-hero-v2 {
  position: relative;
  height: 58vh; min-height: 420px; max-height: 640px;
  display: flex; align-items: flex-end; overflow: hidden; color: #fff;
}
.page-hero-v2__bg {
  position: absolute; inset: 0;
  background-size: cover; background-position: center;
  transform: scale(1.04);
  transition: transform .05s linear;
}
.page-hero-v2__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg,
    rgba(8,14,10,.12) 0%,
    rgba(8,14,10,.38) 45%,
    rgba(8,14,10,.82) 100%
  );
}
.page-hero-v2__content {
  position: relative; z-index: 2;
  max-width: 1200px; width: 100%; margin: 0 auto;
  padding: 0 48px 64px;
}
.page-hero-v2__eyebrow {
  display: block; font-size: .7rem; font-weight: 700;
  letter-spacing: .22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.page-hero-v2 h1 {
  font-family: var(--font-titres);
  font-size: clamp(2.4rem, 5vw, 5rem);
  font-weight: 900; line-height: 1.05;
  margin: 0 0 20px; color: #fff;
  text-shadow: 0 2px 30px rgba(0,0,0,.2);
}
.page-hero-v2 .lead {
  font-size: clamp(.9rem, 1.3vw, 1.1rem);
  color: rgba(255,255,255,.75); max-width: 560px; margin: 0;
}

/* Upgrade du .hero.hero-small existant pour les pages intérieures */
.hero.hero-small {
  display: flex; align-items: flex-end !important;
  min-height: 420px !important;
  padding: 0 !important;
  background-size: cover !important; background-position: center !important;
}
.hero.hero-small .hero-content,
.hero.hero-small .container.hero-content {
  padding: 0 48px 64px !important;
  max-width: 1200px; width: 100%;
}
.hero.hero-small .eyebrow { color: var(--gold) !important; }
.hero.hero-small h1 {
  font-size: clamp(2.4rem, 5vw, 4.5rem) !important;
  font-weight: 900 !important;
  text-shadow: 0 2px 30px rgba(0,0,0,.2);
}
.hero.hero-small .lead { max-width: 560px !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 960px) {
  .hero-v2__content { padding: 0 28px 68px; }
  .hero-v2__scroll { right: 28px; bottom: 28px; }
  .stats-bar { grid-template-columns: 1fr 1fr; }
  .stats-bar__item:nth-child(2) { border-right: none; }
  .dest-grid { grid-template-columns: 1fr; gap: 4px; }
  .dest-card-v2 { height: 340px; border-radius: 12px !important; }
  .feature-v2 { grid-template-columns: 1fr; }
  .feature-v2--rev .feature-v2__img,
  .feature-v2--rev .feature-v2__text { order: unset; }
  .feature-v2__img { min-height: 320px; }
  .feature-v2__text { padding: 52px 36px; }
  .itin-card-v2 { grid-template-columns: 64px 1fr; }
  .itin-card-v2__img { display: none; }
  .blog-grid-v2 { grid-template-columns: 1fr 1fr; }
  .footer-v2__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
  .page-hero-v2__content { padding: 0 28px 48px; }
  .hero.hero-small .hero-content,
  .hero.hero-small .container.hero-content { padding: 0 28px 48px !important; }
}
@media (max-width: 600px) {
  .hero-v2__title { font-size: clamp(2.8rem, 11vw, 3.8rem); }
  .stats-bar { grid-template-columns: 1fr 1fr; }
  .blog-grid-v2 { grid-template-columns: 1fr; }
  .footer-v2__grid { grid-template-columns: 1fr; }
  .section-v2 { padding: 72px 0; }
  .feature-v2__text { padding: 44px 24px; }
  .itin-card-v2__body { padding: 20px 20px; }
  .page-hero-v2 { min-height: 340px; }
}
