/* ============================================================
   Bespoke travel page
   ============================================================ */
.bhero { padding-block: clamp(1.25rem, 1rem + 1vw, 2.25rem) 0; }
.bhero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr);
  gap: clamp(2rem, 1rem + 5vw, 5rem);
  align-items: start;
}
.bhero__grid h1 { font-size: var(--step-4); max-width: 16ch; margin-top: 0; }
.bhero__grid .btn { margin-top: 1.8rem; }
.bhero__fig { margin: 0; }
.bhero__fig img {
  width: 100%; aspect-ratio: 4/5; max-height: min(58svh, 30rem);
  object-fit: cover; border-radius: var(--radius-lg);
}

.inc__grid {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: clamp(2rem, 1rem + 5vw, 5rem);
  align-items: start;
}
.inc__head { position: sticky; top: calc(var(--header-h, 5rem) + 3rem); }
.inc__list { list-style: none; margin: 0; padding: 0; }
.inc__list li {
  display: grid; grid-template-columns: 3.5rem 1fr; gap: 1rem;
  padding: 1.5rem 0; border-bottom: 1px solid var(--line); align-items: baseline;
}
.inc__list li:first-child { border-top: 1px solid var(--line); }
.inc__list span { font-family: var(--ui); font-size: .74rem; letter-spacing: .18em; color: var(--clay-deep); }
.inc__list p { margin: 0; font-size: var(--step-1); font-family: var(--display); line-height: 1.35; }

.ecta__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: clamp(2rem, 1rem + 4vw, 4.5rem);
  align-items: start;
}
.ecta__grid h2 { font-size: var(--step-3); max-width: 18ch; }
.ecta__note { font-size: var(--step-0); color: var(--ink-faint); font-style: italic; }
.ecta__grid .btn { margin-top: 1rem; }

.deals {
  background: var(--paper);
  border-radius: var(--radius-lg);
  padding: clamp(1.8rem, 1rem + 2vw, 2.6rem);
}
.deals h3 { font-size: var(--step-1); }
.deals p { color: var(--ink-soft); font-size: var(--step-0); }
.deals__disc { font-size: .78rem !important; color: var(--ink-faint) !important; margin: 1.4rem 0 0; }

@media (max-width: 900px) {
  .bhero__grid, .inc__grid, .ecta__grid { grid-template-columns: 1fr; }
  .inc__head { position: static; }
}
