@layer pages {
    .pv2-events-hero {
        padding-block: 92px 84px;
        background: var(--pv2-navy);
        color: #cbd5e1;
    }

    .pv2-events-hero__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
        align-items: end;
        gap: 100px;
    }

    .pv2-events-hero h1,
    .pv2-event-detail-hero h1 {
        max-width: 850px;
        margin: 0;
        color: var(--pv2-white);
        font-size: clamp(46px, 5vw, 70px);
        letter-spacing: -.052em;
        line-height: 1.05;
    }

    .pv2-events-hero .pv2-eyebrow,
    .pv2-event-detail-hero .pv2-eyebrow,
    .pv2-event-bridge .pv2-eyebrow {
        color: #78a7ff;
    }

    .pv2-events-hero__lead {
        max-width: 720px;
        margin: 28px 0 0;
        color: #cbd5e1;
        font-size: 21px;
        line-height: 1.55;
    }

    .pv2-events-legend {
        border-top: 1px solid #395065;
    }

    .pv2-events-legend__row {
        display: grid;
        grid-template-columns: 110px minmax(0, 1fr);
        gap: 20px;
        padding-block: 18px;
        border-bottom: 1px solid #395065;
    }

    .pv2-events-legend__row strong {
        color: var(--pv2-white);
    }

    .pv2-events-section--archive {
        background: var(--pv2-off-white);
    }

    .pv2-events-section-head {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 80px;
        margin-bottom: 50px;
    }

    .pv2-events-section-head h2 {
        margin: 0;
        font-size: clamp(35px, 3.5vw, 50px);
        letter-spacing: -.04em;
        line-height: 1.08;
    }

    .pv2-events-section-head > p {
        margin: 4px 0 0;
        font-size: 19px;
    }

    .pv2-events-list {
        border-top: 1px solid var(--pv2-border);
    }

    .pv2-event-row {
        display: grid;
        grid-template-columns: 170px minmax(0, 1fr) 120px;
        align-items: start;
        gap: 38px;
        padding-block: 36px;
        border-bottom: 1px solid var(--pv2-border);
    }

    .pv2-event-datebox {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        align-items: center;
        gap: 14px;
        color: var(--pv2-muted);
        text-decoration: none;
    }

    .pv2-event-datebox__day {
        color: var(--pv2-navy);
        font-size: 44px;
        font-weight: 760;
        line-height: 1;
    }

    .pv2-event-datebox__month {
        display: block;
        color: var(--pv2-cobalt);
        font-size: 13px;
        font-weight: 800;
        letter-spacing: .08em;
        line-height: 1.3;
        text-transform: uppercase;
    }

    .pv2-event-datebox__year {
        display: block;
        margin-top: 2px;
        font-size: 14px;
    }

    .pv2-event-datebox--archive {
        display: flex;
        min-height: 44px;
        align-items: center;
        color: var(--pv2-muted);
        font-size: 14px;
    }

    .pv2-event-status,
    .pv2-event-featured {
        display: inline-block;
        color: var(--pv2-cobalt);
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .1em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .pv2-event-status--muted {
        color: var(--pv2-muted);
    }

    .pv2-event-featured {
        margin-left: 12px;
        color: var(--pv2-muted);
    }

    .pv2-event-row h3 {
        margin: 6px 0 10px;
        color: var(--pv2-navy);
        font-size: 25px;
        line-height: 1.25;
    }

    .pv2-event-title-link {
        min-height: 44px;
        display: flex;
        align-items: center;
        color: var(--pv2-navy);
        text-decoration: none;
        text-underline-offset: 5px;
    }

    .pv2-event-title-link:hover {
        color: var(--pv2-cobalt);
        text-decoration: underline;
    }

    .pv2-event-row__content > p {
        max-width: 720px;
        margin: 0;
    }

    .pv2-event-meta {
        display: flex;
        flex-wrap: wrap;
        gap: 8px 22px;
        margin-top: 14px;
        color: var(--pv2-muted);
        font-size: 14px;
    }

    .pv2-event-row__action {
        justify-self: end;
        margin-top: 36px;
    }

    .pv2-events-empty {
        padding: 34px 0;
        border-block: 1px solid var(--pv2-border);
    }

    .pv2-events-empty h3 {
        margin: 0 0 8px;
        color: var(--pv2-navy);
        font-size: 25px;
        line-height: 1.25;
    }

    .pv2-events-empty > p:not(.pv2-eyebrow) {
        margin: 0;
    }

    .pv2-event-detail-hero {
        padding-block: 72px 86px;
        background: var(--pv2-navy);
        color: #cbd5e1;
    }

    .pv2-event-back {
        color: #e2e8f0;
    }

    .pv2-event-detail-hero__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
        align-items: end;
        gap: 90px;
        margin-top: 34px;
    }

    .pv2-event-detail-hero__summary {
        max-width: 760px;
        margin: 26px 0 0;
        color: #cbd5e1;
        font-size: 20px;
        line-height: 1.55;
    }

    .pv2-event-facts {
        border-top: 1px solid #395065;
    }

    .pv2-event-fact {
        display: grid;
        grid-template-columns: 90px minmax(0, 1fr);
        gap: 4px 22px;
        padding-block: 19px;
        border-bottom: 1px solid #395065;
    }

    .pv2-event-fact > span {
        grid-row: span 2;
        color: #78a7ff;
        font-size: 12px;
        font-weight: 800;
        letter-spacing: .1em;
        line-height: 1.35;
        text-transform: uppercase;
    }

    .pv2-event-fact strong {
        color: var(--pv2-white);
        font-weight: 700;
    }

    .pv2-event-fact small {
        color: #cbd5e1;
        font-size: 14px;
    }

    .pv2-event-detail-body {
        padding-block: 96px;
    }

    .pv2-event-detail-body__grid {
        display: grid;
        grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr);
        gap: 100px;
    }

    .pv2-event-detail-intro h2,
    .pv2-event-related-section h2,
    .pv2-event-bridge h2 {
        margin: 0;
        color: var(--pv2-navy);
        font-size: 42px;
        letter-spacing: -.04em;
        line-height: 1.12;
    }

    .pv2-event-detail-intro > p:last-child {
        margin-top: 16px;
        font-size: 19px;
    }

    .pv2-event-prose {
        max-width: 760px;
        padding-top: 30px;
        border-top: 1px solid var(--pv2-border);
        font-size: 18px;
        line-height: 1.78;
    }

    .pv2-event-prose p {
        margin: 0 0 25px;
    }

    .pv2-event-related-section {
        background: var(--pv2-off-white);
        border-top: 1px solid var(--pv2-border);
    }

    .pv2-event-related-section__grid {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 90px;
    }

    .pv2-event-related-section h2 {
        font-size: 40px;
    }

    .pv2-event-related-section > .pv2-container > div:first-child > p:last-child {
        max-width: 560px;
        margin-top: 16px;
    }

    .pv2-event-related-list {
        border-top: 1px solid var(--pv2-border);
    }

    .pv2-event-related-item {
        padding-block: 20px;
        border-bottom: 1px solid var(--pv2-border);
    }

    .pv2-event-related-item h3 {
        margin: 7px 0 8px;
        color: var(--pv2-navy);
        font-size: 22px;
        line-height: 1.25;
    }

    .pv2-event-related-item p {
        margin: 0;
    }

    .pv2-event-related-item time {
        display: block;
        margin-top: 10px;
        color: var(--pv2-muted);
        font-size: 14px;
    }

    .pv2-event-bridge {
        padding-block: 78px;
        background: var(--pv2-white);
    }

    .pv2-event-bridge__grid {
        display: grid;
        grid-template-columns: minmax(0, 1.25fr) minmax(210px, .75fr);
        align-items: end;
        gap: 70px;
    }

    .pv2-event-bridge h2 {
        font-size: 40px;
    }

    .pv2-button--outline {
        justify-self: end;
        border-color: var(--pv2-navy);
        background: transparent;
        color: var(--pv2-navy);
    }

    .pv2-button--outline:hover {
        background: var(--pv2-navy);
        color: var(--pv2-white);
    }

    @media (max-width: 1023px) {
        .pv2-events-hero__grid,
        .pv2-event-detail-hero__grid,
        .pv2-event-detail-body__grid,
        .pv2-event-related-section__grid,
        .pv2-event-bridge__grid,
        .pv2-events-section-head {
            grid-template-columns: 1fr;
            gap: 42px;
        }

        .pv2-event-row {
            grid-template-columns: 150px minmax(0, 1fr);
        }

        .pv2-event-row__action {
            grid-column: 2;
            justify-self: start;
            margin-top: 0;
        }

        .pv2-button--outline {
            justify-self: start;
        }
    }

    @media (max-width: 639px) {
        .pv2-events-hero {
            padding-block: 58px 64px;
        }

        .pv2-events-hero h1,
        .pv2-event-detail-hero h1 {
            font-size: 40px;
        }

        .pv2-events-hero__lead,
        .pv2-event-detail-hero__summary {
            font-size: 18px;
        }

        .pv2-events-legend__row {
            grid-template-columns: 90px minmax(0, 1fr);
        }

        .pv2-events-section-head {
            margin-bottom: 36px;
        }

        .pv2-events-section-head h2 {
            font-size: 35px;
        }

        .pv2-event-row {
            grid-template-columns: 1fr;
            gap: 18px;
            padding-block: 30px;
        }

        .pv2-event-row__action {
            grid-column: auto;
        }

        .pv2-event-datebox--archive {
            min-height: 44px;
        }

        .pv2-event-detail-hero {
            padding-block: 44px 60px;
        }

        .pv2-event-detail-hero__grid {
            margin-top: 22px;
        }

        .pv2-event-detail-body {
            padding-block: 64px;
        }

        .pv2-event-detail-intro h2,
        .pv2-event-related-section h2,
        .pv2-event-bridge h2 {
            font-size: 34px;
        }

        .pv2-event-prose {
            font-size: 17px;
        }

        .pv2-event-related-section {
            padding-block: 64px;
        }

        .pv2-event-bridge {
            padding-block: 64px;
        }

        .pv2-button--outline {
            width: 100%;
        }
    }
}
