:root {
  --black: #08070a;
  --panel: #111015;
  --panel-2: #19171e;
  --white: #f8f5f1;
  --muted: #b9b3bc;
  --line: rgba(255,255,255,.13);
  --amber: #ffb660;
  --pink: #f03f9d;
  --violet: #8357ff;
  --grad: linear-gradient(110deg,var(--amber),var(--pink) 55%,var(--violet));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img,video{display:block;width:100%}
.site-header{position:fixed;z-index:30;inset:0 0 auto;display:grid;grid-template-columns:190px 1fr auto;align-items:center;gap:2rem;padding:1rem clamp(1.25rem,4vw,4.5rem);background:linear-gradient(to bottom,rgba(8,7,10,.92),rgba(8,7,10,.55),transparent);transition:background .3s,backdrop-filter .3s}
.site-header.scrolled{background:rgba(8,7,10,.86);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.brand img{height:58px;object-fit:contain;object-position:left center}
nav{display:flex;justify-content:center;gap:clamp(1.2rem,3vw,3rem);font-size:.79rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
nav a{padding:.6rem 0;border-bottom:1px solid transparent}
nav a:hover,nav a:focus-visible{border-color:var(--pink)}
.header-cta{border:1px solid var(--pink);padding:.72rem 1rem;text-transform:uppercase;font-weight:900;font-size:.75rem;letter-spacing:.12em}
.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:9rem clamp(1.25rem,7vw,8rem) 5rem;isolation:isolate}
.hero-image{position:absolute;z-index:-4;inset:0;height:100%;object-fit:cover;object-position:center}
.hero-shade{position:absolute;z-index:-3;inset:0;background:linear-gradient(90deg,rgba(7,6,9,.98) 0%,rgba(7,6,9,.83) 38%,rgba(7,6,9,.28) 73%,rgba(7,6,9,.62)),linear-gradient(0deg,rgba(8,7,10,.92),transparent 40%)}
.hero-grid{position:absolute;z-index:-2;inset:0;opacity:.18;background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 65%)}
.hero-content{max-width:760px}
.eyebrow,.section-kicker{text-transform:uppercase;font-weight:900;letter-spacing:.2em;font-size:.72rem;color:var(--amber)}
.eyebrow span{display:inline-block;width:2.5rem;height:2px;background:var(--grad);vertical-align:middle;margin-right:.8rem}
.hero-logo{width:min(390px,72vw);margin:1.3rem 0 1.8rem}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:900;letter-spacing:-.055em;line-height:.92;text-transform:uppercase}
h1{font-size:clamp(3.2rem,7.5vw,7.8rem);margin-bottom:1.7rem}
h1 em,h2 em,h2 span{font-style:normal;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.75)}
.hero-copy{max-width:620px;font-size:clamp(1rem,1.35vw,1.25rem);color:#ddd7df;margin-bottom:2rem}
.hero-actions{display:flex;gap:.8rem;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.4rem;border:1px solid transparent;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em;font-weight:900;transition:transform .2s,background .2s}
.button:hover,.button:focus-visible{transform:translateY(-2px)}
.button.primary{background:var(--grad);color:#08070a}
.button.ghost{border-color:rgba(255,255,255,.45);backdrop-filter:blur(8px)}
.hero-stamp{position:absolute;right:clamp(1.5rem,5vw,5rem);bottom:5.5rem;width:160px;height:160px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:rgba(9,8,11,.38);backdrop-filter:blur(10px);transform:rotate(8deg)}
.hero-stamp:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(255,182,96,.55);border-radius:50%}
.hero-stamp span{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber)}
.hero-stamp strong{font-size:1.35rem;line-height:1.05;letter-spacing:.06em}
.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.scroll-cue span{display:block;width:1px;height:38px;background:linear-gradient(var(--pink),transparent);margin:0 auto .45rem}
.section{padding:clamp(5rem,10vw,10rem) clamp(1.25rem,7vw,8rem)}
.intro{background:var(--black)}
.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(3rem,8vw,9rem);align-items:end}
h2{font-size:clamp(3rem,6.4vw,7rem);margin-bottom:0}
.intro-copy{color:var(--muted);font-size:1.12rem;max-width:560px}
.feature-strip{margin-top:5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr)}
.feature-strip article{display:flex;align-items:center;gap:1.3rem;padding:1.5rem 2rem;border-right:1px solid var(--line)}
.feature-strip article:last-child{border-right:0}
.feature-strip b{font-size:.7rem;color:var(--pink)}
.feature-strip span{font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.feature-strip small{font-weight:500;color:var(--muted);text-transform:none;letter-spacing:0}
.location{display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--panel);padding-top:0;padding-bottom:0;align-items:stretch}
.location-media{position:relative;min-height:680px;margin-left:calc(-1 * clamp(1.25rem,7vw,8rem))}
.location-media video{height:100%;object-fit:cover}
.video-badge{position:absolute;left:2rem;bottom:2rem;padding:.65rem 1rem;background:rgba(8,7,10,.75);backdrop-filter:blur(10px);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:.7rem}
.video-badge span{display:inline-block;width:8px;height:8px;background:var(--pink);border-radius:50%;margin-right:.5rem;box-shadow:0 0 16px var(--pink)}
.location-copy{padding:clamp(5rem,9vw,9rem) 0 clamp(5rem,9vw,9rem) clamp(3rem,7vw,7rem);align-self:center}
.location-copy h2{margin-bottom:2rem}
.location-copy>p:not(.section-kicker){color:var(--muted);font-size:1.08rem;max-width:570px}
.location-points{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.location-points span{padding:.55rem .8rem;border:1px solid var(--line);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.djs{display:grid;grid-template-columns:.8fr 1fr 1fr;gap:1.25rem;align-items:end;background:linear-gradient(145deg,#08070a,#15101a)}
.djs-heading{padding-right:2rem}
.djs-heading h2{font-size:clamp(2.8rem,5vw,5.5rem)}
.dj-card{position:relative;overflow:hidden;min-height:620px;background:var(--panel-2)}
.dj-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,7,10,.96) 0%,transparent 55%)}
.dj-card img{position:absolute;inset:0;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05);transition:transform .6s}
.dj-card:hover img{transform:scale(1.025)}
.dj-dirk img{object-position:center 38%}
.dj-koby img{object-position:center 22%}
.dj-card div{position:absolute;z-index:2;left:2rem;right:2rem;bottom:1.8rem}
.dj-card p{color:var(--amber);font-size:.7rem;letter-spacing:.2em;font-weight:900;margin-bottom:.2rem}
.dj-card h3{font-size:clamp(3rem,5vw,5.7rem);line-height:1;margin-bottom:.5rem}
.dj-card span{color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.gallery{background:var(--black)}
.gallery-heading{display:grid;grid-template-columns:1fr 340px;gap:4rem;align-items:end;margin-bottom:3.5rem}
.gallery-heading>p{color:var(--muted);margin-bottom:0}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:260px;gap:12px}
.gallery-grid figure{position:relative;margin:0;overflow:hidden;background:var(--panel)}
.gallery-grid img{height:100%;object-fit:cover;transition:transform .6s,filter .6s}
.gallery-grid figure:hover img{transform:scale(1.035);filter:saturate(1.15)}
.gallery-grid figcaption{position:absolute;inset:auto 0 0;padding:2.5rem 1rem 1rem;background:linear-gradient(transparent,rgba(8,7,10,.9));font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.g-wide{grid-column:span 2}
.g-tall{grid-row:span 2}
.updates{position:relative;overflow:hidden;display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;background:var(--panel);border-top:1px solid var(--line)}
.updates-mark{font-size:clamp(8rem,24vw,25rem);font-weight:950;letter-spacing:-.13em;line-height:.7;color:transparent;-webkit-text-stroke:2px rgba(240,63,157,.34);transform:translateX(-7%)}
.updates>div:last-child{max-width:700px}
.updates h2{margin-bottom:1.8rem}
.updates p:not(.section-kicker){color:var(--muted);font-size:1.08rem;max-width:590px;margin-bottom:2rem}
footer{display:grid;grid-template-columns:200px 1fr 1fr auto;align-items:center;gap:2rem;padding:2rem clamp(1.25rem,4vw,4.5rem);border-top:1px solid var(--line);color:var(--muted);font-size:.78rem}
footer img{width:180px}
footer p{margin:0}
.copyright{text-align:right}
@media(max-width:1050px){
  .site-header{grid-template-columns:150px 1fr}.brand img{height:48px}.header-cta{display:none}
  .hero-stamp{display:none}
  .djs{grid-template-columns:1fr 1fr}.djs-heading{grid-column:1/-1;margin-bottom:2rem}.dj-card{min-height:550px}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  footer{grid-template-columns:160px 1fr 1fr}.copyright{grid-column:2/-1;text-align:left}
}
@media(max-width:760px){
  .site-header{display:flex;justify-content:space-between;padding:.8rem 1rem}.brand img{width:130px;height:45px}nav{gap:1rem}nav a{font-size:0}nav a:after{font-size:.64rem}nav a:nth-child(1):after{content:"Party"}nav a:nth-child(2):after{content:"Cantina"}nav a:nth-child(3){display:none}nav a:nth-child(4):after{content:"Bilder"}
  .hero{padding:8rem 1.25rem 5rem;align-items:flex-end}.hero-image{object-position:45% center}.hero-shade{background:linear-gradient(0deg,rgba(7,6,9,.98),rgba(7,6,9,.45) 72%,rgba(7,6,9,.68))}
  h1{font-size:clamp(3rem,14vw,5.2rem)}.hero-logo{width:260px}
  .section{padding:5.5rem 1.25rem}.intro-grid,.gallery-heading,.updates{grid-template-columns:1fr;gap:2rem}.feature-strip{grid-template-columns:1fr}.feature-strip article{border-right:0;border-bottom:1px solid var(--line)}.feature-strip article:last-child{border-bottom:0}
  .location{grid-template-columns:1fr;padding:0}.location-media{min-height:68svh;margin:0}.location-copy{padding:4.5rem 1.25rem}
  .djs{grid-template-columns:1fr}.djs-heading{grid-column:auto}.dj-card{min-height:520px}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:210px;gap:8px}.g-wide{grid-column:span 2}.g-tall{grid-row:span 2}
  .updates-mark{font-size:46vw}.updates{padding-top:3rem}
  footer{grid-template-columns:1fr;text-align:left}.copyright{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.dj-card img,.button{transition:none}}
