/* Mechanical details stay at frames and controls. No scan layer over artwork. */
.station-selector button,.lab-nav button,.dock-launch,.filter-row button,.gallery-controls button{position:relative;transition:background .2s,color .2s,border-color .2s;clip-path:polygon(0 0,calc(100% - 9px) 0,100% 9px,100% 100%,9px 100%,0 calc(100% - 9px))}
.station-selector button[aria-pressed=true],.filter-row button[aria-pressed=true],.gallery-controls button[aria-pressed=true]{box-shadow:inset 3px 0 currentColor}.gallery-controls button{min-height:38px;padding:9px 15px}.gallery-controls button:hover{border-color:#1d7b80;background:#d6f4e9;color:#123e45}.lab-nav button[aria-selected=true]{box-shadow:inset 4px 0 #25b5b3}.station-selector button:focus-visible,.gallery-controls button:focus-visible{outline:2px solid #329ca0;outline-offset:3px}
.section-heading:after{content:'';width:48px;height:14px;flex-shrink:0;background:repeating-linear-gradient(120deg,transparent 0 6px,#378781 6px 9px);opacity:.65}.section-heading .eyebrow{border-left:3px solid #258184;padding-left:10px}
.nav nav a{position:relative}.nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#008b91;transform:scaleX(0);transform-origin:left;transition:transform .22s}.nav nav a:hover:after{transform:scaleX(1)}
.work-visual{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}.work-visual:before{content:'';position:absolute;inset:12px;z-index:2;pointer-events:none;background:linear-gradient(#c3fff0,#c3fff0) left top/28px 2px no-repeat,linear-gradient(#c3fff0,#c3fff0) left top/2px 28px no-repeat,linear-gradient(#c3fff0,#c3fff0) right bottom/28px 2px no-repeat,linear-gradient(#c3fff0,#c3fff0) right bottom/2px 28px no-repeat;opacity:0;transform:scale(.96);transition:opacity .25s,transform .35s}.work-card:is(:hover,:focus-visible) .work-visual:before{opacity:1;transform:scale(1)}.work-visual:after{border-radius:0;clip-path:polygon(0 0,100% 0,100% 75%,75% 100%,0 100%)}
.gallery-stage{position:relative;overflow:hidden;background:#1c333d;isolation:isolate;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 14px,100% 100%,14px 100%,0 calc(100% - 14px))}.gallery-stage .dialog-image{display:block}.gallery-corners{position:absolute;inset:10px;z-index:3;pointer-events:none;opacity:.65;background:linear-gradient(#a2f0df,#a2f0df) left top/22px 1px no-repeat,linear-gradient(#a2f0df,#a2f0df) left top/1px 22px no-repeat,linear-gradient(#a2f0df,#a2f0df) right bottom/22px 1px no-repeat,linear-gradient(#a2f0df,#a2f0df) right bottom/1px 22px no-repeat}
.gallery-stage:before,.gallery-stage:after{content:'';position:absolute;top:0;bottom:0;width:55%;z-index:2;pointer-events:none;background:#174b53;visibility:hidden}.gallery-stage:before{left:0;clip-path:polygon(0 0,100% 0,82% 100%,0 100%)}.gallery-stage:after{right:0;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);background:#287b7c}.gallery-stage.is-revealing:before{animation:shutter-left .48s cubic-bezier(.65,0,.2,1) both}.gallery-stage.is-revealing:after{animation:shutter-right .48s .035s cubic-bezier(.65,0,.2,1) both}.gallery-stage.is-revealing .dialog-image{animation:artwork-in .58s cubic-bezier(.16,1,.3,1) both}.gallery-caption{padding-left:10px;border-left:2px solid #2c8987;min-height:16px}
.station-lock-frame{position:absolute;inset:26px 24px;z-index:3;pointer-events:none;opacity:.5}.station-lock-frame i{position:absolute;width:34px;height:34px;border-color:#74d2cc;border-style:solid;border-width:0}.station-lock-frame i:nth-child(1){left:0;top:0;border-left-width:1px;border-top-width:1px;--dx:-14px;--dy:-14px}.station-lock-frame i:nth-child(2){right:0;top:0;border-right-width:1px;border-top-width:1px;--dx:14px;--dy:-14px}.station-lock-frame i:nth-child(3){left:0;bottom:0;border-left-width:1px;border-bottom-width:1px;--dx:-14px;--dy:14px}.station-lock-frame i:nth-child(4){right:0;bottom:0;border-right-width:1px;border-bottom-width:1px;--dx:14px;--dy:14px}.station-lock-frame.is-locking i{animation:corner-lock .6s cubic-bezier(.16,1,.3,1) both}.station-state{border-left:3px solid #9fe9dd;padding-left:12px}.station-intro.is-selecting .station-name{animation:label-in .42s cubic-bezier(.16,1,.3,1) both}.station-intro.is-selecting #station-description{animation:label-in .42s .07s cubic-bezier(.16,1,.3,1) both}
@keyframes shutter-left{0%{visibility:visible;transform:translateX(0)}100%{visibility:hidden;transform:translateX(-105%)}}@keyframes shutter-right{0%{visibility:visible;transform:translateX(0)}100%{visibility:hidden;transform:translateX(105%)}}@keyframes artwork-in{from{opacity:.4;transform:scale(1.025) translateX(10px)}to{opacity:1;transform:none}}@keyframes corner-lock{0%{opacity:.15;transform:translate(var(--dx),var(--dy))}65%{opacity:1}100%{opacity:.65;transform:none}}@keyframes label-in{from{opacity:.1;transform:translateX(16px)}to{opacity:1;transform:none}}
.motion-off .gallery-stage:before,.motion-off .gallery-stage:after{display:none}.motion-off .is-revealing .dialog-image,.motion-off .is-locking i,.motion-off .is-selecting>*{animation:none!important}
@media(prefers-reduced-motion:reduce){.gallery-stage:before,.gallery-stage:after{display:none}.is-revealing .dialog-image,.is-locking i,.is-selecting>*{animation:none!important}.work-visual:before,.nav nav a:after{transition:none}}
@media(max-width:700px){.station-lock-frame{inset:18px 12px}.station-lock-frame i{width:22px;height:22px}.gallery-controls button{min-height:44px}.section-heading:after{display:none}}
