/* Scoped to World: Home and the essay pages keep their existing art direction. */
.page-worlds{overflow-x:clip;--paper:#191a18;--ink:#f1ede2;--muted:#c1c3bb;--line:#f1ede22b;--world-a:#847b65;--world-b:#b8a98d}
.page-worlds .world-intro{padding-top:150px;padding-bottom:54px}
.page-worlds .world-intro h1{font-size:clamp(40px,4.7vw,75px);line-height:1.18;letter-spacing:-.03em}
.page-worlds .world-intro .intro-split{grid-template-columns:1.45fr .55fr;gap:50px}
.page-worlds .world-intro .lead{max-width:310px;margin-top:0;font-size:13px;line-height:1.9}
.world-selector{display:none;overflow:clip}
.world-ready .world-selector{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr);gap:6vw;padding:0 var(--gutter) 100px;align-items:center}
.world-wheel-column{min-width:0}
.wheel-topline{display:flex;justify-content:space-between;align-items:center;font-size:10px;opacity:.65}
.wheel-topline .eyebrow{font-size:9px}
.world-wheel{height:544px;position:relative;overflow:hidden;touch-action:none;cursor:grab;user-select:none;isolation:isolate}
.world-wheel.is-dragging{cursor:grabbing}
.wheel-item{position:absolute;top:calc(50% - 36px);left:4px;width:calc(100% - 48px);height:72px;border:0;border-radius:0;background:transparent;display:flex;align-items:center;text-align:left;gap:17px;padding:8px 5px;transform-origin:0 50%;font:400 clamp(21px,2.25vw,34px)/1.2 var(--serif);will-change:transform,opacity;z-index:1}
.wheel-item[hidden]{display:none!important}
.wheel-item img{width:76px;height:48px;object-fit:cover;flex-shrink:0;border:1px solid #ffffff20}
.wheel-item span{flex:1;min-width:0;max-height:2.4em;overflow:hidden}
.wheel-item i{font:400 21px/1 var(--body);font-style:normal;opacity:0}
.wheel-item[aria-selected=true] i{opacity:1}
.wheel-item:focus-visible{outline-offset:-3px}
.wheel-center-line{position:absolute;top:calc(50% - 40px);height:80px;left:0;right:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);pointer-events:none;background:linear-gradient(90deg,#ffffff06,transparent);z-index:-1}
.wheel-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.wheel-controls .round-button{width:36px;height:36px;font-size:17px}
.wheel-controls p{font-size:10px;line-height:1.7;text-align:center;opacity:.65}
.wheel-quick{display:flex;gap:14px;align-items:center;font-size:9px;margin-top:22px;opacity:.85}
.wheel-quick select{min-width:0;max-width:65%;font:400 11px var(--body);color:inherit;background:var(--paper);border:0;border-bottom:1px solid var(--line);padding:10px 20px 10px 4px;cursor:pointer}
.world-preview-stage{min-width:0;position:relative;isolation:isolate;padding-bottom:15px}
.world-preview-top{display:flex;justify-content:space-between;gap:15px;font-size:9px;letter-spacing:1.5px;margin-bottom:25px;opacity:.7}
.world-preview-frame{position:relative;aspect-ratio:var(--preview-ratio,2.14);max-height:540px;width:100%;isolation:isolate;transition:aspect-ratio .55s}
.world-preview-aura{position:absolute;inset:-30% -12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 20% 75%,var(--world-a),transparent 55%),radial-gradient(ellipse at 85% 20%,var(--world-b),transparent 55%);filter:blur(45px);opacity:.45;transition:background .65s}
.preview-image{position:absolute;inset:0;height:100%;width:100%;object-fit:contain;opacity:0;clip-path:inset(0 2%);transition:opacity .55s,clip-path .6s cubic-bezier(.2,.7,.2,1)}
.preview-image.is-front{opacity:1;clip-path:inset(0)}
.preview-image[hidden]{display:none}
.preview-failure{position:absolute;bottom:15px;left:15px;right:15px;background:#111d;padding:15px;font-size:12px;color:#fff}
.world-preview-title{display:flex;gap:22px;justify-content:space-between;align-items:flex-end;margin-top:28px}
.world-preview-title h2{font:400 clamp(27px,3vw,49px)/1.17 var(--serif);max-width:78%;letter-spacing:-.02em}
.world-preview-title .arrow-link{flex-shrink:0;font-size:10px;gap:15px;line-height:1.5}
.preview-credit{margin-top:20px;font-size:9px;min-height:44px}
.wheel-announcement{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.world-fallback-nav{display:flex;flex-wrap:wrap;gap:20px;margin:0 var(--gutter) 45px}
.world-ready .world-fallback-nav{display:none}
.world-collections{overflow:clip;padding:0 var(--gutter) 100px}
.page-worlds .world-panel{padding-top:55px;border-top:1px solid var(--line);scroll-margin-top:25px;margin-bottom:100px}
.world-ready .world-panel{margin-bottom:0}
.world-collection-heading{display:grid;grid-template-columns:1.4fr .6fr;align-items:end;gap:45px;margin-bottom:55px}
.world-collection-heading h2{font:400 clamp(31px,4.5vw,70px)/1.2 var(--serif)!important;margin:15px 0 0!important;animation:none!important}
.world-collection-heading .eyebrow{font-size:9px;opacity:.6}
.world-collection-heading>p{font-size:12px!important;max-width:300px;line-height:1.85;opacity:.7;justify-self:end}
.world-featured{display:grid;grid-template-columns:1.15fr .85fr;gap:55px 6vw;align-items:start}
.world-featured>.world-asset:first-child{grid-column:1/-1;width:84%;justify-self:center}
.world-featured>.world-asset:nth-child(3){margin-top:65px}
.world-asset{min-width:0;width:100%;justify-self:center;position:relative;isolation:isolate;max-width:var(--asset-width)}
.world-asset:before{content:'';position:absolute;inset:-25px -22px 20px;z-index:-1;background:radial-gradient(ellipse,var(--picture-a),transparent 67%);filter:blur(25px);opacity:0;transition:opacity .4s;pointer-events:none}
.world-asset:focus-within:before,.world-asset:hover:before{opacity:.4}
.world-image-link{display:block;position:relative;overflow:hidden;line-height:0}
.world-image-link img{width:100%;height:auto;object-fit:contain;animation:none!important}
.world-asset img[data-src]{display:none}
.world-ready .world-asset img[data-src]{display:block}
.world-image-open{position:absolute;bottom:12px;right:12px;background:#131a1e90;color:#fff;border:1px solid #ffffff60;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font:400 20px/1 var(--body);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
.world-image-link:hover .world-image-open,.world-image-link:focus-visible .world-image-open{opacity:1;transform:none}
.page-worlds .world-asset .image-credit{font-size:9px;margin-top:12px;opacity:.7;line-height:1.8}
.world-asset.small-original{max-width:min(var(--asset-width),700px)}
.world-gallery{margin-top:65px}
.world-gallery>summary{padding:24px 0;font-size:clamp(22px,2.7vw,38px)}
.world-gallery[open] .gallery-count{display:inline}
.world-gallery .gallery-count{font-size:10px}
.world-gallery-content{padding-top:40px}
.world-contact-group{margin-bottom:55px}
.world-sequence-label{display:flex;justify-content:space-between;font-size:9px;margin-bottom:25px;opacity:.65}
.world-contact-sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px;align-items:start}
.world-contact-sheet .world-asset:nth-child(3n+2){margin-top:24px}
.world-supplementary{border-top:1px solid var(--line);padding-top:45px;margin-top:60px}
.world-supplementary h3{font:400 33px/1.3 var(--serif)}
.world-supplementary>p{font-size:12px!important;opacity:.65;margin:15px 0 32px;max-width:650px}
.world-archive-total{font-size:11px!important;text-align:right;opacity:.6;margin-top:40px}
.world-back{margin-top:40px}
.world-loop-control{display:none!important;font-size:11px;display:inline-flex;gap:12px;align-items:center;margin-top:16px;cursor:pointer}
.world-loop-control input{accent-color:var(--ink)}
.world-viewer{inset:0;width:100vw;height:100dvh;max-width:100%;max-height:100%;margin:0;padding:22px 35px;border:0;background:#0c1014;color:#f1ede2;overflow:hidden;isolation:isolate}
.world-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px}
.world-viewer:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 15% 60%,var(--viewer-a),transparent 65%),radial-gradient(ellipse at 90% 50%,var(--viewer-b),transparent 65%);opacity:.27;pointer-events:none}
.world-viewer::backdrop{background:#0c1014f5}
.viewer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px}
.viewer-top>span:first-child{flex:1;font-family:var(--serif);font-size:22px}
.viewer-top .round-button{width:38px;height:38px}
.viewer-stage{min-height:0;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:25px;align-items:center;justify-items:center}
.viewer-stage img{height:auto;width:auto;max-width:100%!important;max-height:100%;object-fit:contain;grid-column:2;grid-row:1}
.viewer-stage img[hidden]{display:none}
.viewer-stage [data-viewer-error]{grid-column:2;grid-row:1;font-size:14px}
.viewer-prev{grid-column:1;grid-row:1}.viewer-next{grid-column:3;grid-row:1}
.viewer-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;font-size:10px;line-height:1.65;opacity:.8}
.viewer-bottom p{max-width:80%}.viewer-bottom a{white-space:nowrap;text-decoration:underline}
.world-ready.reduced .preview-image,.world-ready.reduced .world-preview-frame,.world-ready.reduced .world-asset:before{transition:none}
@media(max-width:1100px){.world-ready .world-selector{grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr);gap:35px}.wheel-item{font-size:25px;gap:12px}.wheel-item img{width:60px;height:40px}.world-preview-title{display:block}.world-preview-title h2{max-width:none}.world-preview-title .arrow-link{margin-top:15px}}
@media(max-width:760px){
 .page-worlds .world-intro{padding-top:125px;padding-bottom:35px}.page-worlds .world-intro .intro-split{grid-template-columns:1fr;gap:25px}.page-worlds .world-intro h1{font-size:clamp(33px,8.8vw,59px)}.page-worlds .world-intro .lead{font-size:12px}
 .world-ready .world-selector{grid-template-columns:1fr;gap:45px;padding-bottom:55px}.world-wheel{height:328px}.wheel-item{top:calc(50% - 30px);height:60px;font-size:25px;width:calc(100% - 36px);gap:14px}.wheel-item img{width:66px;height:42px}.wheel-center-line{top:calc(50% - 34px);height:68px;right:18px}.wheel-topline .eyebrow{font-size:8px}.wheel-quick{justify-content:space-between}.wheel-quick select{max-width:70%;font-size:10px}.wheel-controls p{font-size:9px}
 .world-preview-top{font-size:8px;margin-bottom:17px}.world-preview-title{display:flex;margin-top:20px;gap:15px;align-items:flex-end}.world-preview-title h2{max-width:65%;font-size:27px}.world-preview-title .arrow-link{font-size:9px;gap:12px;margin-top:0}.preview-credit{font-size:8px;min-height:0}.world-preview-aura{filter:blur(25px);inset:-20% -6%}.world-collections{padding-bottom:55px}.page-worlds .world-panel{padding-top:35px}.world-collection-heading{grid-template-columns:1fr;gap:20px;margin-bottom:32px}.world-collection-heading h2{font-size:36px!important}.world-collection-heading>p{justify-self:start;font-size:11px!important}
 .world-featured{gap:32px 20px;grid-template-columns:1fr 1fr}.world-featured>.world-asset:first-child{width:100%}.world-featured>.world-asset:nth-child(3){margin-top:35px}.page-worlds .world-asset .image-credit{font-size:8px;gap:8px;display:block}.world-asset .image-credit .asset-source{display:inline-block;margin-top:5px}.world-gallery{margin-top:40px}.world-gallery>summary{font-size:22px;gap:12px}.world-gallery .gallery-count{font-size:9px}.world-contact-sheet{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.world-contact-sheet .world-asset:nth-child(n){margin-top:0}.world-sequence-label .eyebrow{font-size:8px}.world-sequence-label{font-size:8px}.world-contact-group{margin-bottom:35px}.world-image-open{opacity:.8;width:26px;height:26px;font-size:17px;bottom:7px;right:7px}.world-supplementary h3{font-size:27px}
 .world-viewer{padding:16px;gap:14px!important}.viewer-top{font-size:10px;gap:12px}.viewer-top>span:first-child{font-size:18px}.viewer-stage{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 42px;gap:16px;height:100%}.viewer-stage img,.viewer-stage [data-viewer-error]{grid-column:1;grid-row:1}.viewer-prev,.viewer-next{grid-column:1;grid-row:2;width:38px;height:38px}.viewer-prev{justify-self:start}.viewer-next{justify-self:end}.viewer-bottom{font-size:9px;align-items:start;gap:15px}.viewer-bottom p{max-width:78%}
}
@media(max-width:380px){.world-featured,.world-contact-sheet{grid-template-columns:1fr}.world-featured>.world-asset:nth-child(n){margin-top:0}.world-preview-title{display:block}.world-preview-title h2{max-width:100%}.world-preview-title .arrow-link{margin-top:15px}}
@media(prefers-reduced-motion:reduce){.page-worlds,.page-worlds .preview-image,.page-worlds .world-preview-frame,.page-worlds .world-asset:before{transition:none}}

.world-ready .world-loop-control{display:inline-flex!important}

.page-worlds .gallery-open-count{display:none}.page-worlds .world-gallery[open] .gallery-open-count{display:inline}.page-worlds .world-gallery[open] .gallery-closed-count{display:none}
@media(max-width:760px){.page-worlds .world-asset .image-credit span{display:block;max-width:none}}

/* Two real places, one map loaded only on request. */
.page-worlds .location-section{color:#f1ede2;--muted:#b9c3c1;--line:#f1ede239;position:relative;isolation:isolate;overflow:hidden;background:#101719}
.location-atmospheres{position:absolute;inset:0;z-index:-1;pointer-events:none}
.location-atmospheres>div{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 10% 48%,color-mix(in srgb,var(--location-a) 25%,transparent),transparent 65%),radial-gradient(ellipse at 90% 85%,color-mix(in srgb,var(--location-b) 18%,transparent),transparent 70%);transition:opacity 450ms ease}
.location-atmospheres>div:first-child,.locations-ready .location-atmospheres>.active{opacity:1}
.locations-ready .location-atmospheres>div:not(.active){opacity:0}
.location-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:18px 60px;align-items:end;margin-bottom:42px}
.location-heading .eyebrow{grid-column:1/-1}.location-heading h2{font-size:clamp(36px,4.4vw,68px);line-height:1.06}.location-heading p:last-child{line-height:1.7;color:var(--muted)}
.location-options{display:none;gap:12px;margin-bottom:32px}.locations-ready .location-options{display:flex}
.location-options button{color:inherit;flex:1;text-align:left;border:1px solid var(--line);background:transparent;padding:18px 24px;font-family:inherit;font-size:20px;transition:background 450ms,border-color 450ms}
.location-options button span{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:8px;color:var(--muted)}
.location-options button[aria-pressed=true]{background:#ffffff0c;border-color:#efeee9a0}
.location-options button:focus-visible,.location-links a:focus-visible,.location-source:focus-visible{outline:2px solid #eee;outline-offset:5px}
.page-worlds .location-layout{grid-template-columns:1fr 1.1fr;gap:60px;align-items:start}
.location-stories article+article{margin-top:60px}.locations-ready .location-stories article+article{margin-top:0}
.locations-ready .location-stories article:not([hidden]){animation:location-enter 450ms ease both}
.location-picture{margin:0 0 28px}.location-picture img{width:100%;height:auto;display:block}.location-picture .image-credit{margin-top:12px;font-size:10px;line-height:1.5}
.location-region{font-size:10px}.location-stories h3{font-size:clamp(30px,3vw,46px);margin:14px 0 20px}.location-stories p:not(.eyebrow){line-height:1.7;max-width:60ch}.location-note{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:15px;margin-top:18px}.location-source{display:block;font-size:11px;text-decoration:underline;margin-top:18px;line-height:1.5}.location-links{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:20px}.location-links a{font-size:12px}.page-worlds .location-links .arrow-link{margin-top:0}
.location-map-column{display:none}.locations-ready .location-map-column{display:block}
.page-worlds .location-map-column .map-shell{height:420px;aspect-ratio:auto;background:#162322;border:1px solid var(--line)}
.page-worlds .location-map-column .map-button{color:#e6ebe3}.location-map-column .map-button:before{opacity:.12}.location-map-column .map-button[hidden]{display:none}.location-map-column .map-caption{line-height:1.6}
@keyframes location-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
body.reduced .location-atmospheres>div,body.reduced .location-options button{transition:none}body.reduced .location-stories article{animation:none}
@media(prefers-reduced-motion:reduce){.location-atmospheres>div,.location-options button{transition:none}.locations-ready .location-stories article{animation:none}}
@media(max-width:760px){.location-heading{display:block;margin-bottom:30px}.location-heading .eyebrow{margin-bottom:22px}.location-heading p:last-child{margin-top:20px}.location-options{gap:8px}.location-options button{padding:14px 12px;font-size:16px}.location-options button span{font-size:8px}.page-worlds .location-layout{grid-template-columns:1fr;gap:32px}.page-worlds .location-map-column .map-shell{height:320px}.location-links{gap:20px}}
