.gallery-youtube-cta{margin-top:36px}.gallery-albums{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.gallery-album-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 16px #0d456314}.gallery-album-media{aspect-ratio:4/3;background:#e8ecf4;display:block;overflow:hidden}.gallery-album-media img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.gallery-album-media:hover img{transform:scale(1.04)}.gallery-album-media--empty{color:#ffffffd9;font-family:var(--font-heading), "Nunito Sans", sans-serif;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(135deg,#052c41,#0d4563 55%,#1a5f82);place-items:center;font-size:.85rem;font-weight:600;display:grid}.gallery-album-body{flex-direction:column;flex:1;gap:8px;padding:20px 22px 24px;display:flex}.gallery-album-body h3{color:var(--primary-deep);margin:0;font-size:1.15rem}.gallery-album-body p{color:var(--ink-soft);margin:0}.gallery-album-meta{font-size:.9rem;font-weight:600;color:var(--primary)!important;margin:4px 0 0!important}.gallery-album-body .card-link{margin-top:auto;padding-top:10px}.gallery-album-back{margin:0 0 36px}.gallery-album-stage{flex-direction:column;gap:10px;display:flex}.gallery-album-count{color:var(--ink-soft);letter-spacing:normal;text-transform:none;margin:0;font-family:inherit;font-size:.9rem;font-weight:400}.gallery-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.gallery-thumb{appearance:none;cursor:zoom-in;aspect-ratio:3/4;background:#e8ecf4;border:0;border-radius:10px;margin:0;padding:0;overflow:hidden}.gallery-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.gallery-thumb:hover img{transform:scale(1.05)}.lightbox{z-index:80;place-items:center;padding:56px 24px 28px;display:grid;position:fixed;inset:0}.lightbox-backdrop{cursor:pointer;background:#05101aeb;border:0;position:absolute;inset:0}.lightbox-inner{z-index:1;place-items:center;gap:10px;max-width:calc(100vw - 48px);max-height:calc(100vh - 84px);display:grid;position:relative;overflow:visible}.lightbox-stage{justify-content:center;align-items:center;gap:6px;max-width:100%;max-height:calc(100vh - 110px);display:flex;overflow:visible}.lightbox-frame-col{flex-direction:column;align-items:stretch;min-width:0;max-width:min(880px,100vw - 120px);max-height:calc(100vh - 110px);display:flex;overflow:visible}.lightbox-frame{max-width:100%;max-height:calc(100vh - 110px);display:inline-grid;position:relative;overflow:visible}.lightbox-frame img{object-fit:contain;border-radius:8px;width:auto;max-width:min(880px,100vw - 120px);height:auto;max-height:calc(100vh - 110px);display:block;box-shadow:0 12px 40px #00000073}.lightbox-close,.lightbox-nav{appearance:none;color:#fff;cursor:pointer;z-index:3;box-shadow:none;text-shadow:0 2px 12px #0000008c;background:0 0;border:0;flex-shrink:0;place-items:center;font-weight:700;line-height:1;display:grid}.lightbox-close{letter-spacing:0;border-radius:0;width:40px;height:40px;font-size:2rem;font-weight:600;position:absolute;top:-10px;right:0;transform:translateY(-100%)}.lightbox-nav{align-self:center;width:36px;height:52px;margin-top:0;font-size:2.6rem;position:static;transform:none}.lightbox-chevron{width:22px;height:22px;display:block}.lightbox-nav-spacer{flex-shrink:0;width:36px;height:52px;margin-top:0}.lightbox-close:hover,.lightbox-nav:hover{color:#fff;opacity:.75;background:0 0}.lightbox-close:focus-visible,.lightbox-nav:focus-visible{outline-offset:4px;outline:2px solid #ffffffb3}.lightbox-count{color:#fff;text-align:center;text-shadow:0 1px 8px #0009;letter-spacing:.04em;margin:0;font-size:.95rem;font-weight:650}@media (max-width:980px){.gallery-albums{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}.lightbox{padding:max(52px, env(safe-area-inset-top,0px)) 8px max(20px, env(safe-area-inset-bottom,0px))}.lightbox-inner{max-width:calc(100vw - 16px);max-height:calc(100dvh - 72px)}.lightbox-stage{gap:2px;max-height:calc(100dvh - 100px)}.lightbox-frame-col{max-width:min(100%,100vw - 80px);max-height:calc(100dvh - 100px)}.lightbox-frame{max-width:100%;max-height:calc(100dvh - 100px)}.lightbox-frame img{max-width:min(100%,100vw - 80px);max-height:calc(100dvh - 100px)}.lightbox-close{width:44px;height:40px;font-size:1.85rem;top:-6px}.lightbox-nav,.lightbox-nav-spacer{width:36px;height:52px;font-size:2.1rem}}
