@charset "UTF-8";

/* October 7: global centered typography. Component geometry stays responsive;
   the three reference compositions are a separate, pending implementation. */
.pl-main,
.pl-header,
.pl-footer,
.pl-cta-bar,
.pl-data-stream,
.pl-pricing__row dd,
.plab-regform__input {
    text-align: center;
}

.pl-head,
.pl-hero__copy,
.pl-offer-intro,
.pl-update-prose,
.pl-coverage__notes,
.pl-footer__text,
.pl-footer__disclaimer,
.pl-footer__rights {
    margin-inline: auto;
}

.pl-head,
.plab-countdown,
.pl-update-prose {
    justify-items: center;
}

.plab-countdown {
    grid-template-columns: minmax(0, 1fr);
}

.pl-action-card__icon,
.pl-risk__checkpoint,
.pl-update-prose > .pl-disc {
    margin-inline: auto;
}

.pl-head .pl-h2,
.pl-head .pl-lead {
    margin-inline: auto;
}

.pl-update-prose,
.pl-coverage__notes,
.pl-role-context {
    max-width: 64ch;
}

.pl-action-card__copy > p,
.pl-team-note p,
.pl-update-note,
.pl-plan__body > p {
    max-width: 64ch;
    margin-inline: auto;
}
.pl-actions, .pl-pricing__price, .pl-pricing__row dd, .pl-footer__legal-menu, .pl-footer .pl-phone{
    justify-content: center;
}

.pl-plan__body {
    align-items: center;
}

.pl-plan__body h3 {
    width: 100%;
}

.pl-risk__stage {
    padding-inline: 0;
}

.pl-risk__stage:not(:last-child)::after {
    left: calc(50% + 4rem);
    right: calc(-50% + 1rem);
}

.pl-risk__context {
    flex-direction: column;
    justify-content: center;
}

.pl-data-stream {
    text-align: center;
}

.pl-pricing__row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
}

.pl-pricing__row dd {
    gap: .35rem 1rem;
}

.pl-faq__q {
    grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
}

.pl-faq__a {
    padding-inline: clamp(1.25rem, 3vw, 3rem);
}

.plab-regform__consent {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: .75rem;
}

.plab-regform__consent .plab-regform__error {
    grid-column: 1;
}

.plab-regform__success {
    grid-template-columns: 1fr;
    justify-items: center;
}

.pl-footer__grid > * {
    min-width: 0;
}

.pl-footer .pl-phone {
    flex-wrap: wrap;
}

.pl-footer__legal-inner {
    justify-items: center;
}

@media (min-width: 1100px) {
    /* Montserrat needs more room than Manrope for the same navigation copy. */
    .pl-nav__link {
        padding-inline: clamp(.55rem, .7vw, 1rem);
    }
}

@media (max-width: 1099px) {
    .pl-nav__link {
        padding-inline: 2.5rem;
    }

    html:not(.pl-js) .pl-nav__list {
        justify-content: center;
    }

    .pl-hero__copy {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .pl-pillars {
        text-align: center;
    }

    .pl-pillars__item {
        grid-template-columns: minmax(0, 1fr);
        justify-items: center;
        gap: 1rem;
    }

    .pl-pillars__item:not(:last-child)::before {
        display: none;
    }

    .pl-pillars__body {
        max-width: 34ch;
        padding-top: 0;
    }

    .plab-countdown__units {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: .5rem;
    }

    .plab-countdown__unit {
        padding-inline: 0;
    }

    .plab-countdown__name {
        font-size: .8125rem;
    }

    .plab-countdown__unit + .plab-countdown__unit::before {
        left: -.45rem;
        width: .4rem;
        height: .4rem;
    }

    .pl-hero__launch {
        justify-content: center;
    }

    .pl-risk__stage {
        display: block;
        padding-bottom: 1.5rem;
    }

    .pl-risk__checkpoint {
        margin: 0 auto 1.5rem;
    }

    .pl-risk__stage:not(:last-child)::after {
        left: 50%;
        right: auto;
        top: 100%;
        bottom: auto;
        width: 1px;
        height: 1.5rem;
    }

    .pl-data-stream {
        flex-direction: column;
        align-items: center;
    }

    .pl-data-stream__icon {
        align-self: center;
    }

    .pl-pricing__row {
        grid-template-columns: 1fr;
        gap: .5rem;
    }

    .pl-faq__q {
        grid-template-columns: 1.625rem minmax(0, 1fr) 1.625rem;
    }

    .pl-footer__line {
        white-space: normal;
    }
}
