:root{--black:#0b0b0b;--white:#fff;--gray:#999;--gold:#c9a45c;--gold-light:#e1c27c;--font-main:"Montserrat",sans-serif;--font-display:"Playfair Display",serif}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:#fff;color:var(--black);font-family:var(--font-main);overflow-x:hidden}img{display:block;width:100%}a{color:inherit;text-decoration:none}
.gallery-header{position:absolute;top:0;left:0;width:100%;z-index:100;padding:30px 5%;display:flex;align-items:center;justify-content:space-between}
.gallery-logo{color:#fff;font-size:19px;font-weight:700;letter-spacing:4px}.gallery-logo em{color:var(--gold);font-style:normal}
.back-link{display:flex;align-items:center;gap:10px;color:#fff;font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.back-link i{color:var(--gold);font-size:16px}
.gallery-hero{min-height:70vh;position:relative;display:flex;align-items:end;padding:100px 5% 80px;color:#fff;background:url("../images/events/wedding-cover.jpg") center/cover no-repeat}
.gallery-hero-overlay{position:absolute;inset:0;background:linear-gradient(transparent 20%,rgba(0,0,0,.8))}
.gallery-hero-content{position:relative;z-index:2;max-width:900px}.gallery-hero-content>p{color:var(--gold-light);font-size:10px;font-weight:700;letter-spacing:3px;margin-bottom:20px}
.gallery-hero h1{font-size:clamp(55px,8vw,100px);font-weight:400;line-height:1}.gallery-hero h1 em{display:block;font-family:var(--font-display);color:var(--gold-light);font-style:italic}
.event-meta{display:flex;gap:30px;margin-top:35px;flex-wrap:wrap}.event-meta span{display:flex;align-items:center;gap:8px;color:rgba(255,255,255,.75);font-size:10px;letter-spacing:1px}.event-meta i{color:var(--gold)}
.photo-gallery{padding:120px 5%;max-width:1400px;margin:auto}.gallery-intro{max-width:650px;margin-bottom:70px}.gallery-label{color:var(--gold);font-size:10px;font-weight:700;letter-spacing:3px;margin-bottom:15px}
.gallery-intro h2{font-size:clamp(40px,5vw,65px);font-weight:400;line-height:1.1;margin-bottom:25px}.gallery-intro h2 em{font-family:var(--font-display);font-style:italic}.gallery-intro>p:last-child{max-width:550px;color:var(--gray);font-size:14px}
.photo-grid{columns:3 300px;column-gap:15px}.photo-item{position:relative;margin:0 0 15px;break-inside:avoid;cursor:pointer;overflow:hidden}.photo-item img{transition:transform .7s ease,opacity .3s ease}.photo-item:hover img{transform:scale(1.035);opacity:.9}
.gallery-lightbox{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.97);padding:40px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.gallery-lightbox.active{opacity:1;visibility:visible}
.gallery-lightbox>img{max-width:90vw;max-height:90vh;width:auto;object-fit:contain}.gallery-close,.gallery-previous,.gallery-next{position:absolute;width:50px;height:50px;display:grid;place-items:center;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.3);cursor:pointer;font-size:18px;transition:.3s ease}
.gallery-close:hover,.gallery-previous:hover,.gallery-next:hover{background:#fff;color:#000}.gallery-close{top:25px;right:30px}.gallery-previous{left:30px;top:50%;transform:translateY(-50%)}.gallery-next{right:30px;top:50%;transform:translateY(-50%)}
.gallery-footer{padding:50px 5%;background:var(--black);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px}.gallery-footer>a:first-child{font-size:17px;font-weight:700;letter-spacing:3px}.gallery-footer em{color:var(--gold);font-style:normal}.gallery-footer p{color:#777;font-size:10px}.gallery-footer>a:last-child{font-size:10px;font-weight:600;letter-spacing:1px;text-transform:uppercase}.gallery-footer i{color:var(--gold)}
@media(max-width:700px){.gallery-header{padding:22px 5%}.gallery-logo{font-size:15px}.back-link{font-size:8px}.gallery-hero{min-height:65vh;padding-bottom:60px}.gallery-hero h1{font-size:55px}.photo-gallery{padding:80px 5%}.photo-grid{columns:1}.gallery-lightbox{padding:20px}.gallery-previous{left:10px}.gallery-next{right:10px}.gallery-close{right:15px;top:15px}.gallery-footer{flex-direction:column;text-align:center}}
