/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
:root{--color-bg-primary:#000;--color-bg-secondary:#1a1a1a;--color-bg-tertiary:#2a2a2a;--color-text-primary:#ffffff;--color-text-secondary:#b0b0b0;--color-accent:#1db954;--color-accent-hover:#1ed760;--color-border:#333333;--font-primary:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;--font-heading:'Georgia','Times New Roman',serif;--transition:all 0.3s ease;--max-width:1400px;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:2rem;--spacing-lg:3rem;--spacing-xl:4rem;}*{margin:0;padding:0;box-sizing:border-box;}html{font-size:16px;scroll-behavior:smooth;}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}img{max-width:100%;height:auto;display:block;}a{color:var(--color-text-primary);text-decoration:none;transition:var(--transition);}a:hover{color:var(--color-accent);}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.2;margin-bottom:var(--spacing-sm);}h1{font-size:3rem;}h2{font-size:2.5rem;}h3{font-size:1.8rem;}h4{font-size:1.5rem;}p{margin-bottom:var(--spacing-sm);}.page-wrapper{min-height:100vh;display:flex;flex-direction:column;}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md);width:100%;}.container-full{width:100%;padding:0 var(--spacing-md);}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.skip-link{background:var(--color-accent);color:var(--color-bg-primary);padding:var(--spacing-sm) var(--spacing-md);position:absolute;top:0;left:0;z-index:1000;}.site-header{background-color:rgba(10,10,10,0.95);backdrop-filter:blur(10px);padding:var(--spacing-md) 0;position:sticky;top:0;z-index:100;border-bottom:1px solid var(--color-border);}.header-content{display:flex;align-items:center;justify-content:space-between;max-width:var(--max-width);margin:0 auto;}.header-left{display:flex;align-items:center;}.header-right{display:flex;align-items:center;}.site-logo img{max-height:60px;width:auto;}.site-name{font-size:1.8rem;margin:0;}.site-name a{color:var(--color-text-primary);font-weight:300;letter-spacing:2px;text-transform:uppercase;}.site-name a:hover{color:var(--color-accent);}.region-primary-menu ul{list-style:none;display:flex;gap:var(--spacing-md);flex-wrap:wrap;margin:0;}.region-primary-menu a{color:var(--color-text-secondary);font-size:0.95rem;text-transform:uppercase;letter-spacing:1px;padding:var(--spacing-xs) 0;position:relative;}.region-primary-menu a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background-color:var(--color-accent);transition:width 0.3s ease;}.region-primary-menu a:hover::after,.region-primary-menu a.is-active::after{width:100%;}.split-hero-section{min-height:calc(100vh - 100px);background-color:var(--color-bg-primary);}.split-container{display:flex;min-height:calc(100vh - 100px);max-width:var(--max-width);margin:0 auto;}.split-left{flex:0 0 45%;display:flex;align-items:top;justify-content:left;}.artist-image-wrapper{max-width:500px;width:100%;text-align:center;}.artist-image{width:100%;height:auto;border-radius:8px;object-fit:cover;}.artist-image-placeholder{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background-color:var(--color-bg-tertiary);border-radius:8px;border:2px dashed var(--color-border);}.artist-image-placeholder svg{opacity:0.3;}.artist-name-badge{margin-top:var(--spacing-md);padding:var(--spacing-sm);background-color:rgba(10,10,10,0.5);border-radius:4px;}.artist-name-badge h2{font-size:1.2rem;font-weight:300;letter-spacing:2px;text-transform:uppercase;margin:0;color:var(--color-text-primary);}.split-right{flex:1;display:flex;align-items:center;padding:var(--spacing-xl);overflow-y:auto;}.content-wrapper{width:100%;max-width:600px;}.content-wrapper > div{margin-bottom:var(--spacing-lg);}.content-wrapper h3{font-size:1.5rem;color:var(--color-accent);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:1px;font-weight:400;}.artist-bio-section{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);}.artist-bio-text{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary);}.streaming-section{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);}.streaming-links-vertical{display:flex;flex-direction:column;gap:var(--spacing-sm);}.streaming-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;transition:var(--transition);font-size:1rem;text-transform:uppercase;letter-spacing:1px;}.streaming-link:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-accent);transform:translateX(5px);box-shadow:0 5px 15px rgba(0,0,0,0.3);}.streaming-link svg{width:28px;height:28px;flex-shrink:0;}.streaming-link.spotify:hover{border-color:#1db954;color:#1db954;}.streaming-link.apple-music:hover{border-color:#fa243c;color:#fa243c;}.streaming-link.tidal:hover{border-color:#00ffff;color:#00ffff;}.contact-mini-section{padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);}.contact-email-link{display:inline-block;font-size:1.1rem;color:var(--color-accent);padding:var(--spacing-xs) 0;transition:var(--transition);}.contact-email-link:hover{color:var(--color-accent-hover);text-decoration:underline;}.social-mini-section{padding-bottom:var(--spacing-md);}.social-links-inline{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;}.social-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background-color:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:50%;transition:var(--transition);}.social-link:hover{background-color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-3px);box-shadow:0 5px 15px rgba(0,0,0,0.3);}.social-link svg{width:20px;height:20px;}.social-link.instagram:hover{background:linear-gradient(45deg,#f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);border-color:#e6683c;}.social-link.facebook:hover{background-color:#1877f2;border-color:#1877f2;}.social-link.youtube:hover{background-color:#ff0000;border-color:#ff0000;}.social-link.twitter:hover{background-color:#000000;border-color:#000000;}.main-content{flex:1;padding:var(--spacing-xl) 0;background-color:var(--color-bg-primary);}section{margin-bottom:var(--spacing-xl);}section h2{text-align:center;margin-bottom:var(--spacing-lg);font-size:2.5rem;position:relative;padding-bottom:var(--spacing-sm);}section h2::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:60px;height:2px;background-color:var(--color-accent);}.music-content{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);margin-top:var(--spacing-lg);}.music-item{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:8px;overflow:hidden;transition:var(--transition);}.music-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.5);border-color:var(--color-accent);}.music-cover{aspect-ratio:1;overflow:hidden;background-color:var(--color-bg-tertiary);}.music-cover img{width:100%;height:100%;object-fit:cover;transition:var(--transition);}.music-item:hover .music-cover img{transform:scale(1.05);}.music-details{padding:var(--spacing-md);}.music-title{font-size:1.3rem;margin-bottom:var(--spacing-xs);}.music-title a{color:var(--color-text-primary);}.music-title a:hover{color:var(--color-accent);}.music-date{color:var(--color-text-secondary);font-size:0.9rem;margin-bottom:var(--spacing-sm);}.music-description{color:var(--color-text-secondary);font-size:0.95rem;line-height:1.6;margin-bottom:var(--spacing-sm);}.music-links a{display:inline-block;margin-right:var(--spacing-sm);color:var(--color-accent);font-size:0.9rem;}.site-footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-md) 0;margin-top:auto;}.site-footer .container{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);}.footer-text{text-align:center;color:var(--color-text-secondary);font-size:0.9rem;}.footer-text p{margin:0;}.messages{margin:var(--spacing-md) 0;padding:var(--spacing-md);border-radius:4px;border-left:4px solid;}.messages--status{background-color:rgba(29,185,84,0.1);border-color:var(--color-accent);color:var(--color-text-primary);}.messages--warning{background-color:rgba(255,193,7,0.1);border-color:#ffc107;color:var(--color-text-primary);}.messages--error{background-color:rgba(244,67,54,0.1);border-color:#f44336;color:var(--color-text-primary);}.tabs{margin:var(--spacing-md) 0;}.tabs ul{list-style:none;display:flex;gap:var(--spacing-sm);border-bottom:1px solid var(--color-border);}.tabs a{display:block;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-bottom:none;border-radius:4px 4px 0 0;}.tabs a.is-active{background-color:var(--color-bg-primary);border-color:var(--color-border);border-bottom:1px solid var(--color-bg-primary);}.pager{display:flex;justify-content:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0;}.pager__item{list-style:none;}.pager__link{display:block;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:4px;}.pager__link:hover,.pager__link.is-active{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg-primary);}nav#block-musician-theme-main-menu ul{display:inline-flex;}nav#block-musician-theme-main-menu ul li{list-style:none;margin:0 1rem;}.mobile-menu-toggle{display:none;flex-direction:column;justify-content:space-around;width:30px;height:24px;background:transparent;border:none;cursor:pointer;padding:0;z-index:101;}.mobile-menu-toggle span{width:100%;height:3px;background-color:var(--color-text-primary);transition:var(--transition);border-radius:2px;}.mobile-menu-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}.mobile-menu-toggle.active span:nth-child(2){opacity:0;}.mobile-menu-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px);}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:var(--color-accent);color:var(--color-bg-primary);border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:var(--transition);z-index:90;box-shadow:0 4px 12px rgba(0,0,0,0.3);}.back-to-top.visible{opacity:1;visibility:visible;}.back-to-top:hover{background-color:var(--color-accent-hover);transform:translateY(-3px);box-shadow:0 6px 16px rgba(0,0,0,0.4);}.back-to-top svg{width:24px;height:24px;}.fade-in-element{opacity:0;transform:translateY(30px);transition:opacity 0.6s ease,transform 0.6s ease;}.fade-in-visible{opacity:1;transform:translateY(0);}.streaming-link.loading{position:relative;pointer-events:none;}.streaming-link.loading::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border:2px solid var(--color-text-primary);border-top-color:transparent;border-radius:50%;animation:spin 0.6s linear infinite;}@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg);}}body.page-loaded .content-wrapper{animation:fadeInUp 0.8s ease;}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}img[data-src]{opacity:0;transition:opacity 0.3s ease;}img[data-src].loaded{opacity:1;}
@media (max-width:1024px){:root{--spacing-md:1.5rem;--spacing-lg:2.5rem;--spacing-xl:2.5rem;}h1{font-size:2.5rem;}h2{font-size:2rem;}h3{font-size:1.5rem;}.split-container{flex-direction:column;}.split-left{flex:0 0 auto;min-height:50vh;border-right:none;border-bottom:1px solid var(--color-border);padding:var(--spacing-lg);}.split-right{flex:0 0 auto;padding:var(--spacing-lg);}.artist-image-wrapper{max-width:400px;}.content-wrapper h3{font-size:1.3rem;}.music-content{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}}@media (max-width:768px){:root{--spacing-sm:0.75rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:2rem;}html{font-size:15px;}h1{font-size:2rem;}h2{font-size:1.75rem;}h3{font-size:1.3rem;}h4{font-size:1.25rem;}.site-header{padding:var(--spacing-sm) 0;}.header-content{flex-wrap:wrap;}.site-logo img{max-height:50px;}.site-name{font-size:1.5rem;}.mobile-menu-toggle{display:flex;}.region-primary-menu{position:fixed;top:0;right:-100%;width:70%;max-width:300px;height:100vh;background-color:var(--color-bg-secondary);padding:var(--spacing-xl) var(--spacing-md);transition:right 0.3s ease;z-index:100;overflow-y:auto;box-shadow:-5px 0 15px rgba(0,0,0,0.5);}.region-primary-menu.active{right:0;}.region-primary-menu ul{flex-direction:column;gap:var(--spacing-md);}.region-primary-menu a{font-size:1.1rem;padding:var(--spacing-sm) 0;}body.menu-open::before{content:'';position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.7);z-index:99;}.split-hero-section{min-height:auto;}.split-container{min-height:auto;}.split-left{min-height:auto;padding:var(--spacing-md);}.split-right{padding:var(--spacing-md);}.artist-image-wrapper{max-width:300px;}.artist-name-badge h2{font-size:1.5rem;}.content-wrapper{max-width:100%;}.content-wrapper > div{margin-bottom:var(--spacing-md);}.content-wrapper h3{font-size:1.2rem;}.artist-bio-text{font-size:1rem;}.streaming-link{padding:var(--spacing-sm);font-size:0.9rem;}.streaming-link svg{width:24px;height:24px;}.contact-email-link{font-size:1rem;}.social-link{width:40px;height:40px;}.social-link svg{width:18px;height:18px;}.music-content{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm);}.site-footer{padding:var(--spacing-md) 0;}}@media (max-width:480px){:root{--spacing-xs:0.375rem;--spacing-sm:0.625rem;--spacing-md:0.875rem;--spacing-lg:1.5rem;--spacing-xl:1.5rem;}html{font-size:14px;}.container,.container-full{padding:0 var(--spacing-sm);}h1{font-size:1.75rem;}h2{font-size:1.5rem;}h3{font-size:1.2rem;}.header-content{gap:var(--spacing-sm);}.site-name{font-size:1.3rem;}.split-left,.split-right{padding:var(--spacing-md) var(--spacing-sm);}.artist-image-wrapper{max-width:250px;}.artist-name-badge h2{font-size:1.3rem;letter-spacing:1px;}.content-wrapper h3{font-size:1.1rem;}.artist-bio-text{font-size:0.95rem;}.streaming-links-vertical{gap:var(--spacing-xs);}.streaming-link{padding:var(--spacing-xs) var(--spacing-sm);font-size:0.85rem;}.streaming-link svg{width:20px;height:20px;}.contact-email-link{font-size:0.9rem;word-break:break-all;}.social-links-inline{gap:var(--spacing-xs);}.social-link{width:36px;height:36px;}.social-link svg{width:16px;height:16px;}.music-content{grid-template-columns:1fr;}section h2{font-size:1.75rem;}section h2::after{width:40px;}.footer-text{font-size:0.8rem;}.back-to-top{width:44px;height:44px;bottom:20px;right:20px;}.back-to-top svg{width:20px;height:20px;}.tabs ul{flex-wrap:wrap;gap:var(--spacing-xs);}.tabs a{padding:var(--spacing-xs) var(--spacing-sm);font-size:0.85rem;}.pager{flex-wrap:wrap;gap:var(--spacing-xs);}.pager__link{padding:var(--spacing-xs);font-size:0.85rem;}}@media (min-width:1400px){.split-left{flex:0 0 40%;}.artist-image-wrapper{max-width:600px;}.content-wrapper{max-width:700px;}}@media print{.site-header,.site-footer,.streaming-links-vertical,.social-links-inline,.tabs,.pager,.back-to-top,.mobile-menu-toggle{display:none;}body{background:white;color:black;}a{color:black;text-decoration:underline;}.split-container{flex-direction:column;min-height:auto;}.split-left,.split-right{border:none;background:white;}.music-content{grid-template-columns:1fr;}}@media (prefers-contrast:high){:root{--color-bg-primary:#000000;--color-bg-secondary:#111111;--color-text-primary:#ffffff;--color-border:#ffffff;}.streaming-link,.music-item,.social-link,.split-left{border-width:2px;}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}.streaming-link:hover,.music-item:hover,.back-to-top:hover,.social-link:hover{transform:none !important;}}@media (max-height:600px) and (orientation:landscape){.split-hero-section{min-height:auto;}.split-container{min-height:auto;}.split-left{min-height:auto;padding:var(--spacing-md);}.artist-image-wrapper{max-width:250px;}}
