/* Article photo spreads: existing licensed media, original reading order on small screens. */
body.fp-article{--sf-paper:#f2f1ed;--sf-ink:#292b28;--sf-muted:#62665e;--sf-accent:#5d6555;--sf-line:#d1d3ca;background:#f2f1ed;color:#292b28}
.fp-article .sf-reading,.fp-article .article-layout{display:block;max-width:1440px;margin:auto;padding:0 5vw}
.fp-article .sf-body,.fp-article .article-body{max-width:none;width:auto}
.fp-article main.page,.fp-article main.wrap{max-width:1440px;width:auto;margin:auto;padding-left:5vw;padding-right:5vw}
.fp-article .sf-toc,.fp-article .article-toc{position:static;width:auto;max-width:none;margin:0 0 60px;padding:22px 0;display:flex;flex-wrap:wrap;gap:8px 24px;border-block:1px solid #d1d3ca}
.fp-article .article-toc ol{display:flex;flex-wrap:wrap;gap:8px 24px;margin:0;padding-left:20px}
.fp-article .fp-spread{display:grid!important;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:clamp(28px,5vw,90px);align-items:start;max-width:none!important;padding-block:64px!important;border-top:1px solid #d1d3ca;scroll-margin-top:30px}
.fp-article .fp-media{min-width:0;display:grid;gap:38px}
.fp-article .fp-media figure{margin:0!important;padding:0;max-width:none;width:auto;grid-column:auto;background:transparent}
.fp-article .fp-media img{display:block;width:100%;height:auto;max-height:820px;object-fit:contain;object-position:center}
.fp-article .fp-media figcaption{margin-top:12px;font-size:12px;line-height:1.85;color:#62665e;overflow-wrap:anywhere}
.fp-article .fp-copy{min-width:0;position:sticky;top:32px;align-self:start}
.fp-article .fp-copy h2{font-size:clamp(24px,2.2vw,36px);line-height:1.6;margin:0 0 28px}
.fp-article .fp-copy p{font-size:15px;line-height:2.1;overflow-wrap:anywhere}
.fp-article .fp-copy .sf-section-copy,.fp-article .fp-copy .sf-section-heading{display:block;width:auto;max-width:none;padding:0;margin-left:0;grid-column:auto}
.fp-article .fp-copy .photo-gallery:empty{display:none}
.fp-article .fp-copy table{display:block;max-width:100%;overflow-x:auto}
.fp-article .fp-copy iframe,.fp-article .fp-copy video{max-width:100%}
@media(max-width:800px){.fp-article .fp-spread{grid-template-columns:minmax(0,1fr);gap:30px;padding-block:38px!important}.fp-article .fp-copy{position:static}.fp-article .fp-media img{max-height:none}.fp-article .sf-reading,.fp-article .article-layout{padding:0 22px}.fp-article main.page,.fp-article main.wrap{padding-inline:22px}.fp-article main.page .article-layout{padding:0}.fp-article .fp-copy h2{font-size:27px}.fp-article .fp-copy p{font-size:16px}.fp-article .fp-media{gap:28px}}
@media print{.fp-article .fp-spread{display:block!important}.fp-article .fp-copy{position:static}.fp-article .fp-media img{max-height:100mm}}

/* Scope-specific overrides follow the existing palette projections without changing their source. */
html:root:root body.fp-article{background-color:var(--site-bg,#f2f1ed)!important;color:var(--site-ink,#292b28)!important}
body.fp-article .fp-spread{font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif!important}
body.fp-article .fp-copy h2,body.fp-article .fp-copy p{font-family:inherit!important}
body.fp-article .fp-media figure{grid-column:auto!important;grid-row:auto!important;transform:none!important}
body.fp-article .fp-media img{height:auto!important;max-width:100%!important;object-fit:contain!important;filter:none!important}
body.fp-article .fp-media figcaption{font-size:14px!important;color:var(--site-muted,#62665e)!important;line-height:1.9!important}
body.fp-article .fp-copy{grid-column:2;grid-row:1}
body.fp-article .fp-media{grid-column:1;grid-row:1}
@media(max-width:800px){body.fp-article .fp-media,body.fp-article .fp-copy{grid-column:1;grid-row:auto}}

.fp-article .fp-copy .photo-gallery:not(:has(figure)){display:none}

body.fp-article .fp-hero{display:grid!important;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr)!important;gap:clamp(28px,5vw,90px);align-items:start;min-height:0!important;max-height:none!important;padding:64px 5vw!important;max-width:1440px;margin:0 auto!important;isolation:auto;overflow:visible!important;background:transparent!important;color:var(--site-ink,#292b28)!important}
body.fp-article main.page .fp-hero,body.fp-article main.wrap .fp-hero{padding-inline:0!important}
body.fp-article .fp-hero:before,body.fp-article .fp-hero:after{display:none!important}
body.fp-article .fp-hero .fp-media>a{display:block;position:relative}
body.fp-article .fp-hero .fp-media img{position:static!important;inset:auto!important;width:100%!important;max-height:800px!important;max-width:100%!important;filter:none!important;transform:none!important}
body.fp-article .fp-hero .sf-hero-copy,body.fp-article .fp-hero .hero-text,body.fp-article .fp-hero .hero-copy,body.fp-article .fp-hero .feature-heading{padding:0!important;max-width:none!important;width:auto!important;background:transparent!important}
body.fp-article .fp-hero .sf-hero-credit{position:static!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;background:transparent!important;font-size:14px!important}
html:root body.fp-article .fp-hero :is(h1,p,a,span,small,time,figcaption){color:var(--site-ink,#292b28)!important;text-shadow:none!important}
body.fp-article .fp-hero h1{font:500 clamp(29px,3vw,44px)/1.55 system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif!important;letter-spacing:.015em!important;max-width:none!important;margin:12px 0 28px!important}
body.fp-article .fp-hero .sf-title-line{white-space:normal!important;display:inline}
body.fp-article .fp-copy p,body.fp-article .fp-hero .lead,body.fp-article .fp-hero .sf-subtitle{font-size:18px!important;line-height:1.95!important}
@media(max-width:800px){body.fp-article .fp-hero{grid-template-columns:minmax(0,1fr)!important;padding:30px 22px!important;gap:32px}body.fp-article .fp-hero .fp-media img{max-height:none!important}body.fp-article .fp-hero h1{font-size:32px!important}.fp-article .fp-copy p{font-size:18px!important}}

body.fp-article :is(.sf-section,.article-section):not(.fp-spread){max-width:780px;margin-inline:auto}

body.fp-article .fp-qa-badge{position:fixed;z-index:10000;right:8px;bottom:8px;margin:0;padding:5px 9px;font:12px/1.5 system-ui,sans-serif!important;color:#292b28!important;background:#f5f1d8!important;border:1px solid #777b6a;border-radius:3px;pointer-events:none}

body.fp-article .fp-hero-note{font-size:14px!important;line-height:1.9!important;margin:0;color:var(--site-muted,#62665e)!important}

/* Chapter numbers participate in flow; the inherited absolute offsets overlap paired headings. */
body.fp-article .fp-copy .sf-section-heading{position:static!important;padding:0!important;transform:none!important}
body.fp-article .fp-copy .sf-section-no{position:static!important;inset:auto!important;display:block!important;float:none!important;transform:none!important;font:400 20px/1.4 system-ui,sans-serif!important;letter-spacing:.08em!important;margin:0 0 14px!important;padding:0!important}

/* Paired copy already occupies a narrow column: do not split its prose/cards again. */
body.fp-article .fp-copy :is(.stay-grid,.steps){display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:24px!important;width:auto!important;max-width:100%!important}
body.fp-article .fp-copy .stay-grid>div{order:0!important;min-width:0}
body.fp-article .fp-copy .stay-thumbs:not(:has(img)){display:none!important}
body.fp-article .fp-wide{grid-column:1/-1;grid-row:2;min-width:0;max-width:100%}
body.fp-article .fp-wide .table-wrap{width:100%;max-width:100%;overflow-x:auto}
body.fp-article .fp-wide table{width:100%}
@media(max-width:800px){body.fp-article .fp-wide{grid-column:1;grid-row:auto}}

/* Preserve duplicate figure DOM for restoration without repeating the same enlarged image. */
body.fp-article .fp-media .fp-duplicate-media[hidden]{display:none!important}

/* Keep introductory copy in its own row when a full-width table follows. */
body.fp-article .fp-spread:has(>.fp-wide)>.fp-copy{position:static!important}

/* Festival card groups must use the full width of the already-narrow text column. */
body.fp-article .fp-copy :is(.intro-grid,.three,.two,.venue-grid,.checklist),body.fp-article .fp-copy .itinerary li{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:22px!important;min-width:0}
body.fp-article .fp-copy .venue-top{flex-direction:column!important;gap:12px!important}
body.fp-article .fp-copy :is(.venue,.choice){padding:18px!important;min-width:0}
body.fp-article .fp-copy .venue .return{padding:14px!important}

/* Tour tables and playable video groups use a full reading-width row below the photograph and introduction. */
body.fp-article .fp-wide .table-scroll{width:100%;max-width:100%;overflow-x:auto}
body.fp-article .fp-wide .videos{width:100%;max-width:100%;min-width:0}
body.fp-article .fp-wide .video{min-width:0}
@media(max-width:800px){body.fp-article .fp-wide .videos{grid-template-columns:minmax(0,1fr)!important}}
