/* PREHEAT — Minor Damage */
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"Schibsted Grotesk";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/schibsted-grotesk-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}

:root{
  --ground:#E6E3DC; --ink:#151413; --dim:#5D5B57; --rule:rgba(21,20,19,.2);
  --sans:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  --gutter:clamp(16px,4vw,56px);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
img{display:block;max-width:100%}
.wrap{max-width:1440px;margin:0 auto;padding:0 var(--gutter)}
.mono{font-family:var(--mono);font-size:12px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase;font-weight:400}
.dim{color:var(--dim)}
a{color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(21,20,19,.28);transition:border-color .5s ease}
a:hover{border-bottom-color:var(--ink)}
:focus-visible{outline:1px solid var(--ink);outline-offset:4px}
.rule-top{border-top:1px solid var(--rule)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--gutter);top:8px;background:var(--ground);padding:8px;z-index:20}

/* header */
.site-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;padding:22px 0;border-bottom:1px solid var(--rule)}
.site-head nav{display:flex;flex-wrap:wrap;gap:8px 28px}
.wordrow{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:12px 32px;margin:56px 0 40px}
.wordmark{font-weight:500;font-size:clamp(84px,17vw,252px);line-height:.78;letter-spacing:-.055em;margin:0 0 0 -.05em}
.wordrow .mono{padding-top:.6em}

/* opening */
.opening{display:flex;flex-wrap:wrap;align-items:flex-end;gap:28px 48px}
.opening .art{flex:999 1 640px;max-width:940px;min-width:0}
.opening .side{flex:1 1 260px;display:flex;flex-direction:column;gap:28px;padding-bottom:4px}
.meta{display:grid;grid-template-columns:84px minmax(0,1fr);gap:7px 16px;margin:0}
.meta dt{color:var(--dim)}
.meta dd{margin:0}

/* film still */
.film{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden;background:#070606;filter:contrast(1.08) saturate(.9)}
.film .weave{position:absolute;inset:-1%;animation:weave .28s steps(1) infinite}
.film .photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film .slitglow{position:absolute;left:43.6%;top:8%;width:6.6%;height:88%;background:rgba(255,168,92,.5);filter:blur(7px);mix-blend-mode:screen;opacity:.2;animation:flick 3.7s infinite}
.film .expo{position:absolute;inset:0;background:#000;opacity:0;animation:expo 6.1s ease-in-out infinite}
.film .leak{position:absolute;right:-16%;top:-22%;width:48%;height:72%;background:radial-gradient(ellipse at center,rgba(255,112,40,.6),rgba(255,60,20,.14) 46%,transparent 72%);filter:blur(22px);mix-blend-mode:screen;opacity:0;animation:leak 14s infinite}
.film .grain{position:absolute;left:-50%;top:-50%;width:200%;height:200%;opacity:.22;mix-blend-mode:overlay;pointer-events:none;animation:grain .5s steps(1) infinite}
.film .scratch{position:absolute;top:0;height:100%;width:1px;background:rgba(236,229,215,.55);opacity:0}
.film .s1{animation:scratch1 3.1s steps(1) infinite}
.film .s2{width:2px;background:rgba(0,0,0,.55);animation:scratch2 4.7s steps(1) infinite}
.film .dust{position:absolute;width:3px;height:2px;border-radius:50%;background:#ece4d4;opacity:0}
.film .d1{animation:dust1 2.3s steps(1) infinite}
.film .d2{width:5px;height:1px;background:#000;animation:dust2 3.3s steps(1) infinite}
.film .d3{animation:dust3 1.9s steps(1) infinite}
.film .label{position:absolute;left:14px;bottom:12px;font:400 10px/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(231,226,216,.7)}
.caption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:10px;margin-top:12px}

@keyframes flick{0%{opacity:.18}17%{opacity:.62}31%{opacity:.08}49%{opacity:.5}63%{opacity:.22}81%{opacity:.7}100%{opacity:.18}}
@keyframes expo{0%{opacity:0}22%{opacity:.12}38%{opacity:.04}57%{opacity:.16}74%{opacity:.05}100%{opacity:0}}
@keyframes weave{0%{transform:translate(0,0)}25%{transform:translate(.6px,-.4px)}50%{transform:translate(-.4px,.5px)}75%{transform:translate(.3px,.2px)}}
@keyframes grain{0%{transform:translate(0,0)}17%{transform:translate(-8%,4%)}33%{transform:translate(5%,-9%)}50%{transform:translate(-3%,7%)}67%{transform:translate(9%,2%)}83%{transform:translate(-6%,-5%)}}
@keyframes leak{0%,82%{opacity:0}86%{opacity:.6}90%{opacity:.3}95%,100%{opacity:0}}
@keyframes scratch1{0%{left:22%;opacity:.6}9%{left:22.6%;opacity:.4}16%{opacity:0}58%{left:71%;opacity:.5}64%{left:71.3%;opacity:.3}70%{opacity:0}}
@keyframes scratch2{0%{opacity:0}30%{left:41%;opacity:.7}34%{left:41.4%;opacity:.5}39%{opacity:0}83%{left:12%;opacity:.5}86%{opacity:0}}
@keyframes dust1{0%{left:31%;top:18%;opacity:.8}6%{opacity:0}44%{left:66%;top:81%;opacity:.7}49%{opacity:0}}
@keyframes dust2{0%{opacity:0}21%{left:48%;top:12%;opacity:.8}25%{opacity:0}71%{left:19%;top:62%;opacity:.7}75%{opacity:0}}
@keyframes dust3{0%{opacity:0}37%{left:82%;top:40%;opacity:.7}41%{opacity:0}}

/* SoundCloud slot */
.sc{width:100%}
.sc iframe{display:block;width:100%;height:166px;border:0}
.sc-ph{display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--rule);min-height:166px;justify-content:space-between}
.sc-ph p{margin:0;font-size:14px;line-height:1.45;max-width:46ch}
.sc-ph .acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px 24px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border:1px solid var(--ink);background:none;color:var(--ink);font:400 12px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color .4s ease,color .4s ease}
.btn:hover{background:var(--ink);color:var(--ground)}
.textbtn{background:none;border:0;padding:0;min-height:44px;color:var(--ink);cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit}
.textbtn:hover{text-decoration:underline;text-underline-offset:4px}

/* project note */
.note{display:flex;flex-wrap:wrap;gap:14px 48px;margin-top:clamp(120px,14vw,200px);padding:18px 0 clamp(96px,11vw,150px);border-top:1px solid var(--rule)}
.note>.mono{flex:1 1 200px}
.note .body{flex:999 1 560px;display:flex;flex-direction:column;gap:6px;max-width:34em;font-size:18px;line-height:1.5}
.note p{margin:0}

/* archive */
.archive{padding-bottom:104px}
.sec-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;padding-bottom:20px}
.sec-head h2{margin:0;font-weight:500;font-size:clamp(32px,3.4vw,48px);letter-spacing:-.03em;line-height:1}
.sec-head h2.small{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em}
.row{position:relative;display:grid;grid-template-columns:48px 136px minmax(0,1.25fr) minmax(0,1.1fr) 64px minmax(0,1fr) 48px 132px;gap:24px;align-items:center;width:100%;padding:22px 0;margin:0;border:0;border-top:1px solid var(--rule);background:none;color:inherit;text-align:left;font:inherit}
button.row{cursor:pointer;transition:background-color .6s ease}
button.row:hover{background:rgba(21,20,19,.04)}
.row-head{padding:10px 0;font-size:10px}
.c-title{font-size:21px;letter-spacing:-.012em;line-height:1.15}
.thumbwrap{position:relative;display:block}
.thumb{position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;background:#0a0908}
.thumb img{width:100%;height:100%;object-fit:cover}
.trace-line{position:absolute;width:1px;background:#C3733C;opacity:.5;pointer-events:none}
.trace-stain::after{content:"";position:absolute;left:41%;top:24%;width:34px;height:27px;border:1px solid rgba(112,92,68,.17);background:rgba(112,92,68,.035);border-radius:52% 46% 50% 48%;transform:rotate(-14deg);pointer-events:none}
.trace-dust::after{content:"";position:absolute;left:47%;top:31%;width:2px;height:2px;border-radius:50%;background:rgba(21,20,19,.42);box-shadow:146px 23px 0 0 rgba(21,20,19,.32),318px -7px 0 0 rgba(21,20,19,.36),-92px 30px 0 0 rgba(21,20,19,.26),61px 44px 0 -.5px rgba(21,20,19,.3);pointer-events:none}
.trace-misreg .c-title{transform:translate(3px,-2px)}
.trace-exposure::after{content:"";position:absolute;right:5%;top:0;bottom:0;width:20%;background:rgba(255,253,247,.5);filter:blur(12px);pointer-events:none}

/* file */
.file{display:flex;flex-direction:column;gap:56px;padding:44px 0 96px}
.file[hidden]{display:none}
.file-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 24px}
.artefact{display:flex;flex-wrap:wrap;gap:32px 56px;align-items:flex-start}
.artefact .art{flex:999 1 600px;min-width:0}
.artefact .side{flex:1 1 300px;max-width:440px;display:flex;flex-direction:column;gap:32px}
.artefact h3{margin:0;font-weight:500;font-size:clamp(40px,4.4vw,64px);line-height:.9;letter-spacing:-.04em}
.sect{display:flex;flex-direction:column;gap:10px;padding-top:14px;border-top:1px solid var(--rule)}
.sect p{margin:0}
.ctx{display:flex;flex-direction:column;gap:4px}
.source{display:flex;flex-wrap:wrap;gap:24px 48px;padding:36px 0 40px;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.source .ref{flex:1 1 220px;display:flex;flex-direction:column;gap:18px}
.source .ref ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.source blockquote{flex:999 1 560px;margin:0;max-width:32em;font-size:clamp(19px,1.8vw,25px);line-height:1.42;letter-spacing:-.005em;white-space:pre-line}
.lyrics-row{display:flex;flex-wrap:wrap;gap:24px 48px;padding-top:14px;border-top:1px solid var(--rule)}
.lyrics-row>.mono{flex:1 1 220px}
.lyrics{flex:999 1 560px;min-width:0;margin:0;font-size:16px;line-height:1.5;white-space:pre-line;columns:3 220px;column-gap:48px;orphans:3;widows:3}

/* coming soon */
.pending{padding:18px 0 104px;border-top:1px solid var(--rule)}
.pending .item{display:flex;flex-wrap:wrap;gap:12px 48px;padding:22px 0 26px;border-top:1px solid var(--rule)}
.pending .item .mono{flex:1 1 220px;display:flex;flex-direction:column;gap:2px}
.pending blockquote{flex:999 1 560px;margin:0;max-width:38em;font-size:16px;line-height:1.55;white-space:pre-line;color:var(--dim)}

/* process / channels / footer */
.block{display:flex;flex-wrap:wrap;gap:20px 48px;padding:18px 0 88px;border-top:1px solid var(--rule)}
.block>.mono:first-child{flex:1 1 200px}
.block .body{flex:999 1 560px;display:flex;flex-direction:column;gap:28px;max-width:640px}
.block .body p{margin:0}
.lead{font-size:18px;line-height:1.5}
.credits{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.site-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;padding:22px 0 40px;border-top:1px solid var(--rule)}
.site-foot .links{display:flex;flex-wrap:wrap;gap:4px 24px;align-items:center}
.site-foot .textbtn{min-height:0;border-bottom:1px solid rgba(21,20,19,.28)}

/* legal pages */
.legal{padding:40px 0 120px}
.legal h1{margin:0 0 48px;font-weight:500;font-size:clamp(40px,6vw,72px);letter-spacing:-.04em;line-height:.95}
.legal section{display:flex;flex-wrap:wrap;gap:12px 48px;padding:18px 0 32px;border-top:1px solid var(--rule)}
.legal section>h2{flex:1 1 220px;margin:0;font:400 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--dim)}
.legal section>.body{flex:999 1 560px;max-width:42em;display:flex;flex-direction:column;gap:12px}
.legal p,.legal ul{margin:0}
.legal ul{padding-left:1.2em}
.legal address{font-style:normal}

/* consent banner */
.consent{position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--ground);border-top:1px solid var(--ink)}
.consent[hidden]{display:none}
.consent .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 40px;padding-top:18px;padding-bottom:18px}
.consent p{margin:0;font-size:14px;line-height:1.45;max-width:62ch;flex:1 1 420px}
.consent .acts{display:flex;flex-wrap:wrap;gap:12px}

@media (max-width:760px){
  .row{grid-template-columns:104px minmax(0,1fr);gap:4px 16px;align-items:start}
  .row .c-no,.row .c-year,.row .c-khm{display:none}
  .row .c-thumb{grid-row:span 4}
  .row-head{display:none}
  .meta{grid-template-columns:72px minmax(0,1fr)}
  .trace-dust::after{left:30%}
  .trace-exposure::after{width:12%;right:2%;opacity:.55}
  .credits{grid-template-columns:1fr}
  .credits dd{margin-bottom:8px}
}
@media (prefers-reduced-motion:reduce){
  .film *,.film{animation:none!important}
  .film .slitglow{opacity:.3}
  html{scroll-behavior:auto}
}
