/* ASE v0.3.2 responsive grid and width system. */
.ase-site .ase-grid {
    display: grid !important;
    min-width: 0;
    gap: clamp(1rem, 2.3vw, 1.75rem);
    align-items: stretch;
}

.ase-site .ase-grid > * {
    min-width: 0;
    width: 100%;
    margin: 0;
}

.ase-site .ase-grid--3 {
    grid-template-columns: repeat(3, minmax(var(--ase-card-min), 1fr));
}

.ase-site .ase-grid--2 {
    grid-template-columns: repeat(2, minmax(var(--ase-card-min), 1fr));
}

.ase-site .ase-grid--hero {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: clamp(2rem, 5vw, 5.5rem);
    align-items: center;
}

.ase-site .ase-grid--resource {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    gap: clamp(2rem, 5vw, 4.5rem);
    align-items: center;
}

.ase-site .ase-grid--purpose-media {
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
    gap: clamp(2.25rem, 5vw, 5rem);
    align-items: center;
}

.ase-site .ase-lead-capture__card {
    grid-template-columns: minmax(0, 1fr) auto;
}

.ase-site .ase-cta {
    grid-template-columns: minmax(0, 1fr) auto;
}

@media (max-width: 960px) {
    .ase-site .ase-grid--3 {
        grid-template-columns: repeat(2, minmax(var(--ase-card-min), 1fr));
    }

    .ase-site .ase-grid--hero,
    .ase-site .ase-grid--resource,
    .ase-site .ase-grid--purpose-media {
        grid-template-columns: 1fr;
    }

    .ase-site .ase-hero__title {
        max-width: 18ch;
    }

    .ase-site .ase-hero__media,
    .ase-site .ase-resource__visual {
        max-width: 720px;
    }
}

@media (max-width: 680px) {
    .ase-site {
        --ase-gutter: 1.1rem;
        --ase-section-pad: 3.75rem;
    }

    .ase-site .ase-grid--3,
    .ase-site .ase-grid--2,
    .ase-site .ase-cta,
    .ase-site .ase-lead-capture__card {
        grid-template-columns: 1fr;
    }

    .ase-site .ase-hero__title {
        max-width: none;
        font-size: clamp(2.35rem, 11vw, 4rem) !important;
        line-height: 1.04 !important;
    }

    .ase-site .ase-section--accent .ase-buttons {
        justify-self: start;
    }

    .ase-site .ase-resource {
        padding: 1.45rem;
    }

    .ase-site .ase-resource__visual {
        min-height: 260px;
    }
}

/* v0.3.2 avoids overflow with four/five topic cards and long navigation text. */
.ase-site .ase-topic-grid,
.ase-site .ase-featured-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 960px) {
    .ase-site .ase-topic-grid,
    .ase-site .ase-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .ase-site .ase-topic-grid,
    .ase-site .ase-featured-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
