@keyframes photoFadeIn{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.header-section,.single-popup .popup-content .top-controls{display:flex;align-items:center;justify-content:space-between}.header-section{flex-wrap:wrap;gap:1.5rem;margin-bottom:3rem}.header-left h1{margin-bottom:.5rem;color:#ddcc8a;font-size:2.5rem;font-weight:700}.subtitle{color:#fff;font-size:1rem;margin:4px 0 0}.header-right{display:flex;flex-wrap:wrap;gap:.5rem}.filter-btn{padding:.6rem 1.5rem;background:#ddcc8a;color:#222;font-size:.95rem;font-weight:500;border:2px solid #ddcc8a;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.filter-btn.active,.filter-btn:hover{background:0 0;color:#ddcc8a;border:2px solid #ddcc8a}.section-gallery-grid h1{margin-bottom:0;color:#ddcc8a;font-size:2.5rem}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:.75rem;grid-auto-flow:dense}.photo-item{overflow:hidden;position:relative;background:#f1f5f9;box-shadow:0 4px 6px rgba(0,0,0,.1);border-radius:1rem;cursor:pointer;transition:all .3s ease}.photo-item:hover{transform:scale(1.02);box-shadow:0 10px 20px rgba(0,0,0,.2)}.photo-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,opacity .3s ease}.photo-item:hover img{transform:scale(1.1)}.photo-item::after{content:"";position:absolute;inset:0;opacity:0;background:linear-gradient(to top,rgba(0,0,0,.5),transparent);transition:opacity .3s ease}.photo-item:hover::after{opacity:1}.photo-item.large{grid-column:span 2;grid-row:span 2}.photo-item.tall{grid-row:span 2}.photo-item.wide{grid-column:span 2;grid-row:span 1}.photo-item.medium,.photo-item.small{grid-column:span 1;grid-row:span 1}.photo-item img[data-src]{opacity:0}.photo-item img.loaded{opacity:1}.hidden{display:none}#scrollTrigger{height:1px;margin-top:2rem}.single-popup .popup-content{display:grid;grid-template-rows:max-content 1fr max-content;gap:16px;width:100%;max-width:850px;max-height:750px}.single-popup .popup-content .top-controls{gap:24px}.single-popup .popup-content .top-controls .btn-close-popup{display:block;margin-left:auto;color:#fff;text-decoration:none}.single-popup .popup-content .top-controls .btn-close-popup .btn-icon{display:block;min-width:36px;max-width:36px;height:auto}.single-popup .popup-content .top-controls .btn-close-popup .btn-icon path{transition:stroke .3s}.single-popup .popup-content .top-controls .btn-close-popup:hover .btn-icon path{stroke:#ddcc8a}.single-popup .popup-content .img-wrapper{overflow:hidden;flex:1}.single-popup .popup-content .img-wrapper .popup-img-box{display:flex;align-items:center}.single-popup .popup-content .img-wrapper .popup-img-box .single-img{display:block;width:100%;background:rgb(33 40 53/50%);color:#fff;text-decoration:none;border-radius:16px}.single-popup .popup-content .img-wrapper .popup-img-box .single-img .img{display:block;width:auto;max-width:100%;height:auto;max-height:470px;margin:0 auto}.photo-item.animate-in{animation:photoFadeIn .5s ease forwards}@media (min-width:768px){.photo-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px;gap:1rem}}@media (min-width:1024px){.photo-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:1rem}}@media (max-width:640px){.header-section{flex-direction:column;align-items:flex-start}.header-left h1{font-size:2rem}.header-right{overflow-x:auto;width:100%;-webkit-overflow-scrolling:touch}.filter-btn{white-space:nowrap}.photo-grid{display:flex;flex-direction:column;gap:12px}.photo-item.large,.photo-item.medium,.photo-item.small,.photo-item.tall,.photo-item.wide{grid-column:auto;grid-row:auto}.photo-item{width:100%;height:250px}}@media all and (max-width:1600px){.single-popup .popup-content .bottom-controls .slider-navi-box .navi-label-box{gap:16px}.single-popup .popup-content .bottom-controls .slider-navi-box .navi-controls .single-control{min-width:54px;max-width:54px;min-height:40px;max-height:40px}}@media all and (max-width:576px){.single-popup .popup-content .bottom-controls .slider-navi-box{flex-direction:column-reverse}.single-popup .popup-content .bottom-controls .slider-navi-box .navi-label-box{justify-content:flex-start;width:100%}.single-popup .popup-content .bottom-controls .slider-navi-box .navi-controls{justify-content:space-between;width:100%}}