@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#111310;--text:#f5f6ee;--muted:#abb0a3;--lime:#ff5555}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font:16px 'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}header{height:100px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #34372e}.brand{font:800 26px Manrope,sans-serif;letter-spacing:-1.3px}.brand span{font:12px sans-serif;vertical-align:top;margin-left:5px}nav{display:flex;align-items:center;gap:36px;font-size:14px}.navbook{border:1px solid #746266;border-radius:30px;padding:13px 22px}.hero{padding:65px 6% 0;display:grid;grid-template-columns:1.12fr 1fr;gap:35px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;color:var(--lime);margin:0 0 25px}h1,h2,h3,p{margin-top:0}h1{font:600 clamp(48px,5.4vw,82px)/1.08 Manrope,sans-serif;letter-spacing:-4px;margin-bottom:27px}em{font-style:normal;color:var(--lime)}.intro{max-width:425px;font-size:18px;line-height:1.65;color:var(--muted);margin-bottom:30px}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--lime);color:#ffffff;border:0;min-height:54px;border-radius:5px;padding:16px 27px;font-weight:700;cursor:pointer;transition:background .2s}.button:hover{background:#e43d3d}.button:disabled{opacity:.6;cursor:wait}.subnote{color:var(--muted);font-size:13px;margin:20px 0 0}.hero-image{position:relative;overflow:hidden;min-height:490px;border-radius:120px 5px 5px 5px;background:#1e2427}.hero-image img{width:100%;height:100%;object-fit:cover;position:absolute}.image-caption{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:24px;font-size:11px;letter-spacing:2px;background:linear-gradient(transparent,#0009)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:32px 0;border-bottom:1px solid #34372e;font-size:11px;letter-spacing:1.7px;color:var(--muted)}.experience{padding:85px 6%}.section-head{display:grid;grid-template-columns:1fr 1.8fr 1.2fr;gap:35px;align-items:start}h2{font:500 clamp(35px,3.4vw,51px)/1.15 Manrope,sans-serif;letter-spacing:-2px}.section-head h2 span{color:var(--muted)}.section-head>p:last-child{color:var(--muted);line-height:1.7}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;margin-top:40px}.services article{border-top:1px solid #535947;padding-top:24px}.services article>span{color:var(--lime);font-size:13px}.services h3{font:500 27px Manrope,sans-serif;margin:22px 0 15px}.services p{color:var(--muted);line-height:1.75;max-width:350px}.booking{padding:80px 6%;background:#201719;display:grid;grid-template-columns:1fr 1.1fr;gap:80px}.booking h2{font-size:clamp(40px,4.2vw,64px);margin-bottom:25px}.booking-copy>p:not(.eyebrow){max-width:340px;color:var(--muted);line-height:1.75}.booking-note{font-size:13px;line-height:1.7;color:var(--muted);border-left:2px solid #a43c44;padding-left:20px;margin-top:50px}.form-wrap{background:#2c2124;border:1px solid #50383d;padding:35px;border-radius:8px}.form-wrap h3{font:500 25px Manrope,sans-serif;margin-bottom:25px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.full{grid-column:1/-1}label{display:block;font-size:14px;color:#e6e9df}input,select,textarea{display:block;width:100%;margin-top:9px;border:1px solid #665055;background:#21191c;border-radius:4px;color:var(--text);padding:13px;min-width:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#ad979c;font-size:14px}.privacy{font-size:12px;color:var(--muted);line-height:1.6;margin:21px 0}.form-wrap .button{width:100%}.honeypot{position:absolute;left:-9999px}.error{color:#ffb6a9;font-size:14px;margin:12px 0 0}.success{padding:45px 0;line-height:1.7}.success>span{font-size:45px;color:var(--lime)}.success p{color:var(--muted)}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px}footer p{color:var(--muted);margin:0}footer>span{font-size:12px;color:var(--muted)}:focus-visible{outline:2px solid var(--lime);outline-offset:4px}@media(max-width:850px){header{height:80px}nav>a:first-child{display:none}.hero{padding-top:40px;grid-template-columns:1fr}.hero-image{min-height:350px;border-radius:70px 5px 5px 5px}h1{letter-spacing:-2px}.hero-bottom>span:last-child{display:none}.section-head{grid-template-columns:1fr;gap:5px}.services{gap:20px}.services h3{font-size:22px}.booking{grid-template-columns:1fr;gap:30px}.booking-note{margin-top:25px}footer{flex-wrap:wrap}footer p{display:none}}@media(max-width:550px){.brand{font-size:22px}.navbook{padding:10px 14px}.services{grid-template-columns:1fr}.experience,.booking{padding-top:55px;padding-bottom:55px}.form-wrap{padding:23px 18px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.hero-image{min-height:290px}.hero-bottom{font-size:10px}h2{letter-spacing:-1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[data-slot=select-trigger]{display:flex;width:100%;justify-content:space-between;align-items:center;margin-top:9px;min-height:48px;border:1px solid #665055;border-radius:4px;background:#21191c;color:var(--text);padding:13px}[data-slot=select-trigger] svg{width:16px;height:16px}[data-slot=select-content]{background:#2c2124;border:1px solid #665055;border-radius:4px;z-index:30;min-width:200px}[data-slot=select-item]{padding:12px;cursor:pointer;outline:none;position:relative}[data-slot=select-item][data-highlighted]{background:#50383d}[data-slot=select-item] svg{width:14px;height:14px}.brand span{font-size:9px;letter-spacing:1px;display:block;margin:4px 0 0;vertical-align:initial}
.email-link{color:var(--lime);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}
.button{background:#bd2834}.button:hover{background:#d13240}
.custom-event{display:flex;align-items:center;justify-content:space-between;gap:32px;border-top:1px solid #34372e;margin-top:32px;padding-top:30px}.custom-event h3{font:500 24px Manrope,sans-serif;margin-bottom:12px}.custom-event p{color:var(--muted);line-height:1.7;max-width:640px;margin-bottom:0}.custom-event>a{flex-shrink:0}@media(max-width:700px){.custom-event{align-items:flex-start;flex-direction:column;gap:18px}}
/* Event-inspired finishing touches */
.hero{background:radial-gradient(ellipse at 12% 18%,#a7233219,transparent 54%)}
.hero-copy{animation:arrival .7s ease-out both}
.hero h1 em{display:inline-block;text-shadow:0 0 55px #ff55551a}
.hero-image{border:1px solid #ffffff15;box-shadow:0 22px 65px #0005;animation:arrival .9s .12s ease-out both}
.hero-image img{transition:transform 1.2s ease,filter 1.2s ease}
.hero-image:hover img{transform:scale(1.035);filter:contrast(1.06)}
.hero-image::after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 65px #0003}
.hero-bottom{position:relative}
.hero-bottom::before{content:"";position:absolute;bottom:-1px;left:0;width:90px;height:2px;background:var(--lime)}
.button{box-shadow:0 6px 24px #bd283422;transition:transform .2s,background .2s,box-shadow .2s}
.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #bd283440}
.button:active{transform:translateY(0)}
.navbook{transition:border-color .2s,background .2s}
.navbook:hover{border-color:var(--lime);background:#ff55550b}
.services article{position:relative;padding:25px 20px 20px;transition:background .25s,border-color .25s,transform .25s}
.services article:hover{border-color:var(--lime);background:#ff555508;transform:translateY(-4px)}
.services article>span{display:inline-flex;align-items:center;gap:12px}
.services article>span::after{content:"";width:25px;height:1px;background:#ff555560}
.custom-event{padding:28px;border:1px solid #5c3037;border-left:3px solid var(--lime);background:linear-gradient(110deg,#ff55550b,transparent);border-radius:5px}
.booking{position:relative;background:radial-gradient(ellipse at 0% 90%,#b4233218,transparent 65%),#201719}
.booking-copy h2 em{display:inline-block}
.form-wrap{box-shadow:0 18px 60px #0002}
input,textarea,[data-slot=select-trigger]{transition:border-color .2s,background .2s}
input:hover,textarea:hover,[data-slot=select-trigger]:hover{border-color:#a0666e}
input:focus,textarea:focus{border-color:var(--lime);background:#291d21}
footer{border-top:1px solid #34372e}
@keyframes arrival{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.hero-copy,.hero-image{animation:none}.button:hover,.services article:hover,.hero-image:hover img{transform:none}}
@media(hover:none){.button:hover,.services article:hover,.hero-image:hover img{transform:none}}
@media(max-width:550px){.custom-event{padding:22px 18px}.services article{padding-left:0;padding-right:0}}

.brand .brand-accent{color:var(--lime);font-weight:inherit}

.availability{color:var(--lime);font-size:12px;letter-spacing:.08em;margin-top:16px}.booking-phone{display:inline-block;color:var(--lime);font-size:clamp(24px,3vw,34px);font-weight:700;text-decoration:none;margin-top:20px}.booking-phone:hover{text-decoration:underline}.booking-copy .booking-availability{font-size:14px;margin-top:12px}

.event-gallery{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:42px}.event-gallery figure{margin:0;overflow:hidden;border:1px solid #ffffff18;border-radius:8px;background:#1b1b1b}.event-gallery img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.event-gallery figcaption{padding:19px 22px;font:500 18px Manrope,sans-serif;color:var(--text)}@media(max-width:700px){.event-gallery{grid-template-columns:1fr;gap:22px}.event-gallery figcaption{font-size:16px;padding:16px 18px}}

.hero-image img{object-position:45% center}.rooftop-photo{max-width:300px;margin-top:28px;overflow:hidden;border-radius:8px;border:1px solid #ffffff18}.rooftop-photo img{display:block;width:100%;height:auto}@media(max-width:850px){.rooftop-photo{max-width:260px}}

.photo-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;padding:35px 6% 45px;background:#201719}.photo-row img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:7px;border:1px solid #ffffff18}.photo-row img:first-child{object-position:center 35%}@media(max-width:700px){.photo-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:14px;padding-top:24px}.photo-row img{flex:0 0 75%;width:75%;scroll-snap-align:start}}
