*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#10120f}
body{margin:0;background:#10120f;color:#eeeade;font-family:"DM Sans",sans-serif}
a{color:inherit;text-decoration:none}
.header{position:fixed;z-index:10;top:0;left:0;right:0;height:72px;padding:0 4.5vw;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,rgba(10,12,10,.72),rgba(10,12,10,0));transition:background .25s}
.header.scrolled{background:rgba(13,16,13,.9);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:13px;font-size:18px;letter-spacing:2.2px;font-weight:500;text-shadow:0 1px 8px #000}
.brand img{width:50px;height:50px;object-fit:cover;object-position:center;border-radius:50%;border:1px solid rgba(239,235,224,.65)}
.gold,.footer span{color:#c5b895}
.nav{display:flex;gap:30px;align-items:center;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;text-shadow:0 1px 8px #000}
.nav a{opacity:.88;transition:opacity .2s}.nav a:hover{opacity:1}
.menu{display:none;background:none;border:0;padding:10px}
.menu i{display:block;width:22px;height:1px;background:#f1eee5;margin:6px}
.opening{height:100svh;min-height:560px;position:relative;background:#10120f;display:grid;place-items:center;overflow:hidden}
.opening-image{position:absolute;inset:0;display:grid;place-items:center}
.opening-image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,10,8,.22),transparent 35%),linear-gradient(180deg,rgba(8,10,8,.24),transparent 25%)}
.opening-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.opening-mark{position:absolute;bottom:9vh;left:7vw;font-size:clamp(24px,4vw,46px);font-weight:500;letter-spacing:4px;text-shadow:0 2px 18px #000}
.opening-mark span{color:#d0c19a}
.photo-stream{width:100%}
.photo{height:100svh;min-height:520px;margin:0;background:#10120f;display:flex;align-items:center;justify-content:center;overflow:hidden;scroll-margin-top:0}
.photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.photo.placeholder img{object-fit:cover}
.footer{height:90px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;background:#10120f;color:#b9b6aa;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}
.footer>a:first-child{font-size:15px;letter-spacing:2px;color:#eeeade}
@media(max-width:700px){
 .header{height:62px;padding:0 5vw}
 .brand{font-size:16px;letter-spacing:1.7px}
 .brand img{width:42px;height:42px}
 .menu{display:block;cursor:pointer}
 .nav{display:none;position:absolute;top:55px;right:5vw;left:auto;width:max-content;min-width:155px;padding:13px 18px;background:rgba(13,16,13,.94);backdrop-filter:blur(14px);border:1px solid rgba(238,234,222,.13);border-radius:5px;box-shadow:0 12px 30px rgba(0,0,0,.35);flex-direction:column;align-items:flex-start;gap:0}
 .nav.open{display:flex}
 .nav a{display:block;width:100%;padding:11px 0;font-size:10px}
 .nav a+a{border-top:1px solid rgba(238,234,222,.09)}
 .opening{min-height:600px}
 .opening-mark{bottom:10vh;left:6vw;font-size:27px}
 .photo{min-height:420px;height:88svh}
 .photo img{width:100%;height:100%;object-fit:contain}
 .photo.placeholder img{object-fit:cover}
 .footer{height:75px}
}

.contact{display:flex;justify-content:center;align-items:center;gap:34px;padding:34px 6vw;background:#111410;border-top:1px solid rgba(238,234,222,.09)}
.contact a{color:#c9c3b2;font-size:10px;letter-spacing:1.4px;transition:color .2s}
.contact a:hover{color:#fff}
.footer span{color:#8c8e83;font-size:9px;letter-spacing:1px}
@media(max-width:700px){.contact{padding:30px 5vw;gap:24px}.contact a{font-size:9px}}
