/* GS-LOTTE-SPACING-CONTRACT - 2026-08-26
 * Two defects, one root cause each, both visible on every subpage.
 *
 * 1) Header height. The fixed header measures 142px: a 4px border-top plus a
 *    138px inner. The inner's min-height of 110px never wins, because its own
 *    content is 90px and padding-block adds 2x24px on top. The token assumed
 *    the min-height would govern and stopped at 118px, so #smooth-content
 *    reserved 24px too little and every page started underneath the header -
 *    on pid 472 that clips the h1. Corrected to the measured value here;
 *    header-height-sync.js keeps it true at other widths and after webfonts
 *    swap in. This is open item E7 from the 2026-08-24 port review.
 *
 * 2) Section rhythm. Sections that still carry the pre-port gs-* names have no
 *    vertical rhythm at all: the draft stylesheets that once styled them
 *    (site.css, mandant-gs-v2.css) are no longer included, and they declared
 *    --gs-section / --gs-container, which no loaded file defines. The ported
 *    gsl-* sections read --gsl-section-pad-y and are correct at 80/96px.
 *    Map the leftover names onto that same token rather than giving them
 *    numbers of their own, so one token keeps driving the whole page rhythm.
 *
 * Deliberately NOT covered: .gs-hero (full-bleed by design), .gs-header,
 * .gs-footer, .gs-nav and the card/toggle classes - none of them are page
 * sections. Wrappers such as .min-ce stay untouched as well, otherwise the
 * already correct gsl-* sections inside them would be padded twice.
 */

:root {
  --gsl-header-height: 142px;
}

main :is(
  .gs-section-canvas,
  .gs-section-blue,
  .gs-section-red,
  .gs-section-green,
  .gs-section-yellow,
  .gs-section-orange,
  .gs-home-rubrics,
  .gs-projects
):not([class*="gsl-section"]) {
  padding-block: var(--gsl-section-pad-y);
}
