:root{--bg:#080808;--panel:#121212;--accent:#ef4035;--cream:#f4efdf;--text:#f6f2e9;--muted:#b7b2a7;--line:#282828}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'Inter',Arial,Helvetica,sans-serif}.dmz-nav{background:rgba(5,5,5,.88);backdrop-filter:blur(14px);padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.navbar-brand{font-family:'Bebas Neue',sans-serif;font-size:2rem;letter-spacing:2px}.nav-link{font-weight:800;font-size:.82rem;letter-spacing:.08em}.btn{border-radius:0;font-weight:800;letter-spacing:.06em}.btn-dmz{background:var(--accent);border-color:var(--accent);color:#fff}.btn-dmz:hover{background:#ff5b50;border-color:#ff5b50;color:#fff}.btn-ghost{border:1px solid rgba(255,255,255,.75);color:#fff}.btn-ghost:hover{background:#fff;color:#111}.record-hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000}.record-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.95) contrast(1.05)}.record-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.36) 40%,rgba(0,0,0,.88) 100%),linear-gradient(90deg,rgba(0,0,0,.58),transparent 65%)}.record-hero-copy{position:relative;z-index:2;padding-top:150px;padding-bottom:110px}.hero-kicker,.eyebrow,.section-heading span,.book-cta span,.happy-hour-banner span{font-size:.8rem;font-weight:900;letter-spacing:.22em;color:var(--accent)}.record-hero h1,.section-heading h2,.feature-copy-block h2,.happy-hour-banner h2,.book-cta h2,.page-hero h1{font-family:'Bebas Neue',sans-serif;text-transform:uppercase}.record-hero h1{font-size:clamp(4.8rem,11vw,10rem);line-height:.78;letter-spacing:.01em;margin:18px 0 28px;max-width:1000px}.record-hero p{max-width:640px;font-size:1.08rem;line-height:1.8;color:#eee;margin-bottom:30px}.hero-scroll{position:absolute;z-index:2;right:24px;bottom:30px;font-size:.7rem;letter-spacing:.2em;font-weight:800;writing-mode:vertical-rl}.marquee-strip{overflow:hidden;background:var(--cream);color:#111;padding:13px 0;font-family:'Bebas Neue',sans-serif;font-size:1.35rem;letter-spacing:.08em;white-space:nowrap}.marquee-strip div{width:max-content;animation:marquee 24s linear infinite}@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-35%)}}.section{padding:105px 0}.section.alt{background:#101010}.section-heading{margin-bottom:45px}.section-heading h2{font-size:clamp(3.8rem,8vw,7rem);line-height:.84;margin:8px 0 0}.split-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.text-link{color:var(--text);text-decoration:none;font-weight:800;border-bottom:1px solid var(--text);padding-bottom:4px}.text-link:hover{color:var(--accent);border-color:var(--accent)}.programme-list{border-top:1px solid var(--line)}.programme-row{display:grid;grid-template-columns:105px 190px 1fr auto;gap:30px;align-items:center;padding:30px 0;border-bottom:1px solid var(--line)}.programme-date{text-align:center;text-transform:uppercase}.programme-date span,.programme-date small{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:800;color:var(--muted)}.programme-date strong{display:block;font-family:'Bebas Neue',sans-serif;font-size:4.7rem;line-height:.9;color:var(--cream)}.programme-image{width:190px;height:125px;object-fit:cover;filter:saturate(.95)}.programme-type{font-size:.72rem;font-weight:900;letter-spacing:.18em;color:var(--accent);text-transform:uppercase}.programme-copy h3{font-family:'Bebas Neue',sans-serif;font-size:2.35rem;line-height:1;margin:7px 0 10px}.programme-copy p{margin:0 0 9px;max-width:720px;color:var(--muted);line-height:1.6}.programme-time{font-size:.8rem;font-weight:800;letter-spacing:.07em}.empty-state{padding:55px;background:#111;border:1px solid var(--line)}.feature-split{display:grid;grid-template-columns:1.15fr .85fr;min-height:640px;background:var(--cream);color:#111}.feature-photo{background-size:cover;background-position:center}.feature-photo-music{background-image:linear-gradient(0deg,rgba(0,0,0,.12),rgba(0,0,0,.12)),url('https://images.unsplash.com/photo-1501386761578-eac5c94b800a?auto=format&fit=crop&w=1600&q=85')}.feature-copy-block{display:flex;flex-direction:column;justify-content:center;padding:8vw}.feature-copy-block h2{font-size:clamp(4.5rem,9vw,8rem);line-height:.8;margin:14px 0 25px}.feature-copy-block p{font-size:1.08rem;line-height:1.85;max-width:520px}.favourites-section{background:#0d0d0d}.menu-tile{height:100%;border-top:3px solid var(--accent);padding:28px 0;border-bottom:1px solid var(--line)}.menu-tile h4{font-family:'Bebas Neue',sans-serif;font-size:2rem;margin:12px 0}.menu-tile p{color:var(--muted);min-height:72px}.menu-tile strong{font-size:1.1rem}.menu-category{font-size:.72rem;color:var(--accent);font-weight:900;letter-spacing:.18em}.happy-hour-banner{padding:95px 0;background:var(--accent);color:#fff}.happy-hour-banner span{color:#fff}.happy-hour-banner h2{font-size:clamp(6rem,14vw,13rem);line-height:.75;margin:15px 0 30px}.happy-hour-banner p{font-size:1.25rem;font-weight:700;margin-bottom:28px}.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:10px}.editorial-grid img{width:100%;height:330px;object-fit:cover;grid-column:span 4}.editorial-grid img:nth-child(1),.editorial-grid img:nth-child(5){grid-column:span 8}.editorial-grid img:nth-child(2),.editorial-grid img:nth-child(6){grid-column:span 4}.book-cta{padding:120px 0;background:linear-gradient(rgba(0,0,0,.5),rgba(0,0,0,.75)),url('https://images.unsplash.com/photo-1527529482837-4698179dc6ce?auto=format&fit=crop&w=1900&q=85') center/cover}.book-cta h2{font-size:clamp(4.7rem,10vw,9rem);line-height:.8;margin:20px auto 35px}.page-hero{padding:180px 0 80px;background:linear-gradient(90deg,#000,rgba(0,0,0,.3)),url('https://images.unsplash.com/photo-1527529482837-4698179dc6ce?auto=format&fit=crop&w=1800&q=80') center/cover}.page-hero h1{font-size:clamp(4rem,9vw,8rem);line-height:.85}.event-card{background:var(--panel);border:1px solid #242424;border-radius:0;overflow:hidden}.event-card img{width:100%;height:240px;object-fit:cover}.event-card h3{font-family:'Bebas Neue',sans-serif;font-size:2rem;margin-top:15px}.event-card p,.menu-card p,.footer p{color:var(--muted)}.badge-dmz{font-size:.75rem;color:var(--accent);font-weight:900;letter-spacing:2px}.event-meta{display:flex;justify-content:space-between;font-weight:800}.menu-card,.menu-row,.booking-form,.contact-card{background:var(--panel);border:1px solid #282828;border-radius:0;padding:25px}.menu-row{display:flex;justify-content:space-between;gap:20px}.menu-row strong{white-space:nowrap;color:var(--accent)}.form-control,.form-select{background:#0d0d0d;color:white;border:1px solid #333;border-radius:0;padding:12px}.form-control:focus,.form-select:focus{background:#111;color:white;border-color:var(--accent);box-shadow:none}.booking-form label{font-weight:700;margin-bottom:6px}.map-placeholder{height:380px;border:1px dashed #555;display:flex;align-items:center;justify-content:center;text-align:center;color:#aaa}.footer{background:#050505;border-top:1px solid #222}.footer h3{font-family:'Bebas Neue',sans-serif;font-size:2.5rem}.admin-login{min-height:100vh;display:grid;place-items:center;background:#0a0a0a}.login-card{width:min(420px,92vw);background:#151515;padding:35px}.admin-body{background:#0c0c0c}.admin-nav{position:fixed;left:0;top:0;bottom:0;width:220px;padding:25px;background:#151515}.admin-nav a{display:block;color:#ddd;text-decoration:none;padding:9px 0}.admin-main{margin-left:220px;padding:35px}.stat{background:#1a1a1a;padding:25px}.stat strong{display:block;font-size:2.2rem;color:var(--accent)}.admin-form{background:#171717;padding:20px}@media(max-width:991px){.programme-row{grid-template-columns:80px 150px 1fr}.programme-image{width:150px;height:110px}.programme-action{grid-column:3}.feature-split{grid-template-columns:1fr}.feature-photo{min-height:480px}.feature-copy-block{padding:70px 7vw}.hero-scroll{display:none}}@media(max-width:767px){.record-hero-copy{padding-bottom:80px}.record-hero h1{font-size:clamp(4.2rem,19vw,7rem)}.split-heading{align-items:flex-start;flex-direction:column}.programme-row{grid-template-columns:72px 1fr;gap:18px}.programme-image-wrap{display:none}.programme-action{grid-column:2}.section{padding:75px 0}.happy-hour-banner h2{font-size:clamp(5rem,24vw,9rem)}.gallery-grid{grid-template-columns:1fr 1fr}.editorial-grid img,.editorial-grid img:nth-child(n){grid-column:auto;height:250px}.admin-nav{position:static;width:auto}.admin-main{margin-left:0}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.editorial-grid img,.editorial-grid img:nth-child(n){height:260px}.programme-copy h3{font-size:1.9rem}.record-hero p{font-size:.95rem}}

/* DMZ real media gallery */
.dmz-real-gallery img { width:100%; height:100%; min-height:260px; object-fit:cover; }
.dmz-real-gallery img:first-child { grid-column:span 2; }
@media (max-width:767.98px){ .dmz-real-gallery img:first-child{grid-column:span 1;} }
.record-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 650px;
    overflow: hidden;
    background: #000;
}

.record-hero-video {
    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    z-index: 0;
}

.record-hero-shade {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.65),
            rgba(0,0,0,.20)
        );

    z-index: 1;
}

.record-hero-copy {
    position: relative;
    z-index: 2;

    height: 100%;

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hero-scroll {
    position: absolute;
    bottom: 30px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 2;

    color: white;
}
.week-range{font-size:.9rem;color:var(--muted);margin-top:10px}.event-image-placeholder{height:240px;display:grid;place-items:center;background:#202020;color:var(--accent);font-size:2rem;font-weight:800}.admin-form label{display:block;margin-bottom:8px}.admin-form small{color:#bbb}.admin-event-preview{max-width:100%;width:320px;max-height:240px;object-fit:contain;border:1px solid #555}.event-meta{gap:12px;flex-wrap:wrap}.admin-form input[type=checkbox]{accent-color:var(--accent)}
@media(max-width:767px){.programme-image-wrap{display:block;grid-column:2}.programme-image{width:100%;height:150px}.programme-copy{grid-column:2}.programme-date{grid-row:1 / span 2}}

.menu-photo-card{border:1px solid #282828;background:var(--panel);overflow:hidden}.menu-photo{width:100%;height:260px;object-fit:cover}.menu-photo-placeholder{height:200px;background:#202020;color:var(--muted);display:grid;place-items:center}.menu-feature-photo{width:100%;height:190px;object-fit:cover;margin-bottom:20px}.contact-card a,.footer a{color:inherit}.admin-form .alert li{color:#332701}@media(max-width:520px){.menu-photo{height:220px}}

.messenger-float{position:fixed;bottom:24px;right:24px;z-index:1050;display:flex;align-items:center;gap:10px;background:#0866ff;color:#fff!important;text-decoration:none;padding:14px 20px;border-radius:32px;font-weight:700;box-shadow:0 4px 18px #0007}.messenger-float:hover{background:#0759d9}.messenger-float:focus-visible{outline:3px solid #fff;outline-offset:4px}@media(max-width:520px){.messenger-float{bottom:16px;right:16px;font-size:.85rem;padding:12px 16px}}

.admin-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.admin-image-option{padding:10px;border:1px solid #444;border-radius:6px;min-width:0}.admin-image-option img{width:100%;height:120px;object-fit:cover;display:block;margin-bottom:10px}.admin-image-option small{display:block;overflow-wrap:anywhere}.admin-image-option label{font-size:.85rem}.image-thumbnails{display:flex;gap:8px;padding:12px;overflow-x:auto}.image-thumbnails button{flex:0 0 64px;border:2px solid transparent;padding:0;background:#222;border-radius:4px;overflow:hidden}.image-thumbnails button[aria-pressed=true]{border-color:var(--accent)}.image-thumbnails button:focus-visible{outline:3px solid white}.image-thumbnails img{width:60px!important;height:48px!important;object-fit:cover}.news-card{background:var(--panel);border:1px solid #282828;overflow:hidden}.news-cover{width:100%;height:230px;object-fit:cover}.news-title{font-size:1.7rem!important;line-height:1.2!important;overflow-wrap:anywhere}.news-title a{color:inherit;text-decoration:none}.news-date{color:var(--accent);font-size:.85rem}.news-detail-title{font-size:clamp(2.3rem,5vw,4rem)!important;line-height:1.15!important;margin:24px 0;overflow-wrap:anywhere}.news-article{max-width:960px}.news-detail-cover{width:100%;max-height:540px;object-fit:contain;background:#151515}.news-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:1.08rem;margin-top:24px}.news-article .lead{margin-top:25px}.news-card p{color:var(--muted)}

.architecture-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.architecture-photo-grid figure{margin:0}.architecture-photo-grid img{width:100%;height:auto;display:block;border:1px solid #333}.dmz-nav .nav-link{white-space:nowrap}@media(min-width:1200px){.dmz-nav .nav-link{font-size:.77rem;padding-left:.35rem;padding-right:.35rem}.dmz-nav .navbar-brand{margin-right:1rem}.dmz-nav .navbar-nav{gap:0!important}}@media(max-width:1199px){.dmz-nav .navbar-collapse{max-height:calc(100dvh - 90px);overflow-y:auto}.dmz-nav .navbar-nav{align-items:flex-start!important}.dmz-nav .nav-item{width:100%}.dmz-nav .nav-link{padding:10px 0}}@media(max-width:600px){.architecture-photo-grid{grid-template-columns:1fr}}

.admin-nav{overflow-y:auto}

.admin-video-preview{display:block;width:100%;max-width:640px;max-height:320px;margin:12px 0}.hero-video-controls{position:absolute;z-index:3;left:24px;bottom:25px;display:flex;align-items:center;gap:12px;color:white;background:#0009;padding:8px 12px;border-radius:8px}.hero-video-controls button{border:1px solid #ffffff80;background:#1118;color:white;min-width:44px;min-height:44px;border-radius:6px}.hero-video-controls button:focus-visible{outline:3px solid white}.hero-video-controls span{font-size:.8rem;max-width:250px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}@media(max-width:599px){.hero-video-controls{left:14px;right:14px;bottom:16px;gap:8px;justify-content:center}.hero-video-controls span{max-width:140px}.record-hero-copy{padding-bottom:110px}}

.promotion-section{background:linear-gradient(145deg,#1b1010,#0c0c0c)}.promotion-card{background:#161313;border:1px solid #59312d;border-radius:14px;overflow:hidden;transition:transform .3s,border-color .3s,box-shadow .3s}.promotion-card-animated:hover{transform:translateY(-5px);border-color:var(--accent);box-shadow:0 14px 35px #ef403526}.promotion-picture{position:relative;background:#080808;overflow:hidden;aspect-ratio:4/3}.promotion-picture a{display:block;height:100%}.promotion-cover{display:block;width:100%;height:100%;object-fit:contain}.promotion-card-animated .promotion-cover{transition:transform .45s}.promotion-card-animated:hover .promotion-cover{transform:scale(1.025)}.promotion-badge{position:absolute;z-index:1;top:14px;left:14px;background:var(--accent);color:white;font-weight:800;font-size:.72rem;letter-spacing:.12em;padding:8px 12px;border-radius:30px}.promotion-image-fallback{height:100%;display:grid;place-items:center;color:var(--accent);font-weight:800}.promotion-image-fallback[hidden]{display:none}.promotion-card-copy{padding:26px}.promotion-card h3{font-size:1.8rem;margin:12px 0;overflow-wrap:anywhere}.promotion-dates{color:#f4b5aa;font-size:.85rem}.promotion-summary{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.promotion-thumbnails{display:flex;gap:8px;padding:12px;overflow-x:auto;align-items:center}.promotion-thumbnails button{flex:0 0 auto;border:2px solid #333;background:#191919;color:white;padding:3px;border-radius:6px;min-height:44px}.promotion-thumbnails button[aria-pressed=true]{border-color:var(--accent)}.promotion-thumbnails button:focus-visible{outline:3px solid white}.promotion-thumbnails img{width:54px;height:44px;object-fit:contain}.promotion-thumbnails button[data-promo-toggle]{padding:6px 10px;font-size:.8rem}.promo-image-swap{animation:promo-fade .6s ease-out}@keyframes promo-fade{from{opacity:.3}to{opacity:1}}@media(prefers-reduced-motion:reduce){.promotion-card,.promotion-card-animated .promotion-cover{transition:none}.promotion-card-animated:hover,.promotion-card-animated:hover .promotion-cover{transform:none}.promo-image-swap{animation:none}}@media(max-width:1399px){.dmz-nav .navbar-collapse{max-height:calc(100dvh - 90px);overflow-y:auto}.dmz-nav .navbar-nav{align-items:flex-start!important}.dmz-nav .nav-item{width:100%}.dmz-nav .nav-link{padding:10px 0}}

/* V12: tall, condensed navigation inspired by the supplied menu reference. */
@font-face{font-family:'DMZ Menu';src:url('/fonts/BebasNeue-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
.dmz-nav .nav-link,.dmz-nav .nav-item>.btn{font-family:'DMZ Menu','Bebas Neue','Arial Narrow',sans-serif;font-weight:400;font-size:1.4rem;letter-spacing:.045em;line-height:1.15;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere;color:#fff}
.dmz-nav .nav-link:hover,.dmz-nav .nav-link:focus-visible,.dmz-nav .nav-link[aria-current=page]{color:var(--accent)}
.dmz-nav .nav-item>a:focus-visible{outline:2px solid var(--cream);outline-offset:4px}
.dmz-nav .nav-item>.btn[aria-current=page]{background:#b8241b;border-color:#fff}
@media(min-width:1400px){.dmz-nav .navbar-nav{gap:.35rem!important}.dmz-nav .nav-link{padding-left:.35rem;padding-right:.35rem}.dmz-nav .nav-item>.btn{font-size:1.35rem;padding:.6rem .8rem}}
@media(max-width:1399px){.dmz-nav .navbar-collapse{padding:18px 0 24px}.dmz-nav .navbar-nav{gap:6px!important}.dmz-nav .nav-link{font-size:clamp(2rem,6vw,2.8rem);letter-spacing:.045em;padding:9px 0}.dmz-nav .nav-item>.btn{font-size:clamp(2rem,6vw,2.8rem);margin:10px 0 0!important;padding:12px 20px}.dmz-nav .navbar-collapse{max-height:calc(100dvh - 100px)}}

.dmz-nav .dmz-brand{display:flex;align-items:center;padding:0;flex-shrink:0}.dmz-brand-logo{display:block;width:64px;height:64px;object-fit:contain;background:#fff;border-radius:4px}@media(max-width:767px){.dmz-brand-logo{width:54px;height:54px}}

/* V13: confirmation appears only after a booking was saved. */
.booking-confirmation{text-align:center;background:linear-gradient(145deg,#18221b,#111);border:1px solid #477653;border-radius:16px;padding:48px 32px;box-shadow:0 15px 50px #0004}.booking-confirmation-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 24px;border-radius:50%;background:#244e31;color:#b9efc5;font-size:2.6rem}.booking-confirmation h2{font-family:'DMZ Menu','Bebas Neue',sans-serif;font-size:clamp(2rem,5vw,3rem);line-height:1.1}.booking-confirmation-message{color:#b9efc5;font-weight:700;font-size:1.15rem}.booking-confirmation-details{text-align:left;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:28px 0;padding:24px;background:#ffffff06;border:1px solid #ffffff15;border-radius:10px}.booking-confirmation-details dt{font-size:.8rem;color:var(--muted);margin-bottom:6px}.booking-confirmation-details dd{margin:0;font-weight:600;overflow-wrap:anywhere}@media(max-width:575px){.booking-confirmation{padding:32px 18px}.booking-confirmation-details{grid-template-columns:1fr;padding:18px}.booking-confirmation .btn{width:100%}}

.analytics-track{height:14px;background:#303030;border-radius:4px;overflow:hidden}.analytics-track span{display:block;height:100%;background:var(--accent)}

/* Event video: user starts playback; keep native mobile controls and aspect ratio. */
.event-video-wrap{padding:1rem}.event-video{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;background:#000;border-radius:8px}.event-video-link{display:inline-block;margin-top:.5rem;font-size:.875rem}.event-video-admin{max-width:640px}.programme-copy .event-video-wrap{padding:0;margin:1rem 0;max-width:560px}
