/* Booking-only contact controls remain easy to select on small screens. */
.booking-card .quiet-link {
  display: inline-block;
  box-sizing: border-box;
  min-height: 44px;
  max-width: 100%;
  padding: 11px 0;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.booking-contact h2 { margin-top: 0; }
.booking-contact > p:last-child { margin-bottom: 0; }

.booking-duration { display:flex; flex-direction:column; gap:4px; margin:0 0 22px; font:15px/1.5 var(--ui); }
.booking-duration strong { color:var(--wine); }
.booking-duration span { color:var(--muted); }
.booking-calendar-note { margin:12px 0 24px; max-width:38em; }
.booking-selection { padding:18px 20px; border-left:3px solid var(--gold); background:var(--wash); }
/* The portrait follows the call invitation in reading order, before the longer guidance. */
.booking-page .booking-layout { grid-template-columns:minmax(0,1fr) 364px; gap:40px 64px; }
.booking-invitation { align-self:center; }
.booking-invitation h1 { max-width:15ch; }
.booking-invitation .intro { max-width:29em; }
.booking-invitation .booking-calendar-note { margin-bottom:0; }
.booking-founder { width:100%; max-width:364px; margin:0; padding:11px; border:1px solid var(--line); background:var(--white); box-shadow:0 12px 28px #342d230b; }
.booking-founder img { display:block; width:100%; height:auto; aspect-ratio:680/761; }
.booking-founder figcaption { padding:17px 5px 7px; }
.booking-founder strong { display:block; margin-bottom:4px; color:var(--wine); font:600 28px/1.15 var(--display); }
.booking-founder figcaption span { display:block; color:var(--muted); font:12px/1.5 var(--ui); }
.booking-preparation { padding-top:0; }
.booking-preparation .booking-rule:first-child { margin-top:0; }
.booking-preparation h2 { max-width:18ch; }
.booking-page .booking-card { padding:28px; }
@media(max-width:850px){
  .booking-page .booking-layout { grid-template-columns:minmax(0,1fr); gap:30px; padding-top:0; }
  .booking-invitation h1 { max-width:18ch; }
  .booking-founder { justify-self:center; }
}
@media(max-width:540px){
  .booking-page .booking-layout { gap:28px; }
  .booking-page .booking-layout h1 { font-size:40px; }
  .booking-page .booking-layout .actions .button { width:100%; }
  .booking-page .booking-card { padding:24px; }
  .booking-page .journey-topline { padding-bottom:18px; margin-bottom:24px; }
  .booking-page .journey-topline>span { display:none; }
}
