 body { 
    margin: 0; 
    overflow: hidden; 
    font-family: "futura-pt", sans-serif;
    font-weight: 500;
    font-style: normal; 
    letter-spacing: -.08rem;
  }
  
  canvas { display: block; }

  #font-prewarm{
  position: absolute;
  left: -9999px;
  top: -9999px;
  font-family: futura-pt, Futura, sans-serif;
  font-weight: 500;
  font-size: 64px;
  visibility: hidden;
}

  /* Bottom links */
  #bottom-music {
    font-family: "futura-pt-bold", sans-serif;
    font-weight: 700;
    position: fixed;
    bottom: 20px;
    left: 50%;
    border-radius: 999px;
    transform: translateX(-50%);
    background-color: rgba(0,0,0,0.8);
    color: white;
    font-size: clamp(1.5rem, 8vw, 4rem);
    text-decoration: none;
    padding: 0.2em clamp(.5em, 3vw, .8em);
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
  }
  
  #bottom-music:hover { background-color: white; color: black; }

  #bottom-merch {
    font-family: "futura-pt-bold", sans-serif;
    font-weight: 700;
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: rgba(0,0,0,0.8);
    color: white;
    font-size: clamp(1.5rem, 8vw, 4rem);
    text-decoration: none;
    padding: 0.2em clamp(.5em, 3vw, .8em);
    border-radius: 999px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
  }
  #bottom-merch:hover { background-color: white; color: black; }

  /* Tour Dates Overlay */
  #tour-dates {
    font-family: "futura-pt-bold", sans-serif;
    font-weight: 700px;
    position: fixed;
    bottom: 20px;
    left: 20px;
    background-color: rgba(0,0,0,0.8);
    color: white;
    font-size: clamp(1.5rem, 8vw, 4rem);
    cursor: pointer;
    padding: 0.2em clamp(.5em, 3vw, .8em);
    border-radius: 999px;
    z-index: 10;
    transition: all 0.4s ease;
    max-width: 50%;
    overflow: hidden;
  }
  #tour-dates:hover { background-color: white; color: black; }

  #tour-list ul li span.date { width: clamp(80px, 18vw, 120px); display: inline-block; }

  #tour-close {
    display: none;
    position: absolute;
    top: clamp(20px, 5vw, 45px);
    right: clamp(20px, 5vw, 55px);
    font-size: clamp(2rem, 8vw, 4rem);
    font-family: futura-pt, sans-serif;
    font-weight:500;
    cursor: pointer;
    color: white;
    z-index: 11;
  }
  #tour-close:hover { color: #444; }

  #tour-header { font-size: clamp(1.5rem, 8vw, 4rem); }

  #tour-list {
    font-family: "futura-pt", sans-serif; font-weight: 500;
    margin-top: 12px;
    display: none;
    font-weight: normal;
    font-size: clamp(12px, 4vw, 36px);
  }

  #tour-list ul li a {
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    font-style: normal;
    background-color:white;
    color: black;
    text-decoration: none;
    padding: 0px 15px;
    border-radius: 999px;
    display: inline-block;
    margin-top:3px;
  }

  #tour-list ul li a:hover {
    background-color:black;
    color: white;
  }

  #tour-list ul { list-style:none; padding:0; margin:0; }

  #tour-dates.expanded {
    background-color: black; color: white;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: clamp(15px, 5vw, 40px);
    border: clamp(10px, 3vw, 20px) solid rgba(0,0,0,0.2);
    border-radius: 0;
    overflow-y: auto;
    max-width: none;
    max-height: none;
    box-sizing: border-box;
    z-index: 100;
  }

  #tour-dates.expanded #tour-close { display: block; }
  #tour-dates.expanded #tour-list { display: block; }

  /* VR Button */
  #vr-button {
    font-family: "futura-pt-bold", sans-serif !important;
    font-weight: 700 !important;
    position: fixed !important;
    top: 20px !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    background-color: rgba(0,0,0,0.8) !important;
    color: white !important;
    font-size: clamp(1rem, 4vw, 1.5rem) !important;
    text-transform: uppercase !important;
    padding: 12px 16px !important;
    border: none !important;
    border-radius: 0 !important;
    cursor: pointer !important;
    z-index: 10 !important;
    transition: all 0.3s ease !important;
  }
  #vr-button:hover {
    background-color: white !important;
    color: black !important;
  }