.public-pricing-table {
    padding-block: clamp(3rem, 7vw, 5rem);
    color: #0c1c49;
    background: #f7f8fb;
}

.public-pricing-table__title {
    margin: 0 0 1.5rem;
    font-size: clamp(2.1rem, 4vw, 3rem);
    font-weight: 300;
    line-height: 1.18;
    letter-spacing: clamp(0.04rem, 0.15vw, 0.1rem);
    text-align: center;
}

.public-pricing-table__title::after {
    display: block;
    width: clamp(4rem, 9vw, 6rem);
    height: .25rem;
    margin: 1rem auto 0;
    background: #fec800;
    content: "";
}

.public-pricing-table__copy {
    max-width: none;
    font-size: clamp(1.05rem, 1.7vw, 1.2rem);
    line-height: 1.55;
}

.public-pricing-table__copy > :first-child { margin-top: 0; }
.public-pricing-table__copy > :last-child { margin-bottom: 0; }
.public-pricing-table__validity {
    margin: 1.5rem 0 .75rem;
    font-weight: 600;
    text-align: center;
}

.public-pricing-table__scroll {
    overflow-x: auto;
    margin-top: 1rem;
    border: 1px solid rgba(12, 28, 73, .16);
    border-radius: .75rem;
    background: #fff;
}

.public-pricing-table__scroll:focus-visible { outline: .2rem solid #fec800; outline-offset: .2rem; }
.public-pricing-table table { width: 100%; min-width: 42rem; border-collapse: collapse; }
.public-pricing-table th,
.public-pricing-table td { padding: 1rem 1.25rem; border-bottom: 1px solid rgba(12, 28, 73, .12); text-align: right; }
.public-pricing-table th:first-child { text-align: left; }
.public-pricing-table thead th { color: #fff; background: #0c1c49; }
.public-pricing-table tbody tr:last-child > * { border-bottom: 0; }
.public-pricing-table tbody small { display: block; margin-top: .2rem; color: #6b5410; font-weight: 600; }
.public-pricing-table__copy--bottom { margin-top: 1.5rem; }
.public-pricing-table__unavailable { margin: 2rem 0 0; text-align: center; }

@media (max-width: 47.99rem) {
    .public-pricing-table__scroll { margin-inline: calc(var(--site-gutter, 1.25rem) * -.25); }
    .public-pricing-table th,
    .public-pricing-table td { padding: .85rem 1rem; }
}
