
:root{
  --black:#050505; --soft:#0d0d0d; --panel:#121212; --gold:#c59a16;
  --cream:#f4efe4; --muted:#b8b3aa; --line:#282828;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--cream);font-family:Arial,Helvetica,sans-serif;line-height:1.55}
img{max-width:100%;display:block}
a{color:inherit}
.site-header{height:82px;position:fixed;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(20px,4vw,64px);background:linear-gradient(#050505ee,#050505aa,transparent);transition:.25s}
.site-header.scrolled{background:#050505f5;border-bottom:1px solid #222}
.brand img{width:78px;height:62px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.site-nav a{text-decoration:none}
.site-nav a:hover{color:var(--gold)}
.nav-ticket{border:1px solid var(--gold);padding:10px 14px}
.menu-button{display:none;background:none;border:1px solid #444;color:#fff;padding:8px 12px;text-transform:uppercase;letter-spacing:.08em}
.hero{min-height:100vh;position:relative;display:flex;align-items:flex-end;overflow:hidden}
.hero-image{position:absolute;inset:0;background:url("assets/pizzarelli-room.png") center 48%/cover no-repeat;transform:scale(1.02)}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#000 0%,#000e 34%,#0008 60%,#0005 100%),linear-gradient(0deg,#050505 0%,transparent 35%)}
.hero-content{position:relative;z-index:3;width:min(760px,90%);padding:150px 0 10vh clamp(24px,7vw,110px)}
.hero-logo{width:150px;margin-bottom:24px}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;margin:0 0 16px}
.gold-text{color:var(--gold)}
h1,h2,h3{line-height:.98;margin:0;font-weight:900;letter-spacing:-.035em}
h1{font-size:clamp(46px,7vw,92px)}
h1 span{color:var(--gold)}
h2{font-size:clamp(42px,5.5vw,76px)}
h3{font-size:clamp(28px,3.2vw,48px)}
.hero-copy{font-size:clamp(18px,2vw,24px);max-width:670px;color:#ddd;margin:24px 0 32px}
.actions{display:flex;gap:14px;flex-wrap:wrap}
.button{display:inline-block;text-decoration:none;text-transform:uppercase;letter-spacing:.08em;font-size:13px;font-weight:800;padding:15px 20px;border:1px solid}
.button.gold{background:var(--gold);border-color:var(--gold);color:#050505}
.button.gold:hover{background:#ddb325}
.button.outline{border-color:#777}
.button.outline:hover{border-color:var(--gold);color:var(--gold)}
.section{padding:110px clamp(24px,7vw,110px)}
.intro{max-width:1050px}
.intro h2{max-width:900px}
.lead{font-size:clamp(22px,2.6vw,34px);line-height:1.35;color:#eee}
.intro>p:last-child,.vision p:not(.lead),.experience p:not(.lead){max-width:850px;color:var(--muted);font-size:18px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:45px}
.text-link{color:var(--gold);text-decoration:none;font-weight:800}
.concert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.concert-card{background:var(--panel);border:1px solid var(--line);overflow:hidden;position:relative}
.concert-card:last-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(320px,.85fr) 1fr}
.concert-card img{width:100%;aspect-ratio:1/1;object-fit:cover}
.concert-card:last-child img{height:100%;aspect-ratio:auto;object-fit:cover}
.concert-copy{padding:28px 30px 34px}
.concert-copy .date{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:13px;color:#ddd}
.concert-copy p:not(.date){color:#bbb;font-size:17px}
.concert-copy a{font-weight:800;text-decoration:none;color:var(--gold)}
.magenta{--accent:#bc198c}.red{--accent:#ee252b}.rainbow{--accent:#d3a7ce}.pink{--accent:#ef2c77}.gold-card{--accent:#c59a16}
.concert-card:before{content:"";display:block;position:absolute;left:0;top:0;width:5px;height:100%;background:var(--accent)}
.experience{display:grid;grid-template-columns:1.1fr .9fr;min-height:760px;background:#0b0b0b}
.experience-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05)}
.experience-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.room-gallery{display:grid;grid-template-columns:1.35fr .65fr;gap:18px;background:#090909}
.room-gallery figure{margin:0;overflow:hidden}
.room-gallery .wide{grid-row:span 2}
.room-gallery img{width:100%;height:100%;object-fit:cover;min-height:280px}
.vision{display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:center;border-top:1px solid #191919}
.songbook{border-left:1px solid var(--gold);padding-left:36px;color:var(--gold)}
.songbook span{display:block;font-size:14px;letter-spacing:.18em;font-weight:800;margin-bottom:10px}
.songbook strong{font-size:clamp(34px,4vw,58px);line-height:1.02}
.cta{text-align:center;background:radial-gradient(circle at 50% 20%,#241d08 0,#0a0a0a 45%,#050505 72%)}
.cta img{width:125px;margin:0 auto 24px}
.cta h2{margin-bottom:18px}
.cta p:not(.eyebrow){color:#bbb;font-size:18px}
.centered{justify-content:center;margin-top:28px}
footer{border-top:1px solid #222;padding:30px clamp(24px,7vw,110px);display:flex;justify-content:space-between;gap:30px;color:#888;font-size:13px}
footer div{display:flex;gap:22px}
footer a{text-decoration:none;color:#aaa}
.squares i{position:absolute;border:2px solid #c59a1630;width:58px;height:58px;z-index:2}
.squares i:nth-child(1){right:9%;top:16%;border-color:#bc198c33}
.squares i:nth-child(2){right:15%;top:25%;width:24px;height:24px;border-color:#00a9b533}
.squares i:nth-child(3){left:48%;top:18%;width:34px;height:34px}
.squares i:nth-child(4){right:4%;bottom:17%;width:90px;height:90px;border-color:#ffffff15}

@media (max-width:850px){
  .site-header{height:68px;padding:7px 18px;background:#050505e8}
  .brand img{width:62px;height:52px}
  .menu-button{display:block}
  .site-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#070707;border-top:1px solid #222;padding:20px;flex-direction:column;align-items:flex-start;gap:18px}
  .site-nav.open{display:flex}
  .hero{min-height:92vh}
  .hero-image{background-position:62% center}
  .hero-shade{background:linear-gradient(0deg,#050505 0%,#000c 42%,#0005 100%)}
  .hero-content{padding:120px 24px 70px;width:100%}
  .hero-logo{width:105px}
  .section{padding:78px 22px}
  .section-heading{align-items:flex-start;flex-direction:column}
  .concert-grid{grid-template-columns:1fr}
  .concert-card:last-child{grid-column:auto;display:block}
  .concert-card:last-child img{height:auto;aspect-ratio:1/1}
  .experience{grid-template-columns:1fr;min-height:auto}
  .experience-photo img{max-height:620px}
  .experience-copy{padding:72px 22px}
  .room-gallery{grid-template-columns:1fr}
  .room-gallery .wide{grid-row:auto}
  .vision{grid-template-columns:1fr;gap:60px}
  footer{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.finale-label{display:inline-block;margin:0 0 12px!important;padding:6px 9px;border:1px solid var(--gold);color:var(--gold)!important;text-transform:uppercase;letter-spacing:.12em;font-size:11px!important;font-weight:900}
.main-hall-finale{display:grid;grid-template-columns:1.08fr .92fr;background:#0b0b0b;border-top:1px solid #1d1d1d;border-bottom:1px solid #1d1d1d}
.main-hall-image{position:relative;min-height:720px}
.main-hall-image img{width:100%;height:100%;object-fit:cover;object-position:left center}
.photo-caption{position:absolute;left:20px;bottom:16px;margin:0;padding:7px 10px;background:#000b;color:#ddd;font-size:12px}
.main-hall-copy{padding:9vw 7vw;display:flex;flex-direction:column;justify-content:center}
.main-hall-copy>p:not(.eyebrow):not(.lead):not(.finale-event){color:var(--muted);font-size:18px}
.finale-event{margin:24px 0 28px;padding:20px 0;border-top:1px solid #333;border-bottom:1px solid #333;font-size:18px;line-height:1.5}
.finale-event strong{font-size:24px;color:#fff}
.finale-event span{color:var(--gold);font-weight:800}
.main-hall-copy .button{align-self:flex-start}
@media (max-width:850px){
  .main-hall-finale{grid-template-columns:1fr}
  .main-hall-image{min-height:500px}
  .main-hall-copy{padding:72px 22px}
}
