/* Homepage shell, section rhythm and page-level motion only. */
body.public-home-layout { overflow-x: clip; }
/* The public homepage is full-bleed; inner rails remain centered by their
   own --home-rail/max-width rules. This prevents a legacy shell width from
   leaving a blank strip on the right side of the viewport. */
body.public-home-layout .layout-runtime,
body.public-home-layout .managed-site-header,
body.public-home-layout .main-content,
body.public-home-layout .campaign-home-page {
    width: 100% !important;
    max-width: none !important;
}
.public-home-layout .main-content { overflow: clip; background: var(--home-paper); }
.public-home-layout .campaign-home-page { padding: 0 0 28px; }
.public-home-layout .campaign-home-page .managed-home-section,
.public-home-layout .campaign-home-page .home-ref-section { margin: 0; }
.public-home-layout .campaign-home-page .managed-content-section { padding-block: 14px !important; }
.public-home-layout .campaign-home-page .home-ref-shell { width: var(--home-rail); margin-inline: auto; }
.public-home-layout .campaign-home-page .home-ref-engagement { padding: 18px 0 !important; }
.public-home-layout .campaign-home-page .home-ref-engagement-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, .85fr); gap: 18px !important; }
.public-home-layout .campaign-home-page .home-ref-engagement-left,
.public-home-layout .campaign-home-page .home-ref-engagement-right { min-width: 0; border-radius: var(--home-radius) !important; overflow: hidden; }
.public-home-layout .campaign-home-page .home-ref-engagement-right { background: #fff; box-shadow: var(--home-shadow); }
.public-home-layout .campaign-home-page .managed-home-section > section { margin-block: 0 !important; }
.public-home-layout .campaign-home-page [data-managed-section] { scroll-margin-top: 88px; }
@media (prefers-reduced-motion: no-preference) {
    .public-home-layout .campaign-home-page .managed-content-section { animation: home-section-in .42s ease both; }
    @keyframes home-section-in { from { opacity: .01; transform: translateY(12px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 991.98px) { .public-home-layout .campaign-home-page .home-ref-engagement-grid { grid-template-columns: 1fr; } }
@media (max-width: 575.98px) { .public-home-layout .campaign-home-page { --home-rail: calc(100% - 24px); } .public-home-layout .campaign-home-page .managed-content-section { padding-block: 9px !important; } }
