main.best10-seasonal-page { overflow: clip; }

.best10-seasonal-page .seasonal-hero { padding-block: var(--space-7) var(--space-8); }
.best10-seasonal-page .seasonal-hero__grid,
.best10-seasonal-page .seasonal-lens__grid,
.best10-seasonal-page .group-feature__grid,
.best10-seasonal-page .decision-grid,
.best10-seasonal-page .host-stories__grid,
.best10-seasonal-page .reservation-panel__grid { display: grid; min-width: 0; }
.best10-seasonal-page .seasonal-hero__grid > *,
.best10-seasonal-page .seasonal-lens__grid > *,
.best10-seasonal-page .group-feature__grid > *,
.best10-seasonal-page .decision-grid > *,
.best10-seasonal-page .host-stories__grid > *,
.best10-seasonal-page .reservation-panel__grid > * { min-width: 0; }

.best10-seasonal-page .seasonal-hero__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-6); align-items: center; }
.best10-seasonal-page .seasonal-hero__copy { grid-column: 1; width: 100%; max-width: 32.5rem; display: flex; flex-direction: column; gap: var(--space-4); }
.best10-seasonal-page .seasonal-hero__copy > * { min-width: 0; margin: 0; }
.best10-seasonal-page .seasonal-hero__title { max-width: 32.5rem; font-size: var(--text-display-xl); }
.best10-seasonal-page .seasonal-hero__deck { max-width: 29rem; font-size: var(--text-intro); line-height: 1.4; }
.best10-seasonal-page .seasonal-hero__media { grid-column: 2; width: min(100%, calc(50vw + 25rem)); margin-right: calc(50% - 50vw); }
.best10-seasonal-page .seasonal-hero__media figure { margin: 0; }
.best10-seasonal-page .seasonal-hero__frame { width: 100%; height: min(42vh, 31.25rem); min-height: 26.25rem; }
.best10-seasonal-page .seasonal-hero__media figcaption { width: min(100% - var(--container-padding), var(--container-max)); margin-left: 0; }

.best10-seasonal-page .seasonal-lens__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr); column-gap: var(--space-5); }
.best10-seasonal-page .seasonal-lens__rail { grid-column: 1; width: 100%; padding-top: var(--space-1); }
.best10-seasonal-page .seasonal-lens__content { grid-column: 2; width: 100%; max-width: 40.625rem; }
.best10-seasonal-page .seasonal-lens__content > :last-child { margin-bottom: 0; }
.best10-seasonal-page .seasonal-lens__intro { max-width: 40.625rem; }
.best10-seasonal-page .seasonal-lens__rule { margin: var(--space-5) 0; }
.best10-seasonal-page .criteria-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); width: 100%; }
.best10-seasonal-page .criteria-row > * { min-width: 0; width: 100%; }
.best10-seasonal-page .criterion { display: flex; flex-direction: column; gap: var(--space-2); }
.best10-seasonal-page .criterion > * { margin: 0; min-width: 0; }
.best10-seasonal-page .seasonal-lens__note { max-width: 39rem; color: var(--color-stone); }

.best10-seasonal-page .ranking-section { scroll-margin-top: var(--space-8); }
.best10-seasonal-page .ranking-intro { width: 100%; max-width: 38rem; }
.best10-seasonal-page .rank-list { width: 100%; border-top: var(--border); }
.best10-seasonal-page .rank-row { display: grid; grid-template-columns: minmax(2.5rem, 1fr) minmax(0, 4fr) minmax(0, 5fr) minmax(0, 2fr); gap: var(--space-5); width: 100%; min-width: 0; padding-block: var(--space-6); border-bottom: var(--border); }
.best10-seasonal-page .rank-row > * { width: 100%; min-width: 0; }
.best10-seasonal-page .rank-row__number { color: var(--color-clay); font-size: var(--text-meta); font-weight: 600; letter-spacing: 0.12em; line-height: 1.3; }
.best10-seasonal-page .rank-row__title { margin: 0; font-size: var(--text-h3); }
.best10-seasonal-page .rank-row__description { margin: 0; max-width: 31.25rem; }
.best10-seasonal-page .rank-row__cue { align-self: start; margin: 0; color: var(--color-stone); font-size: var(--text-meta); font-weight: 500; letter-spacing: 0.12em; line-height: 1.3; text-align: right; text-transform: uppercase; }

.best10-seasonal-page .group-feature__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-7); align-items: start; }
.best10-seasonal-page .group-feature__media { grid-column: 1; width: 100%; }
.best10-seasonal-page .group-feature__media figure { margin: 0; }
.best10-seasonal-page .group-feature__frame { width: 100%; aspect-ratio: 4 / 5; }
.best10-seasonal-page .group-feature__copy { grid-column: 2; width: 100%; max-width: 26.25rem; display: flex; flex-direction: column; gap: var(--space-4); padding-top: var(--space-4); }
.best10-seasonal-page .group-feature__copy > * { min-width: 0; margin: 0; }
.best10-seasonal-page .planning-prompts { display: flex; flex-direction: column; gap: var(--space-4); width: 100%; margin: 0; padding: 0; list-style: none; }
.best10-seasonal-page .planning-prompts > * { width: 100%; min-width: 0; padding-top: var(--space-4); border-top: var(--border); }
.best10-seasonal-page .planning-prompts p { margin: var(--space-2) 0 0; }
.best10-seasonal-page .group-feature__helper { color: var(--color-stone); font-size: var(--text-small); }

.best10-seasonal-page .lounge-feature { position: relative; padding: 0; }
.best10-seasonal-page .lounge-feature__image { width: 100%; height: min(40vw, 31.25rem); min-height: 28rem; }
.best10-seasonal-page .lounge-feature__image img { width: 100%; height: 100%; object-fit: cover; }
.best10-seasonal-page .lounge-feature__inner { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); width: min(100% - (var(--container-padding) * 2), var(--container-max)); margin-inline: auto; align-items: center; pointer-events: none; }
.best10-seasonal-page .lounge-feature__panel { grid-column: 1 / span 5; width: 100%; min-width: 0; padding: var(--space-6); background: var(--color-umber); color: var(--color-white); display: flex; flex-direction: column; gap: var(--space-4); pointer-events: auto; }
.best10-seasonal-page .lounge-feature__panel > * { min-width: 0; margin: 0; }
.best10-seasonal-page .lounge-feature__panel h2 { color: var(--color-white); }
.best10-seasonal-page .lounge-feature__panel .eyebrow { color: var(--color-parchment); }
.best10-seasonal-page .lounge-feature__note { padding-top: var(--space-4); border-top: 1px solid var(--color-clay); color: var(--color-parchment); }
.best10-seasonal-page .lounge-feature__note .meta { color: var(--color-white); }

.best10-seasonal-page .decision-intro { width: 100%; max-width: 35rem; margin-inline: auto; text-align: center; }
.best10-seasonal-page .decision-grid { grid-template-columns: minmax(0, 3fr) minmax(0, 4fr) minmax(0, 3fr); gap: 0; width: 100%; margin-top: var(--space-7); }
.best10-seasonal-page .decision-grid > * { width: 100%; min-width: 0; padding: 0 var(--space-5); }
.best10-seasonal-page .decision-grid > :first-child { padding-left: 0; }
.best10-seasonal-page .decision-grid > :last-child { padding-right: 0; }
.best10-seasonal-page .decision-grid > * + * { border-left: var(--border); }
.best10-seasonal-page .decision-unit { display: flex; flex-direction: column; gap: var(--space-3); }
.best10-seasonal-page .decision-unit > * { margin: 0; min-width: 0; }

.best10-seasonal-page .host-stories__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr) minmax(0, 3fr); gap: var(--space-5); align-items: start; }
.best10-seasonal-page .host-stories__rail { grid-column: 1; width: 100%; }
.best10-seasonal-page .host-stories__content { grid-column: 2; width: 100%; max-width: 38.75rem; display: flex; flex-direction: column; gap: var(--space-5); }
.best10-seasonal-page .host-stories__content > * { min-width: 0; margin: 0; }
.best10-seasonal-page .host-story { display: flex; flex-direction: column; gap: var(--space-2); }
.best10-seasonal-page .host-story > * { margin: 0; }
.best10-seasonal-page .host-stories__quote { grid-column: 3; width: 100%; margin-top: 11rem; padding: var(--space-5); border-left: 0; background: var(--color-parchment); color: var(--color-umber); font-size: clamp(1.45rem, 1.2rem + 1vw, 1.9rem); }
.best10-seasonal-page .host-stories__quote::before { content: ""; display: block; width: 2.5rem; height: 1px; margin-bottom: var(--space-4); background: var(--color-clay); }

.best10-seasonal-page .faq-intro { width: 100%; max-width: 31.25rem; }
.best10-seasonal-page .faq-list { width: min(100%, 52rem); margin-top: var(--space-6); }
.best10-seasonal-page .faq-item { width: 100%; margin: 0; border-top: var(--border); border-bottom: 0; }
.best10-seasonal-page .faq-item:last-child { border-bottom: var(--border); }
.best10-seasonal-page .faq-item summary { display: block; min-height: 2.75rem; padding: 0; list-style: none; }
.best10-seasonal-page .faq-item summary::-webkit-details-marker { display: none; }
.best10-seasonal-page .faq-item summary button { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); width: 100%; min-height: 3.5rem; padding: var(--space-3) 0; background: transparent; color: var(--color-charcoal); font-weight: 600; line-height: 1.4; text-align: left; }
.best10-seasonal-page .faq-item summary button::after { content: "+"; flex: 0 0 auto; color: var(--color-clay); font-size: 1.25rem; font-weight: 400; }
.best10-seasonal-page .faq-item[open] summary button::after { content: "−"; }
.best10-seasonal-page .faq-answer { width: 100%; max-width: 38.75rem; padding: 0 0 var(--space-5); }
.best10-seasonal-page .faq-answer p { margin: 0; }

.best10-seasonal-page .reservation-panel { scroll-margin-top: var(--space-8); }
.best10-seasonal-page .reservation-panel__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-7); align-items: start; }
.best10-seasonal-page .reservation-panel__intro { grid-column: 1; width: 100%; max-width: 26.25rem; display: flex; flex-direction: column; gap: var(--space-4); }
.best10-seasonal-page .reservation-panel__intro > * { margin: 0; min-width: 0; }
.best10-seasonal-page .reservation-panel__address { color: var(--color-stone); }
.best10-seasonal-page .reservation-form { grid-column: 2; width: 100%; min-width: 0; }
.best10-seasonal-page .reservation-status { min-height: 1.5rem; margin-bottom: var(--space-4); color: var(--color-umber); font-size: var(--text-small); font-weight: 500; }
.best10-seasonal-page .reservation-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); width: 100%; }
.best10-seasonal-page .reservation-form__fields > * { width: 100%; min-width: 0; margin: 0; }
.best10-seasonal-page .reservation-form .form-field--wide,
.best10-seasonal-page .reservation-form .form-field--checkbox,
.best10-seasonal-page .reservation-form__actions { grid-column: 1 / -1; }
.best10-seasonal-page .reservation-form .form-field { margin: 0; }
.best10-seasonal-page .reservation-form__checkbox-label { display: flex; align-items: flex-start; gap: var(--space-3); margin: 0; font-size: var(--text-small); font-weight: 400; }
.best10-seasonal-page .reservation-form__checkbox-label input { flex: 0 0 1rem; width: 1rem; min-height: 1rem; margin-top: 0.25rem; }
.best10-seasonal-page .reservation-form__actions { display: flex; flex-direction: column; gap: var(--space-3); }
.best10-seasonal-page .reservation-form__actions > * { min-width: 0; margin: 0; }
.best10-seasonal-page .reservation-form__direct { color: var(--color-stone); font-size: var(--text-small); }

.best10-seasonal-page .closing-note { padding-block: var(--space-8); }
.best10-seasonal-page .closing-note__content { width: 100%; max-width: 32.5rem; margin-inline: auto; display: flex; flex-direction: column; align-items: center; gap: var(--space-4); text-align: center; }
.best10-seasonal-page .closing-note__content > * { margin: 0; min-width: 0; }

.best10-seasonal-page [data-reveal] { opacity: 1; transform: none; }
.best10-seasonal-page.js-ready [data-reveal] { opacity: 0; transform: translateY(12px); transition: opacity 500ms ease, transform 500ms ease; }
.best10-seasonal-page.js-ready [data-reveal].is-revealed { opacity: 1; transform: translateY(0); }

@media (max-width: 74.9375rem) {
  .best10-seasonal-page .seasonal-hero__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); }
  .best10-seasonal-page .seasonal-hero__copy { grid-column: 1 / span 4; }
  .best10-seasonal-page .seasonal-hero__media { grid-column: 5 / span 4; width: 100%; margin-right: 0; }
  .best10-seasonal-page .seasonal-hero__frame { min-height: 24rem; }
  .best10-seasonal-page .seasonal-lens__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); }
  .best10-seasonal-page .seasonal-lens__content { grid-column: 2; }
  .best10-seasonal-page .rank-row { grid-template-columns: minmax(2.5rem, 1fr) minmax(0, 2fr) minmax(0, 5fr); gap: var(--space-4); }
  .best10-seasonal-page .rank-row__cue { grid-column: 3; text-align: left; }
  .best10-seasonal-page .group-feature__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); }
  .best10-seasonal-page .group-feature__media { grid-column: 1 / span 4; }
  .best10-seasonal-page .group-feature__copy { grid-column: 5 / span 4; }
  .best10-seasonal-page .lounge-feature__inner { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .best10-seasonal-page .lounge-feature__panel { grid-column: 1 / span 4; }
  .best10-seasonal-page .host-stories__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 6fr); }
  .best10-seasonal-page .host-stories__content { grid-column: 2; }
  .best10-seasonal-page .host-stories__quote { grid-column: 2; margin-top: 0; max-width: 23rem; }
  .best10-seasonal-page .reservation-panel__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: var(--space-5); }
  .best10-seasonal-page .reservation-panel__intro { grid-column: 1 / span 3; }
  .best10-seasonal-page .reservation-form { grid-column: 4 / span 5; }
}

@media (max-width: 61.1875rem) {
  .best10-seasonal-page .seasonal-hero__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .best10-seasonal-page .seasonal-hero__media { grid-column: 1; grid-row: 1; width: 100vw; margin-inline: calc(50% - 50vw); }
  .best10-seasonal-page .seasonal-hero__media figcaption { width: min(100% - (var(--container-padding) * 2), var(--container-max)); margin-inline: auto; }
  .best10-seasonal-page .seasonal-hero__copy { grid-column: 1; grid-row: 2; max-width: 100%; }
  .best10-seasonal-page .seasonal-hero__frame { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .best10-seasonal-page .seasonal-lens__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .best10-seasonal-page .seasonal-lens__rail,
  .best10-seasonal-page .seasonal-lens__content { grid-column: 1; }
  .best10-seasonal-page .group-feature__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .best10-seasonal-page .group-feature__media,
  .best10-seasonal-page .group-feature__copy { grid-column: 1; }
  .best10-seasonal-page .group-feature__copy { max-width: 100%; padding-top: 0; }
  .best10-seasonal-page .reservation-panel__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .best10-seasonal-page .reservation-panel__intro,
  .best10-seasonal-page .reservation-form { grid-column: 1; max-width: 100%; }
}

@media (max-width: 51.1875rem) {
  .best10-seasonal-page .lounge-feature { display: flex; flex-direction: column; }
  .best10-seasonal-page .lounge-feature__image { height: auto; min-height: 0; aspect-ratio: 4 / 5; }
  .best10-seasonal-page .lounge-feature__inner { position: static; display: block; width: 100%; margin: 0; }
  .best10-seasonal-page .lounge-feature__panel { width: 100%; padding: var(--space-5) var(--container-padding); }
  .best10-seasonal-page .decision-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5) 0; }
  .best10-seasonal-page .decision-grid > :nth-child(2) { grid-column: 1 / -1; grid-row: 1; padding: 0 0 var(--space-5); border-left: 0; border-bottom: var(--border); }
  .best10-seasonal-page .decision-grid > :first-child { grid-column: 1; grid-row: 2; padding-left: 0; }
  .best10-seasonal-page .decision-grid > :last-child { grid-column: 2; grid-row: 2; }
  .best10-seasonal-page .host-stories__grid { grid-template-columns: 1fr; gap: var(--space-4); }
  .best10-seasonal-page .host-stories__rail,
  .best10-seasonal-page .host-stories__content,
  .best10-seasonal-page .host-stories__quote { grid-column: 1; }
}

@media (max-width: 47.9375rem) {
  .best10-seasonal-page .seasonal-hero { padding-block: var(--space-5) var(--space-7); }
  .best10-seasonal-page .seasonal-hero__title { max-width: 100%; }
  .best10-seasonal-page .seasonal-hero__deck { max-width: 34ch; }
  .best10-seasonal-page .criteria-row { grid-template-columns: 1fr; gap: 0; }
  .best10-seasonal-page .criterion { padding-block: var(--space-4); border-top: var(--border); }
  .best10-seasonal-page .criterion:last-child { border-bottom: var(--border); }
  .best10-seasonal-page .rank-row { grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-3) var(--space-2); padding-block: var(--space-5); }
  .best10-seasonal-page .rank-row__number { grid-column: 1; grid-row: 1; }
  .best10-seasonal-page .rank-row__title { grid-column: 2; grid-row: 1; }
  .best10-seasonal-page .rank-row__description,
  .best10-seasonal-page .rank-row__cue { grid-column: 2; text-align: left; }
  .best10-seasonal-page .rank-row__description { grid-row: 2; }
  .best10-seasonal-page .rank-row__cue { grid-row: 3; }
  .best10-seasonal-page .decision-grid { grid-template-columns: 1fr; margin-top: var(--space-5); }
  .best10-seasonal-page .decision-grid > *,
  .best10-seasonal-page .decision-grid > :first-child,
  .best10-seasonal-page .decision-grid > :last-child,
  .best10-seasonal-page .decision-grid > :nth-child(2) { grid-column: 1; grid-row: auto; padding: var(--space-5) 0 0; border-left: 0; border-bottom: 0; border-top: var(--border); }
  .best10-seasonal-page .decision-grid > :first-child { padding-top: 0; border-top: 0; }
  .best10-seasonal-page .faq-list { width: 100%; }
  .best10-seasonal-page .reservation-form__fields { grid-template-columns: 1fr; }
}

@media (max-width: 38.75rem) {
  .best10-seasonal-page .seasonal-hero__copy .button,
  .best10-seasonal-page .group-feature__copy .button,
  .best10-seasonal-page .reservation-form__actions .button,
  .best10-seasonal-page .closing-note__content .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .best10-seasonal-page.js-ready [data-reveal] { opacity: 1; transform: none; transition: none; }
}
