/* ================================================================
   Gallery + Hover Peek + About Image
   ================================================================ */
.studio-peek{position:fixed;top:0;left:0;width:330px;height:230px;z-index:60;pointer-events:none;border-radius:14px;overflow:hidden;opacity:0;box-shadow:0 30px 80px rgba(0,0,0,.55)}
.studio-peek img{width:100%;height:100%;object-fit:cover}
body:not(.fine) .studio-peek{display:none}

.gallery{background:var(--ink);padding:clamp(64px,8vw,120px) 0;overflow:hidden;position:relative}
.gallery .gl-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;pointer-events:none}
.gallery .ghead{padding:0 5vw;margin-bottom:46px;display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap}
.gallery .ghead h2{font-family:var(--fd);font-weight:600;font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.045em;color:var(--paper);line-height:1}
.gallery .ghead p{color:rgba(250,246,239,.55);font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.grow{display:flex;gap:18px;width:max-content;will-change:transform}
.gplane{flex:0 0 auto;line-height:0}
.grow+.grow{margin-top:18px}
.grow img{height:clamp(150px,20vw,240px);width:auto;border-radius:12px;object-fit:cover;filter:grayscale(.45) brightness(.82);transition:filter .5s,transform .5s var(--ease)}
body.fine .grow img:hover{filter:grayscale(0) brightness(1);transform:scale(1.04)}
@keyframes gA{to{transform:translateX(-50%)}}
@keyframes gB{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.grow.a{animation:gA 44s linear infinite}.grow.b{animation:gB 52s linear infinite}

.about-img{border-radius:16px;overflow:hidden;margin-bottom:22px;aspect-ratio:16/10}
.about-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.95)}

@media(prefers-reduced-motion:reduce){.grow.a,.grow.b{animation:none}}
