.page-header{background:#0d1b3e;padding:64px 5% 56px;position:relative;overflow:hidden}.page-header-bg{position:absolute;inset:0;background:linear-gradient(135deg,#0d1b3e,#162d5e,#0d1b3e);opacity:.9}.page-header-pattern{position:absolute;inset:0;background-image:radial-gradient(circle at 20% 50%,rgba(240,192,64,.06) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(26,86,219,.08) 0%,transparent 40%)}.page-header-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto}.breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:20px}.breadcrumb a{color:#6b8dba;font-size:12px;text-decoration:none;transition:color .15s}.breadcrumb a:hover{color:#f0c040}.breadcrumb span{color:#3a5070;font-size:12px}.page-header h1{font-family:Playfair Display,serif;font-size:clamp(36px,5vw,58px);font-weight:700;color:#fff;line-height:1.1;letter-spacing:-1.5px;margin-bottom:14px}.page-header h1 em{font-style:italic;color:#f0c040}.page-header-sub{font-size:15px;color:#6b8dba;font-weight:300;max-width:520px;line-height:1.7}.page-header-deco{position:absolute;right:5%;top:50%;transform:translateY(-50%);width:200px;height:200px;border-radius:50%;border:40px solid rgba(255,255,255,.03);pointer-events:none}.filter-bar{background:#fff;border-bottom:1px solid #e8e4dc;padding:0 5%;position:sticky;top:64px;z-index:90}.filter-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;gap:8px;padding:12px 0;overflow-x:auto;scrollbar-width:none}.filter-inner::-webkit-scrollbar{display:none}.filter-btn{padding:8px 20px;border-radius:20px;border:1px solid #d0ccc5;background:#fff;font-size:13px;color:#666;cursor:pointer;white-space:nowrap;transition:all .2s;font-family:DM Sans,sans-serif;font-weight:500}.filter-btn:hover{border-color:#0d1b3e;color:#0d1b3e}.filter-btn.active{background:#0d1b3e;color:#fff;border-color:#0d1b3e}.gallery-main{max-width:1200px;margin:0 auto;padding:40px 5% 60px}.gallery-section{margin-bottom:56px;display:none}.gallery-section.active{display:block}.section-header{margin-bottom:28px;padding-bottom:20px;border-bottom:2px solid #f0c040}.section-title{font-family:Playfair Display,serif;font-size:28px;font-weight:700;color:#0d1b3e;margin-bottom:12px}.section-desc{font-size:15px;color:#666;line-height:1.8;max-width:800px}.masonry-grid{columns:4;column-gap:12px}.masonry-item{break-inside:avoid;margin-bottom:12px;cursor:pointer;position:relative;overflow:hidden;border-radius:6px;display:block}.masonry-item img{width:100%;display:block;transition:transform .3s ease}.masonry-item:hover img{transform:scale(1.04)}.masonry-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(13,27,62,.7) 0%,transparent 50%);opacity:0;transition:opacity .3s;display:flex;align-items:flex-end;padding:12px}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-caption{color:#fff;font-size:11px;font-weight:500;line-height:1.4}.lightbox{display:none;position:fixed;inset:0;background:#060f22f7;z-index:999;align-items:center;justify-content:center;padding:20px}.lightbox.active{display:flex}.lb-inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lb-img{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:4px}.lb-close{position:fixed;top:20px;right:24px;background:#ffffff1a;border:none;color:#fff;font-size:24px;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-close:hover{background:#fff3}.lb-nav{position:fixed;top:50%;transform:translateY(-50%);background:#ffffff1a;border:none;color:#fff;font-size:20px;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.lb-nav:hover{background:#fff3}.lb-prev{left:16px}.lb-next{right:16px}.lb-caption{position:fixed;bottom:20px;left:50%;transform:translate(-50%);color:#aaa;font-size:13px;text-align:center;max-width:600px}.lb-counter{position:fixed;top:20px;left:50%;transform:translate(-50%);color:#aaa;font-size:12px}@media(max-width:768px){.page-header h1{font-size:32px}.page-header-deco{display:none}}@media(max-width:900px){.masonry-grid{columns:3}}@media(max-width:600px){.masonry-grid{columns:2;column-gap:8px}.masonry-item{margin-bottom:8px}.lb-nav{display:none}.section-title{font-size:20px}}
