/* Continuous image field: no full-screen snap points, duplicated scenes or hidden slides. */
[hidden]{display:none!important}
.visual-gallery{--gallery-bg:#63685c;--gallery-fg:#e4e7d5;background:var(--gallery-bg);color:var(--gallery-fg);margin:0 calc(50% - 50vw) 66px;width:100vw;overflow:hidden;padding:31px 0 28px}
.gallery-top,.gallery-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(24px,4vw,72px)}
.gallery-top h2{font:500 10px/1.6 Arial,sans-serif;letter-spacing:.14em}.gallery-top p{font:12px/1.6 Georgia,serif;margin:0;color:#d0d4c2}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;scroll-snap-type:none;scrollbar-width:thin;scrollbar-color:#a1a58f #63685c;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;margin:10px 0 29px}
.gallery-viewport:focus-visible{outline:2px solid var(--lime);outline-offset:-3px}
.gallery-track{display:flex;align-items:flex-start;width:max-content;gap:clamp(65px,8vw,155px);padding:15px max(28px,5vw) 45px;min-height:650px}
.gallery-item{flex:none;width:clamp(360px,37vw,640px);margin-top:129px}.gallery-item:nth-child(4n+2){width:clamp(235px,25vw,410px);margin-top:15px}.gallery-item:nth-child(4n+3){width:clamp(280px,31vw,480px);margin-top:172px}.gallery-item:nth-child(4n+4){width:clamp(225px,25vw,420px);margin-top:58px}
.gallery-item a{display:block;user-select:none;-webkit-user-drag:none}.gallery-item .frame-label{display:block;font-size:9px;letter-spacing:.055em;line-height:1.55;margin-bottom:12px;color:#d4d8c6}.frame-name{display:flex;justify-content:space-between;gap:15px;font-size:17px;letter-spacing:-.45px;line-height:1.35;margin-top:16px;max-width:540px}.frame-name>span{color:var(--lime);font-size:22px}
.gallery-item .project-art,.gallery-item .method-cover,.gallery-item .glass-art{height:clamp(285px,29vw,450px);width:100%;transition:filter .35s;filter:saturate(.55)}.gallery-item:nth-child(4n+2) .project-art,.gallery-item:nth-child(4n+2) .method-cover,.gallery-item:nth-child(4n+2) .glass-art{height:clamp(230px,23vw,340px)}.gallery-item:nth-child(4n+4) .project-art,.gallery-item:nth-child(4n+4) .method-cover,.gallery-item:nth-child(4n+4) .glass-art{height:clamp(255px,25vw,355px)}.gallery-item a:hover>div,.gallery-item a:focus-visible>div{filter:saturate(1)}
.gallery-item .art-eyebrow{font-size:7px}.gallery-item .art-caption{font-size:6px}.gallery-item .swing-type{font-size:clamp(42px,5.3vw,75px)}.gallery-item .speech-type{font-size:clamp(38px,5vw,70px)}.gallery-item .method-title{font-size:clamp(35px,4.7vw,65px)}.gallery-item .method-subtitle{font-size:11px}.gallery-item:nth-child(4n+2) .method-title,.gallery-item:nth-child(4n+4) .method-title{font-size:clamp(30px,3.8vw,50px)}
.gallery-index{font:13px/1.5 Georgia,serif}.gallery-index span{margin-left:12px;color:var(--lime)}.gallery-controls{display:flex;align-items:center;gap:9px}.gallery-status{font-size:10px;letter-spacing:.07em;min-width:65px;font-variant-numeric:tabular-nums}.gallery-controls button{font:22px Arial,sans-serif;width:45px;height:40px;color:inherit;border:1px solid #999d89;background:transparent;cursor:pointer;transition:background .18s}.gallery-controls button:hover:not(:disabled){background:#777e62}.gallery-controls button:disabled{opacity:.3;cursor:default}.gallery-controls button:focus-visible{outline:2px solid var(--lime);outline-offset:4px}.is-dragging,.is-dragging a{cursor:grabbing}.is-dragging *{user-select:none!important}.gallery-item img{pointer-events:none;-webkit-user-drag:none}
@media(min-width:1600px){.gallery-track{min-height:725px}}
@media(max-width:760px){.visual-gallery{margin-bottom:45px;padding:25px 0}.gallery-top{display:block}.gallery-top p{font-size:11px;margin-top:10px}.gallery-track{gap:38px;padding:20px 24px 25px;min-height:465px}.gallery-item,.gallery-item:nth-child(4n+2),.gallery-item:nth-child(4n+3),.gallery-item:nth-child(4n+4){width:min(77vw,360px);margin-top:58px}.gallery-item:nth-child(even){margin-top:6px}.gallery-item .project-art,.gallery-item .method-cover,.gallery-item .glass-art,.gallery-item:nth-child(4n+2) .method-cover,.gallery-item:nth-child(4n+4) .method-cover,.gallery-item:nth-child(4n+4) .glass-art{height:270px}.gallery-item .method-title,.gallery-item:nth-child(4n+2) .method-title,.gallery-item:nth-child(4n+4) .method-title{font-size:36px}.gallery-item .swing-type{font-size:49px}.gallery-item .speech-type{font-size:46px}.frame-name{font-size:14px}.gallery-bottom{gap:10px;padding:0 24px}.gallery-index{font-size:11px;max-width:120px}.gallery-controls{gap:5px}.gallery-status{min-width:50px;font-size:9px}.gallery-controls button{width:36px;height:34px}.gallery-viewport{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.visual-gallery *{transition:none!important;animation:none!important}}
.gallery-photo{height:clamp(285px,29vw,450px);position:relative;overflow:hidden;background:#4e594f}.gallery-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.7);transition:filter .35s}.gallery-photo:hover img{filter:saturate(1)}.photo-note{position:absolute;bottom:10px;left:12px;background:#20251fcc;color:#f1f2e8;font:7px/1.4 Arial,sans-serif;padding:4px 6px;letter-spacing:.07em}.gallery-credits{margin:20px clamp(24px,4vw,72px) 0;max-width:750px}.gallery-credits summary{font:11px Georgia,serif;display:list-item;padding:0;border:0;list-style:disclosure-closed}.gallery-credits[open] summary{list-style:disclosure-open}.gallery-credits p{font-size:11px;line-height:1.7;margin:10px 0 0}.gallery-credits summary:after{display:none}@media(max-width:760px){.gallery-photo{height:270px}}
