:root{--bg:#101010;--panel:#1b1b1b;--fg:#f2f2f2;--muted:#b5b5b5;--accent:#d0d0d0;--line:#353535}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--fg);font-family:Arial,Helvetica,sans-serif;font-size:17px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}header{height:96px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px}.brand b{font-size:34px;letter-spacing:-3px;line-height:1}.brand b span{color:var(--accent);letter-spacing:0;margin-left:5px}.brand>span{font-size:12px;letter-spacing:2px;font-weight:bold}nav{display:flex;align-items:center;gap:32px;font-size:14px}nav a:hover,footer button:hover{color:var(--accent)}.small-button{border:1px solid var(--line);padding:10px 18px;border-radius:4px}.hero{position:relative;min-height:740px;display:flex;align-items:center;overflow:hidden}.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 40%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.94),rgba(10,10,10,.65) 38%,rgba(10,10,10,.1) 75%),linear-gradient(0deg,#101010,transparent 35%)}.hero-content{position:relative;z-index:1;width:100%;padding:65px 8% 110px}.eyebrow{font-size:12px;font-weight:bold;letter-spacing:2.5px;color:var(--accent);margin:0 0 22px}h1{font-size:clamp(64px,6.5vw,106px);line-height:.98;letter-spacing:-5px;margin:0 0 30px;max-width:740px}h1 em{font-style:normal;color:var(--accent)}.intro{font-size:18px;color:#d5d5d5;line-height:1.7}.button{display:inline-block;background:var(--accent);color:#151515;border:none;border-radius:4px;padding:15px 24px;font-size:15px;font-weight:bold;cursor:pointer;margin-top:18px;transition:background .2s,transform .2s}.button:hover{background:#eeeeee;transform:translateY(-2px)}.hero-note{display:block;font-size:13px;color:var(--muted);margin-top:13px}.hero-bottom{position:absolute;bottom:25px;left:8%;right:8%;display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:2px;color:#c4c4c4}.stats{margin:0 8%;padding:34px 0;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);gap:25px}.stats strong{display:block;font-size:25px;line-height:1.4}.stats span{font-size:13px;color:var(--muted)}.section{padding:105px 8%}.section-head{display:flex;justify-content:space-between;gap:55px;align-items:flex-end;margin-bottom:45px}.section-head>p{max-width:340px;color:var(--muted)}h2{font-size:clamp(34px,3.5vw,54px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 22px}h3{font-size:23px;line-height:1.25;margin:20px 0 15px}p{margin:0 0 20px}.event-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.event-grid article{background:var(--panel);border:1px solid #303030;border-radius:6px;padding:28px 23px;display:flex;flex-direction:column}.number{color:var(--accent);font-size:14px}.event-grid p{font-size:15px;color:var(--muted);line-height:1.7}.event-grid a{margin-top:auto;font-size:13px;font-weight:bold;padding-top:14px;border-top:1px solid var(--line)}.event-grid a:hover{color:var(--accent)}.sound{padding:75px 8%;background:#181818;display:grid;grid-template-columns:1fr 1fr;gap:12%}.sound>div>p:not(.eyebrow){max-width:470px;color:var(--muted)}.genres{align-self:center}.genres span{display:inline-block;border:1px solid #505050;padding:8px 19px;border-radius:30px;font-size:22px;margin:0 8px 15px 0}.genres .highlight{background:var(--accent);color:#161616;border-color:var(--accent)}.genres p{font-size:14px;margin-top:15px}.team{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.team-photo{position:relative;align-self:stretch;min-height:570px}.team-photo img{width:100%;height:100%;position:absolute;object-fit:cover;border-radius:6px}.team-photo>span{position:absolute;bottom:20px;left:20px;font-size:11px;letter-spacing:2px;background:#101010c9;padding:8px 12px}.team p{color:var(--muted);font-size:16px}.team .eyebrow{color:var(--accent);font-size:12px}.profile{border-top:1px solid var(--line);margin-top:22px}.profile h3 span{color:var(--accent);font-size:12px;letter-spacing:1px;margin-left:10px}.tech{padding-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:7%;border-bottom:1px solid var(--line)}.tech-copy p,.tech-copy li{color:var(--muted);font-size:16px}.tech-copy strong{color:var(--fg)}.tech-copy ul{padding-left:20px;margin:25px 0}.tech-copy li{margin-bottom:8px}.tech-copy li::marker{color:var(--accent)}.gallery{display:grid;grid-template-columns:1.3fr 1fr .7fr;gap:18px}.gallery button{padding:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden;border-radius:6px;min-height:350px}.gallery img{width:100%;height:100%;max-height:390px;object-fit:cover;display:block;transition:transform .3s}.gallery button:hover img{transform:scale(1.04)}.booking{background:var(--panel);display:grid;grid-template-columns:1fr 1.15fr;gap:9%}.price{border-left:3px solid var(--accent);padding-left:23px;margin:33px 0}.price>span{font-size:15px;color:var(--muted);display:block}.price strong{font-size:43px;line-height:1.4}.price p{font-size:14px;color:var(--muted);max-width:330px;margin:10px 0}.booking-text>p:not(.eyebrow){font-size:15px;color:var(--muted);margin-bottom:2px}.phone{font-size:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-size:14px;display:block}.wide{grid-column:1/-1}input,select,textarea{width:100%;display:block;margin-top:7px;background:#101010;border:1px solid #454545;border-radius:4px;color:var(--fg);padding:12px;min-height:49px;font-size:16px;color-scheme:dark}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#a3a3a3}.form-note{font-size:13px;color:var(--muted);margin-top:20px}form .button{margin-top:0}#form-status{font-size:14px;margin-top:14px;color:var(--accent)}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:30px;padding:45px 8%;font-size:13px;color:var(--muted)}footer button{background:none;color:inherit;border:0;cursor:pointer;font-size:13px;margin-right:14px;padding:5px}footer small{width:100%;font-size:12px}dialog{border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--fg);padding:45px;max-width:700px;width:calc(100% - 30px);max-height:90vh}dialog::backdrop{background:#000c}dialog h2{font-size:32px}dialog p{font-size:16px;color:var(--muted)}.close{position:absolute;right:10px;top:8px;border:0;background:#292929;color:white;font-size:25px;width:40px;height:40px;cursor:pointer;border-radius:50%}#lightbox{max-width:1100px;padding:50px 15px 10px}#lightbox img{display:block;width:100%;max-height:72vh;object-fit:contain}#lightbox p{margin:12px 8px 0}@media(min-width:1700px){.hero-content,.section,.sound,.booking{padding-left:max(8%,calc((100% - 1440px)/2));padding-right:max(8%,calc((100% - 1440px)/2))}}@media(max-width:1000px){.event-grid{grid-template-columns:1fr 1fr}.hero{min-height:680px}.section,.sound{padding:75px 6%}.team{gap:5%}.stats{margin:0 6%}.section-head{gap:25px}.booking{gap:5%}.gallery button{min-height:270px}}@media(max-width:650px){header{height:80px;padding:0 5%}.brand>span{font-size:9px;letter-spacing:1px}.brand{gap:7px}.brand b{font-size:28px}nav{gap:0}nav>a:not(.small-button){display:none}.small-button{font-size:12px;padding:8px 12px}.hero{min-height:730px;align-items:flex-end}.hero>img{height:60%;object-position:52% 30%}.hero-shade{background:linear-gradient(0deg,#101010 39%,#10101033 86%)}.hero-content{padding:290px 6% 70px}.hero h1{font-size:61px;letter-spacing:-2.8px}.hero .eyebrow{font-size:10px;letter-spacing:1.8px}.intro{font-size:16px}.hero-bottom{bottom:18px;left:6%;font-size:9px}.hero-bottom span:last-child{display:none}.stats{grid-template-columns:1fr 1fr;gap:25px 18px}.stats strong{font-size:22px}.stats span{font-size:12px}.section,.sound{padding:65px 6%}.section-head{display:block;margin-bottom:30px}.section-head>p{font-size:16px}.event-grid{gap:12px}.event-grid article{padding:20px 16px}.event-grid h3{font-size:21px}.event-grid p{font-size:14px}.event-grid a{font-size:12px}.sound,.team,.tech,.booking{grid-template-columns:1fr;gap:35px}.genres span{font-size:20px}.team-photo{min-height:400px}.team h2{font-size:36px}.tech{padding-top:0}.gallery{grid-template-columns:1fr 1fr;gap:12px}.gallery button{min-height:220px}.gallery button:first-child{grid-column:1/-1;min-height:280px}.gallery img{max-height:320px}.booking{gap:35px}.form-grid{gap:15px}footer{padding:35px 6%;gap:22px}dialog{padding:48px 22px 25px}h2{letter-spacing:-1px}}@media(max-width:380px){.event-grid,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.hero h1{font-size:54px}.brand>span{max-width:66px}.gallery{grid-template-columns:1fr}.gallery button:first-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.alternate{background:transparent;color:var(--fg);cursor:pointer;margin-top:12px;padding:14px 18px;font-size:14px}

.offer{border-left:3px solid var(--accent);padding-left:23px;margin:33px 0}.offer h3{margin-top:0}.offer p{color:var(--muted);font-size:16px}.footer-link{display:inline-block;margin-right:18px;padding:5px}.footer-link:hover{color:var(--fg)}.legal-page{max-width:1000px;margin:auto;padding:75px 6%}.legal-page h1{font-size:clamp(34px,5vw,60px);line-height:1.12;letter-spacing:-1.5px;overflow-wrap:anywhere}.legal-date{color:var(--muted)}.legal-contents{display:grid;gap:10px;margin:45px 0;padding:25px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.legal-contents a{text-decoration:underline;text-underline-offset:4px}.legal-page section{margin:50px 0;scroll-margin-top:30px}.legal-page h2{font-size:clamp(23px,3vw,30px);line-height:1.3;letter-spacing:-.5px}.legal-page section p{color:var(--muted);overflow-wrap:anywhere}.table-scroll{overflow-x:auto;margin:25px 0}.legal-page table{width:100%;border-collapse:collapse;font-size:15px}.legal-page th,.legal-page td{text-align:left;padding:14px;border:1px solid var(--line)}.legal-page th{background:var(--panel)}.legal-page td:last-child{white-space:nowrap}@media(max-width:650px){.legal-page{padding-top:45px}.legal-contents{padding:18px;font-size:14px}}

/* Keep the full team portrait above the text on phones. */
@media(max-width:650px){.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;overflow:visible}.hero>img{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1536/1021;object-fit:contain;object-position:center;display:block}.hero-shade{display:none}.hero-content{padding:30px 6% 35px}.hero-bottom{position:static;padding:0 6% 25px}.hero h1{font-size:clamp(48px,12vw,61px)}}

/* Portrait and copy never overlap, regardless of viewport width. */
.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;overflow:visible}.hero>img{position:static;inset:auto;width:100%;height:auto;max-width:1200px;align-self:center;aspect-ratio:1536/1021;object-fit:contain;object-position:center;display:block}.hero .stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 8%;padding:30px 0;gap:25px}.hero .stats strong{font-size:25px}.hero-content{padding:55px 8% 40px;display:block}.hero-bottom{position:static;padding:0 8% 30px}.hero h1{font-size:clamp(48px,6.5vw,88px)}.legal-page a:not(.button){text-decoration:underline;text-underline-offset:3px}.legal-notice{border-left:3px solid var(--accent);padding:16px 20px;background:var(--panel)}
@media(max-width:650px){.hero .stats{margin:0 6%;gap:22px;grid-template-columns:1fr}.hero .stats strong{font-size:23px}.hero-content{padding:35px 6% 30px}.hero-bottom{padding:0 6% 25px}.hero h1{font-size:clamp(46px,12vw,61px)}}
