.gal-section{padding-top:70px;padding-bottom:110px}.gal-intro{max-width:700px;margin-bottom:50px}.gal-intro h2{font-family:var(--font1);margin-top:10px;font-size:clamp(32px,4vw,48px);line-height:1.1}.gal-intro h2 span{color:var(--primary)}.gal-intro p{color:var(--muted);margin-top:15px;font-size:17px;line-height:1.7}.gal-filter{background:var(--cream);border:1px solid var(--line);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:35px;padding:20px 22px;display:flex}.gal-filter-group{flex-direction:column;gap:6px;min-width:160px;display:flex}.gal-filter-group label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.gal-filter-group select{border:1px solid var(--line);background:var(--white);color:var(--dark);cursor:pointer;border-radius:10px;padding:10px 14px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;transition:border-color .2s,box-shadow .2s}.gal-filter-group select:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #0b6b5526}.gal-filter-reset{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:999px;height:42px;padding:10px 22px;font-family:DM Sans,sans-serif;font-size:14px;font-weight:700;transition:all .25s}.gal-filter-reset:hover{background:var(--primary);color:var(--white)}.gal-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:stretch;gap:25px;display:grid}.gal-card{flex:initial;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);cursor:pointer;flex-direction:column;width:auto;height:auto;padding:0;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 30px #10211c14}.gal-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #10211c24}.gal-card--hidden{display:none!important}.gal-media{background:var(--cream);aspect-ratio:3/2;width:100%;position:relative;overflow:hidden}.gal-card--video .gal-media{aspect-ratio:16/9;background:#000}.gal-image{object-fit:cover;width:100%;height:100%;transition:transform .5s;display:block;position:absolute;inset:0}.gal-card:hover .gal-image{transform:scale(1.05)}.gal-video{border:0;width:100%;height:100%;position:absolute;inset:0}.gal-expand-btn{color:#fff;cursor:pointer;z-index:2;opacity:0;backdrop-filter:blur(4px);background:#0009;border:0;border-radius:50%;place-items:center;width:38px;height:38px;font-size:14px;transition:opacity .25s,transform .25s,background .25s;display:grid;position:absolute;bottom:12px;right:12px;transform:scale(.85)}.gal-card:hover .gal-expand-btn{opacity:1;transform:scale(1)}.gal-expand-btn:hover{background:var(--primary);color:var(--white)}.gal-info{flex-direction:column;flex:1;padding:18px 20px 22px;display:flex}.gal-info h3{font-family:var(--font1);color:var(--dark);margin:0 0 6px;font-size:20px;line-height:1.25}.gal-card--video .gal-info h3:before{content:"▶ ";color:var(--primary);font-size:13px}.gal-info p{color:var(--muted);flex:1;margin:0 0 12px;font-size:14px;line-height:1.6}.gal-info time{border-top:1px solid var(--line);color:var(--muted);padding-top:12px;font-size:12px;font-weight:500;display:block}.gal-empty{text-align:center;color:var(--muted);padding:60px 20px;font-size:15px}.gal-empty[hidden]{display:none}.gal-loadmore{text-align:center;margin-top:50px}.gal-loadmore[hidden]{display:none}.gal-loadmore-btn{border:2px solid var(--primary);color:var(--primary);cursor:pointer;background:0 0;border-radius:999px;padding:14px 40px;font-family:DM Sans,sans-serif;font-size:15px;font-weight:700;transition:all .3s}.gal-loadmore-btn:hover{background:var(--primary);color:var(--white);transform:translateY(-3px);box-shadow:0 8px 25px #0b6b5540}.gal-loadmore-info{color:var(--muted);margin-top:14px;font-size:14px}.gal-fs{z-index:1000;opacity:0;visibility:hidden;background:#000000f0;justify-content:center;align-items:center;padding:40px;transition:opacity .3s,visibility .3s;display:flex;position:fixed;inset:0}.gal-fs.active{opacity:1;visibility:visible}.gal-fs-close{color:#fff;cursor:pointer;z-index:1001;background:#ffffff14;border:0;border-radius:50%;place-items:center;width:48px;height:48px;font-size:28px;line-height:1;transition:background .2s,transform .2s;display:grid;position:fixed;top:20px;right:28px}.gal-fs-close:hover{background:var(--primary);color:var(--white);transform:scale(1.05)}.gal-fs-content{justify-content:center;align-items:center;width:100%;max-width:1200px;height:100%;max-height:90vh;display:flex}.gal-fs-content img{object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:90vh;box-shadow:0 30px 80px #00000080}.gal-fs-content iframe{background:#000;border:0;border-radius:12px;width:min(90vw,1200px);height:min(80vh,675px)}.gal-fs-title{color:#fff;max-width:90%;font-family:var(--font1);text-align:center;backdrop-filter:blur(10px);pointer-events:none;background:#003666cc;border-radius:12px;padding:10px 24px;font-size:20px;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}@media (width<=820px){.gal-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.gal-filter{align-items:stretch;gap:12px;padding:16px}.gal-filter-group{flex:140px;min-width:0}.gal-filter-group select{width:100%}}@media (width<=560px){.gal-grid{grid-template-columns:repeat(2,1fr);gap:14px}.gal-info{padding:14px 16px 18px}.gal-info h3{font-size:16px}.gal-info p{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.gal-expand-btn{opacity:.75;width:32px;height:32px;font-size:12px;transform:scale(1)}.gal-card:hover .gal-expand-btn{opacity:.75;transform:scale(1)}.gal-media{aspect-ratio:4/3}.gal-fs{padding:16px}.gal-fs-close{width:40px;height:40px;font-size:22px;top:12px;right:14px}.gal-fs-content iframe{width:95vw;height:56vw}.gal-fs-title{padding:8px 16px;font-size:16px;bottom:18px}.gal-filter{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.gal-filter-group{flex:none;width:100%;min-width:0}.gal-filter-group select{width:100%;height:44px}.gal-filter-reset{width:100%;height:44px;padding:0 22px}}@media (width<=420px){.gal-grid{grid-template-columns:1fr;gap:18px}.gal-media{aspect-ratio:3/2}}
