@font-face {
  font-family: 'Switzerland';
  src: url('/fonts/Switzerland.woff2') format('woff2');
  font-weight: 400;
  font-display: swap;
}

/* RESET */
* { margin:0; padding:0; box-sizing:border-box; }

/* BASE */
body {
  background:#0a0a0a;
  color:#fff;
  font-family:'DM Sans', sans-serif;
  line-height:1.6;
  overflow-x:hidden;
}

/* DEV */
#dev-overlay{
  position:fixed; inset:0;
  background:rgba(0,0,0,.85);
  backdrop-filter:blur(12px);
  display:flex; align-items:center; justify-content:center;
  z-index:9999;
}
.dev-box{ text-align:center; letter-spacing:.22em; opacity:.9 }
.dev-box small{ display:block; margin-top:10px; opacity:.5 }

/* AMBIENT */
.ambient{
  position:fixed; top:-20%;
  width:35vw; height:140vh;
  filter:blur(160px); opacity:.4;
  pointer-events:none;
}
.ambient.left{ left:-15%; background:radial-gradient(circle,#555,transparent) }
.ambient.right{ right:-15%; background:radial-gradient(circle,#222,transparent) }

/* HERO */
.hero{
  min-height:100vh;
  padding:120px 6vw 80px;
  text-align:center;
}
.logo{
  font-family:'Switzerland',sans-serif;
  font-size:clamp(3.5rem,10vw,8rem);
  font-weight:400;
}
.hero-desc{ max-width:520px; margin:20px auto 60px; opacity:.7 }
.hero-images{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  max-width:1100px;
  margin:auto;
}
.hero-images img{
  width:100%; height:240px;
  object-fit:cover; border-radius:16px; opacity:.9;
}

/* MANIFEST */
.manifest{ padding:140px 6vw; text-align:center }
.manifest p{ max-width:620px; margin:auto; opacity:.75 }

/* ARTISTS */
.artists{
  padding:140px 6vw;
  text-align:center;
}
.artists h2{ margin-bottom:60px; font-weight:500 }

.artist-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:50px;
  max-width:1100px;
  margin:auto;
}

.artist-card{
  border-radius:16px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.08);
  background:#0b0b0b;
  transition:transform .3s ease, box-shadow .3s ease;
}
.artist-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 40px rgba(0,0,0,.6);
}
.artist-card iframe{
  width:100%;
  height:352px;
  border:0;
}

/* PILLARS */
.pillars{
  padding:120px 6vw;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:60px;
}
.pillar p{ opacity:.7 }

/* APPLY */
.apply{ padding:160px 6vw; text-align:center }
.apply-form{
  max-width:520px;
  margin:auto;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.apply-form input,
.apply-form textarea{
  background:transparent;
  border:1px solid rgba(255,255,255,.25);
  padding:14px;
  color:#fff;
  font-family:ui-monospace, monospace;
}
.apply-form button{
  margin-top:20px;
  padding:14px;
  background:transparent;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
  letter-spacing:.15em;
  cursor:pointer;
}
.apply-form button:hover{ background:rgba(255,255,255,.08) }

/* FOOTER */
footer{ padding:60px 0; text-align:center; opacity:.4 }

/* REVEAL */
.reveal{ opacity:0; transform:translateY(60px); transition:1s ease }
.reveal.active{ opacity:1; transform:none }

/* MOBILE */
@media(max-width:768px){
  .hero-images{ grid-template-columns:1fr }
  .hero-images img{ height:200px }
}
