/* Studio gallery + about photo (home page) */
.studio-gallery{border-top:1px solid var(--line);overflow:hidden}
.sg{position:relative}
.sg-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px}
.sg-count{font:500 13px/1 var(--mono);letter-spacing:.12em;color:var(--muted)}
.sg-count b{color:var(--accent);font-weight:500}
.sg-controls{display:flex;gap:10px}
.sg-btn{width:46px;height:46px;display:grid;place-items:center;background:var(--surface);color:var(--text);border:1px solid var(--line);font:500 18px/1 var(--sans);cursor:pointer;transition:border-color .25s,background .25s,transform .25s}
.sg-btn:hover{border-color:var(--accent);background:var(--raised);transform:translateY(-2px)}
.sg-btn:focus-visible,.sg-open:focus-visible,.sg-track:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sg-track{display:flex;align-items:flex-start;gap:clamp(14px,2vw,26px);list-style:none;margin:0 calc(var(--gutter)*-1);padding:6px var(--gutter) 20px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.sg-track::-webkit-scrollbar{display:none}
.sg-track>li{flex:none;scroll-snap-align:center}
.sg-item{--h:clamp(380px,60vh,580px);width:min(calc(var(--h) * var(--ar)),calc(100vw - var(--gutter) * 2));margin:0;display:flex;flex-direction:column;gap:12px;transition:opacity .6s ease,transform .6s cubic-bezier(.2,.7,.2,1)}
.sg-item{opacity:.5;transform:scale(.965)}
.sg-item.is-active{opacity:1;transform:none}
.sg-open{position:relative;display:block;width:100%;padding:0;margin:0;border:1px solid var(--line);background:#0e0e0e;border-radius:4px;overflow:hidden;cursor:zoom-in;transition:border-color .3s,box-shadow .5s}
.sg-open img{display:block;width:100%;height:auto;aspect-ratio:var(--ar);object-fit:contain;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sg-open:after{content:"\2922";position:absolute;right:10px;top:10px;width:30px;height:30px;display:grid;place-items:center;background:#101010b8;color:var(--text);font-size:15px;border-radius:3px;opacity:.85;transition:opacity .3s,transform .3s}
.sg-item figcaption{display:flex;gap:12px;align-items:baseline;font:500 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted)}
.sg-item figcaption .n{color:var(--accent);letter-spacing:.1em;flex:none}
@media(hover:hover){.sg-open:hover{border-color:var(--accent);box-shadow:0 18px 40px #000a}.sg-open:hover img{transform:scale(1.04)}.sg-open:hover:after{opacity:1;transform:scale(1.1)}}
.sg-progress{height:2px;background:var(--line);margin-top:2px;overflow:hidden}
.sg-progress span{display:block;height:100%;background:var(--accent);transform-origin:0 50%;transform:scaleX(.14);transition:transform .25s ease-out}
.sg-js:not(.in) .sg-item{opacity:0;transform:translateY(34px)}
.sg-js.in:not(.ready) .sg-item{transition-delay:calc(var(--i) * 80ms)}
.sg-lb{position:fixed;inset:0;z-index:2000;background:#080808f2;display:flex;align-items:center;justify-content:center;padding:64px clamp(12px,6vw,96px) 28px;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility .35s}
.sg-lb.open{opacity:1;visibility:visible}
.sg-lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:14px;max-width:100%;transform:scale(.95);transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.sg-lb.open figure{transform:none}
.sg-lb img{display:block;max-width:100%;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px);width:auto;height:auto;object-fit:contain;border-radius:3px;box-shadow:0 30px 80px #000;transition:opacity .22s ease,transform .22s ease;touch-action:pan-y}
.sg-lb.swap img{opacity:0;transform:scale(.985)}
.sg-lb figcaption{font:500 13px/1.5 var(--mono);letter-spacing:.04em;color:var(--muted);text-align:center;max-width:70ch}
.sg-lb-count{position:absolute;left:clamp(16px,3vw,32px);top:22px;font:500 13px/1 var(--mono);letter-spacing:.12em;color:var(--muted)}
.sg-lb-count b{color:var(--accent);font-weight:500}
.sg-lb .sg-btn{position:absolute}
.sg-lb .sg-close{right:clamp(12px,3vw,28px);top:14px}
.sg-lb .sg-lprev{left:clamp(10px,2vw,28px);top:50%;margin-top:-23px}
.sg-lb .sg-lnext{right:clamp(10px,2vw,28px);top:50%;margin-top:-23px}
body.sg-lock{overflow:hidden}
@media(max-width:700px){
  .sg-btn{width:40px;height:40px;font-size:16px}
  .sg-controls{gap:8px}
  .sg-item{--h:min(112vw,470px);gap:10px}
  .sg-item figcaption{font-size:11px}
  .sg-toolbar{margin-bottom:14px}
  .sg-lb{padding:58px 10px 22px}
  .sg-lb .sg-lprev,.sg-lb .sg-lnext{display:none}
  .sg-lb figcaption{font-size:12px}
}
@media(prefers-reduced-motion:reduce){.sg-item,.sg-open img,.sg-lb,.sg-lb figure,.sg-lb img,.sg-progress span{transition:none!important}.sg-js:not(.in) .sg-item{transform:none}}
body.motion-paused .sg-item,body.motion-paused .sg-open img{transition:none}
.about-map{padding:0!important;border:0!important;border-radius:6px;background:none!important;box-shadow:0 22px 50px #0009;overflow:hidden;isolation:isolate;transform:none!important;width:min(100%,460px);transition:transform .6s cubic-bezier(.2,.7,.2,1),box-shadow .6s ease}
.about-map:before,.about-map:after{content:none!important;display:none!important;animation:none!important}
.about-map img{display:block;width:100%;height:auto;aspect-ratio:900/1198;object-fit:cover;border-radius:0;animation:none;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.about-map:hover{transform:translateY(-6px)!important;box-shadow:0 30px 60px #000c}.about-map:hover img{transform:scale(1.035)}}
@media(max-width:850px){.about-map{width:min(86%,380px)}}
@media(max-width:520px){.about-map{width:min(80%,320px)}}
/* infinite track, drag, side arrows */
.sg-stage{position:relative}
.sg-track{cursor:grab;user-select:none;-webkit-user-select:none}
.sg-track.dragging{cursor:grabbing;scroll-snap-type:none!important;scroll-behavior:auto}
.sg-open img{-webkit-user-drag:none;user-select:none}
.sg-track.dragging .sg-open{cursor:grabbing}
.sg-side{position:absolute;top:calc(50% - 34px);z-index:3;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#101010d9;color:var(--text);border:1px solid var(--line);font:500 22px/1 var(--sans);cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .25s,background .25s,transform .25s}
.sg-side:hover{border-color:var(--accent);background:var(--accent);color:#101010;transform:scale(1.08)}
.sg-side:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.sg-side-prev{left:calc(var(--gutter)*-1 + 12px)}
.sg-side-next{right:calc(var(--gutter)*-1 + 12px)}
@media(max-width:700px){.sg-side{display:none}.sg-track{cursor:auto}}
/* hint text sits above the controls, right-aligned with them */
.sg-toolbar{align-items:flex-end}
.sg-count{padding-bottom:16px}
.sg-right{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto}
.sg-hint{margin:0;font:500 10.5px/1.45 var(--mono);letter-spacing:.02em;color:var(--muted);text-align:right}
@media(max-width:700px){.sg-right{gap:6px}.sg-count{padding-bottom:12px}.sg-hint{font-size:9.5px;line-height:1.4;letter-spacing:0}}
.sg-right{align-items:center}
.sg-hint{text-align:center}
/* Dig through the records: heading stacked on the left like other sections, note on one line */
.works .note-sep{display:none}
@media(min-width:701px){
  .works .section-heading{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;text-align:left}
  .works .section-heading>div{display:block;width:100%;text-align:left}
  .works .section-heading .eyebrow{margin:0 0 8px}
  .works .section-heading h2{margin:0}
  .works .section-heading .section-note{text-align:left;margin:0;white-space:nowrap}
  .works .section-note br{display:none}
  .works .note-sep{display:inline}
}
@media(min-width:701px){.works .section-heading .section-note{margin:10px 0 0}.works .crate-toolbar{margin-top:20px}.works .crate-toolbar>span{font-size:clamp(11.5px,1.4vh,14px);letter-spacing:.01em}}
h3:empty{display:none}

/* v12 fixes */
@media(max-width:700px){.hero .eyebrow{display:none}}
.sg-item,.sg-item:not(.is-active){transform:none}
.sg-open{height:var(--h);display:flex;align-items:center;justify-content:center}
.sg-open img{width:100%;height:auto;max-height:100%;aspect-ratio:var(--ar);object-fit:contain}
.gear-item .gear-image img:not(.x){padding:16px 12px 4px}
.gear-item:not(.has-speaker) .gear-image>img{object-position:center bottom}
.gear-items .gear-open{display:flex;flex-direction:column}
.gear-items .gear-image{flex:none}
.gear-items .gear-caption{padding-top:10px}

/* v13 gear: same image box height for every item so captions line up */
#gear .gear-item .gear-image,#gear .gear-item.is-rack .gear-image{height:clamp(220px,18vw,260px)!important}
@media(max-width:700px){#gear .gear-item .gear-image,#gear .gear-item.is-rack .gear-image{height:200px!important}}
#gear .gear-open{justify-content:flex-start}

/* v14 gear: center images vertically in the equal-height box */
#gear .gear-item:not(.has-speaker) .gear-image>img{object-position:center center;padding:16px 12px}
