/* Page rhythm: section edges, subsection breaks, then heading-to-content gaps.
   Compact interactive scenes retain their internal dimensions. */
:root{
 --section-content-gap:clamp(1.5rem,3vw,2.5rem);
 --section-group-gap:clamp(2.5rem,5vw,4.5rem);
}
/* Every main chapter uses the same responsive edge spacing. */
main>#inside,
main>.who-section,
main>#community,
main>#results,
main>#faq,
main>#opportunities>.section,
main>.nest-backdrop>.nest-section{padding-block:var(--section-space)}
/* Place the extra air outside the measured, sticky curator screen. */
main>#mentor{margin-block:max(0px,calc(var(--section-space) - var(--mentor-inset)));margin-bottom:0}
main>#opportunities>.section{padding-top:clamp(32px,4vw,56px)}
/* Preserve the compact pricing screen while matching the adjacent chapter gaps. */
main>#plans{margin-block:max(0px,calc(var(--section-space) - var(--plans-edge-space)))}
main>.closing{padding-block:0}
main>.closing>.closing-surface{padding-block:var(--section-space)}
/* Related material is closer together than separate chapters. */
#inside>.section-heading{margin-bottom:var(--section-content-gap)}
.who-section>.audience-cards{margin-top:var(--section-content-gap)}
#opportunities .opportunity-route{margin-top:var(--section-group-gap);padding-top:0}
#opportunities .opportunity-feedback{margin-top:var(--section-content-gap)}
#nest>.nest-intro{margin-block:var(--section-content-gap)}
#nest>.nest-discography{
 margin-top:calc(var(--section-group-gap) / 2);
 padding-top:calc(var(--section-group-gap) / 2);
 gap:var(--section-content-gap);
}
#nest>.nest-discography h3{margin-block:0}
/* The film's feathered edge follows the section padding at every breakpoint. */
#nest .discography-film{bottom:calc(-1 * var(--section-space))}
#results>.results-grid{margin-top:var(--section-content-gap)}
#plans .onboarding{margin-top:var(--section-group-gap)}
#plans .onboarding-grid{margin-top:var(--section-content-gap)}
