.gallery{padding:11vh 0 9vh;overflow:hidden}
.gallery h2{text-align:center;margin:0 auto 40px;padding:0 5vw}
.g-wrap{position:relative;height:clamp(400px,48vw,560px)}
.g-track{position:absolute;inset:0}
.g-slide{position:absolute;left:50%;top:50%;height:88%;aspect-ratio:4/5;margin:0;border-radius:24px;overflow:hidden;background:var(--tint);
  --x:0%;--s:1;transform:translate(-50%,-50%) translateX(var(--x)) scale(var(--s));
  transition:transform 0.9s cubic-bezier(.22,.61,.2,1),opacity 0.9s ease,box-shadow 0.9s ease;
  box-shadow:0 18px 40px -22px rgba(15,34,80,.4);opacity:0;pointer-events:none;will-change:transform,opacity}
.g-slide img{width:100%;height:100%;object-fit:cover;display:block}
.g-slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:60px 22px 22px;color:#fff;font:600 18px var(--font-h);background:linear-gradient(0deg,rgba(15,34,80,.8),transparent);opacity:0;transition:opacity 0.7s ease .3s}
.g-slide[data-pos="0"]{--x:0%;--s:1;opacity:1;z-index:3;box-shadow:0 40px 70px -30px rgba(15,34,80,.55);pointer-events:auto}
.g-slide[data-pos="0"] figcaption{opacity:1}
.g-slide[data-pos="1"]{--x:78%;--s:.78;opacity:.92;z-index:2}
.g-slide[data-pos="-1"]{--x:-78%;--s:.78;opacity:.92;z-index:2}
.g-slide[data-pos="2"]{--x:130%;--s:.6;opacity:0;z-index:1}
.g-slide[data-pos="-2"]{--x:-130%;--s:.6;opacity:0;z-index:1}
.g-slide.jump{transition:none}
.g-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line);background:rgba(255,255,255,.92);color:var(--ink);font-size:28px;line-height:1;cursor:pointer;display:grid;place-items:center;padding-bottom:3px;transition:background .2s,color .2s}
.g-arrow:hover{background:var(--brand);color:#fff;border-color:var(--brand)}
.g-prev{left:max(12px,3vw)}.g-next{right:max(12px,3vw)}
.g-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}
.g-dots button{width:8px;height:8px;border-radius:99px;border:0;background:#c3d2ea;cursor:pointer;padding:0;transition:width .5s,background .5s}
.g-dots button.on{width:28px;background:var(--brand)}
@media (max-width:700px){.g-slide[data-pos="1"]{--x:84%;--s:.74}.g-slide[data-pos="-1"]{--x:-84%;--s:.74}.g-arrow{width:38px;height:38px;font-size:24px}.g-wrap{height:430px}.g-slide figcaption{font-size:16px}}
@media (prefers-reduced-motion:reduce){.g-slide{transition:none}}