.destination-hero {
  position: relative;
  min-height: min(760px, 78vh);
  display: flex;
  align-items: flex-end;
  color: #fff;
  background: #302c2a;
}
.destination-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 43%;
}
.destination-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0,0,0,.67), rgba(0,0,0,.06) 82%), linear-gradient(0deg, rgba(0,0,0,.43), transparent 42%);
}
.destination-hero-overlay {
  position: relative;
  z-index: 1;
  width: min(830px, 88%);
  margin: 0 0 7% 7%;
}
.destination-hero h1 { font-size: clamp(58px, 7vw, 106px); }
.destination-hero p:not(.eyebrow) { max-width: 600px; font-size: 18px; line-height: 1.65; }
.destination-hero-link { display: inline-block; border-bottom: 1px solid currentColor; margin-top: 16px; padding-bottom: 6px; font-size: 14px; }
.destination-intro { padding: 90px 7% 40px; max-width: 1200px; margin: auto; text-align: center; }
.destination-intro h2 { font-size: clamp(52px, 6vw, 82px); }
.destination-intro p:last-child { max-width: 670px; margin: 22px auto 0; color: #555; font-size: 18px; }
.destination-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 80px 34px; padding: 35px 7% 110px; max-width: 1600px; margin: auto; }
.destination-card:nth-child(even) { transform: translateY(65px); }
.destination-image-link { position: relative; display: block; overflow: hidden; background: #e6e1db; }
.destination-image-link img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; transition: transform .7s; }
.destination-image-link:hover img { transform: scale(1.035); }
.destination-film-link span { position: absolute; inset: 0; display: grid; place-items: center; color: white; font-size: 50px; text-shadow: 0 2px 10px #0008; }
.destination-card-copy { padding: 22px 0 0; }
.destination-card-copy .eyebrow { margin-bottom: 9px; color: #777; }
.destination-card-copy h3 { font-size: clamp(39px, 4vw, 57px); }
.destination-card-copy p:not(.eyebrow) { max-width: 490px; color: #555; }
.destination-card-copy > a { display: inline-block; border-bottom: 1px solid; padding-bottom: 5px; font-size: 14px; }
.destination-next { padding: 95px 7% 110px; background: #f1ede8; text-align: center; }
.destination-next p:not(.eyebrow) { max-width: 560px; margin: 25px auto 0; }
.alisha-film-section { padding: 90px 7%; background: #f2eee9; }
.alisha-colour-story { margin: 90px auto 0; padding: 80px 7% 95px; background: #f4f0eb; }
.alisha-colour-heading { max-width: 760px; margin: 0 auto 48px; text-align: center; }
.alisha-colour-heading h2 { font-size: clamp(52px, 5vw, 74px); }
.alisha-colour-heading p:last-child { max-width: 620px; margin: 20px auto 0; color: #555; font-size: 18px; line-height: 1.7; }
.alisha-colour-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; max-width: 1100px; margin: auto; }
.alisha-colour-grid .wedding-photo { display: block; width: 100%; }
.alisha-colour-grid .wedding-photo img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.alisha-colour-grid .wedding-photo:last-child { grid-column: 1 / -1; max-width: 520px; margin: auto; }
.alisha-film-heading { max-width: 760px; margin: 0 auto 45px; text-align: center; }
.alisha-film-heading h2 { font-size: clamp(52px, 5vw, 72px); }
.alisha-film-heading p:last-child { color: #555; }
.alisha-film-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; max-width: 1400px; margin: auto; }
.kb-film-grid { grid-template-columns: minmax(0, 1fr); max-width: 980px; }
.alisha-film-card { min-width: 0; }
.alisha-film-card video { display: block; width: 100%; aspect-ratio: 16/9; background: #111; object-fit: cover; }
.karan-film-card iframe { display: block; width: 100%; aspect-ratio: 16/9; border: 0; background: #111; }
.karan-film-card .film-feature { display: block; }
.karan-film-card .film-sound-note { margin: 0 0 13px; max-width: none; font-size: 13px; line-height: 1.5; }
.karan-video-poster { display: block; position: relative; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #151515; color: #fff; }
.karan-video-poster img { width: 100%; height: 100%; object-fit: cover; filter: brightness(.65); }
.karan-video-poster span { position: absolute; inset: 0; display: grid; place-items: center; padding: 20px; text-align: center; color: #fff; font-size: 17px; letter-spacing: .06em; text-transform: uppercase; }
.karan-video-poster:hover img { filter: brightness(.52); }
.karan-grace-journal .cinema-cover img { object-fit: cover; object-position: center; }
.alisha-film-card .eyebrow { margin-bottom: 14px; }
.alisha-film-card h3 { margin-top: 22px; font-size: 38px; }
.alisha-film-card p:not(.eyebrow) { color: #555; }
.alisha-film-card a { display: inline-block; border-bottom: 1px solid; padding-bottom: 5px; font-size: 14px; }
.film-listening-note { text-align: center; font-size: 13px; color: #666; margin: 32px auto 0; }
.aisha-editorial-note { max-width: 860px; margin: 20px auto 90px; padding: 48px 7%; background: #f2eee9; text-align: center; }
.aisha-editorial-note p:not(.eyebrow) { margin: 22px auto; max-width: 650px; font: italic clamp(27px, 3.2vw, 43px)/1.18 'Cormorant Garamond', Georgia, serif; }
.aisha-editorial-note a { display: inline-block; border-bottom: 1px solid; padding-bottom: 5px; font-size: 14px; }
@media (max-width: 760px) {
  .destination-hero { min-height: 590px; }
  .destination-hero-overlay { width: 88%; margin: 0 auto 50px; }
  .destination-hero h1 { font-size: 57px; }
  .destination-hero p:not(.eyebrow) { font-size: 16px; }
  .destination-intro { padding: 65px 6% 20px; }
  .destination-intro p:last-child { font-size: 16px; }
  .destination-grid { grid-template-columns: 1fr; gap: 48px; padding: 25px 6% 70px; }
  .destination-card:nth-child(even) { transform: none; }
  .destination-next { padding: 65px 6% 75px; }
  .alisha-film-section { padding: 60px 6%; }
  .alisha-colour-story { margin-top: 50px; padding: 58px 6% 64px; }
  .alisha-colour-heading { margin-bottom: 30px; }
  .alisha-colour-heading h2 { font-size: 46px; }
  .alisha-colour-heading p:last-child { font-size: 16px; }
  .alisha-colour-grid { grid-template-columns: 1fr; gap: 18px; }
  .alisha-colour-grid .wedding-photo:last-child { grid-column: auto; max-width: none; }
  .alisha-film-grid { grid-template-columns: 1fr; gap: 46px; }
  .aisha-editorial-note { margin: 15px 6% 60px; padding: 36px 8%; }
}
@media (prefers-reduced-motion: reduce) { .destination-image-link img { transition: none; } }
