.heritage-page {
    background: var(--color-ivory);
    overflow: hidden
}

.heritage-page .section {
    padding-block: var(--space-10)
}

.heritage-page .section--large {
    padding-block: 7rem 6rem
}

.heritage-page h1,
.heritage-page h2,
.heritage-page h3,
.heritage-page p {
    min-width: 0
}

.heritage-page a:focus-visible {
    outline: 2px solid var(--color-gold);
    outline-offset: 3px
}

.heritage-hero__grid,
.heritage-reading__grid {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    column-gap: calc(var(--space-6) + var(--space-5));
    align-items: center
}

.heritage-hero__copy {
    grid-column: 1;
    min-width: 0;
    max-width: 35rem
}

.heritage-hero__figure {
    grid-column: 2;
    min-width: 0;
    margin: 0
}

.heritage-hero__figure img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover;
    object-position: center
}

.heritage-breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin-bottom: var(--space-5);
    color: var(--color-charcoal);
    font-size: var(--text-xs);
    line-height: 1.4
}

.heritage-breadcrumbs a {
    color: var(--color-charcoal)
}

.heritage-breadcrumbs span[aria-hidden=true] {
    color: var(--color-gold)
}

.heritage-hero h1 {
    margin-bottom: var(--space-5);
    font-size: clamp(3.5rem, 6vw, 4.25rem)
}

.heritage-hero__lead {
    max-width: 35rem;
    margin-bottom: var(--space-5);
    font-size: var(--text-lg);
    line-height: 1.61
}

.heritage-arrow-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 2.75rem;
    color: var(--color-burgundy);
    font-size: var(--text-sm);
    font-weight: 700;
    text-decoration: none
}

.heritage-arrow-link span {
    transition: transform var(--transition-base)
}

a:hover .heritage-arrow-link span,
.heritage-arrow-link:hover span {
    transform: translateX(4px)
}

.heritage-section-intro {
    display: grid;
    grid-template-columns: minmax(0, 4fr) minmax(0, 5fr);
    gap: var(--space-6);
    align-items: end
}

.heritage-section-intro>*,
.heritage-themes__grid>*,
.heritage-cities__grid>*,
.heritage-reading__grid>*,
.heritage-collections__list>*,
.heritage-index__grid>*,
.heritage-plan__grid>*,
.heritage-further__grid>*,
.heritage-newsletter__panel>* {
    min-width: 0
}

.heritage-section-number {
    display: block;
    margin-bottom: var(--space-3);
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    line-height: 1
}

.heritage-section-intro p {
    max-width: 38rem;
    margin-bottom: 0
}

.heritage-themes__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin-top: var(--space-8);
    border-top: var(--border-subtle)
}

.heritage-theme-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-5);
    border-right: var(--border-subtle);
    color: var(--color-charcoal);
    text-decoration: none
}

.heritage-theme-card:first-child {
    padding-left: 0
}

.heritage-theme-card:last-child {
    border-right: 0
}

.heritage-theme-card h3,
.heritage-city-card h3,
.heritage-principle h3,
.heritage-collection h3,
.heritage-index-item h3,
.heritage-plan-card h3,
.heritage-further-card h3 {
    margin: 0
}

.heritage-theme-card p {
    max-width: 28rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.55
}

.heritage-theme-card__number {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: 2.5rem;
    line-height: 1
}

.heritage-theme-card__number--rose {
    padding: var(--space-2);
    background: var(--color-rose)
}

.heritage-theme-card__label {
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.heritage-theme-card .heritage-arrow-link {
    margin-top: auto
}

.heritage-theme-card:hover h3,
.heritage-city-card:hover h3,
.heritage-further-card:hover h3 {
    color: var(--color-burgundy)
}

.heritage-cities__intro {
    max-width: 38rem
}

.heritage-cities__intro .lead {
    max-width: 34rem
}

.heritage-cities__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-8)
}

.heritage-city-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    color: var(--color-charcoal);
    text-decoration: none
}

.heritage-city-card__media {
    display: block;
    overflow: hidden
}

.heritage-city-card__media img {
    width: 100%;
    aspect-ratio: 4/5;
    object-fit: cover;
    transition: transform var(--transition-base)
}

.heritage-city-card:hover .heritage-city-card__media img {
    transform: scale(1.03)
}

.heritage-city-card__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: 0;
    padding-top: var(--space-4)
}

.heritage-city-card__content p {
    max-width: 28rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.6
}

.heritage-city-card__content .heritage-arrow-link {
    margin-top: auto
}

.heritage-cities__cta {
    margin-top: var(--space-6)
}

.heritage-reading {
    background: var(--color-paper)
}

.heritage-reading__figure {
    grid-column: 1;
    min-width: 0;
    margin: 0
}

.heritage-reading__figure img {
    width: 100%;
    aspect-ratio: 3/2;
    object-fit: cover
}

.heritage-reading__content {
    grid-column: 2;
    min-width: 0;
    max-width: 42rem
}

.heritage-reading__principles {
    display: flex;
    flex-direction: column;
    gap: var(--space-5);
    margin-top: var(--space-6)
}

.heritage-principle {
    display: grid;
    grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
    gap: var(--space-4);
    min-width: 0;
    padding-top: var(--space-4);
    border-top: 1px solid var(--color-gold)
}

.heritage-principle>span {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    line-height: 1
}

.heritage-principle>div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: 0
}

.heritage-principle p {
    max-width: 34rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.62
}

.heritage-collections__intro {
    max-width: 42rem
}

.heritage-collections__intro p {
    max-width: 35rem
}

.heritage-collections__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    margin-top: var(--space-7)
}

.heritage-collection {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 4fr) minmax(0, 4fr) minmax(0, 2fr);
    gap: var(--space-5);
    align-items: center;
    min-width: 0;
    padding: var(--space-5) 0;
    border-top: var(--border-subtle);
    color: var(--color-charcoal);
    text-decoration: none
}

.heritage-collection--paper {
    padding-inline: var(--space-5);
    background: var(--color-paper)
}

.heritage-collection__meta {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.heritage-collection__meta b {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    font-weight: 400;
    letter-spacing: 0
}

.heritage-collection__meta--rose b {
    display: inline-flex;
    width: max-content;
    padding: var(--space-2);
    background: var(--color-rose)
}

.heritage-collection p {
    max-width: 34rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.6
}

.heritage-index {
    background: var(--color-paper)
}

.heritage-index__intro {
    max-width: 28rem
}

.heritage-index__intro p {
    max-width: 26rem
}

.heritage-index__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--space-7);
    margin-top: var(--space-7)
}

.heritage-index-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--space-4);
    align-items: center;
    min-width: 0;
    min-height: 9rem;
    padding: var(--space-5) 0;
    border-top: var(--border-subtle);
    color: var(--color-charcoal);
    text-decoration: none
}

.heritage-index-item h3 {
    grid-column: 1;
    font-size: clamp(1.875rem, 3vw, 2.25rem)
}

.heritage-index-item p {
    grid-column: 1;
    max-width: 26rem;
    margin: var(--space-2) 0 0;
    font-size: var(--text-sm);
    line-height: 1.55
}

.heritage-index-item>span {
    grid-column: 2;
    grid-row: 1/3;
    color: var(--color-burgundy);
    font-size: 1.5rem;
    transition: transform var(--transition-base)
}

.heritage-index-item:hover h3 {
    color: var(--color-burgundy)
}

.heritage-index-item:hover>span {
    transform: translateX(4px)
}

.heritage-index-item--last {
    border-top: 2px solid var(--color-burgundy)
}

.heritage-plan__intro {
    max-width: 39rem
}

.heritage-plan__intro .lead {
    max-width: 35rem
}

.heritage-plan__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-7)
}

.heritage-plan-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    min-width: 0;
    padding: var(--space-5);
    border: var(--border-subtle);
    background: var(--color-paper)
}

.heritage-plan-card>span {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    line-height: 1
}

.heritage-plan-card p {
    max-width: 28rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.6
}

.heritage-further__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-7)
}

.heritage-further-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    min-width: 0;
    min-height: 20rem;
    padding: var(--space-5);
    border: var(--border-subtle);
    color: var(--color-charcoal);
    text-decoration: none
}

.heritage-further-card--rose {
    background: var(--color-rose)
}

.heritage-further-card .eyebrow {
    margin: 0
}

.heritage-further-card p {
    max-width: 28rem;
    margin: 0;
    font-size: var(--text-sm);
    line-height: 1.6
}

.heritage-further-card .heritage-arrow-link {
    margin-top: auto
}

.heritage-newsletter {
    padding-top: var(--space-7) !important
}

.heritage-newsletter__panel {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: calc(var(--space-6) + var(--space-5));
    align-items: center;
    padding: var(--space-8);
    border-radius: var(--radius-md);
    background: var(--color-burgundy-dark);
    box-shadow: var(--shadow-panel)
}

.heritage-newsletter__copy {
    max-width: 34rem
}

.heritage-newsletter__copy .eyebrow {
    color: var(--color-ivory)
}

.heritage-newsletter__copy .eyebrow::after {
    background: var(--color-gold)
}

.heritage-newsletter__copy h2 {
    color: var(--color-white)
}

.heritage-newsletter__copy p {
    margin-bottom: 0;
    color: var(--color-ivory)
}

.heritage-newsletter__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-4);
    align-items: end;
    min-width: 0
}

.heritage-newsletter__field {
    min-width: 0
}

.heritage-newsletter__field label {
    color: var(--color-ivory)
}

.heritage-newsletter__field input {
    background: var(--color-white)
}

.heritage-newsletter__form button {
    min-width: 8.5rem;
    min-height: 3rem
}

.heritage-newsletter__message {
    grid-column: 1/-1;
    min-height: 1.5rem;
    margin: 0;
    color: var(--color-ivory);
    font-size: var(--text-sm)
}

.heritage-newsletter__message.is-error {
    padding: var(--space-3);
    background: var(--color-rose);
    color: var(--color-charcoal)
}

.heritage-newsletter__message.is-success {
    color: var(--color-white);
    font-weight: 700
}

.heritage-newsletter__success {
    margin: 0;
    color: var(--color-white);
    font-size: var(--text-lg);
    font-weight: 700;
    line-height: 1.5
}

.heritage-closing {
    padding-top: var(--space-8) !important
}

.heritage-closing__inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-5);
    width: min(100%, 43rem);
    min-width: 0;
    margin-inline: auto;
    padding-top: var(--space-6);
    border-top: 2px solid var(--color-gold)
}

.heritage-closing__inner h2,
.heritage-closing__inner p {
    margin: 0
}

.heritage-closing__inner p {
    max-width: 36rem
}

.heritage-closing .button {
    min-height: 3rem
}

@media (max-width:60rem) {
    .heritage-page .section {
        padding-block: var(--space-9)
    }

    .heritage-hero__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: var(--space-5)
    }

    .heritage-hero__copy {
        grid-column: span 3
    }

    .heritage-hero__figure {
        grid-column: span 3
    }

    .heritage-hero h1 {
        font-size: 3.25rem
    }

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

    .heritage-theme-card {
        border-bottom: var(--border-subtle)
    }

    .heritage-theme-card:nth-child(odd) {
        padding-left: 0
    }

    .heritage-theme-card:nth-child(even) {
        border-right: 0
    }

    .heritage-reading__grid {
        grid-template-columns: 1fr;
        gap: var(--space-7)
    }

    .heritage-reading__figure,
    .heritage-reading__content {
        grid-column: 1
    }

    .heritage-reading__content {
        max-width: 44rem
    }

    .heritage-collection {
        grid-template-columns: minmax(0, 2fr) minmax(0, 4fr);
        align-items: start
    }

    .heritage-collection p {
        grid-column: 1/2
    }

    .heritage-collection .heritage-arrow-link {
        grid-column: 2
    }

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

    .heritage-plan-card:last-child,
    .heritage-further-card:last-child {
        grid-column: 1/span 1
    }

    .heritage-newsletter__panel {
        padding: var(--space-7)
    }
}

@media (max-width:56.25rem) {
    .heritage-hero__grid {
        grid-template-columns: 1fr;
        gap: var(--space-6)
    }

    .heritage-hero__copy,
    .heritage-hero__figure {
        grid-column: 1;
        max-width: none
    }

    .heritage-hero__lead {
        max-width: 38rem
    }

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

    .heritage-cities__grid>:last-child {
        grid-column: 1
    }

    .heritage-index__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0 var(--space-5)
    }

    .heritage-newsletter__panel {
        grid-template-columns: 1fr;
        gap: var(--space-6)
    }

    .heritage-newsletter__copy {
        max-width: 40rem
    }

    .heritage-newsletter__form {
        max-width: 42rem
    }
}

@media (max-width:40rem) {

    .heritage-page .section,
    .heritage-page .section--large {
        padding-block: 4.5rem
    }

    .heritage-hero h1 {
        font-size: clamp(2.65rem, 12vw, 2.9rem)
    }

    .heritage-hero__figure img {
        aspect-ratio: 4/3;
        object-position: center
    }

    .heritage-section-intro {
        grid-template-columns: 1fr;
        gap: var(--space-4);
        align-items: start
    }

    .heritage-themes__grid {
        grid-template-columns: 1fr;
        margin-top: var(--space-6)
    }

    .heritage-theme-card,
    .heritage-theme-card:first-child {
        padding: var(--space-5) 0;
        border-right: 0
    }

    .heritage-cities__grid {
        grid-template-columns: 1fr;
        margin-top: var(--space-6)
    }

    .heritage-cities__grid>:last-child {
        grid-column: 1
    }

    .heritage-city-card__media img {
        aspect-ratio: 4/3
    }

    .heritage-reading__grid {
        gap: var(--space-6)
    }

    .heritage-reading__figure img {
        aspect-ratio: 4/3
    }

    .heritage-principle {
        gap: var(--space-3)
    }

    .heritage-collection {
        grid-template-columns: 1fr;
        gap: var(--space-3);
        padding: var(--space-5) 0
    }

    .heritage-collection--paper {
        padding: var(--space-5)
    }

    .heritage-collection p,
    .heritage-collection .heritage-arrow-link {
        grid-column: 1
    }

    .heritage-index__grid {
        grid-template-columns: 1fr;
        margin-top: var(--space-6)
    }

    .heritage-index-item {
        min-height: 0
    }

    .heritage-plan__grid,
    .heritage-further__grid {
        grid-template-columns: 1fr;
        margin-top: var(--space-6)
    }

    .heritage-plan-card:last-child,
    .heritage-further-card:last-child {
        grid-column: 1
    }

    .heritage-further-card {
        min-height: 0
    }

    .heritage-newsletter {
        padding-top: 0 !important
    }

    .heritage-newsletter__panel {
        padding: var(--space-5)
    }

    .heritage-newsletter__form {
        grid-template-columns: 1fr;
        align-items: stretch
    }

    .heritage-newsletter__form button {
        width: 100%;
        min-width: 0
    }

    .heritage-newsletter__message {
        grid-column: 1
    }

    .heritage-closing__inner {
        width: 100%
    }

    .heritage-closing .button {
        width: 100%
    }
}