  :root{
      --bg:#05060a;
      --card: rgba(255,255,255,.08);
      --glass: rgba(255,255,255,.05);
      --text:#eef1ff;
      --muted:#bbc1d4; /* Improved contrast */
      --accent:#2b4de5;
      --accent2:#7a56bd;
      --accent3:#0e8a29;
      --yellow:#dce52b;
      --glow: 0 0 40px rgba(139,211,255,.25), 0 0 80px rgba(184,146,255,.12);
      --shadow-sm: 0 2px 8px rgba(0,0,0,.2);
      --shadow-md: 0 4px 20px rgba(0,0,0,.3);
      --shadow-lg: 0 10px 40px rgba(0,0,0,.4);
    }
    *{box-sizing:border-box}
    html{height:100%;}
    body{
      margin:0;
      background: var(--bg);
      color:var(--text); 
      font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto;
      font-display: swap;
      min-height: 100vh;
    }
    
    /* Reduced motion for accessibility */
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
      }
    }
    
    a{color:inherit}
    a:focus-visible {outline: 3px solid var(--accent); outline-offset: 3px; border-radius: 4px;}
    .skip-link {position: absolute; top: -40px; left: 0; background: var(--accent); color: var(--bg); padding: 8px; text-decoration: none; z-index: 100;}
    .skip-link:focus {top: 0;}
    
    /* Enhanced focus indicators for all interactive elements */
    button:focus-visible,
    input:focus-visible,
    textarea:focus-visible,
    select:focus-visible,
    [role="button"]:focus-visible,
    [tabindex]:focus-visible {
      outline: 3px solid var(--accent);
      outline-offset: 3px;
      border-radius: 4px;
    }
    
    /* Remove default browser outline */
    button:focus:not(:focus-visible),
    input:focus:not(:focus-visible),
    textarea:focus:not(:focus-visible),
    select:focus:not(:focus-visible),
    a:focus:not(:focus-visible) {
      outline: none;
    }
    
    /* Improved container with better max-width */
    .container{max-width:1200px;margin:0 auto;padding: clamp(20px,4vw,40px)}
    header{position:-webkit-sticky;position:sticky;top:0;backdrop-filter:saturate(180%) blur(20px); background:linear-gradient(180deg, rgba(10,12,20,.95), rgba(10,12,20,.85)); z-index:1000; border-bottom: 1px solid rgba(255,255,255,.03);}
    .nav{display:flex;align-items:center;justify-content:space-between;gap:16px; flex-wrap: wrap;}
    .brand{display:flex;align-items:center;gap:12px;font-weight:900;letter-spacing:.5px; font-size: clamp(16px, 2.5vw, 18px);}
    .brand .dot{width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2)); box-shadow:var(--glow); animation: pulse 2s ease-in-out infinite;}
    .nav-links {display: flex; gap: 8px; flex-wrap: wrap;}
    .nav a.btn{padding:12px 20px;border-radius:999px;background:linear-gradient(135deg,var(--accent),var(--accent2));
      color:#ffffff;font-weight:800;text-decoration:none; box-shadow:0 6px 20px rgba(139,211,255,.25);
      transition:all .3s cubic-bezier(.4,0,.2,1);
      font-size: clamp(13px, 1.8vw, 15px);
      position: relative;
      overflow: hidden;}
    .nav a.btn::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
      transform: translateX(-100%);
      transition: transform .6s ease;
    }
    .nav a.btn:hover::before {
      transform: translateX(100%);
    }
    .nav a.btn:hover{transform:translateX(5px);box-shadow:0 4px 12px rgba(139,211,255,.2)}
    .nav a.btn:focus-visible{background:rgba(255,255,255,.15);transform:translateX(5px);box-shadow:0 4px 12px rgba(139,211,255,.2);
      outline: 3px solid #ffffff; outline-offset: 3px;}
    
    /* Mobile navigation */
    /* Improved mobile navigation with hamburger menu */
    .mobile-menu-toggle {display: none; background: var(--glass); border: 1px solid rgba(255,255,255,.1);
      padding: 8px 12px; border-radius: 8px; color: var(--text); cursor: pointer;
      transition: all .2s ease;}
    .mobile-menu-toggle:focus-visible {
      outline: 3px solid var(--accent);
      outline-offset: 3px;
      background: rgba(255,255,255,.1);
    }
    @media (max-width: 640px) {
      /* .nav {padding: 16px 0;} */
      .brand {font-size: 16px;}
      .nav-links {position: absolute; top: 100%; left: 0; right: 0; background: rgba(10,12,20,.95);
        backdrop-filter: blur(20px); padding: 20px; flex-direction: column; gap: 12px;
        transform: translateY(-100%); opacity: 0; pointer-events: none; transition: all .3s ease;}
      .nav-links.active {transform: translateY(0); opacity: 1; pointer-events: auto;}
      .nav a.btn {padding: 12px 16px; font-size: 14px; width: 100%; text-align: center;}
      .mobile-menu-toggle {display: block;}
    }

    /* TABLET MEDIA QUERY - Fixes for 641px-899px range */
    @media (min-width: 641px) and (max-width: 899px) {
      /* Navigation adjustments for tablets */
      .nav a.btn {
        padding: 10px 15px;
        font-size: 14px;
        white-space: nowrap;
      }
      
      /* Hero section - single column layout for tablets */
      .hero-inner {
        grid-template-columns: 1fr;
        text-align: center;
        gap: 32px;
      }
      
      /* Portrait card sizing for tablets */
      .hero .card {
        max-width: 400px;
        margin: 0 auto;
      }
      
      /* CTA buttons visible and properly sized */
      .cta {
        display: flex;
        justify-content: center;
        gap: 10px;
        flex-wrap: wrap;
      }
      
      .cta .chip {
        padding: 11px 15px;
        font-size: 14px;
        white-space: nowrap;
        min-width: fit-content;
      }
      
      /* Music player positioning for tablets */
      .music-player {
        bottom: 20px;
        left: 20px;
        padding: 12px;
        gap: 12px;
      }
      
      .music-player .album-art {
        width: 40px;
        height: 40px;
      }
      
      /* Marquee text overflow fix */
      .marquee {
        max-width: 100%;
        overflow: hidden;
      }
      
      .marquee-track {
        padding: 14px 20px;
        gap: 24px;
      }
      
      /* Discography grid - 2 columns for tablets */
      .col-4 {
        grid-column: span 6;
      }
      
      /* Two column layout adjustments */
      .two-col {
        gap: 24px;
      }
      
      /* Title and subtitle sizing */
      .title {
        font-size: clamp(36px, 6vw, 54px);
      }
      
      .subtitle {
        font-size: 18px;
      }
    }

    /* HERO */
    .hero{position:relative;min-height:78vh;display:grid;place-items:center;padding-top:48px}
    .orb{position:fixed;filter:blur(45px);opacity:.5;mix-blend-mode:screen;pointer-events:none;will-change:transform}
    .orb.generated{width:500px;height:500px}
    /* @keyframes floatOrb{0%{transform:translate(0, 0)}25%{transform:translate(-20px, -30px)}50%{transform:translate(10px, -15px)}75%{transform:translate(-15px, 20px)}100%{transform:translate(0, 0)}} */

    .hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(16px,4vw,40px); align-items:center; position:relative; z-index:1;}
    .hero-inner > div {position:relative; z-index:2;} /* Ensure child divs are visible */
    @media (max-width:900px){.hero-inner{grid-template-columns:1fr; text-align: center;}}
    @media (max-width:640px){
      .hero{min-height: auto; padding: 24px 0; display:block;} /* Changed from grid to block */
      .hero-inner{display:flex; flex-direction:column; gap:24px; padding:20px;}
    }
    /* Fix for iPhone viewport (375px) - ensure content is visible */
    @media (max-width:380px){
      /* .hero{min-height:auto; padding:20px 0; display:block;}
      .hero-inner{display:flex; flex-direction:column; gap:20px; padding:15px;}
      .orb.one{width:300px;height:300px; opacity:0.4;}
      .orb.two{width:350px;height:350px; opacity:0.4;} */
    }

    .title{font-family:"Space Grotesk", Inter; font-display: swap; font-weight:900; line-height:1.05;
      font-size: clamp(28px, 5.25vw, 69px); letter-spacing:-1.5px; margin:0 0 16px;
      background: linear-gradient(90deg, #ffffff, #cfe7ff, #e6dbff);
      -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
      position:relative; overflow:visible; text-shadow: 0 2px 20px rgba(139,211,255,.3);
      display:block; filter: brightness(1.1);
      animation: shimmerText 5s linear infinite;
      background-size: 200% auto;}

    .subtitle{font-weight:600;letter-spacing:.5px;margin:0 0 24px; font-size: clamp(15px, 2.2vw, 20px); display:block;
      color: #ffffff; text-shadow: 0 1px 3px rgba(0,0,0,0.5);}

    .cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px; position:relative; z-index:3;}
    @media (max-width:900px) and (min-width:641px){.cta{justify-content: center;}}
    @media (max-width:640px){
      .cta{justify-content: center; gap:10px; margin-top:16px;}
      .cta .chip{font-size:13px; padding:10px 14px;}
    }
    @media (max-width:380px){.cta{gap:8px;} .cta .chip{font-size:12px; padding:9px 12px;}}
    .chip{padding:12px 18px;border-radius:999px;background:var(--glass);backdrop-filter: blur(12px) saturate(180%);
      border:1px solid rgba(255,255,255,.1); box-shadow: inset 0 1px 0 rgba(255,255,255,.05), var(--shadow-sm);
      transition:all .2s cubic-bezier(.4,0,.2,1); font-size: clamp(14px, 1.8vw, 16px);
      text-decoration: none; display: inline-block;}
    .chip:hover{transform:translateY(-4px) scale(1.02); box-shadow:0 16px 35px rgba(139,211,255,.15);
      background: rgba(255,255,255,.08);}
    .chip:focus-visible{transform:translateY(-4px) scale(1.02); box-shadow:0 16px 35px rgba(139,211,255,.15);
      background: rgba(255,255,255,.08); outline: 3px solid var(--accent); outline-offset: 3px;}
    .primary{background:linear-gradient(135deg, var(--accent), var(--accent2)); color:#ffffff; font-weight:900;
      box-shadow: 0 8px 25px rgba(139,211,255,.3);}
    .primary:hover{box-shadow: 0 12px 35px rgba(139,211,255,.4); transform:translateY(-4px) scale(1.05);}
    .primary:focus-visible{box-shadow: 0 12px 35px rgba(139,211,255,.4); transform:translateY(-4px) scale(1.05);
      outline: 3px solid #ffffff; outline-offset: 3px;}

    .card{position:relative;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);
      overflow:hidden; backdrop-filter: blur(20px) saturate(200%); box-shadow: var(--shadow-lg), var(--glow); z-index:2;}
    /* Fixed portrait aspect ratio */
    .portrait-container{aspect-ratio:4/5; width:100%; overflow:hidden; position:relative;}
    .portrait{width:100%; height:100%; object-fit:cover; object-position: center; display:block;
      filter:saturate(1.1) contrast(1.05); transition: transform .5s cubic-bezier(.4,0,.2,1);}
    /* Mobile portrait sizing */
    @media (max-width:640px){
      .hero .card{max-width:320px; margin:0 auto; display:block;}
      .portrait-container{aspect-ratio:3/4;}
    }
    @media (max-width:380px){
      .hero .card{max-width:260px;}
    }
    .floaty{transition: transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .3s ease}
    .floaty:hover, .floaty:focus-within{transform: translateY(-10px) rotateZ(-.8deg) scale(1.02);
      box-shadow:0 25px 70px rgba(0,0,0,.6), 0 0 60px rgba(139,211,255,.2);}
    .floaty:hover .portrait{transform: scale(1.05);}

    /* Lazy loading styles */
    img[loading="lazy"] {
      background: linear-gradient(135deg, var(--card), var(--glass));
    }


    /* BIO */
    section{padding: clamp(36px,3vw,84px) 0}
    h2{font-family:"Space Grotesk"; font-display: swap; font-size: clamp(32px,4.2vw,48px);margin:0 0 20px;
      background:linear-gradient(90deg, var(--text), var(--accent));
      -webkit-background-clip:text; background-clip:text;
      text-shadow: 0 1px 2px rgba(0,0,0,0.5);}
    p{color:#e8edff; line-height:1.8; font-size: clamp(15px, 1.8vw, 17px); text-shadow: 0 1px 2px rgba(0,0,0,0.8);}
    @media screen and (max-width: 640px) {
      .about-section {background-color: rgba(0,0,0,.25);}
    }
    
    /* Enhanced contrast for About Fimi section */
    section{position:relative;}
    section::before{
      content:'';position:absolute;inset:0;
      background:linear-gradient(180deg, rgba(5,6,10,0.7), rgba(5,6,10,0.85));
      pointer-events:none;z-index:-1;border-radius:inherit;
    }

    .two-col{display:grid;grid-template-columns:1.1fr .9fr; gap:28px}
    @media (max-width:900px){.two-col{grid-template-columns:1fr}}

    /* YouTube iframe responsive wrapper fix */
    .two-col .card iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0;
    }
    .two-col .card {
      position: relative;
      padding-bottom: 56.25%; /* 16:9 aspect ratio */
      height: 0;
      overflow: hidden;
    }

    /* fixed marquee layout */
    .marquee-wrap{width:100%;display:flex;justify-content:center;margin-top:18px; overflow:hidden;}
    .marquee{width:100%;max-width:1100px; position:relative; overflow:hidden; border-radius:20px;
      border:1px solid rgba(255,255,255,.1); background: linear-gradient(180deg, rgba(255,255,255,.04), rgba(255,255,255,.02));
      box-shadow: var(--shadow-md);}
    @media (max-width:640px){
      .marquee{border: none; background: none; box-shadow: none; max-width:100%;}
      .marquee-wrap{padding:0; margin-top:12px;}
    }
    .marquee-track{display:flex; gap:32px; padding:16px 24px; white-space:nowrap; will-change:transform;
      animation: xscroll 30s linear infinite}
    .marquee-track .tag{padding:10px 18px; border-radius:999px; border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.08); color:#ffffff; font-weight: 600; backdrop-filter: blur(10px);
      text-shadow: 0 1px 2px rgba(0,0,0,0.5);}
    @keyframes xscroll{from{transform:translateX(0)} to{transform:translateX(-50%)}}

    /* GALLERY CARDS (after hero section) */
    .gallery{display:grid;grid-template-columns:repeat(12,1fr); gap:12px; margin-top:24px}
    .gallery .g1{grid-column: span 4}
    .gallery .g2{grid-column: span 4}
    .gallery .g3{grid-column: span 4}
    .gallery .card img{width: 100%; height: 100%; object-fit: cover; display: block;}
    @media (max-width:900px){
      .gallery{grid-template-columns:1fr 1fr; gap:16px;}
      .gallery .g1, .gallery .g2{grid-column:span 1}
      .gallery .g3{grid-column:span 2}
    }
    @media (max-width:640px){
      .gallery{display: none;}
    }

    /* DISCO */
    .grid{display:grid;grid-template-columns:repeat(12,1fr); gap:16px}
    .col-4{grid-column:span 4}
    @media (max-width:1000px){.col-4{grid-column: span 6}}
    @media (max-width:680px){.col-4{grid-column: span 12} .hidden-mobile{display: none} .col-4.mobile-6 {grid-column: span 6}}

    .tile{position:relative; border-radius:20px; overflow:hidden; background:var(--card);
      border:1px solid rgba(255,255,255,.08); transform:translateY(20px);opacity:0;
      transition:all .6s cubic-bezier(.2,.9,0,1); box-shadow: var(--shadow-md);
      display: flex; flex-direction: column; height: 100%;}
    .tile.revealed{transform:none;opacity:1}
    .tile:hover{transform: translateY(-5px); box-shadow: var(--shadow-lg), 0 0 40px rgba(139,211,255,.1);}
    .tile > a {flex: 1; display: flex; align-items: center; text-decoration: none;}
    .tile > a:focus-visible {outline: 3px solid var(--accent); outline-offset: -3px; border-radius: 20px;}
    .tile img, .tile .img-fallback{width:100%; aspect-ratio:1/1; object-fit:cover; display:block; filter:contrast(1.05) brightness(1.02);
      transition: transform .4s ease;}
    .tile:hover img{transform: scale(1.08);}
    .tile .meta{margin-top: auto; padding: 16px;
      background: linear-gradient(180deg, rgba(10,12,18,.98), rgba(10,12,18,.95));
      backdrop-filter: blur(16px) saturate(200%); border-radius: 0 0 20px 20px;
      border-top:1px solid rgba(255,255,255,.15); transition: all .3s ease;
      min-height: 68px;}
    .tile:hover .meta{transform: translateY(-4px); background: linear-gradient(180deg, rgba(10,12,18,1), rgba(10,12,18,.98));}
    .tile .meta strong{display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#ffffff;}
    .tile .meta small{display:block; margin-top:4px; color:#d8ddff;}

    .press-list{display:grid; gap:16px}
    .press-item{display:flex; gap:16px; align-items:center; padding:16px 20px; border-radius:16px;
      background:var(--glass); border:1px solid rgba(255,255,255,.08);
      transition: all .2s cubic-bezier(.4,0,.2,1); text-decoration: none; box-shadow: var(--shadow-sm);}
    .press-item:hover{transform: translateX(8px);
      background: rgba(255,255,255,.08); box-shadow: var(--shadow-md);}
    .press-item:focus-visible{transform: translateX(8px);
      background: rgba(255,255,255,.08); box-shadow: var(--shadow-md);
      outline: 3px solid var(--accent); outline-offset: 3px;}
    .press-item small{color:#d8ddff; font-size: 14px;}
    .press-item strong{font-size: clamp(15px, 1.8vw, 17px); color:#ffffff;}
    
    /* Improved press item icons */
    .press-icon {width: 40px; height: 40px; background: linear-gradient(135deg, var(--accent), var(--accent2));
      border-radius: 8px; display: flex; align-items: center; justify-content: center;
      font-weight: bold; color: #ffffff; font-size: 16px; flex-shrink: 0;}

    /* FOOTER */
    footer{padding:48px 0 60px; color:var(--muted); border-top:1px solid rgba(255,255,255,.06);
      background: linear-gradient(180deg, transparent, rgba(10,12,20,.5));}

    /* MICRO‑INTERACTIONS */
    .magnet{position:relative; display:inline-flex; align-items:center; gap:10px}

    .cursor{position:fixed;top:0;left:0;width:24px;height:24px;border-radius:50%;pointer-events:none;
      transform:translate(-50%,-50%);mix-blend:exclusion;background:radial-gradient(circle, #cde8ff44, transparent);
      box-shadow:0 0 50px #9fd5ff66; display: none; z-index: 9999;}
    @media (hover: hover) and (pointer: fine) {.cursor {display: block;}}
    
    /* Improved image fallback with animation */
    .img-fallback {
      background: linear-gradient(135deg, rgba(139,211,255,.1), rgba(184,146,255,.1));
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: var(--text);
      font-size: 14px;
      aspect-ratio: 1/1;
      position: relative;
      overflow: hidden;
    }
    .img-fallback::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
      animation: shimmer 2s infinite;
    }
    @keyframes shimmer {
      0% {transform: translateX(-100%);}
      100% {transform: translateX(100%);}
    }
    
    /* Skeleton loading states */
    .skeleton {
      background: linear-gradient(90deg, var(--glass), rgba(255,255,255,.08), var(--glass));
      background-size: 200% 100%;
      animation: skeleton-loading 1.5s ease-in-out infinite;
    }
    @keyframes skeleton-loading {
      0% {background-position: 200% 0;}
      100% {background-position: -200% 0;}
    }
    
    /* Floating action button for back to top */
    .fab-top {
      position: fixed;
      bottom: 90px; /* Raised to avoid content overlap */
      right: 20px; /* Adjusted for mobile */
      width: 48px; /* Smaller on mobile */
      height: 48px;
      border-radius: 50%;
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      color: #ffffff;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 20px;
      font-weight: bold;
      box-shadow: var(--shadow-lg);
      cursor: pointer;
      transition: all .3s cubic-bezier(.4,0,.2,1);
      opacity: 0;
      transform: translateY(100px);
      pointer-events: none;
      z-index: 50;
      border: none;
    }
    @media (min-width: 768px) {
      .fab-top {
        bottom: 30px;
        right: 30px;
        width: 56px;
        height: 56px;
        font-size: 24px;
      }
    }
    .fab-top.visible {
      opacity: 1;
      transform: translateY(0);
      pointer-events: auto;
    }
    .fab-top:hover {
      transform: translateY(-5px) scale(1.1);
      box-shadow: 0 15px 40px rgba(139,211,255,.4);
    }
    .fab-top:focus-visible {
      transform: translateY(-5px) scale(1.1);
      box-shadow: 0 15px 40px rgba(139,211,255,.4);
      outline: 3px solid #ffffff;
      outline-offset: 3px;
    }
    
    /* Announcement Widget with Awesome Reveal Animation */
    .announcement-widget {
      position: fixed;
      bottom: 30px;
      left: 30px;
      z-index: 40;
      transform: translateX(-500px);
      transition: all .6s cubic-bezier(.68,-.55,.265,1.55);
    }
    
    .announcement-widget.active {
      transform: translateX(0) rotate(0deg);
    }
    
    .announcement-widget.expanded {
      transform: translateX(0) scale(1);
    }
    
    /* Collapsed State */
    .announcement-collapsed {
      background: linear-gradient(135deg, rgba(43,77,229,.95), rgba(122,86,189,.95));
      backdrop-filter: blur(20px) saturate(180%);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 20px;
      padding: 12px 16px;
      display: flex;
      align-items: center;
      gap: 12px;
      box-shadow: 0 10px 40px rgba(139,211,255,.3), 0 0 80px rgba(184,146,255,.2);
      cursor: pointer;
      position: relative;
      overflow: hidden;
      transition: all .4s cubic-bezier(.4,0,.2,1);
      min-width: 280px;
    }
    
    .announcement-collapsed::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,.2) 50%, transparent 80%);
      transform: translateX(-150%);
      transition: transform .8s ease;
    }
    
    .announcement-collapsed:hover::before {
      transform: translateX(150%);
    }
    
    .announcement-collapsed:hover {
      transform: scale(1.05) rotate(-1deg);
      box-shadow: 0 15px 50px rgba(139,211,255,.4), 0 0 100px rgba(184,146,255,.3);
    }
    
    .announcement-thumb {
      width: 56px;
      height: 56px;
      border-radius: 12px;
      object-fit: cover;
      box-shadow: 0 4px 12px rgba(0,0,0,.3);
      transition: transform .4s cubic-bezier(.4,0,.2,1);
    }
    
    .announcement-collapsed:hover .announcement-thumb {
      transform: rotate(5deg) scale(1.1);
    }
    
    .announcement-info {
      flex: 1;
      color: white;
    }
    
    .announcement-info strong {
      display: block;
      font-size: 16px;
      margin-top: 4px;
      text-shadow: 0 2px 4px rgba(0,0,0,.3);
    }
    
    .announcement-badge {
      background: rgba(255,255,255,.2);
      backdrop-filter: blur(10px);
      padding: 4px 8px;
      border-radius: 6px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1px;
      display: inline-block;
      animation: glow 2s ease-in-out infinite;
    }
    
    @keyframes glow {
      0%, 100% { box-shadow: 0 0 5px rgba(255,255,255,.5); }
      50% { box-shadow: 0 0 20px rgba(255,255,255,.8), 0 0 30px rgba(255,255,255,.4); }
    }
    
    .announcement-pulse {
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translateY(-50%);
      width: 8px;
      height: 8px;
      background: white;
      border-radius: 50%;
      animation: pulse-dot 2s ease-in-out infinite;
    }
    
    @keyframes pulse-dot {
      0% {
        box-shadow: 0 0 0 0 rgba(255,255,255,.8);
      }
      70% {
        box-shadow: 0 0 0 15px rgba(255,255,255,0);
      }
      100% {
        box-shadow: 0 0 0 0 rgba(255,255,255,0);
      }
    }
    
    /* Expanded State */
    .announcement-expanded {
      position: absolute;
      bottom: 0;
      left: 0;
      background: linear-gradient(135deg, rgba(10,12,20,.98), rgba(43,77,229,.95));
      backdrop-filter: blur(30px) saturate(200%);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 24px;
      padding: 24px;
      width: 420px;
      box-shadow: 0 20px 60px rgba(139,211,255,.4), 0 0 120px rgba(184,146,255,.3);
      opacity: 0;
      visibility: hidden;
      transform: scale(0.3) rotate(15deg);
      transform-origin: bottom left;
      transition: all .5s cubic-bezier(.68,-.55,.265,1.55);
    }
    
    .announcement-widget.expanded .announcement-expanded {
      opacity: 1;
      visibility: visible;
      transform: scale(1) rotate(0deg);
      animation: expandReveal .6s cubic-bezier(.68,-.55,.265,1.55) forwards;
    }
    
    @keyframes expandReveal {
      0% {
        transform: scale(0.3) rotate(15deg) translateY(50px);
        filter: blur(10px);
      }
      50% {
        transform: scale(1.1) rotate(-2deg) translateY(-10px);
        filter: blur(0);
      }
      100% {
        transform: scale(1) rotate(0deg) translateY(0);
        filter: blur(0);
      }
    }
    
    .announcement-widget.expanded .announcement-collapsed {
      opacity: 0;
      visibility: hidden;
      transform: scale(0.8) rotate(-10deg);
      pointer-events: none;
    }
    
    .announcement-header {
      display: flex;
      gap: 16px;
      margin-bottom: 20px;
      position: relative;
    }
    
    .announcement-cover {
      width: 100px;
      height: 100px;
      border-radius: 16px;
      object-fit: cover;
      box-shadow: 0 8px 24px rgba(0,0,0,.4);
      animation: coverFloat 3s ease-in-out infinite;
    }
    
    @keyframes coverFloat {
      0%, 100% { transform: translateY(0) rotate(0deg); }
      50% { transform: translateY(-5px) rotate(2deg); }
    }
    
    .announcement-details {
      flex: 1;
      color: white;
    }
    
    .announcement-details h3 {
      margin: 8px 0;
      font-size: 24px;
      background: linear-gradient(90deg, #ffffff, #cfe7ff, #e6dbff);
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
      animation: shimmerText 3s linear infinite;
      background-size: 200% auto;
    }
    
    @keyframes shimmerText {
      0% { background-position: -200% center; }
      100% { background-position: 200% center; }
    }
    
    .announcement-details p {
      margin: 0;
      color: rgba(255,255,255,.8);
      font-size: 14px;
    }
    
    .announcement-links {
      display: flex;
      flex-direction: column;
      gap: 10px;
      animation: slideUp .6s cubic-bezier(.4,0,.2,1) .3s both;
    }
    
    @keyframes slideUp {
      from {
        opacity: 0;
        transform: translateY(20px);
      }
      to {
        opacity: 1;
        transform: translateY(0);
      }
    }
    
    .announcement-link {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 12px 16px;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.2);
      border-radius: 12px;
      color: white;
      text-decoration: none;
      transition: all .3s cubic-bezier(.4,0,.2,1);
      position: relative;
      overflow: hidden;
    }
    
    .announcement-link::before {
      content: '';
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.1), transparent);
      transform: translateX(-100%);
      transition: transform .6s ease;
    }
    
    .announcement-link:hover::before {
      transform: translateX(100%);
    }
    
    .announcement-link:hover {
      background: rgba(255,255,255,.15);
      transform: translateX(5px);
      box-shadow: 0 4px 12px rgba(139,211,255,.2);
    }
    
    .announcement-link svg {
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }
    
    .announcement-link-primary {
      background: linear-gradient(135deg, var(--accent), var(--accent2));
      border: none;
      font-weight: 600;
      justify-content: center;
    }
    
    .announcement-link-primary:hover {
      background: linear-gradient(135deg, var(--accent2), var(--accent));
      transform: translateY(-2px);
      box-shadow: 0 8px 20px rgba(139,211,255,.4);
    }
    
    .announcement-close {
      position: absolute;
      top: 12px;
      right: 12px;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      background: rgba(255,255,255,.1);
      border: 1px solid rgba(255,255,255,.2);
      color: white;
      font-size: 20px;
      cursor: pointer;
      transition: all .3s ease;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    
    .announcement-close:hover {
      background: rgba(255,255,255,.2);
      transform: rotate(90deg);
    }
    
    /* Mobile Responsive */
    @media (max-width: 640px) {
      .announcement-widget {
        display: none;
      }
    }
    
    @media (min-width: 641px) and (max-width: 899px) {
      .announcement-widget {
        bottom: 20px;
        left: 20px;
      }
      
      .announcement-expanded {
        width: 360px;
      }
    }
    
    /* Particle effect on expand */
    @keyframes particle {
      0% {
        transform: translate(0, 0) scale(1);
        opacity: 1;
      }
      100% {
        transform: translate(var(--x), var(--y)) scale(0);
        opacity: 0;
      }
    }
    
    .announcement-widget.expanded::after {
      content: '';
      position: absolute;
      width: 4px;
      height: 4px;
      background: white;
      border-radius: 50%;
      animation: particle 1s ease-out forwards;
      --x: 100px;
      --y: -100px;
    }
    
    /* Expandable Discography Styles */
    .disco-hidden {
      display: none;
    }
    
    .disco-toggle-container {
      text-align: center;
      margin-top: 32px;
    }
    
    .disco-toggle-btn {
      background: var(--glass);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: 16px 24px;
      color: var(--text);
      font-weight: 600;
      cursor: pointer;
      transition: all .3s cubic-bezier(.4,0,.2,1);
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 auto;
      backdrop-filter: blur(12px);
      box-shadow: var(--shadow-sm);
    }
    
    .disco-toggle-btn:hover {
      background: rgba(255,255,255,.08);
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
    }
    
    .disco-toggle-btn:focus-visible {
      background: rgba(255,255,255,.08);
      transform: translateY(-2px);
      box-shadow: var(--shadow-md);
      outline: 3px solid var(--accent);
      outline-offset: 3px;
    }
    
    .disco-toggle-btn .toggle-icon {
      transition: transform .3s ease;
    }
    
    .disco-toggle-btn[aria-expanded="true"] .toggle-icon {
      transform: rotate(180deg);
    }
    
    /* Streaming Platform Hub Styles */
    .streaming-hub {
      background: linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 24px;
      padding: 32px;
      margin: 32px 0 0;
      backdrop-filter: blur(20px);
      box-shadow: var(--shadow-lg);
    }
    
    .streaming-hub h3 {
      margin: 0 0 24px;
      font-size: clamp(20px, 3vw, 24px);
      text-align: center;
      background: linear-gradient(90deg, var(--text), var(--accent));
      -webkit-background-clip: text;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    
    .streaming-platforms {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
      gap: 16px;
      margin: 0 auto;
    }
    
    .platform-link {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 8px;
      padding: 16px 12px;
      border-radius: 16px;
      background: rgba(255,255,255,.05);
      border: 1px solid rgba(255,255,255,.08);
      text-decoration: none;
      color: var(--text);
      transition: all .3s cubic-bezier(.4,0,.2,1);
      font-size: 14px;
      font-weight: 500;
    }
    
    .platform-link:hover {
      background: rgba(255,255,255,.1);
      transform: translateY(-4px);
      box-shadow: 0 8px 25px rgba(139,211,255,.15);
    }
    
    .platform-link:focus-visible {
      background: rgba(255,255,255,.1);
      transform: translateY(-4px);
      box-shadow: 0 8px 25px rgba(139,211,255,.15);
      outline: 3px solid var(--accent);
      outline-offset: 3px;
    }
    
    .platform-link svg {
      width: 24px;
      height: 24px;
      opacity: 0.8;
    }
    
    .platform-link:hover svg {
      opacity: 1;
    }
    
    /* Mobile icon-only layout for streaming platforms */
    @media (max-width: 767px) {
      .streaming-hub {
        padding: 20px 16px;
        margin: 24px 0 0;
      }
      
      .streaming-hub h3 {
        margin: 0 0 20px;
        font-size: 18px;
      }
      
      .streaming-platforms {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 12px;
        max-width: 100%;
      }
      
      .platform-link {
        width: 48px;
        height: 48px;
        padding: 0;
        border-radius: 12px;
        justify-content: center;
        align-items: center;
        flex-direction: row;
      }
      
      .platform-link span {
        display: none;
      }
      
      .platform-link svg {
        width: 28px;
        height: 28px;
        opacity: 0.9;
      }
      
      .platform-link:hover {
        transform: translateY(-2px);
      }
      
      .platform-link:focus-visible {
        transform: translateY(-2px);
      }
    }
    
    /* Phone-specific 4-column layout */
    @media (max-width: 480px) {
      .streaming-platforms {
        grid-template-columns: repeat(6, 1fr);
      }
    }
    
    /* Upcoming Shows Section */
    .shows-section {
      background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      border-radius: 24px;
      padding: 40px 32px;
      margin: 0 0 48px;
      border: 1px solid rgba(255,255,255,.08);
      backdrop-filter: blur(20px);
    }
    
    .shows-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 20px;
      margin-top: 24px;
    }

    /* Mobile responsiveness for shows grid */
    @media (max-width: 640px) {
      .shows-grid {
        grid-template-columns: 1fr;
        gap: 16px;
        margin-top: 20px;
      }

      .show-card {
        padding: 20px;
      }

      .show-title {
        font-size: 16px;
      }

      .show-date {
        font-size: 13px;
      }
    }
    
    .show-card {
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 16px;
      padding: 24px;
      transition: all .3s cubic-bezier(.4,0,.2,1);
    }
    
    .show-card:hover {
      background: rgba(255,255,255,.12);
      transform: translateY(-4px);
      box-shadow: var(--shadow-md);
    }
    
    .show-date {
      color: var(--yellow);
      font-weight: 600;
      font-size: 14px;
      margin-bottom: 8px;
    }
    
    .show-title {
      font-size: 18px;
      font-weight: 700;
      margin-bottom: 4px;
    }
    
    .show-venue {
      color: var(--muted);
      font-size: 14px;
    }
    
    /* Expandable Bio Styles */
    .bio-expandable {
      position: relative;
    }
    
    .bio-content {
      transition: max-height .5s cubic-bezier(.4,0,.2,1);
      overflow: hidden;
    }
    
    .bio-content.collapsed {
      max-height: 200px;
    }
    
    .bio-content.expanded {
      max-height: none;
    }
    
    .bio-fade {
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      height: 60px;
      background: linear-gradient(transparent, var(--bg));
      pointer-events: none;
      transition: opacity .3s ease;
    }
    
    .bio-content.expanded + .bio-fade {
      opacity: 0;
    }
    
    .bio-toggle-btn {
      background: var(--accent);
      color: #ffffff;
      border: none;
      border-radius: 999px;
      padding: 12px 20px;
      font-weight: 600;
      cursor: pointer;
      margin-top: 16px;
      transition: all .3s cubic-bezier(.4,0,.2,1);
    }
    
    .bio-toggle-btn:hover {
      background: var(--accent2);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(139,211,255,.3);
    }
    
    .bio-toggle-btn:focus-visible {
      background: var(--accent2);
      transform: translateY(-2px);
      box-shadow: 0 8px 25px rgba(139,211,255,.3);
      outline: 3px solid #ffffff;
      outline-offset: 3px;
    }
    
    /* Press Section Expandable */
    .press-hidden {
      display: none;
    }
    
    .press-toggle-container {
      text-align: center;
      margin-top: 24px;
    }
    
    .press-toggle-btn {
      background: var(--glass);
      border: 1px solid rgba(255,255,255,.1);
      border-radius: 999px;
      padding: 14px 20px;
      color: var(--text);
      font-weight: 500;
      cursor: pointer;
      transition: all .3s cubic-bezier(.4,0,.2,1);
      display: flex;
      align-items: center;
      gap: 8px;
      margin: 0 auto;
      backdrop-filter: blur(12px);
    }
    
    .press-toggle-btn:hover {
      background: rgba(255,255,255,.08);
      transform: translateY(-2px);
    }
    
    .press-toggle-btn:focus-visible {
      background: rgba(255,255,255,.08);
      transform: translateY(-2px);
      outline: 3px solid var(--accent);
      outline-offset: 3px;
    }
    
    .press-toggle-btn .toggle-icon {
      transition: transform .3s ease;
    }
    
    .press-toggle-btn[aria-expanded="true"] .toggle-icon {
      transform: rotate(180deg);
    }
    