/* Image-led detail viewer. Without JS, images and the open information panel flow normally. */
body.detail{background:#111311;max-width:none}
.gallery-header{position:absolute;inset:0 0 auto;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:20px 34px;color:#fff;pointer-events:none;text-shadow:0 1px 4px #0008}
.gallery-header:before{content:"";position:absolute;inset:0 0 auto;height:160px;background:linear-gradient(#000c,#0008 45%,transparent);pointer-events:none}
.gallery-header a{position:relative;pointer-events:auto;min-height:44px;display:inline-flex;align-items:center}.gallery-header .wordmark{margin-inline:auto}.gallery-header>a:last-child{font-size:12px;position:absolute;right:34px}
.gallery-frame{position:relative;margin:0;background:#111311;color:white}
.gallery-frame img{width:100%;height:auto}.gallery-frame figcaption{padding:14px 24px;font-size:12px;line-height:1.7}
.gallery-reflection{display:none}
.project-information{position:relative;inset:auto;margin:0;width:100%;max-width:none;border:0;padding:64px max(24px,8vw);color:var(--ink);background:var(--paper)}
.project-information h1{font-size:clamp(36px,5vw,72px);letter-spacing:-.06em;font-weight:500;line-height:1.05;margin:26px 0}
.project-summary{font-size:14px;line-height:1.8}
.gallery-next{display:block;border-top:1px solid var(--line);padding-top:24px;font-size:11px}.gallery-next span{display:block;font-size:26px;letter-spacing:-.04em;margin-top:16px}
.gallery-ready{overflow:hidden}
.gallery-ready .gallery-stage{position:relative;height:100svh;isolation:isolate;background:#111311;touch-action:pan-y pinch-zoom}
.gallery-ready .gallery-frame{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;visibility:hidden;transition:opacity .55s;pointer-events:none}
.gallery-ready .gallery-frame.is-current{opacity:1;visibility:visible;pointer-events:auto}
.gallery-ready .gallery-visual{position:relative;flex:none;width:min(100%,calc(100svh * var(--image-ratio)));aspect-ratio:var(--image-ratio)}
.gallery-ready .gallery-original{position:relative;display:block;width:100%;height:100%;object-fit:contain;z-index:1}
.gallery-ready .gallery-reflection{display:block;position:absolute;left:0;width:100%;height:100%;overflow:hidden;background:#111311;pointer-events:none}
.gallery-ready .gallery-reflection-top{bottom:100%}
.gallery-ready .gallery-reflection-bottom{top:100%}
.gallery-ready .gallery-reflection img{display:block;width:100%;height:100%;object-fit:contain;transform:scaleY(-1) scale(1.06);filter:blur(clamp(40px,6vw,96px));opacity:.32}
.gallery-ready .gallery-reflection:after{content:"";position:absolute;inset:0}
.gallery-ready .gallery-reflection-top:after{background:linear-gradient(to top,#11131133,#111311cc 18%,#111311 42%)}
.gallery-ready .gallery-reflection-bottom:after{background:linear-gradient(to bottom,#11131133,#111311cc 18%,#111311 42%)}
.gallery-ready .gallery-frame figcaption{display:none}
.gallery-chrome:before{content:"";position:fixed;inset:auto 0 0;height:240px;background:linear-gradient(transparent,#000b 45%,#000e);z-index:2;pointer-events:none}
.gallery-caption{position:fixed;left:34px;right:34px;bottom:114px;z-index:3;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;font-size:12px;line-height:1.5;letter-spacing:.04em;color:#fff;text-shadow:0 1px 4px #0008;pointer-events:none}
.gallery-caption>span:first-child{max-width:min(70%,560px)}
[data-frame-count]{white-space:nowrap;font-variant-numeric:tabular-nums}
.gallery-actions,.gallery-arrows{position:fixed;bottom:30px;z-index:4;display:flex;gap:8px}
.gallery-actions{left:34px}.gallery-arrows{right:34px}
.gallery-chrome button,.gallery-actions a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:10px 14px;border:1px solid #ffffff80;color:#fff;background:#111311d9;backdrop-filter:blur(8px);font-size:12px;cursor:pointer}
.gallery-chrome button:hover,.gallery-actions a:hover{background:#111311dd;border-color:white}
.gallery-header a:focus-visible,.gallery-chrome button:focus-visible,.gallery-actions a:focus-visible{outline:2px solid #fff;outline-offset:4px}
.gallery-thumbs{position:fixed;left:50%;bottom:31px;transform:translateX(-50%);display:flex;gap:7px;max-width:calc(100vw - 620px);overflow-x:auto;scrollbar-width:thin;padding:5px 3px;z-index:4}
.gallery-thumbs button{padding:0;min-width:52px;width:52px;height:36px;min-height:36px;border:1px solid transparent;background:#111;opacity:.6;position:relative;flex-shrink:0}
.gallery-thumbs button[aria-pressed="true"]{opacity:1;outline:1px solid white;outline-offset:2px}.gallery-thumbs img{width:100%;height:100%;object-fit:cover}.gallery-thumbs span{display:none}
.gallery-ready .project-information{position:fixed;inset:0 0 0 auto;width:min(520px,100%);height:100svh;max-height:none;margin:0;padding:75px 40px 40px;overflow-y:auto;overscroll-behavior:contain}
.project-information::backdrop{background:#0004;backdrop-filter:blur(6px)}
[data-info-close]{position:absolute;right:24px;top:20px;border:0;background:none;padding:10px;min-height:44px;cursor:pointer}
.gallery-ready .project-story{display:block;padding-block:36px}.gallery-ready .project-story dl{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:35px}.gallery-ready .story-copy>p{font-size:14px;line-height:1.9}
@media(max-width:900px){.gallery-chrome:before{height:285px}.gallery-thumbs{bottom:86px;max-width:calc(100vw - 48px)}.gallery-caption{bottom:144px}.gallery-actions{left:20px}.gallery-arrows{right:20px}.gallery-header{padding:22px}.gallery-caption{left:22px;right:22px}}
@media(max-width:500px){.gallery-actions,.gallery-arrows{bottom:20px;gap:5px}.gallery-chrome button,.gallery-actions a{font-size:10px;padding:8px 10px}.gallery-ready .project-information{padding:75px 25px 35px}.gallery-header .wordmark{font-size:25px}.gallery-header>a:last-child{font-size:11px}}
@media(max-height:480px){.gallery-header{padding:16px 22px}.gallery-caption{bottom:85px}.gallery-thumbs{bottom:21px;max-width:35vw}.gallery-actions,.gallery-arrows{bottom:18px}.gallery-actions a span{display:none}}
@media(prefers-reduced-motion:reduce){.gallery-ready .gallery-frame{transition:none}.project-information::backdrop{backdrop-filter:none}}

@media(max-width:500px){.gallery-header .wordmark{margin-inline:0}.gallery-header>a:last-child{right:22px}}
