/* Editorial travel guide system */
.page-guides {
    --guide-ink: #11110f;
    --guide-paper: #f7f3e9;
    --guide-sand: #e8dfcd;
    --guide-gold: #f5bb18;
    --guide-muted: #68645b;
}

html:has(body.page-guides),
body.page-guides {
    overflow-x: clip;
    overflow-y: visible;
}

.guide-section-index {
    display: block;
    margin-bottom: 1.1rem;
    color: #8a6300;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

/* Guide library hero */
.guide-hub-hero {
    position: relative;
    min-height: 670px;
    overflow: hidden;
    color: #fff;
    background: #0c0c0b;
}

.guide-hub-hero::before {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgb(7 7 7 / 94%) 0%, rgb(7 7 7 / 80%) 42%, rgb(7 7 7 / 20%) 76%),
        linear-gradient(0deg, rgb(7 7 7 / 72%), transparent 52%),
        var(--hero-image) center 58% / cover no-repeat;
    content: "";
}

.guide-hub-hero::after {
    position: absolute;
    inset: 0;
    opacity: .18;
    background-image: linear-gradient(rgb(255 255 255 / 9%) 1px, transparent 1px), linear-gradient(90deg, rgb(255 255 255 / 9%) 1px, transparent 1px);
    background-size: 96px 96px;
    content: "";
    pointer-events: none;
}

.guide-hub-hero-inner {
    position: relative;
    z-index: 1;
    display: flex;
    min-height: 670px;
    flex-direction: column;
    justify-content: center;
    padding-block: 4.5rem 3rem;
}

.guide-hub-hero .breadcrumb { position: absolute; top: 2rem; left: 0; }
.guide-hub-kicker { display: flex; align-items: center; gap: .7rem; margin-bottom: 1.25rem; color: var(--guide-gold); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.guide-hub-kicker span { width: 42px; height: 2px; background: currentColor; }
.guide-hub-hero h1 { max-width: 780px; margin-bottom: 1.35rem; font-size: clamp(3.1rem, 7.4vw, 7rem); line-height: .94; letter-spacing: -.065em; }
.guide-hub-hero h1 em { color: var(--guide-gold); font-style: normal; }
.guide-hub-hero > .container > p,
.guide-hub-hero-inner > p { max-width: 670px; margin: 0; color: #e6e2d9; font-size: clamp(1rem, 1.4vw, 1.2rem); }
.guide-hub-summary { display: grid; width: min(680px, 100%); grid-template-columns: repeat(3, 1fr); margin-top: 3rem; border-top: 1px solid rgb(255 255 255 / 28%); }
.guide-hub-summary div { padding: 1.25rem 1.25rem .25rem 0; border-right: 1px solid rgb(255 255 255 / 20%); }
.guide-hub-summary div + div { padding-left: 1.25rem; }
.guide-hub-summary div:last-child { border-right: 0; }
.guide-hub-summary strong { display: block; color: var(--guide-gold); font: 800 clamp(1.75rem, 3vw, 2.65rem)/1 var(--font-heading); }
.guide-hub-summary span { display: block; margin-top: .45rem; color: #c9c7c0; font-size: .72rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

.guide-editorial-intro { display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(2rem, 7vw, 7rem); align-items: start; }
.guide-editorial-intro h2 { max-width: 510px; font-size: clamp(2rem, 4vw, 3.7rem); }
.guide-editorial-intro .lead { color: var(--guide-ink); font-size: clamp(1.1rem, 1.5vw, 1.28rem); }
.guide-editorial-intro p:last-child { margin-bottom: 0; color: var(--guide-muted); }

/* Destination library cards */
.guide-library-heading { display: flex; justify-content: space-between; gap: 3rem; margin-bottom: 2.4rem; }
.guide-library-heading > p { max-width: 530px; margin-top: 1.8rem; color: var(--guide-muted); }
.guide-destination-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.35rem; }
.guide-destination-card { min-width: 0; overflow: hidden; background: #fff; border: 1px solid #dcd5c7; box-shadow: 0 14px 38px rgb(22 18 10 / 7%); }
.guide-destination-card:first-child { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); }
.guide-destination-media { position: relative; display: block; height: 285px; overflow: hidden; background: #24221e; }
.guide-destination-card:first-child .guide-destination-media { height: 100%; min-height: 420px; }
.guide-destination-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.guide-destination-card:hover .guide-destination-media img { transform: scale(1.035); }
.guide-destination-media::after { position: absolute; inset: 40% 0 0; background: linear-gradient(transparent, rgb(0 0 0 / 64%)); content: ""; }
.guide-destination-media > span { position: absolute; z-index: 1; right: 1rem; bottom: 1rem; padding: .42rem .68rem; color: #111; background: var(--guide-gold); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.guide-destination-body { padding: clamp(1.35rem, 2.6vw, 2.25rem); }
.guide-destination-body .eyebrow { margin-bottom: .65rem; font-size: .7rem; }
.guide-destination-body h2 { font-size: clamp(1.45rem, 2.5vw, 2.25rem); }
.guide-destination-body > p { color: var(--guide-muted); }
.guide-duration-links { display: grid; grid-template-columns: repeat(4, 1fr); gap: .55rem; margin-top: 1.5rem; }
.guide-duration-links a { position: relative; display: grid; min-height: 92px; align-content: center; padding: .75rem; color: #fff; background: #171715; border: 1px solid #171715; transition: transform .2s ease, background .2s ease; }
.guide-duration-links a:hover { color: #111; background: var(--guide-gold); transform: translateY(-3px); }
.guide-duration-links strong { font: 800 1.55rem/1 var(--font-heading); }
.guide-duration-links span { margin-top: .28rem; color: #bdb9b0; font-size: .65rem; font-weight: 700; text-transform: uppercase; }
.guide-duration-links a:hover span { color: #4b3b0b; }
.guide-duration-links i { position: absolute; top: .75rem; right: .7rem; font-size: .7rem; }

.guide-method-section { color: #fff; background: #121210; }
.guide-method-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(3rem, 7vw, 7rem); }
.guide-method-heading { position: sticky; top: 2rem; align-self: start; }
.guide-method-heading .guide-section-index { color: var(--guide-gold); }
.guide-method-heading p { max-width: 460px; color: #aaa79f; }
.guide-method-list { list-style: none; border-top: 1px solid #393833; }
.guide-method-list li { display: grid; grid-template-columns: 58px 1fr; gap: 1.2rem; padding: 1.45rem 0; border-bottom: 1px solid #393833; }
.guide-method-list > li > span { color: var(--guide-gold); font: 800 .82rem/1.4 var(--font-heading); }
.guide-method-list h3 { margin-bottom: .35rem; font-size: 1.25rem; }
.guide-method-list p { margin: 0; color: #b9b6ae; font-size: .9rem; }
.guide-route-cta { padding-block: clamp(2.5rem, 5vw, 4.5rem); background: var(--guide-gold); }
.guide-route-cta-inner { display: flex; align-items: center; justify-content: space-between; gap: 3rem; }
.guide-route-cta .eyebrow { margin-bottom: .45rem; color: #5a4300; }
.guide-route-cta h2 { margin-bottom: .5rem; }
.guide-route-cta p { max-width: 780px; margin: 0; color: #493d20; }
.guide-route-cta .button-primary { flex: 0 0 auto; color: #fff; background: #111; border-color: #111; }

.home-guide-feature { padding-block: clamp(3rem, 6vw, 5.5rem); background: #f7f3e9; }
.home-guide-feature-inner { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: clamp(2.5rem, 6vw, 6rem); align-items: center; }
.home-guide-feature-copy h2 { font-size: clamp(2rem, 4vw, 3.6rem); }
.home-guide-feature-copy p { max-width: 500px; color: #666158; }
.home-guide-feature-copy .button { margin-top: .7rem; }
.home-guide-route-list { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid #d8d0c1; border-left: 1px solid #d8d0c1; }
.home-guide-route-list a { position: relative; display: flex; min-height: 135px; flex-direction: column; justify-content: flex-end; padding: 1.15rem; background: #fff; border-right: 1px solid #d8d0c1; border-bottom: 1px solid #d8d0c1; }
.home-guide-route-list a:first-child { grid-column: 1 / -1; min-height: 160px; color: #fff; background: #171715; }
.home-guide-route-list a:hover { background: #f5bb18; color: #111; }
.home-guide-route-list span { color: #857c6e; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.home-guide-route-list a:first-child span { color: #aaa69d; }
.home-guide-route-list strong { font: 800 1.35rem/1.2 var(--font-heading); }
.home-guide-route-list small { display: flex; justify-content: space-between; margin-top: .65rem; color: #946d00; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.home-guide-route-list a:first-child small { color: #f5bb18; }
.home-guide-route-list a:hover span,
.home-guide-route-list a:hover small { color: #4e3c0d; }

/* Individual guide hero */
.guide-hero { position: relative; min-height: 650px; overflow: hidden; color: #fff; background: #0b0b0a; }
.guide-hero::before { position: absolute; inset: 0; background: linear-gradient(90deg, rgb(6 6 6 / 95%) 0%, rgb(6 6 6 / 78%) 48%, rgb(6 6 6 / 28%) 78%), linear-gradient(0deg, rgb(6 6 6 / 72%), transparent 55%), var(--hero-image) center / cover no-repeat; content: ""; }
.guide-hero::after { position: absolute; right: max(2rem, calc((100vw - var(--container)) / 2)); bottom: 0; width: 1px; height: 72%; background: linear-gradient(transparent, rgb(245 187 24 / 65%)); content: ""; }
.guide-hero-inner { position: relative; z-index: 1; display: grid; min-height: 650px; grid-template-rows: auto 1fr auto; padding-block: 2rem 2.25rem; }
.guide-hero .breadcrumb { margin: 0; }
.guide-hero-copy { display: flex; max-width: 860px; flex-direction: column; justify-content: center; padding-block: 3rem 2rem; }
.guide-hero-label { margin-bottom: 1rem; color: var(--guide-gold); font-size: .73rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.guide-hero h1 { max-width: 900px; margin-bottom: 1.2rem; font-size: clamp(2.7rem, 6vw, 5.8rem); line-height: .98; letter-spacing: -.06em; }
.guide-hero-copy > p { max-width: 700px; color: #dedbd3; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.guide-hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.15rem; }
.guide-hero-facts { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgb(255 255 255 / 28%); }
.guide-hero-facts div { padding: 1.2rem 1.5rem 0 0; border-right: 1px solid rgb(255 255 255 / 20%); }
.guide-hero-facts div + div { padding-left: 1.5rem; }
.guide-hero-facts div:last-child { border-right: 0; }
.guide-hero-facts span { display: block; margin-bottom: .3rem; color: #aba8a1; font-size: .66rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.guide-hero-facts strong { color: #fff; font: 750 clamp(.95rem, 1.4vw, 1.12rem)/1.3 var(--font-heading); }

.guide-duration-nav { position: sticky; z-index: 30; top: 0; color: #fff; background: #111; border-bottom: 1px solid #38372f; }
.guide-duration-nav-inner { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: 1.5rem; }
.guide-duration-nav-inner > span { color: #9e9a91; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-duration-nav-inner > div { display: flex; align-self: stretch; }
.guide-duration-nav a { display: flex; min-width: 105px; align-items: center; justify-content: center; padding: .65rem 1rem; border-left: 1px solid #35342e; font-size: .78rem; font-weight: 800; }
.guide-duration-nav a:last-child { border-right: 1px solid #35342e; }
.guide-duration-nav a:hover,
.guide-duration-nav a.active { color: #111; background: var(--guide-gold); }

/* Long-form article */
.guide-article-section { padding-top: clamp(3.5rem, 7vw, 7rem); }
.guide-article-layout { display: grid; grid-template-columns: 235px minmax(0, 850px); gap: clamp(3rem, 7vw, 7rem); justify-content: center; align-items: start; }
.guide-rail { position: sticky; top: 92px; display: grid; gap: 1rem; }
.guide-rail-card { padding: 1.2rem; background: var(--guide-paper); border: 1px solid #e1d9c8; }
.guide-rail-title { display: block; margin-bottom: .9rem; color: #7e5d00; font-size: .68rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-rail-card > a:not(.guide-text-link) { display: block; padding: .6rem 0; color: #4f4c45; border-bottom: 1px solid #ded7ca; font-size: .8rem; font-weight: 700; }
.guide-rail-card > a:not(.guide-text-link):hover { color: #9a6a00; }
.guide-rail-trip { background: #151513; border-color: #151513; }
.guide-rail-trip .guide-rail-title { color: var(--guide-gold); }
.guide-rail-trip dl { margin: 0; }
.guide-rail-trip dl > div { padding: .7rem 0; border-bottom: 1px solid #383731; }
.guide-rail-trip dt { color: #9c9990; font-size: .63rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.guide-rail-trip dd { margin: .15rem 0 0; color: #fff; font-size: .8rem; font-weight: 700; }
.guide-text-link { display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; color: var(--guide-gold); font-size: .75rem; font-weight: 800; }

.guide-article-body { min-width: 0; }
.guide-copy-section { padding-bottom: clamp(3.5rem, 6vw, 5.5rem); scroll-margin-top: 90px; }
.guide-copy-section + .guide-copy-section { padding-top: clamp(3.5rem, 6vw, 5.5rem); border-top: 1px solid #ddd8cd; }
.guide-copy-section > h2,
.guide-section-heading-row h2 { max-width: 760px; font-size: clamp(2rem, 4vw, 3.45rem); }
.guide-copy-section > p { max-width: 790px; color: #4d4b45; font-size: 1.04rem; line-height: 1.85; }
.guide-copy-section > p strong { color: #171715; }
.guide-reality-check { display: grid; grid-template-columns: 58px 1fr; gap: 1.2rem; margin-top: 2rem; padding: 1.4rem; background: #171715; }
.guide-reality-icon { display: grid; width: 52px; height: 52px; place-items: center; color: #111; background: var(--guide-gold); }
.guide-reality-check span { color: var(--guide-gold); font-size: .66rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-reality-check h3 { margin: .3rem 0 .45rem; color: #fff; }
.guide-reality-check p { margin: 0; color: #bebbb2; font-size: .88rem; }
.guide-stay-note { margin-top: 1rem; padding: 1.25rem 1.4rem; background: #fbf6e7; border-left: 4px solid var(--guide-gold); }
.guide-stay-note > span { display: block; margin-bottom: .4rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.guide-stay-note > span i { margin-right: .4rem; color: #9a6a00; }
.guide-stay-note p { margin: 0; color: #5a554b; font-size: .88rem; }

.guide-photo-essay { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); gap: 1rem; margin-top: 2rem; }
.guide-photo-card { min-width: 0; margin: 0; overflow: hidden; color: #fff; background: #171715; border: 1px solid #2e2d29; }
.guide-photo-card-featured { display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); }
.guide-photo-media { height: 205px; overflow: hidden; background: #282722; }
.guide-photo-card-featured .guide-photo-media { height: 400px; }
.guide-photo-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.guide-photo-card:hover .guide-photo-media img { transform: scale(1.025); }
.guide-photo-card figcaption { padding: 1rem 1.1rem 1.15rem; }
.guide-photo-card figcaption > span { display: block; margin-bottom: .35rem; color: var(--guide-gold); font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.guide-photo-card figcaption h3 { margin: 0 0 .4rem; font-size: 1.05rem; }
.guide-photo-card-featured figcaption { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.4rem, 3vw, 2.4rem); }
.guide-photo-card-featured figcaption h3 { font-size: 1.35rem; }
.guide-photo-card figcaption p { margin: 0; color: #c1beb6; font-size: .76rem; line-height: 1.6; }
.guide-image-disclosure { display: flex; gap: .65rem; margin: 1rem 0 0 !important; padding: .9rem 1rem; color: #706a5f !important; background: #f7f3e9; border: 1px solid #ded7c9; font-size: .72rem !important; line-height: 1.55 !important; }
.guide-image-disclosure i { flex: 0 0 auto; margin-top: .25rem; color: #9b7000; }

.guide-section-heading-row { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.guide-section-heading-row p { max-width: 640px; margin: 0; color: var(--guide-muted); }
.guide-days-mark { color: #e8e2d5; font: 800 clamp(4rem, 9vw, 7.5rem)/.8 var(--font-heading); letter-spacing: -.09em; }
.guide-days { display: grid; gap: 1.4rem; }
.guide-day-card { overflow: hidden; border: 1px solid #dcd7cc; background: #fff; box-shadow: 0 12px 34px rgb(20 18 12 / 5%); }
.guide-day-header { display: grid; grid-template-columns: 96px 1fr; color: #fff; background: #171715; }
.guide-day-number { display: grid; min-height: 112px; place-content: center; text-align: center; background: var(--guide-gold); color: #111; }
.guide-day-number span { font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.guide-day-number strong { font: 800 2.6rem/1 var(--font-heading); }
.guide-day-header > div:last-child { align-self: center; padding: 1.25rem 1.5rem; }
.guide-day-header > div:last-child > span { color: #b5b2aa; font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.guide-day-header h3 { margin: .35rem 0 0; font-size: clamp(1.25rem, 2.2vw, 1.75rem); }
.guide-timeline { padding: 1.2rem 1.5rem; list-style: none; }
.guide-timeline li { position: relative; display: grid; grid-template-columns: 118px 1fr; gap: 1.4rem; padding: 1rem 0 1rem 1.1rem; border-bottom: 1px solid #ebe7de; }
.guide-timeline li::before { position: absolute; top: 1.48rem; left: 0; width: 6px; height: 6px; background: var(--guide-gold); border-radius: 50%; content: ""; }
.guide-timeline li:last-child { border-bottom: 0; }
.guide-timeline time { color: #876300; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.guide-timeline h4 { margin: 0 0 .2rem; font-size: .95rem; letter-spacing: -.015em; }
.guide-timeline p { margin: 0; color: #625f58; font-size: .82rem; line-height: 1.6; }
.guide-final-leg { display: flex; gap: .8rem; margin: 0 1.5rem 1.1rem; padding: .9rem 1rem; background: #f4efe3; }
.guide-final-leg i { margin-top: .3rem; color: #987000; }
.guide-final-leg p { margin: 0; color: #555147; font-size: .78rem; }
.guide-day-tip { display: flex; gap: .7rem; margin: 0; padding: 1rem 1.5rem; color: #d7d3ca; background: #292824; font-size: .78rem; }
.guide-day-tip i { margin-top: .25rem; color: var(--guide-gold); }

.guide-places-section > p { margin-bottom: 2rem; }
.guide-place-list { border-top: 2px solid #171715; }
.guide-place-list article { display: grid; grid-template-columns: 52px minmax(0, 1fr) 190px; gap: 1rem; align-items: center; padding: 1.35rem .25rem; border-bottom: 1px solid #dcd7cc; }
.guide-place-number { color: #a1790a; font: 800 .72rem/1 var(--font-heading); }
.guide-place-main h3 { margin: 0 0 .25rem; font-size: 1.05rem; }
.guide-place-main p { margin: 0; color: #69655e; font-size: .8rem; }
.guide-place-meta { text-align: right; }
.guide-place-meta span { display: block; color: #8a867e; font-size: .67rem; text-transform: uppercase; }
.guide-place-meta strong { display: block; margin-top: .25rem; font-size: .82rem; }

.guide-planning-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; margin-top: 2rem; background: #d9d3c7; border: 1px solid #d9d3c7; }
.guide-planning-grid > div { display: grid; grid-template-columns: 34px 1fr; gap: .8rem; padding: 1.2rem; background: #fff; }
.guide-planning-grid span { color: #a07400; font: 800 .7rem/1.7 var(--font-heading); }
.guide-planning-grid p { margin: 0; color: #57534c; font-size: .82rem; }
.guide-timing-warning { display: grid; grid-template-columns: 42px 1fr; gap: 1rem; margin-top: 1.5rem; padding: 1.25rem; color: #fff; background: #171715; }
.guide-timing-warning > i { display: grid; width: 38px; height: 38px; place-items: center; color: #111; background: var(--guide-gold); border-radius: 50%; }
.guide-timing-warning h3 { margin: 0 0 .35rem; font-size: 1rem; }
.guide-timing-warning p { margin: 0; color: #bdb9b0; font-size: .8rem; }
.guide-source-block { margin-top: 1.5rem; padding: 1.3rem; background: var(--guide-paper); border: 1px solid #dfd8c9; }
.guide-source-block h3 { margin-bottom: .25rem; font-size: 1rem; }
.guide-source-block > p { color: #6c675d; font-size: .78rem; }
.guide-source-block ul { display: flex; flex-wrap: wrap; gap: .6rem; list-style: none; }
.guide-source-block a { display: inline-flex; align-items: center; gap: .45rem; padding: .5rem .65rem; background: #fff; border: 1px solid #d8cfbd; font-size: .7rem; font-weight: 800; }
.guide-source-block a:hover { border-color: #9d7200; }
.guide-source-block i { font-size: .6rem; }
.guide-faq-section .accordion { margin-top: 1.5rem; }

/* Related guides and booking */
.guide-related-heading { display: flex; justify-content: space-between; gap: 2rem; margin-bottom: 1.8rem; }
.guide-related-heading p { max-width: 430px; margin-top: 1.7rem; color: var(--guide-muted); }
.guide-related-durations { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid #d8d1c3; }
.guide-related-durations a { display: grid; min-width: 0; min-height: 145px; grid-template-columns: auto 1fr auto; gap: .9rem; align-items: center; padding: 1.2rem; background: #fff; border-right: 1px solid #d8d1c3; }
.guide-related-durations a:last-child { border-right: 0; }
.guide-related-durations a:hover,
.guide-related-durations a.current { color: #fff; background: #171715; }
.guide-related-durations > a > span { color: #ae7e00; font: 800 .72rem/1 var(--font-heading); }
.guide-related-durations strong,
.guide-related-durations small { display: block; }
.guide-related-durations strong { font-family: var(--font-heading); text-transform: uppercase; }
.guide-related-durations small { margin-top: .3rem; color: #79756d; font-size: .68rem; }
.guide-related-durations a:hover small,
.guide-related-durations a.current small { color: #bcb8ae; }
.guide-related-durations i { font-size: .75rem; }
.guide-other-routes-heading { margin-bottom: 1.6rem; }
.guide-other-route-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem; }
.guide-other-route-grid a { display: flex; min-height: 160px; flex-direction: column; justify-content: flex-end; padding: 1.2rem; color: #fff; background: #171715; border-bottom: 4px solid var(--guide-gold); transition: transform .2s ease; }
.guide-other-route-grid a:hover { transform: translateY(-4px); }
.guide-other-route-grid span { color: #aaa69e; font-size: .66rem; text-transform: uppercase; }
.guide-other-route-grid strong { margin-top: .15rem; font: 800 1.35rem/1.2 var(--font-heading); }
.guide-other-route-grid small { display: flex; justify-content: space-between; margin-top: 1rem; color: var(--guide-gold); font-weight: 700; }
.guide-booking-layout { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 5rem); align-items: start; }
.guide-booking-layout > div:first-child { padding-top: 2rem; }
.guide-booking-layout > div:first-child > p { max-width: 510px; color: #bdbab2; }
.guide-booking-layout > div:first-child > ul { display: grid; gap: .75rem; margin-top: 1.5rem; list-style: none; }
.guide-booking-layout > div:first-child li { display: flex; gap: .65rem; color: #ddd9d0; font-size: .85rem; }
.guide-booking-layout > div:first-child li i { margin-top: .35rem; color: var(--guide-gold); }
.guide-booking-card.booking-shell { width: 100%; margin: 0; padding: clamp(1.25rem, 2.5vw, 2rem); color: #171715; }
.guide-booking-card h3 { font-size: 1.45rem; }

@media (max-width: 1100px) {
    .guide-article-layout { grid-template-columns: 210px minmax(0, 1fr); gap: 3rem; }
    .guide-other-route-grid { grid-template-columns: repeat(2, 1fr); }
    .guide-related-durations a { grid-template-columns: auto 1fr; }
    .guide-related-durations a > i { display: none; }
}

@media (max-width: 992px) {
    .guide-hub-hero,
    .guide-hub-hero-inner { min-height: 610px; }
    .guide-hub-hero .breadcrumb { left: 0; }
    .guide-editorial-intro,
    .guide-method-layout,
    .guide-booking-layout { grid-template-columns: 1fr; }
    .guide-method-heading { position: static; }
    .guide-destination-card:first-child { display: block; }
    .guide-destination-card:first-child .guide-destination-media { height: 285px; min-height: 0; }
    .guide-article-layout { display: block; }
    .guide-rail { position: static; grid-template-columns: 1fr 1fr; margin-bottom: 3rem; }
    .guide-rail-card:first-child { display: none; }
    .guide-rail-trip { grid-column: 1 / -1; }
    .guide-rail-trip dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
    .guide-rail-trip dl > div { border-right: 1px solid #383731; border-bottom: 0; }
    .guide-duration-nav-inner > span { display: none; }
    .guide-duration-nav-inner > div { width: 100%; }
    .guide-duration-nav a { flex: 1; min-width: 0; }
    .guide-related-durations { grid-template-columns: repeat(2, 1fr); }
    .guide-related-durations a:nth-child(2) { border-right: 0; }
    .guide-related-durations a:nth-child(-n + 2) { border-bottom: 1px solid #d8d1c3; }
    .guide-booking-layout > div:first-child { padding-top: 0; }
    .home-guide-feature-inner { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
    .guide-hub-hero::before { background: linear-gradient(90deg, rgb(6 6 6 / 93%), rgb(6 6 6 / 62%)), linear-gradient(0deg, rgb(6 6 6 / 82%), transparent 60%), var(--hero-image) 62% center / cover no-repeat; }
    .guide-hub-hero h1 { font-size: clamp(2.8rem, 13vw, 4.7rem); }
    .guide-hub-summary { grid-template-columns: 1fr; }
    .guide-hub-summary div,
    .guide-hub-summary div + div { display: flex; align-items: baseline; gap: 1rem; padding: .8rem 0; border-right: 0; border-bottom: 1px solid rgb(255 255 255 / 18%); }
    .guide-hub-summary div:last-child { border-bottom: 0; }
    .guide-hub-summary strong { min-width: 74px; }
    .guide-library-heading,
    .guide-route-cta-inner,
    .guide-related-heading { display: block; }
    .guide-library-heading > p,
    .guide-related-heading p { margin-top: .5rem; }
    .guide-destination-grid { grid-template-columns: 1fr; }
    .guide-destination-card:first-child { grid-column: auto; }
    .guide-route-cta .button { margin-top: 1.25rem; }
    .guide-hero { min-height: 690px; }
    .guide-hero-inner { min-height: 690px; }
    .guide-hero::before { background: linear-gradient(90deg, rgb(6 6 6 / 94%), rgb(6 6 6 / 57%)), linear-gradient(0deg, rgb(6 6 6 / 88%), transparent 58%), var(--hero-image) 60% center / cover no-repeat; }
    .guide-hero h1 { font-size: clamp(2.35rem, 10.5vw, 4rem); }
    .guide-hero-facts { grid-template-columns: repeat(2, 1fr); }
    .guide-hero-facts div { padding: .8rem .9rem .8rem 0; border-bottom: 1px solid rgb(255 255 255 / 20%); }
    .guide-hero-facts div + div { padding-left: .9rem; }
    .guide-hero-facts div:nth-child(2) { border-right: 0; }
    .guide-hero-facts div:nth-child(n + 3) { border-bottom: 0; }
    .guide-duration-nav a { min-height: 58px; padding: .55rem .35rem; font-size: .7rem; }
    .guide-section-heading-row { align-items: start; }
    .guide-days-mark { display: none; }
    .guide-place-list article { grid-template-columns: 38px 1fr; }
    .guide-place-meta { grid-column: 2; text-align: left; }
    .guide-place-meta span,
    .guide-place-meta strong { display: inline; }
    .guide-place-meta span::after { content: " · "; }
    .guide-planning-grid { grid-template-columns: 1fr; }
    .guide-photo-essay { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guide-photo-card-featured { grid-column: 1 / -1; grid-row: auto; grid-template-columns: 1fr; }
    .guide-photo-card-featured .guide-photo-media { height: min(58vw, 420px); }
    .guide-photo-media { height: min(34vw, 245px); }
    .guide-other-route-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
    .guide-hub-hero,
    .guide-hub-hero-inner { min-height: 650px; }
    .guide-hub-hero-inner { padding-top: 5.5rem; }
    .guide-hub-hero .breadcrumb { top: 1.5rem; }
    .guide-destination-media,
    .guide-destination-card:first-child .guide-destination-media { height: 230px; }
    .guide-duration-links { grid-template-columns: repeat(2, 1fr); }
    .guide-duration-links a { min-height: 78px; }
    .guide-hero { min-height: 740px; }
    .guide-hero-inner { min-height: 740px; padding-top: 1.4rem; }
    .guide-hero-copy { padding-block: 2.2rem 1.5rem; }
    .guide-hero-actions { display: grid; grid-template-columns: 1fr; }
    .guide-hero-actions .button { width: 100%; }
    .guide-duration-nav-inner { width: 100%; }
    .guide-duration-nav a { font-size: .63rem; }
    .guide-rail { display: block; }
    .guide-rail-trip dl { grid-template-columns: 1fr; gap: 0; }
    .guide-rail-trip dl > div { border-right: 0; border-bottom: 1px solid #383731; }
    .guide-reality-check { grid-template-columns: 1fr; }
    .guide-day-header { grid-template-columns: 72px 1fr; }
    .guide-day-number { min-height: 100px; }
    .guide-timeline { padding-inline: 1rem; }
    .guide-timeline li { grid-template-columns: 1fr; gap: .25rem; padding-left: 1rem; }
    .guide-final-leg { margin-inline: 1rem; }
    .guide-day-tip { padding-inline: 1rem; }
    .guide-related-durations { grid-template-columns: 1fr; }
    .guide-photo-essay { grid-template-columns: 1fr; }
    .guide-photo-card-featured { grid-column: auto; }
    .guide-photo-card-featured .guide-photo-media,
    .guide-photo-media { height: 250px; }
    .guide-related-durations a,
    .guide-related-durations a:nth-child(2) { min-height: 105px; border-right: 0; border-bottom: 1px solid #d8d1c3; }
    .guide-related-durations a:last-child { border-bottom: 0; }
    .guide-other-route-grid { grid-template-columns: 1fr; }
    .guide-other-route-grid a { min-height: 125px; }
    .guide-source-block ul { display: grid; }
    .guide-source-block a { justify-content: space-between; }
    .home-guide-route-list { grid-template-columns: 1fr; }
    .home-guide-route-list a:first-child { grid-column: auto; }
    .home-guide-route-list a,
    .home-guide-route-list a:first-child { min-height: 115px; }
}

@media (max-width: 390px) {
    .guide-hub-hero h1 { font-size: 2.65rem; }
    .guide-hero h1 { font-size: 2.25rem; }
    .guide-hero-facts strong { font-size: .82rem; }
    .guide-duration-nav a { letter-spacing: -.02em; }
    .guide-day-header > div:last-child { padding-inline: 1rem; }
    .guide-day-header h3 { font-size: 1.18rem; }
}
