.container {
    width: min(calc(100% - 2rem), var(--max-width));
    margin-inline: auto;
}

.section {
    padding: var(--space-16) 0;
}

.section-heading {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: var(--space-8);
    margin-bottom: var(--space-8);
}

.section-heading p {
    color: var(--color-muted);
    margin-bottom: 0;
}

.section-dark .section-heading p,
.section-maroon .section-heading p {
    color: rgba(253, 251, 247, .68);
}

.grid {
    display: grid;
    gap: var(--space-6);
}

.grid-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.split {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    gap: var(--space-12);
    align-items: center;
}

.content-narrow {
    max-width: 760px;
}

.stack>*+* {
    margin-top: var(--space-4);
}

.page-hero {
    padding: 12px 0;
    background: var(--color-charcoal);
    color: var(--color-paper);
    position: relative;
    overflow: hidden;
}

.page-hero::after {
    content: '';
    position: absolute;
    width: 28rem;
    height: 28rem;
    right: -12rem;
    top: -12rem;
    border: 1px solid rgba(215, 168, 75, .25);
    border-radius: 50%;
    box-shadow: 0 0 0 4rem rgba(215, 168, 75, .04), 0 0 0 8rem rgba(215, 168, 75, .03);
}

.page-hero .container {
    position: relative;
    z-index: 1;
}

.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    color: var(--color-gold-soft);
    font-family: var(--font-accent);
    font-size: .78rem;
    letter-spacing: .08em;
    text-transform: uppercase;
    margin-bottom: var(--space-4);
}

.breadcrumb a {
    text-decoration: none;
}

.breadcrumb a:hover {
    color: var(--color-white);
}

.hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    color: var(--color-paper);
    background: var(--color-charcoal);
}

.hero p {
    color: rgba(253, 251, 247, .8);
    font-size: clamp(1rem, 2vw, 1.25rem);
    max-width: 620px;
    margin: 0;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-8);
}