/* WordPress + Elementor integration. The approved design layers load before this file. */
body.cx-wordpress{margin:0;background:var(--cx-paper,#fffcf6);color:var(--cx-ink,#242449)}
.cx-wordpress a{text-decoration:none}.cx-wordpress button{font-family:inherit}.cx-wordpress [hidden]{display:none!important}
.cx-wordpress .elementor{--widgets-spacing:0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px}
.cx-wordpress .cx-layout{padding:0!important;gap:0!important;max-width:none!important;width:100%;overflow:visible;--container-default-padding-top:0px;--container-default-padding-bottom:0px}
.cx-wordpress .cx-layout>.elementor-widget{width:100%;max-width:none;margin:0}
.cx-wordpress .elementor-widget-container{overflow:visible}

.cx-main{width:100%;overflow:visible;min-height:35vh}
.cx-header-mount{position:relative;z-index:40;background:var(--cx-paper,#fffcf6)}
.city-journey-pinned>.cx-header-mount{position:sticky;top:var(--cx-adminbar,0px);backdrop-filter:blur(18px)}
body.admin-bar{--cx-adminbar:32px}
.cx-header-mount .header{position:relative;top:auto;background:var(--cx-paper,#fffcf6);margin:0;max-width:none}
.cx-wordpress .search-wrap{margin:0;padding-top:30px;padding-bottom:28px;background:#202044;border-top:1px solid #ffffff15}
.cx-wordpress .city-open,.cx-wordpress .journal-card,.cx-wordpress .hero-pick,.cx-wordpress .food-pick{text-decoration:none}
.cx-wordpress .journal-card{display:block;color:inherit;text-align:left}
.cx-wordpress .hero-pick{color:inherit}.cx-wordpress .food-pick{color:inherit}
.cx-wordpress .terminal-directory nav>a{display:grid;grid-template-columns:34px 1fr 106px 32px;align-items:center;gap:14px;width:100%;border-bottom:1px solid #ffffff22;padding:23px 0;text-align:left;color:inherit}
.cx-wordpress .terminal-directory nav>a:hover .stop-name{color:var(--cx-mint,#b9f3dc)}
.cx-wordpress .terminal-links a{font-size:11px;color:#c8c7df}
.cx-wordpress .terminal-colophon a{color:inherit}
.cx-wordpress .city-ticker,.cx-wordpress .terminal-ticket{background:var(--cx-mint,#b9f3dc)}
.cx-wordpress .green,.cx-wordpress .intro h2 em{color:#bc3e5c}
.cx-wordpress .button.lime{background:var(--cx-accent,#ff9da6)}
.cx-wordpress .journey-scene .button.lime{background:var(--scene-accent)}
.cx-article{max-width:1020px;margin:0 auto;padding:70px 32px 100px}
.cx-article>.eyebrow{margin:40px 0 20px}
.cx-article h1,.cx-archive>h1{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:clamp(52px,7vw,94px);line-height:1.03;letter-spacing:-1.5px;margin:0 0 35px}
.cx-article-image{width:100%;height:auto;max-height:540px;object-fit:cover;margin-bottom:40px}
.cx-prose{max-width:760px;font-size:17px;line-height:1.8}
.cx-prose p,.cx-prose ul,.cx-prose ol{margin:0 0 24px}
.cx-prose ul,.cx-prose ol{padding-left:25px}
.cx-prose h2,.cx-prose h3{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:40px;line-height:1.12;margin:44px 0 18px}
.cx-prose a{color:#453da0;text-decoration:underline;text-underline-offset:4px}
.cx-prose .button{margin-top:20px}
.cx-prose figure{max-width:100%}.cx-prose img{max-width:100%;height:auto}
.cx-archive{padding-top:70px;padding-bottom:90px;min-height:60vh}.cx-archive>.eyebrow{margin-bottom:20px}
.cx-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.cx-post-grid article>a{color:inherit}.cx-post-grid img{width:100%;height:240px;object-fit:cover}
.cx-post-grid h2{font-family:'Instrument Serif',Georgia,serif;font-size:36px;font-weight:400;line-height:1.1;margin:20px 0 16px}
.cx-post-grid p{line-height:1.7;margin-bottom:18px}.pagination{margin-top:45px}.page-numbers{display:inline-block;padding:10px 16px}
.cx-wordpress .elementor-editor-active .reveal{opacity:1;transform:none}
.cx-wordpress .elementor-widget-cx-journey{position:relative;z-index:1}
.cx-wordpress .elementor-widget-cx-search{position:relative;z-index:2}
.cx-wordpress .skip:focus{z-index:999999}
@media(max-width:782px){body.admin-bar{--cx-adminbar:46px}}
@media(max-width:760px){.cx-article{padding:40px 24px 65px}.cx-prose{font-size:16px}.cx-post-grid{grid-template-columns:1fr}.cx-article h1{font-size:54px}.cx-wordpress .terminal-directory nav>a{padding:18px 0}.cx-wordpress .search-wrap{padding-top:25px}}

@media(max-width:1000px){.cx-wordpress .terminal-directory nav>a{grid-template-columns:28px 1fr 25px}}

.cx-wordpress .scenic-copy .lime{background:var(--cx-mint,#b9f3dc)}
.cx-wordpress .stop-arrow{color:var(--cx-accent,#ff9da6)}
.cx-wordpress .pick-image img,.cx-wordpress .city-card img,.cx-wordpress .experience-visual>img,.cx-wordpress .journal-image img{width:100%;height:100%;object-fit:cover}
.cx-wordpress .experience-visual>img{border-radius:8px}
.cx-wordpress .scenic-banner>img{width:100%;height:calc(100% + 240px);object-fit:cover}

/* CityXplorer 1.0.1 — readable content and controls at every breakpoint. */
body.cx-wordpress .eyebrow,
body.cx-wordpress .desktop-nav,
body.cx-wordpress .saved-trigger,
body.cx-wordpress .saved-trigger b,
body.cx-wordpress .hero-top .eyebrow,
body.cx-wordpress .hero-coordinate,
body.cx-wordpress .small-title,
body.cx-wordpress .button,
body.cx-wordpress .pick-text .eyebrow,
body.cx-wordpress .pick-text p,
body.cx-wordpress .location,
body.cx-wordpress .hero-bottom,
body.cx-wordpress .hero-bottom a,
body.cx-wordpress .search-panel label>span,
body.cx-wordpress .search-panel input,
body.cx-wordpress .search-panel select,
body.cx-wordpress .search-panel .button,
body.cx-wordpress .search-hint,
body.cx-wordpress .intro-bottom p,
body.cx-wordpress .section-heading>p,
body.cx-wordpress .filters button,
body.cx-wordpress .city-result,
body.cx-wordpress .city-tag,
body.cx-wordpress .city-state,
body.cx-wordpress .city-card p,
body.cx-wordpress #empty-state p,
body.cx-wordpress .experience-intro>p,
body.cx-wordpress .experience-tabs button,
body.cx-wordpress .experience-tabs button span,
body.cx-wordpress .experience-chip,
body.cx-wordpress .experience-card .eyebrow,
body.cx-wordpress .experience-card p,
body.cx-wordpress .vertical-caption,
body.cx-wordpress .scenic-copy p,
body.cx-wordpress .scenic-pin,
body.cx-wordpress .essentials-copy>p,
body.cx-wordpress .traveler-types span,
body.cx-wordpress .text-link,
body.cx-wordpress summary small,
body.cx-wordpress details p,
body.cx-wordpress details .text-link,
body.cx-wordpress .journal-subtitle,
body.cx-wordpress .article-meta,
body.cx-wordpress .footer-top p,
body.cx-wordpress .footer-domain,
body.cx-wordpress .footer-links>span,
body.cx-wordpress .footer-links a,
body.cx-wordpress .footer-links button,
body.cx-wordpress .footer-bottom,
body.cx-wordpress #dialog-content .source-links,
body.cx-wordpress #toast,
body.cx-wordpress .hero-description,
body.cx-wordpress .hero-bottom>span:last-child,
body.cx-wordpress .intro-label .eyebrow,
body.cx-wordpress summary,
body.cx-wordpress .terminal-brand small,
body.cx-wordpress .city-ticker,
body.cx-wordpress .header-actions .saved-trigger,
body.cx-wordpress .hero-footnote,
body.cx-wordpress .image-code,
body.cx-wordpress .discovery-stamp,
body.cx-wordpress .food-pick small,
body.cx-wordpress .stack-caption,
body.cx-wordpress .search-panel .dark,
body.cx-wordpress .section-heading .eyebrow,
body.cx-wordpress .essentials-accordion summary,
body.cx-wordpress .essentials-accordion details p,
body.cx-wordpress .essentials-accordion summary small,
body.cx-wordpress .closing .eyebrow,
body.cx-wordpress .closing .button,
body.cx-wordpress .journey-skip,
body.cx-wordpress .journey-scene .small-title,
body.cx-wordpress .journey-scene .hero-description,
body.cx-wordpress .journey-scene .stack-caption,
body.cx-wordpress .journey-scroll-cue,
body.cx-wordpress .journey-scroll-cue small,
body.cx-wordpress .journey-destinations button,
body.cx-wordpress .destination-number,
body.cx-wordpress .journey-continue,
body.cx-wordpress .journey-guide,
body.cx-wordpress .journey-enhanced .hero-description,
body.cx-wordpress .journey-viewport>.hero-top .eyebrow,
body.cx-wordpress .journey-scene .hero-footnote,
body.cx-wordpress .journey-scene .pick-text p,
body.cx-wordpress .journey-scene .discovery-stamp,
body.cx-wordpress .terminal-heading .eyebrow,
body.cx-wordpress .terminal-top,
body.cx-wordpress .ticket-code,
body.cx-wordpress .terminal-ticket p,
body.cx-wordpress .terminal-ticket>a,
body.cx-wordpress .ticket-stub,
body.cx-wordpress .directory-label,
body.cx-wordpress .stop-number,
body.cx-wordpress .stop-state,
body.cx-wordpress .terminal-tools a,
body.cx-wordpress .terminal-tools button,
body.cx-wordpress .terminal-brand>span,
body.cx-wordpress .terminal-colophon nav button,
body.cx-wordpress .terminal-colophon nav a,
body.cx-wordpress .terminal-copyright,
body.cx-wordpress .terminal-links a{font-size:14px}

body.cx-wordpress{font-size:18px;line-height:1.65}
body.cx-wordpress .desktop-nav{font-size:16px;gap:24px;font-weight:500}
body.cx-wordpress .header-actions .saved-trigger{font-size:16px;gap:9px}
body.cx-wordpress .saved-trigger b{font-size:14px;width:28px;height:28px}
body.cx-wordpress .header{min-height:96px;height:auto;padding-top:12px;padding-bottom:12px;gap:22px}
body.cx-wordpress .mobile-nav a{font-size:18px;padding:12px 0;line-height:1.5}
body.cx-wordpress .button,body.cx-wordpress .journey-guide,body.cx-wordpress .search-panel .button,body.cx-wordpress .search-panel .dark{font-size:16px;min-height:48px;line-height:1.4}
body.cx-wordpress .text-link,body.cx-wordpress details .text-link{font-size:16px;line-height:1.6}
body.cx-wordpress .intro-bottom p,body.cx-wordpress .section-heading>p,body.cx-wordpress .experience-intro>p,body.cx-wordpress .scenic-copy p,body.cx-wordpress .essentials-copy>p,body.cx-wordpress .essentials-accordion details p,body.cx-wordpress .cx-prose{font-size:18px;line-height:1.7}
body.cx-wordpress .journey-scene .hero-description{font-size:18px;line-height:1.6;max-width:590px;margin:22px 0}
body.cx-wordpress .journey-scene .hero-description br{display:none}
body.cx-wordpress .journey-scene .small-title{font-size:14px;line-height:1.5;letter-spacing:.8px;margin-bottom:20px}
body.cx-wordpress .eyebrow,body.cx-wordpress .hero-top .eyebrow,body.cx-wordpress .journey-viewport>.hero-top .eyebrow{font-size:14px;line-height:1.5;letter-spacing:.8px}
body.cx-wordpress .hero-footnote,body.cx-wordpress .journey-scene .hero-footnote{font-size:14px;line-height:1.5;letter-spacing:.5px;margin-top:18px}
body.cx-wordpress .journey-skip,body.cx-wordpress .journey-continue,body.cx-wordpress .journey-destinations button{font-size:16px;line-height:1.4}
body.cx-wordpress .journey-scroll-cue,body.cx-wordpress .journey-scroll-cue small{font-size:14px;letter-spacing:.4px;white-space:normal;line-height:1.5}
body.cx-wordpress .journey-scroll-cue{max-width:230px}
body.cx-wordpress .journey-destinations{max-width:660px;gap:18px}
body.cx-wordpress .destination-number{display:block;font-size:14px;margin:0 0 4px}
body.cx-wordpress .destination-name{white-space:normal}
body.cx-wordpress .journey-controls{gap:24px}
body.cx-wordpress .journey-scene .hero-stack{width:350px;height:560px}
body.cx-wordpress .journey-scene .hero-pick{width:290px;top:14px}
body.cx-wordpress .journey-scene .pick-image{height:180px}
body.cx-wordpress .journey-scene .pick-text{padding:16px 12px}
body.cx-wordpress .journey-scene .pick-text .eyebrow{font-size:14px;line-height:1.45;letter-spacing:.3px}
body.cx-wordpress .journey-scene .pick-text p{font-size:16px;line-height:1.5;margin-top:8px}
body.cx-wordpress .journey-scene .discovery-stamp{font-size:14px;width:108px;height:108px;line-height:1.2}
body.cx-wordpress .journey-scene .food-pick{width:320px;right:0;top:410px;bottom:auto;padding:14px;gap:14px}
body.cx-wordpress .journey-scene .food-pick small{font-size:14px;line-height:1.4;letter-spacing:.2px;margin-bottom:6px}
body.cx-wordpress .journey-scene .food-pick strong{font-size:24px;line-height:1.12}
body.cx-wordpress .journey-scene .stack-caption{display:none}
body.cx-wordpress .image-code{font-size:14px;letter-spacing:.3px;padding:5px 8px}
body.cx-wordpress .search-panel{gap:24px;align-items:center}
body.cx-wordpress .search-panel label>span{font-size:14px;line-height:1.4;letter-spacing:.5px;margin-bottom:8px}
body.cx-wordpress .search-panel input,body.cx-wordpress .search-panel select{font-size:16px;min-height:44px;width:100%;max-width:100%}
body.cx-wordpress .search-panel label{min-width:0}
body.cx-wordpress .search-hint{font-size:16px;line-height:1.6}
body.cx-wordpress .filters{flex-wrap:wrap}
body.cx-wordpress .filters button{font-size:16px;line-height:1.4;padding:12px 18px;min-height:48px}
body.cx-wordpress .city-result{font-size:16px;line-height:1.5}
body.cx-wordpress .city-tag,body.cx-wordpress .city-state{font-size:14px;line-height:1.45;letter-spacing:.3px}
body.cx-wordpress .city-tag{max-width:calc(100% - 62px);white-space:normal}
body.cx-wordpress .city-card p{font-size:16px;line-height:1.5;max-width:90%}
body.cx-wordpress .city-card{min-height:440px}
body.cx-wordpress .save-city{width:44px;height:44px}
body.cx-wordpress .experience-tabs button{font-size:18px;line-height:1.5;padding:17px 15px;min-height:56px}
body.cx-wordpress .experience-tabs button span{font-size:14px}
body.cx-wordpress .experience-chip{font-size:14px;line-height:1.4;letter-spacing:.3px;max-width:calc(100% - 40px)}
body.cx-wordpress .experience-card p{font-size:16px;line-height:1.6}
body.cx-wordpress .experience-visual{min-height:640px}
body.cx-wordpress .vertical-caption{font-size:14px;letter-spacing:.5px}
body.cx-wordpress .scenic-pin{font-size:16px;line-height:1.5}
body.cx-wordpress .traveler-types span{font-size:14px;line-height:1.4}
body.cx-wordpress .essentials-accordion summary{font-size:18px;line-height:1.4}
body.cx-wordpress .essentials-accordion summary small{font-size:16px;line-height:1.5;margin-top:6px}
body.cx-wordpress .journal-subtitle,body.cx-wordpress .terminal-ticket p{font-size:18px;line-height:1.6}
body.cx-wordpress .article-meta{font-size:14px;line-height:1.6;letter-spacing:.5px}
body.cx-wordpress .terminal-ticket>a,body.cx-wordpress .terminal-tools a,body.cx-wordpress .terminal-tools button,body.cx-wordpress .terminal-colophon nav a,body.cx-wordpress .terminal-colophon nav button,body.cx-wordpress .terminal-top{font-size:16px;line-height:1.5}
body.cx-wordpress .terminal-colophon nav{flex-wrap:wrap;gap:18px 24px}
body.cx-wordpress .terminal-copyright,body.cx-wordpress .terminal-brand small{font-size:14px;line-height:1.6;letter-spacing:.3px}
body.cx-wordpress .directory-label,body.cx-wordpress .ticket-code,body.cx-wordpress .ticket-stub,body.cx-wordpress .stop-state{font-size:14px;line-height:1.5;letter-spacing:.5px}
body.cx-wordpress .stop-number{font-size:14px;width:32px;height:32px}
body.cx-wordpress .terminal-directory nav>a{grid-template-columns:36px 1fr 112px 30px}
body.cx-wordpress #dialog-content p,body.cx-wordpress #dialog-content li,body.cx-wordpress #dialog-content .source-links{font-size:18px;line-height:1.7}
body.cx-wordpress .saved-row button,body.cx-wordpress #toast{font-size:16px;line-height:1.5}
@media(max-width:1200px){
 body.cx-wordpress .desktop-nav{gap:17px}
 body.cx-wordpress .header{padding-left:24px;padding-right:24px}
 body.cx-wordpress .header .brand-logo{width:220px}
 body.cx-wordpress .journey-scroll-cue{display:none}
 body.cx-wordpress .journey-scene{gap:30px}
 body.cx-wordpress .journey-scene .hero-stack{width:310px}
 body.cx-wordpress .journey-enhanced .journey-title{font-size:clamp(62px,7.2vw,92px)}
 body.cx-wordpress .city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.cx-wordpress .terminal-colophon{flex-wrap:wrap}
 body.cx-wordpress .terminal-directory nav>a{grid-template-columns:36px 1fr 30px}
 body.cx-wordpress .stop-state{display:none}
}
@media(min-width:761px) and (max-height:820px){
 body.cx-wordpress .journey-enhanced .journey-scene{inset:65px 5% 115px;gap:30px}
 body.cx-wordpress .journey-enhanced .journey-title{font-size:clamp(60px,6.5vw,86px)}
 body.cx-wordpress .journey-enhanced .hero-description{font-size:18px;margin:16px 0}
 body.cx-wordpress .journey-enhanced .small-title{margin-bottom:12px}
 body.cx-wordpress .journey-enhanced .hero-footnote{display:none}
 body.cx-wordpress .journey-enhanced .hero-stack{height:390px}
 body.cx-wordpress .journey-enhanced .food-pick{display:none}
}
@media(max-width:1000px){
 body.cx-wordpress .desktop-nav{display:none}
 body.cx-wordpress .menu-toggle{display:block;font-size:28px;min-width:44px;min-height:44px}
 body.cx-wordpress .header-actions{gap:12px}
 body.cx-wordpress .mobile-nav{padding:8px 24px 20px}
 body.cx-wordpress .search-panel{flex-wrap:wrap}
 body.cx-wordpress .search-panel>label{flex:1 1 260px}
 body.cx-wordpress .filter-bar{flex-wrap:wrap;gap:18px}
 body.cx-wordpress .journey-enhanced .journey-scene{inset:75px 4% 120px;gap:24px}
 body.cx-wordpress .journey-scene .hero-stack{width:280px}
 body.cx-wordpress .journey-scene .hero-pick{width:260px}
 body.cx-wordpress .journey-scene .discovery-stamp{left:-8px}
}
@media(max-width:760px){
 body.cx-wordpress .header{min-height:84px;padding:8px 18px;gap:12px}
 body.cx-wordpress .header .brand-logo{width:195px}
 body.cx-wordpress .header-actions .saved-trigger{padding:8px;gap:6px}
 body.cx-wordpress .header-actions{gap:4px}
 body.cx-wordpress .journey-viewport>.hero-top{padding:18px 24px;gap:18px}
 body.cx-wordpress .journey-viewport>.hero-top .eyebrow{max-width:190px;font-size:14px;line-height:1.4}
 body.cx-wordpress .journey-skip{font-size:16px;flex-shrink:0;max-width:95px}
 body.cx-wordpress .journey-scene{padding:46px 24px;min-height:940px;gap:0}
 body.cx-wordpress .journey-scene .hero-description{font-size:18px;margin:24px 0}
 body.cx-wordpress .journey-scene .hero-stack{width:290px;height:350px;margin:40px auto 0}
 body.cx-wordpress .journey-scene .hero-pick{width:250px;right:0;top:10px}
 body.cx-wordpress .journey-scene .pick-image{height:145px}
 body.cx-wordpress .journey-scene .pick-text h3{font-size:32px}
 body.cx-wordpress .journey-scene .pick-text p{font-size:16px}
 body.cx-wordpress .journey-scene .discovery-stamp{left:-12px;top:0;width:94px;height:94px;font-size:14px}
 body.cx-wordpress .journey-scene .food-pick{display:none}
 body.cx-wordpress .journey-destinations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px}
 body.cx-wordpress .journey-destinations button{font-size:16px;min-height:64px}
 body.cx-wordpress .city-grid{grid-template-columns:1fr;gap:24px}
 body.cx-wordpress .city-card{height:440px;min-height:440px}
 body.cx-wordpress .city-card h3,body.cx-wordpress .city-card:first-child h3{font-size:42px}
 body.cx-wordpress .city-card p{font-size:18px;line-height:1.5}
 body.cx-wordpress .search-panel{gap:16px}
 body.cx-wordpress .search-panel>label{flex-basis:100%}
 body.cx-wordpress .search-panel .button{width:100%}
 body.cx-wordpress .filters{gap:10px}
 body.cx-wordpress .filters button{font-size:16px;padding:12px 16px}
 body.cx-wordpress .experience-visual{min-height:670px}
 body.cx-wordpress .experience-card{left:16px;right:16px;padding:22px;bottom:24px}
 body.cx-wordpress .experience-card h3{font-size:40px}
 body.cx-wordpress .vertical-caption{display:none}
 body.cx-wordpress .essentials-accordion summary{font-size:18px;gap:12px}
 body.cx-wordpress .terminal-tools{justify-content:flex-start;gap:16px 24px}
 body.cx-wordpress .terminal-heading{align-items:flex-start}
 body.cx-wordpress .terminal-top{flex-shrink:0}
 body.cx-wordpress .terminal-heading .eyebrow{max-width:190px}
 body.cx-wordpress .terminal-ticket{padding:24px 24px 0}
 body.cx-wordpress .ticket-stub{gap:12px}
 body.cx-wordpress .terminal-colophon nav{gap:16px 22px}
}
@media(max-width:380px){
 body.cx-wordpress .header .brand-logo{width:165px}
 body.cx-wordpress .header{padding-left:12px;padding-right:12px}
 body.cx-wordpress .journey-scene .hero-stack{max-width:100%}
 body.cx-wordpress .terminal-heading{flex-wrap:wrap}
}
