/* GLCC mosaic galleries */
.glc-mosaic{display:grid;gap:14px;width:100%}
.glc-mosaic__tile{position:relative;display:block;overflow:hidden;border-radius:16px;background:#D6E6EE;isolation:isolate}
.glc-mosaic__tile img.glc-mosaic__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.glc-mosaic__tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(24,28,53,0) 45%,rgba(24,28,53,.55));opacity:0;transition:opacity .35s;z-index:1}
.glc-mosaic__zoom{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;background:#1290B8;display:flex;align-items:center;justify-content:center;transform:scale(.6);opacity:0;transition:transform .35s,opacity .35s;z-index:2}
.glc-mosaic__zoom svg{width:24px;height:24px;fill:#fff}
.glc-mosaic__tile:hover img.glc-mosaic__img,.glc-mosaic__tile:focus-visible img.glc-mosaic__img{transform:scale(1.07)}
.glc-mosaic__tile:hover::after,.glc-mosaic__tile:focus-visible::after{opacity:1}
.glc-mosaic__tile:hover .glc-mosaic__zoom,.glc-mosaic__tile:focus-visible .glc-mosaic__zoom{opacity:1;transform:scale(1)}
.glc-mosaic__tile:focus-visible{outline:3px solid #EE6A12;outline-offset:3px}
.glc-mosaic__tile.is-hidden{display:none}

/* Home: feature tile + tall tile + "view all" tile */
.glc-mosaic--home{grid-template-columns:repeat(4,1fr);grid-auto-rows:210px}
.glc-mosaic--home>.glc-mosaic__tile:nth-child(1){grid-column:span 2;grid-row:span 2}
.glc-mosaic--home>.glc-mosaic__tile:nth-child(4){grid-row:span 2}
.glc-mosaic__more::after{opacity:1;background:rgba(37,43,77,.78)}
.glc-mosaic__more:hover::after{background:rgba(18,144,184,.85)}
.glc-mosaic__more-label{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;padding:16px;color:#fff}
.glc-mosaic__more-label b{font-family:var(--glc-display);font-size:20px;font-weight:700}
.glc-mosaic__more-label b::after{content:" →"}
.glc-mosaic__more-label span{font-size:14px;opacity:.85}

/* Full grid (GLOKA): repeating rhythm of big and tall tiles */
.glc-mosaic--grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;grid-auto-flow:dense}
.glc-mosaic--grid>.glc-mosaic__tile:nth-child(7n+1){grid-column:span 2;grid-row:span 2}
.glc-mosaic--grid>.glc-mosaic__tile:nth-child(7n+5){grid-row:span 2}
.glc-mosaic__actions{display:flex;justify-content:center;margin-top:28px}
.glc-mosaic__load{font-family:var(--glc-sans);font-weight:600;font-size:14px;letter-spacing:1px;text-transform:uppercase;color:#fff;background:#252B4D;border:0;border-radius:999px;padding:15px 30px;cursor:pointer;transition:background .2s}
.glc-mosaic__load:hover{background:#EE6A12}

@media (max-width:1024px){
 .glc-mosaic--home,.glc-mosaic--grid{grid-auto-rows:170px}
}
@media (max-width:767px){
 .glc-mosaic{gap:10px}
 .glc-mosaic--home,.glc-mosaic--grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}
 .glc-mosaic--home>.glc-mosaic__tile:nth-child(4){grid-row:span 1}
 .glc-mosaic--home>.glc-mosaic__more{grid-column:span 2}
 .glc-mosaic--grid>.glc-mosaic__tile:nth-child(7n+1){grid-row:span 2}
 .glc-mosaic__tile{border-radius:12px}
}

/* Ribbon (GJO): slow auto-scroll, pauses on hover */
.glc-ribbon{overflow:hidden;width:100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.glc-ribbon__track{display:flex;width:max-content;animation:glc-ribbon 70s linear infinite}
.glc-ribbon:hover .glc-ribbon__track,.glc-ribbon:focus-within .glc-ribbon__track{animation-play-state:paused}
.glc-ribbon__set{display:flex;gap:16px;padding-right:16px}
.glc-ribbon .glc-mosaic__tile{width:340px;height:240px;flex:0 0 auto}
@keyframes glc-ribbon{to{transform:translateX(-50%)}}
@media (max-width:767px){.glc-ribbon .glc-mosaic__tile{width:240px;height:170px}}
@media (prefers-reduced-motion:reduce){.glc-ribbon{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.glc-ribbon__track{animation:none}.glc-ribbon__set[aria-hidden]{display:none}}

/* Galleries always span the full section width */
.elementor-widget-shortcode:has(.glc-mosaic),.elementor-widget-shortcode:has(.glc-ribbon){width:100%;max-width:100%;align-self:stretch}
