.identity-home{position:relative;isolation:isolate;min-height:100svh;overflow:hidden;background:#171821;color:#fff}
.projection,.projection canvas,.fallback-picture,.cut-to-black{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.projection{z-index:-2;overflow:hidden;background:#27262b}
.fallback-picture{background: url(media/identity-human.webp) center 43%/cover}
.machine .fallback-picture{background-image:url(media/identity-machine.webp)}
.projection::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#10101660,transparent 48%),linear-gradient(0deg,#0c09146b,transparent 30%,transparent 82%,#17151b60)}
.signal-head,.signal-foot{position:absolute;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4.4vw,78px);background:none;color:#fff;z-index:2}
.signal-head{top:0;height:86px}.signal-head nav{gap:clamp(6px,2.4vw,42px);font:14px/1.3 monospace}
.wordmark{font:700 24px/1 Proxima,Arial,sans-serif;letter-spacing:-.065em;display:inline-flex;align-items:center;gap:8px;text-decoration:none}.mark-dot{width:6px;height:6px;border-radius:50%;background:#ffda79}
.signal-head nav a,.signal-foot button,.archive-shell header a{position:relative;text-decoration:none;transition:transform .23s,color .23s}
.signal-head nav a::after,.signal-foot button::after,.archive-shell nav a::after{content:"";position:absolute;left:8px;right:8px;bottom:4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}
.signal-head nav a:is(:hover,:focus-visible)::after,.signal-foot button:is(:hover,:focus-visible)::after,.archive-shell nav a:is(:hover,:focus-visible)::after{transform:scaleX(1)}
.identity-stage{position:relative;min-height:100svh;pointer-events:none}.identity-stage a{pointer-events:auto}
.author{position:absolute;left:5%;bottom:15%;color:#fff;text-shadow:0 1px 14px #17142144}
.author p,.signal-foot{font:12px/1.5 monospace;letter-spacing:.055em}.author p i{padding:0 5px;color:#ffe39a}
.author h1{margin:.14em 0 0;font:400 clamp(68px,8.2vw,156px)/.8 Georgia,serif;letter-spacing:-.084em}.author h1 em{font-weight:400}
.mind-entry{position:absolute;left:58.5%;top:63%;color:#fff;text-decoration:none;text-shadow:0 2px 12px #14101ac4;transform:translateY(-50%)}
.mind-entry span{display:block;font:italic clamp(21px,2.4vw,43px)/1.12 Georgia,serif}
.mind-entry strong{display:block;width:max-content;font:500 clamp(29px,3.5vw,66px)/1.13 Proxima,Arial,sans-serif;letter-spacing:-.056em;border-bottom:1px solid #ffffff85}
.mind-entry b{display:inline-block;font:400 .72em/1 monospace;color:#ffe29a;transition:transform .25s}.mind-entry:is(:hover,:focus-visible) b{transform:translate(4px,-4px)}
.signal-foot{bottom:0;height:64px;text-align:left}.signal-foot button{width:auto;color:inherit;border:0;padding:9px;background:transparent;font:inherit}
.identity-home a:focus-visible,.identity-home button:focus-visible,.archive-shell a:focus-visible{outline:2px solid #ffc854;outline-offset:4px}
.cut-to-black{background:#07060b;position:fixed;z-index:5;visibility:hidden}
.departing .author,.departing .mind-entry,.departing .signal-head,.departing .signal-foot{opacity:0;transition:opacity .25s}
@keyframes text-signal{30%{text-shadow:2px 0 #7774ed,-1px 0 #fd793c}65%{text-shadow:-2px 0 #ab8dfa,1px 0 #fcbe4c}}
@media(hover:hover){.signal-head a:hover,.mind-entry:hover,.archive-shell a:hover{animation:text-signal .28s linear}}
.archive-shell{margin:0;background:#121214;color:#ede7d9;border:clamp(8px,1.3vw,24px) solid #151515;border-radius:34px;box-shadow:inset 0 0 0 2px #43413d;min-height:100svh}
.archive-shell::after{content:"";position:fixed;inset:0;z-index:9;pointer-events:none;border:clamp(7px,1vw,17px) solid #111113;border-radius:25px;box-shadow:inset 0 0 8px #000b;background:repeating-linear-gradient(0deg,transparent 0 3px,#100e1a0c 3px 4px)}
.archive-shell header{position:relative;background:#17171a;border-radius:16px 16px 0 0;color:#eee6d9}.archive-shell .brand{color:inherit}.archive-shell header nav a{color:inherit}
.archive-shell .work{padding:clamp(35px,6vw,100px) 5.86%;background:linear-gradient(125deg,#1b1816ef,#161317df),url(media/project-bg.jpg) center/cover fixed}
.archive-shell .intro{align-items:end;gap:4vw}.archive-shell .intro h1{font:italic 400 clamp(60px,8vw,136px)/.9 Georgia,serif;letter-spacing:-.075em;max-width:none}.archive-shell .intro p{font-size:clamp(15px,1.2vw,19px);max-width:52ch}
.archive-shell .cards{margin-top:clamp(36px,5vw,85px);gap:55px 4vw}.archive-shell .card span{font:400 clamp(20px,2vw,32px)/1.15 Georgia,serif}.archive-shell .card img{filter:saturate(.85);transition:transform 1.3s ease,filter .4s}.archive-shell .card:hover img{filter:saturate(1.1)}.archive-shell footer{background:#17171a}
@media(max-width:720px){.signal-head{height:65px}.signal-head nav{gap:0;font-size:12px}.wordmark{font-size:21px}.author{left:6%;bottom:14%}.author h1{font-size:clamp(62px,15vw,100px)}.author p{font-size:10px}.mind-entry{left:39%;top:57%}.mind-entry strong{font-size:clamp(24px,6vw,36px)}.signal-foot{height:52px}.archive-shell{border-radius:18px}.archive-shell::after{border-radius:16px}}
@media(prefers-reduced-motion:reduce){.identity-home *,.archive-shell *{animation-duration:.001s!important;transition-duration:.001s!important}}
.archive-display {display:none}
.archive-shell .card i {display:none}
@media(min-width:850px) {
 .archive-shell .project-browser {margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center}
 .archive-display {display:block;overflow:hidden;position:relative;background:#080809;border-radius:10px;box-shadow:0 0 0 3px #09090a,0 0 0 4px #47433f}
 .archive-display img {display:block;aspect-ratio:16/10;width:100%;object-fit:cover;transition:transform 1.1s}
 .archive-display:hover img {transform:scale(1.045)}
 .archive-shell .cards {display:flex;flex-direction:column;gap:0;margin:0}
 .archive-shell .card {display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid #c4bfb843;padding:12px 0;color:#ccc6bd}
 .archive-shell .card .cover-frame {display:none}
 .archive-shell .card span {margin:0;font-size:clamp(19px,1.85vw,35px);transition:transform .24s,color .24s}
 .archive-shell .card i {display:block;opacity:.4;font:20px monospace}
 .archive-shell .card.selected span {color:#ffd38b;transform:translateX(7px)}
 .archive-shell .card.selected i {color:#ffd38b;opacity:1}
}
.archive-category h2 {margin:24px 0 8px;font:13px/1.4 monospace;letter-spacing:.07em;text-transform:uppercase;color:#625245}
.archive-category:first-child h2 {margin-top:0}
.archive-shell .work {background:linear-gradient(110deg,#ece7d9f5,#ddd6c7ed),url(media/project-bg.jpg) center/cover fixed;color:#27241e}
.archive-shell .work .card {color:#332e26;border-color:#61584a52}
.archive-shell .work .card.selected span,.archive-shell .work .card.selected i {color:#813a27}
.archive-shell .work .intro {border-bottom:1px solid #53493d72;padding-bottom:30px}
.archive-display {border-radius:50%;aspect-ratio:1;max-width:480px;width:100%;justify-self:center;background:#0a0909;box-shadow:0 12px 30px #221a1645}
.archive-display img{height:100%;aspect-ratio:1;border-radius:50%}
.archive-display::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle,#e3ddcf 0 4%,#272626 4.3%,#a8a4a5 4.7% 7%,#494448 7.4%,transparent 8%),repeating-radial-gradient(circle,transparent 0 4px,#ffffff14 5px,transparent 6px);box-shadow:inset 0 0 0 2px #e6e0d8}
.archive-display:hover img {transform:rotate(5deg) scale(1.05)}
.profile-screen .bio,.profile-screen .contact {padding-inline:clamp(20px,3vw,44px)}
.profile-screen h1 {font:italic clamp(48px,7vw,100px)/1 Georgia,serif;letter-spacing:-.065em}
.about-film {display:block;width:100%;margin:0 auto 48px;border-radius:8px;background:#080808;aspect-ratio:16/9}
@media(max-width:849px){.archive-shell .cards {display:block}.archive-category {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px;margin-bottom:40px}.archive-category h2 {grid-column:1/-1}.archive-category .card span {font-size:clamp(17px,3vw,25px)}}
@media(max-width:420px){.signal-head{padding-inline:15px}.signal-head nav a{padding-inline:6px}}
