.project-gallery .gallery-tabs{display:flex;gap:.75rem;flex-wrap:wrap;margin:1.75rem 0}.project-gallery .gallery-tab{border:1px solid #b1bfd8;background:#fff;color:#152448;border-radius:12px;padding:.8rem 1.1rem;min-height:48px;font-size:1rem;font-weight:700}.project-gallery .gallery-tab[aria-selected=true]{background:#183767;color:#fff;border-color:#183767}.project-gallery .gallery-tab span{margin-left:.5rem;font-size:.875rem;opacity:.8}.project-gallery .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}.project-gallery .gallery-photo{display:flex;flex-direction:column;width:100%;padding:0;text-align:left;background:#fff;color:#162138;border:1px solid #c7d1e3;border-radius:16px;overflow:hidden;cursor:zoom-in;font-size:1rem}.project-gallery .gallery-photo img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:0}.project-gallery .gallery-photo span{padding:1rem;line-height:1.5}.project-gallery .gallery-photo strong{display:block;font-size:1.0625rem;margin-bottom:.25rem}.project-gallery .gallery-photo small{display:block;font-size:.875rem;line-height:1.5;color:#596982}.project-gallery .gallery-video-card{max-width:960px;padding:1.25rem;border:1px solid #c7d1e3;border-radius:16px;background:#fff}.project-gallery .gallery-video-card h3{font-size:1.5rem}.project-gallery .gallery-video-card video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:10px;background:#101d36}.project-gallery .gallery-video-card p{font-size:1rem;margin:.75rem 0 0}.project-gallery .gallery-note{font-size:.9375rem;color:#596982;line-height:1.6;max-width:55rem}.gallery-viewer{width:min(1150px,calc(100% - 2rem));max-width:1150px;max-height:calc(100dvh - 2rem);padding:1rem;border:1px solid #4b6287;border-radius:16px;background:#0f1b32;color:#fff;overflow:auto}.gallery-viewer::backdrop{background:#07111fec}.gallery-viewer .gallery-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.gallery-viewer .gallery-toolbar button,.gallery-viewer .gallery-controls button{border:1px solid #7085ab;border-radius:10px;background:#1a2e51;color:#fff;min-height:46px;padding:.6rem 1rem;font-size:1rem}.gallery-viewer button:disabled{opacity:.45;cursor:default}.gallery-viewer figure{margin:0}.gallery-viewer img{display:block;width:100%;max-height:calc(100dvh - 14rem);object-fit:contain;border:0}.gallery-viewer figcaption{font-size:1rem;color:#e0e7f4;padding-top:1rem}.gallery-viewer .gallery-controls{display:flex;gap:.75rem;justify-content:space-between;margin-top:1rem}.gallery-viewer:focus-visible,.project-gallery button:focus-visible,.gallery-viewer button:focus-visible{outline:3px solid #d6a757;outline-offset:3px}@media(max-width:850px){.project-gallery .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.project-gallery .gallery-grid{grid-template-columns:minmax(0,1fr)}.project-gallery .gallery-tab{flex:1;padding:.8rem .6rem}.project-gallery .gallery-tabs{gap:.5rem}.project-gallery .gallery-video-card{padding:1rem}.gallery-viewer{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem);padding:.75rem}.gallery-viewer .gallery-controls button{flex:1}.gallery-viewer figcaption{font-size:.9375rem}.project-gallery .gallery-photo img{aspect-ratio:3/2}}

.project-gallery .gallery-video-card + .gallery-video-card{margin-top:1.5rem}.project-gallery .gallery-history-video video{aspect-ratio:auto;max-height:75dvh;object-fit:contain;background:#101d36}.project-gallery .gallery-history-video{max-width:640px}

.project-gallery .gallery-album-title{margin-top:2rem}.project-gallery .gallery-photo .gallery-crop{position:relative;display:block;width:100%;padding:0;overflow:hidden;border-bottom:1px solid #c7d1e3}.project-gallery .gallery-crop img{position:absolute;max-width:none;height:auto;aspect-ratio:auto;object-fit:initial;border:0}.project-gallery .gallery-photo-description{margin-top:auto}.gallery-image-frame{position:relative;overflow:hidden;margin:auto}.gallery-viewer .gallery-image-frame img{position:absolute;max-width:none;max-height:none;height:auto;object-fit:initial}
