:root{color-scheme:dark;--ink:#d4d0c9;--dim:#8b8985;--paper:#060606;--rust:#a58b7a;--line:#ffffff20}*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}body{height:100svh;height:100dvh;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;padding:0}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline:1px solid #c2b3a5;outline-offset:7px}button:hover,a:hover{color:#fff}button svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round}.icons{width:0;height:0;position:absolute}.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}#experience{height:100%;position:relative;isolation:isolate}.masthead{height:110px;padding:0 5.4%;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;position:relative;z-index:4;transition:opacity .8s}.wordmark{font-size:15px;font-weight:400;letter-spacing:-.035em;width:max-content;padding:14px 0}.modes{justify-self:center;display:flex;gap:16px;align-items:center;font-size:11px;letter-spacing:.025em}.modes>span{color:#484746;font-size:9px}.modes button{padding:15px 0;color:#7b7976;position:relative;transition:color .3s}.modes button[aria-pressed=true]{color:#ded9d2}.modes button[aria-pressed=true]:after{content:'';position:absolute;bottom:5px;left:50%;width:3px;height:3px;border-radius:50%;background:#a58b7a;transform:translateX(-50%)}#index-open{justify-self:end;display:flex;align-items:center;gap:24px;font-size:11px;letter-spacing:.03em;padding:15px 0}.plus{font-size:20px;font-weight:200;line-height:1}#stage{position:absolute;inset:0;z-index:-1;overflow:hidden}.artwork{position:absolute;inset:0;transition:transform .9s cubic-bezier(.2,.65,.2,1),opacity 1.2s}.artwork img{position:absolute;left:50%;top:46%;width:min(92vh,88vw);width:min(92svh,88vw);max-width:none;transform:translate(-50%,-50%);mask-image:radial-gradient(ellipse at center,black 55%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at center,black 55%,transparent 75%);user-select:none}.film-stage{position:absolute;inset:85px 0 140px;opacity:0;transition:opacity 1s;overflow:hidden}.film{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .2s;background:#000}.film.active{opacity:1}.watch-mode .film-stage.has-frame{opacity:1}.watch-mode.has-film .artwork{opacity:0}.watch-mode #stage{background:#000}.panel-open .artwork{transform:translateX(-13vw);opacity:.6}.panel-open .film-stage{opacity:.35}.controls{position:absolute;left:5.4%;right:5.4%;bottom:max(32px,env(safe-area-inset-bottom));z-index:4;transition:opacity .8s}.control-row{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;margin-bottom:32px;min-height:54px}.track-label{display:flex;align-items:center;gap:23px;text-align:left;min-height:44px;width:max-content;max-width:100%;font-size:12px;letter-spacing:-.01em}.track-label .number{font:9px 'Courier New',monospace;letter-spacing:.04em;color:var(--dim);white-space:nowrap}#track-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport{display:flex;align-items:center;gap:26px;justify-self:center}.icon-button{display:grid;place-items:center;min-width:40px;min-height:44px;color:#9b9893;transition:color .2s}.transport .icon-button svg{width:16px;height:16px}.play{width:56px;height:56px;border:1px solid #8e89804d;border-radius:50%;display:grid;place-items:center;color:#d4cec4;transition:border-color .3s,background .3s}.play:hover{border-color:#d8cbb3;background:#ffffff04}.play svg{width:21px;height:21px;stroke-width:1.1}.play:not(.playing) svg{transform:translateX(-1px)}.utilities{justify-self:end;display:flex;align-items:center;gap:27px}.volume-wrap{display:flex;align-items:center;gap:10px;position:relative}.volume-wrap input{width:60px;opacity:.65}.timeline{display:flex;align-items:center;gap:20px;font:9px 'Courier New',monospace;letter-spacing:.025em;color:#85817b}.timeline>span{min-width:30px}.timeline>span:last-child{text-align:right}.timeline input{flex:1;min-width:0}input[type=range]{appearance:none;-webkit-appearance:none;height:18px;background:transparent;cursor:pointer;margin:0}input[type=range]::-webkit-slider-runnable-track{height:1px;background:#6c635733}input[type=range]::-moz-range-track{height:1px;background:#6c635733}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:5px;height:5px;background:#b1a798;border-radius:50%;margin-top:-2px}input[type=range]::-moz-range-thumb{width:5px;height:5px;border:0;background:#b1a798;border-radius:50%}#seek{background:linear-gradient(to right,#b1a798 var(--progress,0%),#6c635733 var(--progress,0%)) center/100% 1px no-repeat}#seek::-webkit-slider-runnable-track{background:transparent}#seek::-moz-range-track{background:transparent}#media-message{position:absolute;left:10%;right:10%;bottom:168px;text-align:center;font-size:11px;color:#a9917f;line-height:1.5}.focus-mode .masthead{opacity:0;pointer-events:none}.focus-mode .film-stage{inset:0}.focus-mode .controls{background:linear-gradient(transparent,#0008);border-radius:0}.focus-mode:has(.controls:hover) .masthead{opacity:1}.index-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.index-head h2{font-family:var(--serif);font-size:34px;font-style:normal;font-weight:400;letter-spacing:-.05em;margin:0}.index-tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-bottom:12px;font-size:10px;letter-spacing:.04em}.index-tabs button{position:relative;padding:15px 0 18px;color:#74716c}.index-tabs button[aria-selected=true]{color:#dfdad1}.index-tabs button[aria-selected=true]:after{content:'';height:1px;position:absolute;bottom:-1px;left:0;right:0;background:#a99681}dialog{color:var(--ink);border:0;padding:0;background:#0b0b0b}dialog::backdrop{background:#0003;backdrop-filter:blur(4px)}#index{position:fixed;inset:0 0 0 auto;margin:0;width:min(460px,100%);max-width:100%;max-height:100dvh;height:100dvh;padding:38px 42px 32px;outline:0;border-left:1px solid #ffffff0a;overflow-y:auto}#index[open]{display:flex;flex-direction:column;animation:reveal .45s cubic-bezier(.2,.65,.2,1)}@keyframes reveal{from{transform:translateX(100%);opacity:.5}to{transform:none;opacity:1}}#tracklist{margin:0;padding:0;list-style:none}.track-row{width:100%;display:flex;align-items:center;gap:20px;min-height:61px;padding:15px 0;text-align:left;font-size:13px;border-bottom:1px solid #ffffff08;color:#8f8c87;transition:color .3s,padding .3s}.track-row:hover{padding-left:5px;color:#e4ddd1}.track-row[aria-current=true]{color:#ece5d9}.track-row .track-num{font:9px 'Courier New',monospace;color:#68655f;width:18px;flex-shrink:0;position:relative}.track-row[aria-current=true] .track-num:before{content:'';position:absolute;width:3px;height:3px;left:-11px;top:4px;border-radius:50%;background:#b49a80}.track-duration{font:9px 'Courier New',monospace;margin-left:auto;color:#6b6761}.index-footer{display:flex;gap:24px;align-items:center;margin-top:auto;padding-top:35px;font-size:10px;color:#77736c}.lineage-diagram{height:min(470px,60svh);min-height:350px;position:relative;margin-top:20px}.lineage-diagram>svg{position:absolute;inset:0;width:100%;height:100%}.lineage-diagram path{fill:none;stroke:#85715d;stroke-width:.7;opacity:.65}.lineage-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);background:#0b0b0b;padding:13px 4px;min-width:85px;max-width:145px;text-align:center;font-size:11px;line-height:1.5}.lineage-node:after{content:'';position:absolute;left:50%;bottom:0;width:3px;height:3px;background:#a48a71;border-radius:50%}.lineage-node.source{color:#706b64}.lineage-node.destination:after{bottom:auto;top:0}.lineage-node.destination span{font-family:var(--serif);font-size:27px;font-style:normal;letter-spacing:-.04em}.lineage-node small{display:block;font-size:9px;color:#887e70;margin-top:7px}.lineage-node:hover:after{box-shadow:0 0 8px #b7a18a}#reel{position:fixed;inset:0;margin:auto;width:min(1180px,100%);max-width:100%;max-height:100dvh;background:#000;padding:60px 25px 25px}#reel::backdrop{background:#000e;backdrop-filter:blur(8px)}#reel-close{position:absolute;top:10px;right:20px}#reel-video{display:block;width:100%;max-height:calc(100dvh - 100px)}[hidden]{display:none!important}
@media(min-width:1600px){.artwork img{width:min(100svh,75vw)}}
@media(max-width:800px){.masthead{padding:0 6%;height:86px}.wordmark{font-size:13px}.modes{font-size:10px;gap:12px}#index-open{gap:13px;font-size:10px}.artwork img{width:min(97svh,115vw);top:45%}.controls{left:6%;right:6%;bottom:max(26px,env(safe-area-inset-bottom))}.track-label{gap:12px;font-size:11px}.track-label .number{font-size:8px}.transport{gap:13px}.volume-wrap input{display:none}.utilities{gap:10px}.control-row{margin-bottom:25px}.film-stage{inset:86px 0 140px}}
@media(max-width:560px){.masthead{grid-template-columns:1fr 1fr;height:86px;align-items:center}.modes{position:fixed;left:50%;transform:translateX(-50%);top:88px;font-size:10px;z-index:5}.wordmark{font-size:14px}#index-open{font-size:11px;gap:17px}.artwork img{width:120vw;top:46%;mask-image:radial-gradient(ellipse at center,black 55%,transparent 76%);-webkit-mask-image:radial-gradient(ellipse at center,black 55%,transparent 76%)}.control-row{grid-template-columns:1fr auto;row-gap:23px;margin-bottom:24px;align-items:center}.track-label{font-size:13px;gap:18px;grid-column:1;grid-row:1}.track-label .number{font-size:9px}.transport{grid-column:1/3;grid-row:2;gap:33px}.play{width:58px;height:58px}.transport .icon-button{min-width:46px}.utilities{grid-column:2;grid-row:1;gap:8px}.utilities .icon-button{min-width:30px}.utilities svg{width:17px}.timeline{font-size:8px;gap:15px}.controls{bottom:max(23px,env(safe-area-inset-bottom));left:7%;right:7%}.film-stage{inset:132px 0 220px}.watch-mode .film-stage{inset:100px 0 200px}#media-message{bottom:205px;font-size:10px}#index{padding:28px 30px 28px}.index-head{margin-bottom:16px}.index-head h2{font-size:31px}.track-row{min-height:54px;font-size:13px;padding:13px 0}.index-footer{padding-top:28px;font-size:10px}.panel-open .artwork{transform:none;opacity:.4}.lineage-diagram{height:470px;min-height:330px}.focus-mode .film-stage{inset:0}.focus-mode .modes{opacity:0}.focus-mode .controls{opacity:.25}.focus-mode .controls:focus-within,.focus-mode .controls:hover{opacity:1}}
@media(max-height:650px) and (orientation:landscape){.masthead{height:65px}.controls{bottom:20px}.control-row{margin-bottom:8px}.artwork img{width:100svh;top:45%}.film-stage{inset:65px 0 110px}.play{width:44px;height:44px}#index{padding-top:15px}.index-head{margin-bottom:0}.track-row{min-height:44px}.modes{position:static;transform:none}.masthead{grid-template-columns:1fr 1fr 1fr}.control-row{grid-template-columns:1fr 1fr 1fr}.transport{grid-row:1;grid-column:2}.utilities{grid-column:3}.track-label{grid-column:1}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Preserve the complete title and ampersand in the supplied cover. */
.artwork img{width:min(84svh,88vw);mask-image:none;-webkit-mask-image:none;mix-blend-mode:lighten}
@media(min-width:1600px){.artwork img{width:min(90svh,75vw)}}
@media(max-width:800px){.artwork img{width:min(92svh,112vw)}}
@media(max-width:560px){.artwork img{width:112vw;mask-image:none;-webkit-mask-image:none}}
@media(max-height:650px) and (orientation:landscape){.artwork img{width:90svh}}
@media(max-width:560px){.artwork img{width:100vw}}

@font-face{font-family:SpaceGrotesk;src:url('assets/fonts/space-grotesk.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{--serif:SpaceGrotesk,Arial,sans-serif}
.wordmark{font-family:var(--serif);font-size:25px;font-style:normal;font-weight:350;letter-spacing:-.045em;line-height:1.2}
.modes{font-family:var(--serif);font-size:17px;letter-spacing:-.015em;gap:19px}
.modes>span{font-size:13px;font-style:normal}
.modes button[aria-pressed=true]{font-style:normal}
#index-open{font-family:var(--serif);font-size:17px;letter-spacing:-.015em}
.track-label{font-family:var(--serif);font-size:17px}
.index-head h2{font-family:var(--serif);font-size:40px;font-weight:350;letter-spacing:-.045em}
.index-tabs{font-family:var(--serif);font-size:16px;letter-spacing:0}
.index-tabs button{padding-top:12px;padding-bottom:15px}
.track-row{font-family:var(--serif);font-size:18px;min-height:55px;padding:12px 0}
.index-footer{font-family:var(--serif);font-size:14px}
.lineage-node{font-family:var(--serif);font-size:15px}
.lineage-node.destination span{font-family:var(--serif);font-size:32px}
.lineage-node small{font-family:Arial,sans-serif}
.index-pages{display:flex;gap:28px;padding:0 0 28px;font:18px var(--serif);color:#bbb2a6}
.index-pages a{display:flex;gap:16px;align-items:center;min-height:36px}
.index-pages span{font:12px Arial,sans-serif;color:#8a7764}
.artwork img{opacity:0;transition:opacity .8s ease;mix-blend-mode:normal}
.artwork img.current{opacity:1}
.artwork img.song-art{width:min(1150px,88vw,calc((100svh - 250px)*1.7778));top:46%;max-height:calc(100svh - 250px);object-fit:contain}
#pages{position:absolute;inset:100px 0 168px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#51483e transparent}
.content-page{width:100%;max-width:1320px;margin:0 auto;padding:20px 5.6% 70px}
.back-link{display:inline-flex;align-items:center;min-height:40px;font:16px var(--serif);color:#a79c8e;margin-bottom:20px}
.background-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}
.background-art{margin:0;align-self:start;position:sticky;top:12px}
.background-art img{width:100%;height:auto;display:block}
.background-copy{padding:35px 0 55px;max-width:460px}
.eyebrow{font:10px 'Courier New',monospace;letter-spacing:.14em;color:#948677;text-transform:uppercase;margin:0}
.content-page h1{font:350 clamp(58px,6.5vw,88px)/1.1 var(--serif);letter-spacing:-.055em;margin:20px 0 36px;outline:0}
#background-text{font:300 21px/1.65 var(--serif);color:#c0b8ae}
#background-text p{margin:0 0 1.3em}
#background-text .copy-placeholder{border-top:1px solid var(--line);padding-top:28px;font:17px var(--serif);color:#6f675e}
.page-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:30px;border-bottom:1px solid var(--line)}
.page-heading h1{margin:8px 0 24px}
.album-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(22px,3vw,40px)}
.album-image{aspect-ratio:1;position:relative;display:grid;place-items:center;overflow:hidden;background:#0b0a09;border:1px solid #75614a26}
.album-image>img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.album-card:hover .album-image>img{transform:scale(1.025)}
.album-card h2{font:400 24px var(--serif);margin:19px 0 8px;letter-spacing:-.025em}
.album-card p{font:16px var(--serif);margin:0;color:#8a8074}
.album-mark{font:80px var(--serif);color:#6d5a46}
.album-placeholder .album-image{background:linear-gradient(140deg,#17130d66,transparent 75%)}
.album-placeholder .album-image>span{font:200 35px var(--serif);color:#655442}
.placeholder-caption{display:block;margin-top:18px;font:16px var(--serif);color:#74695c}
.content-mode .controls{background:linear-gradient(transparent,var(--paper) 30%);padding-top:20px}
.content-mode .masthead{background:var(--paper)}
.content-mode .volume-wrap{opacity:.7}
@media(max-width:800px){.wordmark{font-size:23px}.modes{font-size:17px;gap:15px}#index-open{font-size:17px}.track-label{font-size:16px}.background-layout{gap:5%}.background-copy{padding:20px 0}.content-page h1{font-size:64px}.album-grid{gap:24px}.album-card h2{font-size:21px}}
@media(max-width:560px){.wordmark{font-size:24px}.modes{font-size:18px;top:85px;gap:18px}#index-open{font-size:18px}.track-label{font-size:18px}.artwork img.song-art{width:100vw;max-height:calc(100svh - 350px);top:46%}.index-head h2{font-size:39px}.index-pages{padding-bottom:15px;gap:25px}.index-tabs{font-size:17px}.track-row{font-size:18px;min-height:53px;padding:10px 0}.index-footer{font-size:15px}.lineage-node{font-size:15px}#pages{inset:140px 0 215px}.content-page{padding:0 7% 40px}.back-link{margin-bottom:5px;font-size:16px}.background-layout{display:flex;flex-direction:column;gap:0}.background-art{position:static;width:70%;align-self:center;margin:0 0 18px}.background-copy{max-width:none;width:100%;padding:0}.content-page h1{font-size:61px;margin:12px 0 23px}.background-copy .eyebrow{font-size:9px}#background-text{font-size:20px}#background-text .copy-placeholder{padding-top:22px}.page-heading{margin:7px 0 24px}.page-heading h1{font-size:58px}.page-heading .eyebrow{font-size:9px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 20px}.placeholder-caption{font-size:14px}.album-card h2{font-size:22px}.album-card p{font-size:15px}.content-mode .controls{padding-top:10px}}
@media(max-height:650px) and (orientation:landscape){#pages{inset:65px 0 110px}.artwork img.song-art{max-height:calc(100svh - 190px);width:min(85vw,calc((100svh - 190px)*1.7778))}.background-copy{padding:0}.content-page{padding-top:0}.content-page h1{font-size:56px}.index-pages{padding-bottom:8px}.track-row{min-height:43px}}

/* A sharper type system, with the supplied handwritten title as the only script. */
body{font-family:SpaceGrotesk,Arial,sans-serif}
.wordmark{font-size:21px;font-style:normal;font-weight:500;letter-spacing:-.055em}
.modes{font-size:11px;font-weight:500;letter-spacing:.08em;gap:19px;text-transform:uppercase}
.modes>span{font-size:10px;font-style:normal}
.modes button[aria-pressed=true]{font-style:normal}
#index-open{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.track-label{font-size:14px;letter-spacing:-.025em}
.index-head h2{font-size:43px;font-weight:400;font-style:normal;letter-spacing:-.075em}
.index-pages{font-size:14px;gap:29px}
.index-tabs{font-size:12px;letter-spacing:.015em}
.track-row{font-size:14px;letter-spacing:-.02em}
.index-footer{font-size:11px}
.lineage-node{font-size:12px}
.lineage-node.destination span{font-size:29px;font-style:normal}
.content-page h1{font-size:clamp(58px,6.5vw,88px);font-weight:400;letter-spacing:-.075em;font-style:normal}
.back-link{font-size:12px;letter-spacing:-.02em}
#background-text{font-size:17px;line-height:1.75}
#background-text .copy-placeholder{font-size:13px;font-style:normal}
.album-card h2{font-size:20px;font-weight:400;letter-spacing:-.04em}
.album-card p{font-size:13px}
.placeholder-caption{font-size:12px}
.album-mark{font-size:75px;font-style:normal}
.tension-divider{margin-left:8px}
#tension-toggle{color:#a18f7d}
#tension-toggle[aria-pressed=true]{color:#e9c8a1}
#tension-toggle[aria-pressed=true]:after{background:#e9c8a1;box-shadow:0 0 7px #e9c8a166}
#tension-toggle:disabled{opacity:.4;cursor:wait}
#tension-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;opacity:0}
.tension-mode #tension-canvas.ready{opacity:1}
.tension-mode #stage{z-index:1}
#sound-surface{position:absolute;inset:120px 5.4% 205px;z-index:3;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#sound-surface.dragging{cursor:grabbing}
#sound-surface.holding{cursor:crosshair}
#sound-surface:focus-visible{outline:1px solid #b0947133;outline-offset:0}
#tension-status{position:absolute;bottom:205px;left:15%;right:15%;z-index:4;text-align:center;color:#c2a17c;font:10px 'Courier New',monospace;letter-spacing:.07em;pointer-events:none}
.tension-guide{position:absolute;bottom:160px;left:5.4%;right:5.4%;display:flex;gap:24px;justify-content:center;align-items:center;z-index:4;color:#b0a18f;font-size:10px;letter-spacing:.02em}
.tension-guide span{white-space:nowrap}.tension-guide i{font-style:normal;color:#70685e;margin-left:5px}
#tension-reset{font-size:10px;color:#887b6d;padding:10px 0;border-bottom:1px solid #85705a44}
.panel-open #tension-canvas{opacity:.35}
.panel-open #sound-surface{pointer-events:none}
@media(max-width:800px){.wordmark{font-size:20px}.modes{font-size:11px;gap:14px}#index-open{font-size:11px}.track-label{font-size:13px}.index-head h2{font-size:40px}.index-pages{font-size:14px}.index-tabs{font-size:12px}.track-row{font-size:14px}.index-footer{font-size:11px}.content-page h1{font-size:64px}.tension-guide{gap:20px}}
@media(max-width:560px){.wordmark{font-size:20px}.modes{font-size:11px;gap:16px;top:88px;white-space:nowrap}#index-open{font-size:11px}.track-label{font-size:13px}.track-label .number{font-size:8px;letter-spacing:0}.index-head h2{font-size:39px}.index-pages{font-size:14px}.index-tabs{font-size:12px}.track-row{font-size:14px}.index-footer{font-size:11px}.lineage-node{font-size:12px}.content-page h1,.page-heading h1{font-size:58px}#background-text{font-size:16px}#background-text .copy-placeholder{font-size:12px}.placeholder-caption{font-size:11px}.album-card h2{font-size:18px}.album-card p{font-size:12px}.back-link{font-size:12px}#sound-surface{inset:142px 0 278px}#tension-status{bottom:272px;font-size:9px}.tension-guide{bottom:224px;left:6%;right:6%;gap:16px;font-size:9px;flex-wrap:wrap;row-gap:1px}.tension-guide i{display:block;margin:5px 0 0;font-size:8px}.tension-guide span{text-align:center}#tension-reset{margin-left:6px;font-size:9px}.tension-divider{margin-left:5px}}
@media(max-height:650px) and (orientation:landscape){#sound-surface{inset:70px 5% 155px}#tension-status{bottom:145px}.tension-guide{bottom:115px;font-size:9px;gap:18px}.tension-guide i{display:inline;margin-left:4px}.modes{font-size:10px}.wordmark{font-size:18px}}

.tension-mode.tension-fallback .artwork img.current{filter:url(#tension-distortion)}
@media(max-width:800px){.album-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Keep the cover visible until the requested video frame has decoded. */
.film-stage{transition:opacity .18s}
.watch-mode .artwork{transition:opacity .18s}

/* The live intro shares the film's composition and keeps controls above it. */
#dynamics-stage{position:absolute;inset:85px 0 140px;z-index:2;opacity:0;pointer-events:none;background:#000;transition:opacity .3s}
#dynamics-canvas{width:100%;height:100%;object-fit:contain;display:block}
.live-dynamics #dynamics-stage{opacity:1}
.live-dynamics .film-stage,.live-dynamics .artwork,.live-dynamics #tension-canvas{opacity:0!important}
.focus-mode #dynamics-stage{inset:0}
@media(max-width:800px){#dynamics-stage{inset:86px 0 140px}}
@media(max-width:560px){#dynamics-stage{inset:100px 0 200px}}
@media(max-height:650px) and (orientation:landscape){#dynamics-stage{inset:65px 0 110px}}

/* Canonical square covers: preserve titles, corners and the original composition. */
.artwork img,.artwork img.song-art{width:min(68svh,86vw);height:auto;max-height:calc(100svh - 230px);object-fit:contain;mask-image:none;-webkit-mask-image:none;top:45%}
@media(max-width:560px){.artwork img,.artwork img.song-art{width:min(86vw,calc(100svh - 370px));max-height:calc(100svh - 370px);top:43%}}
.film-stage{transform:translate3d(var(--film-pull-x,0px),var(--film-pull-y,0px),0) scale(var(--film-scale,1));filter:brightness(var(--film-light,1));transform-origin:center}

/* Artist navigation; Axiom is the featured album, not the site umbrella. */
.index-head h2{font-size:30px;letter-spacing:-.055em}
.index-pages{display:grid;gap:0;padding-bottom:26px}
.index-pages a{justify-content:space-between;min-height:42px;border-bottom:1px solid #ffffff0b}
.index-album-title{font-size:24px;font-weight:400;letter-spacing:-.045em;margin:0 0 8px}
.show-row{display:grid;grid-template-columns:180px 1fr auto;gap:36px;padding:28px 0 38px;border-bottom:1px solid var(--line);align-items:start}
.show-date{display:flex;flex-direction:column;align-items:flex-start;gap:14px;font-size:13px;color:var(--dim)}
.show-status{font-size:10px;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:20px;padding:5px 10px}
.show-place h2{font-size:clamp(22px,3vw,38px);font-weight:400;letter-spacing:-.04em;margin:0 0 10px}
.show-place p{font-size:13px;color:var(--dim);margin:0}
.show-work{font-size:13px;color:var(--dim);padding-top:8px}
.booking{display:flex;justify-content:space-between;gap:24px;align-items:baseline;padding-top:54px}
.booking h2{font-size:20px;font-weight:400;letter-spacing:-.03em;margin:0}
#booking-contact{font-size:14px}.booking-placeholder{color:var(--dim)}
@media(max-width:560px){.index-head h2{font-size:29px}.show-row{grid-template-columns:1fr;gap:22px;padding:8px 0 28px}.show-date{flex-direction:row;align-items:center;justify-content:space-between}.show-place h2{font-size:28px}.show-work{padding:0}.booking{padding-top:30px;flex-wrap:wrap;gap:16px}}

/* Immersive composition: the moving image fills the viewport beneath the UI. */
body.focus-mode .film-stage,body.focus-mode #dynamics-stage{inset:0}
body.focus-mode .film,body.focus-mode #dynamics-canvas{object-fit:cover}
body.focus-mode #sound-surface{inset:0}
body.focus-mode #stage::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to bottom,#0009 0%,#0003 18%,transparent 35%,transparent 62%,#0006 82%,#000b 100%)}
body.focus-mode .masthead,body.focus-mode .modes,body.focus-mode .controls{opacity:1;pointer-events:auto}
body.focus-mode .masthead,body.focus-mode .controls{background:transparent;text-shadow:0 1px 12px #000c}
body.focus-mode .modes button{color:#c6c2bb}
body.focus-mode .modes button[aria-pressed=true]{color:#fff}
body.focus-mode .controls .icon-button,body.focus-mode .timeline,body.focus-mode .track-label .number{color:#c6c2bb}
body.focus-mode .play{border-color:#ffffff60;background:#0002}
body.focus-mode .tension-guide{color:#d8cfc1;text-shadow:0 1px 8px #000}
body.focus-mode #index{background:#0b0b0bdd;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body.focus-mode.panel-open .film-stage{opacity:1}
body.focus-mode .content-page{background:var(--paper)}
@media(prefers-reduced-motion:reduce){body.focus-mode .film-stage,body.focus-mode #dynamics-stage{transition:none}}

/* Play never reveals a prerecorded frame while the live solver loads or seeks. */
.tension-mode .film-stage{visibility:hidden!important}
.interactive-track .artwork,.interactive-track #tension-canvas{opacity:0!important}
.tension-mode:not(.interactive-track):not(.live-dynamics) .artwork{opacity:1}
/* Release archive: featured upcoming album followed by the earlier catalogue. */
.upcoming-album{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:clamp(24px,5vw,64px);align-items:center;padding-bottom:36px;border-bottom:1px solid var(--line)}
.upcoming-album h2{font-size:clamp(40px,5vw,64px);margin:14px 0}
.release-status{font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:#c2b3a5}
.album-card .artist-note{margin-top:12px;font-size:11px}
.album-background{margin:20px 0;font-size:12px;line-height:1.7}
.album-background summary{cursor:pointer;width:max-content;color:#bcb7b0}
.album-background p{font-size:12px;line-height:1.8;margin:12px 0;max-width:550px;color:#aaa49c}
.album-action{font-size:11px;display:inline-block;padding:10px 0}
.index-footer{flex-wrap:wrap;gap:18px 24px}
@media(max-width:560px){.upcoming-album{grid-template-columns:1fr;gap:15px}.upcoming-album>.album-experience{max-width:260px;width:100%;margin:auto}.upcoming-album h2{font-size:42px}}
.content-mode .tension-guide{display:none}
#opening-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;opacity:0;pointer-events:none;z-index:2}
.opening-loop #opening-loop{opacity:1}
.opening-loop .artwork,.opening-loop #tension-canvas{opacity:0!important}
.live-dynamics #opening-loop{opacity:0}
#loading-indicator{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;background:#0009;display:grid;place-items:center;z-index:6;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s}
#loading-indicator.visible{opacity:1;visibility:visible}
#loading-indicator img{width:22px;height:auto;animation:ampersand-spin 1.8s linear infinite;animation-play-state:paused}
#loading-indicator.visible img{animation-play-state:running}
@keyframes ampersand-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#loading-indicator img{animation:none}}
.wordmark{display:inline-flex;align-items:center;gap:12px}
.wordmark-symbol{display:block;width:24px;height:34px;object-fit:contain;flex:none}
@media(max-width:560px){.wordmark{gap:9px}.wordmark-symbol{width:20px;height:29px}}

body.light-visual.live-dynamics .masthead,body.light-visual.live-dynamics .controls,body.light-visual.live-dynamics .tension-help{filter:invert(1)}

/* One invitation above the player; the rest of the navigation speaks for itself. */
.transport{position:relative}
#landing-start{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:44px;min-height:52px;color:#d4d0c9;font-size:13px;letter-spacing:.06em;line-height:1;white-space:nowrap;text-shadow:0 1px 12px #000}
#landing-start svg{display:block;width:14px;height:18px;flex:none;stroke-width:1.2}
#landing-start:hover{color:#fff}
.content-mode #landing-start,.panel-open #landing-start{display:none}
body:not(.playback-started) .tension-guide{display:none}
@media(max-width:560px){#landing-start{bottom:calc(100% + 78px)}}

/* Lineage is a readable tree, with normal document flow on small screens. */
.lineage-map{padding:12px 0 8px}
.lineage-intro{font-size:12px;line-height:1.6;color:#a9a297;margin:0 0 24px}
.lineage-map h3{font-size:18px;line-height:1.35;font-weight:400;letter-spacing:-.025em;margin:5px 0}
.lineage-map p:not(.lineage-intro){font-size:11px;color:#8d857a;margin:0;line-height:1.5}
.lineage-caption{font:9px 'Courier New',monospace;letter-spacing:.1em;text-transform:uppercase;color:#a58b7a}
.lineage-root{padding:0 0 22px 20px;border-left:1px solid #a58b7a80;position:relative}
.lineage-root:before{content:'';position:absolute;width:5px;height:5px;border-radius:50%;background:#d4c0a7;left:-3px;top:3px}
.lineage-root h3{font-size:32px}
.lineage-branches{border-left:1px solid #a58b7a45;padding-left:20px}
.lineage-branch{position:relative;padding:0 0 24px}
.lineage-branch:before{content:'';position:absolute;left:-20px;top:9px;width:12px;border-top:1px solid #a58b7a70}
.lineage-source{margin-bottom:9px}
.lineage-tracks{list-style:none;margin:0;padding:0 0 0 13px;border-left:1px solid #ffffff18}
.lineage-tracks button{width:100%;min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;font-size:13px;line-height:1.4;padding:8px 0;border-bottom:1px solid #ffffff0a}
.lineage-play{flex:none;font:9px 'Courier New',monospace;color:#998a77}
.lineage-tracks button:hover .lineage-play,.lineage-tracks button:focus-visible .lineage-play{color:#fff}
.lineage-additional{padding:20px 0;border-top:1px solid #ffffff18;margin-top:4px}
.lineage-reel{font-size:11px;color:#c6b49e;padding:12px 0;min-height:44px;text-align:left}
@media(max-width:560px){.lineage-map h3{font-size:18px}.lineage-root h3{font-size:30px}.lineage-tracks button{font-size:13px}.lineage-branches{padding-left:16px}.lineage-branch:before{left:-16px;width:9px}}
