/* HOME FINAL 1:3. Shared cards, How it works, typography and colors come from v2. */
.home-hero { position: relative; isolation: isolate; background: var(--color-black); color: var(--color-white); }
.home-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: linear-gradient(to bottom, transparent 30.36%, var(--color-black)); }
.home-hero__img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero__inner {
  display: grid; grid-template-columns: minmax(0, 1fr) 210px; align-items: end; gap: 50px;
  min-height: 924px; padding: 360px 80px 140px max(var(--container-padding), 11.37vw);
}
.home-hero__title { max-width: 900px; margin: 0; font-size: var(--h1-xl-size); line-height: var(--h1-xl-line); }
.home-hero__subtitle { margin: 12px 0 60px; font-size: 24px; line-height: 26px; font-weight: 600; text-transform: uppercase; }
.home-hero__bar { margin: 0; }
.home-hero__countries { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.home-hero__countries a { display: block; padding: 8px 20px; border: 1px solid var(--color-glass-line); border-radius: var(--radius-pill); font-size: 14px; line-height: 19px; text-decoration: none; }
.home-hero__countries a:hover { background: var(--color-glass-fill); color: var(--link-hover-on-dark); }
.home-hero__facts { display: grid; gap: 22px; margin: 0; text-align: right; }
.home-hero__facts dt { font-size: 24px; line-height: 28px; font-weight: 600; }
.home-hero__facts dd { margin: 3px 0 0; font-size: 16px; line-height: 26px; }
.home-hero__press { position: absolute; bottom: 35px; left: 20px; right: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 18px 30px; margin: 0; padding: 0; list-style: none; }
.home-hero__press img { width: auto; height: 22px; }

.home-sand { background: var(--color-sand); }
.home-destinations { padding-top: var(--space-section); }
.home-destinations__title { max-width: 1000px; margin: 0 auto 69px; text-align: center; font-size: var(--h1-size); line-height: var(--h1-line); }
.home-destinations .dest-card { align-items: center; justify-content: center; aspect-ratio: 359 / 500; }
.home-destinations .dest-card::after { background: var(--color-image-dim); }
.home-destinations .dest-card__name { font-family: var(--font-body); font-size: 30px; line-height: 40px; font-weight: 700; }

.home-section { padding-block: 130px 0; }
.home-themes__intro { margin: -12px 0 57px; font-size: 20px; line-height: 30px; }
.home-theme { position: relative; display: flex; align-items: flex-end; aspect-ratio: 482 / 569; padding: 25px 30px; overflow: hidden; background: var(--color-charcoal); color: var(--color-white); text-decoration: none; }
.home-theme::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 50%, var(--color-black)); }
.home-theme__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-theme__img--history { object-position: 31.36% center; }
.home-theme__img--active { object-position: 26.45% center; }
.home-theme__name { position: relative; z-index: 1; font: 400 var(--h3-size)/var(--h3-line) var(--font-display); text-transform: uppercase; }
.home-journeys { padding-top: 165px; }
.home-journeys__intro { max-width: 579px; margin-bottom: 73px; }
.home-reviews { padding-block: 190px; }
.home-reviews .review-card__text, .home-reviews .review-card__by { padding-inline: 15px; }

.home-instagram { padding-block: 110px; background: var(--color-sand); text-align: center; }
.home-instagram__eyebrow { margin-bottom: 10px; }
.home-instagram__title { margin-bottom: 33px; font-size: var(--h1-size); line-height: var(--h1-line); }
.home-instagram__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 326px), 1fr)); gap: 18px; align-items: start; max-width: 1136px; margin: 0 auto 57px; }
.home-instagram__post { min-width: 0; }
/* Instagram's own embed snippet: fill the column (326-540px wide), height set by embed.js to fit. */
.home-instagram__post .instagram-media { width: calc(100% - 2px) !important; max-width: 540px !important; margin: 0 auto !important; }
.home-instagram__follow { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 54px; padding: 15px 30px; border-radius: var(--radius-pill); background: linear-gradient(to right, var(--color-ig-violet), var(--color-ig-orange)); color: var(--color-white); font-size: 14px; font-weight: 600; text-decoration: none; }
.home-instagram__follow:hover { color: var(--color-white); }
.home-instagram__follow .icon { width: 24px; height: 24px; }

@media (max-width: 1199.98px) {
  .home-hero__inner { gap: 30px; padding-left: 60px; padding-top: 280px; }
  .home-hero__title { font-size: 68px; }
  .home-hero__subtitle { font-size: 20px; }
  .home-hero__bar .trip-plan-bar__cta { flex-basis: 170px; }
}
@media (max-width: 991.98px) {
  .home-hero__inner { min-height: 0; grid-template-columns: minmax(0, 1fr); gap: 40px; padding: 220px 45px 45px 20px; }
  .home-hero__title { max-width: 750px; font-size: var(--h1-xl-size); }
  .home-hero__subtitle { margin-bottom: 40px; }
  .home-hero__facts { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; text-align: left; }
  .home-hero__facts dt { font-size: 20px; }
  .home-hero__facts dd { font-size: 14px; line-height: 22px; }
  .home-hero__press { position: static; padding: 0 45px 30px 20px; gap: 20px; }
  .home-hero__press img { height: 17px; }
  .home-destinations { padding-top: var(--space-60); }
  .home-destinations__title { margin-bottom: 40px; }
  .home-destinations .dest-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-destinations .dest-card__name { font-size: 28px; }
  .home-section { padding-top: var(--space-60); }
  .home-section .container, .home-destinations .container { padding-inline: 20px; }
  .home-themes__intro { margin-bottom: 30px; font-size: 16px; line-height: 24px; }
  .home-themes .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-theme { padding: 20px; }
  .home-theme__name { font-size: 28px; }
  .home-journeys__intro { margin-bottom: 40px; }
  .home-reviews { padding-bottom: var(--space-60); }
  .home-instagram { padding-block: var(--space-60); }
  .home-instagram .container { padding-inline: 20px; }
}
@media (max-width: 575.98px) {
  .home-hero__inner { padding-top: 180px; }
  .home-hero__title { font-size: min(var(--h1-xl-size), 11vw); }
  .home-hero__subtitle { font-size: 16px; line-height: 24px; margin-top: 16px; }
  .home-hero__bar .trip-plan-bar__cta { flex-basis: auto; } /* stacked on phones (shell.css) */
  .home-hero__countries { gap: 8px; }
  .home-hero__countries a { padding: 7px 12px; }
  .home-hero__facts { gap: 12px; }
  .home-hero__facts dt { font-size: 16px; line-height: 24px; }
  .home-hero__facts dd { font-size: 12px; line-height: 18px; }
  .home-hero__press img { height: 14px; }
  .home-destinations__title { font-size: 36px; }
  .home-destinations .dest-card__name { font-size: 20px; }
  .home-themes .card-grid { grid-template-columns: minmax(0, 1fr); }
  .home-theme { aspect-ratio: 482 / 460; }
  .home-theme__name { font-size: var(--h3-size); }
  .home-reviews .section-head { align-items: flex-start; }
  .home-instagram__grid { grid-template-columns: minmax(0, 367px); justify-content: center; gap: 20px; margin-bottom: 30px; }
}
