/* GestPoint page styles: gallery (loaded by its sections) */
body.gp-site .nav>a.active::after{transform:scaleX(1)}
body.gp-site .crumbs{display:flex;gap:10px;font-size:13px;font-weight:700;color:rgba(255,255,255,.7)}body.gp-site .crumbs a:hover{color:#fff}
body.gp-site .gl-hero{position:relative;color:#fff;overflow:hidden;padding-block:clamp(56px,8vw,120px);background:var(--gp-navy-deep)}
body.gp-site .gl-mosaic{position:absolute;inset:-10%;display:grid;grid-template-columns:repeat(6,1fr);gap:10px;transform:rotate(-6deg);opacity:.5}
body.gp-site .gl-mosaic div{border-radius:14px;overflow:hidden;aspect-ratio:4/5;animation:drift 30s linear infinite alternate}
body.gp-site .gl-mosaic div:nth-child(2n){animation-direction:alternate-reverse}
body.gp-site .gl-mosaic img{width:100%;height:100%;object-fit:cover}
@keyframes drift{to{transform:translateY(-60px)}}
body.gp-site .gl-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,44,.95) 0%,rgba(10,16,44,.82) 50%,rgba(10,16,44,.55) 100%)}
body.gp-site .gl-hero-in{position:relative;display:grid;gap:18px;justify-items:start}
body.gp-site .gl-h1{font-family:var(--gp-display);font-size:clamp(46px,6.6vw,92px);line-height:.98;font-weight:600}
body.gp-site .gl-h1 .line{display:block;overflow:hidden;padding-bottom:.06em}body.gp-site .gl-h1 .line>span{display:block;animation:lineUp 1.1s var(--gp-ease-out) both}body.gp-site .gl-h1 .line:nth-child(2)>span{animation-delay:.14s}
@keyframes lineUp{from{transform:translateY(105%)}}
body.gp-site .gl-h1 em{font-style:italic;color:var(--gp-sky-light)}
body.gp-site .gl-lead{font-size:clamp(16px,1.3vw,18px);color:rgba(255,255,255,.82);max-width:56ch}
body.gp-site .gl-stats{display:flex;gap:32px;flex-wrap:wrap;margin-top:8px}
body.gp-site .gl-stats b{font-family:var(--gp-display);font-size:44px;line-height:1;display:block;font-variant-numeric:lining-nums}
body.gp-site .gl-stats span{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
body.gp-site .albums{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(220px,22vw,280px);gap:16px;overflow-x:auto;padding-bottom:10px;scroll-snap-type:x mandatory;scrollbar-width:thin;margin-bottom:30px}
body.gp-site .album{all:unset;cursor:pointer;scroll-snap-align:start;position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/5;isolation:isolate;display:grid;align-content:end;color:#fff;transition:transform .5s var(--gp-ease-out)}
body.gp-site .album:hover{transform:translateY(-6px)}
body.gp-site .album img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform 1.2s var(--gp-ease-out)}
body.gp-site .album:hover img{transform:scale(1.08)}
body.gp-site .album::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 40%,rgba(12,19,50,.9))}
body.gp-site .album div{padding:18px;display:grid;gap:4px}
body.gp-site .album b{font-family:var(--gp-display);font-size:24px;line-height:1.1}
body.gp-site .album small{font-size:12px;font-weight:700;color:rgba(255,255,255,.75)}
body.gp-site .album.on{outline:3px solid var(--gp-sky);outline-offset:-3px}
body.gp-site .album:focus-visible{outline:3px solid var(--gp-sky);outline-offset:2px}
body.gp-site .gbar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px}
body.gp-site .chips{display:flex;flex-wrap:wrap;gap:8px}
body.gp-site .masonry{columns:4 260px;column-gap:14px}
body.gp-site .mitem{all:unset;cursor:pointer;display:block;break-inside:avoid;margin-bottom:14px;border-radius:18px;overflow:hidden;position:relative;animation:cardIn .6s var(--gp-ease-out) both;background:#DCE6F2;width:100%}
body.gp-site .mitem img{width:100%;height:auto;display:block;transition:transform 1.2s var(--gp-ease-out)}
body.gp-site .mitem:hover img{transform:scale(1.06)}
body.gp-site .mitem span{position:absolute;left:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--gp-navy);font-size:12px;font-weight:800;padding:6px 10px;border-radius:99px;opacity:0;transform:translateY(6px);transition:.35s var(--gp-ease-out)}
body.gp-site .mitem:hover span,body.gp-site .mitem:focus-visible span{opacity:1;transform:none}
@media (hover:none){body.gp-site .mitem span{opacity:1;transform:none}}
body.gp-site .gl-share{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);align-items:center}
body.gp-site .gl-share>div:first-child{display:grid;gap:18px}
@media (max-width:900px){body.gp-site .gl-share{grid-template-columns:1fr}}
body.gp-site .polaroids{position:relative;height:380px}
body.gp-site .polaroids figure{position:absolute;margin:0;background:#fff;padding:10px 10px 36px;border-radius:6px;box-shadow:0 30px 60px -30px rgba(31,42,94,.5);width:56%;transform:rotate(var(--gp-r));transition:transform .5s var(--gp-ease-out)}
body.gp-site .polaroids figure:hover{transform:rotate(0) scale(1.04);z-index:2}
body.gp-site .polaroids figure:nth-child(1){left:0;top:20px}body.gp-site .polaroids figure:nth-child(2){left:30%;top:0}body.gp-site .polaroids figure:nth-child(3){left:15%;top:130px}
body.gp-site .polaroids img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:3px}
body.gp-site .polaroids figcaption{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-family:var(--gp-display);font-style:italic;font-size:18px;color:var(--gp-navy)}
body.gp-site .gal-lb .lb-in{display:grid;gap:12px;justify-items:center;max-width:min(1100px,92vw)}
body.gp-site .gal-lb img{max-height:72vh!important;width:auto;max-width:100%}
body.gp-site .lb-thumbs{display:flex;gap:6px;overflow-x:auto;max-width:92vw;padding:4px}
body.gp-site .lb-thumbs button{all:unset;cursor:pointer;width:56px;height:42px;border-radius:6px;overflow:hidden;opacity:.5;flex:none;transition:opacity .3s}
body.gp-site .lb-thumbs button.on,body.gp-site .lb-thumbs button:hover{opacity:1;outline:2px solid #fff}
body.gp-site .lb-thumbs img{width:100%;height:100%;object-fit:cover;max-height:none!important;border-radius:0!important;transform:none!important}
body.gp-site .gal-lb .gl-nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;border:0;background:#fff;color:var(--gp-navy);font-size:30px;line-height:1;cursor:pointer}
body.gp-site .gal-lb .prev{left:20px;right:auto}body.gp-site .gal-lb .next{right:20px;left:auto}
