/* Basic browser reset; no CSS framework is needed. */
*,::before,::after { box-sizing:border-box; border-width:0; border-style:solid; }
html { line-height:1.5; -webkit-text-size-adjust:100%; tab-size:4; }
body,h1,h2,h3,h4,h5,h6,p,blockquote,figure,ol,ul { margin:0; }
ol,ul { padding:0; list-style:none; }
button,input,select,textarea { font:inherit; color:inherit; background:transparent; border-radius:0; }
button { cursor:pointer; }
a { color:inherit; text-decoration:inherit; }
img,svg,canvas { display:block; vertical-align:middle; }
img { max-width:100%; height:auto; }
.antialiased { -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
[hidden] { display:none!important; }


:root { --blood:#ee2108; --ash:#bbb9ad; --black:#050505; }
* { box-sizing:border-box; }
html { background:#050505; scroll-behavior:smooth; }
body { margin:0; background:#050505; color:#e6e4db; font-family:Arial, Helvetica, sans-serif; overflow-x:hidden; }
button, a { font:inherit; }
button { color:inherit; }
.experience { min-height:100vh; background:#050505; }
.sound-invite { position:fixed; z-index:40; right:26px; bottom:26px; display:grid; grid-template-columns:38px 1fr auto 26px; align-items:center; gap:13px; width:min(440px,calc(100vw - 32px)); padding:12px; border:1px solid #4c4740; background:#080807e8; backdrop-filter:blur(16px); box-shadow:0 20px 80px #000; animation:inviteIn .7s 1.1s both; }
@keyframes inviteIn { from { opacity:0; transform:translateY(24px); } }
.invite-sigil { width:36px; height:36px; border:1px solid #762019; display:grid; place-items:center; transform:rotate(45deg); }.invite-sigil i { width:11px; height:11px; background:var(--blood); box-shadow:0 0 22px #e42a18; }
.sound-invite div { display:flex; flex-direction:column; gap:3px; text-transform:uppercase; }.sound-invite div b { font:9px var(--font-geist-mono),monospace; letter-spacing:.16em; }.sound-invite div small { color:#706d66; font:7px var(--font-geist-mono),monospace; letter-spacing:.12em; }
.sound-invite button { border:1px solid #5c211a; background:#2a0b07; padding:11px 14px; color:#e8e4da; cursor:pointer; text-transform:uppercase; font:8px var(--font-geist-mono),monospace; letter-spacing:.14em; }.sound-invite button:hover { background:var(--blood); }.sound-invite .invite-close { padding:0; border:0; background:none; color:#716e67; font-size:18px; }
.hero { position:relative; z-index:2; height:100svh; min-height:680px; overflow:hidden; border-bottom:1px solid #2d2c28; perspective:1100px; }
.vertical-code { position:absolute; z-index:8; top:22%; color:#5d5750; font:7px var(--font-geist-mono),monospace; letter-spacing:.32em; writing-mode:vertical-rl; text-transform:uppercase; }.code-left { left:1.2vw; }.code-right { right:1.2vw; }
.hero header { position:absolute; z-index:10; top:0; left:0; right:0; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:28px 3.2vw; border-bottom:1px solid #302e29; }
.wordmark { color:#f3f0e5; text-decoration:none; font:900 27px/1 var(--font-geist-sans),sans-serif; letter-spacing:-.08em; }
.wordmark span { color:var(--blood); }
.hero header p { margin:0; text-align:center; color:#77746c; font:8px/1.5 var(--font-geist-mono),monospace; text-transform:uppercase; letter-spacing:.16em; }
.sound { justify-self:end; display:flex; gap:13px; align-items:center; border:0; background:none; cursor:pointer; text-transform:uppercase; color:#8e8b83; font:9px var(--font-geist-mono),monospace; letter-spacing:.16em; }
.meter { display:flex; gap:2px; align-items:center; height:15px; }
.meter i { display:block; width:1px; height:15px; transform:scaleY(.3); background:var(--blood); animation:eq calc(.8s * var(--motion-tempo,2)) ease-in-out infinite alternate; }
.meter i:nth-child(2n) { animation-delay:calc(-.25s * var(--motion-tempo,2)); }.meter i:nth-child(3n) { animation-delay:calc(-.5s * var(--motion-tempo,2)); }.meter.off i { animation:none; height:1px; transform:none; background:#5d5a55; }
@keyframes eq { to { transform:scaleY(1); } }
.hero-copy { position:absolute; z-index:6; left:3.2vw; bottom:9vh; transition:transform .08s linear; }
.hero-kicker { margin:0 0 8px; color:#e4ded2; text-transform:uppercase; font:9px var(--font-geist-mono),monospace; letter-spacing:.28em; }
.eyebrow { margin:0 0 22px; color:#8b867c; text-transform:uppercase; font:8px var(--font-geist-mono),monospace; letter-spacing:.21em; }
.hero-copy h1 { position:relative; margin:0; font:900 clamp(68px,10.5vw,172px)/.68 var(--font-geist-sans),sans-serif; letter-spacing:-.09em; text-transform:uppercase; mix-blend-mode:difference; text-shadow:3px 0 #621006; }
.hero-copy h1 span { color:transparent; -webkit-text-stroke:1px #cbc7bc; margin-left:8vw; }
.micro { margin:32px 0 0 48%; color:#98948a; font:10px/1.6 var(--font-geist-mono),monospace; text-transform:uppercase; letter-spacing:.12em; }
.descend { display:inline-flex; align-items:center; gap:18px; margin:22px 0 0 48%; padding-bottom:8px; border-bottom:1px solid #6d1b13; color:#d3cfc4; text-decoration:none; text-transform:uppercase; font:8px var(--font-geist-mono),monospace; letter-spacing:.16em; }.descend b { color:var(--blood); font-size:16px; }
.scroll-mark { position:absolute; z-index:8; right:3.2vw; bottom:4vh; display:flex; gap:12px; align-items:center; transform:rotate(90deg); transform-origin:right bottom; color:#6c6962; text-transform:uppercase; font:8px var(--font-geist-mono),monospace; letter-spacing:.18em; }.scroll-mark i { display:block; width:50px; height:1px; background:var(--blood); }
.rupture { position:relative; z-index:12; height:112px; margin:-56px 0; overflow:hidden; transform:rotate(-2deg) scale(1.03); background:#e3260d; color:#050505; box-shadow:0 0 80px #c51e0a88; }.rupture>div { position:absolute; top:37px; display:flex; width:max-content; animation:marquee calc(16s * var(--motion-tempo,2)) linear infinite; }.rupture span { font:900 42px/1 var(--font-geist-sans),sans-serif; letter-spacing:-.05em; white-space:nowrap; }.rupture>i,.rupture>b { position:absolute; inset:12px 0 auto; height:1px; background:#090909; }.rupture>b { inset:auto 0 13px; }
@keyframes marquee { to { transform:translateX(-50%); } }
.fanal { position:relative; z-index:2; min-height:100svh; display:flex; flex-direction:column; justify-content:center; align-items:center; overflow:hidden; background:radial-gradient(circle at 50% 47%,#3d0905 0,transparent 35%); text-align:center; border-bottom:1px solid #272622; }
.fanal:before { content:""; position:absolute; width:1px; height:100%; background:#4a120d; left:50%; }
.fanal-number { position:absolute; inset:50% auto auto 50%; transform:translate(-50%,-50%); font:900 min(60vw,800px)/1 var(--font-geist-sans),sans-serif; color:#0b0b0a; -webkit-text-stroke:1px #2c1612; z-index:-1; }
.chapter { color:var(--blood); text-transform:uppercase; font:8px var(--font-geist-mono),monospace; letter-spacing:.35em; }
.fanal h2 { position:relative; z-index:3; margin:20px 0 5px; font:900 clamp(100px,22vw,340px)/.77 var(--font-geist-sans),sans-serif; letter-spacing:-.11em; color:#dfdcd1; text-shadow:8px 8px 0 #501109; }.fanal h2:after { content:attr(data-word); position:absolute; inset:0; color:transparent; -webkit-text-stroke:2px #e32a15; z-index:-1; opacity:.65; }
.fanal-rings { position:absolute; inset:50% auto auto 50%; width:min(80vw,1000px); aspect-ratio:1; transform:translate(-50%,-50%); animation:slowTurn calc(30s * var(--motion-tempo,2)) linear infinite; }.fanal-rings i { position:absolute; inset:calc(var(--r,1) * 7%); border:1px solid #9b211455; border-radius:50%; box-shadow:inset 0 0 50px #8d130822; }.fanal-rings i:nth-child(2){--r:2;border-style:dashed}.fanal-rings i:nth-child(3){--r:3}.fanal-rings i:nth-child(4){--r:4;border-style:dotted}
.fanal-blades { position:absolute; inset:0; }.fanal-blades i { position:absolute; top:50%; left:50%; width:42vw; height:1px; transform-origin:left; transform:rotate(calc(var(--i) * 30deg)); background:linear-gradient(90deg,#a51d12aa,transparent); animation:bladePulse calc(2.6s * var(--motion-tempo,2)) calc(calc(var(--i) * -.2s) * var(--motion-tempo,2)) ease-in-out infinite; }
@keyframes slowTurn { to { transform:translate(-50%,-50%) rotate(360deg); } } @keyframes bladePulse { 50% { opacity:.15; scale:.65 1; } }
.fanal blockquote { margin:35px 0; font:italic clamp(17px,2vw,28px)/1.3 Georgia,serif; color:#b0aca1; }
.fanal a { z-index:2; color:#dbd7cc; text-decoration:none; border-bottom:1px solid var(--blood); padding:12px 0; text-transform:uppercase; font:9px var(--font-geist-mono),monospace; letter-spacing:.22em; }.fanal a span { color:var(--blood); font-size:16px; margin-left:12px; }
@media (max-width:700px) {
  .hero { min-height:720px; }.hero header { grid-template-columns:1fr 1fr; padding:22px; }.hero header p { display:none; }.hero-copy { left:20px; bottom:12vh; }.hero-copy h1 { font-size:17vw; line-height:.74; }.hero-copy h1 span { margin-left:0; }
  .micro,.descend { margin-left:15%; }.fanal h2 { font-size:25vw; }.fanal blockquote { margin-inline:20px; }
  .sound-invite { right:16px; bottom:16px; grid-template-columns:32px 1fr auto 22px; gap:8px; }.sound-invite div small { display:none; }
  .rupture { height:78px; margin:-39px 0; }.rupture>div { top:25px; }.rupture span { font-size:27px; }.vertical-code { display:none; }
}


/* The original infernal scene continues into a readable fan archive. */
:root { --header-height:80px; color-scheme:dark; }
html { scroll-padding-top:calc(var(--header-height) + 16px); }
body { font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif; }
button, input { font:inherit; }
button, a, input { -webkit-tap-highlight-color:transparent; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.5; }
a:focus-visible, button:focus-visible, input:focus-visible, dialog:focus-visible { outline:2px solid #f76851; outline-offset:5px; }
::selection { background:#ee2108; color:#fff; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link { position:fixed; z-index:100; top:12px; left:12px; background:#eee9dc; color:#050505; padding:15px 22px; transform:translateY(-150%); text-decoration:none; }
.skip-link:focus { transform:translateY(0); }
.site-header { position:fixed; inset:0 0 auto; height:var(--header-height); z-index:50; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; padding:0 3.2vw; border-bottom:1px solid #494039; background:#080807e8; backdrop-filter:blur(16px); }
.site-header .wordmark { width:max-content; }
.site-nav { display:flex; gap:28px; }
.site-nav a { display:flex; align-items:center; min-height:44px; color:#bcb5a9; text-decoration:none; font:11px var(--font-geist-mono), monospace; text-transform:uppercase; letter-spacing:.14em; }
.site-nav a:hover { color:#ff654e; }
.header-controls { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.site-header .sound { display:flex; gap:10px; align-items:center; justify-content:center; min-height:44px; border:0; background:none; padding:8px; color:#d5cec2; font:10px var(--font-geist-mono), monospace; text-transform:uppercase; letter-spacing:.1em; }
.menu-toggle { min-height:44px; min-width:44px; background:none; border:1px solid #514339; color:#d3cfc4; padding:8px; }
.menu-toggle:hover { border-color:var(--blood); color:#ff654e; }
.menu-toggle { display:none; font:11px var(--font-geist-mono), monospace; }
.hero { min-height:740px; }
.hero-kicker { font-size:11px; }
.eyebrow { font-size:10px; line-height:1.5; }
.hero-copy h1 { line-height:.78; }
.hero-copy h1 { font-size:clamp(110px,17vw,260px); }
.micro { font-size:11px; line-height:1.7; }
.descend { font-size:10px; min-height:44px; }
.sound-invite { width:min(475px,calc(100vw - 32px)); grid-template-columns:38px 1fr auto 36px; border-color:#6d4b3d; }
.sound-invite div b { font-size:10px; line-height:1.4; }
.sound-invite div small { color:#aca092; font-size:8px; letter-spacing:.06em; }
.sound-invite button { min-height:44px; font-size:9px; }
.sound-invite .invite-close { min-width:36px; color:#d5cec2; }
.sound-status { position:fixed; bottom:24px; right:24px; z-index:45; display:flex; align-items:center; gap:16px; width:min(440px,calc(100vw - 32px)); border:1px solid #9a4637; padding:16px; background:#150d09; font-size:13px; line-height:1.6; }
.sound-status p { margin:0; }
.sound-status button { min-width:40px; min-height:44px; background:none; border:0; color:#ece5d7; font-size:24px; }
.fanal { min-height:820px; padding:140px 24px 90px; }
.fanal .chapter { position:relative; z-index:3; font-size:11px; letter-spacing:.22em; line-height:1.6; }
.fanal h2 { font-size:clamp(100px,22vw,300px); }
.fanal-summary { position:relative; z-index:3; color:#bdb3a6; font:italic clamp(18px,2vw,27px)/1.6 Georgia,serif; margin:36px 0 28px; }
.fanal-actions { position:relative; z-index:4; display:flex; align-items:center; justify-content:center; gap:32px; flex-wrap:wrap; }
.primary-link, .fanal-actions .primary-link { display:inline-flex; align-items:center; justify-content:center; min-height:52px; background:var(--blood); color:#fff3e3; border:1px solid var(--blood); padding:16px 23px; text-decoration:none; font:11px/1.5 var(--font-geist-mono),monospace; letter-spacing:.07em; text-transform:uppercase; }
.primary-link:hover, .fanal-actions .primary-link:hover { background:#bf230d; border-color:#ff6043; }
.text-link, .fanal .text-link { display:inline-flex; align-items:center; min-height:44px; width:max-content; max-width:100%; padding:10px 0; border:0; border-bottom:1px solid #843125; background:none; color:#ded7c9; text-decoration:none; font:11px/1.6 var(--font-geist-mono),monospace; letter-spacing:.05em; }
.text-link:hover, .fanal .text-link:hover { color:#ff654e; }
.fanal-footnote { position:relative; z-index:3; margin:46px 0 0; color:#aa8b7d; font:10px/1.6 var(--font-geist-mono),monospace; letter-spacing:.2em; text-transform:uppercase; }
.fanal-rings, .fanal-blades, .fanal-number { pointer-events:none; }
.content-section { position:relative; z-index:3; padding:100px max(3.2vw,24px); border-bottom:1px solid #44362e; background:#090807f2; }
.section-heading { display:grid; grid-template-columns:1.05fr 1fr; gap:clamp(32px,5vw,100px); align-items:end; margin-bottom:56px; }
.section-code { margin:0 0 24px; font:11px/1.7 var(--font-geist-mono),monospace; text-transform:uppercase; color:#e56a51; letter-spacing:.18em; }
.section-heading h2 { margin:0; color:#e7e1d4; font:800 clamp(44px,6.4vw,92px)/.93 var(--font-geist-sans),Arial,sans-serif; letter-spacing:-.065em; }
.section-heading h2 em { font:italic 400 1.05em/.94 Georgia,serif; color:#d54026; letter-spacing:-.07em; }
.section-intro { color:#b1a698; font-size:15px; line-height:1.8; margin:0 0 4px; max-width:430px; }
.band { background:linear-gradient(135deg,#171009f5,#090807f5 60%); }
.band-story { max-width:570px; color:#b1a698; font-size:15px; line-height:1.8; }
.band-story p { margin:0 0 20px; }
.band-story .lead { color:#e2dbcd; font-size:clamp(19px,2vw,26px); line-height:1.5; }
.members { display:grid; grid-template-columns:1fr 1fr; border-top:1px solid #584032; border-bottom:1px solid #584032; }
.members article { position:relative; overflow:hidden; padding:40px; background:radial-gradient(ellipse at 110% 0,#70291938,transparent 60%); }
.members article+article { border-left:1px solid #584032; }
.member-index, .member-role { font:11px/1.7 var(--font-geist-mono),monospace; text-transform:uppercase; letter-spacing:.1em; color:#b1a08e; }
.member-index { color:#e56a51; }
.members h3 { position:relative; margin:25px 0 16px; font:800 clamp(30px,4.6vw,66px)/.9 var(--font-geist-sans),sans-serif; letter-spacing:-.065em; }
.members p { font-size:14px; color:#d2bca8; margin:0 0 20px; }
.timeline { padding:40px 0 0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:28px; }
.timeline li { border-top:1px solid #73503b; padding-top:20px; }
.timeline li>span { font:12px var(--font-geist-mono),monospace; color:#f06345; }
.timeline p { margin:12px 0 0; font-size:15px; line-height:1.7; }
.timeline small { font-size:12px; color:#ad9d8b; }
.archive { background:#080807f5; }
.archive-tools { display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; padding-block:20px; border-top:1px solid #4c3e33; border-bottom:1px solid #4c3e33; }
.filters { display:flex; flex-wrap:wrap; gap:6px; }
.filters button { min-height:44px; padding:12px 15px; border:1px solid transparent; background:transparent; color:#b5a999; font:11px/1.6 var(--font-geist-mono),monospace; }
.filters button:hover { color:#efb29c; border-color:#513b2c; }
.filters button[aria-pressed="true"] { background:#5a1d10; border-color:#b3452d; color:#fff0dc; }
.search-wrap { display:flex; align-items:center; gap:10px; width:290px; max-width:100%; min-height:44px; border:1px solid #544336; background:#120d09; padding-inline:12px 4px; }
.search-wrap>span { font-size:25px; color:#c9ad92; }
.search-wrap input { width:100%; min-width:0; border:0; background:none; color:#ede4d4; font-size:12px; padding:12px 0; }
.search-wrap input::placeholder { color:#a09281; opacity:1; }
.search-wrap input::-webkit-search-cancel-button { display:none; }
.search-wrap button { min-width:36px; min-height:42px; color:#dfc3a8; background:none; border:0; font-size:22px; }
.result-count { color:#a99c8a; font:11px/1.7 var(--font-geist-mono),monospace; margin:22px 0; }
.release-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.release-card { position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:22px; border:1px solid #4e3b2c; background:linear-gradient(155deg,#24170f,#0d0a08 75%); transition:border-color .2s,transform .2s; }
.release-card:hover, .release-card:focus-within { border-color:#ac4831; transform:translateY(-4px); }
.release-meta { display:flex; gap:12px; align-items:baseline; justify-content:space-between; font:10px/1.7 var(--font-geist-mono),monospace; color:#c7ad92; }
.release-meta>span:first-child { color:#f16a4b; }
.release-meta>span:last-child { text-align:right; }
.release-fanal { background:radial-gradient(circle at 65% 20%,#68160b,#190b06 70%); border-color:#8f3524; }
.release-card h3 { font:700 clamp(22px,2vw,29px)/1.1 var(--font-geist-sans),sans-serif; letter-spacing:-.05em; color:#ece1d0; margin:0 0 12px; overflow-wrap:anywhere; }
.release-card>p { margin:0 0 24px; color:#b8a38e; font-size:13px; line-height:1.7; }
.release-open { display:flex; align-items:center; justify-content:space-between; min-height:44px; margin-top:auto; padding:14px 0 0; border:0; border-top:1px solid #67402b; color:#e7c7a8; background:none; text-align:left; font:10px/1.6 var(--font-geist-mono),monospace; text-transform:uppercase; letter-spacing:.07em; }
.release-open span { font-size:20px; color:#f76c47; }
.archive-note { max-width:840px; margin:30px 0 0; color:#a79a89; font-size:12px; line-height:1.9; }
.archive-note a { color:#ddad8b; text-underline-offset:4px; }
.empty-state { text-align:center; padding:48px 20px; border:1px dashed #67452f; background:#170e08; }
.empty-state>span { font:48px Georgia,serif; color:#bb5130; }
.empty-state h3 { font-size:24px; margin:12px 0; }
.empty-state p { font-size:14px; color:#bda38a; line-height:1.7; }
.empty-state .text-link { margin-inline:auto; }
body:has(.release-dialog[open]) { overflow:hidden; }
.release-dialog { width:min(580px,calc(100vw - 32px)); max-height:calc(100svh - 48px); padding:46px 36px 30px; color:#ead8c3; background:#150e09; border:1px solid #975030; overflow:auto; box-shadow:0 30px 150px #000; }
.release-dialog::backdrop { background:#000c; backdrop-filter:blur(8px); }
.dialog-close { position:absolute; top:8px; right:8px; min-width:44px; min-height:44px; background:none; border:0; color:#e2b792; font-size:29px; }
.release-dialog .section-code { font-size:10px; margin-bottom:18px; padding-right:24px; }
.release-dialog h2 { margin:0 0 20px; font:800 clamp(32px,6vw,58px)/1.02 var(--font-geist-sans),sans-serif; letter-spacing:-.065em; overflow-wrap:anywhere; }
.dialog-description { font-size:16px; line-height:1.8; color:#c9ac91; margin-bottom:30px; }
.release-dialog h3 { color:#b88966; font:11px/1.7 var(--font-geist-mono),monospace; text-transform:uppercase; }
.dialog-tracks { list-style:none; margin:12px 0 30px; padding:0; }
.dialog-tracks li { display:flex; align-items:baseline; gap:18px; border-bottom:1px solid #5c3921; padding:13px 0; font-size:14px; line-height:1.6; }
.dialog-tracks li>span { font:10px var(--font-geist-mono),monospace; color:#da643d; flex-shrink:0; }
.dialog-note { font-size:11px; line-height:1.8; color:#b79371; margin:16px 0 0; }
.listen { background:linear-gradient(145deg,#160d08f5,#090807f5 60%); }
.listening-routes { border-top:1px solid #584331; }
.listening-routes>a { display:grid; grid-template-columns:44px 1fr auto 20px; gap:24px; align-items:center; min-height:118px; padding:26px 18px; border-bottom:1px solid #584331; color:#ece0cd; text-decoration:none; transition:background .2s; }
.listening-routes>a:hover { background:#57261435; }
.route-index { color:#df6d41; font:12px var(--font-geist-mono),monospace; }
.listening-routes h3 { font-size:clamp(24px,3vw,40px); letter-spacing:-.045em; line-height:1.2; margin:0 0 9px; }
.listening-routes p { margin:0; color:#b49b83; font:11px/1.7 var(--font-geist-mono),monospace; }
.route-action { color:#e9b388; font:11px/1.6 var(--font-geist-mono),monospace; }
.ambient-panel { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; padding:28px; border:1px solid #5c3e29; margin-top:40px; background:#1b1009; }
.ambient-panel h3 { margin:0 0 8px; font-size:18px; }
.ambient-panel p { color:#c0a082; font-size:12px; line-height:1.8; margin:0; }
.volume-control { display:flex; align-items:center; gap:16px; grid-column:1/-1; color:#caa784; font:11px/1.7 var(--font-geist-mono),monospace; }
.volume-control input { accent-color:#ef4f22; width:min(250px,50%); min-height:36px; cursor:pointer; }
.volume-control>span { width:4ch; }
.sources { padding-block:64px; background:#140b07f5; }
.sources h2 { margin:0 0 30px; font-size:clamp(26px,3.6vw,52px); font-weight:800; letter-spacing:-.05em; line-height:1.15; }
.source-links { display:flex; flex-wrap:wrap; gap:12px; }
.source-links a { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:17px 22px; min-height:52px; border:1px solid #8c5130; text-decoration:none; color:#ead2b5; font:12px var(--font-geist-mono),monospace; }
.source-links a:hover { background:#77331542; border-color:#de713d; }
.sources>p:last-child { font-size:12px; line-height:1.8; color:#b99878; margin:28px 0 0; }
.site-footer { position:relative; z-index:3; display:grid; grid-template-columns:1fr 2fr auto; gap:36px; padding:40px max(3.2vw,24px); align-items:start; background:#070605; }
.site-footer p { margin:0; font:10px/1.9 var(--font-geist-mono),monospace; color:#a49685; }
.site-footer .text-link { padding-top:0; }

/* Scroll depth and pointer motion are independent, including on touch screens. */
.experience { --page-progress:0; }
.reading-progress { position:fixed; left:0; right:0; top:var(--header-height); height:2px; z-index:55; pointer-events:none; }
.reading-progress i { display:block; height:100%; width:100%; background:#f24926; box-shadow:0 0 12px #ef3218aa; transform:scaleX(0); transform-origin:left; }
.hero-copy { transition:none; }
.scroll-mark i { animation:scrollPulse calc(2.4s * var(--motion-tempo,2)) ease-in-out infinite; transform-origin:left; }
@keyframes scrollPulse { 50% { scale:.45 1; opacity:.45; } }
.fanal-rings i { animation:sealOrbit calc(26s * var(--motion-tempo,2)) linear infinite; }
.fanal-rings i:nth-child(even) { animation-direction:reverse; animation-duration:calc(18s * var(--motion-tempo,2)); }
.fanal-rings i::after { content:""; position:absolute; top:-2px; left:50%; width:4px; height:4px; border-radius:50%; background:#d34123; box-shadow:0 0 12px #fc3820; }
.fanal h2::after { animation:fanalEcho calc(8s * var(--motion-tempo,2)) ease-in-out infinite alternate; }
@keyframes fanalEcho { from { opacity:.3; } to { opacity:.85; } }
.content-section { isolation:isolate; overflow:clip; }
.content-section > :not(.scene-decoration):not(dialog) { position:relative; z-index:1; }
.scene-decoration { position:absolute; z-index:0; inset:0; overflow:hidden; pointer-events:none; }
.scene-glow { position:absolute; width:65vmax; height:65vmax; top:0; left:40%; border-radius:50%; background:radial-gradient(circle,#a8331522,transparent 65%); animation:sceneBreath calc(12s * var(--motion-tempo,2)) ease-in-out infinite alternate; }
@keyframes sceneBreath { from { scale:.85; opacity:.45; } to { scale:1.2; opacity:1; } }
.scene-orbits { position:absolute; width:clamp(280px,44vw,650px); aspect-ratio:1; right:-10%; top:14%; }
.scene-orbits i { position:absolute; inset:0; border:1px solid #a840253f; border-radius:50%; transform:rotateX(48deg) rotateZ(12deg); animation:sceneOrbit calc(28s * var(--motion-tempo,2)) linear infinite; }
.scene-orbits i:nth-child(2) { inset:12%; border-style:dashed; animation-direction:reverse; animation-duration:calc(36s * var(--motion-tempo,2)); }
.scene-orbits i:nth-child(3) { inset:25%; border-color:#c6a38027; animation-duration:calc(19s * var(--motion-tempo,2)); }
.scene-orbits i::after { content:""; position:absolute; top:1%; left:50%; width:5px; height:5px; background:#bb4c28; border-radius:50%; box-shadow:0 0 15px #b43f2277; }
@keyframes sceneOrbit { to { transform:rotateX(48deg) rotateZ(372deg); } }
.scene-traces { position:absolute; inset:-20% 0; opacity:.5; }
.scene-traces i { position:absolute; left:calc(8% + var(--i) * 14%); top:0; width:1px; height:140%; background:linear-gradient(transparent,#9a4c253b,transparent); transform:rotate(17deg); animation:tracePulse calc(calc(7s + var(--i) * 1s) * var(--motion-tempo,2)) calc(calc(var(--i) * -.7s) * var(--motion-tempo,2)) ease-in-out infinite alternate; }
@keyframes tracePulse { from { opacity:.25; scale:1 .65; } to { opacity:.8; scale:1 1; } }
.scene-scanner { position:absolute; top:-20%; left:0; right:0; height:18%; background:linear-gradient(transparent,#e7440a09,transparent); border-bottom:1px solid #ae49261a; animation:sectionScan calc(14s * var(--motion-tempo,2)) linear infinite; }
@keyframes sectionScan { 0% { translate:0 0; opacity:0; } 12% { opacity:1; } 88% { opacity:1; } 100% { translate:0 680%; opacity:0; } }
.scene-fanal .scene-orbits { left:-20%; top:14%; opacity:.55; }
.scene-band .scene-orbits { top:24%; right:-18%; }
.scene-archive .scene-orbits { top:-2%; right:-10%; }
.scene-archive .scene-traces { opacity:.35; }
.scene-listen .scene-orbits { top:35%; right:-10%; }
.scene-sources .scene-orbits { top:-30%; right:0; opacity:.45; }
.scene-sources .scene-traces { opacity:.35; }
.release-card[data-tilt], .members article[data-tilt] { transform:perspective(900px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg)) translateY(var(--lift,0px)); transition:transform .24s ease,border-color .24s ease; }
.release-card[data-tilt]:hover, .release-card[data-tilt]:focus-within { --lift:-5px; }
.release-card::before, .members article::before { content:""; pointer-events:none; position:absolute; inset:0; background:radial-gradient(circle at var(--light-x,70%) var(--light-y,20%),#e8562320,transparent 55%); opacity:0; transition:opacity .3s; }
.release-card:hover::before, .members article:hover::before { opacity:1; }
@keyframes sealOrbit { to { rotate:360deg; } }
.timeline li { position:relative; }
.timeline li::before { content:""; position:absolute; top:-2px; left:0; width:5px; height:3px; background:#ed7840; box-shadow:0 0 12px #c64720; animation:timelineLight calc(5s * var(--motion-tempo,2)) ease-in-out infinite alternate; }
.timeline li:nth-child(2)::before { animation-delay:calc(-1.25s * var(--motion-tempo,2)); }
.timeline li:nth-child(3)::before { animation-delay:calc(-2.5s * var(--motion-tempo,2)); }
.timeline li:nth-child(4)::before { animation-delay:calc(-3.75s * var(--motion-tempo,2)); }
@keyframes timelineLight { from { transform:translateX(0); opacity:.25; } to { transform:translateX(100px); opacity:1; } }
.listening-routes>a { position:relative; overflow:hidden; }
.listening-routes>a::before { content:""; position:absolute; pointer-events:none; inset:0; background:linear-gradient(105deg,transparent 30%,#ec6d2410,transparent 70%); translate:-110% 0; transition:translate .8s ease; }
.listening-routes>a:hover::before { translate:110% 0; }
.route-index { transition:color .25s; }
.listening-routes>a:hover .route-index { color:#ffab76; }
.primary-link { position:relative; overflow:hidden; transition:background .25s,border-color .25s; }
.primary-link::before { content:""; position:absolute; inset:-20% -30%; pointer-events:none; background:linear-gradient(110deg,transparent 40%,#fff2,transparent 60%); translate:-110% 0; transition:translate .6s; }
.primary-link:hover::before { translate:110% 0; }
.source-links a { transition:translate .25s,background .25s; }
.source-links a:hover { translate:0 -3px; }
.source-links a>span:not(.sr-only) { transition:translate .25s; }
.source-links a:hover>span:not(.sr-only) { translate:3px -3px; }
.release-dialog[open] { animation:dialogIn .3s cubic-bezier(.16,1,.3,1); }
@keyframes dialogIn { from { opacity:0; transform:translateY(18px) scale(.97); } to { opacity:1; transform:none; } }
[data-reveal] { --reveal-delay:0ms; }
.experience[data-motion-ready="true"] [data-reveal] { transition:transform .24s ease,border-color .24s ease; }
.experience[data-motion-ready="true"] [data-reveal="shown"] { animation:contentReveal .8s cubic-bezier(.16,1,.3,1) var(--reveal-delay) both; }
@keyframes contentReveal { from { opacity:.15; translate:0 24px; } to { opacity:1; translate:0 0; } }
[data-scene][data-scene-active="false"] *, [data-scene][data-scene-active="false"] *::before, [data-scene][data-scene-active="false"] *::after { animation-play-state:paused!important; }

@media (max-width:1100px) {
  .site-nav { gap:19px; }
  .site-header { gap:16px; }
  .header-controls { gap:6px; }
  .release-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .release-card { padding:22px; }
  .members article { padding:30px; }
}
@media (max-width:800px) {
  :root { --header-height:72px; }
  .site-header { padding-inline:22px; grid-template-columns:1fr auto; }
  .site-nav { position:absolute; top:calc(100% + 8px); left:16px; right:16px; display:none; padding:12px; background:#0b0806; border:1px solid #885031; box-shadow:0 20px 60px #000b; }
  .site-nav.is-open { display:grid; grid-template-columns:1fr 1fr; gap:4px; }
  .site-nav a { padding:12px; min-height:48px; font-size:12px; }
  .site-nav a:hover { background:#352016; }
  .menu-toggle { display:block; min-width:56px; }
  .content-section { padding:72px 24px; }
  .section-heading { gap:32px; }
  .section-heading h2 { font-size:clamp(44px,6.8vw,64px); }
  .band .section-heading { grid-template-columns:1fr; }
  .band .section-heading h2 br { display:none; }
  .band .section-heading h2 { max-width:600px; line-height:1.05; }
  .band .section-heading h2 em { display:block; }
  .release-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .archive-tools { align-items:stretch; flex-direction:column; gap:16px; }
  .search-wrap { width:100%; }
  .timeline { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .site-footer { grid-template-columns:1fr auto; gap:24px; }
  .site-footer p { grid-column:1/-1; grid-row:2; }
  .sources { padding-block:56px; }
}
@media (max-width:540px) {
  .site-header { padding-inline:16px; gap:10px; }
  .wordmark { font-size:24px; }
  .header-controls { gap:6px; }
  .site-header .sound { padding-inline:4px; gap:7px; }
  .site-header .sound>span:last-child { display:none; }
  .site-header .sound { min-width:40px; }
  .hero { min-height:700px; max-height:1000px; }
  .hero-copy { left:20px; right:20px; bottom:110px; }
  .hero-copy h1 { font-size:28vw; line-height:.8; }
  .hero-copy h1 span { margin-left:0; }
  .hero-kicker { font-size:10px; letter-spacing:.17em; }
  .eyebrow { font-size:9px; letter-spacing:.1em; }
  .micro, .descend { margin-left:0; }
  .micro { margin-top:24px; }
  .descend { margin-top:12px; }
  .scroll-mark { right:24px; bottom:52px; }
  .content-section { padding:64px 20px; }
  .section-heading { grid-template-columns:1fr; gap:25px; margin-bottom:32px; }
  .section-heading h2 { font-size:clamp(42px,11vw,58px); }
  .section-code { font-size:10px; letter-spacing:.13em; margin-bottom:18px; }
  .section-intro, .band-story { font-size:14px; }
  .band .section-heading h2 br { display:block; }
  .band .section-heading h2 { line-height:.96; }
  .members { grid-template-columns:1fr; }
  .members article { padding:28px 22px; }
  .members article+article { border-left:0; border-top:1px solid #584032; }
  .members h3 { font-size:clamp(36px,11vw,60px); }
  .timeline { gap:24px 20px; }
  .timeline p { font-size:13px; }
  .timeline small { font-size:11px; }
  .filters { display:grid; grid-template-columns:1fr 1fr; }
  .filters button { font-size:11px; text-align:left; }
  .release-grid { grid-template-columns:1fr; gap:14px; }
  .release-card { padding:22px; }
  .release-card h3 { position:relative; margin-top:32px; font-size:32px; max-width:72%; }
  .release-card>p { position:relative; max-width:250px; margin-bottom:20px; }
  .release-card .release-open { min-height:48px; }
  .fanal { min-height:640px; padding:115px 20px 72px; }
  .fanal h2 { font-size:25vw; }
  .fanal .chapter { font-size:10px; letter-spacing:.1em; }
  .fanal-summary { font-size:18px; margin-top:32px; }
  .fanal-actions { flex-direction:column; gap:13px; }
  .fanal-footnote { font-size:9px; letter-spacing:.12em; margin-top:28px; }
  .sound-invite { right:16px; bottom:16px; grid-template-columns:1fr auto 36px; gap:7px; padding:10px; }
  .invite-sigil { display:none; }
  .sound-invite div b { font-size:9px; letter-spacing:.08em; }
  .sound-invite button { padding-inline:12px; }
  .sound-status { right:16px; bottom:16px; }
  .listening-routes>a { grid-template-columns:25px 1fr 18px; gap:12px; padding:23px 4px; min-height:110px; }
  .listening-routes h3 { font-size:28px; }
  .route-action { display:none; }
  .ambient-panel { padding:22px; grid-template-columns:1fr; gap:14px; }
  .ambient-panel .text-link { font-size:10px; }
  .volume-control { gap:12px; flex-wrap:wrap; }
  .volume-control input { width:44%; }
  .release-dialog { padding:44px 22px 24px; }
  .sources { padding-block:48px; }
  .source-links { flex-direction:column; }
  .source-links a { font-size:11px; }
  .site-footer { padding:32px 20px; gap:22px; }
  .site-footer p { font-size:10px; }
}
@media (pointer:coarse) {
  .scene-traces i:nth-child(even) { display:none; }
  .release-card[data-tilt], .members article[data-tilt] { transform:none; }
}
