.gallery-section{background:radial-gradient(circle at 50% 0%, #241d16 0%, var(--dark) 60%);padding:4.5rem 0 5rem;position:relative;overflow:hidden}@media (min-width:768px){.gallery-section{padding:6rem 0}}.gallery-section:before{content:"";background:linear-gradient(90deg, transparent, var(--gold) 45%, var(--gold-light) 50%, var(--gold) 55%, transparent);background-repeat:no-repeat;background-size:40% 100%;height:1px;animation:5.5s linear infinite goldLineSweep;position:absolute;top:0;left:0;right:0}.gallery-section:after{content:"";pointer-events:none;background:radial-gradient(#c9a84c1f,#0000 70%);width:60%;height:45%;position:absolute;top:-10%;left:50%;transform:translate(-50%)}.gallery-label{text-align:center;z-index:1;padding:0 1.5rem;position:relative}@media (min-width:768px){.gallery-label{padding:0 3rem}}.gallery-title{color:#fff!important}.gallery-title em{background:linear-gradient(90deg, var(--gold), var(--gold-light), #fff7db, var(--gold-light), var(--gold));-webkit-text-fill-color:transparent;color:#0000;background-size:200%;-webkit-background-clip:text;background-clip:text;font-style:italic;animation:5s linear infinite shimmer}.gallery-label .section-label{color:var(--gold)}.gallery-masonry{column-count:2;z-index:1;column-gap:14px;max-width:1200px;margin:2.5rem auto 0;padding:0 1.25rem;position:relative}@media (min-width:640px){.gallery-masonry{column-count:3}}@media (min-width:1024px){.gallery-masonry{column-count:4;column-gap:16px}}.gallery-m-item{break-inside:avoid;cursor:pointer;background:#0f0c09;border:none;border-radius:12px;width:100%;margin:0 0 14px;padding:0;display:block;position:relative;overflow:hidden;box-shadow:0 8px 24px #0006}.gallery-m-item img{filter:brightness(.82)saturate(.92);width:100%;transition:transform .9s cubic-bezier(.16,1,.3,1),filter .5s;display:block}.gallery-m-item:hover img{filter:brightness(1.02)saturate(1.08);transform:scale(1.07)}.gallery-m-frame{pointer-events:none;z-index:3;border:1px solid #c9a84c00;border-radius:8px;transition:border-color .4s,inset .4s;position:absolute;inset:8px}.gallery-m-item:hover .gallery-m-frame{border-color:#c9a84ca6;inset:10px}.gallery-m-shine{pointer-events:none;z-index:2;position:absolute;inset:0;overflow:hidden}.gallery-m-shine:before{content:"";background:linear-gradient(115deg,#0000,#ffffff59,#0000);width:45%;position:absolute;top:0;bottom:0;left:0;transform:translate(-150%)skew(-18deg)}.gallery-m-item:hover .gallery-m-shine:before{animation:.9s goldSheen}.gallery-m-cap{z-index:4;letter-spacing:.1em;text-transform:uppercase;color:#fff0;background:linear-gradient(#0000,#0f0c09e6);align-items:center;gap:.4rem;padding:1.6rem .9rem .85rem;font-size:.68rem;transition:color .4s;display:flex;position:absolute;bottom:0;left:0;right:0}.gallery-m-cap:before{content:"✦";color:var(--gold);opacity:0;font-size:.6rem;transition:opacity .4s .1s}.gallery-m-item:hover .gallery-m-cap{color:#ffffffe6}.gallery-m-item:hover .gallery-m-cap:before{opacity:1}.gallery-lb{z-index:6000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a0806f0;justify-content:center;align-items:center;padding:2rem;animation:.25s fadeIn;display:flex;position:fixed;inset:0}.gallery-lb-fig{flex-direction:column;align-items:center;max-width:min(92vw,1000px);max-height:88vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn;display:flex}.gallery-lb-fig img{object-fit:contain;border:1px solid #c9a84c4d;border-radius:8px;max-width:100%;max-height:82vh;box-shadow:0 30px 80px #0009}.gallery-lb-fig figcaption{color:var(--gold-light);letter-spacing:.1em;text-transform:uppercase;margin-top:1rem;font-size:.78rem}.gallery-lb-btn{color:#fff;cursor:pointer;background:#ffffff0f;border:1px solid #c9a84c4d;border-radius:50%;justify-content:center;align-items:center;width:46px;height:46px;font-size:1.6rem;line-height:1;transition:all .2s;display:flex;position:absolute}.gallery-lb-btn:hover{background:var(--gold);color:var(--dark);border-color:var(--gold)}.gallery-lb-btn.close{top:1.5rem;right:1.5rem}.gallery-lb-btn.prev{top:50%;left:1.25rem;transform:translateY(-50%)}.gallery-lb-btn.next{top:50%;right:1.25rem;transform:translateY(-50%)}@media (max-width:560px){.gallery-lb-btn.prev{left:.5rem}.gallery-lb-btn.next{right:.5rem}}
