:root { --ink: #101010; --paper: #fff; --white: #fff; --muted: #b9b9bd; --line: #ffffff30; --radius: 4px; color-scheme: light; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 78px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font-body), Arial, sans-serif; font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
h1, h2, h3, p, figure { margin: 0; }
h1, h2, h3 { line-height: 1.1; }
a { color: inherit; text-decoration: none; }
button, summary, a { -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
button { color: inherit; font: inherit; cursor: pointer; }
img { display: block; max-width: 100%; }
button:disabled { cursor: default; opacity: .25; }
a:focus-visible, button:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 2px solid #4a9fff; outline-offset: 6px; }
::selection { background: #c7c7c7; color: #080808; }
.skip-link { position: fixed; top: -100px; left: 20px; background: #fff; padding: 14px; z-index: 100; }
.skip-link:focus { top: 90px; }
.site-header { position: fixed; z-index: 40; inset: 0 0 auto; height: 78px; padding: 0 clamp(22px, 4.3vw, 80px); display: flex; align-items: center; justify-content: space-between; gap: 32px; background: #080809e6; backdrop-filter: blur(12px); color: white; border-bottom: 1px solid #ffffff0d; }
.wordmark { display: inline-flex; flex-direction: column; align-items: center; font-family: var(--font-body), Arial, sans-serif; font-size: 23px; font-weight: 800; letter-spacing: .08em; line-height: 1.05; text-transform: uppercase; color: transparent; -webkit-text-stroke: 1px #fff; }
.wordmark > span:last-child { letter-spacing: .19em; padding-left: .19em; }
.desktop-nav { display: flex; align-items: center; gap: clamp(18px, 2vw, 30px); }
.desktop-nav a { font-size: 14px; font-weight: 650; text-transform: uppercase; letter-spacing: .04em; position: relative; padding: 24px 0; }
.desktop-nav a::after { content: ''; position: absolute; bottom: 18px; left: 0; width: 100%; height: 1px; background: white; transform: scaleX(0); transform-origin: left; transition: transform .2s; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after { transform: scaleX(1); }
.social-links { display: flex; gap: 9px; align-items: center; }
.social-links a { display: grid; place-items: center; width: 35px; height: 40px; transition: opacity .2s; }
.social-links a:hover { opacity: .6; }
.menu-trigger { display: none; align-items: center; gap: 10px; text-transform: uppercase; font-size: 14px; font-weight: 700; background: none; border: 0; padding: 8px 0 8px 8px; }
.artist-menu[data-slot='sheet-content'] { width: min(480px, 100%); max-width: 100%; background: #111; color: white; border: 0; padding: 32px; overflow-y: auto; gap: 32px; }
.menu-top { display: flex; justify-content: space-between; align-items: center; }
.menu-top [data-slot='sheet-title'] { color: #aaa; font-size: 14px; text-transform: uppercase; letter-spacing: .12em; }
.menu-top button { border: 1px solid #ffffff30; width: 44px; height: 44px; display: grid; place-items: center; background: none; }
.artist-menu nav { display: grid; }
.artist-menu nav a { font-size: clamp(26px, 7vw, 36px); padding: 12px 0; border-bottom: 1px solid #ffffff15; font-weight: 600; }
.artist-menu nav span { font-size: 12px; font-weight: 400; color: #888; margin-right: 18px; }
.menu-press { text-decoration: underline; text-underline-offset: 6px; font-size: 16px; }
.artist-menu > p { color: #aaa; font-size: 14px; }
.hero { position: relative; isolation: isolate; height: 100svh; min-height: 620px; background: #121215 var(--sf-poster) center/cover no-repeat; color: white; display: grid; place-items: center; overflow: hidden; }
.hero-video { position: absolute; inset: 0; z-index: -3; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-shade { position: absolute; inset: 0; z-index: -1; background: rgb(0 0 0 / var(--sf-overlay, 50%)); pointer-events: none; }
.hero-content { text-align: center; padding: 100px 24px; }
.hero-wordmark { font-size: clamp(64px, 8.6vw, 132px); -webkit-text-stroke: 1.6px #fff; letter-spacing: .07em; line-height: 1.05; filter: drop-shadow(0 2px 12px #0006); }
.hero-actions { display: flex; gap: 16px; justify-content: center; margin-top: 38px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 14px 24px; font-size: 14px; line-height: 1.35; min-height: 48px; font-weight: 600; border: 1px solid currentColor; border-radius: 3px; transition: background .2s, color .2s, border-color .2s; }
.glass-button { text-transform: uppercase; background: #ffffff13; border-color: #ffffffb3; min-width: 178px; backdrop-filter: blur(5px); }
.glass-button:hover { background: #fff; color: #111; }
.outline-button { background: transparent; border-color: #999; }
.outline-button:hover { background: #111; color: #fff; border-color: #111; }
.section-dark .outline-button:hover { background: #fff; color: #111; border-color: #fff; }
.hero-scroll { position: absolute; bottom: 32px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; flex-direction: column; gap: 8px; }
.hero-scroll span { text-transform: uppercase; letter-spacing: .14em; font-size: 12px; }
.video-controls { position: absolute; right: clamp(22px, 4.3vw, 80px); bottom: 32px; display: flex; gap: 7px; z-index: 2; }
.video-controls button { background: #0005; border: 1px solid #ffffff50; border-radius: 3px; height: 44px; min-width: 44px; display: flex; align-items: center; justify-content: center; gap: 9px; padding: 0 12px; }
.video-controls span { font-size: 12px; }
.video-controls button:hover { background: #fff; color: #111; }
.section-wrap { width: min(1240px, calc(100% - 112px)); margin: auto; position: relative; }
.section-title { font-size: clamp(38px, 4vw, 60px); font-weight: 730; letter-spacing: -.04em; margin-bottom: 42px; }
.section-dark { background: #080808; color: white; }
.anchor-alias { position: absolute; top: 0; }
.biography { position: relative; isolation: isolate; padding: 112px 0 42px; overflow: clip; }
.bio-background { position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #090909e8, #090909ca), var(--sf-bio-bg) center 35%/cover; }
.bio-layout { display: grid; grid-template-columns: 1.3fr 1fr; gap: 9%; align-items: center; }
.bio-copy p { color: #dedede; margin-bottom: 20px; }
.bio-copy .button { margin-top: 12px; }
.carousel { min-width: 0; }
.carousel-rail { display: flex; gap: 24px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.carousel-rail::-webkit-scrollbar { display: none; }
.carousel-rail > * { scroll-snap-align: start; flex-shrink: 0; }
.photo-slide { width: calc((100% - 24px) / 2); }
.photo-slide img { width: 100%; height: 300px; object-fit: cover; border-radius: 4px; }
.photo-slide:first-child img { object-position: 50% 35%; }
.carousel-controls { display: flex; align-items: center; justify-content: space-between; margin-top: 24px; gap: 12px; }
.carousel-controls > span { font-size: 12px; color: #aaa; letter-spacing: .06em; }
.carousel-controls > div { display: flex; gap: 8px; }
.carousel-controls button { width: 44px; height: 44px; border: 1px solid #ffffff40; background: transparent; display: grid; place-items: center; border-radius: 50%; transition: background .2s; }
.carousel-controls button:hover:not(:disabled) { background: #ffffff20; }
.biography-more { margin-top: 65px; border-top: 1px solid #ffffff24; }
.biography-more summary { padding: 22px 0; font-size: 14px; display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
summary::-webkit-details-marker { display: none; }
.biography-more summary span, .spotify-disclosure summary > span { font-size: 24px; font-weight: 300; transition: transform .2s; }
details[open] > summary > span { transform: rotate(45deg); }
.expanded-bio { display: grid; grid-template-columns: 1fr 1fr; gap: 8%; padding: 35px 0 55px; }
.expanded-bio h3 { font-size: 28px; margin: 26px 0 20px; }
.expanded-bio p { margin-bottom: 18px; color: #ccc; }
.recognition-list { list-style: none; padding: 0; }
.recognition-list li { margin: 0; padding: 14px 0; border-bottom: 1px solid #ffffff20; font-size: 14px; color: #ccc; }
.recognition-list span { display: block; color: #fff; font-weight: 600; margin-bottom: 4px; }
.band-block > img { aspect-ratio: 3/2; width: 100%; height: auto; object-fit: cover; }
.band-block .eyebrow { margin: 24px 0 -10px; }
.band-members { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.band-members dt { font-size: 15px; font-weight: 600; }
.band-members dd { font-size: 14px; margin: 2px 0 0; color: #aaa; }
.text-link { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; padding: 10px 0; border-bottom: 1px solid currentColor; }
.agenda { position: relative; padding: 95px 0 100px; background: #f5f5f5; text-align: center; }
.agenda .section-title { margin-bottom: 45px; }
.eyebrow { text-transform: uppercase; letter-spacing: .13em; font-size: 12px; font-weight: 500; }
.agenda h3 { font-size: clamp(24px, 2.8vw, 37px); font-weight: 400; margin: 14px 0; letter-spacing: -.025em; }
.agenda-content > p:not(.eyebrow) { color: #646464; }
.agenda .button { margin-top: 32px; }
.discography, .clips-section, .contact-section { position: relative; isolation: isolate; overflow: clip; padding: 100px 0; }
.section-portrait { position: absolute; z-index: -2; object-fit: cover; height: 100%; top: 0; }
.music-portrait { width: 47%; right: 0; object-position: 56% center; filter: grayscale(1); }
.discography::before { content: ''; position: absolute; inset: -20% 27% -20% 0; z-index: -1; background: #080808; border-radius: 0 50% 50% 0; }
.music-content { width: 61%; }
.release-card { width: calc((100% - 24px) / 2); }
.release-image { position: relative; overflow: hidden; aspect-ratio: 1; background: #222; }
.release-image > img { height: 100%; width: 100%; object-fit: cover; transition: transform .4s; }
.release-card:hover img { transform: scale(1.035); }
.release-play { position: absolute; inset: auto 16px 16px auto; width: 42px; height: 42px; border-radius: 50%; background: #1119; color: #fff; display: grid; place-items: center; backdrop-filter: blur(4px); }
.release-card > p { font-size: 12px; color: #ddd; margin: 16px 0 8px; letter-spacing: .05em; }
.release-card > p span { color: #aaa; }
.release-card h3 { font-size: clamp(20px, 2vw, 28px); font-weight: 600; line-height: 1.2; }
.spotify-disclosure { margin-top: 28px; border-top: 1px solid #ffffff30; }
.spotify-disclosure summary { display: flex; align-items: center; gap: 12px; font-size: 14px; cursor: pointer; padding: 20px 0; list-style: none; }
.spotify-disclosure summary > span { margin-left: auto; }
.spotify-disclosure iframe { border: 0; border-radius: 10px; max-width: 100%; }
.clips-section { background: #fff; color: #111; min-height: 620px; }
.clips-portrait { width: 41%; left: 0; object-position: 50% 28%; filter: grayscale(1); }
.clips-section::before { content: ''; position: absolute; inset: -20% 0 -20% 27%; z-index: -1; background: #fff; border-radius: 50% 0 0 50%; }
.clips-content { margin-left: auto; width: 63%; }
.clip-card { width: calc((100% - 24px) / 2); border-radius: 6px; overflow: hidden; background: #0c0c0c; color: #fff; }
.clip-image { aspect-ratio: 1.6; position: relative; overflow: hidden; }
.clip-image > img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.clip-card:hover img { transform: scale(1.045); }
.clip-play { position: absolute; inset: 50% auto auto 50%; transform: translate(-50%, -50%); display: grid; place-items: center; width: 64px; height: 48px; border-radius: 10px; background: #fffffff0; color: #111; }
.clip-caption { padding: 20px; min-height: 105px; }
.clip-caption h3 { font-size: 18px; font-weight: 650; line-height: 1.3; }
.clip-caption p { color: #aaa; font-size: 12px; margin-top: 7px; }
.clips-carousel .carousel-controls { margin-bottom: 20px; }
.clips-carousel .carousel-controls > span { color: #666; }
.clips-carousel .carousel-controls button { border-color: #ccc; }
.clips-carousel .carousel-controls button:hover:not(:disabled) { background: #eee; }
.contact-portrait { width: 45%; right: 0; object-position: center; filter: grayscale(1) brightness(.55); }
.contact-section::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, #080808 46%, #080808eb 58%, #08080800 100%); }
.contact-content { width: 60%; }
.contact-intro { color: #bdbdbd; margin-bottom: 24px; }
.contact-link { display: flex; gap: 17px; align-items: center; padding: 22px 0; border-bottom: 1px solid #ffffff35; font-size: clamp(16px, 2vw, 25px); line-height: 1.4; }
.contact-link > svg { flex-shrink: 0; }
.contact-link > svg:last-child { margin-left: auto; }
.contact-link > span { overflow-wrap: anywhere; min-width: 0; }
.contact-link:hover { color: #bbb; }
.contact-location { font-size: 14px; color: #999; margin: 23px 0 50px; }
.press-kit { display: flex; align-items: center; gap: 25px; justify-content: space-between; padding-top: 28px; border-top: 1px solid #ffffff20; }
.press-kit .eyebrow { color: #aaa; }
.press-kit h3 { font-size: 19px; line-height: 1.35; margin-top: 9px; font-weight: 500; }
.press-kit .button { flex-shrink: 0; }
.site-footer { display: flex; align-items: center; gap: 32px; padding: 34px clamp(24px, 4.3vw, 80px); background: #111; color: #fff; }
.site-footer .wordmark { font-size: 19px; }
.site-footer > p { color: #aaa; font-size: 13px; margin: 0 auto; }
.back-top { width: 42px; height: 42px; border: 1px solid #555; display: grid; place-items: center; }
@media (min-width: 1600px) { .photo-slide img { height: 340px; } }
@media (max-width: 1199px) {
  .desktop-nav { display: none; }
  .menu-trigger { display: inline-flex; }
  .site-header { display: grid; grid-template-columns: 1fr auto 1fr; gap: 20px; }
  .site-header .social-links { justify-self: center; }
  .site-header .menu-trigger { justify-self: end; }
  .section-wrap { width: calc(100% - 80px); }
  .bio-layout { gap: 6%; grid-template-columns: 1.2fr 1fr; }
  .photo-slide img { height: 270px; }
  .section-title { font-size: 46px; }
  .music-content, .contact-content { width: 65%; }
  .press-kit { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 72px; }
  .site-header { height: 72px; padding: 0 20px; gap: 10px; }
  .site-header .wordmark { font-size: 18px; }
  .site-header .social-links { gap: 0; }
  .site-header .social-links a { width: 32px; }
  .menu-trigger span { display: none; }
  .hero { min-height: 580px; }
  .hero-wordmark { font-size: clamp(46px, 11.7vw, 90px); -webkit-text-stroke: 1.2px #fff; }
  .hero-actions { gap: 12px; margin-top: 30px; }
  .hero-actions .button { min-width: 0; padding: 14px 14px; font-size: 14px; gap: 8px; }
  .hero-scroll { left: 24px; bottom: 27px; transform: none; align-items: flex-start; }
  .hero-scroll span { font-size: 12px; letter-spacing: .03em; }
  .video-controls { right: 20px; bottom: 27px; }
  .video-controls button { padding: 0 9px; }
  .section-wrap { width: calc(100% - 48px); }
  .section-title { font-size: clamp(35px, 8.6vw, 48px); margin-bottom: 30px; }
  .biography { padding: 64px 0 24px; }
  .bio-layout { display: flex; flex-direction: column-reverse; gap: 40px; align-items: stretch; }
  .bio-copy p { font-size: 16px; }
  .photo-slide img { height: 260px; }
  .carousel-rail { gap: 16px; }
  .photo-slide { width: calc((100% - 16px) / 2); }
  .biography-more { margin-top: 32px; }
  .expanded-bio { grid-template-columns: 1fr; gap: 30px; padding: 8px 0 25px; }
  .agenda { padding: 64px 0 70px; }
  .agenda .section-title { margin-bottom: 32px; }
  .agenda h3 { font-size: 26px; }
  .discography, .clips-section, .contact-section { padding: 65px 0; min-height: 0; }
  .music-content, .clips-content, .contact-content { width: 100%; margin: 0; }
  .music-portrait { width: 100%; opacity: .17; }
  .discography::before { inset: 0; background: #0808089c; border-radius: 0; }
  .release-card { width: 73%; }
  .release-card h3 { font-size: 25px; }
  .clips-portrait, .clips-section::before { display: none; }
  .clip-card { width: 80%; }
  .clip-caption { min-height: 100px; }
  .contact-portrait { width: 100%; opacity: .25; }
  .contact-section::before { background: #080808a0; }
  .contact-link { padding: 22px 0; font-size: 17px; gap: 12px; }
  .contact-link > svg:last-child { width: 16px; }
  .press-kit { gap: 20px; }
  .site-footer { display: grid; grid-template-columns: 1fr auto; gap: 26px; padding: 32px 24px; }
  .site-footer > p { grid-row: 2; margin: 0; }
  .site-footer .social-links { justify-self: end; }
  .back-top { grid-row: 2; grid-column: 2; justify-self: end; }
}
@media (max-width: 380px) {
  .site-header .social-links a { width: 28px; }
  .site-header .wordmark { font-size: 16px; }
  .hero-actions { gap: 9px; }
  .hero-actions .button { padding: 12px; }
  .hero-actions svg { display: none; }
  .photo-slide { width: 80%; }
  .hero-scroll span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition: none !important; animation: none !important; }
}
