/* A photograph and a direct invitation finish each city guide. */
.city-guide .city-cta-editorial { background:var(--brand-paper-soft,#faf9f5); padding-block:clamp(64px,7vw,116px); }
.city-guide .city-cta-editorial::before { display:none; }
.city-cta-editorial-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(42px,7vw,112px); align-items:center; }
.city-closing-photo { position:relative; display:block; aspect-ratio:1.03; overflow:hidden; background:var(--brand-stone); }
.city-closing-photo>img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 1.3s cubic-bezier(.22,.61,.36,1); }
.city-closing-photo::after { content:''; position:absolute; inset:55% 0 0; background:linear-gradient(transparent,rgba(13,19,21,.64)); pointer-events:none; }
.city-closing-caption { position:absolute; z-index:1; inset:auto 28px 25px; display:flex; justify-content:space-between; align-items:end; gap:20px; color:#fff; font-size:14px; }
.city-closing-caption small { display:block; font-size:9px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:7px; }
.city-closing-caption .arrow-icon { width:22px; height:22px; flex:none; }
.city-guide .city-closing-copy .city-eyebrow { color:var(--brand-muted); font-size:10px; letter-spacing:.13em; }
.city-guide .city-closing-copy h2 { font-size:clamp(44px,5vw,78px); margin:28px 0; line-height:1.02; letter-spacing:-.05em; }
.city-guide .city-closing-copy h2 em { color:var(--brand-accent); }
.city-guide .city-closing-copy>p { max-width:410px; font-size:15px; color:var(--brand-text-soft); }
.city-closing-start { display:flex; align-items:center; justify-content:space-between; gap:22px; padding-block:26px; margin-top:26px; border-bottom:1px solid var(--brand-line); font-size:clamp(20px,2vw,28px); letter-spacing:-.025em; }
.city-closing-orbit { display:grid; place-items:center; width:76px; height:76px; flex:none; border:1px solid var(--brand-accent); border-radius:50%; transition:background .4s,color .4s; }
.city-closing-orbit .arrow-icon { width:28px; height:28px; transition:transform .45s cubic-bezier(.22,.61,.36,1); }
.city-closing-direct { display:flex; align-items:baseline; justify-content:space-between; gap:20px; margin-top:22px; font-size:12px; color:var(--brand-muted); }
.city-closing-direct>a { color:var(--brand-ink); padding:8px 0; text-decoration:underline; text-underline-offset:5px; white-space:nowrap; }
@media (hover:hover) {
 .city-closing-photo:hover>img { transform:scale(1.035); }
 .city-closing-start:hover .city-closing-orbit { background:var(--brand-ink); color:var(--brand-paper-soft); }
 .city-closing-start:hover .arrow-icon { transform:translate(2px,-2px); }
}
.city-closing-start:focus-visible .city-closing-orbit { background:var(--brand-ink); color:var(--brand-paper-soft); }
@media(max-width:1000px) and (min-width:761px) { .city-cta-editorial-grid { gap:38px; } .city-closing-direct { flex-direction:column; gap:0; } }
@media(max-width:760px) {
 .city-cta-editorial-grid { grid-template-columns:1fr; gap:34px; }
 .city-closing-photo { aspect-ratio:1.25; }
 .city-guide .city-closing-copy h2 { font-size:clamp(43px,11vw,62px); margin-block:22px; }
 .city-closing-orbit { width:64px; height:64px; }
 .city-closing-start { margin-top:12px; padding-block:22px; }
 .city-closing-caption { inset:auto 22px 20px; }
 .city-closing-direct { font-size:11px; gap:12px; }
}
@media(prefers-reduced-motion:reduce) { .city-closing-photo>img,.city-closing-orbit,.city-closing-orbit .arrow-icon { transition:none; transform:none!important; } }
