
.water-gallery{margin:0;background:var(--abyss,#061e24);color:var(--ice,#dbefed);font-family:'Newsreader',Georgia,serif}
.water-gallery *,.water-exhibition-feature *{box-sizing:border-box}
.wex-wrap{width:min(1180px,calc(100% - 48px));margin:auto}
.wex-nav{display:flex;justify-content:space-between;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}
.wex-nav a,.wex-label,.wex-controls,.wex-count,.wex-filter,.wex-meta,.wex-link{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em}
.wex-nav a,.wex-link{color:var(--spring);text-decoration:none}
.wex-nav a:hover,.wex-link:hover{text-decoration:underline}
.wex-intro{padding:80px 0 48px;display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:end}
.wex-label{color:var(--spring);text-transform:uppercase;line-height:1.8;margin:0 0 20px}
.wex-intro h1{font:400 clamp(44px,6.8vw,86px)/1.05 'Fraunces',Georgia,serif;letter-spacing:-.04em;margin:0}
.wex-intro h1 em{font-weight:300;color:var(--spring)}
.wex-intro p:not(.wex-label){font-size:20px;line-height:1.6;margin:0 0 16px;color:var(--mist)}
.wex-intro strong{color:var(--ice);font-weight:500}
.wex-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:20px 0;border-top:1px solid var(--line);margin-bottom:20px}
.wex-filters{display:flex;flex-wrap:wrap;gap:8px}
.wex-filter,.wex-controls button,.wex-viewer button,.wex-map-button{cursor:pointer;color:var(--ice);background:var(--deep,#092730);border:1px solid var(--line,rgba(148,187,188,.2));border-radius:99px;min-height:44px;padding:10px 17px;font:12px 'IBM Plex Mono',monospace}
.wex-filter[aria-pressed=true]{color:var(--abyss);background:var(--spring);border-color:var(--spring)}
.wex-count{color:var(--mist)}
.wex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 22px}
.wex-card{margin:0;min-width:0}
.wex-card[hidden]{display:none}
.wex-card:first-child{grid-column:span 2;grid-row:span 2}
.wex-photo-link{display:block;position:relative;overflow:hidden;background:var(--deep);text-decoration:none}
.wex-photo-link:after{content:'View photograph ↗';position:absolute;right:14px;bottom:14px;padding:9px 12px;background:rgba(6,30,36,.85);color:#dbefed;font:10px 'IBM Plex Mono',monospace;border:1px solid rgba(219,239,237,.25);border-radius:30px;opacity:0;transition:opacity .3s}
.wex-photo-link:hover:after,.wex-photo-link:focus-visible:after{opacity:1}
.wex-photo-link img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;transition:transform 1.5s cubic-bezier(.2,.6,.2,1)}
.wex-card:first-child .wex-photo-link img{aspect-ratio:1/1}
.wex-photo-link:hover img{transform:scale(1.025)}
.wex-card figcaption{padding:15px 0 0}
.wex-card h2{font:400 clamp(21px,2.3vw,29px)/1.2 'Fraunces',Georgia,serif;margin:0 0 9px;letter-spacing:-.025em}
.wex-card .wex-place{font:11px/1.7 'IBM Plex Mono',monospace;color:var(--mist);margin:0}
.wex-pin{display:inline-block;width:6px;height:6px;vertical-align:middle;border-radius:50%;background:var(--spring);box-shadow:0 0 0 4px rgba(97,217,197,.09);margin-right:8px}
.wex-notes{margin:64px 0 0;padding:30px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:40px;color:var(--mist);font-size:16px;line-height:1.7}
.wex-notes h2{font:400 24px 'Fraunces',Georgia,serif;color:var(--ice);margin:0 0 12px}
.wex-notes p{margin:0 0 12px}
.wex-footer{padding:30px 0 45px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;color:var(--mist);font:11px/1.8 'IBM Plex Mono',monospace}
.wex-viewer{background:#061b21;color:var(--ice);border:1px solid var(--line);padding:0;width:min(1360px,calc(100vw - 40px));max-width:none;max-height:94dvh;overflow:auto;border-radius:8px}
.wex-viewer::backdrop{background:rgba(1,11,16,.92);backdrop-filter:blur(12px)}
.wex-viewer-top{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}
.wex-viewer-top p{margin:0;font:11px 'IBM Plex Mono',monospace;color:var(--mist)}
.wex-viewer-top div{display:flex;gap:6px}
.wex-viewer-body{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start}
.wex-viewer-image{display:block;width:100%;height:min(76dvh,800px);object-fit:contain;background:#030f14}
.wex-viewer-info{padding:25px}
.wex-viewer h2{font:400 32px/1.12 'Fraunces',Georgia,serif;margin:0 0 18px}
.wex-viewer-description{font:18px/1.5 'Newsreader',Georgia,serif;color:var(--ice)}
.wex-viewer-location{font:12px/1.7 'IBM Plex Mono',monospace;color:var(--spring);margin:22px 0 12px}
.wex-meta{font-size:10px;line-height:1.8;color:var(--mist);overflow-wrap:anywhere;margin:16px 0}
.wex-map-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.wex-map-frame{width:100%;height:210px;border:1px solid var(--line);margin-top:18px;background:var(--deep)}
.wex-viewer [hidden]{display:none!important}
.wex-viewer a{color:var(--spring)}
.wex-map-note{font-size:13px;line-height:1.5;color:var(--mist);margin:13px 0 0}
.water-exhibition-feature{padding:70px 0;background:radial-gradient(ellipse at 70% 25%,rgba(24,99,102,.13),transparent 66%)}
.wex-feature-heading{display:flex;gap:35px;justify-content:space-between;align-items:end;margin:0 0 26px}
.wex-feature-heading h2{font:400 clamp(32px,4vw,48px)/1.12 'Fraunces',Georgia,serif;margin:0;letter-spacing:-.03em}
.wex-feature-heading p:not(.wex-label){max-width:330px;color:var(--mist);font:18px/1.55 'Newsreader',Georgia,serif;margin:0}
.wex-stage{position:relative;aspect-ratio:16/9;isolation:isolate;overflow:hidden;background:var(--deep);border:1px solid var(--line)}
.wex-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease;pointer-events:none;overflow:hidden}
.wex-slide.is-active{opacity:1;z-index:1;pointer-events:auto}
.wex-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.025);animation-play-state:paused}
.wex-slide.is-active img{animation:wex-drift 12s linear both;animation-play-state:paused}
.wex-stage.is-playing .wex-slide.is-active img{animation-play-state:running}
.wex-stage.is-paused .wex-slide img{animation-play-state:paused}
@keyframes wex-drift{from{transform:scale(1.025) translate3d(-.25%,.1%,0)}to{transform:scale(1.075) translate3d(.4%,-.4%,0)}}
.wex-stage:after{content:'';pointer-events:none;position:absolute;inset:0;z-index:2;box-shadow:inset 0 0 70px rgba(4,24,28,.12);background:linear-gradient(180deg,transparent 60%,rgba(3,18,25,.4))}
.wex-stage-badge{position:absolute;top:18px;left:20px;z-index:3;background:rgba(6,30,36,.72);backdrop-filter:blur(10px);color:var(--ice);padding:9px 12px;border:1px solid rgba(219,239,237,.2);font:10px 'IBM Plex Mono',monospace;letter-spacing:.1em}
.wex-feature-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}
.wex-feature-caption strong{display:block;font:400 25px 'Fraunces',Georgia,serif;margin-bottom:8px}
.wex-feature-caption span{font:11px 'IBM Plex Mono',monospace;color:var(--mist)}
.wex-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.wex-controls button:hover,.wex-viewer button:hover{border-color:var(--spring)}
.wex-progress{height:2px;background:rgba(148,187,188,.2);overflow:hidden;margin-top:-2px}
.wex-progress span{display:block;width:0;height:100%;background:var(--spring)}
.wex-feature-bottom{display:flex;justify-content:space-between;gap:20px;margin-top:23px;align-items:center}
.wex-feature-bottom p{margin:0;font:12px/1.6 'IBM Plex Mono',monospace;color:var(--mist)}
.wex-link{display:inline-block;min-height:44px;align-content:center}
.water-gallery a:focus-visible,.water-gallery button:focus-visible,.water-exhibition-feature a:focus-visible,.water-exhibition-feature button:focus-visible{outline:2px solid var(--spring);outline-offset:5px}
@media(max-width:900px){.wex-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wex-card:first-child{grid-column:span 2;grid-row:auto}.wex-card:first-child .wex-photo-link img{aspect-ratio:16/9}.wex-intro{gap:30px}.wex-viewer-body{grid-template-columns:1fr}.wex-viewer-image{height:auto;max-height:65dvh}.wex-viewer-info{padding:22px}.wex-map-frame{max-width:500px}}
@media(max-width:600px){.wex-wrap{width:calc(100% - 36px)}.wex-intro{display:block;padding:48px 0 28px}.wex-intro h1{margin-bottom:25px}.wex-intro p:not(.wex-label){font-size:18px}.wex-nav{padding:18px 0}.wex-nav a{font-size:9px}.wex-grid{gap:24px 14px}.wex-card h2{font-size:21px}.wex-card .wex-place{font-size:10px}.wex-notes{grid-template-columns:1fr;gap:20px;margin-top:40px}.wex-feature-heading{display:block}.wex-feature-heading p:not(.wex-label){margin-top:18px}.water-exhibition-feature{padding:48px 0}.wex-stage{aspect-ratio:4/3}.wex-feature-footer{align-items:start;flex-direction:column}.wex-feature-bottom{align-items:start;flex-direction:column;gap:10px}.wex-viewer{width:calc(100vw - 16px);max-height:96dvh}.wex-viewer-top{gap:12px}.wex-viewer-top p{font-size:10px}.wex-viewer button{padding:10px 12px}.wex-stage-badge{top:12px;left:12px;font-size:9px}.wex-toolbar{align-items:start}.wex-filter{padding:10px 13px;font-size:10px}.wex-photo-link:after{display:none}}
@media(prefers-reduced-motion:reduce){.wex-slide{transition:none}.wex-slide img{animation:none;transform:none}.wex-photo-link img{transition:none}.wex-photo-link:hover img{transform:none}.wex-viewer::backdrop{backdrop-filter:none}}

.wex-viewer-top{position:sticky;top:0;z-index:4;background:#061b21}
.water-gallery .skip-link{position:fixed;top:10px;left:14px;z-index:20;padding:12px 18px;background:var(--ice);color:var(--abyss);transform:translateY(-180%)}
.water-gallery .skip-link:focus{transform:translateY(0)}
.wex-viewer{margin:auto}
.water-exhibition-feature>.wrap{width:min(1060px,calc(100% - 40px));margin-inline:auto}
#atlas .atlas.atlas-end{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){#atlas .atlas.atlas-end{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#atlas .atlas.atlas-end{grid-template-columns:1fr}}



.wex-place-filter{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font:11px 'IBM Plex Mono',monospace;color:var(--mist);margin:0 0 24px}
.wex-place-filter select{max-width:100%;min-height:44px;padding:10px 32px 10px 14px;color:var(--ice);background:var(--deep);border:1px solid var(--line);border-radius:5px;font:12px 'IBM Plex Mono',monospace}
.wex-place-filter select:focus-visible{outline:2px solid var(--spring);outline-offset:3px}
.wex-empty{padding:36px 0;color:var(--mist);font-size:18px}
.wex-empty[hidden]{display:none}
.wex-empty button{margin-top:16px}
