/* Host a Show: practical planning guidance within the existing brand. */
.booking-page .section { padding-block: 76px; }
.booking-page .section-head { gap: 40px; margin-bottom: 36px; }
.booking-page .section h2 { font-size: clamp(2.2rem, 4.8vw, 4.5rem); line-height: 1.04; }
.booking-page :is(section[id], form[id]) { scroll-margin-top: 28px; }
.booking-page :is(.kicker, .date) { font-size: .875rem; }
.host-guide-nav { background: #171719; border-block: 1px solid #ffffff24; }
.host-guide-nav .wrap { display: flex; flex-wrap: wrap; gap: 4px 24px; padding-block: 12px; }
.host-guide-nav a { display: flex; align-items: center; min-height: 44px; color: #eeeef2; font-size: 1rem; text-decoration: underline; text-underline-offset: 5px; text-decoration-color: #77777d; }
.host-guide-nav a:hover { color: #f8c900; text-decoration-color: currentColor; }
.booking-page :is(.host-guide-nav a, .link, summary):focus-visible { outline: 3px solid #ad8700; outline-offset: 5px; border-radius: 2px; }
.host-service-points { margin: 22px 0 0; padding-left: 20px; color: #e0e0e7; font-size: 1rem; line-height: 1.65; }
.host-service-points li + li { margin-top: 8px; }
.host-service-points li::marker { color: #f8c900; }
.booking-page .package-card { min-width: 0; }
.host-planning-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.host-planning-card { min-width: 0; padding: clamp(24px, 3vw, 36px); border: 1px solid #d0d0d5; border-top: 4px solid #a98400; border-radius: 8px; background: #fff; }
.host-topic { color: #624c00; font-size: .875rem; font-weight: 800; text-transform: uppercase; letter-spacing: .09em; }
.host-planning-card h3 { margin: 14px 0 18px; font-size: clamp(1.4rem, 2.5vw, 1.9rem); line-height: 1.2; letter-spacing: -.025em; }
.host-planning-card p { color: #36363c; font-size: 1rem; line-height: 1.7; margin: 0; }
.host-planning-card .host-planning-tip { margin-top: 22px; padding-top: 20px; border-top: 1px solid #dedee3; }
.host-planning-tip strong { color: #171719; }
.host-room-note { margin-top: 26px; padding: 24px 28px; border-left: 4px solid #a98400; background: #e8e8e9; }
.host-room-note > strong { font-size: 1.125rem; color: #171719; }
.host-room-note p { margin: 10px 0 14px; color: #36363c; font-size: 1rem; line-height: 1.65; max-width: 78ch; }
.host-budget-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 64px; align-items: start; }
.host-budget-intro .lead { margin: 24px 0; font-size: 1.125rem; line-height: 1.7; color: #e0e0e7; }
.host-budget-intro .btn { white-space: normal; }
.host-budget-factors dl { margin: 0; }
.host-budget-factors dl > div { padding: 19px 0; border-top: 1px solid #ffffff35; }
.host-budget-factors dt { color: #f8c900; font-size: 1.125rem; font-weight: 750; }
.host-budget-factors dd { margin: 9px 0 0; color: #e0e0e7; font-size: 1rem; line-height: 1.65; }
.host-budget-note { margin: 20px 0 0; padding: 20px 22px; border: 1px solid #ffffff35; border-radius: 6px; background: #ffffff07; color: #e0e0e7; font-size: 1rem; line-height: 1.65; }
.booking-page .step { min-width: 0; }
.booking-page .step small { font-size: .875rem; color: #d0d0d7; }
.booking-page .faq-list p { color: #36363c; line-height: 1.7; font-size: 1rem; }
.booking-page .faq-list p a { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 900px) {
  .host-budget-layout { grid-template-columns: 1fr; gap: 32px; }
  .booking-page .section-head { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 640px) {
  .booking-page .section { padding-block: 52px; }
  .host-guide-nav .wrap { gap: 2px 22px; }
  .host-planning-grid { grid-template-columns: 1fr; gap: 18px; }
  .host-room-note { padding: 22px; }
  .booking-page .package-card { padding: 24px; }
  .booking-page .steps { grid-template-columns: 1fr; gap: 12px; }
}
