
    :root {
      --terracotta: #9B5349;
      --terracotta-dark: #7A3F37;
      --terracotta-light: #B66B61;
      --cream: #E8E3D8;
      --cream-dark: #D4CFC4;
      --off-white: #F5F2ED;
      --text-dark: #3A2A26;
    }

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

    html { 
      scroll-behavior: smooth; 
      background: var(--off-white); /* Match Tour section color */
    }

    body {
      background: var(--terracotta);
      color: var(--text-dark);
      font-family: "Space Grotesk", sans-serif;
      overflow-x: hidden;
      position: relative;
      min-height: 100vh;
    }

    /* --- STATIC PAPER BACKGROUND (PNG + light noise) --- */
    .paper-texture {
      position: fixed;
      inset: 0;
      z-index: 1;
      pointer-events: none;
      background:
        var(--terracotta)
        url("texture.jpg");
      background-size: cover;
      background-repeat: repeat;
      background-position: center;
      mix-blend-mode: multiply;
      opacity: 0.9;
    }

    /* --- ABSOLUTE ELEMENTS --- */
    .logo-hero {
      position: absolute;
      top: clamp(20px, 3vw, 30px);
      left: clamp(20px, 3vw, 30px);
      width: clamp(60px, 10vw, 90px);
      z-index: 10;
      filter: drop-shadow(4px 4px 0px rgba(0,0,0,0.3));
      animation: wobble 6s ease-in-out infinite;
    }

    .nav-hero {
      position: absolute;
      top: clamp(20px, 3vw, 30px);
      right: clamp(20px, 3vw, 30px);
      z-index: 10;
      display: flex;
      gap: clamp(12px, 2vw, 20px);
      flex-wrap: wrap;
    }

    .nav-link {
      text-decoration: none;
      color: var(--off-white);
      font-family: "Caprasimo", cursive;
      font-size: clamp(0.9rem, 1.5vw, 1.2rem);
      text-transform: uppercase;
      text-shadow: 2px 2px 0px var(--text-dark);
      transition: transform 0.2s;
    }

    .nav-link:hover {
      transform: translateY(-2px) rotate(-2deg);
      text-decoration: underline;
    }

    /* --- STICKY HEADER --- */
    .sticky-header {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      padding: 15px 25px;
      background: var(--off-white);
      border-bottom: 3px solid var(--text-dark);
      z-index: 2000;
      display: flex;
      justify-content: space-between;
      align-items: center;
      transform: translateY(-100%);
      transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
      box-shadow: 0 4px 0 rgba(0,0,0,0.1);
    }

    .sticky-header.visible {
      transform: translateY(0);
    }

    .sticky-logo {
      font-family: "Caprasimo", cursive;
      font-size: clamp(1.2rem, 2vw, 1.5rem);
      color: var(--text-dark);
      text-transform: uppercase;
    }

    .hamburger-btn {
      background: none;
      border: none;
      cursor: pointer;
      display: flex;
      flex-direction: column;
      gap: 6px;
      transition: transform 0.2s;
    }

    .hamburger-btn:hover {
      transform: scale(1.1);
    }

    .bar {
      width: 30px;
      height: 4px;
      background: var(--text-dark);
      border-radius: 2px;
      transition: all 0.3s;
    }

    /* Mobile Menu Overlay */
    .mobile-menu {
      position: fixed;
      top: 0;
      right: 0;
      width: 100%;
      max-width: 350px;
      height: 100vh;
      background: rgba(58, 42, 38, 0.98);
      padding: 80px 30px 30px;
      z-index: 1000;
      
      /* Hide by default - positioned off-screen */
      transform: translateX(100%);
      
      /* Smooth animation - this is key! */
      transition: transform 0.4s cubic-bezier(0.4, 0.0, 0.2, 1);
      
      /* Keep other styles */
      display: flex;
      flex-direction: column;
      gap: 20px;
        }
    
        .mobile-menu.open {
          transform: translateX(0);
    }

    .menu-link {
      font-family: "Caprasimo", cursive;
      font-size: clamp(2rem, 5vw, 3rem);
      color: var(--off-white);
      text-decoration: none;
      text-shadow: 4px 4px 0px var(--text-dark);
      transition: transform 0.2s;
    }

    .menu-link:hover {
      transform: scale(1.05) rotate(-2deg);
    }

    .close-btn {
      position: absolute;
      top: 30px;
      right: 30px;
      background: none;
      border: none;
      font-family: "Caprasimo";
      font-size: 2rem;
      color: var(--off-white);
      cursor: pointer;
      transition: transform 0.2s;
    }

    .close-btn:hover {
      transform: rotate(90deg);
    }

    /* --- HERO --- */
    .hero {
      position: relative;
      z-index:2;
      min-height: 100vh;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(30px, 5vw, 60px);
      align-items: center;
      padding: clamp(100px, 12vh, 120px) clamp(4%, 6vw, 6%) clamp(80px, 10vh, 100px);
      overflow: hidden;
    }

    @media (max-width: 900px) {
      .hero {
        grid-template-columns: 1fr;
        padding-top: clamp(120px, 15vh, 140px);
        text-align: center;
      }
      .hero-left { margin: 0 auto; max-width: 600px; }
      .nav-hero { display: none; }
    }

    .hero-name {
      font-family: "Caprasimo", cursive;
      font-size: clamp(3rem, 6vw, 5rem);
      line-height: 0.95;
      color: var(--off-white);
      text-shadow: 5px 5px 0px var(--text-dark);
      transform: rotate(-1.5deg);
      margin-bottom: 15px;
    }

    .hero-role {
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: rgba(245, 242, 237, 0.9);
      border-bottom: 2px dashed rgba(245, 242, 237, 0.85);
      padding-bottom: 6px;
      display: inline-block;
      margin-bottom: 25px;
      font-size: clamp(0.9rem, 1.6vw, 1.1rem);
    }

    .hero-tags {
      display: flex;
      gap: 10px;
      flex-wrap: wrap;
      margin-bottom: 30px;
      justify-content: center;
    }

    @media (min-width: 900px) { .hero-tags { justify-content: flex-start; } }

    .tag {
      background: var(--text-dark);
      color: var(--terracotta);
      border: 2px solid var(--off-white);
      padding: clamp(0.5rem, 1vw, 0.6rem) clamp(0.7rem, 1.2vw, 0.9rem);
      font-weight: 800;
      font-size: clamp(0.8rem, 1.3vw, 0.9rem);
      text-transform: uppercase;
      transform: skew(-12deg);
      box-shadow: 4px 4px 0px var(--terracotta-dark);
      animation: tagFloat 6s ease-in-out infinite;
    }

    .hero-bio {
      background: rgba(58, 42, 38, 0.4);
      color: var(--off-white);
      border-left: 5px solid var(--off-white);
      padding: clamp(20px, 3.5vw, 28px);
      line-height: 1.7;
      font-size: clamp(1rem, 1.6vw, 1.15rem);
      backdrop-filter: blur(3px);
      text-align: left;
      margin-bottom: 30px;
      box-shadow: 4px 4px 10px rgba(0,0,0,0.2);
    }

    .hero-bio p { margin-bottom: 12px; }
    .hero-bio p:last-child { margin-bottom: 0; }

    .social-icons {
      display: flex;
      gap: 18px;
      justify-content: center;
      margin-top: 25px;
      margin-bottom: 20px;
    }

    @media (min-width: 900px) { .social-icons { justify-content: flex-start; } }

    .social-icon {
      width: 48px;
      height: 48px;
      background: var(--text-dark);
      border: 3px solid var(--off-white);
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: all 0.3s;
      box-shadow: 4px 4px 0px var(--terracotta-dark);
      cursor: pointer;
    }

    .social-icon:hover {
      transform: translate(-3px, -3px) rotate(5deg);
      box-shadow: 7px 7px 0px var(--terracotta-dark);
      background: var(--terracotta-light);
    }

    .social-icon svg {
      width: 24px;
      height: 24px;
      fill: var(--off-white);
    }

    .hero-cta-row {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 10px;
      justify-content: center;
    }

    @media (min-width: 900px) {
      .hero-cta-row { justify-content: flex-start; }
    }

    .book-me-btn,
    .tickets-btn {
      background: var(--text-dark);
      color: var(--off-white);
      border: 3px solid var(--off-white);
      padding: 14px 28px;
      font-family: "Caprasimo", cursive;
      font-size: clamp(1rem, 1.9vw, 1.3rem);
      text-transform: uppercase;
      cursor: pointer;
      box-shadow: 6px 6px 0px var(--terracotta-dark);
      transition: all 0.2s;
      text-decoration: none;
      display: inline-block;
      transform: rotate(-1deg);
      white-space: nowrap;
    }

    .book-me-btn:hover,
    .tickets-btn:hover {
      transform: rotate(0deg) translate(-3px, -3px);
      box-shadow: 9px 9px 0px var(--terracotta-dark);
    }

    .tickets-btn {
      background: var(--off-white);
      color: var(--text-dark);
      border-color: var(--text-dark);
    }

    .hero-photo {
      position: relative;
      justify-self: center;
      width: clamp(280px, 45vw, 420px);
      max-width: 100%;
    }

    .hero-photo img {
      width: 100%;
      display: block;
      border: 6px solid var(--off-white);
      box-shadow: 12px 12px 0px var(--text-dark);
      transform: rotate(3deg);
      filter: grayscale(100%) contrast(115%) sepia(20%);
      transition: transform 0.3s ease;
    }

    .hero-photo img:hover {
      transform: rotate(0deg) scale(1.02);
    }

    .photo-sticker {
      position: absolute;
      bottom: -15px;
      right: -20px;
      background: var(--terracotta-light);
      color: var(--off-white);
      border: 2px solid var(--off-white);
      font-family: "Caprasimo", cursive;
      padding: clamp(8px, 1.5vw, 10px) clamp(14px, 2vw, 18px);
      transform: rotate(-6deg);
      box-shadow: 4px 4px 0px rgba(0,0,0,0.35);
      font-size: clamp(0.85rem, 1.4vw, 1rem);
    }

    /* --- HERO EVENT STRIPE --- */
    .event-banner {
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      background: var(--text-dark);
      border-top: 3px solid var(--off-white);
      padding: 10px 0;
      overflow: hidden;
      z-index: 5;
    }

    .banner-inner {
      display: flex;
      width: max-content;
      animation: banner-scroll 100s linear infinite;
    }

    .banner-strip {
      display: flex;
      white-space: nowrap;
    }

    .banner-text {
      font-family: "Caprasimo", cursive;
      font-size: clamp(0.9rem, 1.7vw, 1.1rem);
      color: var(--off-white);
      text-transform: uppercase;
      padding: 0 32px;
      letter-spacing: 0.1em;
    }

    .banner-highlight {
      color: var(--terracotta-light);
      font-weight: 900;
    }

    @keyframes banner-scroll {
      0% { transform: translateX(0); }
      100% { transform: translateX(-50%); }
    }

    /* --- SECTIONS --- */
    section {
      position: relative;
      z-index:2;
      padding: clamp(70px, 12vh, 90px) clamp(20px, 4vw, 20px);
      border-top: 6px solid var(--text-dark);
    }

    .wrap {
      max-width: 1100px;
      margin: 0 auto;
      width: 100%;
    }

    .section-title {
      font-family: "Caprasimo", cursive;
      font-size: clamp(2.2rem, 4.5vw, 3.2rem);
      color: var(--text-dark);
      text-shadow: 3px 3px 0px var(--off-white);
      text-transform: uppercase;
      text-align: center;
      margin-bottom: clamp(40px, 7vh, 60px);
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 18px;
      flex-wrap: wrap;
    }

    .icon {
      width: clamp(35px, 6vw, 45px);
      height: clamp(35px, 6vw, 45px);
    }

    .list { display: flex; flex-direction: column; gap: 20px; }

    /* Mix Cards */
    .mix-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
      gap: clamp(25px, 4vw, 40px);
      margin-bottom: 20px;
    }

    .mix-card {
      background: var(--off-white);
      border: 4px solid var(--text-dark);
      padding: 0;
      box-shadow: 8px 8px 0px var(--text-dark);
      transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
      position: relative;
      overflow: hidden;
      transform: rotate(-1deg);
    }

    .mix-card:nth-child(2) { transform: rotate(1deg); }

    .mix-card:hover {
      transform: rotate(0deg) translate(-4px, -4px);
      box-shadow: 12px 12px 0px var(--text-dark);
    }

    .mix-header {
      background: linear-gradient(135deg, var(--terracotta) 0%, var(--terracotta-dark) 100%);
      padding: clamp(25px, 4vw, 35px);
      position: relative;
      overflow: hidden;
    }

    .mix-header::before {
      content: '';
      position: absolute;
      inset: 0;
      background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23F5F2ED' fill-opacity='0.1'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    .mix-label {
      font-family: "Caprasimo", cursive;
      font-size: clamp(1.8rem, 3.5vw, 2.4rem);
      text-transform: uppercase;
      color: var(--off-white);
      margin-bottom: 8px;
      text-shadow: 3px 3px 0px rgba(0,0,0,0.3);
      position: relative;
      z-index: 1;
    }

    .mix-subtitle {
      color: var(--cream);
      font-weight: 700;
      font-size: clamp(0.85rem, 1.3vw, 0.95rem);
      text-transform: uppercase;
      letter-spacing: 0.05em;
      position: relative;
      z-index: 1;
    }

    .mix-body { padding: clamp(25px, 4vw, 35px); }

    .mix-description {
      line-height: 1.7;
      color: var(--text-dark);
      font-size: clamp(0.9rem, 1.4vw, 1rem);
      margin-bottom: 25px;
    }

    .play-btn {
      background: var(--text-dark);
      color: var(--off-white);
      border: none;
      padding: clamp(12px, 2vw, 14px) clamp(24px, 3vw, 32px);
      font-weight: 800;
      text-transform: uppercase;
      cursor: pointer;
      font-family: "Space Grotesk";
      font-size: clamp(0.9rem, 1.4vw, 1rem);
      transition: all 0.2s;
      box-shadow: 4px 4px 0px var(--terracotta);
      width: 100%;
      position: relative;
      overflow: hidden;
    }

    .play-btn::before {
      content: '';
      position: absolute;
      top: 50%;
      left: 50%;
      width: 0;
      height: 0;
      border-radius: 50%;
      background: var(--terracotta-light);
      transform: translate(-50%, -50%);
      transition: width 0.4s, height 0.4s;
    }

    .play-btn:hover::before {
      width: 300px;
      height: 300px;
    }

    .play-btn span {
      position: relative;
      z-index: 1;
    }

    .play-btn:hover {
      transform: translate(-2px, -2px);
      box-shadow: 6px 6px 0px var(--terracotta);
    }

    .item {
      background: var(--off-white);
      border: 3px solid var(--text-dark);
      padding: clamp(15px, 3vw, 20px);
      display: flex;
      justify-content: space-between;
      align-items: center;
      box-shadow: 6px 6px 0px var(--text-dark);
      transition: transform 0.15s;
      flex-wrap: wrap;
      gap: 15px;
    }

    .item:hover {
      transform: translate(-3px, -3px);
      box-shadow: 9px 9px 0px var(--text-dark);
    }

    .item-title {
      font-family: "Caprasimo", cursive;
      font-size: clamp(1.1rem, 2vw, 1.4rem);
      text-transform: uppercase;
      line-height: 1;
      color: var(--text-dark);
    }

    .item-sub {
      margin-top: 5px;
      font-weight: 800;
      color: var(--terracotta-dark);
      text-transform: uppercase;
      font-size: clamp(0.8rem, 1.2vw, 0.9rem);
    }

    .pill {
      background: var(--text-dark);
      color: var(--off-white);
      border: none;
      padding: clamp(8px, 1.5vw, 10px) clamp(14px, 2vw, 18px);
      font-weight: 800;
      text-transform: uppercase;
      cursor: pointer;
      font-family: "Space Grotesk";
      font-size: clamp(0.8rem, 1.2vw, 0.9rem);
      transition: transform 0.2s;
      text-decoration: none;
      display: inline-block;
    }

    .pill:hover { transform: scale(1.05); }

    .pill.sold-out {
      background: var(--terracotta);
      color: var(--off-white);
      border: 2px solid var(--text-dark);
      transform: rotate(-3deg);
      cursor: not-allowed;
      box-shadow: 3px 3px 0px var(--text-dark);
    }

    .pill.coming-soon {
      background: #ccc;
      color: #666;
      cursor: not-allowed;
    }

    /* Booking Page */
    .booking-section {
      min-height: 100vh;
      background: var(--cream);
      padding: clamp(100px, 15vh, 120px) clamp(20px, 4vw, 40px) clamp(60px, 10vh, 80px);
    }

    .booking-wrap {
      max-width: 700px;
      margin: 0 auto;
    }

    .booking-header {
      text-align: center;
      margin-bottom: clamp(40px, 6vh, 60px);
    }

    .booking-title {
      font-family: "Caprasimo", cursive;
      font-size: clamp(2.5rem, 5vw, 4rem);
      color: var(--text-dark);
      text-shadow: 4px 4px 0px var(--off-white);
      margin-bottom: 20px;
    }

    .socials-box {
      background: var(--off-white);
      border: 3px solid var(--text-dark);
      padding: clamp(25px, 4vw, 35px);
      box-shadow: 8px 8px 0px var(--text-dark);
      margin-bottom: clamp(30px, 5vh, 40px);
    }

    .socials-title {
      font-family: "Caprasimo", cursive;
      font-size: clamp(1.3rem, 2.5vw, 1.6rem);
      color: var(--text-dark);
      margin-bottom: 20px;
      text-transform: uppercase;
    }

    .social-link {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 12px;
      margin-bottom: 12px;
      background: var(--cream);
      border: 2px solid var(--text-dark);
      text-decoration: none;
      color: var(--text-dark);
      font-weight: 700;
      transition: all 0.2s;
      font-size: clamp(0.9rem, 1.5vw, 1rem);
    }

    .social-link:hover {
      transform: translateX(5px);
      background: var(--terracotta-light);
      color: var(--off-white);
    }

    .contact-form {
      background: var(--off-white);
      border: 3px solid var(--text-dark);
      padding: clamp(25px, 4vw, 35px);
      box-shadow: 8px 8px 0px var(--text-dark);
    }

    .form-title {
      font-family: "Caprasimo", cursive;
      font-size: clamp(1.3rem, 2.5vw, 1.6rem);
      color: var(--text-dark);
      margin-bottom: 25px;
      text-transform: uppercase;
    }

    .form-group { margin-bottom: 20px; }

    .form-label {
      display: block;
      font-weight: 700;
      margin-bottom: 8px;
      color: var(--text-dark);
      text-transform: uppercase;
      font-size: clamp(0.85rem, 1.2vw, 0.9rem);
    }

    .form-input, .form-textarea {
      width: 100%;
      padding: clamp(10px, 2vw, 12px);
      border: 2px solid var(--text-dark);
      background: var(--cream);
      font-family: "Space Grotesk", sans-serif;
      font-size: clamp(0.9rem, 1.5vw, 1rem);
      transition: all 0.2s;
    }

    .form-input:focus, .form-textarea:focus {
      outline: none;
      background: var(--off-white);
      box-shadow: 4px 4px 0px var(--terracotta);
    }

    .form-textarea {
      resize: vertical;
      min-height: 120px;
    }

    .submit-btn {
      background: var(--text-dark);
      color: var(--off-white);
      border: 3px solid var(--text-dark);
      padding: clamp(12px, 2vw, 15px) clamp(25px, 4vw, 35px);
      font-family: "Caprasimo", cursive;
      font-size: clamp(1rem, 1.8vw, 1.2rem);
      text-transform: uppercase;
      cursor: pointer;
      box-shadow: 6px 6px 0px var(--terracotta-dark);
      transition: all 0.2s;
      width: 100%;
    }

    .submit-btn:hover {
      transform: translate(-3px, -3px);
      box-shadow: 9px 9px 0px var(--terracotta-dark);
    }

    /* Gallery Page */
    .gallery-section {
      min-height: 100vh;
      background: var(--terracotta);
      padding: clamp(100px, 15vh, 120px) clamp(20px, 4vw, 40px) clamp(60px, 10vh, 80px);
    }

    .gallery-section .section-title {
      color: var(--off-white);
      text-shadow: 3px 3px 0px var(--text-dark);
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(clamp(200px, 30vw, 280px), 1fr));
      gap: clamp(20px, 3vw, 30px);
      margin-top: clamp(30px, 5vh, 40px);
    }

    .gallery-item {
      position: relative;
      aspect-ratio: 1;
      overflow: hidden;
      border: 4px solid var(--off-white);
      box-shadow: 8px 8px 0px var(--text-dark);
      transition: transform 0.3s ease;
      background: var(--cream);
    }

    .gallery-item:hover {
      transform: rotate(0deg) scale(1.05);
      z-index: 10;
    }

    .gallery-item:nth-child(odd) { transform: rotate(-2deg); }
    .gallery-item:nth-child(even) { transform: rotate(2deg); }

    .gallery-item img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      filter: sepia(20%) contrast(110%);
      transition: filter 0.3s;
    }

    .gallery-item:hover img {
      filter: sepia(0%) contrast(100%);
    }

    /* Back link */
    .back-link {
      display: inline-block;
      margin-bottom: clamp(20px, 4vh, 30px);
      color: var(--text-dark);
      text-decoration: none;
      font-family: "Caprasimo", cursive;
      font-size: clamp(1rem, 1.8vw, 1.2rem);
      text-shadow: 1px 1px 0px rgba(255,255,255,0.6);
      transition: transform 0.2s, color 0.2s;
    }

    .back-link:hover {
      transform: translateX(-5px);
      color: var(--terracotta-dark);
    }

    /* --- FOOTER --- */
    footer {
      background: var(--text-dark);
      color: var(--off-white);
      padding: 20px clamp(20px, 4vw, 40px);
      border-top: 4px solid var(--off-white);
      padding-bottom: calc(20px + 90px);
      font-size: 0.9rem;
      margin-top: 40px;
    }

    .footer-inner {
      max-width: 1100px;
      margin: 0 auto;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
    }

    .footer-designed {
      font-family: "Caprasimo", cursive;
      text-transform: uppercase;
      letter-spacing: 0.08em;
    }

    .footer-supporters { font-weight: 600; }

    .footer-supporters span { font-weight: 400; }

    .footer-supporters a {
      color: var(--off-white);
      text-decoration: none;
      font-weight: 600;
    }

    .footer-supporters a:hover { text-decoration: underline; }

    /* --- PLAYBAR --- */
    .playbar {
      position: fixed;
      left: 0;
      bottom: 0;
      width: 100%;
      background: rgba(58, 42, 38, 0.97);
      border-top: 3px solid var(--off-white);
      display: none; /* hidden until track selected */
      flex-direction: column;
      gap: 6px;
      padding: 10px 16px;
      z-index: 2500;
      box-shadow: 0 -4px 10px rgba(0,0,0,0.3);
      backdrop-filter: blur(4px);
    }

    .playbar-top {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }

    .playbar-track {
      font-size: 0.95rem;
      color: var(--off-white);
      font-weight: 600;
      max-width: 70%;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .playbar-controls {
      display: flex;
      align-items: center;
      gap: 10px;
    }

    .playbar-button {
      background: var(--off-white);
      color: var(--text-dark);
      border: 2px solid var(--text-dark);
      border-radius: 999px;
      padding: 7px 16px;
      font-family: "Caprasimo", cursive;
      font-size: 0.95rem;
      text-transform: uppercase;
      cursor: pointer;
      box-shadow: 3px 3px 0px var(--terracotta-dark);
      transition: transform 0.15s, box-shadow 0.15s;
    }

    .playbar-button:hover {
      transform: translate(-2px, -2px);
      box-shadow: 5px 5px 0px var(--terracotta-dark);
    }

    .playbar-close {
      background: transparent;
      border: none;
      color: var(--off-white);
      font-family: "Caprasimo", cursive;
      font-size: 1.1rem;
      cursor: pointer;
      padding: 4px 8px;
      text-shadow: 2px 2px 0px var(--text-dark);
      transition: transform 0.15s;
    }

    .playbar-close:hover { transform: scale(1.1); }

    .playbar-progress {
      position: relative;
      width: 100%;
      height: 6px;
      background: rgba(245,242,237,0.2);
      border-radius: 999px;
      overflow: hidden;
      cursor: pointer;
    }

    .playbar-progress-fill {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 0%;
      background: var(--terracotta-light);
      border-radius: inherit;
    }

    .playbar-progress-handle {
      position: absolute;
      top: 50%;
      transform: translate(-50%, -50%);
      width: 12px;
      height: 12px;
      background: var(--off-white);
      border: 2px solid var(--text-dark);
      border-radius: 50%;
      box-shadow: 0 0 0 2px rgba(0,0,0,0.2);
    }

    /* Hide pages by default */
    .page { display: none; }
    .page.active { display: block; }

    /* --- ANIMATIONS --- */
    @keyframes wobble {
      0%, 100% { transform: rotate(-3deg); }
      50% { transform: rotate(3deg); }
    }

    @keyframes tagFloat {
      0%, 100% { transform: skew(-12deg) translateY(0); }
      50% { transform: skew(-12deg) translateY(-5px); }
    }
  
    /* Dynamic padding for player only when needed */
    body.player-open {
      padding-bottom: 100px !important;
    }
    
    /* Mobile Hamburger in Hero - ONLY visible on mobile */
    .hamburger-hero {
      display: none; /* Hidden by default */
      position: absolute;
      top: clamp(20px, 3vw, 30px);
      right: clamp(20px, 3vw, 30px);
      background: var(--cream);
      border: 3px solid var(--text-dark);
      border-radius: 8px;
      padding: 8px 10px;
      cursor: pointer;
      z-index: 15;
      box-shadow: 4px 4px 0px var(--text-dark);
      transition: transform 0.2s, box-shadow 0.2s;
    }
    
    .hamburger-hero:hover {
      transform: translate(-2px, -2px);
      box-shadow: 6px 6px 0px var(--text-dark);
    }
    
    .hamburger-hero .bar {
      width: 25px;
      height: 3px;
      background: var(--text-dark);
      margin: 4px 0;
      border-radius: 2px;
    }
    
    /* Show ONLY on mobile (screens smaller than 768px) */
    @media (max-width: 768px) {
      .hamburger-hero {
        display: block;
      }
    }

    /* Ensure hamburgers stay on top of mobile menu */
    .hamburger-hero,
    .hamburger-btn,
    .sticky-header {
      z-index: 1100 !important;
    }

