/* Terminal type and a fragmented airframe scan. */
@font-face{font-family:ShareTechMono;src:url('assets/fonts/share-tech-mono-latin-400-normal.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--black:#050507;--white:#d1d3d8;--green:#0cff00;--purple:#9957ff;--line:#787c854a;--sigil:ShareTechMono,ArchiveMono,monospace;--mono:ShareTechMono,ArchiveMono,monospace;--display:ShareTechMono,ArchiveMono,monospace;--fg:#d1d3d8;--accent:#0cff00;--signal:#0cff00;--paper:#d1d3d8}
.background-system{background:#050507}
.background-system:before{inset:0;background:url('assets/images/drone-blueprint.webp') center center/cover no-repeat;transform:none;filter:none;opacity:.18;mix-blend-mode:screen}
.background-system:after{background:linear-gradient(90deg,#05050722 0%,#0505070a 35%,#05050766 68%,#05050744 100%),repeating-linear-gradient(0deg,#b0b5c206 0 1px,transparent 1px 4px)}
.topbar{min-height:112px;padding:16px 3vw;background:#050507d9;border-color:#787c8566}
.brand{font:400 clamp(3rem,5.6vw,5.6rem)/.95 var(--sigil);letter-spacing:-.055em;color:var(--white);text-shadow:1px 0 #9957ff80;transform:none;gap:25px}
.chain-logo{width:55px;transform:none;filter:none}
.chain-logo img{filter:brightness(2.8) contrast(1.08)}
.topbar nav a{font:400 12px/1 var(--mono);padding:9px 8px;letter-spacing:.04em;border-color:#787c8566}
.system-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 3vw;background:#05050788;border-bottom:1px solid #787c8533;font:400 12px/1.4 var(--mono);letter-spacing:.03em;color:#9a9da6}
.system-head .location,.system-head .signal{color:var(--green)}
.system-head .signal{display:flex;align-items:center;gap:9px;white-space:nowrap}
.system-head .signal i{display:block;width:5px;height:5px;background:var(--green);box-shadow:0 0 7px #0cff0066}
.opening{min-height:calc(100svh - 154px);padding-top:35px;padding-bottom:47px}
.index-panel{background:linear-gradient(90deg,#05050700,#05050744);padding:6px 0 10px}
.panel-head{border-bottom:1px solid #787c8566;padding-bottom:16px;margin-bottom:8px;color:#9a9da6;font:400 12px/1.3 var(--mono);letter-spacing:.04em}
.panel-head span:last-child{color:var(--purple)}
.index-row{padding:19px 0 20px;grid-template-columns:29px minmax(0,1fr) 20px;gap:12px;border:0;border-bottom:1px solid #787c8525;transition:color .15s,transform .15s,background .15s}
.index-row:nth-child(n){padding-left:0}
.index-row>span:nth-child(2){font:400 clamp(1.5rem,2.3vw,2.55rem)/1.12 var(--sigil);letter-spacing:-.045em;text-transform:none;color:#d1d3d8}
.index-row:nth-child(2n)>span:nth-child(2){color:#a5a8b2}
.index-row.is-previewed,.index-row:hover,.index-row:focus-visible{background:linear-gradient(90deg,#9957ff0a,transparent);transform:none;padding-left:0}
.index-row.is-previewed>span:nth-child(2),.index-row:hover>span:nth-child(2),.index-row:focus-visible>span:nth-child(2){color:var(--green);text-shadow:1px 0 #9957ff66}
.row-no{font:400 12px/1 var(--mono);color:#8f939e;padding-top:0;align-self:center}
.index-row.is-previewed .row-no,.index-row:hover .row-no,.index-row:focus-visible .row-no{color:var(--purple)}
.row-arrow{color:#8f939e;font:17px var(--mono);opacity:.65}
.index-row.is-previewed .row-arrow,.index-row:hover .row-arrow,.index-row:focus-visible .row-arrow{color:var(--green);opacity:1}
.tiny-link{color:#adb0b9;border-color:var(--purple);font:400 12px/1.5 var(--mono);letter-spacing:.03em}
.art-stage{transform:rotate(-.7deg)}
.art-stage-meta{font:400 12px/1.4 var(--mono);color:#a5a8b2}
.art-stage-meta span:last-child{color:var(--purple)}
.art-window{background:#050507;box-shadow:-5px 7px 0 #9957ff22,1px 0 0 #a5a8b266;clip-path:polygon(0 0,98% 0,100% 97%,96% 100%,0 100%)}
.art-primary{filter:contrast(1.04) saturate(.94)}
.art-detail{background:#9957ff;transform:rotate(3deg);box-shadow:0 0 0 1px #a5a8b288,7px 7px 0 #050507aa}
.art-detail img{filter:grayscale(1) contrast(1.55)}
/* Fill the shared violet detail plate with the screen texture, using the same tonal treatment as every work. */
.art-stage[data-work="giant-squid"] .art-detail img{object-position:45% 66%;transform-origin:45% 66%;transform:translateY(-10%) scale(5)}
.art-stage figcaption{font:400 12px/1.5 var(--mono);color:#a5a8b2;transform:rotate(.7deg)}
.below-section{background:#050507d9;border-color:#787c8555}
.below-section h2{font:400 clamp(2.5rem,5vw,5rem)/1.05 var(--sigil);letter-spacing:-.055em;text-transform:none;color:var(--white)}
.section-number{color:var(--purple);font-family:var(--mono)}
.process-links>span,.text-links>a,.talk-row{font:400 clamp(1.3rem,2.1vw,2.2rem)/1.15 var(--sigil);letter-spacing:-.045em}
.below-section .section-note{color:#a5a8b2!important}
.detail-header>a,.site-name{font:400 34px/1 var(--sigil);letter-spacing:-.06em;font-style:normal;color:var(--white);transform:none}
.detail-header>a:hover,.site-name:hover{color:var(--green)}
.detail-hero h1,.review-dialog h2,.archive-intro h1{font-family:var(--sigil);font-weight:400;line-height:1.05;letter-spacing:-.055em;text-transform:none}
.detail-hero h1{font-size:clamp(3.3rem,7.5vw,9rem);max-width:19ch}
.review-dialog{background:#050507}
.review-dialog h2{font-size:clamp(2.7rem,7vw,8rem);max-width:20ch}
.archive-item h2{font:400 30px/1.15 var(--sigil);letter-spacing:-.045em}
.detail-video h3,.next-work span,.review-video-title{font-family:var(--sigil);font-weight:400;letter-spacing:-.045em}
.detail-lead,.review-lead{font-family:ArchiveNarrow,Arial,sans-serif}
@media(max-width:1050px){.topbar{min-height:90px}.brand{font-size:60px;gap:18px}.chain-logo{width:48px}.topbar nav a{padding:9px 6px;font-size:12px}.index-row{padding-top:15px;padding-bottom:16px}.index-row>span:nth-child(2){font-size:clamp(1.35rem,2.55vw,2rem)}.system-head{font-size:11px}}
@media(max-width:660px){.topbar{min-height:0;padding:17px 4vw 12px;gap:16px}.brand{font-size:clamp(2.15rem,10.2vw,3.7rem);gap:18px;line-height:1}.chain-logo{width:43px}.topbar nav a{font-size:11px;padding:9px 6px}.system-head{padding:11px 4vw;flex-wrap:wrap;gap:8px 12px;font-size:11px}.system-head span:first-child{width:100%;font-size:10px}.system-head span:nth-child(2){display:block}.system-head .signal{font-size:11px;gap:6px}.system-head .signal i{width:4px;height:4px}.opening{min-height:0;padding-top:22px;gap:35px}.background-system:before{background-position:57% center;background-size:auto 100vh;opacity:.12}.background-system:after{background:linear-gradient(90deg,#05050722,#05050777),repeating-linear-gradient(0deg,#b0b5c206 0 1px,transparent 1px 4px)}.index-panel{padding:0}.index-row{padding:15px 0 16px;grid-template-columns:23px minmax(0,1fr) 15px;gap:8px}.index-row>span:nth-child(2){font-size:clamp(1.4rem,6.2vw,2rem);line-height:1.16;letter-spacing:-.055em}.below-section h2{font-size:clamp(2.4rem,10.5vw,3.5rem)}.process-links>span,.text-links>a,.talk-row{font-size:1.55rem}.detail-header>a{font-size:28px}.detail-hero h1{font-size:clamp(2.8rem,12vw,6rem)}.art-stage figcaption{font-size:12px}}

/* Reading pages: a full-viewport opening, followed by an editorial text column. */
.detail-hero{min-height:100svh}
.detail-body article{min-width:0}
.detail-lead{max-width:23ch;margin-bottom:3rem}
.detail-prose{max-width:66ch}
.detail-prose .detail-text{max-width:none;margin:0 0 1.6rem;color:#c5c6cd;line-height:1.8}
.detail-metadata,.review-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2rem;margin:3.5rem 0 5rem;border-top:1px solid #9957ff77;padding-top:1.3rem;max-width:66ch}
.detail-facts h2,.review-facts h3{font:400 12px/1.5 var(--mono);letter-spacing:.04em;color:var(--purple);margin:0 0 1rem}
.detail-facts ul,.review-facts ul{list-style:none;padding:0;margin:0;color:#a5a8b2;font:400 13px/1.7 var(--mono)}
.detail-facts li,.review-facts li{margin:0 0 .8rem;overflow-wrap:anywhere}
.detail-video h2{font:400 clamp(2rem,4.5vw,5rem)/1.08 var(--sigil);letter-spacing:-.045em;color:var(--green);margin:0 0 1.2rem;overflow-wrap:anywhere}
.detail-hero h1{overflow-wrap:normal;hyphens:none}
.detail-prompt:focus-visible{outline:1px solid var(--green);outline-offset:6px}
.detail-figure figcaption,.review-label{color:#a5a8b2}
.review-copy{margin:0 0 1.6rem;line-height:1.8;max-width:66ch}
.review-dialog{height:100dvh;overscroll-behavior:contain}
.review-metadata{max-width:66ch}
@media(max-width:660px){.detail-hero{min-height:100svh}.detail-hero h1{font-size:clamp(2.45rem,11.6vw,4.7rem);max-width:100%;line-height:1.08}.detail-body{scroll-margin-top:1rem}.detail-metadata,.review-metadata{grid-template-columns:1fr;gap:1.7rem;margin:2.5rem 0 3.5rem}.detail-lead{font-size:clamp(1.9rem,8vw,3.2rem);margin-bottom:2rem}.detail-prose .detail-text{font-size:17px;line-height:1.75}.detail-video h2{font-size:clamp(1.9rem,9vw,3rem)}}

/* Fit artwork within the available viewport, preserving the complete frame. */
.art-stage{min-width:0;transform:none}
.art-stage .art-primary{object-fit:contain;object-position:center;transform:none}
.art-stage .art-window{clip-path:none}
.art-stage figcaption{transform:none}
.index-panel{min-width:0}
.index-row>span:nth-child(2){white-space:normal;overflow:visible;text-overflow:clip}
@media(min-width:901px){
  :root{--entry-top:clamp(76px,11.5svh,108px)}
  .topbar{height:var(--entry-top);min-height:0;padding:10px 3vw}
  .brand{font-size:clamp(42px,min(5.4vw,8.4svh),76px)}
  .system-head{height:42px;padding:8px 3vw;flex-wrap:nowrap}
  .opening{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:3vw;height:calc(100svh - var(--entry-top) - 42px);min-height:0;padding:clamp(14px,2.4svh,26px) 3vw;align-items:stretch}
  .art-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0;max-height:100%;margin:0;width:100%;align-self:stretch}
  .art-stage-meta{margin:0 4%;font-size:11px}
  .art-stage .art-window{height:100%;min-height:0;aspect-ratio:auto;padding:8px}
  .art-stage .art-detail{width:24%;height:23%;right:-1%;bottom:14%;max-height:160px}
  .art-stage figcaption{margin:0 4%;font-size:11px;line-height:1.4;gap:5px}
  .index-panel{display:flex;flex-direction:column;min-height:0;margin:0;padding:0}
  .panel-head{flex-shrink:0;margin:0 0 6px;padding:0 0 11px;font-size:11px}
  .index-rows{display:grid;grid-template-rows:repeat(9,minmax(0,1fr));flex:1;min-height:0}
  .index-row{min-height:0;padding:clamp(5px,1svh,11px) 0;grid-template-columns:25px minmax(0,1fr) 18px;gap:10px}
  .index-row>span:nth-child(2){font-size:clamp(18px,min(2.05vw,3.6svh),36px);line-height:1.12;letter-spacing:-.045em}
  .tiny-link{flex-shrink:0;margin-top:14px;padding:0 0 4px;font-size:11px}
}
@media(min-width:901px) and (max-height:540px){
  .opening{height:auto;min-height:calc(100svh - var(--entry-top) - 42px)}
  .index-rows{grid-template-rows:repeat(9,minmax(38px,auto))}
  .art-stage{height:400px;align-self:center}
}
@media(max-width:900px){
  .opening{display:flex;flex-direction:column;height:auto;min-height:0;padding:22px 4vw 36px;gap:28px}
  .art-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;width:min(100%,640px);margin:0;align-self:center}
  .art-stage-meta{margin:0 2%}
  .art-stage .art-window{height:clamp(210px,36svh,360px);aspect-ratio:auto;padding:8px}
  .art-stage figcaption{margin:0 2%;max-width:100%}
  .art-stage .art-detail{width:23%;height:24%;right:0;bottom:22%}
  .index-panel{margin:0;padding:0;width:100%}
  .index-row{padding:14px 0;grid-template-columns:23px minmax(0,1fr) 15px;gap:8px}
  .index-row>span:nth-child(2){font-size:clamp(21px,4vw,30px);line-height:1.16}
}
/* The published project and standalone preview use the same image-first hierarchy. */
.detail-hero{height:100svh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:100px 3vw 22px;overflow:hidden}
.detail-cover{position:relative;inset:auto;grid-column:1 / -1;grid-row:2;z-index:auto;width:100%;height:100%;min-height:0;background:var(--black)}
.detail-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}
.detail-overlay{display:none}
.detail-caption{position:static;grid-column:1;grid-row:1;justify-self:start;margin:0;padding:5px 8px;font-size:11px}
.detail-prompt{position:static;grid-column:2;grid-row:1;justify-self:end;margin:0;font-size:11px}
.detail-hero h1{grid-column:1 / -1;grid-row:3;max-width:none;margin:0;font-size:clamp(30px,3.8vw,64px);line-height:1.06;overflow-wrap:anywhere}
.detail-figure img{width:100%;height:auto;max-height:calc(100svh - 7rem);object-fit:contain;object-position:center}
.archive-page .archive-thumb img{object-fit:contain;object-position:center;height:auto;max-height:68svh;background:var(--black)}
.archive-page .archive-list.visual-view .archive-item>a{grid-template-rows:auto auto auto}
.archive-page .archive-list.visual-view .archive-thumb{aspect-ratio:16/10;min-height:0}
.archive-page .archive-list.visual-view .archive-thumb img{height:100%;max-height:none;object-fit:contain}
.review-dialog.review-work{padding:0;overflow-x:hidden}
.review-work-hero{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100dvh;min-height:0;padding:22px 3vw;gap:16px}
.review-work-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 24px;max-width:calc(100% - 130px);font:11px/1.5 var(--mono)}
.review-work-meta .review-label,.review-work-meta .review-format{margin:0;font-size:11px}
.review-work-meta .review-label{color:var(--green)}
.review-work-cover{position:relative;min-height:0;height:100%;margin:0;background:var(--black)}
.review-work-cover img{position:absolute;inset:0;width:100%;height:100%;max-width:100%;object-fit:contain;object-position:center}
.review-work-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}
.review-work-hero h2{font-size:clamp(30px,3.8vw,64px);line-height:1.06;max-width:none;margin:0;overflow-wrap:anywhere}
.review-read{flex-shrink:0;border:0;background:transparent;padding:10px 0;color:var(--green);font:11px/1.5 var(--mono);cursor:pointer}
.review-read:focus-visible{outline:1px solid var(--green);outline-offset:5px}
.review-work-body{max-width:1280px;margin:0 auto;padding:clamp(40px,6vw,90px) 4vw;scroll-margin-top:20px}
.review-image{width:100%;height:auto;max-height:calc(100svh - 6rem);object-fit:contain;object-position:center;margin:3rem 0 1rem}
@media(max-width:700px){
  .detail-hero{padding:122px 4vw 18px;gap:12px}
  .detail-hero h1{font-size:clamp(25px,6.5vw,40px);line-height:1.1}
  .detail-caption,.detail-prompt{font-size:10px}
  .detail-caption{padding:4px 6px}
  .review-work-hero{padding:18px 4vw;gap:14px}
  .review-work-meta{max-width:calc(100% - 84px);gap:4px}
  .review-work-meta .review-format{font-size:10px;line-height:1.4}
  .review-work-heading{display:block}
  .review-work-hero h2{font-size:clamp(25px,6.5vw,40px);line-height:1.1}
  .review-read{padding:8px 0 0;font-size:10px}
  .review-work-body{padding:42px 4vw}
  .review-close{top:12px;right:12px;padding:6px 8px;font-size:12px}
}

/* A quiet brushed-silver reflection on the identity and light display type. */
:root{--chrome-silver:linear-gradient(177deg,#cdd0d7 0%,#bdc1ca 30%,#dddfe4 46%,#adb3be 53%,#c9cdd5 72%,#bec3cd 100%)}
.identity-name,.detail-header>a>.identity-name{font:inherit;letter-spacing:inherit;color:inherit}
.brand{text-shadow:none}
.text-links>a>span{min-width:0;flex:1}
.text-links>a>small{flex-shrink:0;max-width:14rem;text-align:right}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .identity-name,.below-section h2,.detail-hero h1,.review-dialog h2,.archive-intro h1,.archive-item h2,.index-row:not(.is-previewed):not(:hover):not(:focus-visible)>span:nth-child(2),.text-links>a:not(:hover):not(:focus-visible)>span{
    background-image:var(--chrome-silver);background-size:100% 100%;background-repeat:no-repeat;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;color:#c7cbd3;text-shadow:none;
  }
  .index-row:nth-child(2n):not(.is-previewed):not(:hover):not(:focus-visible)>span:nth-child(2){opacity:.87}
  .brand:hover .identity-name,.brand:focus-visible .identity-name,.detail-header>a:hover .identity-name,.detail-header>a:focus-visible .identity-name,.site-name:hover .identity-name,.site-name:focus-visible .identity-name,.archive-item>a:hover h2,.archive-item>a:focus-visible h2{
    background-image:none;-webkit-text-fill-color:currentColor;color:var(--green);
  }
}
@media(max-width:660px){.text-links>a>small{text-align:left;max-width:none}}

/* Keep the supporting sections compact, with height determined by their content. */
.concept-a .below-section{min-height:0;padding:clamp(48px,9svh,88px) 5vw;grid-template-columns:minmax(0,29fr) minmax(0,71fr);scroll-margin-top:calc(var(--entry-top,90px) + 16px)}
.concept-a .below-section>div{min-width:0}
.concept-a .below-section h2{font-size:clamp(38px,min(4.5vw,7svh),64px);line-height:1.05;margin-bottom:28px;max-width:none}
.concept-a .below-section>div:nth-child(2)>p{margin-bottom:24px}
.concept-a .process-links,.concept-a .text-links{margin-top:28px}
.concept-a .process-links>span,.concept-a .text-links>a{padding:16px 0;font-size:clamp(24px,min(2.1vw,3.8svh),32px);line-height:1.16}
.concept-a .social-links{margin-top:28px;gap:22px}
.concept-a .bottom-bar{padding-top:12px;padding-bottom:12px}
@media(max-width:1000px) and (min-width:661px){
  .concept-a .below-section{padding-right:4vw;padding-left:4vw;grid-template-columns:minmax(0,22fr) minmax(0,78fr)}
  .concept-a .text-links>a{flex-wrap:wrap;gap:8px 16px}
  .concept-a .text-links>a>small{max-width:none}
}
@media(max-width:660px){
  .concept-a .below-section{display:block;padding:36px 4vw;scroll-margin-top:20px}
  .concept-a .section-number{margin-bottom:18px;font-size:12px}
  .concept-a .below-section h2{font-size:clamp(32px,9vw,42px);margin-bottom:20px}
  .concept-a .below-section>div:nth-child(2)>p{font-size:17px;line-height:1.65;margin-bottom:20px}
  .concept-a .process-links,.concept-a .text-links{margin-top:22px}
  .concept-a .process-links>span,.concept-a .text-links>a{padding:13px 0;font-size:24px;line-height:1.18}
  .concept-a .process-links small,.concept-a .text-links small{margin-top:7px}
  .concept-a .social-links{margin-top:24px;gap:18px}
}

/* Video links stay visible in the offline review copy. */
.review-video-card{display:flex;flex-direction:column;gap:18px;width:100%;padding:18px;border:1px solid var(--purple);background:#0c0b11}
.review-video-card img{display:block;width:100%;height:auto;max-height:60svh;object-fit:contain}
.detail-video iframe,.review-video{min-height:200px}
.detail-video .detail-media{margin:0 0 18px}
.work-video-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 32px;font:13px/1.6 var(--mono);color:var(--green)}
.work-video-links a{border-bottom:1px solid var(--purple);padding:4px 0;overflow-wrap:anywhere}
.work-video-links .review-media{margin:0}

/* Documentation boards: aligned compositions with full-frame images. */
.detail-cover img,.review-work-cover img{margin:auto}
.work-gallery-section,.work-video-group,.work-chapter{margin:clamp(40px,6vw,72px) 0 0}
.gallery-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px;border-top:1px solid #9957ff66;padding-top:16px;margin-bottom:18px}
.gallery-heading h2{margin:0;font:400 19px/1.3 var(--mono);letter-spacing:-.025em;color:var(--white)}
.gallery-heading>span{font:10px/1.5 var(--mono);color:#9b9eaa;text-align:right}
.work-gallery{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:stretch}
.gallery-plate{min-width:0;margin:0!important;display:flex;flex-direction:column;background:#090a0e;border:1px solid #787c8540}
.gallery-plate>a{position:relative;display:flex;align-items:center;justify-content:center;min-height:0;flex:1;padding:12px;overflow:hidden;background:#050507;cursor:zoom-in}
.gallery-plate img{display:block;width:100%;height:100%;max-height:56svh;object-fit:contain;object-position:center;filter:none}
.gallery-plate figcaption{display:flex;gap:12px;padding:12px 14px;margin:0!important;font:11px/1.5 var(--mono);color:#a5a8b2;border-top:1px solid #787c852b;min-height:58px}
.gallery-plate figcaption>span{flex-shrink:0;color:var(--purple)}
.gallery-expand{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #9957ff77;background:#050507d9;color:var(--green);font:16px var(--mono);opacity:.7}
.gallery-plate>a:hover .gallery-expand,.gallery-plate>a:focus-visible .gallery-expand{opacity:1;border-color:var(--green)}
.layout-pair{grid-template-rows:clamp(300px,48vw,600px)}
.layout-pair-wide{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);grid-template-rows:clamp(280px,38vw,460px)}
.layout-trio{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1fr);grid-template-rows:clamp(300px,40vw,520px)}
.layout-triptych-wide{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:clamp(260px,32vw,420px) auto}
.layout-triptych-wide .gallery-plate:last-child{grid-column:1/-1}
.layout-triptych-wide .gallery-plate:last-child img{height:auto;max-height:72svh}
.work-gallery .gallery-plate:only-child{grid-column:1/-1}
.work-video-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.work-video-grid.single-video{grid-template-columns:minmax(0,1fr)}
.work-video-panel{min-width:0;border:1px solid #787c8540;background:#090a0e;padding:14px}
.work-video-panel header{min-height:62px;margin-bottom:12px}
.work-video-panel h3{margin:0 0 6px;font:400 clamp(18px,2vw,24px)/1.2 var(--mono);letter-spacing:-.04em;color:var(--white)}
.work-video-panel header>span{font:10px/1.4 var(--mono);color:var(--purple);text-transform:uppercase}
.work-video-panel iframe{display:block;width:100%;aspect-ratio:16/9;min-height:200px;border:0;background:#000}
.video-external{display:inline-block;margin-top:15px;padding:5px 0;border-bottom:1px solid var(--purple);font:11px/1.5 var(--mono);color:var(--green)}
.offline-video{position:relative;display:flex;align-items:center;justify-content:center;min-height:200px;aspect-ratio:16/9;border:1px solid #9957ff55;background:#050507;overflow:hidden}
.offline-video img{width:100%;height:100%;object-fit:contain}
.offline-video>span:last-child{position:absolute;bottom:12px;left:12px;padding:7px 9px;color:var(--green);background:#050507ed;font:11px var(--mono)}
.video-play{font:46px var(--mono);color:var(--purple)}
.work-chapter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:26px;border-top:1px solid #9957ff66;padding-top:24px}
.chapter-heading h2{margin:0 0 12px!important;font:400 clamp(27px,3vw,42px)/1.05 var(--mono)!important;letter-spacing:-.05em;color:var(--white)}
.chapter-heading p{font:11px/1.7 var(--mono);color:var(--purple)}
.chapter-copy>p{margin:0 0 1.3rem;font:17px/1.75 var(--body,Arial,sans-serif);color:#c5c6cd;max-width:66ch}
.chapter-credits{list-style:none;padding:0;margin:24px 0;font:12px/1.8 var(--mono);color:#a5a8b2}
.work-poem{border-top:1px solid #787c8540;padding-top:12px}
.work-poem summary{cursor:pointer;padding:8px 0;color:var(--green);font:13px/1.5 var(--mono)}
.work-poem blockquote{margin:24px 0;padding-left:20px;border-left:1px solid var(--purple)}
.work-poem blockquote p,.work-poem-afterword{white-space:pre-line;font:16px/1.7 var(--mono);color:#c5c6cd}
.work-poem cite{font:12px var(--mono);color:#a5a8b2}
.work-poem-afterword{margin:28px 0 0}
.media-viewer{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:20px 3vw;background:#050507;color:#d1d3d8;border:0;overflow:hidden}
.media-viewer::backdrop{background:#050507f7}
.viewer-toolbar{height:48px;display:flex;justify-content:space-between;align-items:center;gap:16px;font:12px var(--mono);color:var(--purple)}
.viewer-toolbar>div{display:flex;gap:8px}
.viewer-toolbar button{min-width:44px;min-height:42px;padding:8px 12px;border:1px solid #787c8560;background:#0c0b11;color:var(--green);font:12px var(--mono);cursor:pointer}
.viewer-toolbar button[hidden]{display:none}
.media-viewer figure{height:calc(100% - 48px);display:grid;grid-template-rows:minmax(0,1fr) auto;gap:18px;margin:0;padding-top:14px}
.media-viewer img{display:block;width:100%;height:100%;object-fit:contain;min-height:0}
.media-viewer figcaption{font:12px/1.5 var(--mono);color:#a5a8b2;padding:0 0 8px}
@media(max-width:700px){
 .work-gallery{display:grid;grid-template-columns:none;grid-template-rows:360px;grid-auto-flow:column;grid-auto-columns:86%;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-color:var(--purple) #121118}
 .work-gallery .gallery-plate,.work-gallery .gallery-plate:last-child{grid-column:auto;scroll-snap-align:start}
 .work-gallery .gallery-plate:only-child{grid-column:auto}
 .gallery-plate img,.layout-triptych-wide .gallery-plate:last-child img{height:100%;max-height:290px}
 .gallery-plate figcaption{font-size:10px;min-height:58px;padding:10px}
 .gallery-heading{gap:12px}.gallery-heading>span{max-width:140px;font-size:9px}
 .work-video-grid{grid-template-columns:minmax(0,1fr)}
 .work-video-panel header{min-height:0}
 .work-chapter{grid-template-columns:minmax(0,1fr);gap:14px}
 .chapter-copy>p{font-size:16px;line-height:1.7}
 .media-viewer{padding:12px 4vw}
}

/* Horizontal photo sequences keep their original proportions at every width. */
.gallery-heading{flex-wrap:wrap;align-items:center}
.gallery-heading>span{margin-left:auto}
.gallery-controls{display:flex;gap:6px}
.gallery-controls button{min-width:40px;min-height:38px;border:1px solid #787c8560;background:#0c0b11;color:var(--green);font:17px var(--mono);cursor:pointer}
.gallery-controls button:hover{border-color:var(--green)}
.work-gallery.layout-scroll{--gallery-h:clamp(280px,45svh,460px);display:flex;gap:16px;height:calc(var(--gallery-h) + 84px);width:100%;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scroll-padding-inline:1px;scrollbar-color:var(--purple) #121118;scrollbar-width:thin;padding:0 1px 14px;grid-template:none}
.work-gallery.layout-scroll .gallery-plate{flex:0 0 min(88%,calc(var(--gallery-h) * var(--image-ratio) + 24px));height:100%;scroll-snap-align:start;grid-column:auto}
.work-gallery.layout-scroll .gallery-plate>a{position:relative;display:block;height:var(--gallery-h);padding:0;min-height:0}
.work-gallery.layout-scroll .gallery-plate img{position:absolute;inset:0;margin:auto;width:100%;height:100%;max-width:100%;max-height:100%;padding:12px;object-fit:contain;object-position:center;aspect-ratio:auto;transform:none}
.work-gallery.layout-scroll .gallery-plate figcaption{flex:0 0 64px;min-height:0;align-items:flex-start;overflow:auto;line-height:1.5}
.work-gallery:focus-visible{outline:1px solid var(--purple);outline-offset:4px}
.work-local-video{display:block;width:100%;height:auto;max-height:62svh;aspect-ratio:16/9;object-fit:contain;background:#000}
.concept-a #info>div:nth-child(2)>p,.review-dialog.review-info .review-copy{font-family:var(--mono);font-weight:400;font-size:clamp(16px,1.35vw,19px);line-height:1.65;max-width:72ch;letter-spacing:0}
@media(max-width:700px){
 .work-gallery.layout-scroll{--gallery-h:clamp(240px,40svh,360px);gap:12px}
 .work-gallery.layout-scroll .gallery-plate{flex-basis:min(88%,calc(var(--gallery-h) * var(--image-ratio) + 24px))}
 .gallery-controls button{min-width:42px;min-height:42px}
 .gallery-heading>span{max-width:none;font-size:9px}
 .gallery-heading h2{font-size:17px}
 .concept-a #info>div:nth-child(2)>p,.review-dialog.review-info .review-copy{font-size:16px;line-height:1.65}
}
