@font-face{font-family:ArchiveNarrow;src:url('assets/fonts/ArchiveNarrow.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:ArchiveNarrow;src:url('assets/fonts/ArchiveNarrowBold.otf') format('opentype');font-weight:700;font-display:swap}
@font-face{font-family:ArchiveMono;src:url('assets/fonts/ArchiveMono.otf') format('opentype');font-display:swap}
:root{--black:#060606;--white:#d8d8d5;--green:#c1ff00;--purple:#9957ff;--line:#77777766;--display:ArchiveNarrow,'Arial Narrow',sans-serif;--mono:ArchiveMono,'Courier New',monospace;--body:Arial,sans-serif;--bg:#060606;--fg:#dededb;--accent:#c1ff00;--ink:#060606;--paper:#dededb;--signal:#c1ff00}
html{background:var(--black)}body{background:transparent;color:var(--white)}
body:before{content:'';position:fixed;z-index:-1;inset:0;background:radial-gradient(circle,#8b8b8b33 .65px,transparent .9px) 0 0/13px 13px;pointer-events:none}
.background-system{background:#060606;background-image:radial-gradient(circle,#95959530 .65px,transparent .9px);background-size:13px 13px}
.background-system:after{background:linear-gradient(90deg,transparent 0%,#06060666 55%,#060606bb)}
.topbar{min-height:98px;padding:12px 2.5vw;background:#060606f5;border-bottom:1px solid #999;backdrop-filter:none}
.brand{font:700 clamp(2.5rem,5.8vw,6rem)/.88 var(--display);letter-spacing:-.055em;transform:skew(-9deg);color:var(--green)}
.brand-mark{font:400 .7em/1 var(--display);color:var(--purple);padding-left:20px;vertical-align:baseline;display:inline-block}
.topbar nav{gap:5px;align-items:center}.topbar nav a{padding:8px 10px;border:1px solid #666;font:14px/1 var(--mono);letter-spacing:-.03em}.topbar nav .current,.topbar nav a:hover{color:#060606;background:var(--green);border-color:var(--green)}
.system-head{padding:10px 2.5vw;font:12px/1.2 var(--mono);letter-spacing:0;color:#b3b3b3}.system-head .signal{color:var(--purple)}
.opening{grid-template-columns:40% 60%;align-items:center;padding:38px 2.5vw 46px;min-height:calc(100svh - 134px);gap:0}
.specimen{position:relative;max-width:600px;padding:0 15px 0 0;border-right:1px solid #676767}
.specimen-top,.specimen-foot{display:flex;justify-content:space-between;align-items:center;font:12px/1.2 var(--mono);padding:8px 0;color:#aaa}.specimen-top{border-top:1px solid #888}.specimen-top span:last-child{color:var(--green)}
.specimen-main{height:clamp(230px,28vw,420px);position:relative;background:#9855ff;overflow:hidden;border:1px solid #8a8a8a}
.specimen-main>img{width:100%;height:140%;object-fit:cover;object-position:35% 0;filter:grayscale(1) contrast(1.8);mix-blend-mode:multiply}
.specimen-grid{position:absolute;inset:0;background:repeating-linear-gradient(0deg,#0003 0 1px,transparent 1px 3px);pointer-events:none}
.specimen-grid:after{content:'';position:absolute;inset:17% 8% 14% 8%;border:1px solid #c1ff0090;clip-path:polygon(0 0,23% 0,23% 1%,1% 1%,1% 23%,0 23%,0 0,100% 0,100% 100%,77% 100%,77% 99%,99% 99%,99% 77%,100% 77%,100% 0)}
.target{position:absolute;width:56px;height:56px;border:1px solid var(--green);border-radius:50%;top:41%;left:29%}.target:before,.target:after{content:'';position:absolute;background:var(--green);opacity:.8}.target:before{height:1px;left:-14px;right:-14px;top:50%}.target:after{width:1px;top:-14px;bottom:-14px;left:50%}.target-two{width:24px;height:24px;top:45%;left:74%}.vertical-note{position:absolute;left:6px;top:12px;writing-mode:vertical-rl;font:12px var(--mono);color:var(--green)}
.specimen-strip{display:flex;justify-content:space-around;align-items:center;height:63px;color:#afafaf;border-bottom:1px solid #888}.specimen-strip span{font:44px/1 Georgia,serif}.specimen-strip span:nth-child(2n){color:var(--green)}
.specimen-bottom{display:grid;grid-template-columns:70% 30%;height:120px;margin-top:12px;border:1px solid #777}.fragment{overflow:hidden;background:var(--green)}.fragment img{width:100%;height:100%;object-fit:cover;object-position:center 45%;filter:grayscale(1) contrast(2.2);mix-blend-mode:multiply}.fragment-mark{display:grid;grid-template-columns:1fr 1fr;background:var(--purple);color:#070707;padding:6px}.fragment-mark>span{font:54px/.9 var(--display);text-align:center}.fragment-mark small{grid-column:1/-1;font:12px/1.1 var(--mono);align-self:end}.specimen-foot>span:last-child{font:36px/1 var(--display);color:var(--purple)}
.index-panel{margin:0 0 0 3vw;min-width:0}.panel-head{padding:0 0 18px;margin:0;font:12px var(--mono);letter-spacing:0}.panel-head h1{font:inherit;margin:0;color:var(--green)}.panel-head span:last-child{color:var(--purple)}
.index-row{grid-template-columns:36px minmax(0,1fr) 24px;padding:12px 0 11px;border-color:#73737377;align-items:center;gap:10px;position:relative}
.index-row>span:nth-child(2){font:400 clamp(1.7rem,3.1vw,3.7rem)/1 var(--display);letter-spacing:-.015em;white-space:normal;overflow:visible;text-overflow:clip}
.row-no{font:14px/1 var(--mono);color:var(--green);align-self:start;padding-top:7px}.row-arrow{opacity:1;color:var(--purple);font-size:22px}.index-row:hover,.index-row:focus-visible{background:var(--green);color:#000;padding-left:9px}.index-row:hover .row-no,.index-row:hover .row-arrow,.index-row:focus-visible .row-no,.index-row:focus-visible .row-arrow{color:#000}
.tiny-link{font:12px var(--mono);letter-spacing:0;border-bottom:1px solid var(--green);padding:0 0 4px;margin-top:22px}
.hover-preview{left:2.5vw;top:235px;width:36vw;height:25vw;transform:none;filter:none;z-index:5}.hover-preview.show{transform:none}.hover-preview img{border:1px solid var(--green);object-fit:cover;filter:none}
.below-section{background:#060606d9;padding:7rem 5vw;min-height:0;grid-template-columns:29% 71%;border-top:1px solid #777}.section-number{font:14px var(--mono);letter-spacing:0;color:var(--purple)}.section-number:before{content:'✳';display:block;color:var(--green);font:70px/1 Georgia;margin:0 0 20px}.below-section h2{font:700 clamp(3rem,6vw,6rem)/.9 var(--display);text-transform:uppercase;letter-spacing:-.03em;max-width:none}.below-section>div:nth-child(2)>p{font:18px/1.65 var(--body);max-width:42rem;color:#c9c9c9}
.process-links>span,.text-links>a,.talk-row{font:400 clamp(1.5rem,2.6vw,2.7rem)/1.1 var(--display)}.process-links small,.text-links small,.talk-row small,.below-section .section-note{font:12px/1.5 var(--mono)!important;white-space:normal}.social-links{font:14px var(--mono)}.bottom-bar{font:12px var(--mono);background:#060606}.talk-row{color:#bbb}
/* Full-page work documentation keeps its original image colour. */
.detail-header{background:#060606f5;backdrop-filter:none;border-color:#888}.detail-header>a{font:700 30px/.95 var(--display);color:var(--green);transform:skew(-8deg)}.detail-header nav{font:14px var(--mono)}.detail-hero h1{font:700 clamp(3.7rem,11vw,12rem)/.85 var(--display);letter-spacing:-.035em;max-width:15ch;text-transform:uppercase}.detail-caption,.detail-prompt{font:12px var(--mono)}.detail-caption{border:1px solid var(--green);padding:8px;background:#060606bb}.detail-cover img{filter:none}.detail-overlay{background:linear-gradient(0deg,#060606eb,transparent 85%)}.detail-body{grid-template-columns:23% minmax(0,1fr);gap:4vw;padding:6rem 3vw}.detail-body aside{font:14px/1.65 var(--mono)}.detail-body aside p:first-child{color:var(--purple)}.detail-lead{font:400 clamp(2rem,4vw,4.5rem)/1.05 var(--display);letter-spacing:-.02em}.detail-text{font:18px/1.75 var(--body)}.detail-figure{border-top:1px solid var(--purple);padding-top:12px}.detail-figure figcaption{font:12px/1.5 var(--mono)}.detail-video h3{font:700 clamp(2.4rem,5vw,5rem)/.95 var(--display);letter-spacing:-.02em}.next-work{border-color:var(--purple)}.next-work small,.detail-footer{font:12px var(--mono)}.next-work span{font:400 clamp(2.3rem,5vw,5rem)/1 var(--display)}
.site-header{background:#060606f5!important}.site-name{font-family:var(--display);color:var(--green);font-weight:700;transform:skew(-8deg)}.primary-nav{font-family:var(--mono);font-size:14px}.archive-intro h1{font-family:var(--display);font-weight:700;text-transform:uppercase}.archive-item h2{font-family:var(--display);font-weight:400;letter-spacing:-.01em}.archive-number{color:var(--green)}.archive-item:hover{background:#9957ff18}.archive-tools button{font:14px var(--mono)}.archive-page{background:#060606}
.review-dialog{background:#060606;padding:3vw}.review-dialog h2{font:700 clamp(3.4rem,10vw,10rem)/.9 var(--display);letter-spacing:-.03em;text-transform:uppercase;max-width:18ch}.review-format{color:var(--purple)}.review-lead{font:400 clamp(2rem,4vw,4rem)/1.1 var(--display)}.review-copy{font:18px/1.75 var(--body)}.review-label,.review-format,.review-close,.review-media,.review-index-row{font:14px/1.5 var(--mono)}.review-image{margin:3rem 0}.review-video-title{font-family:var(--display)}.review-close{background:#060606;color:var(--green)}
@media(min-width:1600px){.opening{max-width:1900px;margin:auto}.specimen-main{height:420px}}
@media(max-width:1000px){.topbar{min-height:85px}.brand{font-size:56px}.topbar nav a{font-size:12px;padding:8px}.opening{grid-template-columns:38% 62%;padding-top:28px}.specimen-main{height:290px}.specimen-bottom{height:100px}.specimen-top{font-size:12px}.specimen-top span:last-child{display:none}.specimen-strip{height:52px}.specimen-strip span{font-size:35px}.fragment-mark{grid-template-columns:1fr}.fragment-mark>span{font-size:40px}.fragment-mark>span:nth-child(2),.fragment-mark small{display:none}.specimen-foot>span:first-child{font-size:12px}.specimen-foot>span:last-child{display:none}.index-row{padding:12px 0;grid-template-columns:28px minmax(0,1fr) 18px;gap:7px}.index-row>span:nth-child(2){font-size:clamp(1.6rem,3.6vw,2.4rem)}.hover-preview{display:none}.panel-head{font-size:12px;flex-wrap:wrap}.below-section{grid-template-columns:24% 76%}}
@media(max-width:660px){.topbar{padding:14px 4vw 12px;gap:13px;position:relative}.brand{font-size:64px}.brand-mark{padding-left:12px}.topbar nav{width:100%;gap:5px}.topbar nav a{font-size:12px;padding:8px 7px}.system-head{padding:10px 4vw;font-size:12px;flex-wrap:wrap;gap:5px}.system-head .signal{font-size:12px}.opening{display:flex;flex-direction:column;padding:20px 4vw 42px;gap:25px;min-height:0}.specimen{width:100%;max-width:none;padding:0;border:0}.specimen-top{padding-top:0;border:0}.specimen-main{height:210px}.specimen-main>img{height:180%;object-position:50% 12%}.specimen-bottom,.specimen-foot{display:none}.specimen-strip{height:42px}.specimen-strip span{font-size:30px}.vertical-note{font-size:12px}.target{top:48%}.target-two{top:51%}.index-panel{width:100%;margin:0}.panel-head{padding-bottom:12px}.index-row{grid-template-columns:28px minmax(0,1fr) 20px;padding:12px 0;gap:6px}.index-row>span:nth-child(2){font-size:clamp(1.65rem,6.9vw,2.5rem);line-height:1.05}.row-no{padding-top:4px}.below-section{display:block;padding:4rem 4vw}.section-number{display:flex;align-items:center;gap:14px;margin-bottom:25px}.section-number:before{font-size:36px;margin:0}.below-section h2{font-size:3.5rem}.process-links>span,.text-links>a,.talk-row{display:block;font-size:1.9rem}.below-section .section-note{font-size:12px!important}.detail-header{position:absolute}.detail-header>a{font-size:28px}.detail-header nav{font-size:12px;flex-wrap:wrap;gap:12px}.detail-caption{top:8rem}.detail-body{display:block;padding:4rem 4vw}.detail-body aside{position:static;margin-bottom:3rem}.detail-hero h1{font-size:clamp(3.4rem,15vw,6rem)}.detail-hero{min-height:90svh}.review-dialog{padding:5vw}.review-close{top:10px;right:10px}.review-dialog h2{margin-top:5rem}.bottom-bar{font-size:12px}.archive-intro h1{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.below-section h2,.process-links>span,.text-links>a,.talk-row{overflow-wrap:anywhere}
/* Chainsnake is the single identity motif. Original artwork is displayed unchanged. */
.brand{display:flex;align-items:center;gap:22px;transform:none;font-style:italic}
.chain-logo,.chain-emblem{display:block;position:relative;overflow:hidden;aspect-ratio:813/832;background:#000;flex-shrink:0}
.chain-logo img,.chain-emblem img{position:absolute;width:106.52%;max-width:none;height:auto;left:-3.94%;top:-15.38%}
.chain-logo{width:58px;mix-blend-mode:screen}
.chain-identity{padding:20px 2vw 20px 0;align-self:center;min-width:0}
.chain-emblem{width:100%;mix-blend-mode:screen}
.chain-caption{display:flex;justify-content:space-between;gap:12px;padding:25px 0 0;font:12px/1.4 var(--mono);color:#a9a9a9}
.chain-caption span:first-child{color:var(--purple)}
.section-number:before{content:none}.section-number{display:block}
.detail-header>a,.site-name{display:flex;align-items:center;gap:12px;transform:none;font-style:italic}
.detail-header .chain-logo,.site-name .chain-logo{width:34px}
@media(max-width:660px){.brand{gap:18px;font-size:60px}.chain-logo{width:48px}.chain-identity{padding:0;max-width:250px;width:72%;align-self:center}.chain-caption{display:none}.opening{gap:30px}.detail-header .chain-logo{width:32px}.section-number{margin-bottom:25px}}
