/* Homepage-only refinements; shared ADD layout, artwork and components stay intact. */
/* Keep linked section headings below the sticky navigation. */
.homepage :is(#weekend, #calendar) { scroll-margin-top: 80px; }
.homepage .section { padding-block: 40px; }
.homepage .intro-finder-section { padding-top: 28px; }
.homepage .intro-finder-section .compact-heading { margin-bottom: 24px; }
.homepage .introduction-link { color: var(--navy); text-decoration: underline; text-underline-offset: .15em; }
.homepage .weekend-heading-row { gap: 16px; flex-wrap: wrap; margin-bottom: 12px; }
.homepage .owner-band { background: var(--navy); color: #fff; }
.homepage .owner-band h2 { color: #fff; }
.homepage .owner-band p { color: #d7e6f2; }
.homepage .owner-band-shell { padding-block: 40px; gap: 24px; }
.homepage .subscription-card { padding: 24px; }
.homepage .subscribe-form { margin-top: 16px; gap: 10px; }
.homepage .reminder-choice { padding: 10px 12px; }
.homepage .reminder-choice-addon { margin-left: 0; }
.homepage .display-day-intro { border-top: 1px solid var(--line); }
.homepage .display-day-intro p { max-width: 68ch; }
.homepage .region-primary-filter { margin-bottom: 0; }
.homepage .region-preference { margin: 2px auto 20px; max-width: 540px; }
.homepage .region-preference-row { display: flex; align-items: center; gap: 4px; }
.homepage .region-preference label { display: flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; font-size: .9rem; }
.homepage .region-preference input { width: 18px; height: 18px; flex-shrink: 0; }
.homepage .region-info-button { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: var(--navy); cursor: pointer; }
.homepage .region-info-button span { display: inline-flex; align-items: center; justify-content: center; border: 1.5px solid currentColor; border-radius: 50%; width: 23px; height: 23px; font-family: Georgia, serif; font-weight: 700; }
.homepage .region-preference-explanation { margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: 8px; background: #edf4f8; font-size: .9rem; }
.homepage #region-preference-status { margin: 0; font-size: .9rem; }
.homepage :is(.region-info-button, .region-preference input, .button):focus-visible { outline: 3px solid #bf7c0a; outline-offset: 3px; }
@media (max-width: 700px) {
  .homepage .section { padding-block: 28px; }
  .homepage .intro-finder-section { padding-top: 22px; }
  .homepage .subscription-card { padding: 18px; }
  .homepage .owner-band-shell { padding: 28px 18px; }
  .homepage .owner-band .button { justify-self: start; }
}
