/* Record sleeves in a tapered helix. Existing site tokens own the palette. */
.discography{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:clip;background:var(--ink)}
.discography .section-label{margin-bottom:30px}
.discography-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.discography-heading h2{font:clamp(60px,7.8vw,118px)/.98 var(--display);letter-spacing:-.025em;margin:0}
.discography-heading h2 em{color:var(--cyan);font-style:normal}
.discography-heading>p{max-width:250px;margin:0 0 5px;font:22px/1.35 var(--body);color:var(--muted)}
.record-experience{display:grid;grid-template-columns:minmax(240px,.6fr) minmax(0,1.4fr);gap:6%;align-items:center;margin-top:28px}
.release-detail{position:relative;z-index:2;min-width:0}
.release-detail-art{width:160px;aspect-ratio:1;display:block;margin-bottom:22px;box-shadow:9px 9px 0 var(--line);object-fit:cover}
.release-meta{font:11px/1.6 var(--mono);color:var(--cyan);letter-spacing:.06em;display:block;margin-bottom:12px}
.release-detail h3{font:clamp(30px,3.2vw,48px)/1.06 var(--display);text-transform:uppercase;overflow-wrap:anywhere;margin:0;min-height:3.3em;max-width:390px}
.release-detail .release-description{font:20px/1.4 var(--body);color:var(--muted);min-height:2.8em;max-width:300px;margin:14px 0 20px}
.release-detail .button{min-height:50px;padding:13px 18px;gap:25px;font-size:18px}
.record-navigation{display:flex;gap:10px;align-items:center;margin-top:23px}
.record-navigation>span{font:11px var(--mono);margin-left:8px}
.record-sculpture{min-width:0;position:relative}
.record-stage{height:690px;position:relative;perspective:1200px;isolation:isolate;touch-action:pan-y;cursor:grab;user-select:none}
.record-stage.is-dragging{cursor:grabbing}
.record-axis{position:absolute;inset:4% 50% 7%;width:1px;background:var(--line);pointer-events:none}
.record-axis::before,.record-axis::after{position:absolute;left:-4px;width:9px;height:9px;background:var(--cyan);content:'';transform:rotate(45deg)}
.record-axis::after{bottom:0}
.record-orbit-label{position:absolute;top:2%;right:0;font:9px var(--mono);color:var(--muted);letter-spacing:.08em;pointer-events:none}
.record-floor{position:absolute;bottom:9%;left:50%;width:65%;height:130px;border:1px solid var(--line);border-radius:50%;transform:translateX(-50%) rotateX(67deg);pointer-events:none}
.record-helix{position:absolute;left:50%;top:50%;width:0;height:0;transform-style:preserve-3d}
.storm-sleeve{position:absolute;left:0;top:0;width:var(--sleeve-size,130px);height:var(--sleeve-size,130px);padding:0;border:1px solid #ffffff45;box-shadow:0 10px 24px #0008;transform-origin:center;cursor:pointer;background:var(--ink);will-change:transform;transition:border-color .2s;outline-offset:5px}
.storm-sleeve img{width:100%;height:100%;object-fit:cover;pointer-events:none;display:block}
.storm-sleeve::after{content:'';position:absolute;inset:0;box-shadow:inset 3px 0 0 #ffffff24;pointer-events:none}
.storm-sleeve.is-selected{border:3px solid var(--cyan);box-shadow:0 0 0 4px #0b0b0da0,0 14px 28px #0008}
.storm-sleeve:hover{border-color:var(--paper)}
.record-tools{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:16px}
.record-view-switch{display:flex;border:1px solid var(--line)}
.record-tool{min-height:44px;padding:10px 13px;font:10px var(--mono);letter-spacing:.02em;border:1px solid transparent;cursor:pointer;color:var(--paper);background:transparent}
.record-tool:hover{color:var(--cyan);border-color:var(--cyan)}
.record-tool:focus-visible,.release-pick:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.record-tool[aria-pressed=true]{background:var(--paper);color:var(--ink)}
.record-tool:disabled{opacity:.5;cursor:default;border-color:transparent}
.record-tools>p{font:9px/1.4 var(--mono);color:var(--muted);margin:0}
.release-index-heading{display:flex;justify-content:space-between;gap:20px;font:10px var(--mono);letter-spacing:.07em;padding-top:45px;margin-bottom:14px;color:var(--muted)}
.release-index{display:flex;gap:16px;overflow-x:auto;padding:6px 5px 18px;scrollbar-gutter:stable;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.release-pick{flex:0 0 112px;text-align:left;padding:0 0 8px;background:transparent;border:0;border-bottom:2px solid transparent;cursor:pointer;scroll-snap-align:start;color:var(--muted)}
.release-pick img{display:block;width:112px;height:112px;object-fit:cover;margin-bottom:10px;transition:transform .2s}
.release-pick strong{font:17px/1.1 var(--body);display:block;min-height:2.2em;color:var(--paper)}
.release-pick span{font:8px/1.5 var(--mono);display:block;margin-top:5px;text-transform:uppercase}
.release-pick[aria-pressed=true]{border-bottom-color:var(--cyan);color:var(--cyan)}
.release-pick[aria-pressed=true] img{outline:2px solid var(--cyan);outline-offset:3px}
.release-pick:hover img{transform:translateY(-3px)}
.release-source{font:10px/1.6 var(--mono);color:var(--muted);margin:16px 0 0}.release-source a{text-decoration:underline;text-underline-offset:3px}
.record-stage.is-wall{height:auto;min-height:480px;cursor:auto;padding:20px 0;perspective:none;display:flex;align-items:center}
.is-wall .record-axis,.is-wall .record-floor,.is-wall .record-orbit-label{display:none}
.is-wall .record-helix{position:relative;left:auto;top:auto;width:100%;height:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;transform-style:flat}
.is-wall .storm-sleeve{position:relative;width:100%;height:auto;aspect-ratio:1;transform:none!important;opacity:1!important;will-change:auto}
@media(max-width:1000px){.record-experience{grid-template-columns:minmax(210px,.55fr) minmax(0,1fr);gap:4%}.record-stage{height:620px;perspective:1000px}.release-detail h3{font-size:34px}.discography-heading>p{font-size:20px;max-width:200px}.record-tools{gap:8px}.record-tools>p{width:100%}.release-detail-art{width:135px}.is-wall .record-helix{grid-template-columns:repeat(3,minmax(0,1fr))}.record-stage.is-wall{min-height:570px}}
@media(max-width:600px){.discography-heading{display:block}.discography-heading h2{font-size:clamp(54px,13vw,78px)}.discography-heading>p{font-size:20px;max-width:300px;margin-top:18px}.record-experience{display:flex;flex-direction:column;gap:30px;margin-top:5px}.record-sculpture{width:100%;order:0}.record-stage{height:550px;perspective:1000px}.release-detail{order:1;width:100%;display:grid;grid-template-columns:86px minmax(0,1fr);gap:0 20px;align-items:start;border-top:1px solid var(--line);padding-top:25px}.release-detail-art{width:86px;grid-column:1;grid-row:1/4;margin:0;box-shadow:5px 5px 0 var(--line)}.release-meta{font-size:9px;grid-column:2;margin-bottom:7px}.release-detail h3{grid-column:2;font-size:30px;min-height:3.2em}.release-detail .release-description{grid-column:1/-1;font-size:19px;min-height:0;max-width:100%;margin:18px 0}.release-detail .button{grid-column:1/-1;width:max-content;max-width:100%}.record-navigation{grid-column:1/-1;margin-top:17px}.record-tools{gap:5px}.record-tool{font-size:9px;padding:10px}.record-tools>p{margin-top:7px}.release-index-heading{padding-top:30px;font-size:9px}.release-index{gap:13px}.release-pick{flex-basis:95px}.release-pick img{width:95px;height:95px}.record-stage.is-wall{min-height:0;padding:25px 0}.is-wall .record-helix{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.record-orbit-label{font-size:8px}.release-source{font-size:9px}}
@media(prefers-reduced-motion:reduce){.storm-sleeve{will-change:auto}.release-pick img{transition:none}}
@media(forced-colors:active){.storm-sleeve img,.release-pick img,.release-detail-art{forced-color-adjust:none}.storm-sleeve.is-selected,.release-pick[aria-pressed=true]{outline:2px solid Highlight}}
