/* Kenya hub and inner-page refinements: compact cards, high contrast and full-width image treatment. */
.kc-itinerary-grid h3 { color: var(--kc-ink); }
.kc-itinerary-grid article { display: flex; flex-direction: column; }
.kc-itinerary-grid article > div { display: flex; flex: 1; flex-direction: column; }
.kc-itinerary-grid a { color: var(--kc-ink); margin-top: auto; }
.kc-itinerary-grid p { color: #6B685F; }

.kc-gallery { background: #D8D6CE; padding: 104px 0; }
.kc-gallery__head { align-items: end; display: flex; gap: 10%; justify-content: space-between; margin-bottom: 36px; }
.kc-gallery__head h2 { font-family: var(--kc-head); font-size: clamp(2.2rem, 4vw, 3.9rem); font-weight: 400; line-height: 1.05; margin: 0; max-width: 680px; }
.kc-gallery__head > p { color: var(--kc-muted); font-size: 1rem; line-height: 1.7; margin: 0; max-width: 390px; }
.kc-gallery__grid { display: grid; gap: 14px; grid-auto-rows: 190px; grid-template-columns: repeat(4, 1fr); }
.kc-gallery figure { margin: 0; overflow: hidden; position: relative; }
.kc-gallery figure:first-child { grid-column: span 2; grid-row: span 2; }
.kc-gallery figure:nth-child(4), .kc-gallery figure:nth-child(5) { grid-column: span 2; }
.kc-gallery button { background: transparent; border: 0; cursor: zoom-in; display: block; height: 100%; overflow: hidden; padding: 0; position: relative; text-align: left; width: 100%; }
.kc-gallery img { height: 100%; inset: 0; object-fit: cover; position: absolute; transition: transform .45s ease; width: 100%; }
.kc-gallery button:hover img, .kc-gallery button:focus-visible img { transform: scale(1.045); }
.kc-gallery button:focus-visible { outline: 3px solid #8C7A5E; outline-offset: -3px; }
.kc-gallery figcaption { background: linear-gradient(0deg, rgba(33,31,26,.76), transparent); bottom: 0; color: #D8D6CE; font-family: var(--kc-head); font-size: .95rem; left: 0; padding: 42px 16px 15px; pointer-events: none; position: absolute; right: 0; }
.kc-gallery figcaption span { color: #8C7A5E; display: block; font-size: .55rem; letter-spacing: .14em; margin-bottom: 5px; text-transform: uppercase; }

.kc-image-dialog { align-items: center; background: rgba(33,31,26,.9); border: 0; height: 100vh; justify-content: center; max-height: none; max-width: none; padding: 28px; width: 100vw; }
.kc-image-dialog[open] { display: flex; }
.kc-image-dialog::backdrop { background: rgba(33,31,26,.9); }
.kc-image-dialog img { display: block; max-height: calc(100vh - 56px); max-width: min(1100px, 94vw); object-fit: contain; }
.kc-image-dialog button { background: #D8D6CE; border: 0; color: #211F1A; cursor: pointer; font: 700 .78rem/1 var(--kc-body); letter-spacing: .09em; padding: 12px 15px; position: fixed; right: 30px; text-transform: uppercase; top: 28px; }

.ks-hero h1 { font-family: var(--kc-head); }
.ks-images img { display: block; }
.ks-related a { color: #D8D6CE; }

/* Keep the Kenya hub editorial, but bring its display type down to a calmer sales-page scale. */
.kc-page:not(.ks-page) .kc-hero h1 { font-size: clamp(2.55rem, 3.8vw, 3.75rem); line-height: 1.03; }
.kc-page:not(.ks-page) .kc-two h2,
.kc-page:not(.ks-page) .kc-head h2,
.kc-page:not(.ks-page) .kc-cta h2 { font-size: clamp(2rem, 3.25vw, 3.25rem); }

@media (max-width: 800px) {
  .kc-gallery { padding: 72px 0; }
  .kc-gallery__head { display: block; }
  .kc-gallery__head > p { font-size: .94rem; margin-top: 19px; }
  .kc-gallery__grid { grid-auto-rows: 245px; grid-template-columns: repeat(2, 1fr); }
  .kc-gallery figure:first-child { grid-column: span 2; grid-row: auto; }
  .kc-gallery figure:nth-child(4), .kc-gallery figure:nth-child(5) { grid-column: auto; }
}

@media (max-width: 520px) {
  .kc-page:not(.ks-page) .kc-hero h1 { font-size: clamp(2.05rem, 9.2vw, 2.65rem); }
  .kc-page:not(.ks-page) .kc-two h2,
  .kc-page:not(.ks-page) .kc-head h2,
  .kc-page:not(.ks-page) .kc-cta h2 { font-size: clamp(1.8rem, 8vw, 2.35rem); }
  .kc-gallery__grid { grid-template-columns: 1fr; }
  .kc-gallery figure, .kc-gallery figure:first-child, .kc-gallery figure:nth-child(4), .kc-gallery figure:nth-child(5) { grid-column: auto; grid-row: auto; }
  .kc-gallery figure { min-height: 235px; }
  .kc-image-dialog { padding: 16px; }
  .kc-image-dialog img { max-height: calc(100vh - 32px); max-width: 100%; }
  .kc-image-dialog button { right: 16px; top: 16px; }
}
