*{box-sizing:border-box;margin:0}:root{--ink:#04060d;--fg:#fff;--fg-2:#ffffff9e;--fg-3:#ffffff61;--rule:#ffffff2e;--accent:#ff6fb5;--sans:"Schibsted Grotesk",system-ui,sans-serif;--mono:"JetBrains Mono",ui-monospace,monospace;--pad:4vw}html{background:var(--ink);color:var(--fg);font-family:var(--sans);-webkit-font-smoothing:antialiased}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{overflow-x:hidden}a{color:inherit;text-decoration:none}#stage{touch-action:pan-y;z-index:0;width:100vw;height:100dvh;display:block;position:fixed;inset:0}body:before{content:"";background:linear-gradient(var(--ink) 30%,transparent);z-index:4;pointer-events:none;opacity:.9;height:96px;position:fixed;top:0;left:0;right:0}.name{left:var(--pad);font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;z-index:5;pointer-events:none;font-size:12px;position:fixed;top:28px}.name b{font-weight:500}.name span{color:var(--fg-3);margin-left:14px}.rail{right:var(--pad);z-index:5;flex-direction:column;align-items:flex-end;gap:22px;display:flex;position:fixed;top:50%;transform:translateY(-50%)}.rail a{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);align-items:center;gap:12px;font-size:11px;transition:color .2s;display:flex}.rail a i{background:var(--fg-3);border-radius:50%;width:6px;height:6px;transition:background .2s,transform .2s;display:block}.rail a span{opacity:0;transition:opacity .2s,transform .2s;transform:translate(6px)}.rail a:hover span,.rail a.is-current span{opacity:1;transform:none}.rail a.is-current{color:var(--fg)}.rail a.is-current i{background:var(--accent);transform:scale(1.5)}main{z-index:2;pointer-events:none;position:relative}main a,main button,main .touch{pointer-events:auto}section{min-height:100vh;padding:0 var(--pad)}#hero{grid-template-rows:1fr auto;height:100dvh;min-height:100dvh;padding-bottom:40px;display:grid}.hero-foot{grid-template-columns:1fr auto;align-items:end;gap:40px;display:grid}.peek{max-width:min(46ch,46vw);overflow:hidden}.peek .k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:12px;font-size:11px}.peek .k em{color:var(--accent);font-style:normal}.peek p{letter-spacing:-.02em;color:var(--fg-2);font-size:clamp(18px,1.6vw,26px);font-weight:500;line-height:1.25}.peek:hover p{color:var(--fg)}.hero-foot{will-change:opacity,transform}.down{grid-template-rows:repeat(6,5px);grid-template-columns:repeat(3,5px);justify-items:center;gap:5px;padding:10px 8px;display:grid}.down i{background:var(--fg);opacity:.25;border-radius:50%;width:5px;height:5px;animation:1.6s ease-in-out infinite fall;display:block}.down .s1{grid-area:1/2}.down .s2{grid-area:2/2}.down .s3{grid-area:3/2}.down .s4{grid-area:4/2}.down .hl{grid-area:5/1}.down .hr{grid-area:5/3}.down .tip{grid-area:6/2}.down .s2{animation-delay:.1s}.down .s3{animation-delay:.2s}.down .s4{animation-delay:.3s}.down .hl,.down .hr{animation-delay:.4s}.down .tip{animation-delay:.5s}@keyframes fall{0%,70%,to{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(2px)}}.down:hover i{background:var(--accent)}@media (prefers-reduced-motion:reduce){.down i{opacity:.6;animation:none}}#about{grid-template-columns:minmax(0,52ch) 1fr;align-content:center;gap:6vw;padding-top:12vh;padding-bottom:12vh;display:grid}.chapter-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);margin-bottom:28px;font-size:11px}.chapter-k em{color:var(--accent);font-style:normal}.prose p{letter-spacing:-.025em;text-wrap:pretty;font-size:clamp(21px,1.95vw,32px);font-weight:500;line-height:1.15}.prose p+p{margin-top:.9em}.prose .q{color:var(--fg-2)}.reveal{opacity:0;transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.reveal.is-in{opacity:1;transform:none}.reveal:nth-child(2){transition-delay:80ms}.reveal:nth-child(3){transition-delay:.16s}.reveal:nth-child(4){transition-delay:.24s}.shell{align-content:center;display:grid}.shell h2{letter-spacing:-.035em;color:var(--fg-3);font-size:clamp(40px,7vw,140px);font-weight:600;line-height:.95}.shell .chapter-k{margin-bottom:16px}@media (width<=900px){#about{grid-template-columns:1fr}.peek{max-width:70vw}.rail a span{display:none}}#resume{align-content:start;padding-top:12vh;padding-bottom:12vh;display:grid}.ledger-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;max-width:min(1100px,66vw);margin-bottom:34px;display:flex}.ledger-head h2{letter-spacing:-.035em;font-size:clamp(34px,4.2vw,64px);font-weight:600;line-height:.98}.plain{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);font-size:11px}.plain a{color:var(--fg-2);border-bottom:1px solid var(--rule);padding-bottom:2px;transition:color .2s,border-color .2s}.plain a:hover{color:var(--accent);border-color:var(--accent)}.ledger{border-top:1px solid var(--rule);max-width:min(1100px,66vw);margin:0;padding:0;list-style:none}.ledger-row{border-bottom:1px solid var(--rule);opacity:.42;grid-template-columns:140px minmax(0,1fr);gap:32px;padding:30px 0;transition:opacity .45s cubic-bezier(.2,.7,.2,1);display:grid}.ledger-row.is-lit{opacity:1}.ledger-y{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);padding-top:10px;font-size:12px}.ledger-row.is-lit .ledger-y{color:var(--accent)}.ledger-t{letter-spacing:-.03em;font-size:clamp(24px,2.3vw,36px);font-weight:600;line-height:1.1}.ledger-t a:hover{color:var(--accent)}.ledger-r{color:var(--fg-2);letter-spacing:-.015em;margin-top:6px;font-size:clamp(17px,1.3vw,21px);font-weight:500;display:block}.ledger-l{color:var(--fg-2);text-wrap:pretty;max-width:62ch;margin-top:14px;font-size:16px;line-height:1.5}@media (width<=900px){.ledger,.ledger-head{max-width:100%}.ledger-row{grid-template-columns:1fr;gap:10px}.ledger-y{padding-top:0}}#work{align-content:start;padding-top:12vh;padding-bottom:12vh;display:grid}.work-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;max-width:min(1100px,66vw);margin-bottom:34px;display:flex}.work-head h2{letter-spacing:-.035em;font-size:clamp(34px,4.2vw,64px);font-weight:600;line-height:.98}.search{width:min(360px,100%);display:block}.search .sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.search input{border:0;border-bottom:1px solid var(--rule);width:100%;height:40px;color:var(--fg);font:500 15px var(--sans);background:0 0;outline:none;padding:0;transition:border-color .2s}.search input::placeholder{color:var(--fg-3)}.search input:focus{border-color:var(--accent)}.lists{gap:44px;max-width:min(1100px,66vw);display:grid}.list-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:24px;padding-bottom:10px;display:flex}.list-head h3{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-2);font-size:11px;font-weight:500}.list-head a{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--fg-3);font-size:11px;transition:color .2s}.list-head a:hover{color:var(--accent)}.row{border-bottom:1px solid var(--rule);grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:24px;min-height:48px;padding:12px 0;transition:background .15s;display:grid}.row:hover{background:#ffffff0a}.row-t{letter-spacing:-.01em;text-wrap:pretty;font-size:16px;font-weight:500;line-height:1.3}.row:hover .row-t{color:var(--accent)}.row-t em{font-style:normal;font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);vertical-align:2px;margin-left:10px;font-size:10px}.row-n{font-family:var(--mono);letter-spacing:.04em;color:var(--fg-3);white-space:nowrap;text-align:right;font-size:11px}.list-empty{font-family:var(--mono);color:var(--fg-3);padding:24px 0;font-size:12px}@media (width<=900px){.lists,.work-head{max-width:100%}.row{grid-template-columns:1fr}.row-n{text-align:left;white-space:normal}}.gal-count{font-family:var(--mono);letter-spacing:.12em;color:var(--fg-3);font-size:12px}.gal-count .gal-i{color:var(--fg)}.gal{scroll-padding-left:var(--pad);overscroll-behavior-x:contain;scrollbar-width:none;margin:0 calc(-1 * var(--pad));padding:6px 0 18px;padding-left:var(--pad);cursor:grab;-webkit-overflow-scrolling:touch;gap:28px;display:flex;overflow:auto hidden}.gal::-webkit-scrollbar{display:none}.gal.is-drag{cursor:grabbing}.gal-end{flex:0 0 calc(100vw - 560px - var(--pad))}.card{opacity:.45;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;flex:0 0 min(560px,78vw);transition:opacity .35s;display:block}.card.is-on,.card:hover{opacity:1}.card-img{aspect-ratio:3/2;isolation:isolate;background:#0a1030;border-radius:6px;position:relative;overflow:hidden}.card-img img{object-fit:cover;filter:grayscale()contrast(1.05)brightness(1.02);pointer-events:none;width:100%;height:100%;transition:filter .5s,transform .7s cubic-bezier(.2,.7,.2,1);display:block}.card-img:before{content:"";mix-blend-mode:multiply;opacity:.62;z-index:1;background:#2a4be0;transition:opacity .5s;position:absolute;inset:0}.card-img:after{content:"";mix-blend-mode:screen;opacity:.42;z-index:2;background:linear-gradient(135deg,#22b8dc 0%,#8a6cf2 50%,#ff6fb5 100%);transition:opacity .5s;position:absolute;inset:0}.card:hover .card-img img,.card.is-on .card-img img{filter:none}.card:hover .card-img img{transform:scale(1.03)}.card:hover .card-img:before,.card:hover .card-img:after,.card.is-on .card-img:before,.card.is-on .card-img:after{opacity:0}.card-word{font-family:var(--mono);letter-spacing:-.04em;color:var(--fg);z-index:3;background:radial-gradient(60% 60%,#13306e,#06091a);place-items:center;font-size:clamp(48px,6vw,96px);font-weight:500;display:grid;position:absolute;inset:0}.card-k{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin-top:16px;font-size:11px}.card-k em{color:var(--accent);margin-left:10px;font-style:normal}.card-t{letter-spacing:-.02em;text-wrap:pretty;margin-top:8px;font-size:clamp(17px,1.35vw,21px);font-weight:600;line-height:1.2}.card-l{color:var(--fg-2);max-width:52ch;margin-top:8px;font-size:14px;line-height:1.45}.work-all{align-items:baseline;margin-top:64px}.all-k{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-size:11px;font-weight:500}@media (prefers-reduced-motion:reduce){.card,.card-img img,.card-img:before,.card-img:after{transition:none}}#band{min-height:0;padding:6vh var(--pad) 2vh}.band{margin:0}.band img{aspect-ratio:2048/900;object-fit:cover;border-radius:6px;width:100%;display:block}.band figcaption{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--fg-3);margin-top:12px;font-size:11px}#close{align-content:center;padding-top:12vh;padding-bottom:10vh;display:grid}.contact{gap:36px;max-width:min(720px,60vw);display:grid}.contact h2{letter-spacing:-.03em;text-wrap:pretty;font-size:clamp(30px,3.4vw,52px);font-weight:600;line-height:1.05}.say{gap:22px;display:grid}.field{gap:8px;display:grid}.field span{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--fg-3);font-size:11px}.field input,.field textarea{border:0;border-bottom:1px solid var(--rule);width:100%;color:var(--fg);font:500 17px/1.4 var(--sans);resize:vertical;background:0 0;border-radius:0;outline:none;padding:8px 0;transition:border-color .2s}.field input::placeholder,.field textarea::placeholder{color:var(--fg-3)}.field input:focus,.field textarea:focus{border-color:var(--accent)}.hp{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.say-foot{align-items:center;gap:22px;margin-top:4px;display:flex}.send{height:44px;color:var(--fg);font:500 15px var(--sans);cursor:pointer;background:0 0;border:1px solid #ffffff47;border-radius:999px;align-items:center;gap:12px;padding:0 22px;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.send:hover{border-color:var(--accent);color:var(--accent)}.send:disabled{opacity:.6;cursor:default}.send-dots{gap:4px;display:inline-flex}.send-dots b{opacity:.35;background:currentColor;border-radius:50%;width:4px;height:4px;transition:opacity .2s}.send:hover .send-dots b{opacity:1}.is-sending .send-dots b{animation:1s ease-in-out infinite fall}.is-sending .send-dots b:nth-child(2){animation-delay:.12s}.is-sending .send-dots b:nth-child(3){animation-delay:.24s}.say-note{font-family:var(--mono);letter-spacing:.04em;color:var(--fg-2);font-size:12px}.marks{gap:10px;margin-top:8px;display:flex}.mark{width:44px;height:44px;color:var(--fg-2);border-radius:50%;place-items:center;transition:color .2s,background .2s,transform .2s;display:grid}.mark svg{display:block}.mark svg path{fill:currentColor}.mark:hover{color:var(--accent);background:#ffffff0f;transform:translateY(-1px)}.contact .plain{margin-top:4px}@media (width<=900px){.contact{max-width:100%}}.gal-nav{align-items:center;gap:18px;display:flex}.gal-btn{cursor:pointer;width:auto;height:auto;color:var(--fg);background:0 0;border:0;grid-template-rows:repeat(3,5px);grid-template-columns:repeat(3,5px);gap:4px;padding:10px;display:grid}.gal-btn i{opacity:.3;background:currentColor;border-radius:50%;width:5px;height:5px;transition:opacity .2s}.gal-btn[data-dir="1"] i:first-child{grid-area:1/1}.gal-btn[data-dir="1"] i:nth-child(2){grid-area:1/2}.gal-btn[data-dir="1"] i:nth-child(3){grid-area:2/3}.gal-btn[data-dir="1"] i:nth-child(4){grid-area:3/2}.gal-btn[data-dir="1"] i:nth-child(5){grid-area:3/1}.gal-btn[data-dir="-1"] i:first-child{grid-area:1/3}.gal-btn[data-dir="-1"] i:nth-child(2){grid-area:1/2}.gal-btn[data-dir="-1"] i:nth-child(3){grid-area:2/1}.gal-btn[data-dir="-1"] i:nth-child(4){grid-area:3/2}.gal-btn[data-dir="-1"] i:nth-child(5){grid-area:3/3}.gal-btn:hover i{opacity:1;background:var(--accent)}.gal:focus-visible{outline:none}@media (width<=760px){:root{--pad:6vw}.name span{display:none}.rail{gap:16px;right:14px}#hero{padding-bottom:28px}.hero-foot{grid-template-columns:1fr auto;gap:16px}.peek{max-width:72vw}.peek p{font-size:17px}#about{padding-top:48vh;padding-bottom:10vh}.prose p{font-size:22px}#band{padding-top:2vh}.band img{aspect-ratio:16/10}.work-head{margin-bottom:22px}.work-head h2,.ledger-head h2{font-size:34px}.card{flex-basis:82vw}.gal-end{flex:0 0 calc(18vw - var(--pad))}.card-t{font-size:17px}.ledger-row{padding:22px 0}.ledger-t{font-size:22px}.row{grid-template-columns:1fr;gap:4px}.contact h2{font-size:28px}#close{padding-top:40vh}#resume{padding-top:8vh}}
