/* EZ Korea: Taegeuk blue actions, red highlights, navy text and real photography. */
:root{
 --brand:#1454b8;--brand-hover:#103e86;--red:#c83246;--red-deep:#ab2436;--red-soft:#fff0f2;--brand-soft:#edf4ff;--brand-line:#c6d8f6;
 --navy:#102a56;--sky:#43c7ef;--ink:#182b49;--muted:#52637d;--line:#dce4f1;
 --paper:#f5f8fe;--teal:var(--brand);--mint:var(--brand-soft);--blue:var(--brand-soft);
 --card-shadow:0 6px 22px #16396b0a;
}
.site-header{border-top:4px solid var(--brand);border-bottom:1px solid var(--line);background:#fff}
.header-inner{min-height:82px}.brand{color:var(--navy);font-size:1.4rem;gap:12px}
.brand-icon{background:var(--brand);border-color:var(--brand);color:#fff;width:42px;height:42px;border-radius:12px;font-size:1.125rem;box-shadow:0 4px 12px #1454b826}
.nav{gap:10px}.nav a{color:var(--navy);font-weight:600;font-size:.9375rem;padding:9px 14px;border-radius:9px}.nav a:hover{background:var(--brand-soft);color:var(--brand)}
.nav .lang-switch{border-color:var(--brand-line);color:var(--brand);background:var(--brand-soft)}
.preview-note{font-size:.875rem;padding-block:6px}
:is(h1,h2,h3){color:var(--navy)}
:is(.arrival-hero,.destination-cover,.scenic-card) :is(h1,h2,h3){color:#fff}
.eyebrow{color:var(--brand)}
:is(a,button,input,select,summary):focus-visible{outline:3px solid var(--brand);outline-offset:4px}
.primary,.search-panel .primary,.arrival-hero .search-panel .primary{background:var(--brand);color:#fff;box-shadow:0 4px 10px #1454b819}
.primary:hover,.search-panel .primary:hover{background:var(--brand-hover)}
.secondary-action{background:#fff;border-color:var(--brand-line);color:var(--brand)}.secondary-action:hover{background:var(--brand-soft);border-color:var(--brand)}
.site-footer{background:var(--navy);color:#dce8ff;border-top:0}.site-footer a{color:#fff}
.home-main{background:var(--paper)}.home-lower{padding-top:48px}.arrival-hero{background:var(--navy)}
.arrival-hero:after{background:linear-gradient(90deg,#071c43d9,#12346757 67%,#102a5624),linear-gradient(0deg,#0c25578f,transparent 70%)}
.arrival-hero .eyebrow{color:#b9eaff}.destination-cover .eyebrow{color:#cbe8ff}
.destination-input-row{border:2px solid #c6d8f6;border-radius:14px;padding:8px 8px 8px 20px;box-shadow:0 10px 32px #051a4333}
.destination-input-row:focus-within{border-color:var(--sky)}.destination-input-row .primary{min-height:50px;padding-inline:28px}
.destination-shortcuts a{background:#102a5680;border-color:#ffffff85}.destination-shortcuts a:hover{background:var(--brand)}
.home-lower .section-head .eyebrow{font-size:.875rem;letter-spacing:.1em}
.section-head>a{font-weight:650;min-height:44px;align-content:center}
.travel-destination{overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--card-shadow);transition:box-shadow .18s,border-color .18s}
.travel-destination:hover{border-color:var(--brand);box-shadow:0 8px 28px #1454b81a}
.travel-destination .destination-photo{border-radius:0;aspect-ratio:4/3}
.destination-copy{padding:20px}.destination-copy>span:first-child{font-size:.875rem;letter-spacing:.08em}
.destination-copy h3{color:var(--navy);margin:7px 0 10px}.destination-copy p{font-size:1rem}
.destination-open-label{font-size:.9375rem;padding-top:8px;border-top:1px solid var(--line)}
.korea100-home{background:var(--navy);border:0;box-shadow:var(--card-shadow);padding:28px 32px}
.korea100-home :is(h2,.eyebrow,.citywide-link){color:#fff}.korea100-home .eyebrow{color:#a7e6ff}.korea100-home p{color:#d3e2fb;font-size:1rem}
.korea100-home .citywide-link{background:#fff;color:var(--brand);border-radius:9px;padding:12px 18px;min-height:48px}
.help-card,.transport-card,.intercity-mode-card,.directory-card{box-shadow:var(--card-shadow);border-color:var(--line)}
.help-card:hover,.transport-card:hover{border-color:var(--brand)}.help-card[open]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.help-heading{background:#fff}.help-card[open] .help-heading{background:var(--brand-soft)}.help-heading strong{color:var(--navy)}.help-toggle{color:var(--brand)}
.transport-card .transport-card-photo figcaption{background:var(--brand-soft);color:var(--muted);font-size:.875rem}
.transport-card .transport-card-action{font-size:.9375rem}.home-transport .route-card:last-child{background:#fff}
.transport-help-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0 32px;align-items:start}
.feature-guide-card{min-width:0;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow)}
.feature-guide-card:hover{border-color:var(--brand)}
.feature-guide-link{display:block;color:var(--ink);text-decoration:none}.feature-guide-link:focus-visible{outline-offset:-4px}
.feature-photo{margin:0;min-width:0;background:var(--brand-soft)}
.feature-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.feature-photo figcaption{padding:9px 18px;color:var(--muted);font-size:.875rem;line-height:1.5;background:#f6f8fc}
.feature-guide-copy{padding:22px}.feature-kicker{font-size:.875rem;font-weight:750;letter-spacing:.08em;color:var(--brand)}
.feature-guide-copy h3{font-size:1.375rem;line-height:1.4;margin:8px 0 10px}.feature-guide-copy p{color:var(--muted);font-size:1rem;line-height:1.7;min-height:3.4em;margin-bottom:18px}
.feature-guide-action{display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--brand-line);background:var(--brand-soft);color:var(--brand);font-size:1rem;font-weight:700;border-radius:9px;padding:10px 14px;text-align:center}
.feature-guide-link:hover .feature-guide-action{background:var(--brand);color:#fff;border-color:var(--brand)}
.feature-photo-credit{border-top:1px solid var(--line);padding:0 18px;background:#fff;font-size:.875rem;color:var(--muted)}
.feature-photo-credit summary{cursor:pointer;min-height:44px;align-content:center;color:var(--muted)}.feature-photo-credit p{font-size:.875rem;line-height:1.7;margin:0 0 14px}
.feature-photo-credit a{color:var(--brand)}
.airport-bus-card{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr);padding:0;gap:0;border:1px solid var(--brand-line);overflow:hidden;box-shadow:var(--card-shadow)}
.airport-bus-card .feature-photo{align-self:stretch}.airport-bus-card .feature-photo img{height:calc(100% - 60px);min-height:200px;aspect-ratio:auto}
.airport-bus-copy{padding:26px}.airport-bus-card:hover{background:#fff;border-color:var(--brand)}
.airport-bus-cta{background:var(--brand);text-align:center;justify-content:center}.airport-bus-card:hover .airport-bus-cta{background:var(--brand-hover)}
.airport-bus-booking>.feature-photo-credit{margin-top:12px;border:1px solid var(--line);border-radius:9px}
.flight-booking-card{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,1.2fr);padding:0;gap:0;background:#fff;border:1px solid var(--brand-line);border-top:4px solid var(--brand);border-radius:16px;overflow:hidden;box-shadow:var(--card-shadow);color:var(--ink)}
.flight-booking-card>.feature-photo{align-self:stretch}.flight-booking-card>.feature-photo img{height:calc(100% - 54px);min-height:220px;aspect-ratio:auto}
.flight-booking-body{padding:24px;min-width:0}.flight-booking-card .flight-booking-kicker{color:var(--brand)}
.flight-booking-card .flight-booking-action{background:var(--brand);border-color:var(--brand)}.flight-booking-card a.flight-booking-action:hover{background:var(--brand-hover)}
.flight-booking-card .flight-booking-alternative{color:var(--brand)}
.flight-booking-card>.feature-photo-credit{grid-column:1/-1}
.mobility-tools .flight-booking-card{grid-template-columns:minmax(0,1fr)}.mobility-tools .flight-booking-card>.feature-photo img{height:auto;min-height:0;aspect-ratio:16/7}
/* Shared information surfaces use the brand palette; status and transit-line colours remain meaningful. */
.trip-answer,.answer{background:var(--brand-soft);border-color:var(--brand-line);border-left-color:var(--brand);color:var(--ink)}
.trip-answer-links a,.context-links a,.information-national-link a,.intercity-section-nav a{color:var(--brand);border-color:var(--brand-line)}
.trip-answer-links a:hover,.context-links a:hover,.intercity-section-nav a:hover{background:var(--brand-soft)}
.destination-mobility,.intercity-booking,.intercity-journey-note,.taxi-note,.subway-station-detail,.trip-connection-grid article{background:var(--brand-soft);border-color:var(--brand-line);color:var(--ink)}
.intercity-journey-note p,.intercity-mode-copy dt{color:var(--ink)}
.context-table thead th,.context-table tbody th{color:var(--ink)}.context-table thead th{background:var(--navy);color:#fff}
.context-table caption,.context-table tbody tr:nth-child(even),.photo-evidence{background:#f3f7fe}.photo-evidence summary,.intercity-sources summary{color:var(--brand)}
.intercity-detail .steps{padding-left:0}.intercity-detail .steps>li{padding-left:42px}.steps li:before{background:var(--brand)}
@media(max-width:899px){
 .transport-help-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
 .feature-guide-card:last-child{grid-column:1/-1}.feature-guide-card:last-child .feature-guide-link{display:grid;grid-template-columns:1fr 1fr;align-items:center}
 .flight-booking-card{grid-template-columns:minmax(0,1fr)}.flight-booking-card>.feature-photo img{height:auto;min-height:0;aspect-ratio:16/7}
}
@media(max-width:650px){
 .header-inner{gap:6px;padding-top:10px;padding-bottom:10px}.brand{font-size:1.25rem}.brand-icon{width:36px;height:36px}
 .nav{gap:4px;justify-content:space-between;width:100%}.nav a{padding:7px 9px;font-size:.875rem}.nav .nav-home{display:inline-flex}
 .home-lower{padding-top:32px}.destination-copy{padding:20px}.korea100-home{padding:24px}
 .transport-help-links{grid-template-columns:minmax(0,1fr);gap:20px}.feature-guide-card:last-child{grid-column:auto}.feature-guide-card:last-child .feature-guide-link{display:block}
 .feature-guide-copy p{min-height:0}.feature-photo img{aspect-ratio:16/9}.feature-guide-copy{padding:20px}
 .airport-bus-card{display:block;padding:0}.airport-bus-card .feature-photo img{height:auto;min-height:0;aspect-ratio:16/9}.airport-bus-copy{padding:22px}
 .flight-booking-card{padding:0}.flight-booking-body{padding:22px}.flight-booking-card>.feature-photo img,.mobility-tools .flight-booking-card>.feature-photo img{aspect-ratio:16/9}
 .context-table tbody th{background:var(--navy);color:#fff}
}
@media(prefers-reduced-motion:reduce){.travel-destination{transition:none}}

/* Region browsing keeps city and island guides together, with a visible hierarchy. */
.region-browser-intro>p{max-width:76ch;margin:12px 0 22px;font-size:1rem;line-height:1.75;color:var(--muted)}
.travel-region-nav{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px;padding:18px;background:#fff;border:1px solid var(--brand-line);border-radius:14px}
.travel-region-nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:48px;padding:10px 16px;border:1px solid var(--brand-line);border-radius:9px;background:var(--brand-soft);color:var(--brand);text-decoration:none;font-size:1rem;font-weight:700}
.travel-region-nav a:hover{background:var(--brand);color:#fff}.region-nav-count{min-width:24px;padding:2px 6px;background:#fff;border-radius:5px;color:var(--navy);font-size:.8125rem;text-align:center}
.travel-region-group{margin:0 0 38px;scroll-margin-top:24px}
.travel-region-heading{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px;padding:15px 18px;border-left:4px solid var(--brand);border-radius:0 10px 10px 0;background:#e7effc}
.travel-region-heading h3{margin:0;font-size:1.5rem;line-height:1.3;color:var(--navy)}
.travel-region-heading>span{font-size:.875rem;color:var(--muted)}.travel-region-heading>a{margin-left:auto;font-size:.875rem;font-weight:650;min-height:44px;display:inline-flex;align-items:center}
.travel-region-group .destination-copy h4{color:var(--navy);font-size:1.5rem;line-height:1.3;margin:7px 0 10px}
.travel-region-group .destination-copy>span:first-child{font-size:.8125rem;letter-spacing:0;color:var(--red-deep)}
.is-single-guide .travel-destinations{grid-template-columns:minmax(0,1fr)}
.is-single-guide .travel-destination{display:grid;grid-template-columns:240px minmax(0,1fr);min-width:0}
.is-single-guide .destination-photo{height:100%;aspect-ratio:auto}.is-single-guide .destination-copy{min-width:0}
.is-single-guide .destination-open-label{justify-content:flex-start}
@media(max-width:599px){
 .travel-region-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));padding:12px;gap:8px}
 .travel-region-nav a{min-width:0;padding:10px;gap:6px;font-size:.9375rem}
 .travel-region-heading{gap:8px;padding:12px}.travel-region-heading h3{font-size:1.3rem}.travel-region-heading>a{font-size:.8125rem}
 .is-single-guide .travel-destination{display:flex}.is-single-guide .destination-photo{height:auto;aspect-ratio:16/10}
 .travel-region-group .destination-copy h4{font-size:1.6rem}
}

/* The two Korean colours have distinct roles: blue for actions, red for emphasis. */
/* Real place photos stay separate from source disclosure and navigation. */
.sight-card{padding:0;display:flex;flex-direction:column;overflow:hidden;min-width:0;box-shadow:var(--card-shadow)}
.sight-place{display:flex;flex-direction:column;flex:1;min-width:0;text-decoration:none;color:var(--ink)}
.sight-place:focus-visible{outline-offset:-4px}.sight-place:hover .sight-open{color:var(--brand-hover)}
.activity-photo{margin:0;background:var(--brand-soft)}.activity-photo .travel-photo-frame{aspect-ratio:3/2}
.activity-photo figcaption{padding:10px 18px;background:#f3f7fe;color:var(--muted);font-size:.8125rem;line-height:1.5;border-bottom:1px solid var(--line)}
.sight-copy{padding:20px;display:flex;flex-direction:column;flex:1;min-width:0}
.sight-local-name{font-size:.8125rem;color:var(--muted);line-height:1.5}
.sight-copy :is(h3,h4){color:var(--navy);font-size:1.25rem;line-height:1.45;margin:8px 0 12px;overflow-wrap:anywhere}
.sight-copy p{font-size:.9375rem;line-height:1.7}.sight-open{display:block;margin-top:auto;padding-top:12px;min-height:44px;font-size:.9375rem;font-weight:700;color:var(--brand)}
:is(.sight-card,.gangwon-town-card)>.photo-evidence{margin:0 20px;padding:0;border:0;border-top:1px solid var(--line);border-radius:0;background:#fff}
:is(.sight-card,.gangwon-town-card)>.photo-evidence summary{padding:10px 0;min-height:44px;font-size:.8125rem;line-height:1.5}
:is(.sight-card,.gangwon-town-card)>.photo-evidence dl>div{grid-template-columns:1fr;gap:4px}
:is(.sight-card,.gangwon-town-card)>.photo-evidence :is(p,dt,dd){font-size:.8125rem;line-height:1.6;overflow-wrap:anywhere}
.sight-source{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;padding:0 20px 14px;font-size:.75rem;color:var(--muted)}.sight-source a{display:inline-flex;align-items:center;min-height:44px;font-size:.8125rem;font-weight:650}
.is-single-sight .sight-place{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(0,1.1fr)}
.is-single-sight .activity-photo .travel-photo-frame{aspect-ratio:16/9}
.gangwon-town-intro{margin:30px 0 20px}.gangwon-town-intro h4{font-size:1.4rem;color:var(--navy);margin:0 0 8px}.gangwon-town-intro p{font-size:.9375rem;line-height:1.7;color:var(--muted)}
.gangwon-town-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gangwon-town-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-width:0;display:flex;flex-direction:column;box-shadow:var(--card-shadow)}
.gangwon-town-card>a{display:flex;flex-direction:column;flex:1;text-decoration:none;color:var(--ink)}.gangwon-town-card:hover{border-color:var(--brand)}.gangwon-town-card>a:focus-visible{outline-offset:-4px}
.town-copy{display:flex;flex-direction:column;flex:1;padding:20px}.town-copy>span:first-child{font-size:.8125rem;color:var(--red-deep)}.town-copy h4{font-size:1.5rem;line-height:1.35;color:var(--navy);margin:6px 0 10px}.town-copy p{font-size:.9375rem;line-height:1.6;color:var(--muted)}.town-open{margin-top:auto;padding-top:12px;font-weight:700;font-size:.9375rem;color:var(--brand);min-height:44px}
.gangwon-town-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px;padding:18px;background:#fff;border:1px solid var(--brand-line);border-radius:14px}.gangwon-town-nav a{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:10px 16px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:9px;text-decoration:none;font-size:1rem;font-weight:700}.gangwon-town-nav a:hover{background:var(--brand);color:#fff}.gangwon-town-nav a>span{font-size:.8125rem;background:white;color:var(--navy);padding:2px 7px;border-radius:5px}
.gangwon-town-section{margin:0 0 42px}.gangwon-town-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-left:4px solid var(--brand);border-radius:0 12px 12px 0;background:#e7effc;margin-bottom:20px}.gangwon-town-heading h3{font-size:1.6rem;line-height:1.4;color:var(--navy);margin:0 0 6px}.gangwon-town-heading p{font-size:.9375rem;color:var(--muted);margin:0}.gangwon-town-heading>a{min-height:44px;display:inline-flex;align-items:center;white-space:nowrap;font-size:.875rem;font-weight:650}
.town-location-note,.town-activity-link{padding:16px 20px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:10px;line-height:1.8;font-size:.9375rem}
.busan-featured-sights{margin-bottom:30px}.busan-featured-sights>h3{font-size:1.5rem;margin-bottom:18px}
.directory-place-photo{margin:-22px -22px 18px}.directory-place-photo+.directory-tags{margin-top:0}
@media(min-width:1200px){.gangwon-town-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.gangwon-town-card .activity-photo figcaption{padding:8px 14px;min-height:80px}.gangwon-town-card .town-copy{padding:18px}.gangwon-town-card .town-copy h4{font-size:1.4rem}}
:is(.sight-card,.gangwon-town-card)>.photo-evidence .photo-date-label{display:block;color:var(--muted);font-size:.75rem}
@media(max-width:899px){.gangwon-town-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.is-single-sight .sight-place{display:flex}.is-single-sight .activity-photo .travel-photo-frame{aspect-ratio:3/2}}
@media(max-width:599px){.gangwon-town-grid{grid-template-columns:minmax(0,1fr)}.gangwon-town-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));padding:12px;gap:8px}.gangwon-town-nav a{padding:10px;gap:8px;font-size:.9375rem}.gangwon-town-heading{align-items:start;padding:16px;gap:10px}.gangwon-town-heading h3{font-size:1.5rem}.gangwon-town-heading p{font-size:.875rem}.gangwon-town-heading>a{font-size:.8125rem}.directory-place-photo{margin:-20px -20px 16px}}

.site-header{border-top:0;position:relative}.site-header:before{content:'';display:block;height:4px;background:linear-gradient(90deg,var(--brand) 0 50%,var(--red) 50% 100%)}
.jeju-city-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jeju-city-grid .gangwon-town-card .activity-photo .travel-photo-frame{aspect-ratio:16/9}.jeju-city-grid .gangwon-town-card .activity-photo figcaption{min-height:0}.jeju-city-grid .town-copy h4{font-size:1.6rem}
.jeju-city-nav a{flex:1}.jeju-catalog-heading{font-size:1.4rem;color:var(--navy);margin:32px 0 18px}.jeju-city-directory .directory-filters{margin:20px 0}.jeju-directory-card h4{font-size:1.2rem;line-height:1.45;margin:12px 0}.jeju-directory-card h4 a{text-decoration:none;color:var(--navy)}.jeju-directory-card h4 a:hover{text-decoration:underline}.jeju-place-address{font-size:.875rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}.jeju-directory-card .directory-card-links{margin-top:auto}.jeju-directory-card .meta{font-size:.8125rem}.jeju-location-note{font-size:.8125rem;line-height:1.7;padding:12px;background:var(--brand-soft);border-left:3px solid var(--brand)}
.jeju-things .sight-copy h4{font-size:1.1875rem;line-height:1.4;margin:10px 0}
@media(max-width:599px){.jeju-city-grid{grid-template-columns:minmax(0,1fr)}.jeju-city-nav{grid-template-columns:minmax(0,1fr)}.jeju-catalog-heading{font-size:1.25rem}.jeju-directory-grid{grid-template-columns:minmax(0,1fr)}}
.brand-icon{border-bottom:5px solid var(--red);box-shadow:none}.brand{color:var(--brand)}
.home-lower .section-head .eyebrow,.feature-kicker,.flight-booking-card .flight-booking-kicker,.airport-bus-kicker{color:var(--red-deep)}
.arrival-hero .eyebrow{display:inline-flex;background:var(--red-deep);color:#fff;padding:5px 12px;border-radius:5px;letter-spacing:.1em;font-size:.875rem}
.korea100-home{border-left:5px solid var(--red)}.korea100-home .eyebrow{color:#ffd7dd}
.destination-copy>span:first-child{color:var(--red-deep)}
.destination-shortcuts .korea100-shortcut{background:var(--red-deep);border-color:#ffd7dd;color:#fff}
.feature-guide-card{border-top:3px solid var(--red)}
.feature-guide-action{background:#fff;border-color:var(--brand);color:var(--brand)}
.help-card[open]{border-color:var(--brand)}.help-card[open] .help-toggle{background:var(--red-soft);color:var(--red-deep);border-radius:50%}
.site-footer{border-top:4px solid var(--red)}
.weather-refresh-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#fff;border:1px solid var(--brand-line);border-radius:12px;padding:18px 20px;margin:0 0 20px}
.weather-refresh-bar>div{min-width:0}.weather-refresh-bar p{font-size:.9375rem;line-height:1.65;color:var(--muted);margin:0}.weather-refresh-bar [data-weather-refresh-status]{color:var(--navy);font-size:.875rem;margin-top:4px}
.weather-refresh-bar button{flex-shrink:0;font-size:1rem;cursor:pointer}.weather-refresh-bar button:disabled{background:var(--brand-soft);color:var(--muted);cursor:wait}
@media(max-width:650px){.weather-refresh-bar{align-items:stretch;flex-direction:column;padding:18px}.weather-refresh-bar button{justify-content:center;width:100%}}

/* Arrival, local food and onward transport share one readable journey. */
.destination-journeys{margin:40px 0;scroll-margin-top:24px}.destination-journeys>.section-head p{max-width:70ch;font-size:1rem;color:var(--muted)}
.journey-stop-nav{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}.journey-stop-nav a{padding:12px 16px;min-height:48px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:8px;font-size:1rem;font-weight:650}
.journey-cards{display:grid;gap:28px}.journey-card{border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:16px;overflow:hidden;background:#fff;box-shadow:var(--card-shadow);scroll-margin-top:24px;min-width:0}
.journey-heading.has-photo{display:grid;grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr)}.journey-heading>*{min-width:0}
.journey-photo{margin:0;align-self:start;background:#f3f7fe}.journey-photo img{width:100%;height:auto;display:block}.journey-photo figcaption{padding:12px 18px;font-size:.875rem;color:var(--muted);line-height:1.5}
.journey-intro{padding:26px 30px}.journey-intro .eyebrow{color:var(--red-deep);font-size:.875rem;margin:0 0 10px}.journey-intro h3{font-size:1.5rem;line-height:1.4;margin:0 0 16px}.journey-intro>p:not(.eyebrow){font-size:1rem;line-height:1.8}
.journey-address{border-left:3px solid var(--brand);padding-left:14px;margin:18px 0 0}.journey-address span{display:block;font-size:.875rem;color:var(--muted)}.journey-address strong{font-size:1rem;overflow-wrap:anywhere}
.journey-card>.photo-evidence{margin:0;border-radius:0;border-left:0;border-right:0}.photo-date-label{display:inline-block;font-size:.875rem;font-weight:400;color:var(--muted);margin-left:12px}
.journey-content{padding:24px 30px}.journey-steps{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.journey-steps li{display:flex;align-items:center;gap:12px;min-width:0;padding:14px;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-soft)}.journey-steps li>span{font-size:1.25rem;font-weight:800;color:var(--red-deep)}.journey-steps a{font-size:1rem;font-weight:650;line-height:1.5;min-height:44px;align-content:center}
.journey-details>summary{cursor:pointer;padding:16px 18px;font-size:1.0625rem;font-weight:700;background:var(--navy);color:#fff;border-radius:9px}.journey-details[open]>summary{margin-bottom:22px}
.journey-origins{margin:0 0 24px;scroll-margin-top:24px}.journey-origins h4{font-size:1.125rem;margin:0 0 12px}.journey-origin{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.journey-origin strong{font-size:1rem}.journey-origin>div{display:flex;gap:18px;flex-wrap:wrap}.journey-origin a,.journey-actions a{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.journey-table tbody th{width:20%}.journey-table td{width:40%}.journey-caution{border-left:3px solid var(--red);padding:12px 16px;background:var(--red-soft);font-size:1rem;line-height:1.8;margin:18px 0}.journey-actions{display:flex;flex-wrap:wrap;gap:18px}
.journey-food-links{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.journey-food-links>span{font-weight:700;font-size:.9375rem;color:var(--navy)}.journey-food-links a{font-size:1rem;min-height:44px;align-content:center}
.journey-sources{margin-top:18px;border-top:1px solid var(--line);padding-top:6px}.journey-sources summary{font-size:.9375rem;cursor:pointer;min-height:44px;align-content:center;color:var(--brand)}.journey-sources p{font-size:.9375rem;color:var(--muted);line-height:1.7;margin:4px 0 14px}.journey-sources ul{padding-left:20px}
.food-comparison{table-layout:fixed}.food-comparison tbody th{width:20%}.food-comparison th:nth-child(2){width:32%}.food-comparison th:nth-child(3){width:25%}.food-comparison th:nth-child(4){width:23%}
.branch-card .food-comparison p{font-size:1rem;line-height:1.75;margin:0 0 12px;color:var(--ink)}.food-comparison tr{scroll-margin-top:24px}.food-route-links{display:grid;gap:4px}.food-phrase{background:var(--brand-soft);padding:0 12px;border:1px solid var(--brand-line);border-radius:8px}.food-phrase summary{padding:10px 0;min-height:44px;cursor:pointer;font-size:.9375rem;color:var(--brand);font-weight:650}.food-phrase p[lang=ko]{padding:12px 0 6px;font-size:1.125rem;font-weight:650;color:var(--navy)}
.feature-photo-credit.photo-evidence{margin:0;border-radius:0;border:0;border-top:1px solid var(--line)}.feature-photo-credit.photo-evidence dl>div{display:block}.feature-photo-credit.photo-evidence dd{margin:2px 0 10px}
.taxi-quick-answer{margin-top:24px}.taxi-comparison tbody th{width:18%}
@media(max-width:900px){.journey-heading.has-photo{grid-template-columns:1fr}.journey-photo{max-width:100%}.journey-photo img{max-height:360px;object-fit:contain;background:var(--brand-soft)}.journey-steps{grid-template-columns:1fr}.food-comparison{table-layout:auto}}
@media(max-width:650px){.journey-content,.journey-intro{padding:20px}.journey-intro h3{font-size:1.3rem}.journey-origin{display:block}.journey-origin>div{margin-top:8px}.journey-stop-nav{display:grid;grid-template-columns:1fr}.journey-table td,.journey-table tbody th,.food-comparison tbody th,.taxi-comparison tbody th{width:100%}.photo-date-label{display:block;margin:4px 0 0}.journey-photo img{max-height:none}}

/* Place lists share a fixed five-column desktop layout and readable smaller screens. */
.wrap.destination-body,.wrap.explore-page{max-width:1640px}
.destination-body :is(.sight-grid,.directory-grid),.explore-page .place-catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.destination-body .is-single-sight .sight-place{display:flex}
.destination-body .is-single-sight .activity-photo .travel-photo-frame{aspect-ratio:3/2}
@media(min-width:1200px){
 .destination-body :is(.sight-grid,.directory-grid),.explore-page .place-catalog-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
}
@media(max-width:899px){
 .destination-body :is(.sight-grid,.directory-grid),.explore-page .place-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:599px){
 .destination-body :is(.sight-grid,.directory-grid),.explore-page .place-catalog-grid{grid-template-columns:minmax(0,1fr)}
}

/* Province catalogues share the five-column destination layout. */
.province-town-intro{margin:26px 0 16px}.province-town-intro h4{font-size:1.25rem;color:var(--navy)}
.province-directory{margin-top:42px;scroll-margin-top:24px}.province-directory>.section-head h3{font-size:1.6rem;color:var(--navy)}
.province-place-address{font-size:.875rem;line-height:1.75;color:var(--muted);margin:6px 0 20px;overflow-wrap:anywhere}
.province-location-note{padding:12px;background:#fff2e8;border:1px solid #e5b989;border-radius:8px;color:#774014;font-size:.8125rem;line-height:1.7;margin:0 0 18px}
.province-directory-card .directory-place-photo .photo-evidence{margin:0 14px 12px}.province-town-grid .photo-evidence{margin:0 14px 12px}
.province-directory-card .directory-card-links{gap:2px 12px}.province-directory-card h3{font-size:1.1rem;line-height:1.5}
.province-photo-missing{padding:14px;margin:0 0 18px;background:var(--brand-soft);border:1px solid var(--brand-line);border-radius:8px;color:var(--muted);font-size:.8125rem;line-height:1.7}
.information-services{font-size:.875rem;line-height:1.65;margin:16px 0;padding-top:12px;border-top:1px solid var(--line)}
.information-services>div+div{margin-top:12px}.information-services dt{font-weight:700;color:var(--navy)}.information-services dd{margin:4px 0 0;overflow-wrap:anywhere}
.information-service-note{font-size:.875rem;line-height:1.65;color:var(--muted)}

.province-directory-card .directory-card-links a{font-size:.875rem}.province-directory-card .directory-tags{font-size:.875rem}
.province-place-category{align-self:flex-start;padding:4px 9px;border-radius:7px;background:var(--brand-soft);color:var(--brand);font-size:.875rem;font-weight:650;margin:0 0 12px;line-height:1.5}
/* Site disclosures: readable links and plain-language policy pages. */
.site-footer .footer-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:1.15rem;padding-top:2rem;padding-bottom:2rem}
.footer-brand strong{color:#fff;font-size:1.1rem}
.site-footer a:focus-visible{outline:3px solid #fff;outline-offset:4px;border-radius:4px}
.footer-brand p,.footer-rights{margin:.4rem 0 0;line-height:1.6}
.footer-policy-nav{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;align-items:center}
.footer-policy-nav a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;font-size:.95rem;line-height:1.5;text-underline-offset:4px;overflow-wrap:anywhere}
.footer-policy-nav .footer-privacy{font-weight:750}
.footer-rights{max-width:85ch;font-size:.85rem}
.site-policy{max-width:980px;padding-bottom:4rem}
.site-policy h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;overflow-wrap:anywhere}
.site-policy .lead{max-width:55ch;font-size:1.15rem}
.policy-updated{color:#526586;font-size:.9rem}
.site-policy .policy-section{margin:2rem 0;padding-top:1.75rem;border-top:1px solid #cfdbef;scroll-margin-top:2rem}
.site-policy .policy-section h2{font-size:1.4rem;line-height:1.35}
.site-policy .policy-section p,.site-policy .policy-section li{line-height:1.75;max-width:78ch;overflow-wrap:anywhere}
.site-policy li+li{margin-top:.8rem}
.policy-facts,.policy-data-list{margin:1.2rem 0;background:#fff;border:1px solid #d2def2;border-radius:16px;overflow:hidden}
.policy-facts>div,.policy-data-list>div{display:grid;grid-template-columns:minmax(130px,1fr) minmax(0,3fr);gap:1rem;padding:1.1rem 1.3rem}
.policy-facts>div+div,.policy-data-list>div+div{border-top:1px solid #e0e7f2}
.policy-facts dt,.policy-data-list dt{font-weight:750;color:#153360}
.policy-facts dd,.policy-data-list dd{margin:0;line-height:1.65;overflow-wrap:anywhere}
.policy-status{border-left:4px solid #1454b8;background:#edf3ff;padding:1.2rem 1.4rem;margin:1.5rem 0;border-radius:0 14px 14px 0;color:#153360}
.policy-status p{margin:.5rem 0 0;line-height:1.65}
.affiliate-notice{padding:.55rem .75rem;border:1px solid #c7d7ee;background:#f0f5fe;color:#153360;border-radius:10px;font-size:calc(.9rem - 1px);line-height:1.6;max-width:100%}
.affiliate-notice-compact{display:none}
.affiliate-notice a{white-space:nowrap;text-decoration:underline;text-underline-offset:3px}
@media(max-width:63.999rem){.affiliate-notice-full{display:none}.affiliate-notice-compact{display:inline}}
.airport-bus-booking .airport-bus-disclosure{color:#153360;background:#f0f5fe;padding:.9rem 1rem;margin:0 0 .8rem;border-radius:10px;font-size:.95rem;line-height:1.6}
.flight-booking-disclosure,.help-affiliate p{color:#153360;font-size:.95rem;line-height:1.6}
@media(max-width:580px){.policy-facts>div,.policy-data-list>div{grid-template-columns:minmax(0,1fr);gap:.4rem;padding:1rem}.footer-policy-nav{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.site-policy .policy-section h2{font-size:1.25rem}}

/* Theme-led discovery and airport arrival planning. */
.theme-explorer{margin:30px 0}.theme-explorer h2{font-size:clamp(1.3rem,2vw,1.7rem)}.theme-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.theme-card{position:relative;min-width:0;overflow:hidden;border:1px solid var(--brand-line);border-radius:14px;text-decoration:none;background:var(--navy);color:#fff}.theme-card img{display:block;width:100%;height:140px;object-fit:cover;opacity:.75;transition:opacity .15s}.theme-card>span{display:block;padding:16px}.theme-card strong{display:block;color:#fff;font-size:1.1rem;line-height:1.4}.theme-card small{display:block;color:#e4edff;margin-top:8px;line-height:1.6}.theme-card:hover,.theme-card:focus-visible{background:#103e86;color:#fff}.theme-card:hover img{opacity:1}.theme-explorer-hero{margin:24px 0}.theme-explorer-hero h2{color:#fff}.theme-explorer-hero .theme-card{background:#102a56d9;border-color:#ffffff70}.theme-explorer-hero .theme-card img{height:105px}.theme-explorer-hero .theme-card small{display:none}.home-search-disclosure{max-width:780px;margin:22px 0;background:#102a56d9;border:1px solid #ffffff70;border-radius:12px;padding:14px}.home-search-disclosure>summary{color:white;cursor:pointer;min-height:36px;align-content:center;font-weight:600}.home-search-disclosure .search-panel{margin-top:16px}.wowpass-home{display:grid;grid-template-columns:2fr 1fr;gap:28px;background:#edf4ff;border:1px solid var(--brand-line);border-radius:20px;padding:32px;margin:32px 0}.wowpass-home h2{margin-top:8px}.wowpass-home p{line-height:1.7}.wowpass-balances{display:grid;gap:14px;align-content:center}.wowpass-balances>a{padding:20px;border-radius:14px;background:#fff;border:1px solid var(--brand-line)}.wowpass-balances strong,.wowpass-balances span{display:block}.wowpass-balances strong{font-size:1.3rem;color:var(--navy)}.wowpass-balances span{margin-top:6px;color:var(--muted)}.airport-start{margin:40px 0}.airport-start-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.airport-start-grid>article{display:flex;flex-direction:column;gap:10px;border:1px solid var(--brand-line);padding:24px;background:#fff;border-radius:16px}.airport-start-grid h3{margin:4px 0}.airport-start-grid p{line-height:1.7;flex:1}.airport-city-shortcuts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.airport-city-shortcuts a{background:var(--brand-soft);padding:8px 12px;border-radius:8px;color:var(--navy);text-decoration:none}.airport-city-shortcuts a:hover,.airport-city-shortcuts a:focus-visible{background:var(--brand);color:#fff}.arrival-page{padding-top:32px;padding-bottom:50px}.arrival-page .lead{max-width:75ch}.airport-tabs{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.airport-tabs a{padding:14px 20px;border:1px solid var(--brand-line);border-radius:10px;text-decoration:none;background:var(--brand-soft);color:var(--navy);font-weight:700}.airport-tabs a[aria-current],.airport-tabs a:hover,.airport-tabs a:focus-visible{background:var(--brand);color:#fff}.arrival-steps{display:flex;flex-wrap:wrap;gap:14px;color:var(--muted);margin:24px 0}.arrival-picker{display:block;font-weight:700;max-width:580px}.arrival-picker select{display:block;width:100%;margin:10px 0;padding:14px;min-height:48px;font:inherit;background:#fff;border:1px solid var(--brand-line);border-radius:9px}.arrival-theme{margin:32px 0}.arrival-city,.arrival-faq{border:1px solid var(--brand-line);border-radius:12px;margin:12px 0;background:white;scroll-margin-top:100px}.arrival-city>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:20px;min-height:64px;list-style:none;color:var(--navy)}.arrival-city>summary::-webkit-details-marker{display:none}.arrival-city>summary strong,.arrival-city>summary small{display:block}.arrival-city>summary strong{font-size:1.25rem}.arrival-city>summary small{margin-top:6px;color:#4b5f7a}.arrival-city>summary:hover,.arrival-city>summary:focus-visible{background:#edf4ff;color:#102a56;border-radius:12px}.arrival-city-body{padding:4px 24px 24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.arrival-city-body>section{padding:20px;border-radius:12px;background:#f6f8fc;min-width:0}.arrival-city-body h4{font-size:1.15rem;margin:0 0 12px}.arrival-city-body p,.arrival-city-body li{line-height:1.85}.arrival-faq>summary{padding:18px;color:var(--navy);cursor:pointer;font-weight:600}.arrival-faq>p{padding:0 20px 20px;line-height:1.8}.wowpass-guide-steps{margin:32px 0;display:grid;gap:18px}.wowpass-guide-steps section{border:1px solid var(--brand-line);border-radius:14px;padding:24px;background:#fff}.wowpass-guide-steps p{max-width:90ch;line-height:1.9}.photo-credit-panel>summary:hover,.photo-credit-panel>summary:focus-visible{background:#edf4ff;color:#102a56}.photo-credit-panel>summary:hover .photo-credit-title,.photo-credit-panel>summary:hover .photo-credit-count{color:#102a56}.photo-credit-content a:hover,.photo-credit-content a:focus-visible{color:#103e86;background:#edf4ff}.destination-map-link:hover,.destination-map-link:focus-visible{color:#102a56}
@media(max-width:900px){.theme-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.airport-start-grid{grid-template-columns:1fr}.wowpass-home{grid-template-columns:1fr}.wowpass-balances{grid-template-columns:repeat(2,minmax(0,1fr))}.arrival-city-body{grid-template-columns:1fr}}
@media(max-width:550px){.theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-card img{height:110px}.theme-card>span{padding:12px}.theme-card strong{font-size:1rem}.theme-grid .theme-card:last-child{grid-column:1/-1}.theme-explorer-hero .theme-card:last-child{display:flex;align-items:center}.theme-explorer-hero .theme-card:last-child img{width:40%;height:75px}.wowpass-home{padding:20px}.wowpass-balances{grid-template-columns:1fr}.arrival-city-body{padding:0 12px 12px}.arrival-city-body>section{padding:16px}.airport-tabs a{padding:12px}.arrival-steps{font-size:.875rem}.nav{flex-wrap:wrap}}
.theme-card>.theme-symbol{font-size:2.5rem;line-height:1;padding:18px 16px 0;color:#bcd6ff}.theme-explorer-hero .theme-card{display:flex;align-items:center}.theme-explorer-hero .theme-card>.theme-symbol{padding:12px 0 12px 12px;font-size:2rem}.theme-explorer-hero .theme-card>span:last-child{padding:16px 10px}.theme-explorer-hero .theme-card strong{font-size:1rem}.arrival-page .place-catalog-grid{margin-top:24px}.arrival-page>section>p{line-height:1.8}
@media(max-width:550px){.theme-explorer-hero .theme-grid .theme-card:last-child{grid-column:auto}.theme-explorer-hero .theme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-explorer-hero .theme-card>span:last-child{padding:12px 8px}}
.arrival-city-body h3{font-size:1.15rem;margin:0 0 12px}.arrival-stay-form{display:grid;gap:8px;margin:18px 0}.arrival-stay-form label{font-weight:600;font-size:.875rem}.arrival-stay-form input{width:100%;min-width:0;min-height:44px;font:inherit;padding:12px;border:1px solid var(--brand-line);border-radius:8px;background:#fff}.arrival-stay-form button{margin-top:6px;white-space:normal}

/* Compact photo and map source disclosures on the home page. */
.home-source-credits{padding-bottom:24px;color:var(--muted);font-size:.75rem;line-height:1.5}
.home-source-credits>details:is(.photo-credit-panel,.feature-photo-credit){margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font-size:inherit;line-height:inherit}
.home-source-credits>details>summary,.home-source-credits>details[open]>summary{display:list-item;list-style:disclosure-closed inside;min-height:28px;padding:5px 0;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:inherit;line-height:18px;font-weight:700;cursor:pointer}
.home-source-credits>details[open]>summary{list-style-type:disclosure-open}
.home-source-credits>details>summary::-webkit-details-marker{display:inline}
.home-source-credits>details>summary:is(:hover,:focus-visible){background:transparent;color:var(--muted)}
.home-source-credits>details>summary:focus-visible{outline:2px solid #1b57bb;outline-offset:2px;border-radius:4px}
.home-source-credits .photo-credit-panel>summary :is(.photo-credit-title,.photo-credit-count){color:inherit;font-size:inherit}
.home-source-credits .photo-credit-title{display:inline;font-weight:inherit}
.home-source-credits .photo-credit-count{display:inline-block;white-space:nowrap;margin-left:12px;padding:0;border-radius:0;background:transparent;font-weight:400}
.home-source-credits .photo-date-label{display:inline-block;white-space:nowrap;margin:0 0 0 12px;font-size:inherit;line-height:inherit}
.home-source-credits .photo-credit-toggle{display:none}
.home-source-credits .photo-credit-content{padding:0 0 8px}
.home-source-credits :is(.photo-credit-place,.photo-credit-note,.destination-map-note){font-size:inherit;line-height:inherit}
.home-source-credits .destination-map-note{margin:0 0 8px;color:inherit;text-align:left}
.home-source-credits .destination-map-note a{color:var(--brand)}
.home-source-credits .photo-evidence p{font-size:inherit!important;line-height:inherit!important;margin:4px 0 8px}
.home-source-credits .table-detail{font-size:inherit;line-height:inherit}
.home-source-credits .photo-evidence dl{margin:6px 0}.home-source-credits .photo-evidence dl>div{padding:4px 0}.home-source-credits .photo-evidence dd{margin:2px 0 6px}
.home-source-credits .photo-credit-list>li{padding:12px 0}.home-source-credits .photo-credit-place{margin-bottom:6px}.home-source-credits .photo-credit-note{margin-top:8px}

/* Keep the active photo credit compact, readable and linked to its source. */
.hero-photo-credit{align-self:flex-start;max-width:100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;padding:4px 7px;border-radius:4px;background:#071c43b3;color:#fff;font-size:.75rem;line-height:1.6;text-shadow:none}
.hero-photo-credit a,.hero-photo-credit a:visited{color:#fff;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.hero-photo-credit a:is(:hover,:focus-visible){color:#fff;background:transparent;text-decoration-thickness:2px}
.hero-photo-credit a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.footer-share-credit{grid-column:1/-1;margin:0;font-size:.75rem;line-height:1.7;color:var(--muted);overflow-wrap:anywhere}
.footer-share-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px}

/* K-Culture starts with six clear themes; selected products can follow each theme. */
.nav .nav-k-culture[aria-current="page"]{background:var(--brand-soft);color:var(--brand)}
.k-culture-page{padding-block:32px 56px}.k-culture-intro{max-width:850px;margin:30px 0}.k-culture-intro h1{font-size:clamp(2rem,4vw,3.25rem);line-height:1.2;letter-spacing:-.035em;margin:12px 0 20px;word-break:keep-all}.k-culture-intro .lead{line-height:1.8;max-width:70ch}
.k-culture-status{margin-top:24px;padding:14px 18px;border-left:3px solid var(--brand);background:var(--brand-soft);color:var(--navy);font-size:.875rem;line-height:1.7}
.k-culture-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.k-culture-tabs a{padding:10px 14px;border:1px solid var(--brand-line);border-radius:8px;color:var(--navy);background:white;text-decoration:none;font-weight:600;font-size:.875rem}.k-culture-tabs a:is(:hover,:focus-visible){color:white;background:var(--brand)}
.k-culture-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.k-culture-card{min-width:0;padding:26px;background:white;border:1px solid var(--brand-line);border-radius:16px;scroll-margin-top:24px}.k-culture-number{font-size:.875rem;font-weight:700;color:var(--brand);letter-spacing:.1em}.k-culture-card h2{font-size:1.3rem;margin:14px 0}.k-culture-card p,.k-culture-card li{font-size:.9375rem;line-height:1.8}.k-culture-examples{color:var(--brand);font-weight:600}.k-culture-card details{margin-top:20px;border-top:1px solid var(--brand-line)}.k-culture-card summary{min-height:44px;padding-top:14px;color:var(--navy);font-size:.875rem;font-weight:700;cursor:pointer}.k-culture-card summary:is(:hover,:focus-visible){color:var(--brand)}.k-culture-card ul{padding-left:20px;margin:12px 0 0}.k-culture-card li+li{margin-top:10px}
.k-culture-next{margin-top:36px;padding:28px;border-radius:16px;background:var(--brand-soft)}.k-culture-next h2{font-size:1.4rem;margin-top:0}.k-culture-next p{line-height:1.8}.k-culture-next .branch-links{margin-bottom:0;align-items:stretch}.k-culture-next .branch-links>a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;max-width:100%;padding:12px 20px;line-height:1.5;text-align:center;white-space:normal;overflow-wrap:anywhere}
@media(max-width:62rem){.k-culture-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:40rem){.k-culture-grid{grid-template-columns:minmax(0,1fr)}.k-culture-page{padding-top:22px}.k-culture-intro{margin-top:24px}.k-culture-card,.k-culture-next{padding:22px}.k-culture-tabs{gap:6px}.k-culture-tabs a{font-size:.8125rem;padding:10px}}
@media(max-width:550px){.k-culture-next .branch-links{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:1fr}.k-culture-next .branch-links>a{width:100%}}

/* Rated experience cards: three across, then two and one as space narrows. */
.culture-selection-note{margin-top:24px;padding:18px 22px;background:var(--brand-soft);border-left:3px solid var(--brand);font-size:.9rem;color:var(--navy)}.culture-selection-note p{margin:0;line-height:1.7}.culture-selection-note p+p{margin-top:6px}.culture-selection-note .culture-checked{font-size:.8rem;color:var(--muted)}
.k-culture-tabs a{display:inline-flex;align-items:center;gap:8px}.k-culture-tabs a>span{font-size:.72rem;min-width:20px;padding:2px 4px;text-align:center;border-radius:4px;background:var(--brand-soft);color:var(--brand)}
.k-culture-tabs a[aria-current="true"]{background:var(--brand);color:white;border-color:var(--brand)}.culture-category[hidden]{display:none}.culture-categories[data-culture-filtered] .culture-category{margin-top:0;padding-top:12px;border-top:0}
.culture-category{padding-top:12px;scroll-margin-top:24px}.culture-category+.culture-category{margin-top:52px;padding-top:36px;border-top:1px solid var(--brand-line)}.culture-category-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:12px 0 24px}.culture-category-number{color:var(--brand);font-size:.75rem;font-weight:700;letter-spacing:.08em;margin:0 0 8px}.culture-category-heading h2{font-size:clamp(1.6rem,3vw,2rem);margin:0 0 12px;word-break:keep-all}.culture-category-heading p:last-child{margin:0;max-width:68ch;line-height:1.8;color:var(--muted)}.culture-order{flex-shrink:0;border:1px solid var(--brand-line);border-radius:6px;padding:8px 12px;font-size:.8rem;color:var(--brand);background:white}
.culture-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}.culture-product{min-width:0;display:flex;flex-direction:column;background:white;border:1px solid var(--brand-line);border-radius:14px;overflow:hidden;box-shadow:0 6px 18px #122d5210}.culture-product-photo{display:block;position:relative;background:#f3f5f8;aspect-ratio:3/2;overflow:hidden}.culture-product-photo img{display:block;width:100%;height:100%;object-fit:contain}.culture-product-rank{position:absolute;top:12px;left:12px;padding:5px 10px;border-radius:6px;background:#102c50;color:white;font-weight:700;font-size:.8rem}.culture-product-body{display:flex;flex-direction:column;flex:1;padding:20px}.culture-product-provider{font-size:.7rem;letter-spacing:.06em;font-weight:700;color:var(--brand);margin:0 0 10px}.culture-product-provider span{font-weight:500;color:var(--muted);letter-spacing:0}.culture-product h3{font-size:1.1rem;line-height:1.5;word-break:keep-all;margin:0 0 12px}.culture-product h3 a{color:var(--navy);text-decoration:none}.culture-product h3 a:is(:hover,:focus-visible){color:var(--brand);text-decoration:underline;background:transparent}.culture-product-rating{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px}.culture-rating-score{font-weight:750;font-size:1rem;color:#875500}.culture-rating-score>span[aria-hidden]{color:#bd7100}.culture-rating-scale{font-size:.75rem;font-weight:400;color:var(--muted)}.culture-review-count{color:var(--muted);font-size:.78rem}.culture-product-description{font-size:.875rem;line-height:1.8;margin:0 0 12px}.culture-product-condition{font-size:.8rem;line-height:1.7;color:var(--muted);margin:0 0 20px}.culture-product-book{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:10px 14px;margin-top:auto;border-radius:7px;background:var(--brand);color:white;text-decoration:none;font-size:.875rem;font-weight:650}.culture-product-book:is(:hover,:focus-visible){background:#103e88;color:white}.culture-product-photo:focus-visible,.culture-product-book:focus-visible{outline:3px solid #c62f49;outline-offset:3px}.culture-product-credit{font-size:.65rem;color:var(--muted);margin:10px 0 0;line-height:1.5}.culture-category-advice{margin-top:18px;font-size:.875rem;line-height:1.8;color:var(--muted)}.culture-category-advice summary{cursor:pointer;min-height:44px;padding-top:10px;color:var(--navy);font-weight:600}.culture-category-advice ul{margin-top:8px}
@media(max-width:62rem){.culture-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.culture-category-heading{align-items:flex-start}.culture-order{display:none}}
@media(max-width:40rem){.culture-product-grid{grid-template-columns:minmax(0,1fr);gap:20px}.culture-product-body{padding:20px}.culture-selection-note{padding:16px}.culture-category+.culture-category{margin-top:32px;padding-top:24px}.culture-category-heading h2{font-size:1.65rem}}

/* Airport arrival photos and comfortable action spacing. */
.wowpass-home{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:center}
.wowpass-home-copy,.wowpass-home-visual{min-width:0}
.wowpass-home-photo{margin:0 0 16px;border-radius:12px;overflow:hidden;background:#fff}
.wowpass-home-photo img{display:block;width:100%;height:auto;max-height:250px;object-fit:contain}
.wowpass-home .wowpass-balances{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.wowpass-home .wowpass-balances>a{padding:14px}
.wowpass-home .wowpass-balances strong{font-size:1.1rem}
.wowpass-home .wowpass-balances span{font-size:.875rem;line-height:1.6}
.wowpass-balances>.wowpass-balance-link{display:block;min-width:0;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.wowpass-balances>.wowpass-balance-link:hover{border-color:var(--brand);box-shadow:0 4px 14px #1454b81a;background:#f8fbff}
.wowpass-balances>.wowpass-balance-link:focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.wowpass-balances .wowpass-balance-action{display:block;margin-top:12px;color:var(--brand);font-size:.8125rem;font-weight:700;line-height:1.5}
.wowpass-guide-steps section{scroll-margin-top:24px}
.wowpass-guide-steps section:target{border-color:var(--brand);box-shadow:0 0 0 2px #1454b81a}

.wowpass-home .branch-links>a,.arrival-page .branch-links>a:is(.primary,.secondary-action),.airport-start-grid>article>.secondary-action{display:inline-flex;align-items:center;justify-content:center;padding:12px 5mm;min-height:46px;max-width:100%;line-height:1.5;text-align:center;white-space:normal;overflow-wrap:anywhere}
.airport-city-shortcuts a{padding:8px 5mm}
.airport-start-photo{margin:-24px -24px 8px;overflow:hidden;border-radius:15px 15px 0 0}
.airport-start-photo-frame{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--brand-soft)}
.airport-start-photo img{display:block;width:100%;height:100%;object-fit:cover}
.airport-start-photo figcaption{padding:9px 24px;background:#f6f8fc;color:var(--muted);font-size:.75rem;line-height:1.5}
@media(max-width:900px){.wowpass-home{grid-template-columns:minmax(0,1fr)}.wowpass-home-visual{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:18px}.wowpass-home-photo{margin:0}.wowpass-home .wowpass-balances{grid-template-columns:minmax(0,1fr)}.airport-start-photo-frame{aspect-ratio:16/7}}
@media(max-width:550px){.wowpass-home-visual{grid-template-columns:minmax(0,1fr)}.wowpass-home .wowpass-balances{grid-template-columns:repeat(2,minmax(0,1fr))}.wowpass-home .branch-links>a{width:100%}.airport-start-photo-frame{aspect-ratio:16/10}.airport-start .section-head{flex-wrap:wrap}.airport-start .section-head>a{margin-bottom:14px}}

/* Click a forecast day for real hourly data, with the daily cards kept compact. */
.weather-detail-intro{font-size:.875rem;color:var(--muted);margin:0 0 12px}
.weather-day{position:relative}
.weather-day-open{display:block;border:0;background:transparent;padding:0;text-align:left;font:inherit;font-weight:inherit;color:inherit;cursor:pointer}
.weather-day-open::after{content:"";position:absolute;inset:0;border-radius:15px}
.weather-day-open:hover::after{box-shadow:inset 0 0 0 2px var(--brand)}
.weather-day-open:focus-visible{outline:0}.weather-day-open:focus-visible::after{outline:3px solid var(--brand);outline-offset:3px}
.weather-day-detail-hint{display:flex;align-items:center;justify-content:space-between;gap:5px;min-height:44px;margin-top:auto;padding-top:10px;border-top:1px solid var(--brand-line);font-size:.75rem;font-weight:700;color:var(--brand)}
/* Keep the seven-card strip readable as a single row: a two-line forecast
   period reserves the same space as a one-line period, so every detail row
   begins on the same horizontal line.  This stylesheet loads after styles.css. */
.weather-day-head{min-height:44px}
.weather-day-date-row{align-items:flex-start;min-height:44px;white-space:normal}
.weather-day h4 button{white-space:normal;line-height:1.35}
.weather-day time{padding-top:1px}
.weather-day-period{min-height:3em}
/* A temperature and its degree sign are one reading.  Two equal columns keep
   low/high values comparable while allowing a decimal value to stay intact. */
.weather-day-temperatures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:4px;margin:0 0 16px}
.weather-day-temperatures>div{min-width:0}
.weather-day-temperatures dd{min-width:0;margin:3px 0 0;font-size:1.5rem;line-height:1.1;font-weight:800;letter-spacing:-.025em;white-space:nowrap;word-break:normal;overflow-wrap:normal;font-variant-numeric:tabular-nums}
.weather-hourly-dialog{width:min(920px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:24px;border:1px solid var(--brand-line);border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 90px #0e254f40;overflow:auto}
.weather-hourly-dialog::backdrop{background:#102a5680;backdrop-filter:blur(3px)}
.weather-hourly-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.weather-hourly-head .eyebrow{margin-bottom:8px}.weather-hourly-head h3{font-size:clamp(1.3rem,3vw,1.75rem);margin:0;color:var(--navy)}
.weather-hourly-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:44px;padding:9px 16px;border:1px solid var(--brand-line);border-radius:10px;background:var(--brand-soft);color:var(--navy);font:inherit;font-weight:700;cursor:pointer}.weather-hourly-close span{font-size:1.4rem;line-height:1}
.weather-hourly-controls{display:flex;gap:14px;align-items:end;margin-top:20px}.weather-hourly-controls label{display:flex;flex-direction:column;gap:5px;font-size:.8125rem;font-weight:700;color:var(--muted)}.weather-hourly-controls label:first-child{flex:1;max-width:300px}.weather-hourly-controls select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--brand-line);border-radius:9px;color:var(--navy);background:#fff;font:inherit;font-size:.9375rem}
.weather-hourly-status{margin:14px 0 10px;color:var(--muted);font-size:.875rem}.weather-hourly-empty{margin:18px 0;padding:20px;background:var(--brand-soft);border-radius:12px;line-height:1.8}
.weather-hourly-table-wrap{max-height:360px;max-height:min(44dvh,440px);overflow:auto;border:1px solid var(--brand-line);border-radius:12px;overscroll-behavior:contain}
.weather-hourly-table{width:100%;min-width:660px;border-collapse:separate;border-spacing:0;font-size:.875rem;font-variant-numeric:tabular-nums;text-align:left}
.weather-hourly-table th,.weather-hourly-table td{padding:12px 14px;border-bottom:1px solid #e7edf5;white-space:nowrap;vertical-align:middle}.weather-hourly-table thead th{position:sticky;top:0;z-index:2;background:#edf4ff;color:var(--navy);font-size:.8125rem;font-weight:700}.weather-hourly-table th small{display:block;color:var(--muted);font-weight:400}.weather-hourly-table th:first-child{width:76px;position:sticky;left:0;background:#f6f8fc;color:var(--navy);z-index:1}.weather-hourly-table thead th:first-child{z-index:3;background:#edf4ff}.weather-hourly-table tbody tr:nth-child(even) td{background:#fafcff}.weather-hourly-table tr[data-available="false"] td{color:#8b97a9}.weather-hourly-table tbody tr:last-child>*{border-bottom:0}
.weather-hourly-notes{margin-top:14px;font-size:.75rem;line-height:1.65;color:var(--muted)}.weather-hourly-notes p{margin:4px 0}.weather-hourly-table-wrap[hidden],.weather-hourly-empty[hidden]{display:none}
@media(max-width:550px){.weather-hourly-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 24px);padding:18px 14px;border-radius:16px}.weather-hourly-head{gap:8px}.weather-hourly-close{padding-inline:12px;gap:6px}.weather-hourly-controls{gap:10px}.weather-hourly-table th,.weather-hourly-table td{padding:11px 12px}.weather-hourly-table-wrap{max-height:42dvh}.weather-hourly-notes{font-size:.75rem}}

/* Airport cards share content rows so captions and destination counts do not shift headings. */
.airport-start-grid>article{padding:0;gap:0;overflow:hidden;min-width:0}
.airport-start-grid .airport-start-photo{margin:0;border-radius:15px 15px 0 0}
.airport-start-grid .airport-start-photo figcaption{min-height:calc(2.25rem + 20px);padding:10px 24px}
.airport-start-grid>article>.eyebrow{padding:20px 24px 0;margin:0;font-size:.8rem;line-height:1.5}
.airport-start-grid h3{margin:0;padding:12px 24px 0;font-size:1.25rem;line-height:1.4;font-weight:750;letter-spacing:-.025em}
.airport-start-grid h3>a{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;color:var(--brand);font:inherit}
.airport-iata{display:inline-block;flex:none;padding:2px 7px;border:1px solid var(--brand-line);border-radius:6px;background:var(--brand-soft);color:var(--navy);font-size:.7em;font-weight:750;line-height:1.5;letter-spacing:.05em;white-space:nowrap;vertical-align:middle}
.airport-start-grid p.airport-card-intro{margin:0;padding:14px 24px 20px;line-height:1.7;flex:1;word-break:keep-all;overflow-wrap:anywhere}
.airport-spelling-note{display:block;margin-top:10px;font-size:.85em;line-height:1.55;color:var(--muted)}
.airport-start-grid .airport-city-shortcuts{margin:0;padding:0 24px 20px;align-content:start;align-items:start}
.airport-start-grid .airport-city-shortcuts a{max-width:100%;min-height:44px;display:inline-flex;align-items:center;line-height:1.5;overflow-wrap:anywhere}
.airport-start-grid>article>.secondary-action{margin:0 24px 24px;align-self:stretch}
.airport-tabs a{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1rem;line-height:1.4}
.airport-tabs a[aria-current] .airport-iata{background:#fff;color:var(--brand)}
@supports (grid-template-rows:subgrid){
 @media(min-width:901px){
  .airport-start-grid>article{display:grid;grid-template-rows:subgrid;grid-row:span 7;row-gap:0}
  .airport-start-grid .airport-start-photo{display:grid;grid-template-rows:subgrid;grid-row:span 2;row-gap:0}
  .airport-start-grid .airport-start-photo-frame{align-self:start}
  .airport-start-grid .airport-start-photo figcaption{min-height:0}
 }
}
@media(max-width:900px){.airport-start-grid .airport-start-photo figcaption{min-height:0}.airport-start-grid h3{font-size:1.25rem}}
.culture-product-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;margin:0 0 14px;color:var(--navy)}.culture-product-price strong{font-size:1rem}.culture-product-price>span{font-size:.72rem;color:var(--muted);line-height:1.6}

/* Airport facility guidance: the source link is primary because operator maps change. */
.airport-smoking-guide{margin:28px 0;padding:28px;border:1px solid var(--brand-line);border-radius:18px;background:#f7faff;scroll-margin-top:24px}
.airport-smoking-guide header{max-width:900px}.airport-smoking-guide h2{margin:0 0 10px;color:var(--navy);font-size:clamp(1.4rem,2.4vw,1.8rem);line-height:1.35}.airport-smoking-guide header>p:last-child{margin:0;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.airport-smoking-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}.airport-smoking-card{min-width:0;padding:18px;border:1px solid var(--brand-line);border-radius:12px;background:#fff}.airport-smoking-card h3{margin:0;color:var(--navy);font-size:1.05rem;line-height:1.45}.airport-smoking-card p{margin:10px 0 0;color:var(--muted);font-size:.92rem;line-height:1.72;word-break:keep-all;overflow-wrap:anywhere}
.airport-smoking-guide footer{display:flex;align-items:center;gap:16px;justify-content:space-between;margin-top:18px;padding-top:16px;border-top:1px solid var(--brand-line)}.airport-smoking-guide footer>.secondary-action{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-height:44px;padding:10px 14px;text-align:center}.airport-smoking-guide footer>p{flex:1;margin:0;color:var(--muted);font-size:.78rem;line-height:1.65;overflow-wrap:anywhere}
@media(max-width:850px){.airport-smoking-grid{grid-template-columns:1fr}.airport-smoking-guide footer{align-items:stretch;flex-direction:column}.airport-smoking-guide footer>.secondary-action{width:100%}}
@media(max-width:550px){.airport-smoking-guide{padding:20px}.airport-smoking-card{padding:16px}}
