html:has(#lp-main) { scroll-padding-top: 100px; }
/* Keep the header in normal flow so the hero starts below its actual height. */
.pageAboutLp > .header { position: sticky; top: 0; }
#lp-main .sticky-cta { z-index: 90; }
#lp-main [aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
#lp-main [hidden] { display: none !important; }
#lp-main .elite-cta { margin-bottom: 64px; }
#lp-main .elite-description > p + p { margin-top: 16px; }
#lp-main[data-lp-audience="parent"] #connections { margin-bottom: 64px; }
@media (min-width: 768px) {
    #lp-main .connections-grid { row-gap: 0; }
    #lp-main .connections-grid > .connection {
        display: grid;
        grid-row: span 5;
        grid-template-rows: subgrid;
        row-gap: 0;
    }
    #lp-main #connections .connection-body {
        display: grid;
        grid-row: span 4;
        grid-template-rows: subgrid;
        row-gap: 0;
    }

    #lp-main .elite-grid { row-gap: 0; }
    #lp-main .elite-grid > .elite-card {
        display: grid;
        grid-row: span 5;
        grid-template-rows: subgrid;
        row-gap: 0;
    }
    #lp-main .elite-card > .elite-route { grid-row: 5; align-self: stretch; }
    #lp-main .elite-card > .elite-service-note { grid-row: 4; align-self: start; }

    #lp-main .plans { row-gap: 0; }
    #lp-main .plans > .plan {
        display: grid;
        grid-row: span 3;
        grid-template-rows: subgrid;
        row-gap: 0;
    }
    #lp-main .plan-content { grid-row: 1; }
    #lp-main .plans .campaign-actions { display: contents; }
    #lp-main .plans .plan .button {
        grid-row: 2;
        align-self: start;
        width: 100%;
        margin-top: 0;
    }
    #lp-main .plans .campaign-return-note { grid-row: 3; margin-top: 8px; }
}
@media (max-width: 767px) {
    #lp-main .elite-cta { margin-bottom: 40px; }
}
