/* TDW Editorial v2 — single authoritative long-form layout */
.article-page .article.article-shell{width:100%;max-width:none;padding-inline:clamp(14px,3vw,36px);overflow-x:clip}.article-page .article-document{width:100%;max-width:1160px;margin:auto}.article-page .article-grid{display:grid;width:100%;max-width:1060px;margin:auto;grid-template-columns:220px minmax(0,760px);gap:42px;align-items:start;justify-content:center}.article-page .article-body{width:100%;max-width:760px;min-width:0;margin:0}.article-page .article-content{width:100%;max-width:760px;font-size:1.02rem;line-height:1.75}.article-page .article-content>*{min-width:0;max-width:100%}

/* Regional gastronomy: compact magazine cards instead of a five-column table. */
.article-page .regional-gastronomy{clear:both;width:100%;max-width:720px;margin:2.4rem auto 3rem;padding:clamp(16px,3vw,28px);overflow:hidden;border:1px solid rgba(99,246,255,.22);border-radius:18px;background:linear-gradient(145deg,rgba(9,20,31,.96),rgba(12,13,25,.94));box-shadow:0 18px 55px rgba(0,0,0,.28)}
.article-page .regional-gastronomy>h3{width:100%;margin:0 0 .75rem;color:#effcff;font-size:clamp(1.35rem,3vw,1.85rem)}
.article-page .gastronomy-kicker,.article-page .gastronomy-note{width:100%;max-width:none;margin:.5rem 0 1.25rem;color:#a9c0ca;font:500 .88rem/1.62 system-ui,sans-serif}
.article-page .gastronomy-grid{display:grid;grid-template-columns:1fr;gap:16px;width:100%}.article-page .gastronomy-dish{min-width:0;padding:clamp(14px,2.5vw,22px);border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(2,8,15,.56)}
.article-page .gastronomy-dish>h4{width:100%;margin:0 0 .55rem;color:var(--cyber-cyan,#63f6ff);font:800 1.08rem/1.3 system-ui,sans-serif}.article-page .gastronomy-dish__intro{width:100%;max-width:none;margin:0 0 1rem;color:#d4e2e8;font-size:.94rem}
.article-page .gastronomy-costs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:1rem 0}.article-page .gastronomy-cost{min-width:0;padding:11px;border:1px solid rgba(99,246,255,.14);border-radius:10px;background:rgba(99,246,255,.035)}
.article-page .gastronomy-cost>strong{display:block;margin-bottom:5px;color:#90aab5;font:750 .66rem/1.3 ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}.article-page .gastronomy-value,.article-page .gastronomy-meta{width:100%;max-width:none!important;margin:0!important;font-family:system-ui,sans-serif}
.article-page .gastronomy-value{color:#f5fbff;font-size:.9rem;font-weight:760;overflow-wrap:anywhere}.article-page .gastronomy-meta{padding-top:4px;color:#7f98a5;font-size:.68rem;line-height:1.35}.article-page .gastronomy-evidence{width:100%;max-width:none;margin:.45rem 0 1.1rem;padding-left:1.15rem;color:#adbec6;font:500 .78rem/1.55 system-ui,sans-serif}.article-page .gastronomy-evidence li{margin:.45rem 0;overflow-wrap:anywhere}.article-page .gastronomy-evidence a{white-space:normal}
@media(max-width:620px){.article-page .regional-gastronomy{margin:1.7rem auto 2.4rem;padding:14px;border-radius:13px}.article-page .gastronomy-dish{padding:13px}.article-page .gastronomy-costs{grid-template-columns:1fr}.article-page .gastronomy-cost{display:grid;grid-template-columns:minmax(105px,.7fr) 1fr;gap:5px 10px;align-items:start}.article-page .gastronomy-cost>strong{grid-row:1/3}.article-page .gastronomy-evidence{font-size:.76rem}.article-page .gastronomy-grid{gap:12px}}
@media print{.article-page .regional-gastronomy,.article-page .gastronomy-dish,.article-page .gastronomy-cost{color:#111;background:#fff;box-shadow:none}.article-page .gastronomy-costs{grid-template-columns:repeat(3,1fr)}}
.article-page .article-rail{position:relative!important;width:220px!important;max-width:220px!important;margin:0!important;padding:0!important;border:0!important;background:none!important;box-shadow:none!important}.article-page .rail-card{position:sticky!important;top:76px!important;width:220px!important;max-height:calc(100vh - 94px)!important;margin:0!important;padding:14px!important;overflow:hidden!important;border-radius:14px!important}.article-page .dynamic-toc{max-height:calc(100vh - 235px);overflow-y:auto;overflow-x:hidden}.article-page .dynamic-toc a{padding:8px 6px!important;margin:0!important;overflow-wrap:anywhere}.article-page .dynamic-toc em{font-size:9px!important;line-height:1.35!important}.article-page .rail-metrics{gap:7px!important}.article-page .rail-metrics>div{padding:9px!important}
.article-page .article-chapter{display:block!important;clear:both!important;width:100%;margin:0 0 4.2rem}.article-page .article-chapter>*{float:none!important}.article-page .article-chapter::after{content:"";display:block;clear:both;width:100%;height:1px;margin:4.2rem 0 0;background:linear-gradient(90deg,transparent,rgba(99,246,255,.16),transparent)}.article-page .article-content h2,.article-page .article-section-title{width:100%;max-width:700px;margin:3.4rem auto 1.1rem;padding:16px 0 0 48px;font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1.12;overflow-wrap:anywhere}.article-page .article-content h2:first-child{margin-top:1rem}.article-page .article-content h3,.article-page .article-content h4,.article-page .article-content p,.article-page .article-content ul,.article-page .article-content ol,.article-page .article-content blockquote,.article-page .map-link{width:100%;max-width:700px;margin-left:auto;margin-right:auto}.article-page .article-content p{margin-top:0;margin-bottom:1.15em}.article-page .article-content ul,.article-page .article-content ol{margin-top:1rem;margin-bottom:1.5rem}.article-page .article-content li{margin:.5rem 0}
/* Compact images: fixed editorial bounds, never viewport-sized. */
.article-page figure.media-frame,.article-page figure.article-photo,.article-page figure.place-photo,.article-page figure.article-photo--featured,.article-page figure.media-frame--portrait,.article-page figure.media-frame--square,.article-page figure.media-frame--panorama{position:relative;float:none!important;clear:both!important;display:block!important;width:100%!important;max-width:520px!important;margin:1.35rem auto 2rem!important;overflow:hidden!important;border:1px solid rgba(99,246,255,.2)!important;border-radius:13px!important;background:#050a10!important;box-shadow:0 16px 42px rgba(0,0,0,.28)!important;transform:none!important;inset:auto!important}.article-page figure.article-photo--featured{max-width:620px!important}.article-page figure.media-frame img,.article-page figure.article-photo img,.article-page figure.place-photo img{display:block!important;width:100%!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:100%!important;max-height:340px!important;margin:0 auto!important;object-fit:contain!important;object-position:center!important;background:#050a10!important}.article-page figure.article-photo--featured img{max-height:400px!important}.article-page figure.media-frame--portrait{max-width:390px!important}.article-page figure.media-frame--portrait img{max-height:440px!important}.article-page figure.media-frame figcaption{min-height:0!important;margin:0!important;padding:8px 11px!important;color:#7f98a5!important;background:#060b12!important;font:600 8px/1.45 ui-monospace,monospace!important}.article-page .media-frame__zoom{top:8px!important;right:8px!important;min-height:30px!important;padding:0 8px!important;font-size:7px!important}
/* Gallery is the only two-column photo region. */
.article-page .article-gallery{clear:both!important;width:100%!important;max-width:720px!important;margin:2.8rem auto 3.8rem!important}.article-page .article-gallery__grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.article-page .article-gallery figure.gallery-card,.article-page .article-gallery figure.gallery-card:nth-child(n){display:block!important;grid-column:auto!important;width:100%!important;max-width:100%!important;margin:0!important;border-radius:10px!important}.article-page .article-gallery figure.gallery-card img,.article-page .article-gallery figure.gallery-card:nth-child(n) img{display:block!important;width:100%!important;height:190px!important;min-height:0!important;max-height:190px!important;object-fit:contain!important}.article-page .article-gallery figure.gallery-card figcaption{padding:7px 9px!important;min-height:42px!important;font-size:7px!important}
.article-page .map-link{position:relative!important;display:flex!important;align-items:center;justify-content:space-between;gap:10px;margin-top:.85rem!important;margin-bottom:1.35rem!important;padding:9px 12px!important;border-radius:8px!important;font-size:9px!important;z-index:1}.article-page .article-content table{display:block;width:100%;max-width:720px;margin:1.8rem auto;overflow-x:auto}.article-page .article-meta{position:relative;z-index:2}.article-page .cyber-hero{overflow:hidden}.article-page .glitch-title{font-size:clamp(2.7rem,6.2vw,6.6rem)}
.media-lightbox{width:100vw;max-width:none;height:100vh;max-height:none;margin:0;padding:0;border:0;background:rgba(1,4,8,.96)}.media-lightbox::backdrop{background:rgba(1,4,8,.94)}.media-lightbox__stage{display:grid;grid-template-rows:minmax(0,1fr) auto;width:100%;height:100%;padding:48px}.media-lightbox img{display:block;width:100%;height:100%;object-fit:contain}.media-lightbox p{margin:10px auto 0;color:#9cb2bf;font:600 10px/1.5 ui-monospace,monospace}.media-lightbox__close{position:fixed;right:18px;top:18px;z-index:2;width:42px;height:42px;border:1px solid #63f6ff;border-radius:50%;color:#fff;background:#07101a;font-size:25px;cursor:pointer}
@media(max-width:1040px){.article-page .article-grid{display:block;max-width:760px}.article-page .article-rail{display:none!important}.article-page .article-body{max-width:760px;margin:auto}}
@media(max-width:620px){.article-page .article.article-shell{padding-inline:14px}.article-page .article-content{font-size:.98rem;line-height:1.7}.article-page .article-content h2,.article-page .article-section-title{padding-left:44px;font-size:clamp(1.45rem,7.5vw,2rem)}.article-page figure.media-frame,.article-page figure.article-photo,.article-page figure.place-photo,.article-page figure.article-photo--featured,.article-page figure.media-frame--portrait{width:100%!important;max-width:100%!important;margin:1rem auto 1.6rem!important;border-radius:10px!important}.article-page figure.media-frame img,.article-page figure.article-photo img,.article-page figure.place-photo img,.article-page figure.article-photo--featured img{width:100%!important;height:auto!important;max-height:300px!important}.article-page .article-gallery__grid{grid-template-columns:1fr!important}.article-page .article-gallery figure.gallery-card img,.article-page .article-gallery figure.gallery-card:nth-child(n) img{height:auto!important;max-height:260px!important}.article-page .media-frame__zoom span:last-child{display:none}.media-lightbox__stage{padding:58px 8px 14px}}
@media print{.article-page .article-grid{display:block}.article-page .article-rail,.article-page .media-frame__zoom,.media-lightbox{display:none!important}.article-page figure.media-frame{max-width:14cm!important}.article-page figure.media-frame img{max-height:10cm!important}}

/* Magazine composition v3 ------------------------------------------------ */
.article-page figure.media-frame,.article-page figure.article-photo,.article-page figure.place-photo,.article-page figure.article-photo--featured,.article-page figure.media-frame--square,.article-page figure.media-frame--panorama{max-width:360px!important;margin:1.2rem auto 1.8rem!important}.article-page figure.media-frame img,.article-page figure.article-photo img,.article-page figure.place-photo img,.article-page figure.article-photo--featured img{max-height:240px!important}.article-page figure.media-frame--portrait{max-width:270px!important}.article-page figure.media-frame--portrait img{max-height:320px!important}
.article-page .magazine-spread{display:grid;width:100%;max-width:700px;margin:1rem auto 1.75rem;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(18px,3vw,30px);align-items:start}.article-page .magazine-spread--reverse{grid-template-columns:minmax(0,1fr) minmax(220px,300px)}.article-page .magazine-spread--reverse .media-frame{grid-column:2}.article-page .magazine-spread--reverse .magazine-spread__copy{grid-column:1;grid-row:1}.article-page .magazine-spread figure.media-frame,.article-page .magazine-spread figure.article-photo,.article-page .magazine-spread figure.place-photo,.article-page .magazine-spread figure.article-photo--featured{grid-row:1;width:100%!important;max-width:300px!important;margin:0!important}.article-page .magazine-spread figure.media-frame img,.article-page .magazine-spread figure.article-photo img,.article-page .magazine-spread figure.place-photo img{width:100%!important;max-height:225px!important}.article-page .magazine-spread figure.media-frame--portrait{max-width:240px!important;justify-self:center}.article-page .magazine-spread figure.media-frame--portrait img{max-height:300px!important}.article-page .magazine-spread__copy{min-width:0}.article-page .magazine-spread__copy p{margin:0 0 1em;color:var(--cyber-copy)}.article-page .magazine-spread__copy p:first-child{font-size:1.04rem;color:#d8e8ee}
.article-page .article-gallery{max-width:720px!important}.article-page .article-gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.article-page .article-gallery figure.gallery-card img,.article-page .article-gallery figure.gallery-card:nth-child(n) img{height:145px!important;max-height:145px!important}.article-page .article-gallery figure.gallery-card figcaption{min-height:38px!important;padding:6px 8px!important;font-size:6.5px!important}
@media(max-width:720px){.article-page .magazine-spread,.article-page .magazine-spread--reverse{display:grid;grid-template-columns:minmax(120px,36%) minmax(0,1fr);gap:14px}.article-page .magazine-spread--reverse{grid-template-columns:minmax(0,1fr) minmax(120px,36%)}.article-page .magazine-spread figure.media-frame,.article-page .magazine-spread figure.article-photo,.article-page .magazine-spread figure.place-photo,.article-page .magazine-spread figure.article-photo--featured{max-width:100%!important}.article-page .magazine-spread figure.media-frame img,.article-page .magazine-spread figure.article-photo img,.article-page .magazine-spread figure.place-photo img{max-height:190px!important}.article-page .article-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:480px){.article-page .magazine-spread,.article-page .magazine-spread--reverse{display:flex;flex-direction:column;gap:12px}.article-page .magazine-spread--reverse .media-frame{order:0}.article-page .magazine-spread--reverse .magazine-spread__copy{order:1}.article-page .magazine-spread figure.media-frame,.article-page .magazine-spread figure.article-photo,.article-page .magazine-spread figure.place-photo,.article-page .magazine-spread figure.article-photo--featured{width:100%!important;max-width:280px!important;margin:auto!important}.article-page .magazine-spread figure img{max-height:190px!important}.article-page .magazine-spread__copy p:nth-child(n+2){display:block}.article-page .article-gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.article-page .article-gallery figure.gallery-card img,.article-page .article-gallery figure.gallery-card:nth-child(n) img{height:110px!important;max-height:110px!important}}
/* Safe first paint for legacy articles whose stored figures have no class. */
.article-page .article-content figure:not(.gallery-card){display:block;width:100%;max-width:360px;margin:1.2rem auto 1.8rem;overflow:hidden;border-radius:12px;background:#050a10}.article-page .article-content figure:not(.gallery-card)>img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain}.article-page .article-gallery>h3{max-width:720px;margin:0 auto 1rem;color:var(--cyber-text);font:800 1.35rem/1.2 system-ui,sans-serif}
.article-map-panel{margin:2rem 0 2.5rem;padding:1rem;border:1px solid rgba(99,246,255,.25);border-radius:14px;background:#071018}.article-map-panel h2{margin-top:0}.regional-map{height:360px;width:100%;border-radius:10px;overflow:hidden;z-index:0}.regional-map-status{margin:.75rem 0 0;color:#9fb3c8;font-size:.82rem;letter-spacing:.02em}
.dynamic-toc a.has-map-marker::after{content:"";align-self:center;width:6px;height:6px;margin-left:auto;border-radius:50%;background:#8cff42;box-shadow:0 0 8px rgba(140,255,66,.8)}.dynamic-toc a.has-map-focus{color:#071018!important;background:#63f6ff!important;transform:translateX(4px)}.dynamic-toc a.has-map-focus span,.dynamic-toc a.has-map-focus em{color:#071018!important}.region-map-popup{display:grid;gap:.55rem;min-width:190px}.region-map-popup strong{color:#071018}.region-map-popup button,.region-map-popup a{display:block;padding:.48rem .62rem;border:0;border-radius:6px;background:#071018;color:#63f6ff!important;font:700 .76rem/1.2 system-ui,sans-serif;text-align:center;text-decoration:none;cursor:pointer}.region-map-popup a{background:#e7f9fa;color:#071018!important}.leaflet-marker-icon{transition:filter .18s ease,transform .18s ease}.leaflet-marker-icon:hover{filter:drop-shadow(0 0 7px #63f6ff)}
.language-switcher{display:flex;gap:8px;align-items:center;margin:1rem 0;font:600 11px ui-monospace,monospace}.language-switcher a{padding:5px 8px;border:1px solid rgba(99,246,255,.25);border-radius:6px;color:#9db3bd;text-decoration:none}.language-switcher a.active{background:#63f6ff;color:#031018}
