/* Shared public-page refinements from the September reference. */
.public-site .quick-facts { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.public-site .agenda-ribbon { grid-template-columns: auto minmax(0, 1fr) auto; }
.public-site .hero__status { gap: 16px; padding: 18px 24px; min-height: 64px; }
.public-site .hero__status :is(#open-status, #sunset-time) { font-size: clamp(16px, 1.15vw, 22px); line-height: 1.3; }
.public-site .hero__status .status-dot { width: 10px; height: 10px; flex-basis: 10px; }

.public-site .agenda-modal__list li { grid-template-columns: 8rem minmax(0, 1fr); gap: 28px; }
.public-site .agenda-modal__list time { display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; gap: 12px; min-width: 0; }
.public-site .agenda-modal__list time strong { line-height: 1; }
.public-site .agenda-modal__list time span { line-height: 1.4; overflow-wrap: anywhere; }
.public-site .agenda-modal__list li > div { min-width: 0; }
.public-site .agenda-modal__list h3 { line-height: 1.1; overflow-wrap: anywhere; }

.public-site .booking-modal { width: min(1120px, calc(100% - 32px)); }
.public-site .booking-modal__shell { grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); }
.public-site .booking-modal__intro {
  --aiki-heading-size: clamp(2.5rem, 5vw, 4.5rem);
  justify-content: center; align-items: flex-start; gap: 36px;
  padding: 72px 36px 48px; color: var(--ink); text-align: left;
}
.public-site .booking-modal__intro h2.section-title { margin: 0; color: var(--ink); font-size: var(--aiki-heading-size); letter-spacing: -.03em; }
.public-site .booking-modal__intro h2 .section-title__italic { display: block; margin: .18em 0 0; text-transform: none; }
.public-site .booking-modal__intro > p:last-child { margin: 0; max-width: none; color: var(--ink); }
.public-site .booking-form { color: var(--ink); }
.public-site .booking-field > span { color: var(--ink); }

.public-site a.day-card { color: var(--natural); }
.public-site a.day-card:focus-visible { outline: 3px solid var(--orange); outline-offset: -6px; }
.public-site .day-card__num { display: none; }
.public-site .sunset-steps li { align-items: center; }
.public-site .sunset-steps .sunset-step-symbol {
  display: block; width: 32px; height: 32px;
  background-image: url('/community-suns.png'); background-repeat: no-repeat;
  background-size: 108px 45.72px; background-position: -79px -7.7px;
  mix-blend-mode: multiply; transform: rotate(180deg); opacity: 1;
}
.public-site .sunset-steps .sunset-step-symbol--2 { background-position: -41px -7.7px; }
.public-site .sunset-steps .sunset-step-symbol--3 { background-position: -5px -7.7px; }
.public-site .sunset-steps > li > .sunset-step-symbol { inset-block-start: 11px; }
.public-site .menu-downloads > div { flex-wrap: wrap; overflow: visible; }
.public-site .shared-site-footer { width: 100%; }
.public-site #menu-preview { scroll-margin-top: 100px; }
.public-site .shared-site-footer .reveal { opacity: 1; transform: none; transition: none; }
.public-site .shared-site-footer .section-title__italic { margin: 0; }
.public-site .shared-site-footer .route-intro > p { margin: 36px 0 0; }
.public-site .shared-site-footer .route-steps p { margin: 0; }
.public-site .shared-site-footer .route-steps h3 { margin: 0 0 7px; }
.public-site .shared-site-footer .site-footer p { margin: 0; }

@media (max-width: 980px) {
  .public-site .booking-modal__shell { grid-template-columns: minmax(0, 1fr); }
  .public-site .booking-modal__intro { padding: 64px 32px 32px; gap: 28px; }
  .public-site .sunset-steps li { grid-template-columns: 32px minmax(0, 1fr); gap: 20px; }
}
@media (max-width: 720px) {
  .public-site #menu-preview { scroll-margin-top: 84px; }
  .public-site .quick-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .public-site .quick-facts > *:last-child { grid-column: auto; }
  .public-site .hero__status { gap: 10px 12px; padding: 14px 16px; }
  .public-site .agenda-modal__list li { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .public-site .agenda-modal__list time { grid-template-columns: 56px minmax(0, 1fr); gap: 16px; }
  .public-site .booking-modal__intro { --aiki-heading-size: clamp(2.25rem, 11.4vw, 5rem); padding: 64px 24px 28px; }
  .public-site .booking-modal { width: calc(100% - 20px); }
  .public-site .menu-downloads > div { flex-wrap: nowrap; }
}
