/* One shared content rail keeps every homepage section on the same vertical axis. */
:root { --home-content-width: 1320px; --home-content-gutter: 20px; }

.featured-showcase,
.portfolio-showcase { padding-inline: 0; }

/* Keep the page connected: each band has room to breathe without blank-looking gaps. */
.featured-showcase { padding-block: 64px 48px; }
.portfolio-showcase { padding-block: 64px 24px; }
.events-directory { padding-top: 32px; }
.events-directory__intro { margin-bottom: 24px; }
.events-category-nav { margin-bottom: 24px; }
.event-category-band { padding-block: 46px 52px; }

.featured-showcase__head,
.featured-carousel,
.portfolio-showcase__head,
#portfolio .portfolio-grid,
.events-directory__intro,
.events-category-nav,
.event-category-band__inner,
.events-empty {
    width: min(var(--home-content-width), calc(100% - (var(--home-content-gutter) * 2)));
    max-width: var(--home-content-width);
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

@media (max-width: 620px) {
    :root { --home-content-gutter: 16px; }
    .featured-showcase,
    .portfolio-showcase { padding-block: 48px; }
    .events-directory { padding-top: 28px; }
    .event-category-band { padding-block: 38px 44px; }
}
