.gallery-page{background-color:var(--bg-offwhite);min-height:100vh;padding-top:80px}.gallery-page-header{background-color:var(--dark-slate);text-align:center;padding:3.5rem 0 3rem}.gallery-page-header .template-subtitle{color:var(--primary-teal-light);text-transform:uppercase;letter-spacing:3px;margin-bottom:.75rem;font-size:.75rem;font-weight:700;display:block}.gallery-page-title{font-family:var(--font-outfit), sans-serif;color:#fff;font-size:clamp(2rem,5vw,3.5rem);font-weight:700;line-height:1.15}.gallery-layout{align-items:flex-start;gap:2.5rem;padding:3rem 1.5rem;display:flex}.gallery-sidebar{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;flex:0 0 240px;padding:1.75rem 1.25rem;position:sticky;top:100px}.gallery-sidebar-title{text-transform:uppercase;letter-spacing:2px;color:var(--text-muted);border-bottom:1px solid #eee;margin-bottom:1.25rem;padding-bottom:.75rem;font-size:.75rem;font-weight:700}.gallery-nav-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.gallery-nav-btn{border-radius:var(--radius-sm);width:100%;color:var(--text-muted);cursor:pointer;transition:all var(--transition-base);text-align:left;font-size:.92rem;font-weight:600;font-family:var(--font-outfit), sans-serif;background:0 0;border:none;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.gallery-nav-btn svg{stroke:currentColor;transition:stroke var(--transition-base);flex-shrink:0}.gallery-nav-btn:hover{background:var(--teal-glow);color:var(--primary-teal)}.gallery-nav-btn.active{background:var(--primary-teal);color:#fff;box-shadow:var(--shadow-teal)}.gallery-content{flex:1;min-width:0}.masonry-grid{columns:3 260px;column-gap:1.25rem}.masonry-item{break-inside:avoid;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:zoom-in;margin-bottom:1.25rem;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden}.masonry-item:hover{box-shadow:var(--shadow-md);transform:translateY(-5px)}.masonry-item img{width:100%;height:auto;transition:transform .5s;display:block}.masonry-item:hover img{transform:scale(1.05)}.masonry-overlay{opacity:0;background:#05445e73;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:absolute;inset:0}.masonry-item:hover .masonry-overlay{opacity:1}.videos-section{width:100%}.videos-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.video-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;background:#fff;transition:transform .3s,box-shadow .3s;overflow:hidden}.video-card:hover{box-shadow:var(--shadow-md);transform:translateY(-6px)}.video-card--short .video-thumb-wrapper{aspect-ratio:9/16;max-height:320px}.video-thumb-wrapper{aspect-ratio:16/9;background:var(--dark-slate);width:100%;position:relative;overflow:hidden}.video-thumb{object-fit:cover;width:100%;height:100%;transition:transform .5s,filter .3s;display:block}.video-card:hover .video-thumb{filter:brightness(.6);transform:scale(1.06)}.video-play-overlay{background:#05445e40;justify-content:center;align-items:center;transition:background .3s;display:flex;position:absolute;inset:0}.video-card:hover .video-play-overlay{background:#05445e8c}.video-play-btn{background:var(--primary-teal);width:56px;height:56px;transition:transform .3s var(--ease-bounce), box-shadow .3s ease;border-radius:50%;justify-content:center;align-items:center;display:flex;transform:scale(.85);box-shadow:0 4px 20px #189ab480}.video-card:hover .video-play-btn{transform:scale(1);box-shadow:0 8px 32px #189ab4a6}.video-badge{background:var(--primary-teal);color:#fff;letter-spacing:1.5px;text-transform:uppercase;border-radius:4px;padding:3px 8px;font-size:.65rem;font-weight:700;position:absolute;top:10px;left:10px}.video-card-info{padding:1rem 1.25rem 1.2rem}.video-card-title{color:var(--text-dark);margin-bottom:.4rem;font-size:.95rem;font-weight:700;line-height:1.4}.video-card-cta{color:var(--primary-teal);letter-spacing:.02em;font-size:.8rem;font-weight:600;transition:letter-spacing .2s}.video-card:hover .video-card-cta{letter-spacing:.06em}.lightbox-overlay{z-index:9999;opacity:0;pointer-events:none;background:#000000eb;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.lightbox-overlay.active{opacity:1;pointer-events:auto}.lightbox-content{max-width:90vw;max-height:90vh;position:relative}.lightbox-content img{object-fit:contain;border-radius:4px;max-width:100%;max-height:90vh}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:2.8rem;line-height:1;transition:color .2s,transform .2s;position:absolute;top:-44px;right:0}.lightbox-close:hover{color:var(--primary-teal-light);transform:rotate(90deg)}.video-modal-overlay{z-index:9999;opacity:0;pointer-events:none;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;width:100vw;height:100vh;padding:1rem;transition:opacity .3s;display:flex;position:fixed;top:0;left:0}.video-modal-overlay.active{opacity:1;pointer-events:auto}.video-modal-content{width:100%;max-width:860px;animation:scale-in .3s var(--ease-smooth) both;position:relative}.video-modal-content--short{max-width:400px}.video-modal-close{position:absolute;top:-44px;right:0}.video-modal-player{aspect-ratio:16/9;border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow-lg);background:#000;position:relative;overflow:hidden}.video-modal-content--short .video-modal-player{aspect-ratio:9/16;max-height:75vh}.video-modal-player iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.video-modal-title{color:#ffffffbf;text-align:center;margin-top:1rem;font-size:.9rem;font-weight:500}@media (max-width:900px){.gallery-layout{flex-direction:column;padding:2rem 1rem}.gallery-sidebar{flex-direction:column;flex:none;width:100%;display:flex;position:static}.gallery-nav-list{flex-direction:row;gap:.75rem}.gallery-nav-btn{flex:1;justify-content:center}.masonry-grid{columns:2 200px;column-gap:1rem}.masonry-item{margin-bottom:1rem}}@media (max-width:600px){.masonry-grid{columns:1 100%}.videos-grid{grid-template-columns:1fr}.video-modal-content--short{max-width:90vw}}
