@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
:root{--black:#080b09;--green:#24e477;--white:#f7f7ef;--red:#ef393f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--black);color:var(--white);font-family:'Barlow',Arial,sans-serif;font-size:18px;line-height:1.55}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--green);outline-offset:6px}header{height:102px;padding:14px 5%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:2;width:100%;border-bottom:1px solid #ffffff25}.brand img{display:block;width:74px;height:74px;object-fit:contain}nav{display:flex;align-items:center;gap:36px;font-size:16px;font-weight:600}.nav-cta{border:1px solid #ffffff80;border-radius:4px;padding:10px 22px}.hero{min-height:830px;height:100svh;max-height:1150px;position:relative;padding:165px 6% 95px;overflow:hidden}.hero-photo{position:absolute;right:0;top:0;width:61%;height:100%;object-fit:cover;object-position:center 42%}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#080b09 5%,#080b09ee 30%,#080b0960 65%,#080b0910),linear-gradient(0deg,#080b09,transparent 30%);pointer-events:none}.hero-content,.hero-bottom{position:relative;z-index:1}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.15em;margin:0 0 24px}.eyebrow span{display:inline-block;width:22px;height:3px;background:var(--green);vertical-align:middle;margin-right:10px}h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',Impact,sans-serif;line-height:.96;letter-spacing:-.015em;margin:0;font-weight:800}h1{font-size:clamp(90px,9vw,150px)}em{font-style:normal;color:var(--green)}.intro{font-size:21px;margin:26px 0 30px;line-height:1.45}.button{display:inline-flex;gap:28px;justify-content:space-between;align-items:center;padding:17px 25px;background:var(--green);color:#06180d;font-size:16px;font-weight:700;border-radius:3px;transition:background .2s,transform .2s}.button:hover{background:#79fba8;transform:translateY(-2px)}.button span{font-size:23px}.hero-bottom{position:absolute;bottom:29px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:13px;letter-spacing:.1em}.hero-bottom a{letter-spacing:0;font-size:15px}.ribbon{display:flex;justify-content:space-around;gap:20px;padding:17px 3%;background:var(--green);color:var(--black);font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(25px,3.5vw,52px);font-weight:800;line-height:1.2}.section{padding:110px 6%}.concept,.occasions{display:grid;grid-template-columns:1fr 2fr;gap:5%;border-bottom:1px solid #ffffff20}h2{font-size:clamp(48px,5.1vw,80px)}.concept p:not(.eyebrow){max-width:620px;color:#bfc6c1;font-size:20px}.concept .statement{color:var(--white)!important;font-weight:600}.team{display:flex;gap:18px;align-items:center;margin-top:35px;font-size:14px;letter-spacing:.1em}.team b{color:var(--green)}.team span{padding:9px 14px;border:1px solid #ffffff40}.section-heading{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:50px}.moments-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}.moment{padding:35px 30px;min-height:480px;position:relative;overflow:hidden;display:flex;flex-direction:column;border:1px solid #ffffff25}.moment .number{font-family:'Barlow Condensed',Impact,sans-serif;font-size:55px;line-height:1;margin-bottom:40px;opacity:.55}.moment .eyebrow{margin-bottom:15px;font-size:13px}.moment h3{font-size:48px}.moment p:not(.eyebrow){font-size:17px;line-height:1.6}.moment .tag{display:block;margin-top:auto;padding-top:25px;font-size:12px;letter-spacing:.09em;font-weight:700}.remix{background:var(--green);color:#07160d}.karaoke{background:var(--white);color:#111}.dice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.37}.dice{background:#210505}.dice>div{position:relative;display:flex;flex-direction:column;flex:1}.crowd{height:590px;position:relative;display:flex;align-items:end;padding:65px 6%;overflow:hidden}.crowd:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#080b09f0,transparent 95%)}.crowd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}.crowd>div{position:relative;z-index:1}.crowd h2{font-size:clamp(45px,6vw,90px)}.credit{position:absolute;z-index:1;right:18px;bottom:5px;font-size:12px;color:#bac0bc}.occasions ul{list-style:none;padding:0;margin:45px 0 0}.occasions li{padding:20px 0;border-bottom:1px solid #ffffff25;font-size:23px;display:flex;justify-content:space-between}.occasions li span{font-size:14px;color:var(--green)}.booking{display:grid;grid-template-columns:1.3fr 1fr;gap:8%;background:#101a13}.booking h2{font-size:clamp(55px,6vw,92px)}.contact{align-self:center}.contact h3{font-family:inherit;font-size:27px;margin:12px 0 23px;line-height:1.2}.contact p{font-size:16px;color:#c0c9c2}.contact-link{display:block;font-size:clamp(22px,2.5vw,35px);font-weight:600}.mail{display:inline-block;margin:12px 0;border-bottom:1px solid #748678}.contact .button{margin-top:22px}footer{padding:35px 6%;display:flex;justify-content:space-between;gap:20px;align-items:center;font-size:13px;color:#a4aaa6}.footer-brand{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;color:var(--white)}.skip{position:fixed;z-index:10;top:-100px;left:15px;padding:15px;background:white;color:black}.skip:focus{top:10px}
@media(min-width:1600px){.section{padding-left:max(6%,calc((100vw - 1400px)/2));padding-right:max(6%,calc((100vw - 1400px)/2))}}@media(max-width:900px){.hero{min-height:790px}.hero-photo{width:90%}.hero:after{background:linear-gradient(90deg,#080b09ee,#080b0970),linear-gradient(0deg,#080b09,transparent)}.section{padding:75px 6%}.concept,.occasions{grid-template-columns:1fr;gap:20px}.moments-grid{grid-template-columns:1fr}.moment{min-height:360px}.moment .number{margin-bottom:25px}.moment h3 br{display:none}.moment h3 br:after{content:' '}.moment p:not(.eyebrow){max-width:580px}.dice img{object-position:50% 45%}.booking{gap:40px;grid-template-columns:1fr 1fr}.crowd{height:490px}footer{flex-wrap:wrap}}@media(max-width:580px){header{height:86px;padding:10px 6%}.brand img{width:60px;height:60px}nav{gap:16px;font-size:14px}nav>a:first-child{display:none}.nav-cta{padding:8px 13px}.hero{padding-top:145px;min-height:770px;height:95svh;max-height:900px}.hero-photo{width:100%;object-position:55% center}.hero:after{background:linear-gradient(90deg,#080b09db,#080b0960),linear-gradient(0deg,#080b09,transparent 60%)}h1{font-size:clamp(76px,18vw,105px)}.hero .eyebrow{font-size:12px;letter-spacing:.12em}.intro{font-size:19px}.button{font-size:14px;padding:15px 18px;gap:16px}.hero-bottom{bottom:23px;display:block}.hero-bottom>span{display:block;font-size:11px;margin-bottom:10px}.ribbon{gap:9px;font-size:24px;padding:16px 3%}.section{padding:65px 6%}h2{font-size:46px}.section-heading{display:block;margin-bottom:30px}.concept p:not(.eyebrow){font-size:18px}.team{gap:9px;font-size:12px}.team span{padding:8px 10px}.booking{grid-template-columns:1fr;gap:30px}.booking h2{font-size:60px}.crowd{height:430px;padding-bottom:70px}.crowd h2{font-size:44px}.crowd .eyebrow{font-size:12px}.credit{left:6%;right:auto;font-size:10px}.occasions li{font-size:19px}footer{display:block;padding:30px 6%}footer p{margin:10px 0}.contact-link{font-size:29px}.mail{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Center the original artwork, whose white canvas has asymmetric margins. */
header .brand{order:2;position:relative;display:block;flex:0 0 74px;width:74px;height:74px;border-radius:50%;overflow:hidden}
header nav{order:1}
header .brand img{position:absolute;width:133.783784%;height:126.351351%;max-width:none;left:-19.425676%;top:-15.033784%;object-fit:contain;clip-path:none;transform:none}
@media(max-width:580px){header .brand{flex-basis:60px;width:60px;height:60px}}

.booking-logo{display:block;width:200px;max-width:100%;height:auto;border-radius:4px;margin-bottom:24px}

.music-player{position:fixed;z-index:8;right:20px;bottom:20px;display:flex;align-items:center;gap:20px;background:#101a13f5;border:1px solid #ffffff45;border-radius:8px;padding:12px 16px;box-shadow:0 6px 30px #0006;max-width:calc(100% - 32px)}.music-player strong,.music-player span{display:block}.music-player strong{font-size:16px}.music-player div>span{font-size:12px;color:#bac6be}.music-player button{font:600 14px 'Barlow',Arial,sans-serif;cursor:pointer;background:var(--green);color:#07160d;border:0;border-radius:4px;padding:12px;min-width:100px;min-height:44px}.music-player button:focus-visible{outline:3px solid white;outline-offset:4px}.music-player button:disabled{opacity:.65;cursor:default}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}footer{padding-bottom:115px}@media(max-width:580px){.music-player{right:16px;bottom:12px;left:16px;justify-content:space-between;gap:8px;padding:10px 12px}.music-player div>span{font-size:12px}.music-player button{min-width:90px;padding:10px}.hero-bottom{bottom:105px}}

/* Two identical groups keep the moving band seamless at every viewport. */
.ribbon{display:block;overflow:hidden;padding:17px 0}
.ribbon-track{display:flex;width:max-content;animation:ribbon-scroll 22s linear infinite;will-change:transform}
.ribbon-group{display:flex;align-items:center;justify-content:space-around;flex-shrink:0;min-width:100vw;gap:clamp(32px,6vw,110px);padding:0 clamp(16px,3vw,55px)}
.ribbon-group span{white-space:nowrap;flex-shrink:0}
@keyframes ribbon-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ribbon:hover .ribbon-track{animation-play-state:paused}
@media(max-width:580px){.ribbon{padding:16px 0}.ribbon-track{animation-duration:18s}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;will-change:auto}.ribbon-group{min-width:100vw;gap:9px;padding:0 3vw}.ribbon-group:nth-child(2){display:none}}

/* Tactile feedback for navigation, booking and music controls. */
.button,.nav-cta,.music-player button,nav>a,.contact-link,.mail,.hero-bottom>a{
 transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease,color .16s ease;
 -webkit-tap-highlight-color:transparent;
}
nav>a,.contact-link,.mail,.hero-bottom>a{display:inline-block}
.contact-link{display:block}
@media(hover:hover){
 .button:hover,.music-player button:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 4px 0 #087536,0 8px 18px #0005;background:#79fba8}
 .nav-cta:hover{transform:translateY(-3px);background:var(--green);color:#07160d;box-shadow:0 4px 0 #087536,0 8px 18px #0005;border-color:var(--green)}
 nav>a:not(.nav-cta):hover,.contact-link:hover,.mail:hover,.hero-bottom>a:hover{transform:translateY(-2px);color:var(--green)}
}
.button:active,.nav-cta:active,.music-player button:not(:disabled):active{transform:translateY(2px) scale(.98);box-shadow:0 1px 0 #087536}
nav>a:not(.nav-cta):active,.contact-link:active,.mail:active,.hero-bottom>a:active{transform:translateY(1px)}
@media(prefers-reduced-motion:reduce){
 .button,.nav-cta,.music-player button,nav>a,.contact-link,.mail,.hero-bottom>a{transition:none!important;transform:none!important}
}

.remix .remix-instagram{margin-top:20px;background:var(--black);color:var(--white);font-size:14px;padding:13px 16px;gap:12px}.remix .remix-instagram:hover{background:#183922;color:var(--white)}

.remix-social{margin-top:20px}.moment .remix-social-title{font-size:16px;font-weight:700;margin:0 0 12px}.remix-social-links{display:flex;flex-wrap:wrap;gap:10px}.remix .remix-social-links .button{margin-top:0;flex:1 1 125px}
