/* ================================================================
   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-2);padding:clamp(70px,9vw,130px) 0;overflow:hidden;position:relative}
.gallery::before{content:"";position:absolute;inset:-20%;z-index:0;background:
  radial-gradient(40% 50% at 20% 30%,rgba(247,92,54,.35),transparent 70%),
  radial-gradient(35% 45% at 80% 70%,rgba(252,142,0,.3),transparent 70%),
  radial-gradient(30% 40% at 50% 50%,rgba(106,3,26,.25),transparent 70%);
  -webkit-animation:galleryDrift 18s ease-in-out infinite alternate;animation:galleryDrift 18s ease-in-out infinite alternate;pointer-events:none}
.gallery::after{content:"";position:absolute;inset:-20%;z-index:0;background:
  radial-gradient(30% 40% at 70% 20%,rgba(252,142,0,.2),transparent 70%),
  radial-gradient(40% 50% at 30% 80%,rgba(247,92,54,.15),transparent 70%);
  -webkit-animation:galleryDrift2 22s ease-in-out infinite alternate;animation:galleryDrift2 22s ease-in-out infinite alternate;pointer-events:none}
@-webkit-keyframes galleryDrift{0%{-webkit-transform:translate(0,0) rotate(0deg)}100%{-webkit-transform:translate(3%,-2%) rotate(8deg)}}
@keyframes galleryDrift{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(3%,-2%) rotate(8deg)}}
@-webkit-keyframes galleryDrift2{0%{-webkit-transform:translate(0,0) rotate(0deg)}100%{-webkit-transform:translate(-2%,3%) rotate(-6deg)}}
@keyframes galleryDrift2{0%{transform:translate(0,0) rotate(0deg)}100%{transform:translate(-2%,3%) rotate(-6deg)}}
.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,.75);font-family:var(--fm);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.grow{display:inline-flex;gap:18px;flex-wrap:nowrap}
.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)}
@-webkit-keyframes gA{to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
@keyframes gA{to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}
@-webkit-keyframes gB{from{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
@keyframes gB{from{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}
.grow.a{-webkit-animation:gA 44s linear infinite;animation:gA 44s linear infinite}
.grow.b{-webkit-animation:gB 52s linear infinite;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{-webkit-animation:none;animation:none}.gallery::before,.gallery::after{-webkit-animation:none;animation:none}}
