.destinations-page {
    overflow: hidden
}

.destinations-page .section {
    padding-block: var(--space-9)
}

.destinations-hero {
    padding-block: var(--space-10) var(--space-9)
}

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

.destinations-hero__copy {
    min-width: 0;
    max-width: 34rem;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-5)
}

.destinations-hero__copy>* {
    min-width: 0;
    margin: 0
}

.destinations-breadcrumbs {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: var(--space-2);
    font-size: var(--text-xs);
    line-height: 1.4
}

.destinations-breadcrumbs span {
    color: var(--color-charcoal)
}

.destinations-hero h1 {
    font-size: clamp(3.4rem, 5.25vw, 4.25rem)
}

.destinations-hero__lead {
    font-size: var(--text-lg);
    line-height: 1.61
}

.destinations-hero__actions {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: var(--space-5)
}

.destinations-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
}

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

.destinations-arrow-link:hover span {
    transform: translateX(4px)
}

.destinations-hero__figure {
    min-width: 0;
    margin: 0
}

.destinations-hero__figure img {
    width: 100%;
    height: clamp(28rem, 48vw, 42rem);
    object-fit: cover;
    object-position: center right
}

.destinations-hero__figure figcaption {
    padding-top: var(--space-2);
    border-top: var(--border-subtle)
}

.destinations-section-intro {
    display: grid;
    grid-template-columns: 3rem minmax(0, 5fr);
    gap: var(--space-4);
    width: min(100%, 36rem);
    align-items: start
}

.destinations-section-intro>* {
    min-width: 0
}

.destinations-section-intro h2,
.destinations-section-intro p {
    margin: 0
}

.destinations-section-intro div {
    display: flex;
    flex-direction: column;
    gap: var(--space-4)
}

.destinations-section-number,
.destinations-theme__number {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-2xl);
    line-height: 1
}

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

.destinations-way-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-5);
    border: var(--border-subtle);
    background: var(--color-paper);
    color: var(--color-charcoal);
    text-decoration: none
}

.destinations-way-card>* {
    min-width: 0;
    margin: 0
}

.destinations-way-card__number {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: 2.6rem;
    line-height: 1
}

.destinations-way-card h3 {
    font-size: 2rem
}

.destinations-way-card p {
    max-width: 27rem
}

.destinations-way-card .destinations-arrow-link {
    margin-top: auto
}

.destinations-way-card--rose-rule {
    border-top: 3px solid var(--color-rose)
}

.destinations-way-card:hover h3,
.destinations-article-card:hover h3,
.destinations-city-card:hover h3 {
    color: var(--color-burgundy-dark)
}

.destinations-heading-row {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    gap: var(--space-5);
    align-items: end
}

.destinations-heading-row>* {
    min-width: 0
}

.destinations-heading-row>div {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2)
}

.destinations-heading-row h2,
.destinations-heading-row .eyebrow {
    margin: 0
}

.destinations-heading-row>a {
    justify-self: end
}

.destinations-latest__grid {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    gap: var(--space-5);
    margin-top: var(--space-7)
}

.destinations-latest__grid>* {
    min-width: 0
}

.destinations-latest__side {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-5)
}

.destinations-article-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: var(--color-ivory);
    color: var(--color-charcoal);
    text-decoration: none
}

.destinations-article-card__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding-top: var(--space-4)
}

.destinations-article-card__body>* {
    min-width: 0;
    margin: 0
}

.destinations-article-card__body h3 {
    font-size: clamp(2rem, 3vw, 2.75rem)
}

.destinations-article-card__body p {
    max-width: 40rem
}

.destinations-article-card__body .meta {
    margin-top: auto
}

.destinations-article-card--feature .destinations-media {
    height: 25rem
}

.destinations-article-card--text {
    padding: var(--space-5);
    border-top: 2px solid var(--color-gold);
    background: var(--color-paper)
}

.destinations-article-card--text .destinations-article-card__body {
    padding: 0
}

.destinations-media {
    display: block;
    min-width: 0;
    overflow: hidden
}

.destinations-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform var(--transition-base)
}

.destinations-article-card:hover .destinations-media img,
.destinations-city-card:hover .destinations-media img,
.destinations-theme:hover .destinations-media img {
    transform: scale(1.03)
}

.destinations-media--portrait {
    height: 17rem
}

.destinations-catalog__panel {
    padding: var(--space-7);
    border: var(--border-subtle);
    background: var(--color-paper)
}

.destinations-catalog__top {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: var(--space-7);
    align-items: end
}

.destinations-catalog__top>* {
    min-width: 0
}

.destinations-catalog__intro {
    max-width: 34rem
}

.destinations-catalog__intro h2,
.destinations-catalog__intro p {
    margin: 0
}

.destinations-catalog__intro {
    display: flex;
    flex-direction: column;
    gap: var(--space-4)
}

.destinations-search {
    min-width: 0
}

.destinations-search label {
    display: block
}

.destinations-search__control {
    display: flex;
    min-width: 0;
    gap: var(--space-2);
    align-items: center
}

.destinations-search__control input {
    flex: 1;
    min-width: 0;
    min-height: 3rem
}

.destinations-search__clear {
    flex: 0 0 auto;
    min-height: 3rem
}

.destinations-filters {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-5);
    margin-top: var(--space-6);
    padding-top: var(--space-5);
    border-top: var(--border-subtle)
}

.destinations-filter-group {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-3)
}

.destinations-filter-group h3 {
    margin: 0;
    font-family: var(--font-body);
    font-size: var(--text-sm);
    letter-spacing: .04em
}

.destinations-filter-options {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    gap: var(--space-2)
}

.destinations-filter-options button {
    min-height: 2.75rem;
    padding-inline: var(--space-3);
    border-radius: 0;
    background: transparent;
    color: var(--color-charcoal);
    font-size: var(--text-sm)
}

.destinations-filter-options button.is-active {
    background: var(--color-burgundy);
    color: var(--color-ivory)
}

.destinations-filters__actions {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    gap: var(--space-3)
}

.destinations-filters__apply,
.destinations-filter-toggle,
.destinations-filters__mobile-head {
    display: none
}

.destinations-results-status {
    margin: var(--space-5) 0 var(--space-4);
    font-size: var(--text-sm);
    font-weight: 700
}

.destinations-results {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5)
}

.destinations-result-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-5);
    border-top: 2px solid var(--color-gold);
    background: var(--color-ivory);
    color: var(--color-charcoal);
    text-decoration: none
}

.destinations-result-card>* {
    min-width: 0;
    margin: 0
}

.destinations-result-card h3 {
    font-size: 1.9rem
}

.destinations-result-card p {
    max-width: 26rem
}

.destinations-result-card .meta {
    margin-top: auto
}

.destinations-empty {
    grid-column: 1/-1;
    padding: var(--space-5);
    background: var(--color-rose)
}

.destinations-empty p {
    margin: 0 0 var(--space-4)
}

.destinations-cities__intro {
    display: flex;
    min-width: 0;
    max-width: 37rem;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4)
}

.destinations-cities__intro>* {
    min-width: 0;
    margin: 0
}

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

.destinations-city-card {
    display: flex;
    min-width: 0;
    min-height: 17rem;
    flex-direction: column;
    border-top: 1px solid var(--color-line);
    background: var(--color-paper);
    color: var(--color-charcoal);
    text-decoration: none
}

.destinations-city-card__body {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
    padding: var(--space-5)
}

.destinations-city-card__body>* {
    min-width: 0;
    margin: 0
}

.destinations-city-card__body h3 {
    font-size: clamp(2.25rem, 3.2vw, 3rem)
}

.destinations-city-card__body p {
    max-width: 25rem
}

.destinations-city-card__body .destinations-arrow-link {
    margin-top: auto
}

.destinations-city-card--feature {
    grid-column: span 2
}

.destinations-city-card--feature .destinations-media {
    height: 16rem
}

.destinations-cities__all {
    margin-top: var(--space-6)
}

.destinations-themes__intro {
    max-width: 37rem;
    display: flex;
    flex-direction: column;
    gap: var(--space-4)
}

.destinations-themes__intro>* {
    margin: 0
}

.destinations-themes__list {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: var(--space-8);
    margin-top: var(--space-7)
}

.destinations-theme {
    display: grid;
    min-width: 0;
    grid-template-columns: 3rem minmax(0, 5fr);
    gap: var(--space-5);
    align-items: start;
    color: var(--color-charcoal);
    text-decoration: none
}

.destinations-theme>* {
    min-width: 0
}

.destinations-theme>span:last-child {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    max-width: 34rem
}

.destinations-theme h3,
.destinations-theme p {
    margin: 0
}

.destinations-theme h3 {
    font-size: clamp(2rem, 3vw, 2.7rem)
}

.destinations-theme--museum {
    grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
    margin-left: auto;
    max-width: 72rem
}

.destinations-theme--museum .destinations-media {
    height: 28rem
}

.destinations-theme--museum>span:last-child {
    max-width: 32rem;
    padding-top: var(--space-5)
}

.destinations-theme--rose {
    max-width: 42rem;
    padding: var(--space-6);
    background: var(--color-rose)
}

.destinations-theme--food {
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    align-items: center
}

.destinations-theme--food .destinations-media {
    height: 24rem
}

.destinations-paths__intro {
    display: flex;
    max-width: 39rem;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3)
}

.destinations-paths__intro>* {
    margin: 0
}

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

.destinations-path-card {
    display: flex;
    min-width: 0;
    min-height: 100%;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-5);
    border-top: 2px solid var(--color-burgundy);
    background: var(--color-paper)
}

.destinations-path-card>* {
    min-width: 0;
    margin: 0
}

.destinations-path-card h3 {
    font-size: 2rem
}

.destinations-path-card ol {
    display: flex;
    min-width: 0;
    flex: 1;
    flex-direction: column;
    gap: var(--space-3);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none
}

.destinations-path-card li {
    display: grid;
    grid-template-columns: 2.2rem minmax(0, 1fr);
    gap: var(--space-2);
    align-items: start
}

.destinations-path-card li::before {
    color: var(--color-gold);
    font-family: var(--font-heading);
    font-size: var(--text-xl);
    line-height: 1;
    content: counter(list-item, decimal-leading-zero)
}

.destinations-path-card li strong {
    display: block
}

.destinations-path-card li span {
    font-size: var(--text-sm)
}

.destinations-path-card--rose {
    border-bottom: 1rem solid var(--color-rose)
}

.destinations-paths__all {
    margin-top: var(--space-6)
}

.destinations-gallery__intro {
    display: flex;
    max-width: 37rem;
    flex-direction: column;
    gap: var(--space-4)
}

.destinations-gallery__intro>* {
    margin: 0
}

.destinations-gallery__grid {
    display: grid;
    grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    margin-top: var(--space-7)
}

.destinations-gallery__item {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--color-charcoal);
    font-size: var(--text-xs);
    font-weight: 400;
    text-align: left
}

.destinations-gallery__item img {
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover
}

.destinations-gallery__item--main {
    grid-row: span 2
}

.destinations-gallery__item--main img {
    aspect-ratio: 16/9
}

.destinations-gallery__item:not(.destinations-gallery__item--main) img {
    aspect-ratio: 4/5
}

.destinations-gallery__link {
    margin-top: var(--space-5)
}

.destinations-note__panel {
    width: calc((100% - var(--space-5)) / 12 * 8 + var(--space-5) * 7);
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4);
    padding: var(--space-6);
    border: var(--border-subtle);
    background: var(--color-paper)
}

.destinations-note__panel>* {
    min-width: 0;
    margin: 0
}

.destinations-note__copy {
    display: flex;
    max-width: 43rem;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4)
}

.destinations-note__copy>* {
    margin: 0
}

.destinations-note__copy p+p {
    padding-top: var(--space-4);
    border-top: var(--border-subtle)
}

.destinations-newsletter__panel {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: calc(var(--space-7) + var(--space-4));
    padding: var(--space-7);
    background: var(--color-burgundy-dark);
    color: var(--color-ivory)
}

.destinations-newsletter__panel>* {
    min-width: 0
}

.destinations-newsletter__copy {
    display: flex;
    max-width: 33rem;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4)
}

.destinations-newsletter__copy>* {
    margin: 0
}

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

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

.destinations-newsletter__form {
    display: flex;
    min-width: 0;
    align-items: end
}

.destinations-newsletter__form>div {
    width: 100%;
    min-width: 0
}

.destinations-newsletter__form label {
    color: var(--color-white)
}

.destinations-newsletter__controls {
    display: flex;
    min-width: 0;
    gap: var(--space-3)
}

.destinations-newsletter__controls input {
    flex: 1;
    min-width: 0;
    min-height: 3rem
}

.destinations-newsletter__controls button {
    flex: 0 0 auto;
    min-height: 3rem;
    border-color: var(--color-paper);
    background: var(--color-paper);
    color: var(--color-burgundy-dark)
}

.destinations-newsletter__help {
    margin: var(--space-2) 0 0;
    color: var(--color-ivory);
    font-size: var(--text-xs)
}

.destinations-newsletter__status {
    min-height: 1.5rem;
    margin: var(--space-3) 0 0;
    color: var(--color-white);
    font-weight: 700
}

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

.destinations-lightbox[hidden] {
    display: none
}

.destinations-lightbox {
    position: fixed;
    z-index: 1001;
    inset: 0;
    display: grid;
    place-items: center;
    padding: var(--space-5)
}

.destinations-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgb(66 29 39 / .9)
}

.destinations-lightbox__dialog {
    position: relative;
    z-index: 1;
    display: flex;
    max-width: min(90vw, 70rem);
    max-height: 90vh;
    flex-direction: column;
    gap: var(--space-3);
    padding: var(--space-4);
    background: var(--color-ivory)
}

.destinations-lightbox__dialog img {
    width: auto;
    max-height: 72vh;
    object-fit: contain
}

.destinations-lightbox__dialog p {
    margin: 0
}

.destinations-lightbox__close {
    align-self: flex-end
}

@media(max-width:62rem) {
    .destinations-hero__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: var(--space-5)
    }

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

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

    .destinations-hero__figure img {
        height: 32rem
    }

    .destinations-latest__grid {
        grid-template-columns: repeat(6, minmax(0, 1fr))
    }

    .destinations-article-card--feature {
        grid-column: 1/-1
    }

    .destinations-latest__side {
        grid-column: 1/-1;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }

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

    .destinations-city-card--feature {
        grid-column: span 1
    }

    .destinations-city-card--feature .destinations-media {
        height: 13rem
    }

    .destinations-catalog__top {
        grid-template-columns: 1fr;
        gap: var(--space-5)
    }

    .destinations-note__panel {
        width: 100%
    }

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

@media(max-width:56.25rem) {
    .destinations-page .section {
        padding-block: var(--space-8)
    }

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

    .destinations-ways__grid>a:nth-child(3),
    .destinations-paths__grid>article:nth-child(3) {
        grid-column: span 1
    }

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

    .destinations-theme--museum {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: none
    }

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

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

    .destinations-gallery__item--main {
        grid-column: 1/-1;
        grid-row: auto
    }

    .destinations-gallery__item--main img {
        aspect-ratio: 4/3
    }

    .destinations-gallery__item:not(.destinations-gallery__item--main) img {
        aspect-ratio: 4/3
    }
}

@media(max-width:43.75rem) {
    .destinations-hero {
        padding-top: var(--space-8)
    }

    .destinations-hero__grid {
        grid-template-columns: 1fr;
        gap: var(--space-5)
    }

    .destinations-hero__copy,
    .destinations-hero__figure {
        grid-column: auto;
        max-width: none
    }

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

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

    .destinations-heading-row {
        grid-template-columns: 1fr;
        gap: var(--space-3);
        align-items: start
    }

    .destinations-heading-row>a {
        justify-self: start
    }

    .destinations-latest__grid,
    .destinations-latest__side {
        grid-template-columns: 1fr
    }

    .destinations-article-card--feature .destinations-media,
    .destinations-media--portrait {
        height: auto;
        aspect-ratio: 4/3
    }

    .destinations-catalog__panel {
        padding: var(--space-5)
    }

    .destinations-filter-toggle {
        display: inline-flex;
        width: 100%;
        margin-top: var(--space-5)
    }

    .destinations-filters {
        display: none
    }

    .destinations-filters.is-open {
        position: fixed;
        z-index: 1002;
        inset: 0;
        display: flex;
        overflow: auto;
        padding: var(--space-5);
        background: var(--color-paper)
    }

    .destinations-filters__mobile-head {
        display: flex;
        min-width: 0;
        justify-content: space-between;
        gap: var(--space-3);
        align-items: center
    }

    .destinations-filters__mobile-head h3 {
        margin: 0
    }

    .destinations-filters__close {
        display: inline-flex
    }

    .destinations-filters__actions {
        margin-top: auto
    }

    .destinations-filters__apply {
        display: inline-flex
    }

    .destinations-results,
    .destinations-ways__grid,
    .destinations-cities__grid,
    .destinations-paths__grid {
        grid-template-columns: 1fr
    }

    .destinations-ways__grid>a:nth-child(3),
    .destinations-paths__grid>article:nth-child(3) {
        grid-column: auto
    }

    .destinations-city-card,
    .destinations-city-card--feature {
        grid-column: auto;
        min-height: 0
    }

    .destinations-city-card--feature .destinations-media {
        height: auto;
        aspect-ratio: 4/3
    }

    .destinations-themes__list {
        gap: var(--space-7)
    }

    .destinations-theme,
    .destinations-theme--museum,
    .destinations-theme--food {
        grid-template-columns: 1fr;
        gap: var(--space-4)
    }

    .destinations-theme--text,
    .destinations-theme--rose {
        grid-template-columns: 3rem minmax(0, 1fr)
    }

    .destinations-theme--museum .destinations-media,
    .destinations-theme--food .destinations-media {
        height: auto;
        aspect-ratio: 4/3
    }

    .destinations-theme--museum>span:last-child {
        padding-top: 0
    }

    .destinations-theme--food .destinations-media {
        order: 2
    }

    .destinations-theme--rose {
        padding: var(--space-5)
    }

    .destinations-gallery__grid {
        grid-template-columns: 1fr
    }

    .destinations-gallery__item--main {
        grid-column: auto
    }

    .destinations-gallery__item img,
    .destinations-gallery__item--main img {
        aspect-ratio: 4/3
    }

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

    .destinations-newsletter__controls {
        flex-direction: column
    }

    .destinations-newsletter__controls button {
        width: 100%
    }

    .destinations-lightbox {
        padding: var(--space-3)
    }

    .destinations-lightbox__dialog {
        max-width: 100%;
        padding: var(--space-3)
    }
}

@media(prefers-reduced-motion:reduce) {

    .destinations-media img,
    .destinations-arrow-link span {
        transition: none
    }
}