:root{
    --bg:#16181A;
    --surface:#1F2224;
    --surface-2:#272A2C;
    --border:#262829;
    --border-strong:#33393A;
    --text:#F2F3F3;
    --text-2:#9CA3A3;
    --text-3:#5C6262;
    --accent:#4FD1C5;
    --accent-dark:#04342C;
    --accent-dim:#1E3A37;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html, body{ height:100%; }
  body{
    background:var(--bg);
    color:var(--text);
    font-family:'Inter', Arial, sans-serif;
    -webkit-font-smoothing:antialiased;
    display:flex; flex-direction:column; min-height:100vh;
  }
  #main-content{ flex:1 0 auto; }
  footer{ flex-shrink:0; }
  h1,h2,h3,.display{ font-family:'Space Grotesk', sans-serif; font-weight:600; letter-spacing:-0.01em; }
  a{ color:inherit; text-decoration:none; }
  img{ display:block; width:100%; height:100%; object-fit:cover; }
  .wrap{ max-width:1100px; margin:0 auto; padding:0 32px; }

  /* NAV */
  header{
    position:sticky; top:0; z-index:50;
    background:rgba(14,15,16,0.92); backdrop-filter:blur(8px);
    border-bottom:0.5px solid var(--border);
  }
  nav.wrap{ display:flex; align-items:center; justify-content:space-between; height:68px; }
  .logo{ display:flex; align-items:center; gap:12px; }
  .logo img{ height:40px; width:auto; object-fit:contain; }
  .logo .wordmark{ font-family:'Space Grotesk'; font-weight:700; font-size:17px; letter-spacing:0.4px; color:var(--text); }
  .navlinks{ display:flex; align-items:center; gap:26px; font-size:14.5px; color:var(--text-2); position:relative; }
  .navlinks a, .navlinks .dropdown-trigger{ cursor:pointer; padding:6px 10px; border-radius:6px; position:relative; }
  .navlinks a:hover, .navlinks .dropdown-trigger:hover{ color:var(--text); }
  .navlinks a.active, .dropdown-wrap.active-parent .dropdown-trigger{ color:var(--accent-dark); background:var(--accent); font-weight:600; }
  .dropdown-wrap{ position:relative; }
  .dropdown-wrap::after{ content:""; position:absolute; left:0; right:0; top:100%; height:14px; }
  .dropdown{
    position:absolute; top:calc(100% + 14px); left:-10px; background:var(--surface);
    border:0.5px solid var(--border); border-radius:8px; padding:6px;
    min-width:140px; display:none; flex-direction:column;
  }
  .dropdown-wrap.open .dropdown{ display:flex; }
  .dropdown-trigger::after{ content:"▾"; font-size:9px; margin-left:5px; opacity:0.7; }
  .dropdown a{ padding:10px 12px; border-radius:6px; font-size:14px; }
  .dropdown a:hover{ background:var(--surface-2); color:var(--accent); }
  .dropdown a.active{ background:var(--accent); color:var(--accent-dark); }
  .navlinks .cta{
    background:transparent; border:0.5px solid var(--border-strong); color:var(--text);
    font-weight:500; padding:9px 16px;
  }
  .lang-toggle{ display:flex; align-items:center; gap:4px; border:0.5px solid var(--border-strong); border-radius:6px; padding:4px; margin-left:6px; }
  .lang-toggle button{ background:none; border:none; color:var(--text-2); font-size:12px; font-weight:600; padding:5px 9px; border-radius:4px; cursor:pointer; font-family:inherit; }
  .lang-toggle button.active{ background:var(--accent); color:var(--accent-dark); }
  .burger{ display:none; width:34px; height:34px; border-radius:6px; border:0.5px solid var(--border); background:none; color:var(--text); font-size:16px; cursor:pointer; }
  .mobile-menu{ display:none; flex-direction:column; padding:10px 32px 20px; gap:2px; border-top:0.5px solid var(--border); }
  .mobile-menu a{ padding:12px 6px; font-size:15px; color:var(--text-2); border-radius:6px; }
  .mobile-menu a.active{ color:var(--accent-dark); background:var(--accent); font-weight:600; }
  .mobile-menu .sub{ padding-left:16px; }
  header.menu-open .mobile-menu{ display:flex; }

  /* PAGE VISIBILITY */
  .page{ display:none; }
  .page.active{ display:block; }

  /* HERO */
  .hero{ padding:96px 0 72px; text-align:center; }
  .eyebrow{ color:var(--accent); font-size:12.5px; letter-spacing:2.5px; font-weight:600; margin-bottom:18px; }
  .hero h1{ font-size:48px; line-height:1.1; margin-bottom:20px; }
  .hero p.sub{ color:var(--text-2); font-size:17px; max-width:480px; margin:0 auto 30px; line-height:1.7; }
  .btn{
    display:inline-block; background:var(--accent); color:var(--accent-dark);
    font-weight:600; font-size:14px; padding:13px 26px; border-radius:6px;
  }
  .btn-ghost{
    display:inline-block; border:0.5px solid var(--border-strong); color:var(--text);
    font-weight:500; font-size:14px; padding:12.5px 26px; border-radius:6px;
  }
  .btn-row{ display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }

  /* SECTION HEADER */
  .section{ padding-top:56px; padding-bottom:56px; border-top:0.5px solid var(--border); }
  .section-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:26px; }
  .section-head h2{ font-size:22px; }
  .section-head .link{ color:var(--accent); font-size:13px; font-weight:500; }

  /* GRIDS */
  .grid4{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
  .grid5{ display:grid; grid-template-columns:repeat(5,1fr); gap:12px; }
  .grid2{ display:grid; grid-template-columns:repeat(2,1fr); gap:16px; }
  .card{
    border:0.5px solid var(--border); border-radius:10px; overflow:hidden;
    background:var(--surface); position:relative; aspect-ratio:3/4;
    transition:border-color .15s ease, transform .15s ease;
  }
  .card:hover{ border-color:var(--accent); transform:translateY(-3px); }
  .card.wide{ aspect-ratio:4/3; }
  .badge{
    position:absolute; top:10px; right:10px; background:var(--accent); color:var(--accent-dark);
    font-size:9px; font-weight:700; padding:4px 10px; border-radius:4px; letter-spacing:0.4px;
  }

  /* TEASER */
  .teaser{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:0.5px solid var(--border); border-radius:12px; overflow:hidden; align-items:stretch; }
  .teaser .imgbox{ aspect-ratio:16/10; }
  .teaser .txt{ padding:32px; display:flex; flex-direction:column; justify-content:center; }
  .teaser .txt h3{ font-size:19px; margin-bottom:10px; }
  .teaser .txt p{ color:var(--text-2); font-size:16px; line-height:1.7; margin-bottom:16px; }

  /* STATS STRIP */
  .stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); border:0.5px solid var(--border); border-radius:10px; overflow:hidden; margin-top:40px; }
  .stat{ background:var(--bg); padding:26px; text-align:center; }
  .stat .num{ color:var(--accent); font-size:26px; font-family:'Space Grotesk'; font-weight:600; }
  .stat .lbl{ color:var(--text-2); font-size:11px; margin-top:4px; }

  /* ABOUT SPLIT */
  .about-split{ display:grid; grid-template-columns:1fr 1fr; gap:0; border:0.5px solid var(--border); border-radius:12px; overflow:hidden; }
  .about-split .imgbox{ display:flex; align-items:center; justify-content:center; padding:28px; background:var(--surface); }
  .about-split .imgbox .frame{ border:0.5px solid var(--border-strong); border-radius:8px; padding:10px; background:var(--bg); max-width:280px; width:100%; }
  .about-split .imgbox .frame img{ border-radius:4px; aspect-ratio:4/5; }
  .about-split .imgbox .cap{ display:block; text-align:center; font-size:9px; letter-spacing:1.5px; color:var(--text-3); margin-top:10px; }
  .about-split .txt{ padding:44px; display:flex; flex-direction:column; justify-content:center; }
  .about-split .txt h2{ font-size:28px; margin-bottom:16px; line-height:1.25; }
  .about-split .txt p{ color:var(--text-2); font-size:14.5px; line-height:1.8; }

  /* COOKIE BANNER */
  .cookie-banner{
    position:fixed; left:20px; right:20px; bottom:20px; z-index:200;
    max-width:520px; margin:0 auto; background:var(--surface);
    border:0.5px solid var(--border-strong); border-radius:12px; padding:22px;
    box-shadow:0 10px 30px rgba(0,0,0,0.4);
  }
  .cookie-banner p{ color:var(--text-2); font-size:12.5px; line-height:1.6; margin-bottom:16px; }
  .cookie-banner p a{ color:var(--accent); }
  .cookie-actions{ display:flex; gap:10px; flex-wrap:wrap; }
  .cookie-actions .btn, .cookie-actions .btn-ghost{ padding:9px 16px; font-size:12px; margin-left:0; }
  .cookie-icon{
    position:fixed; bottom:20px; right:20px; z-index:200; width:44px; height:44px;
    border-radius:50%; background:var(--surface); border:0.5px solid var(--border-strong);
    display:none; align-items:center; justify-content:center; cursor:pointer; font-size:18px;
  }
  body.cookie-decided .cookie-banner{ display:none; }
  body.cookie-decided .cookie-icon{ display:flex; }

  /* CONTACT */
  .contact-grid{ display:grid; grid-template-columns:1fr 1fr; gap:40px; }
  .field{ margin-bottom:16px; }
  .field label{ display:block; font-size:12px; color:var(--text-2); margin-bottom:6px; letter-spacing:0.3px; }
  .field input, .field textarea{
    width:100%; background:var(--surface); border:0.5px solid var(--border); border-radius:6px;
    padding:11px 12px; color:var(--text); font-family:inherit; font-size:14px;
  }
  .field textarea{ min-height:110px; resize:vertical; }
  .field-checkbox{ display:flex; gap:10px; align-items:flex-start; margin-bottom:18px; }
  .field-checkbox input{ margin-top:3px; }
  .field-checkbox label{ font-size:12.5px; color:var(--text-2); line-height:1.6; }
  .field-checkbox a{ color:var(--accent); }
  .contact-info .row{ display:flex; gap:12px; align-items:flex-start; padding:14px 0; border-bottom:0.5px solid var(--border); }
  .contact-info .row .k{ color:var(--text-2); font-size:14px; width:100px; flex-shrink:0; }
  .contact-info .row .v{ font-size:15px; }
  .social-row{ display:flex; gap:10px; margin-top:20px; }
  .social-row a{ width:34px; height:34px; border-radius:50%; border:0.5px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:12px; color:var(--text-2); }
  .social-row a:hover{ border-color:var(--accent); color:var(--accent); }

  footer{ border-top:0.5px solid var(--border); padding:40px 0 26px; }
  footer .wrap{ display:flex; flex-direction:column; gap:26px; }
  footer .foot-top{ display:flex; justify-content:space-between; align-items:flex-start; }
  footer .foot-nav{ display:flex; gap:20px; font-size:14px; color:var(--text-2); }
  footer .foot-nav a:hover{ color:var(--accent); }
  footer .foot-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:20px; border-top:0.5px solid var(--border); }
  footer .copy{ color:var(--text-3); font-size:12px; }

  @media(max-width:760px){
    .wrap{ padding:0 36px; }
    .grid4, .grid5{ grid-template-columns:repeat(2,1fr); gap:16px; }
    .grid2{ gap:16px; }
    .grid2[style*="max-width:70%"]{ max-width:100% !important; }
    .artist-tags{ justify-content:center; }
    .section{ padding-top:44px; padding-bottom:44px; }
    .teaser, .about-split, .contact-grid{ grid-template-columns:1fr !important; }
    .about-split .imgbox{ aspect-ratio:4/3; }
    .navlinks{ display:none; }
    .burger{ display:block; }
    .hero{ padding:64px 0 48px; }
    .hero h1{ font-size:32px; }
    footer .foot-top{ flex-direction:column; gap:18px; }
    footer .foot-nav{ flex-wrap:wrap; }
  }
  .grid2[style*="repeat(3,1fr)"]{ grid-template-columns:repeat(3,1fr); }
  @media(max-width:760px){
    .grid2[style*="repeat(3,1fr)"]{ grid-template-columns:1fr !important; }
  }
.img-missing{
  width:100%; height:100%; display:flex; align-items:center; justify-content:center;
  background:var(--surface-2); color:var(--text-3); font-size:11px; text-align:center;
  padding:8px; font-family:'Inter',Arial,sans-serif; line-height:1.4;
}
