:root {
	--ink: #080808;
	--paper: #101011;
	--lime: #d71920;
	--orange: #e11b22;
	--muted: #a4a4a7;
	--line: rgba(255, 255, 255, .16);
	--mono: 'DM Mono', monospace;
	--display: 'Space Grotesk', 'Inter', sans-serif;
	color-scheme: dark;
	scroll-padding-top: 92px;
}

html { background: var(--ink); }
body { background: var(--ink); color: #f5f5f5; font-family: var(--display); }
::selection { background: var(--lime); color: #fff; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
.shell { width: min(1320px, calc(100% - 64px)); }
.mono { color: #a4a4a7; }
.eyebrow { color: #b6b6b9; }
.eyebrow::before { background: var(--lime); }

header { border-bottom-color: var(--line); background: rgba(8, 8, 8, .88); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px); }
header.is-scrolled { border-bottom-color: var(--line); background: rgba(8, 8, 8, .94); box-shadow: none; }
.nav { height: 82px; }
.logo { color: #f5f5f5; font-size: 13px; letter-spacing: .04em; }
.logo-mark { border-radius: 0; background: var(--lime); color: #fff; font: 700 12px var(--mono); }
.logo:hover .logo-mark { transform: none; }
.nav-links { gap: clamp(14px, 2vw, 30px); }
.nav-links a { color: #d4d4d6; font-size: 10px; letter-spacing: .1em; }
.nav-links a::after { bottom: -9px; background: var(--lime); }
.nav-links a:hover, .nav-links a[aria-current="location"] { color: #fff; }
.nav-social-links { gap: 5px; }
.nav-links .nav-social-links a { width: 30px; height: 30px; border-color: var(--line); color: #ddd; }
.nav-links .nav-social-links a:hover { background: var(--lime); color: #fff; }
.nav-cta, .button { border-color: var(--lime); background: var(--lime); color: #fff; font: 500 10px var(--mono); letter-spacing: .1em; }
.nav-cta::before, .button::before { display: none; }
.nav-cta:hover, .button:hover { border-color: #f02a31; background: #f02a31; color: #fff; box-shadow: none; transform: translateY(-2px); }
.button.light { border-color: rgba(255,255,255,.5); background: transparent; color: #fff; }
.button.light:hover { border-color: var(--lime); background: var(--lime); color: #fff; }

.hero { position: relative; width: 100%; max-width: none; min-height: min(780px, calc(100svh - 82px)); grid-template-columns: minmax(0, 1fr) minmax(380px, .78fr); align-items: stretch; gap: clamp(36px, 7vw, 110px); padding: 52px max(32px, calc((100vw - 1320px) / 2)) 70px; border-bottom-color: var(--line); }
.hero-copy { position: relative; z-index: 1; padding: 70px 0 42px; }
.hero-copy .eyebrow, .hero-copy h1, .hero-intro { animation: none; }
.hero-copy .eyebrow { color: #bebec0; }
.hero-copy h1 { max-width: 760px; margin: 42px 0 26px; font-size: clamp(68px, 7.5vw, 112px); line-height: .78; letter-spacing: -.105em; text-transform: uppercase; }
h1 em { color: var(--lime); }
.hero-intro { display: block; max-width: 560px; }
.hero-intro p { max-width: 480px; color: #c1c1c4; font-size: clamp(15px, 1.4vw, 18px); line-height: 1.65; }
.hero-note { display: none; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.hero-visual { min-height: 560px; align-self: stretch; background: #171718; animation: none; }
.hero-visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; opacity: .88; filter: grayscale(.22) contrast(1.05); transform: none; animation: none; }
.hero-visual:hover img { transform: scale(1.025); filter: grayscale(0) contrast(1.06); opacity: .96; }
.hero-visual::before { position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(0,0,0,.06) 45%, rgba(0,0,0,.72)); content: ''; pointer-events: none; }
.hero-visual::after { z-index: 2; right: 18px; bottom: 10px; color: #fff; font-size: 48px; }
.hero-stamp { z-index: 2; top: auto; right: 24px; bottom: 28px; left: 24px; width: auto; height: auto; display: flex; justify-content: space-between; border: 0; border-top: 1px solid rgba(255,255,255,.45); border-radius: 0; padding-top: 14px; color: #fff; font: 10px var(--mono); letter-spacing: .12em; text-align: left; transform: none; animation: none; }
.marquee { border: 0; border-block: 1px solid var(--line); background: var(--lime); color: white; }
.marquee-inner { padding: 11px 0; animation-duration: 34s; }
.marquee span { font: 500 10px var(--mono); letter-spacing: .13em; }
.marquee span::after { margin-left: 46px; }
.social-strip { display: none; }

section { padding: clamp(76px, 9vw, 128px) 0; }
.section-head { margin-bottom: clamp(30px, 5vw, 56px); }
.section-head h2, h2 { color: #f6f6f6; font-size: clamp(44px, 7vw, 92px); font-weight: 600; letter-spacing: -.09em; }
.section-desc { color: #aaa; }
.release-grid { grid-template-columns: minmax(280px, .88fr) minmax(0, 1.12fr); gap: clamp(28px, 6vw, 90px); }
.release-art { min-height: 0; aspect-ratio: 1 / 1; background: #151516; }
.release-art img { object-fit: cover; }
.release-kicker { color: var(--lime); font: 10px var(--mono); letter-spacing: .12em; text-transform: uppercase; }
.release-title { color: #fff; font-size: clamp(46px, 7vw, 88px); letter-spacing: -.09em; }
.release-meta { color: #b3b3b6; }
.release-copy { color: #bebec1; }
.track-list { border-color: var(--line); }
.track { border-color: var(--line); color: #eee; }
.track:hover, .track.is-playing { background: rgba(215,25,32,.12); }
.track-num, .track-time { color: #999; }
.play { border-color: rgba(255,255,255,.55); color: white; }
.play:hover, .play.is-playing { border-color: var(--lime); background: var(--lime); color: #fff; }
.play.is-playing::after { border-color: var(--lime); }

.about { border-block: 1px solid var(--line); background: #0e0e0f; color: #f5f5f5; }
.about .section-desc, .about .eyebrow { color: #aaa; }
.about-lead { color: #eee; }
.about-lead mark { color: #fff; text-decoration: underline; text-decoration-color: var(--lime); text-decoration-thickness: 3px; text-underline-offset: 6px; }
.principles { border-color: var(--line); }
.principle { border-color: var(--line); }
.principle b { color: var(--lime); }

.artist-grid { gap: 24px 40px; align-items: stretch; }
.artist-photo { height: clamp(320px, 42vw, 560px); background: #171718; }
.artist-photo img { filter: grayscale(.2); }
.artist-photo:hover img { filter: grayscale(0); }
.artist-info { min-height: 340px; padding: 24px 0; }
.artist-info .mono { color: var(--lime) !important; }
.artist-name { color: #fff; font-size: clamp(52px, 7vw, 88px); }
.artist-copy { color: #bbb; }
.tag { border-color: var(--line); border-radius: 0; color: #c5c5c7; }
.artist-links { border-color: var(--line); }
.artist-links a { display: inline-flex; align-items: center; gap: 7px; color: #eee; }
.artist-profile-link { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--lime); font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.artist-profile-link:hover { color: #fff; }

.music { background: #0b0b0c; }
.filter { border-color: var(--line); color: #bbb; }
.filter.active, .filter:hover { background: var(--lime); color: #fff; }
.music-table { border-color: var(--line); }
.music-release { border-color: var(--line); }
.music-row { color: #ccc; }
.music-row .track-title { display: flex; align-items: center; gap: 16px; color: #fff; }
.music-cover { width: 58px; height: 58px; flex: 0 0 58px; object-fit: cover; background: #171718; }
.music-row .type { color: #999; }
.music-row .button { border-color: var(--lime); background: transparent; color: #fff; }
.music-row .button:hover { background: var(--lime); color: #fff; }
.release-platform-links { padding-top: 10px; }
.release-platform-links a { border-color: var(--line); background: transparent; color: #ddd; }
.release-platform-links a:hover { border-color: var(--lime); background: var(--lime); color: #fff; }
.release-details[open] > summary { background: rgba(215,25,32,.08); }
.release-details[open] .button { background: var(--lime); color: #fff; }
.ep-track-list { border-color: var(--line); background: rgba(255,255,255,.025); }
.music-empty { color: #aaa; }

.video-section { border-top: 1px solid var(--line); background: #101011; }
.video-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.video-card { position: relative; min-width: 0; }
.video-card a { display: block; }
.video-card-art { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: #1b1b1d; }
.video-card-art::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(0,0,0,.64)); content: ''; }
.video-card-art img { width: 100%; height: 100%; object-fit: cover; opacity: .78; transition: transform .45s ease, opacity .45s ease; }
.video-card a:hover .video-card-art img { transform: scale(1.035); opacity: 1; }
.video-channel-mark { position: absolute; z-index: 1; right: 14px; bottom: 14px; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(255,255,255,.65); background: rgba(8,8,8,.55); color: #fff; font-size: 18px; transition: background .2s ease, border-color .2s ease; }
.video-card a:hover .video-channel-mark { border-color: var(--lime); background: var(--lime); }
.video-meta { display: flex; justify-content: space-between; gap: 14px; padding-top: 14px; }
.video-meta strong { color: #fff; font-size: clamp(17px, 2vw, 22px); }
.video-meta span { color: #aaa; font: 10px var(--mono); text-transform: uppercase; }
.video-note { max-width: 600px; margin-top: 20px; color: #999; font-size: 13px; line-height: 1.6; }

.work-band { border-block: 1px solid var(--line); background: #0d0d0e; color: #fff; }
.work-grid h2 { color: #fff; }
.service-list { border-color: var(--line); }
.service { border-color: var(--line); }
.service-copy small { color: #aaa; }
.service:hover { background: var(--lime); color: #fff; }
.service:hover .service-copy small { color: #fff; }
.service:focus-visible { outline-color: var(--lime); }
.more-music { background: var(--ink); }
.feature-card, .feature-card:nth-child(2), .feature-card:nth-child(3) { border-color: var(--line); border-radius: 0; background: #111112; color: #fff; }
.feature-card:nth-child(2) p, .feature-card p { color: #aaa; }
.feature-card:hover, .feature-card:nth-child(2):hover { box-shadow: 0 8px 0 var(--lime); }
.feature-card .mono { color: var(--lime); }

.news-card { border-color: var(--line); }
.news-card:hover { background: #111112; box-shadow: none; }
.news-date, .updates-dialog-kicker { color: var(--lime); }
.news-card h3 { color: #fff; }
.story-trigger { color: #eee; }
.story-trigger:hover { color: var(--lime); }
.updates-dialog { border-color: var(--line); background: #101011; color: #fff; }
.updates-dialog::backdrop { background: rgba(0,0,0,.82); }
.updates-dialog-head { border-color: var(--line); }
.update-detail + .update-detail { border-color: var(--line); }
.update-detail p { color: #bbb; }
.updates-close { border-color: var(--line); color: #fff; }
.updates-close:hover { background: var(--lime); }

.contact { background: #d71920; color: #fff; }
.contact h2 { color: #fff; }
.contact .eyebrow, .contact .section-desc, .contact-detail strong { color: rgba(255,255,255,.72); }
.contact-detail a, .contact-detail span { color: #fff; }
.contact-credit { left: 0; color: rgba(255,255,255,.76); }
.contact-details { grid-template-columns: 1fr; }
form { gap: 13px; }
form input, form textarea, form select { border-color: rgba(255,255,255,.56); color: #fff; }
form input::placeholder, form textarea::placeholder { color: rgba(255,255,255,.72); }
form select { padding: 14px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.56); background: transparent; }
form select:invalid { color: rgba(255,255,255,.72); }
form select option { background: #080808; color: #fff; }
form input:focus, form textarea:focus, form select:focus { border-color: #fff; }
form .button { border-color: #080808; background: #080808; color: #fff; }
form .button:hover { border-color: #fff; background: #fff; color: #080808; }
.form-status { color: #fff; }
.form-status.is-error { color: #fff; font-weight: 700; }

footer { border-top: 1px solid var(--line); background: #080808; }
.footer-row { min-height: 92px; }
.footer-row span { color: #888; }
.dashboard-link, .back-top { color: #eee; }
.footer-social { display: flex; flex-wrap: wrap; gap: 16px; }
.footer-social a { color: #aaa; font: 10px var(--mono); text-transform: uppercase; }
.footer-social a:hover { color: var(--lime); }
.floating-social { border-color: var(--line); background: rgba(12,12,13,.92); box-shadow: 0 8px 28px rgba(0,0,0,.34); }
.floating-social a { border-color: var(--line); background: #131314; color: #eee; }
.floating-social a:hover { border-color: var(--lime); background: var(--lime); color: #fff; }
.to-top { border-color: var(--line); background: #161617; color: #fff; }
.to-top:hover { background: var(--lime); }
.chat-launcher { border-color: #38383a; background: #151516; color: #fff; }
.chat-launcher:hover { background: var(--lime); color: #fff; }
.chat-launcher-icon, .chat-kicker { color: var(--lime); }
.chat-panel { border-color: #333; background: #101011; color: #fff; box-shadow: 0 12px 40px rgba(0,0,0,.48); }
.chat-head { background: #080808; }
.chat-close { border-color: #444; }
.chat-close:hover, .chat-send { border-color: var(--lime); background: var(--lime); color: #fff; }
.chat-messages { color: #eee; }
.chat-message { border-color: #353537; background: #19191a; color: #eee; }
.chat-message.is-user { border-color: var(--lime); background: var(--lime); color: #fff; }
.chat-input { border-color: #444; background: #171718; color: #fff; }
.chat-note { color: #999; }

.artist-page { min-height: 100vh; padding: 28px 0 80px; background: var(--ink); }
.artist-page-nav { display: flex; justify-content: space-between; align-items: center; padding-bottom: 24px; border-bottom: 1px solid var(--line); }
.artist-page-nav a:last-child { color: #bbb; font: 10px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.artist-page-main { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(32px, 7vw, 100px); padding-top: clamp(44px, 9vw, 100px); }
.artist-page-image { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; background: #171718; }
.artist-page-copy .mono { color: var(--lime); }
.artist-page-copy h1 { margin: 18px 0; font-size: clamp(56px, 9vw, 110px); line-height: .85; letter-spacing: -.1em; text-transform: uppercase; }
.artist-page-bio { max-width: 580px; color: #bbb; font-size: 17px; line-height: 1.7; }
.artist-page-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.artist-page-links a { display: inline-flex; min-height: 42px; align-items: center; padding: 0 13px; border: 1px solid var(--line); color: #eee; font: 10px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.artist-page-links a:hover { border-color: var(--lime); background: var(--lime); color: #fff; }
.artist-page-releases { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--line); }
.artist-page-releases h2 { margin: 0 0 16px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; }
.artist-page-release { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); color: #ccc; font-size: 14px; }
.artist-page-release a { color: var(--lime); font: 10px var(--mono); text-transform: uppercase; }

a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid var(--lime); outline-offset: 4px; }
section[id], main[id], footer[id] { scroll-margin-top: 90px; }

@media (max-width: 1050px) {
	.nav-social-links { display: none; }
	.nav-cta { display: none; }
	.hero { grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr); }
	.hero-copy h1 { font-size: clamp(64px, 8.6vw, 110px); }
}

@media (max-width: 800px) {
	.shell { width: min(100% - 36px, 620px); }
	.nav { height: 68px; }
	.menu-toggle { display: block; color: #fff; }
	.nav-links { top: 68px; gap: 20px; background: #0b0b0c; }
	header.is-scrolled .nav-links { background: #0b0b0c; }
	.nav-links a { font-size: 12px; }
	.nav-links .nav-social-links { display: flex; border-color: var(--line); }
	.nav-links .nav-social-label { display: inline; }
	.nav-cta { display: none; }
	.hero { min-height: auto; grid-template-columns: minmax(0, 1fr); gap: 30px; padding: 48px 18px 40px; }
	.hero-copy { min-height: 0; padding: 28px 0 0; }
	.hero-copy h1 { margin: 34px 0 20px; font-size: clamp(62px, 15vw, 106px); }
	.hero-intro p { font-size: 15px; }
	.hero-visual { min-height: 0; aspect-ratio: 4 / 3; }
	.hero-stamp { bottom: 20px; }
	.social-strip { display: none; }
	section { padding: 76px 0; }
	.section-head { align-items: start; flex-direction: column; }
	.section-head h2, h2 { font-size: clamp(44px, 12vw, 70px); }
	.release-grid, .about-grid, .artist-grid, .work-grid, .contact-grid, .feature-grid { grid-template-columns: 1fr; }
	.release-art { min-height: 0; aspect-ratio: 1 / 1; }
	.release-info { padding-top: 8px; }
	.artist-grid { gap: 10px; }
	.artist-photo { height: auto; aspect-ratio: 4 / 3; }
	.artist-info { min-height: 0; padding: 14px 0 36px; }
	.artist-grid .artist-info:nth-of-type(2) { order: 0; }
	.artist-grid .artist-photo:nth-of-type(3) { order: 1; }
	.artist-grid .artist-info:nth-of-type(4) { order: 2; }
	.video-grid { grid-template-columns: 1fr; gap: 30px; }
	.artist-page-main { grid-template-columns: 1fr; gap: 32px; }
	.artist-page-image { aspect-ratio: 4 / 3; }
	.music-row { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 10px; }
	.music-row .type { display: none; }
	.music-cover { width: 48px; height: 48px; flex-basis: 48px; }
	.release-platform-links { padding-left: 42px; }
	.release-platform-links a { min-height: 42px; }
	.ep-track-list { padding-left: 12px; }
	.contact-details { margin-top: 28px; }
	.footer-row { align-items: start; flex-direction: column; padding-block: 24px; }
	.footer-social { gap: 12px; }
	.floating-social { top: auto; right: 12px; bottom: 76px; left: auto; flex-direction: row; gap: 5px; padding: 5px; transform: none; }
	.floating-social a { width: 38px; height: 38px; }
	.to-top { right: 12px; bottom: 14px; width: 42px; height: 42px; }
	.chat-launcher { right: 12px; bottom: 126px; min-height: 42px; }
	.chat-panel { right: 12px; bottom: 178px; width: calc(100vw - 24px); height: min(560px, calc(100dvh - 194px)); }
}

@media (max-width: 420px) {
	.logo { max-width: 220px; font-size: 11px; }
	.hero { padding-inline: 18px; }
	.hero-copy h1 { font-size: clamp(42px, 13.5vw, 74px); }
	.filter-row { flex-wrap: wrap; }
	.filter { flex: 1 1 auto; }
	.music-row { grid-template-columns: 32px minmax(0, 1fr) auto; }
	.release-platform-links { padding-left: 0; }
	.release-platform-links a { flex: 1 1 100%; justify-content: center; }
	.chat-launcher { bottom: 126px; }
	.chat-panel { bottom: 178px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
