
/* =========================================================
   GENERIC PAGE
   ========================================================= */

.generic-page {
    background: var(--even-bg);
    color: var(--even-black);
}


/* HERO */

.generic-page__hero {
    padding: 90px 0 54px;
}

.generic-page__hero-inner {
    max-width: 980px;
}

.generic-page__hero .brutal-kicker {
    display: inline-flex;
    margin-bottom: 18px;
}

.generic-page__hero h1 {
    max-width: 980px;
    margin: 0;

    font-size: clamp(
        var(--even-h1-mobile),
        8vw,
        var(--even-h1-desktop)
    );

    line-height: .88;
    letter-spacing: -.05em;
    text-transform: uppercase;
}

.generic-page__hero-text {
    max-width: 780px;
    margin: 26px 0 0;

    font-size: clamp(
        var(--even-body-mobile),
        2vw,
        22px
    );

    line-height: 1.55;
}


/* FEATURED IMAGE */

.generic-page__cover {
    padding-bottom: 64px;
}

.generic-page__cover-frame {
    margin: 0;
    overflow: hidden;

    border: var(--even-border-width) solid var(--even-border);
    border-radius: var(--even-radius);

    box-shadow:
        var(--even-shadow-x)
        var(--even-shadow-y)
        0
        var(--even-border);
}

.generic-page__cover-frame img {
    display: block;
    width: 100%;
    height: auto;
}


/* CONTENT */

.generic-page__content {
    padding: 32px 0 90px;
}

.generic-page__content-inner {
    width: min(100%, var(--even-article-width));
    margin: 0 auto;
}

.generic-page__content-inner > *:first-child {
    margin-top: 0;
}

.generic-page__content-inner p,
.generic-page__content-inner li {
    font-size: var(--even-body-desktop);
    line-height: 1.7;
}

.generic-page__content-inner p {
    margin: 0 0 1.4em;
}

.generic-page__content-inner h2 {
    margin: 1.5em 0 .55em;

    font-size: clamp(
        var(--even-h2-mobile),
        5vw,
        var(--even-h2-desktop)
    );

    line-height: .95;
    letter-spacing: -.035em;
    text-transform: uppercase;
}

.generic-page__content-inner h3 {
    margin: 1.5em 0 .55em;

    font-size: clamp(
        var(--even-article-h3-mobile),
        4vw,
        var(--even-article-h3-desktop)
    );

    line-height: 1;
}

.generic-page__content-inner h4 {
    margin: 1.4em 0 .5em;
    font-size: 22px;
}

.generic-page__content-inner ul,
.generic-page__content-inner ol {
    margin: 1.5em 0;
    padding-left: 24px;
}

.generic-page__content-inner li + li {
    margin-top: 8px;
}

.generic-page__content-inner a {
    color: inherit;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.generic-page__content-inner blockquote {
    margin: 34px 0;
    padding: 24px 28px;

    background: var(--even-yellow);

    border: var(--even-border-width) solid var(--even-border);
    border-radius: var(--even-radius);

    box-shadow:
        5px
        5px
        0
        var(--even-border);

    font-weight: 800;
}

.generic-page__content-inner figure,
.generic-page__content-inner .wp-block-image,
.generic-page__content-inner .wp-block-uagb-image {
    margin: 36px 0;
}

.generic-page__content-inner img {
    max-width: 100%;
    height: auto;
    border-radius: var(--even-radius);
}

.generic-page__content-inner .alignwide {
    width: min(1100px, calc(100vw - 40px));
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}

.generic-page__content-inner .alignfull {
    width: 100vw;
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
}


/* CTA */

.generic-page__cta {
    padding: 0 0 90px;
}

.generic-page__cta-box {
    padding: clamp(36px, 6vw, 72px);

    background: var(--even-blue);
    color: #fff;

    border: var(--even-border-width) solid var(--even-border);
    border-radius: var(--even-radius);

    box-shadow:
        var(--even-shadow-x)
        var(--even-shadow-y)
        0
        var(--even-border);
}

.generic-page__cta-box h2 {
    max-width: 800px;
    margin: 14px 0 22px;

    font-size: clamp(
        var(--even-h2-mobile),
        6vw,
        var(--even-h2-desktop)
    );

    line-height: .92;
    letter-spacing: -.04em;
    text-transform: uppercase;
}

.generic-page__cta-box p {
    max-width: 700px;
    margin: 0 0 28px;

    font-size: clamp(
        var(--even-body-mobile),
        2vw,
        21px
    );

    line-height: 1.55;
}


/* TABLET */

@media (max-width: 900px) {

    .generic-page__hero {
        padding-top: 72px;
    }

    .generic-page__content {
        padding-bottom: 72px;
    }

    .generic-page__cta {
        padding-bottom: 72px;
    }
}


/* MOBILE */

@media (max-width: 560px) {

    .generic-page__hero {
        padding: 54px 0 36px;
    }

    .generic-page__cover {
        padding-bottom: 44px;
    }

    .generic-page__content {
        padding: 20px 0 60px;
    }

    .generic-page__content-inner p,
    .generic-page__content-inner li {
        font-size: var(--even-body-mobile);
    }

    .generic-page__content-inner .alignwide {
        width: calc(100vw - 24px);
    }

    .generic-page__cta {
        padding-bottom: 60px;
    }

    .generic-page__cta-box {
        padding: 30px 24px;
    }
}
