/* Final booking copy and the approved photo/review reel. */
.story-welcome h2 { font-size: clamp(2.3rem, 4.3vw, 3.8rem); margin-bottom: 28px; }
.welcome-booking-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin-top: 26px; }
.welcome-booking-actions .underlined-link { font-size: .85rem; font-weight: 700; }
.booking-media-note { display: grid; grid-template-columns: .85fr 1fr; gap: clamp(32px, 7vw, 90px); align-items: center; background: var(--blush); padding-block: 54px; }
.booking-media-note h2 { font-size: clamp(1.9rem, 3vw, 2.8rem); }
.booking-media-note > div > p:first-child { margin-top: 0; }
.booking-media-note .content-actions { gap: 20px; }
.booking-reviews { background: #f5eae5; }
.booking-reviews .homepage-review-intro { align-items: center; }
.booking-reel-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); gap: clamp(28px, 5vw, 64px); align-items: start; }
.booking-photo-reel { position: sticky; top: 24px; min-width: 0; }
.booking-photo-reel figure { margin: 0; }
.booking-photo-reel img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; background: #e7d6cd; }
.booking-photo-reel figcaption { margin-top: 12px; color: #51433d; font-size: .8rem; }
.booking-photo-reel > .underlined-link { display: inline-block; margin-top: 16px; font-size: .83rem; }
.booking-reel-controls { display: flex; align-items: center; gap: 20px; margin: 18px 0; }
.booking-reel-controls[hidden], .booking-review-selector[hidden], .booking-review-slide[hidden] { display: none; }
.booking-reel-controls button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid #72553a; color: #4e3926; background: transparent; font-size: 1.3rem; }
.booking-reel-controls button:hover { background: #72553a; color: #fffdf6; }
.booking-reel-controls span { font-size: .8rem; font-variant-numeric: tabular-nums; color: #51433d; }
.booking-review-reel { min-width: 0; background: #fffdf8; padding: clamp(22px, 3vw, 38px); }
.booking-review-reel > .booking-reel-controls { margin-top: 0; }
.booking-review-selector { display: flex; flex-wrap: wrap; gap: 8px; padding-bottom: 24px; border-bottom: 1px solid #b3916c70; }
.booking-review-selector button { background: transparent; color: #584b40; border: 1px solid #c9b8a8; border-radius: 999px; padding: 8px 12px; font-size: .73rem; line-height: 1.4; }
.booking-review-selector button[aria-pressed="true"] { background: #ead7c2; border-color: #72553a; color: #402e20; }
.booking-review-slide { margin: 26px 0 0; }
.booking-review-slide blockquote { margin: 0; }
.booking-review-slide blockquote p { font-size: .96rem; line-height: 1.85; margin: 0 0 16px; }
.booking-review-slide figcaption { border-top: 1px solid #b3916c70; padding-top: 20px; margin-top: 26px; display: grid; gap: 5px; }
.booking-review-slide figcaption strong { font-family: 'Libre Baskerville', Georgia, serif; color: #563e2a; font-size: 1.1rem; font-weight: 400; }
.booking-review-slide figcaption span { color: #51433d; font-size: .8rem; }
@media (max-width: 760px) {
 .booking-reel-layout, .booking-media-note { grid-template-columns: 1fr; }
 .booking-photo-reel { position: static; }
 .story-welcome h2 { font-size: clamp(2.25rem, 8vw, 3.1rem); }
 .booking-review-reel { padding: 22px; }
 .booking-review-selector { gap: 8px; }
 .booking-review-selector button { min-height: 40px; }
 .booking-review-slide blockquote p { font-size: .93rem; }
 .booking-reviews .homepage-review-intro h2 { font-size: 2rem; }
 .booking-media-note { gap: 24px; }
}

/* Preserve the full podcast composition and both faces. */
.story-stage .story-photo { align-self: center; }
.story-stage .story-photo img { height: auto; min-height: 0; max-height: none; aspect-ratio: 16 / 9; object-fit: contain; }
.story-stage .story-photo figcaption { position: static; background: transparent; padding: 12px 24px; }
.story-workshop .story-photo img, .story-page-portrait img[src*="header-hshouma"] { aspect-ratio: 16 / 9; height: auto; object-fit: contain; }

/* Keep episode captions and eleven slide controls readable on small screens. */
@media (max-width: 700px) {
 .booking-hero-photo .hero-slideshow-controls { flex-wrap: wrap; gap: 4px; }
 .booking-hero-photo .hero-slide-caption { display: block; flex-basis: 100%; max-width: 100%; font-size: .68rem; line-height: 1.4; }
 .booking-hero-photo .hero-controls-group { width: 100%; min-width: 0; margin: 0; }
 .booking-hero-photo .hero-slide-dots { flex: 1; min-width: 0; overflow-x: auto; scrollbar-width: none; }
 .booking-hero-photo .hero-slide-dots::-webkit-scrollbar { display: none; }
 .booking-hero-photo .slide-dot, .booking-hero-photo .hero-control { flex-shrink: 0; }
}

/* Keep both speakers in frame when the Habiba interview illustrates presenting. */
.story-inset img[src*="header-habiba"] { aspect-ratio: 16 / 9; height: auto; min-height: 0; object-fit: contain; }
