*{margin:0;padding:0;box-sizing:border-box}
:root{--black:#050505;--dark:#101010;--grey:#a3a3a3;--white:#f5f5f5;--acid:#ccff00;--line:rgba(255,255,255,.12)}
body{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;background:var(--black);color:var(--white);letter-spacing:-.02em}
p,a,input,select,button{font-family:Arial,Helvetica,sans-serif;letter-spacing:0}
a{text-decoration:none;color:inherit}
.side{position:fixed;left:0;top:0;width:96px;height:100vh;border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:34px;padding:26px 0;background:#070707;z-index:10}
.mark{width:54px;height:54px;border:2px solid var(--acid);display:grid;place-items:center;color:var(--acid);font-weight:900;font-family:Arial}
.side a{writing-mode:vertical-rl;text-transform:uppercase;font-size:.75rem;color:var(--grey);font-weight:800}
main{margin-left:96px}
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.hero-left{padding:8vw;display:flex;flex-direction:column;justify-content:center}
.tag{font-family:Arial;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--acid);font-size:.78rem}
h1{font-size:clamp(5rem,11vw,12rem);line-height:.75;text-transform:uppercase;margin:24px 0}
.hero-left p{color:var(--grey);font-size:1.2rem;max-width:520px;line-height:1.6;margin-bottom:28px}
.btn{width:max-content;background:var(--acid);color:#000;padding:15px 24px;border-radius:0;text-transform:uppercase;font-weight:950}
.hero-right{background:linear-gradient(rgba(0,0,0,.1),rgba(0,0,0,.75)),url('https://images.unsplash.com/photo-1622288432450-277d0fef5ed6?auto=format&fit=crop&w=1200&q=80');background-size:cover;background-position:center;display:grid;place-items:end;padding:5vw}
.poster{width:min(430px,90%);border:1px solid var(--line);background:rgba(0,0,0,.55);backdrop-filter:blur(12px);padding:30px}
.poster span{font-family:Arial;color:var(--grey);text-transform:uppercase;font-weight:900}
.poster strong{display:block;font-size:4.8rem;line-height:.8;color:var(--acid);text-transform:uppercase}
.services,.book{padding:100px 8vw;border-bottom:1px solid var(--line)}
.heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:42px}
h2{font-size:clamp(3.5rem,7vw,8rem);line-height:.78;text-transform:uppercase;max-width:900px}
.service-list{display:grid;gap:0;border-top:1px solid var(--line)}
.service{display:grid;grid-template-columns:80px 1fr 1fr 120px;gap:22px;padding:30px 0;border-bottom:1px solid var(--line);align-items:center}
.service span{color:var(--acid);font-size:1.4rem}
.service h3{font-size:2.4rem;text-transform:uppercase}
.service p{color:var(--grey)}
.service strong{font-size:2rem;color:var(--acid)}
.style-block{display:grid;grid-template-columns:.8fr 1fr .8fr;gap:22px;padding:100px 8vw;border-bottom:1px solid var(--line);align-items:center}
.gallery{height:560px;background-size:cover;background-position:center;filter:grayscale(1);border:1px solid var(--line)}
.g1{background-image:url('https://images.unsplash.com/photo-1503951914875-452162b0f3f1?auto=format&fit=crop&w=900&q=80')}
.g2{background-image:url('https://images.unsplash.com/photo-1517832606299-7ae9b720a186?auto=format&fit=crop&w=900&q=80')}
.copy{padding:26px}
.copy p{font-family:Arial;color:var(--grey);line-height:1.7;font-size:1.05rem;margin-top:20px}
.book{text-align:center;background:linear-gradient(135deg,#050505,#171717)}
.book p{font-family:Arial;color:var(--grey);margin:20px 0 30px}
.booking-card{max-width:760px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#0c0c0c;border:1px solid var(--line);padding:18px}
.booking-card input,.booking-card select,.booking-card button{padding:16px;background:#171717;border:1px solid var(--line);color:white;font-size:1rem}
.booking-card button{grid-column:1/-1;background:var(--acid);color:black;font-weight:950;text-transform:uppercase;cursor:pointer}
footer{padding:28px 8vw;color:var(--grey);font-family:Arial}
@media(max-width:900px){.side{display:none}main{margin-left:0}.hero,.style-block{grid-template-columns:1fr}.hero-right{min-height:460px}.service{grid-template-columns:1fr}.heading{display:block}.booking-card{grid-template-columns:1fr}h1{font-size:5rem}}

html{scroll-behavior:smooth}
.btn,.side a,.booking-card button,.service,.visit-actions a{transition:.25s ease}
.btn:hover{transform:translateY(-4px);box-shadow:10px 10px 0 rgba(204,255,0,.18)}
.side a:hover{color:var(--acid);transform:translateX(4px)}
.service:hover{background:#0f0f0f;padding-left:18px}
.booking-card button:hover{background:#d9ff33;transform:translateY(-3px)}
.booking-card input:focus,.booking-card select:focus{outline:none;border-color:var(--acid);box-shadow:0 0 0 3px rgba(204,255,0,.12)}

.booking-popup{position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:22px;z-index:90}
.booking-popup.active{display:flex}
.booking-bg{position:absolute;inset:0;background:rgba(0,0,0,.76);backdrop-filter:blur(10px)}
.booking-panel{position:relative;width:min(540px,100%);background:#0b0b0b;border:1px solid var(--line);padding:36px;box-shadow:0 0 0 2px rgba(204,255,0,.35),0 40px 110px rgba(0,0,0,.65)}
.booking-close{position:absolute;right:16px;top:16px;width:40px;height:40px;background:var(--acid);border:none;color:black;font-size:1.6rem;cursor:pointer}
.booking-panel h3{font-size:4rem;line-height:.8;text-transform:uppercase;margin:20px 0}
.booking-panel p{font-family:Arial;color:var(--grey);line-height:1.7;margin-bottom:22px}
.booking-panel a{display:inline-flex;background:var(--acid);color:#000;padding:13px 20px;text-transform:uppercase;font-family:Arial;font-weight:950}
.booking-panel a:hover{transform:translateY(-2px)}
