:root{--bg:#090706;--cream:#f2eadc;--muted:#b9aa98;--gold:#d6ad63;--line:rgba(214,173,99,.24)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--cream);font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}.gallery-topbar{position:relative;z-index:3;height:98px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 5vw;border-bottom:1px solid var(--line);background:rgba(9,7,6,.94)}.gallery-brand img{width:106px;height:78px;object-fit:contain}.back,.menu-link{color:#d7c8b5;font-size:13px;font-weight:600}.menu-link{justify-self:end;padding:11px 20px;border:1px solid var(--line);border-radius:999px}.gallery-hero{padding:110px 7vw 70px;background:radial-gradient(circle at 80% 20%,rgba(121,31,47,.3),transparent 38%),linear-gradient(180deg,#14100d,var(--bg))}.kicker{margin:0 0 18px;color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.22em}.gallery-hero h1,.gallery-cta h2{margin:0;font:600 clamp(55px,8vw,112px)/.88 'Playfair Display',serif;letter-spacing:-.05em}.gallery-hero h1 em,.gallery-cta h2 em{color:var(--gold);font-style:italic}.gallery-hero>p:last-child{max-width:590px;margin:30px 0 0;color:var(--muted);font-size:17px;line-height:1.75}.gallery-filters{position:sticky;z-index:2;top:0;display:flex;gap:10px;overflow:auto;padding:20px 7vw;background:rgba(9,7,6,.92);backdrop-filter:blur(15px);border-bottom:1px solid rgba(255,255,255,.06)}.gallery-filters button{padding:11px 20px;white-space:nowrap;border:1px solid var(--line);border-radius:999px;background:transparent;color:#d8cdbf;cursor:pointer}.gallery-filters button.active,.gallery-filters button:hover{background:var(--gold);color:#17110b}.full-gallery{columns:3 300px;column-gap:14px;min-height:420px;padding:35px 5vw 100px}.gallery-card{position:relative;display:block;width:100%;margin:0 0 14px;padding:0;overflow:hidden;border:0;border-radius:15px;background:#17120f;cursor:zoom-in;break-inside:avoid}.gallery-card img{display:block;width:100%;height:auto;min-height:230px;max-height:560px;object-fit:cover;transition:.55s}.gallery-card:hover img{transform:scale(1.025)}.gallery-card span{position:absolute;right:15px;bottom:14px;left:15px;padding:9px 12px;border-radius:10px;background:rgba(0,0,0,.72);color:#f4e9da;text-align:left;font-size:12px}.gallery-card.hidden{display:none}.gallery-loading,.gallery-empty{padding:100px 0;text-align:center;color:var(--muted)}.gallery-cta{display:flex;align-items:end;justify-content:space-between;gap:40px;padding:90px 7vw;background:linear-gradient(135deg,#18120e,#301116)}.gallery-cta h2{font-size:clamp(46px,6vw,78px)}.gallery-cta a{padding:17px 25px;border-radius:8px;background:var(--gold);color:#17110b;font-weight:700}dialog{width:100vw;height:100vh;max-width:none;max-height:none;padding:0;border:0;background:rgba(0,0,0,.94);color:white}dialog::backdrop{background:#000}.lightbox-close,.lightbox-prev,.lightbox-next{position:fixed;z-index:2;border:0;background:rgba(25,20,17,.75);color:white;cursor:pointer}.lightbox-close{top:20px;right:22px;width:48px;height:48px;border-radius:50%;font-size:31px}.lightbox-prev,.lightbox-next{top:50%;width:54px;height:70px;border-radius:10px;font-size:42px;transform:translateY(-50%)}.lightbox-prev{left:22px}.lightbox-next{right:22px}dialog figure{display:flex;height:100%;margin:0;padding:55px 90px 70px;align-items:center;justify-content:center}dialog img{max-width:100%;max-height:calc(100vh - 125px);object-fit:contain;border-radius:9px}dialog figcaption{position:fixed;right:0;bottom:20px;left:0;text-align:center;color:#e3d7c8}@media(max-width:700px){.gallery-topbar{height:78px;padding:0 18px}.gallery-brand img{width:82px;height:60px}.gallery-hero{padding:75px 22px 45px}.gallery-hero>p:last-child{font-size:15px}.gallery-filters{padding:15px 18px}.full-gallery{columns:2 145px;column-gap:8px;padding:18px 10px 70px}.gallery-card{margin-bottom:8px;border-radius:10px}.gallery-card img{min-height:160px}.gallery-card span{right:8px;bottom:8px;left:8px;font-size:10px}.gallery-cta{display:block;padding:65px 22px}.gallery-cta a{display:inline-flex;margin-top:28px}.lightbox-prev{left:8px}.lightbox-next{right:8px}dialog figure{padding:55px 18px 75px}}
