/* Shared XMB atmosphere: every public route uses the owner's chosen palette. */
.xmb-site{--paper:var(--xmb-base);--ink:var(--xmb-fg);--muted:var(--xmb-muted);--line:transparent;--serif:'DM Sans',Arial,sans-serif;background:var(--xmb-base);color:var(--xmb-fg);font-family:'DM Sans',Arial,sans-serif}
.xmb-site>header{height:68px!important;padding:0 clamp(20px,2.5vw,48px);background:var(--xmb-base)!important;color:var(--xmb-fg);border:0;animation:none}.xmb-site>header:before,.xmb-site>header:after{display:none}.xmb-site .brand,.xmb-site header nav a,.xmb-site #menu{color:var(--xmb-fg)!important}.xmb-site header nav a:hover{color:var(--xmb-accent)!important;text-shadow:0 0 18px var(--xmb-glow)}.xmb-site footer{background:transparent;border:0;padding:28px clamp(20px,2.5vw,48px);color:var(--xmb-muted)}.xmb-active footer{display:none}.xmb-site #free-home,.xmb-site #journal-story{max-width:none}
.xmb-site main{background:radial-gradient(ellipse at 10% 35%,var(--xmb-haze),transparent 65%),linear-gradient(135deg,var(--xmb-top),var(--xmb-end));min-height:calc(100svh - 68px)}
.xmb-shell{--xmb-axis:128px;--xmb-category-step:124px;--xmb-row:90px;position:relative;isolation:isolate;overflow:hidden;height:calc(100svh - 68px);min-height:520px;padding:15px clamp(20px,2.5vw,48px) 16px;display:grid;grid-template-rows:18px 92px minmax(0,1fr) 36px;gap:10px;color:var(--xmb-fg)}
.xmb-atmosphere{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 74% 32%,var(--xmb-haze),transparent 60%);pointer-events:none}
.xmb-topline{display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:2px;color:var(--xmb-muted)}
/* The category rail moves through a fixed intersection, above the vertical works axis. */
.xmb-crossbar{position:relative;min-width:0;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.xmb-category-track{display:flex;align-items:center;width:max-content;height:100%;gap:0;transform:translateX(calc(var(--xmb-axis) - var(--xmb-category-step)/2 - var(--xmb-category-index,0)*var(--xmb-category-step)));transition:transform .7s cubic-bezier(.16,1,.3,1)}
.xmb-category-track button{flex:0 0 var(--xmb-category-step);position:relative;border:0;background:none;color:var(--xmb-muted);display:flex;align-items:center;flex-direction:column;gap:10px;cursor:pointer;padding:12px 4px;font:12px 'DM Sans',Arial,sans-serif;transition:color .5s,filter .6s}
.xmb-category-track svg{width:29px;height:29px;transition:transform .65s cubic-bezier(.16,1,.3,1)}.xmb-category-track small{position:absolute;top:10px;left:calc(50% + 24px);font-size:8px;color:var(--xmb-muted)}
.xmb-category-track [aria-selected=true]{color:var(--xmb-fg);filter:drop-shadow(0 0 10px var(--xmb-glow))}.xmb-category-track [aria-selected=true] svg{transform:scale(1.2)}.xmb-category-track button:hover{color:var(--xmb-fg)}
.xmb-site :focus-visible{outline:none;box-shadow:0 0 18px var(--xmb-glow);background-color:var(--xmb-haze)}
.xmb-stage{display:grid;grid-template-columns:clamp(300px,26vw,390px) minmax(0,1fr);gap:clamp(20px,2.5vw,48px);min-height:0;align-items:stretch}
.xmb-menu-column{min-height:0;display:grid;grid-template-rows:22px minmax(0,1fr) 92px;gap:8px}.xmb-group-note{font-size:10px;line-height:1.6;color:var(--xmb-muted);padding-left:20px}
.xmb-items{position:relative;min-height:0;overflow:hidden;mask-image:none}
.xmb-item-track{position:absolute;inset:0 0 auto;transform:translateY(calc(68px - var(--xmb-item-index,0)*var(--xmb-row)));transition:transform .7s cubic-bezier(.16,1,.3,1)}
.xmb-item-track button{position:relative;width:100%;height:var(--xmb-row);display:grid;grid-template-columns:80px minmax(0,1fr) 12px;align-items:center;gap:16px;text-align:left;padding:8px 8px 8px calc(var(--xmb-axis) - 40px);border:0;background:transparent;color:var(--xmb-muted);cursor:pointer;font:13px/1.4 'DM Sans',Arial,sans-serif;transition:color .5s,background .6s}
.xmb-item-track img{width:80px;height:60px;object-fit:cover;opacity:1;filter:none;transform:none;image-rendering:auto}.xmb-item-track small{font-size:17px;opacity:0}.xmb-item-track [aria-selected=true]{color:var(--xmb-fg);font-weight:500;text-shadow:0 0 18px var(--xmb-glow)}.xmb-item-track [aria-selected=true] small{opacity:1;color:var(--xmb-accent)}.xmb-item-track button:hover{color:var(--xmb-fg);background:var(--xmb-haze)}
.xmb-list-controls{display:flex;align-items:center;justify-content:center;gap:22px;color:var(--xmb-muted);font-size:10px;letter-spacing:1px}.xmb-list-controls small{display:block;font-size:9px;letter-spacing:0;line-height:1.9;margin-top:6px}.xmb-dpad{display:grid;grid-template-columns:30px 30px 30px;grid-template-rows:28px 28px 28px;gap:0}.xmb-dpad button{border:0;background:var(--xmb-haze);color:var(--xmb-fg);cursor:pointer;font-size:17px;border-radius:5px}.xmb-dpad button:hover{background:var(--xmb-glow)}.xmb-dpad button:disabled{opacity:.25;cursor:default}.xmb-dpad button:nth-child(1){grid-area:1/2}.xmb-dpad button:nth-child(2){grid-area:2/1}.xmb-dpad button:nth-child(3){grid-area:2/2;background:transparent;font-size:16px}.xmb-dpad button:nth-child(4){grid-area:2/3}.xmb-dpad button:nth-child(5){grid-area:3/2}
.xmb-feature{min-width:0;min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:16px}.xmb-photo-stage{position:relative;min-height:180px;border:0;background:var(--xmb-end);box-shadow:none}.xmb-photo-link{display:block;position:absolute;inset:0;overflow:hidden}.xmb-photo{width:100%;height:100%;object-fit:cover;display:block;transition:filter .7s}.xmb-photo-link:hover{box-shadow:0 0 30px var(--xmb-glow)}
.xmb-details{position:relative;padding:0 0 4px}.xmb-details>p:first-child{color:var(--xmb-muted);font-size:9px;letter-spacing:1.8px;margin:0 0 7px}.xmb-details h1{font:400 clamp(27px,2.8vw,46px)/1.08 'DM Sans',Arial,sans-serif;letter-spacing:-1px;margin:0 0 7px;overflow-wrap:anywhere}.xmb-description{font-size:11px;line-height:1.7;color:var(--xmb-muted);max-width:80%;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.xmb-open{display:inline-flex;align-items:center;gap:15px;color:var(--xmb-fg);font-size:11px;padding:8px 0;border:0;margin-top:5px}.xmb-open:hover{text-shadow:0 0 12px var(--xmb-glow)}
.xmb-bottom{display:flex;align-items:end;flex-wrap:wrap;justify-content:space-between;gap:12px;border:0;font-size:10px;color:var(--xmb-muted)}.xmb-bottom i{font-style:normal;padding:0 7px;opacity:.5}.xmb-bottom a{color:var(--xmb-fg)}
.xmb-wave{position:absolute;inset:auto -6% -5% -6%;height:65%;z-index:-1;pointer-events:none;opacity:.7}.xmb-wave svg{width:100%;height:100%;overflow:visible;animation:xmb-flow 19s ease-in-out infinite alternate}.xmb-wave path:first-child{fill:var(--xmb-haze);stroke:var(--xmb-wave);stroke-width:1}.xmb-wave path:last-child{fill:none;stroke:var(--xmb-wave);stroke-width:1.3}@keyframes xmb-flow{from{transform:translateX(-2%) scaleY(.8) rotate(-2deg)}to{transform:translateX(2%) scaleY(1.2) rotate(2deg)}}
/* Inner pages retain editable stories and full collections within the same design. */
.xmb-inner-nav{display:flex;gap:clamp(20px,4vw,65px);align-items:center;overflow:auto;padding:18px clamp(20px,2.5vw,48px);scrollbar-width:none}.xmb-inner-nav a{flex-shrink:0;display:flex;align-items:center;gap:9px;color:var(--xmb-muted);font-size:11px;padding:8px 0}.xmb-inner-nav svg{width:21px;height:21px}.xmb-inner-nav a:hover,.xmb-inner-nav [aria-current]{color:var(--xmb-fg);filter:drop-shadow(0 0 10px var(--xmb-glow))}
.xmb-site .collection,.xmb-site .journal-archive-head,.xmb-site .journal-archive-group,.xmb-site .journal-archive-films,.xmb-site .films>.wrap{width:calc(100% - clamp(40px,5vw,96px));max-width:none;margin-inline:auto}
.xmb-site .collection{padding:12px 0 40px}.xmb-site .collection-heading{padding:22px 0}.xmb-site .collection h1,.xmb-site .journal-archive-head h1,.xmb-site .films h2{font:400 clamp(32px,4vw,64px)/1.1 'DM Sans',Arial,sans-serif;letter-spacing:-1.5px;margin:12px 0}.xmb-site .eyebrow,.xmb-site .journal-eyebrow,.xmb-site .journal-group-heading>span{color:var(--xmb-muted)}
.xmb-site .collection .text-link,.xmb-site .subcollections a,.xmb-site .journal-index-nav a,.xmb-site .journal-text-link,.xmb-site .journal-story-nav,.xmb-site .outline{border:0!important;color:var(--xmb-fg)}.xmb-site .subcollections{margin-bottom:24px}.xmb-site .subcollections a{padding:9px 12px;color:var(--xmb-muted)}.xmb-site .subcollections a.active{background:var(--xmb-haze);color:var(--xmb-fg)}.xmb-site .gallery{column-gap:16px}.xmb-site .gallery button{margin-bottom:16px}.xmb-site .gallery img,.xmb-site .film img,.xmb-site .journal-archive-card img{filter:none!important;opacity:1;transform:none!important}
.xmb-site .journal-archive-head{padding:20px 0 32px}.xmb-site .journal-archive-head .journal-eyebrow{margin-top:24px}.xmb-site .journal-index-nav{margin-top:24px;gap:28px}.xmb-site .journal-archive-group{padding:25px 0 35px;border:0}.xmb-site .journal-group-heading{margin-bottom:20px}.xmb-site .journal-group-heading h2{font:400 clamp(27px,3vw,42px)/1.15 'DM Sans',Arial,sans-serif}.xmb-site .journal-archive-grid{gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.xmb-site .journal-archive-card img{aspect-ratio:4/3}.xmb-site .journal-archive-card h3,.xmb-site .film h3{font:400 18px/1.4 'DM Sans',Arial,sans-serif;margin:12px 0}.xmb-site .journal-archive-films{padding:20px 0 45px}.xmb-site .journal-archive-films h2{font:400 clamp(30px,4vw,60px)/1.1 'DM Sans',Arial,sans-serif}
.xmb-site .films{background:transparent;padding:20px 0 40px;min-height:0}.xmb-site .films .section-head{margin-bottom:25px}.xmb-site .film-grid{gap:24px 20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.xmb-site .play{border:0;color:white;background:#0006}.xmb-site .film small{color:var(--xmb-muted)}
.xmb-site .journal-story-nav{padding:16px 0;margin:0 clamp(20px,2.5vw,48px)}.xmb-site .journal-canvas{background:transparent!important;color:var(--xmb-fg);--free-serif:'DM Sans';--free-display:'DM Sans';--free-sans:'DM Sans'}.xmb-site .journal-canvas .free-text,.xmb-site .journal-canvas .free-button{color:var(--xmb-fg)!important;background:transparent!important;border:0!important}.xmb-site .journal-canvas .free-image img{transform:scale(var(--image-scale,1))!important}.xmb-site .journal-caption{background:var(--xmb-base);color:var(--xmb-fg)}.xmb-site .journal-caption small{color:var(--xmb-muted)}.xmb-site .journal-caption>span{font-family:'DM Sans',Arial,sans-serif}.xmb-site .psp-frame,.xmb-site .free-collection:after{display:none!important}.xmb-site :is(.free-image,.free-collection,.free-video,.journal-archive-card,.gallery button,.film .thumb):hover{outline:none;filter:none;box-shadow:0 0 28px var(--xmb-glow);transform:translateY(-3px)}
.xmb-site dialog{background:var(--xmb-base);color:var(--xmb-fg);padding:55px 56px 48px}.xmb-site dialog::backdrop{background:var(--xmb-base)}.xmb-site dialog :is(.close,.prev,.next,#caption){color:var(--xmb-fg)}
@media(min-width:1600px){.xmb-site .gallery{columns:4}}
@media(max-width:1000px) and (min-width:801px){.xmb-shell{--xmb-axis:80px;--xmb-category-step:110px}.xmb-stage{grid-template-columns:270px 1fr}.xmb-group-note{padding-left:0}.xmb-description{max-width:100%}.xmb-details h1{font-size:28px}}
@media(max-width:800px){.xmb-site>header{height:64px!important}.xmb-site header nav{top:64px;background:var(--xmb-base)!important;border:0}.xmb-site main{min-height:calc(100svh - 64px)}.xmb-shell{--xmb-axis:54px;--xmb-category-step:93px;--xmb-row:74px;height:auto;min-height:calc(100svh - 64px);padding:12px 18px 24px;grid-template-rows:14px 80px auto auto;gap:7px}.xmb-topline{font-size:7px;letter-spacing:1px}.xmb-topline>span:last-child{display:none}.xmb-category-track button{font-size:10px;gap:9px}.xmb-category-track svg{width:25px;height:25px}.xmb-stage{display:flex;flex-direction:column;gap:18px}.xmb-menu-column{grid-template-columns:minmax(0,1fr) 98px;grid-template-rows:16px 168px;gap:2px 8px}.xmb-group-note{grid-column:1/-1;padding-left:14px;font-size:9px}.xmb-items{grid-column:1;grid-row:2}.xmb-item-track{transform:translateY(calc(45px - var(--xmb-item-index,0)*var(--xmb-row)))}.xmb-item-track button{font-size:12px;gap:12px}.xmb-list-controls{grid-column:2;grid-row:2;flex-direction:column;gap:6px;font-size:8px}.xmb-list-controls small{display:none}.xmb-feature{display:flex;flex-direction:column;gap:13px}.xmb-photo-stage{height:clamp(240px,44svh,560px);min-height:0}.xmb-details h1{font-size:29px}.xmb-description{max-width:100%;font-size:11px}.xmb-bottom{padding-top:15px;font-size:9px}.xmb-bottom>span{display:none}.xmb-inner-nav{gap:25px;padding:14px 20px}.xmb-inner-nav a{font-size:10px;flex-direction:column;gap:7px}.xmb-site .journal-archive-grid{grid-template-columns:1fr 1fr;gap:15px}.xmb-site .journal-group-heading{grid-template-columns:25px 1fr}.xmb-site .journal-archive-card h3{font-size:15px}.xmb-site .gallery{columns:2;column-gap:10px}.xmb-site .gallery button{margin-bottom:10px}.xmb-site .film-grid{grid-template-columns:1fr 1fr;gap:22px 14px}.xmb-site .film h3{font-size:14px}.xmb-site .collection-heading{padding:18px 0}.xmb-site .journal-story-nav{font-size:10px}.xmb-site dialog{padding:55px 28px 48px}}
@media(prefers-reduced-motion:reduce){.xmb-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep a neighbouring category visible and focus on the image, without drawing a tile frame. */
.xmb-crossbar{overflow:visible;mask-image:none}.xmb-item-track button:focus-visible{background:transparent;box-shadow:none}.xmb-item-track button:focus-visible img{box-shadow:0 0 18px var(--xmb-glow)}
/* Continuous scroll drives a connected queue of cards, rather than hover timing. */
.xmb-crossbar{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-x;cursor:grab;overscroll-behavior-x:contain;scroll-padding-left:calc(var(--xmb-axis) - var(--xmb-category-step)/2)}.xmb-crossbar::-webkit-scrollbar,.xmb-items::-webkit-scrollbar{display:none}
.xmb-category-track{transform:none;transition:none;padding-left:calc(var(--xmb-axis) - var(--xmb-category-step)/2);padding-right:calc(100vw - var(--xmb-axis) - var(--xmb-category-step)/2 - clamp(40px,5vw,96px));box-sizing:content-box}.xmb-category-track button{opacity:var(--category-presence,1);transition:color .3s,filter .3s}.xmb-category-track [aria-selected=true]{filter:drop-shadow(0 0 10px var(--xmb-glow))}
.xmb-items{overflow-y:auto;overflow-x:hidden;scrollbar-width:none;overscroll-behavior-y:contain;touch-action:pan-y;cursor:grab;scroll-padding-top:68px;container-type:size}
.xmb-item-track{position:relative;inset:auto;transform:none;transition:none;padding-top:68px;padding-bottom:max(0px,calc(100cqh - 68px - var(--xmb-row)))}
.xmb-item-track button{display:block;padding:0;background:transparent;cursor:grab;scroll-snap-align:start;scroll-margin-top:0}.xmb-item-track button:hover{background:transparent}.xmb-tile-content{display:grid;grid-template-columns:80px minmax(0,1fr) 12px;gap:16px;align-items:center;height:100%;padding:8px 8px 8px calc(var(--xmb-axis) - 40px);transform-origin:var(--xmb-axis) center;transform:translateX(var(--tile-shift,0px)) scale(var(--tile-scale,1));will-change:transform;pointer-events:none}.xmb-tile-content img{filter:saturate(var(--tile-saturation,1));opacity:1;transition:none}.xmb-tile-content>span{opacity:var(--tile-label-opacity,1);transition:none}.xmb-tile-content small{opacity:var(--tile-label-opacity,.5)}.xmb-item-track [aria-selected=true] .xmb-tile-content small{opacity:1}
.xmb-crossbar.is-dragging,.xmb-items.is-dragging,.xmb-items.is-dragging button{cursor:grabbing;user-select:none}.xmb-category-track,.xmb-item-track{user-select:none}
@media(max-width:800px){.xmb-items{scroll-padding-top:45px}.xmb-item-track{padding-top:45px;padding-bottom:max(0px,calc(100cqh - 45px - var(--xmb-row)))}.xmb-tile-content{gap:12px}.xmb-category-track{padding-right:calc(100vw - var(--xmb-axis) - var(--xmb-category-step)/2 - 36px)}}
@media(prefers-reduced-motion:reduce){.xmb-tile-content{transform:none;will-change:auto}.xmb-tile-content img{filter:none}.xmb-category-track button{opacity:1}}
.xmb-site{transition:background-color .65s ease,color .4s ease}.xmb-site>header{transition:background-color .65s ease}.xmb-site dialog{transition:background-color .65s ease}
/* Cover Flow: front-facing selected photograph, angled neighbouring cards. */
html.xmb-document,.xmb-site{overscroll-behavior-x:none}.xmb-flow{position:absolute;inset:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:none;touch-action:pan-x;cursor:grab;isolation:isolate}.xmb-flow::-webkit-scrollbar{display:none}.xmb-flow-track{height:100%;display:flex;align-items:center;width:max-content;padding:18px var(--flow-edge);box-sizing:content-box;user-select:none;perspective:1100px;transform-style:preserve-3d}.xmb-flow-card{position:relative;display:block;flex:0 0 var(--flow-card);width:var(--flow-card);height:calc(100% - 36px);margin-right:var(--flow-overlap);transform:translateZ(var(--flow-depth,0px)) rotateY(var(--flow-turn,0deg));transform-style:preserve-3d;will-change:transform;outline:none;background:transparent;box-shadow:none;transition:none}.xmb-flow-card:last-child{margin-right:0}.xmb-flow-card img{width:100%;height:100%;object-fit:cover;filter:saturate(var(--flow-colour,1));pointer-events:none;user-select:none;transition:none}.xmb-flow-card:focus-visible{box-shadow:0 0 24px var(--xmb-glow);background:transparent}.xmb-flow.is-dragging,.xmb-flow.is-dragging a{cursor:grabbing}.xmb-photo-stage{background:transparent}
@media(max-width:800px){.xmb-flow-track{perspective:800px;padding-block:8px}.xmb-flow-card{height:calc(100% - 16px)}.xmb-photo-stage{height:clamp(260px,43svh,500px)}}
@media(prefers-reduced-motion:reduce){.xmb-flow-card{transform:none;will-change:auto}.xmb-flow-card img{filter:none}}
.xmb-flow-track{padding-block:0;box-sizing:border-box}.xmb-flow-card{height:92%}
.xmb-flow-track{perspective:none;transform-style:flat}.xmb-flow-card{transform:perspective(1000px) translateZ(var(--flow-depth,0px)) rotateY(var(--flow-turn,0deg));transform-style:flat}
.xmb-flow-card{transform:perspective(1000px) translateZ(var(--flow-depth,0px)) rotateY(var(--flow-turn,0deg)) scale(var(--flow-scale,1))}
