 @font-face {
     font-family: 'Monigue';
     src: url('../fonts/Monigue/Monigue.ttf');
     font-weight: 400;
     font-style: normal;
 }

 @font-face {
     font-family: 'Mafle-Medium';
     src: url('../fonts/Mafle/MafleType-Medium.ttf');
     font-weight: 500;
     font-style: normal;
 }

 @font-face {
     font-family: 'Mafle-Black';
     src: url('../fonts/Mafle/MafleType-Black.ttf');
     font-weight: 900;
     font-style: normal;
 }

 @font-face {
     font-family: 'Gunterz-Black';
     src: url('../fonts/Gunterz/Gunterz-Black.ttf');
     font-weight: 900;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Thin.ttf') format('truetype');
     font-weight: 100;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Thin_Italic.ttf') format('truetype');
     font-weight: 100;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Light.ttf') format('truetype');
     font-weight: 300;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Light_Italic.ttf') format('truetype');
     font-weight: 300;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Regular.ttf') format('truetype');
     font-weight: 400;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Regular_Italic.ttf') format('truetype');
     font-weight: 400;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Medium.ttf') format('truetype');
     font-weight: 500;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Medium_Italic.ttf') format('truetype');
     font-weight: 500;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-SemiBold.ttf') format('truetype');
     font-weight: 600;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-SemiBold_Italic.ttf') format('truetype');
     font-weight: 600;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Bold.ttf') format('truetype');
     font-weight: 700;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Bold_Italic.ttf') format('truetype');
     font-weight: 700;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-ExtraBold.ttf') format('truetype');
     font-weight: 800;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-ExtraBold_Italic.ttf') format('truetype');
     font-weight: 800;
     font-style: italic;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Heavy.ttf') format('truetype');
     font-weight: 900;
     font-style: normal;
 }

 @font-face {
     font-family: 'BlauerNue';
     src: url('../fonts/BlauerNue/BlauerNue-Heavy_Italic.ttf') format('truetype');
     font-weight: 900;
     font-style: italic;
 }

 :root {
     --primary-pink: #fa23fd;
     --primary-purple-rgb: 250, 35, 253;
     --primary-purple: #3c0588;
     --secondary-purple: #5b1fa6;
     --tertiary-blue: #23f0fd;
     --tertiary-blue-rgb: 35, 240, 253;
     --black: #0a0a0a;
     --black-rgb: 10, 10, 10;
     --white: #f5f5f5;
 }

 /* Algemene stijlen */
 * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
 }

 ::-moz-selection {
     /* Code for Firefox */
     color: var(--black);
     background: var(--white);
 }

 ::selection {
     color: var(--primary-pink);
     background: var(--primary-purple);
 }

 /* Verberg de standaard scrollbar */
 html {
     scroll-behavior: smooth;
     scrollbar-width: none;
     /* Voor Firefox */
     overflow-y: scroll;
     /* Scrollen blijft mogelijk */
 }

 ::-webkit-scrollbar {
     display: none;
     /* Voor Chrome, Edge, Safari */
 }

 /* Custom Scroll Thumb */
 #custom-scrollbar {
     position: fixed;
     right: 10px;
     top: 0;
     width: 6px;
     height: 50px;
     border-radius: 10px;
     opacity: 0;
     pointer-events: pointer;
     backdrop-filter: invert(1) grayscale(1);
     /* Voorkomt dat het interactie blokkeert */
 }

 body {
     font-family: 'Mafle-Black', sans-serif;
     background-size: cover;
     background-position: center;
     background-attachment: fixed;
     /* Zorgt ervoor dat de achtergrond niet meescrolt */
     background-repeat: no-repeat;
     height: 100%;
     background-color: var(--black);
     color: var(--white);
     overflow-x: hidden;
     position: relative;
 }

 .no-scroll {
     overflow: hidden;
 }

 h1,
 h2,
 h3 {
     font-family: 'Gunterz-Black', serif;
     font-weight: 500;
 }

 ul,
 li {
     margin: 0;
     padding: 0;
     list-style-type: none;
 }

 a {
     text-decoration: none;
     color: var(--white);
 }

 #page-transition-overlay {
     text-transform: uppercase;
     display: flex;
     align-items: center;
     justify-content: center;
     font-size: 5rem;
     position: fixed;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100svh;
     background: var(--black);
     z-index: 9999;
     pointer-events: none;
 }

 /* .background-container {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     background-size: cover;
     background-position: center;
     filter: brightness(0.1) grayscale(100);
     z-index: -2;
 } */

 .background-container {
     position: fixed;
     inset: 0;
     z-index: -2;
     overflow: hidden;
     filter: brightness(0.2) grayscale(100%);
 }

 .background-video {
     position: absolute;
     top: 50%;
     left: 50%;
     min-width: 100%;
     min-height: 100%;
     width: auto;
     height: auto;
     transform: translate(-50%, -50%);
     object-fit: cover;

     /* jouw look */
 }

 .background-overlay {
     position: fixed;
     top: 0;
     left: 0;
     width: 100%;
     height: 100%;
     opacity: 0;
     z-index: -1;
     background-color: var(--black);

 }

 /* Centered navigation with odd-numbered items and middle logo */
 .center-nav {
     cursor: pointer;
     position: sticky;
     top: 0;
     z-index: 100;
     width: 100%;
     min-height: 12svh;
     margin-top: 2svh;
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .center-nav ul {
     display: flex;
     align-items: center;
     justify-content: center;
     gap: 2rem;

     padding-inline: 2rem;

     border-radius: 999px;

     background: rgba(255, 255, 255, 0.06);
     backdrop-filter: blur(14px) saturate(140%);
     -webkit-backdrop-filter: blur(14px) saturate(140%);

     box-shadow:
         inset 0 0 0 1px rgba(255, 255, 255, 0.15),
         0 10px 30px rgba(0, 0, 0, 0.3);

     overflow: hidden;
 }

 .center-nav li a {
     color: var(--white);
     text-transform: uppercase;
     text-decoration: none;
     font-size: 1.25rem;
     padding: 0.25rem 0.5rem;
     transition: opacity 150ms ease, transform 150ms ease;
     line-height: 1;
 }

 .nav-link {
     text-decoration: none;
     color: white;
 }

 .word {
     display: inline-flex;
     overflow: hidden;
     line-height: 1;
 }

 .letter {
     position: relative;
     display: inline-block;
     overflow: hidden;
 }

 .letter span {
     display: block;
     transition:
         transform 0.35s cubic-bezier(.4, 0, .2, 1);
     transition-delay: calc(var(--i) * 40ms);
 }

 .letter .top {
     transform: translateY(0%);
 }

 .letter .bottom {
     position: absolute;
     top: 0;
     left: 0;
     transform: translateY(100%);
 }

 /* HOVER */
 .nav-link:hover .letter .top {
     transform: translateY(-100%);
 }

 .nav-link:hover .letter .bottom {
     transform: translateY(0%);
 }

 .center-nav li.logo {
     display: flex;
     align-items: center;
     justify-content: center;
 }

 .center-nav li.logo a {
     display: inline-flex;
     width: 120px;
     height: 120px;
     overflow: hidden;
     margin: -20px;
     background: transparent;
 }

 .center-nav li.logo img {
     width: 100%;
     object-fit: contain;
     display: block;
     transition: .3s ease;
 }


 .center-nav li.logo {

     &:hover img {
         transition: .3s ease;
         transform: scale(.95);
     }
 }

 .nav-wrapper {
     display: none;
     position: fixed;
     z-index: 1001;
     border-radius: 999px;
     justify-content: center;
     align-items: center;

     top: 30px;
     right: 30px;

     padding: 2rem;
     width: 60px;
     height: 60px;

     background: rgba(255, 255, 255, 0.06);
     backdrop-filter: blur(14px) saturate(140%);
     -webkit-backdrop-filter: blur(14px) saturate(140%);

     box-shadow:
         inset 0 0 0 1px rgba(255, 255, 255, 0.15),
         0 10px 30px rgba(0, 0, 0, 0.3);
 }

 .no-scroll {
     overflow: hidden;
 }

 /* Hamburger */
 .hamburger {
     display: none;
     position: fixed;
     z-index: 1001;
     width: 30px;
     height: 22px;
     cursor: pointer;
     flex-direction: column;
     justify-content: space-between;
 }

 .hamburger span {
     height: 3px;
     width: 100%;
     background: var(--white);
     transition: 0.3s ease;
 }

 /* Animate to X */
 .hamburger.active span:nth-child(1) {
     transform: translateY(9px) rotate(45deg);
 }

 .hamburger.active span:nth-child(2) {
     opacity: 0;
 }

 .hamburger.active span:nth-child(3) {
     transform: translateY(-9px) rotate(-45deg);
 }

 /* Mobile menu */
 .mobile-menu {
     position: fixed;
     inset: 0;
     background: rgba(0, 0, 0, 0.95);
     backdrop-filter: blur(20px);

     display: flex;
     justify-content: center;
     align-items: center;

     opacity: 0;
     visibility: hidden;
     pointer-events: none;


     transition:
         opacity 0.35s ease,
         transform 0.35s cubic-bezier(.4, 0, .2, 1),
         visibility 0.35s;

     z-index: 1000;
 }

 .mobile-menu ul {
     list-style: none;
     padding: 0;
     text-align: center;
 }

 .mobile-menu li {
     margin: 2rem 0;
     transform: translateY(40px);
 }

 .mobile-menu a {
     font-size: 2rem;
     text-decoration: none;
     color: var(--white);
     text-transform: uppercase;
 }

 /* Active state */
 .mobile-menu.active {
     opacity: 1;
     visibility: visible;
     pointer-events: auto;

     transform: translateY(0) scale(1);
 }

 /* Hide desktop nav on mobile */
 @media (max-width: 900px) {
     .center-nav {
         display: none;
     }

     .nav-wrapper {
         display: flex;
     }

     .hamburger {
         display: flex;
     }
 }

 /* Hero */
 .hero {
     height: 100svh;
     margin-top: -12svh;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     text-align: center;

     .buttons {
         display: flex;
         gap: 4rem;
         margin-top: 2rem;

         .call-to-action {
             display: flex;
             justify-content: center;
             align-items: center;
             position: relative;
             overflow: hidden;

             padding: 1.2rem 2rem;
             color: var(--white);
             font-weight: 900;
             font-size: clamp(0.75rem, calc(0.6vw + 0.4rem), 1rem);
             border: none;
             outline: none;
             cursor: pointer;
             text-transform: uppercase;
             letter-spacing: 1px;
             transition: 0.25s;

             &::before,
             &::after {
                 content: attr(data-text);
                 position: absolute;
                 inset: 0;
                 display: flex;
                 justify-content: center;
                 align-items: center;
                 opacity: 0;
                 pointer-events: none;
             }

             &:hover {
                 animation: shift 1s ease-in-out both;
             }

             &:hover::before {
                 opacity: 0.8;
                 color: var(--tertiary-blue);
                 animation: glitch 0.35s;
                 z-index: -1;
             }

             &:hover::after {
                 opacity: 0.8;
                 color: var(--primary-purple);
                 animation: glitch 0.35s reverse;
                 z-index: -2;
             }

             &:first-child {
                 background: var(--primary-purple);

                 &:hover {
                     box-shadow: inset 0 0 0 4px var(--white);
                     background: var(--black);
                     color: var(--white);
                 }
             }

             /* &:last-child {
                 color: var(--primary-pink);
                 background: var(--white);

                 &:hover {
                     box-shadow: inset 0 0 0 4px var(--primary-pink);
                     background: var(--black);
                     color: var(--primary-pink);
                 }
             } */
         }
     }


     h1 {
         font-size: clamp(1.5rem, calc(10vw - 4.5rem), 8rem);
         line-height: 1.2;
         max-width: 90%;
         margin: 0 auto;
     }

     .countdown-timer {
         display: flex;
         justify-content: center;
         align-items: center;
         font-family: 'Mafle-Black', sans-serif;
         font-size: clamp(0.75rem, calc(1vw + 0.5rem), 4rem);
         color: var(--white);
         margin-bottom: 1.5rem;
         letter-spacing: 2px;
         line-height: 0rem;


         span {
             line-height: 0rem;
             padding: 0.5rem 0.5rem;
         }
     }
 }


 .lineup {
     display: flex;
     flex-direction: column;
     justify-content: center;
     padding-inline: 6vw;
     color: var(--white);
     position: relative;
 }

 .lineup::before {
     content: "";
     position: absolute;
     display: flex;
     justify-content: center;
     align-items: center;

     left: 0;
     top: 0;

     height: 100vh;
     width: 100vw;

     z-index: -1;

     background:
         radial-gradient(rgba(var(--primary-purple-rgb), 0.25),
             transparent 70%);

     filter: blur(80px);
     opacity: 0.9;
 }


 .lineup__intro {
     margin-bottom: 5rem;
 }

 .lineup__intro h2 {
     color: var(--white);
     letter-spacing: 3px;
     font-size: 0.9rem;
 }

 .lineup__marquee {
     position: relative;
     overflow: hidden;
     width: 100%;
 }

 .lineup__track {
     display: flex;
     /* gap: 2.5rem; */
     width: max-content;
     will-change: transform;
 }



 .lineup__names {
     text-align: center;
     display: flex;
     justify-content: center;
     align-items: center;
     flex-wrap: wrap;
     gap: 0.5rem;
     margin: 5rem auto;
     width: 90%;

     a,
     p {
         font-size: 3rem;
         text-transform: uppercase;
     }

     a:hover {
         color: var(--primary-purple);
     }

     span {
         color: var(--tertiary-blue);
         font-size: 2rem;
     }
 }

 .artist {
     min-width: 600px;
     height: 420px;
     flex-shrink: 0;
     background-size: cover;
     background-position: center;
     padding: 2.5rem;
     margin-inline: 1.25rem;
     background-image: var(--bg);
     display: flex;
     flex-direction: column;
     justify-content: flex-end;
     overflow: hidden;
     /* border-radius: 25px; */

     h1 {
         color: var(--white);
         text-shadow: 0 0 25px rgba(0, 0, 0, 0.8);
     }
 }

 .news-preview {
     padding: 6rem 2rem;
     color: var(--white);
 }

 .news-preview__inner {
     max-width: 1200px;
     margin: 0 auto;
 }

 .news-preview__header {
     display: flex;
     justify-content: space-between;
     align-items: flex-end;
     margin-bottom: 3rem;
 }

 .news-preview__header h2 {
     font-size: 2.5rem;
     letter-spacing: -0.02em;
 }

 .news-preview__all {
     font-size: 1rem;
     color: var(--primary-pink);
     text-decoration: none;
     transition: opacity 0.2s ease;
 }

 .news-preview__all:hover {
     opacity: 0.7;
 }

 /* GRID */
 .news-preview__grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 2rem;
 }

 /* CARD */
a {
    display: inline-block;
}

 .news-card {
     background: #111118;
     padding: 2.5rem 2rem;
     /* border-radius: 1.2rem; */
     display: flex;
     flex-direction: column;
     transition: transform 0.25s ease, box-shadow 0.25s ease;
 }

 .news-card:hover {
     transform: translateY(-6px);
     box-shadow: 0 20px 40px rgba(var(--black-rgb), 0.4);
 }

 .news-card__date {
     font-size: 0.85rem;
     letter-spacing: 0.08em;
     color: #8c8c9e;
     font-family: 'Mafle-Black', sans-serif;
     margin-bottom: 1rem;
 }

 .news-card__title {
     font-size: 1.4rem;
     margin-bottom: 1rem;
 }

 .news-card__excerpt {
     font-family: 'Mafle-Medium', sans-serif;
     font-size: 1rem;
     line-height: 1.6;
     color: #cfcfe6;
     margin-bottom: 2rem;
 }

 .news-card__link {
     margin-top: auto;
     font-size: 0.95rem;
     color: var(--secondary-purple);
     text-decoration: none;
 }

 .news-card__link:hover {
     text-decoration: underline;
 }

 .about {
     color: var(--white);
     padding: 6rem 2rem;
 }

 /* INTRO */
 .about-intro {
     max-width: 1100px;
     margin: 0 auto 5rem;
 }

 .about-intro h1 {
     font-size: clamp(2.8rem, 6vw, 4rem);
     letter-spacing: -0.03em;
 }

 .about-intro p {
     margin-top: 1.5rem;
     font-size: 1.1rem;
     line-height: 1.7;
     color: #b8b8d6;
     font-family: 'Mafle-Medium';
 }

 /* MISSION / VISION */
 .about-columns {
     max-width: 1100px;
     margin: 0 auto 6rem;
     display: grid;
     grid-template-columns: repeat(2, 1fr);
     gap: 4rem;
 }

 .about-block h2 {
     font-size: 1.6rem;
     margin-bottom: 1rem;
 }

 .about-block p {
     line-height: 1.8;
     color: #cfcfe6;
     font-family: 'Mafle-Medium';
 }

 /* POSTER SECTION */
 .about-history {
     max-width: 1200px;
     margin: 0 auto;
 }

 .about-history h2 {
     font-size: 2rem;
     margin-bottom: 2rem;
 }

 /* CAROUSEL */
 .poster-carousel {
     overflow: hidden;
     margin-bottom: 3rem;
 }

 .poster-track {
     display: flex;
     gap: 2rem;
     animation: scrollPosters 30s linear infinite;
 }

 .poster {
     width: 260px;
     background: #111118;
     /* border-radius: 12px; */
     overflow: hidden;
     flex-shrink: 0;
     position: relative;
 }

 .poster img {
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 /* CTA */
 .history-btn {
     text-transform: uppercase;
     display: inline-block;
     padding: 1rem 2.2rem;
     background-color: var(--primary-purple);
     color: var(--white);
     text-decoration: none;
     font-weight: 600;
     transition: all 0.3s ease;
 }

 .history-btn:hover {
     animation: shift 1s ease-in-out both;
     background-color: var(--black);
     color: var(--primary-purple);

     box-shadow: inset 0 0 0 4px var(--primary-purple);

 }

 .article-hero {
     min-height: 70vh;
     display: flex;
     align-items: flex-end;
     padding: 4rem 5vw;
 }

 .article-hero__inner {
     max-width: 900px;
 }

 .article-tag {
     display: inline-block;
     margin-bottom: 1rem;
     font-size: 0.75rem;
     letter-spacing: 0.15em;
     text-transform: uppercase;
     color: var(--primary-pink);
 }

 .article-hero h1 {
     font-size: clamp(2.2rem, 5vw, 4rem);
     line-height: 1.1;
     margin: 0;
 }

 .article-meta {
     margin-top: 1rem;
     display: flex;
     gap: 2rem;
     font-size: 0.85rem;
     color: #9a9a9a;
 }

 /* =====================
   ARTICLE CONTENT
===================== */

 .article {
     max-width: 720px;
     margin: 6rem auto;
     padding: 0 5vw;
 }

 .article-lead p {
     font-size: 1.3rem;
     line-height: 1.6;
     margin-bottom: 3rem;
     color: #f5f5f5;
 }

 .article-content p {
    font-family: "Mafle-Medium", sans-serif;
     font-size: 1rem;
     line-height: 1.9;
     margin-bottom: 2rem;
     color: #dcdcdc;
 }
 .article-content p a {
     color: var(--tertiary-blue);
 }

 blockquote {
     margin: 4rem 0;
     padding-left: 2rem;
     border-left: 3px solid var(--tertiary-blue);
     font-size: 1.4rem;
     font-weight: 500;
 }

 /* =====================
   FULL WIDTH IMAGE
===================== */

 .article-image::after {
     content: "";
     z-index: 99;
     width: 100%;
     height: 80svh;
     background-color: red;
 }

 .article-image img {
     width: 100%;
     height: 80svh;
     object-fit: cover;
     object-position: 80%;
     display: block;
 }

 /* =====================
   CALLOUT
===================== */

 .article-callout {
     padding: 5rem 5vw;
     text-align: center;
     font-size: 1.2rem;
 }

 /* =====================
   NAV / BUTTONS
===================== */

 .article-nav {
     display: flex;
     justify-content: center;
     gap: 2rem;
     padding: 4rem 0 6rem;
 }

 .btn {
     padding: 0.9rem 2rem;
     background-color: var(--white);
     text-decoration: none;
     color: var(--primary-purple);
     text-transform: uppercase;
     letter-spacing: 0.1em;
     font-size: 0.75rem;
     transition: all 0.25s ease;

     &:hover {
         background-color: var(--black);
         color: var(--white);
         box-shadow: inset 0 0 0 4px var(--white);
         animation: shift 1s ease-in-out both;
     }
 }

 .btn--outline {
     background-color: var(--primary-pink);
     color: var(--white);

     &:hover {
         background-color: var(--black);
         color: var(--primary-pink);
         box-shadow: inset 0 0 0 4px var(--primary-pink);
     }
 }



 /* RESPONSIVE */
 @media (max-width: 900px) {
     .about-columns {
         grid-template-columns: 1fr;
     }
 }

 .history-grid-section {
     padding: 6rem clamp(1.5rem, 8vw, 10rem);
     min-height: 100vh;
 }

 .history-grid {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 5rem;
 }

 .history-item {
     display: block;
     overflow: hidden;
     background: #111118;
     transition: transform 0.3s ease;
 }

 .history-item img {
     width: 100%;
     display: block;
     transition: transform 0.5s ease;
 }

 .history-item:hover img {
     transform: scale(1.05);
 }

 /* Tablet */
 @media (max-width: 1000px) {
     .history-grid {
         grid-template-columns: repeat(2, 1fr);
     }
 }

 /* Mobile */
 @media (max-width: 600px) {
     .history-grid {
         grid-template-columns: 1fr;
     }
 }

 .artist-detail {
     color: var(--white);
 }

 /* HERO */

 .artist-hero {
     position: relative;
     /* height: 70vh; */
     background-size: cover;
     background-position: center;
     display: flex;
     align-items: center;
     padding: 4rem;
 }

 .artist-hero-overlay {
     position: absolute;
     inset: 0;
 }

 .artist-hero-content {
     position: relative;
     z-index: 2;
 }

 .artist-hero h1 {
     font-size: clamp(3rem, 6vw, 5rem);
     margin-bottom: 0.5rem;
 }

 .artist-tag {
     text-transform: uppercase;
     font-size: 1.2rem;
     opacity: 0.8;
 }

 .back-btn {
     display: inline-block;
     margin-bottom: 2rem;
     color: var(--primary-pink);
     text-decoration: none;
     font-weight: 600;
 }

 /* CONTENT */

 .artist-content {
     max-width: 1100px;
     margin: 6rem auto;
     padding: 0 2rem;
 }

 .artist-bio h2 {
     margin-bottom: 1rem;
 }

 .artist-bio p {
     line-height: 1.8;
     opacity: 0.85;
     margin-bottom: 4rem;
 }

 /* META GRID */

 .artist-meta {
     display: grid;
     grid-template-columns: repeat(3, 1fr);
     gap: 3rem;
     margin-bottom: 4rem;
 }

 .artist-meta h3 {
     margin-bottom: 0.5rem;
     color: var(--primary-pink);
 }

 .artist-meta p {
     font-family: 'Mafle-Medium';
 }

 /* SOCIALS */

 .artist-socials {
     display: flex;
     gap: 2rem;
     margin-bottom: 4rem;
 }

 .artist-socials a {
     text-decoration: none;
     color: white;
     box-shadow: inset 0 0 0 4px var(--primary-pink);
     padding: 0.7rem 1.5rem;
     transition: 0.3s ease;
 }

 .artist-socials a:hover {
     background: var(--primary-pink);
     color: var(--black);
 }

 /* EMBED */

 .artist-embed iframe {
     border-radius: 16px;
 }

 /* RESPONSIVE */

 @media (max-width: 900px) {
     .artist-meta {
         grid-template-columns: 1fr;
     }

     .artist-hero {
         padding: 2rem;
     }
 }


 .site-footer {
     background: radial-gradient(at bottom, rgba(var(--primary-purple-rgb), 0.25),
             transparent 70%);
     /* background: radial-gradient(circle at top,
             #151520,
             #0a0a0d 70%); */
     color: var(--white);
     padding: 6rem 2rem 2rem;
     position: relative;
     overflow: hidden;
 }

 .site-footer::before {
     content: "";
     position: absolute;
     inset: 0;
     background: linear-gradient(to bottom,
             transparent,
             rgba(var(--black-rgb) 0.08));
     pointer-events: none;
 }

 /* INNER GRID */
 .site-footer__inner {
     max-width: 1200px;
     margin: 0 auto;
     display: grid;
     grid-template-columns: 1.2fr 1fr 1fr;
     gap: 4rem;
 }

 /* BRAND */
 .footer-logo {
     font-size: 2.8rem;
     letter-spacing: -0.03em;
 }

 .footer-tagline {
     font-family: 'Mafle-Medium';
     margin-top: 1rem;
     font-size: 1rem;
     line-height: 1.6;
     color: #cfcfe6;
 }

 /* INFO */
 .footer-info h3,
 .footer-connect h3 {
     font-size: 1.2rem;
     margin-bottom: 1rem;
 }

 .footer-info p {
     font-family: 'Mafle-Medium';
     display: flex;
     gap: .5rem;
     line-height: 1.7;
     padding: .25rem 0;
     color: #cfcfe6;
 }

 /* SOCIALS */
 .footer-socials {
     display: flex;
     gap: 1rem;
     margin-bottom: 2rem;
 }

 .footer-socials a {
     width: 44px;
     height: 44px;
     /* border-radius: 50%; */
     background: var(--white);
     display: flex;
     align-items: center;
     justify-content: center;
     font-weight: 600;
     color: var(--primary-purple);
     text-decoration: none;
     transition: all 0.25s ease;
 }

 .footer-socials a:hover {
     color: var(--white);
     background: var(--black);
     box-shadow: inset 0 0 0 4px var(--white);

 }

 /* CONTACT BUTTON */
 .footer-contact-btn {
     display: inline-block;
     padding: 0.9rem 1.8rem;
     background-color: var(--primary-purple);
     color: var(--white);
     text-transform: uppercase;
     text-decoration: none;
     font-weight: 600;
     transition: transform 0.25s ease, box-shadow 0.25s ease;
 }

 .footer-contact-btn:hover {
     animation: shift 1s ease-in-out both;
     box-shadow: inset 0 0 0 4px var(--white);
     background: var(--black);
     color: var(--white);

 }

 /* BOTTOM */
 .footer-bottom {
     margin-top: 4rem;
     padding-top: 1.5rem;
     border-top: 1px solid rgba(255, 255, 255, 0.08);
     display: flex;
     justify-content: space-between;
     font-size: 0.85rem;
     color: #8c8c9e;
 }


 /* RESPONSIVE */
 @media (max-width: 900px) {
     .site-footer__inner {
         grid-template-columns: 1fr;
         gap: 3rem;
     }

     .footer-bottom {
         flex-direction: column;
         gap: 0.5rem;
         text-align: center;
     }
 }


 /* RESPONSIVE */
 @media (max-width: 900px) {
     .news-preview__grid {
         grid-template-columns: 1fr;
     }

     .news-preview__header {
         flex-direction: column;
         align-items: flex-start;
         gap: 1rem;
     }
 }





 /* From Uiverse.io by andrew-demchenk0 */
 .loader {
     display: flex;
     justify-content: center;
     align-items: center;
     width: 100vw;
     height: 100svh;
 }

 .glitch {
     position: relative;
     font-size: 25px;
     font-weight: 700;
     line-height: 1.2;
     color: #fff;
     letter-spacing: 5px;
     z-index: 1;
     animation: shift 1s ease-in-out infinite alternate;
 }

 .glitch:before,
 .glitch:after {
     display: block;
     content: attr(data-glitch);
     position: absolute;
     top: 0;
     left: 0;
     opacity: 0.8;
 }

 .glitch:before {
     animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) both infinite;
     color: var(--primary-pink);
     z-index: -1;
 }

 .glitch:after {
     animation: glitch 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94) reverse both infinite;
     color: var(--primary-purple);
     z-index: -2;
 }

 @keyframes glitch {
     0% {
         transform: translate(0);
     }

     20% {
         transform: translate(-3px, 3px);
     }

     40% {
         transform: translate(-3px, -3px);
     }

     60% {
         transform: translate(3px, 3px);
     }

     80% {
         transform: translate(3px, -3px);
     }

     to {
         transform: translate(0);
     }
 }

 @keyframes shift {

     0%,
     40%,
     44%,
     58%,
     61%,
     65%,
     69%,
     73%,
     100% {
         transform: skewX(0deg);
     }

     41% {
         transform: skewX(10deg);
     }

     42% {
         transform: skewX(-10deg);
     }

     59% {
         transform: skewX(40deg) skewY(10deg);
     }

     60% {
         transform: skewX(-40deg) skewY(-10deg);
     }

     63% {
         transform: skewX(10deg) skewY(-5deg);
     }

     70% {
         transform: skewX(-50deg) skewY(-20deg);
     }

     71% {
         transform: skewX(10deg) skewY(-10deg);
     }
 }

 /* COMING SOON */

 .wrapper {
     width: 100vw;
     min-height: 100svh;
     display: flex;
     align-items: center;
     justify-content: center;
     text-align: center;
     padding: 2rem;

     .content {
         max-width: 900px;
     }

     h1 {
         font-size: clamp(3rem, 10vw, 7rem);
         line-height: 5rem;
         font-weight: 800;
     }

     h2 span {
         color: var(--primary-pink);
     }

     h2 {
         margin-top: 1.5rem;
         opacity: 0.75;
         letter-spacing: 0.08em;
         text-transform: uppercase;
     }
 }


 /* From Uiverse.io by SelfMadeSystem */
 /*
More comprehensive version at shenanigans.shoghisimon.ca/collection/css-rain-bg/
 */

 .container::after {
     content: "";
     position: absolute;
     inset: 0;
     z-index: 1;
     background-image: radial-gradient(circle at 50% 50%,
             #0000 0,
             #0000 2px,
             hsl(0 0 4%) 2px);
     background-size: 8px 8px;
     --f: blur(1em) brightness(6);
     animation: hii 10s linear infinite;
 }

 @keyframes hii {
     0% {
         backdrop-filter: var(--f) hue-rotate(0deg);
     }

     to {
         backdrop-filter: var(--f) hue-rotate(360deg);
     }
 }

 .container {
     top: 0;
     left: 0;
     z-index: -1;
     position: absolute;
     width: 100%;
     height: 100%;
     filter: brightness(.1);
     --c: var(--white);
     background-color: var(--black);
     background-image: radial-gradient(4px 100px at 0px 235px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 235px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 117.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 252px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 252px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 126px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 150px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 150px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 75px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 253px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 253px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 126.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 204px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 204px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 102px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 134px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 134px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 67px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 179px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 179px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 89.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 299px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 299px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 149.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 215px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 215px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 107.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 281px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 281px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 140.5px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 158px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 158px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 79px, var(--c) 100%, #0000 150%),
         radial-gradient(4px 100px at 0px 210px, var(--c), #0000),
         radial-gradient(4px 100px at 300px 210px, var(--c), #0000),
         radial-gradient(1.5px 1.5px at 150px 105px, var(--c) 100%, #0000 150%);
     background-size:
         300px 235px,
         300px 235px,
         300px 235px,
         300px 252px,
         300px 252px,
         300px 252px,
         300px 150px,
         300px 150px,
         300px 150px,
         300px 253px,
         300px 253px,
         300px 253px,
         300px 204px,
         300px 204px,
         300px 204px,
         300px 134px,
         300px 134px,
         300px 134px,
         300px 179px,
         300px 179px,
         300px 179px,
         300px 299px,
         300px 299px,
         300px 299px,
         300px 215px,
         300px 215px,
         300px 215px,
         300px 281px,
         300px 281px,
         300px 281px,
         300px 158px,
         300px 158px,
         300px 158px,
         300px 210px,
         300px 210px,
         300px 210px;
     animation: hi 150s linear infinite;
 }

 @keyframes hi {
     0% {
         background-position:
             0px 220px,
             3px 220px,
             151.5px 337.5px,
             25px 24px,
             28px 24px,
             176.5px 150px,
             50px 16px,
             53px 16px,
             201.5px 91px,
             75px 224px,
             78px 224px,
             226.5px 350.5px,
             100px 19px,
             103px 19px,
             251.5px 121px,
             125px 120px,
             128px 120px,
             276.5px 187px,
             150px 31px,
             153px 31px,
             301.5px 120.5px,
             175px 235px,
             178px 235px,
             326.5px 384.5px,
             200px 121px,
             203px 121px,
             351.5px 228.5px,
             225px 224px,
             228px 224px,
             376.5px 364.5px,
             250px 26px,
             253px 26px,
             401.5px 105px,
             275px 75px,
             278px 75px,
             426.5px 180px;
     }

     to {
         background-position:
             0px 6800px,
             3px 6800px,
             151.5px 6917.5px,
             25px 13632px,
             28px 13632px,
             176.5px 13758px,
             50px 5416px,
             53px 5416px,
             201.5px 5491px,
             75px 17175px,
             78px 17175px,
             226.5px 17301.5px,
             100px 5119px,
             103px 5119px,
             251.5px 5221px,
             125px 8428px,
             128px 8428px,
             276.5px 8495px,
             150px 9876px,
             153px 9876px,
             301.5px 9965.5px,
             175px 13391px,
             178px 13391px,
             326.5px 13540.5px,
             200px 14741px,
             203px 14741px,
             351.5px 14848.5px,
             225px 18770px,
             228px 18770px,
             376.5px 18910.5px,
             250px 5082px,
             253px 5082px,
             401.5px 5161px,
             275px 6375px,
             278px 6375px,
             426.5px 6480px;
     }
 }