/**
 * Retreat landing — inter-section rhythm (item P1, build-tracker.md).
 *
 * DECISION (P1 owns this): consecutive sections render FLUSH against each
 * other, with zero added gap between them. The comp (frame 1:561) shows no
 * visible seam between sections — the vertical rhythm reader sees is
 * entirely supplied by each section's OWN padding-block (see each
 * section's own sections/retreat/*.css for its padding value) or, for
 * the two full-bleed grain bands (hero, join), the band's own internal
 * padding on its inner wrapper.
 *
 * ── R2-4 update (2026-08-16) — rhythm VALUE, not just the zero-gap rule ──
 * P1 originally had every white/flow section (how-it-works, leave-with,
 * guides, story, testimonials, logistics, who-for, what-this-isnt) at a flat
 * var(--space-100) padding-block (100/64/48). Since sections render flush
 * (this file's own rule), that made every seam TWO section paddings stacked
 * — ~200px desktop against a comp that measures 55-128px (avg ~90-100px)
 * across all 9 seams. R2-4 (Alain's feedback round 2) introduced a single
 * shared page token, `--retreat-section-pad` (sections/retreat/
 * token-overrides.css — 48/32/24 desktop/1024/768, a bespoke halving of the
 * old --space-100 chain, not --space-48's own cascade), which every one of
 * those 8 sections now consumes for its OWN padding-block instead of
 * var(--space-100) directly. Landing seam: 2 x 48 = 96px desktop, centered
 * in the comp's typical band. ONE documented exception: what-this-isnt's
 * padding-BOTTOM stays large (calc(--space-2xl + --space-100), ~220px
 * desktop) because it's the section immediately before the join band, and
 * the comp shows a deliberately bigger ~228px break before the finale band
 * — see what-this-isnt.css's own header comment for the exact math. Band-
 * internal paddings (hero __inner, join inner, story panel, leave-with/
 * testimonials card insets) are NOT section rhythm and were left alone —
 * this file's "own padding-block" framing above already only ever meant the
 * section WRAPPER's padding, not any card/panel nested inside it.
 *
 * Why this file exists even though the rule below changes nothing today:
 * the page-retreat template (templates/page-retreat.html) deliberately
 * omits the theme's .page-content wrapper class specifically so its
 * 120px !important inter-child margin rule (global.css /
 * utilities.css .page-content > * + *) never applies here, and
 * theme.json's root blockGap is 0. Combined, direct children of
 * .retreat-page's post-content already render flush with NO extra
 * margin — that's what the explicit rule below locks in. Without this
 * file, that flush rhythm is an unowned side effect of two unrelated
 * settings (template markup + theme.json default) that a future editor
 * change (e.g. a client picking a "gap" block-spacing value in Settings,
 * or the theme.json blockGap default changing site-wide) could silently
 * break. This file makes the zero-gap decision explicit, scoped, and
 * editable in one place, per build-tracker.md P1's rhythm mandate.
 *
 * Verified live (2026-08-15, page 494, 1440 viewport): every section's
 * computed marginTop/marginBottom was already 0px and section N's bottom
 * === section N+1's top for the full run hero→...→join→footer (no gaps,
 * no double-spacing stacks). This rule is a defensive lock-in of that
 * already-correct state, not a fix for a visible bug.
 *
 * Scope: only the direct section children of the retreat page's
 * post-content, inside .retreat-page (template-scoped, decision-log #12).
 * Never touches .page-content elsewhere on the site.
 */
.retreat-page > .wp-block-post-content > * {
	margin-block: 0;
}
