/* polish.css: review overrides, loaded last.
   1. Sections take their content's height (no half-empty screens), except the hero and moment sections.
   2. Moment sections keep their screens but centre what they hold.
   3. A .fill block keeps a real height once its section is no longer a fixed screen.
   4. The close's button is a normal large button, not a bar across the page. */

:root { --pad-sec: clamp(88px, 10vw, 144px); }

main > :is(section, .section):not(.hero, .section--hero, [data-moment]):not(:has([data-moment])) {
  height: auto !important; min-height: 0 !important;
  padding-top: var(--pad-sec) !important; padding-bottom: var(--pad-sec) !important;
}
main > :is(section, .section):not(.hero, .section--hero, [data-moment]):not(:has([data-moment])) > :is(.wrap, .container) {
  height: auto; flex: none;
}
main > :is(section, .section).g2:not([data-moment]):not(:has([data-moment])) > :is(.wrap, .container) {
  grid-template-rows: auto auto; row-gap: var(--s-9, 96px);
}
main > :is(section, .section):not(.hero, .section--hero):not(:has([data-moment])) :is(.fill, .group > .fill) {
  flex: none; min-height: clamp(320px, 46vh, 560px);
}

/* moment sections: keep the screen, centre the content in it */
main > :is(section, .section):is([data-moment], :has([data-moment])) > .wrap:not(.grid) { justify-content: center; }

/* closing footer: its own height, a sane gap to the links */
footer.closing {
  height: auto !important; min-height: 0 !important;
  padding-top: var(--pad-sec) !important;
}
footer.closing > .wrap { height: auto; grid-template-rows: auto auto !important; row-gap: clamp(72px, 8vw, 120px) !important; }
.closing__cta > .btn--xl { align-self: flex-start !important; width: auto !important; min-width: 240px; }

/* footer columns: one link per line */
.closing__links .footer__col a, .footer__col a { display: block; }
.closing__links .footer__col a + a { margin-top: var(--s-2, 8px); }

@media (max-width: 639px) {
  :root { --pad-sec: 72px; }
  .closing__cta > .btn--xl { align-self: stretch !important; width: 100% !important; }
}

/* nav links not wrapped in .nav__item sit at the bar's top: centre them */
.nav__links { align-items: center; }
