/* Update id: CX-NKRP */

.cloudflare-family-catalog {
    margin-top: clamp(4rem, 8vw, 7rem);
}

.cloudflare-family-catalog__group {
    margin-top: 2.25rem;
    padding-top: 1.5rem;
    border-top: 1px solid var(--corporate-line, #dfe3e5);
}

.cloudflare-family-catalog__group > header {
    display: grid;
    grid-template-columns: minmax(14rem, .7fr) minmax(18rem, 1.3fr);
    gap: 2rem;
    align-items: start;
    margin-bottom: 1.25rem;
}

.cloudflare-family-catalog__group > header h3 {
    margin: 0;
    font-size: clamp(1.35rem, 2.5vw, 2rem);
}

.cloudflare-family-catalog__group > header p {
    margin: 0;
    color: var(--corporate-muted, #aeb6bc);
    line-height: 1.65;
}

.cloudflare-family-catalog__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--corporate-line, #dfe3e5);
    border-radius: 1rem;
    background: var(--corporate-line, #dfe3e5);
}

.cloudflare-family-catalog__grid article {
    display: flex;
    min-height: 17rem;
    flex-direction: column;
    padding: 1.5rem;
    background: var(--corporate-white, #fff);
}

.cloudflare-family-catalog__grid article > span {
    align-self: flex-start;
    padding: .3rem .55rem;
    border: 1px solid rgba(246, 130, 31, .45);
    border-radius: 999px;
    color: var(--corporate-orange-dark, #b44412);
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cloudflare-family-catalog__grid h4 {
    margin: 1.15rem 0 .65rem;
    font-size: 1.1rem;
}

.cloudflare-family-catalog__grid p {
    margin: 0 0 1.25rem;
    color: var(--corporate-muted, #aeb6bc);
    line-height: 1.55;
}

.cloudflare-family-catalog__grid a {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    margin-top: auto;
    color: var(--corporate-orange-dark, #b44412);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
}

.cloudflare-family-catalog__grid a:hover,
.cloudflare-family-catalog__grid a:focus-visible {
    color: #ffb06f;
}

.corporate-service-sources {
    flex-wrap: wrap;
}

@media (max-width: 980px) {
    .cloudflare-family-catalog__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .cloudflare-family-catalog__group > header,
    .cloudflare-family-catalog__grid {
        grid-template-columns: 1fr;
    }

    .cloudflare-family-catalog__grid article {
        min-height: 0;
    }
}


.cloudflare-one-faq details { padding: 1.2rem 0; border-bottom: 1px solid var(--corporate-line, #dfe3e5); }
.cloudflare-one-faq summary { cursor: pointer; font-weight: 700; }
.cloudflare-one-faq p { max-width: 75ch; margin: 1rem 0 0; line-height: 1.7; color: var(--corporate-muted); }
.cloudflare-one-explainer { margin-bottom: 4rem; }
.cloudflare-family-catalog__grid h3 { font-size: 1.25rem; margin: 1rem 0; }
#plans, #capabilities { scroll-margin-top: 6rem; }

.corporate-service-page--cloudflare .corporate-plan > strong small {
    display: block;
    margin-top: .5rem;
    font-size: .82rem;
    line-height: 1.5;
}
