    /* ── City Guide – visual redesign ─────────────────────────────── */
    .city-hero {
        position: relative;
        border-radius: var(--radius-lg);
        overflow: hidden;
        margin-bottom: 2rem;
        min-height: 380px;
        display: flex;
        align-items: flex-end;
        background: #020617;
    }
    .city-hero-bg {
        position: absolute;
        inset: 0;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .city-hero-overlay {
        position: relative;
        z-index: 1;
        width: 100%;
        padding: 2.5rem 2rem 2rem;
    }
    .city-hero-overlay h1 {
        color: #fff;
        font-size: clamp(1.8rem, 4vw, 2.5rem);
        line-height: 1.15;
        margin: 0 0 0.5rem;
        text-shadow: 0 2px 10px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.45);
    }
    .city-hero-overlay .city-hero-sub {
        color: rgba(255,255,255,0.92);
        font-size: 1rem;
        margin: 0;
        max-width: 38rem;
        text-shadow: 0 1px 6px rgba(0,0,0,.6);
    }
    /* Intro block */
    .city-intro-block {
        margin: 0 0 1rem;
    }
    .city-intro-block h2 {
        font-size: 1.3rem;
        color: var(--text-main);
        margin-bottom: 0.5rem;
    }
    .city-intro-block p {
        color: var(--text-muted);
        line-height: 1.75;
        margin-bottom: 0.5rem;
    }
    /* Closing CTA */
    .city-closing-cta {
        background: var(--primary-soft);
        border-radius: var(--radius-lg);
        padding: 2.5rem 2rem;
        text-align: center;
        margin: 1.5rem 0 0;
    }
    .city-closing-cta .primary-button {
        display: inline-block;
        margin-top: 1.25rem;
    }
    .city-closing-cta h2 {
        font-size: 1.5rem;
        margin-bottom: 0.75rem;
        color: var(--text-main);
    }
    .city-closing-cta p {
        color: var(--text-muted);
        margin-bottom: 1.5rem;
        line-height: 1.7;
    }
    /* Itinerary-fit closing links */
    .city-itinerary-fit a {
        font-weight: 600;
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    /* Other city guides – compact card grid */
    .city-links-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 0.75rem;
    }
    @media (max-width: 600px) {
        .city-hero { min-height: var(--hero-h-mobile); }
        .city-hero-overlay { padding: 1.5rem 1.25rem 1.25rem; }
        .city-links-grid { grid-template-columns: 1fr 1fr; }
    }
