@font-face {
            font-family: 'Akira-Expanded';
            src: url('Akira-Expanded.otf') format('opentype');
            font-weight: normal;
            font-style: normal;
        }
@font-face {
    font-family: 'Aileron-Regular';
    src: url('Aileron-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}
        
html, body {
    margin: 0;
    padding: 0;
    height: 100vh;
    width: 100vw;
    overflow-x: hidden;
    overflow-y: auto;
}
.landing-image {
    height: 75vh;
    width: 100vw;
    background: url('/landing.jpg') no-repeat center center;
    background-size: 100% auto;

}
.bg-black {
    height: 25vh;
    width: 100vw;
    background: #000;
}

.landing-heading {
    font-family: 'Akira-Expanded';
    color: transparent;
    font-size: 4rem;
    text-align: left;
    vertical-align: text-bottom;
    margin-left: 2rem;
    -webkit-text-stroke: 2px white;
    text-shadow: 2px white;
    z-index: 10;
}
.landing-subtext {
    font-family: 'Aileron-Regular';
    color: red;
    font-size: 1.5rem;
    text-align: right;
    margin-right: 2rem;
}
/* Second canva page*/
.image-row {
    display: flex;
    justify-content: center;
    gap: 40px;
    padding: 20px;
}

.image-row img {
  object-fit: cover;
  border-radius: 8px;
}

/* Square */
.square {
  width: 400px;
  aspect-ratio: 1 / 1;
}

/* Vertical */
.vertical {
  width: 300px;
  aspect-ratio: 3 / 4;
  height: 400px;
}
.slideshow-controls {
  display: none;
}
 .social-row {
      display: flex;
      justify-content: center;
      align-items: flex-start;
      gap: 60px;
      margin-top: 30px;
      flex-wrap: wrap; /* wrap nicely on smaller screens */
    }

    .social-item {
      text-align: center;
    }

    .social-item img {
      width: 50px;
      height: 50px;
      margin-bottom: 10px;
      filter: brightness(0) invert(1); /* makes icons white if they're black */
    }

    .social-item p {
      margin: 5px 0;
      font-family: 'Aileron-Regular';
      font-size: 14px;
      color: white;
    }

    .social-item .highlight {
      font-family: 'Aileron-Regular';
      font-weight: bold;
      font-size: 16px;
      color: white;
    }

    .social-media-text {
        font-family: 'Akira-Expanded';
      text-align: center;
      color: red;
      font-size: 28px;
      font-weight: bold;
      line-height: 1.2;
    }
    .social-media-subtext{
        font-family: 'Aileron-Regular';
      text-align: center;
      color: white;
      font-size: 14px;
      margin-top: 10px;
    }
    .video-section {
    width: 60%;
    max-width: 800px;
    margin: 20px auto;
    text-align: center;
    }

    .video-section video {
        width: 100%;
        height: auto;
        border-radius: 8px;
    }
    /*bio section*/
    .bio-section {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-gap: 30px;
      align-items: start;
      /* constrain and center the bio area so the two columns sit closer to the page center */
      max-width: 1000px;
      margin: 0 auto;
      padding: 40px 80px; /* left/right padding to push columns toward center */
    }

    .bio-header {
        font-family: 'Akira-Expanded';
      font-size: 2.5rem;
      font-weight: bold;
      color: #e80000; /* red "BIO" */
      margin-bottom: 15px;
    }

    .bio-text {
        font-family: 'Aileron-Regular';
        color:white;
      font-size: 0.95rem;
      line-height: 1.5;
    }

    .bio-image-top {
        max-width: 100%;
        border-radius: 4px;
        width: 300px;
        aspect-ratio: 1 / 1;
        right:-20%;
        position:relative;

    }

    .bio-bottom {
      display: flex;
      grid-column: span 2; /* full row */
      margin-top: 30px;
      align-items: flex-start;
      gap: 30px;
    }

    .bio-photo {
      width: 250px;
      flex-shrink: 0;
      border-radius: 4px;
    }

    .bio-bottom-text {
        font-family: 'Aileron-Regular';
        color:white;
      font-size: 0.95rem;
      line-height: 1.6;
      text-align: center;
      flex: 1;
    }
    /*New ALBUM PROMO SECTION*/
    .promo-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start; /* album on the left, text next */
    align-items: center;         /* vertically center image & text */
    padding: 40px 20px;
    max-width: 1000px;
    margin: auto;
    gap: 40px; /* spacing between image and text */
    }

    .promo-header {

      text-align: center;
      width: 100%;
      margin-bottom: 30px;
    }

    .promo-header p {
                font-family:"Aileron-Regular";
        color:white;
      font-size: 14px;
      margin-bottom: 5px;
    }

    .promo-header h1 {
        font-family: "Akira-Expanded";
      font-size: 48px;
      font-weight: bold;
      color: #e11;
      margin: 0;
    }

.album-cover {
  flex: 0 0 350px; /* fixed width for album cover */
  max-width: 100%;
}
.album-cover img {
  width: 100%;
  display: block;
  border: 2px solid #444;
}

.promo-text {
  flex: 1;
  text-align: center; /* centers text horizontally */
  padding: 10px 20px;
}

.promo-text h2 {
  font-family: 'Akira-Expanded';
  color: white;
  font-size: 22px;
  font-weight: bold;
  margin-bottom: 20px;
  text-transform: uppercase;
}

.promo-text p {
  font-family: 'Aileron-Regular';
  color: white;
  font-size: 16px;
  line-height: 1.6;
  margin: auto;
  max-width: 500px; /* keeps the text from stretching too wide */
}

    .highlight {
      color: #e11;
      font-weight: bold;
    }
/* Live Promo Section */
.live-promo {
      position: relative;
      width: 100%;
      height: 100vh; /* full screen section */
      background: url('livepromo.jpg') no-repeat center center/cover;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      color: white;
    }

    .live-top-text {
        font-family: "Aileron-Regular";
      text-align: center;
      padding-top: 20px;
      font-size: 14px;
      font-weight: normal;
    }

    .live-bottom-text {
        font-family: "Akira-Expanded";
      text-align: center;
      margin-bottom: 40px;
      font-size: 48px;
      font-weight: bold;
      color: #e11;
      text-transform: uppercase;
      line-height: 1.1;
    }
    /*Shows Section*/
    .shows-section {
      max-width: 1200px;
      margin: auto;
      padding: 40px 20px;
    }

    .shows-header {
      font-size: 36px;
      font-weight: bold;
      color: #e11;
      margin-bottom: 30px;
      font-family: 'Akira-Expanded', Arial, sans-serif;
      text-transform: uppercase;
    }

    .shows-grid {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 30px;
      align-items: start;
      text-align: center;
    }

    .show-info {
        font-family: "Aileron-Regular";
      font-size: 15px;
      line-height: 1.6;
      color: white;
    }

    .show-card img {
      width: 100%;
      border-radius: 6px;
      display: block;
    }

    /*Contact Section*/

    .contact-section {
      max-width: 1200px;
      margin: auto;
      padding: 40px 20px;
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      gap: 20px;
      align-items: start;
    }

    .contact-image img {
      width: 100%;
      border-radius: 20px;
      display: block;
    }

    .contact-info {
      text-align: center;
    }

    .contact-info h2 {
      font-size: 32px;
      font-weight: bold;
      color: #e11;
      margin-bottom: 20px;
      font-family: 'Akira-Expanded', Arial, sans-serif;
      text-transform: uppercase;
      text-align:center;
    }

    .contact-info p {
        font-family: "Aileron-Regular";
        COLOR: WHITE;
      font-size: 15px;
      line-height: 1.6;
      margin: 10px 0;
      text-align:center
    }

    .contact-info b {
      font-size: 14px;
      text-transform: uppercase;
      text-align:center;
    }

    .social-bar {
      background: #e11;
      padding: 20px;
      display: flex;
      justify-content: center;
      gap: 50px;
      margin-top: 40px;
      border-radius: 20px 20px 0 0;
    }

    .social-bar a {
      width: 60px;
      height: 60px;
      background: white;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: 0.3s;
    }

    .social-bar a img {
      width: 28px;
      height: 28px;
    }

    .social-bar a:hover {
      background: black;
    }



/* Mobile styles */
@media (max-width: 768px) {
    .landing-image {
        background-size: cover;
    }
    .main-text {
        font-size: 2.5rem;
        padding: 0 20px;
    }

  .image-row {
    padding: 20px 0;
  }

  #slideshow {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto;
  }

  #slideshow .slides {
    display: flex;
    transition: transform 0.4s ease;
  }

  #slideshow img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    flex-shrink: 0;
  }

  .slideshow-controls {
    display: flex;
    position: absolute;
    top: 50%;
    left: 15px;
    right: 15px;
    justify-content: space-between;
    transform: translateY(-50%);
    pointer-events: none; /* prevents blocking swipes/clicks */
  }

  .slideshow-controls button {
    pointer-events: auto; /* re-enable clicks only on buttons */
    background: rgba(0,0,0,0.6);
    color: white;
    border: none;
    padding: 10px 15px;
    border-radius: 5px;
    cursor: pointer;
  }
  .bio-section {
        display: flex;
        flex-direction: column;
        padding: 20px 15px;
        gap: 15px;
      }

    .bio-header {
        font-size: 2rem;
        margin: 0;
    }

    .bio-image-container {
        align-self: center;
    }

    .bio-image-top {
        width: 250px;
        height: 250px;
        border-radius: 4px;
        object-fit: cover;
        margin-bottom: 15px;
        position:relative;
    }

    .bio-text {
        font-size: 1rem;
        line-height: 1.6;
        margin: 0;
    }

    .bio-bottom {
        order: 4;
        display: flex;
        flex-direction: column;
        gap: 15px;
        margin-top: 10px;
    }

    .bio-photo {
        align-self: center;
        width: 250px;
        height: 250px;
        object-fit: cover;
        border-radius: 4px;
    }

    .bio-bottom-text {
        font-size: 1rem;
        line-height: 1.6;
        margin: 0;
    }
    .bio-photo {
    width: 100%;
    max-width: 300px;
      }

        .promo-container {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .promo-text {
    padding: 20px 0;
  }
        .live-bottom-text {
        font-size: 32px;
        margin-bottom: 20px;
      }
      .live-top-text {
        font-size: 12px;
      }
        /* Nudge live promo image slightly to the right on small screens so cropping is less centered
           (adjust the percentage below if you want more/less shift; 50% is center) */
        .live-promo {
          background-position: 70% center;
        }

        /* On mobile keep images to the side of the contact text: two-column grid where
           left column stacks the two images and right column contains the contact info. */
        .contact-section {
          display: grid;
          grid-template-columns: auto 1fr; /* left: images, right: contact info */
          grid-auto-rows: auto;
          gap: 16px;
          align-items: start;
          padding: 20px 15px;
        }

        /* Ensure the two image blocks occupy the left column (stacked) */
        .contact-section .contact-image:nth-child(1),
        .contact-section .contact-image:nth-child(2) {
          grid-column: 1;
          justify-self: center;
        }

        /* Make the contact info span the right column and both rows */
        .contact-section .contact-info {
          grid-column: 2;
          grid-row: 1 / span 2;
          align-self: center;
        }

        /* Limit images on mobile so they fit nicely beside the text */
        .contact-section .contact-image img {
          width: 140px;
          max-width: 45vw;
          height: auto;
          border-radius: 12px;
          display: block;
        }

          .shows-grid {
        grid-template-columns: 1fr; /* stack everything on small screens */
      }
}