:root{--mx: clamp(24px, 6vw, 88px);--my: clamp(20px, 4.5vh, 48px)}:root,:root[data-theme=dark]{--bg: #0f0f0f;--text: #e8e8e6;--dim: #8a8a86;--line: #2a2a2a;--thread: 138, 138, 134}:root[data-theme=light]{--bg: #f2f1ed;--text: #1a1a1a;--dim: #8b8b85;--line: #d9d7d0;--thread: 100, 100, 95}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:Inter,system-ui,sans-serif;font-size:14px;font-weight:400;line-height:1.9;letter-spacing:.01em;transition:background .4s ease,color .4s ease;-webkit-font-smoothing:antialiased;overflow:hidden}::selection{background:var(--text);color:var(--bg)}:focus-visible{outline:1px solid var(--dim);outline-offset:3px}.dim{color:var(--dim)}.threads{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}a,.linklike{color:var(--text);text-decoration:none;border:none;padding-bottom:2px;background-color:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(var(--dim),var(--dim)),linear-gradient(var(--text),var(--text));background-size:100% 1px,0% 1px;background-position:0 100%,0 100%;background-repeat:no-repeat;font:inherit;letter-spacing:inherit;cursor:pointer;transition:color .2s ease,background-size .35s cubic-bezier(.22,1,.36,1)}a:hover,.linklike:hover{background-size:100% 1px,100% 1px}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(110% 110% at 50% 42%,transparent 46%,var(--bg) 100%);opacity:.85;transition:background .4s ease}.corner{position:fixed;z-index:2;font-size:12px;line-height:1.7}.corner--tl{top:var(--my);left:var(--mx)}.corner--tr{top:var(--my);right:var(--mx);display:flex;gap:1.6rem;align-items:baseline;color:var(--dim);font-size:11px;letter-spacing:.08em}.corner--bl{bottom:var(--my);left:var(--mx);display:flex;gap:1.8rem}.corner--br{bottom:var(--my);right:var(--mx);text-align:right}.copyright{font-size:11px;letter-spacing:.08em}.name{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:16px;font-weight:500;letter-spacing:-.01em}.role{font-size:12px}.theme-toggle{color:var(--dim);font-size:12px}.theme-toggle:hover{color:var(--text)}.nav-link,.nav-link--active{background:none;border:none;font:inherit;font-size:12px;letter-spacing:.04em;cursor:pointer;padding:0;display:inline-flex;align-items:baseline;gap:.45em;color:var(--dim);transition:color .2s ease}.nav-link:hover{color:var(--text)}.nav-link--active{color:var(--text);cursor:default}.nav-num{font-size:9px;letter-spacing:.1em;color:var(--dim);transform:translateY(-.45em)}.nav-link--active .nav-num{color:var(--text)}.stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;padding:clamp(78px,13vh,150px) var(--mx)}.vlabel{font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:2.2rem}.view{width:100%;max-height:100%;overflow-y:auto;padding-block:1rem;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.view::-webkit-scrollbar{width:3px}.view::-webkit-scrollbar-track{background:transparent}.view::-webkit-scrollbar-thumb{background:var(--line)}.statement{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(2.2rem,5.4vw,4.8rem);font-weight:300;line-height:1.08;letter-spacing:-.025em;margin-bottom:2.4rem;max-width:23ch}.statement__thin{color:var(--dim)}.statement__sub{font-size:13.5px;color:var(--dim);max-width:52ch;margin-bottom:2.8rem}.view--projects .plist{list-style:none;max-width:1050px}.pgroup+.pgroup{margin-top:2.4rem}.pgroup__label{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:.9rem}.prow{display:grid;grid-template-columns:2.4rem minmax(13rem,17rem) 1fr 7rem;gap:1.6rem;padding:1.05rem 0;border-bottom:1px solid var(--line);align-items:baseline;cursor:default}.prow__year{order:4;text-align:right}.prow:first-child{border-top:1px solid var(--line)}.prow__n{font-size:11px}.prow__title{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(15px,1.7vw,20px);font-weight:400;letter-spacing:-.01em;transition:transform .25s cubic-bezier(.22,1,.36,1)}.prow:hover .prow__title{transform:translate(6px)}.prow__year{font-size:12px}.prow__desc{font-size:13px;transition:color .25s ease}.prow:hover .prow__desc{color:var(--text)}.view--info{max-width:54ch}.accent{color:var(--text)}.view--info p+p{margin-top:1.2em}.contact-big{list-style:none}.contact-big li+li{margin-top:.4rem}.contact-big a{font-family:Space Grotesk,Inter,system-ui,sans-serif;font-size:clamp(1.5rem,3.4vw,2.8rem);font-weight:300;letter-spacing:-.015em;background-size:0% 1px,0% 1px}.contact-big a:hover{background-size:0% 1px,100% 1px}.contact-note{margin-top:2.4rem;font-size:12px}@media (max-width: 1000px){.prow{grid-template-columns:2.2rem 1fr auto;gap:.15rem 1rem}.prow__n{grid-column:1;grid-row:1}.prow__title{grid-column:2;grid-row:1}.prow__year{grid-column:3;grid-row:1}.prow__desc{grid-column:2 / -1;grid-row:2}.statement{font-size:clamp(2rem,6vw,3.4rem)}}@media (max-width: 720px){body{overflow:auto}.corner--tr{top:auto;bottom:var(--my);right:var(--mx);flex-direction:column;align-items:flex-end;gap:.2rem}.corner--br{display:none}.stage{position:relative;min-height:100vh;padding:22vh var(--mx) 26vh}.view{max-height:none;overflow:visible}}@media (max-height: 860px){.vlabel{margin-bottom:1.5rem}.statement{margin-bottom:1.7rem}.statement__sub{margin-bottom:1.9rem}.prow{padding:.78rem 0}.pgroup+.pgroup{margin-top:1.8rem}.pgroup__label{margin-bottom:.7rem}.prow__n,.prow__title,.prow__year,.prow__desc{line-height:1.55}.contact-big a{font-size:clamp(1.4rem,2.9vw,2.2rem);line-height:1.35}.contact-big li+li{margin-top:.55rem}.contact-note{margin-top:1.8rem}.view--info p+p{margin-top:.9em}}@media (max-height: 680px){.stage{padding-block:clamp(66px,11vh,96px)}.statement{font-size:clamp(1.9rem,4.6vw,3rem);margin-bottom:1.3rem}.statement__sub{margin-bottom:1.5rem}.contact-big a{font-size:clamp(1.25rem,2.5vw,1.8rem)}.prow{padding:.6rem 0}.pgroup+.pgroup{margin-top:1.3rem}.vlabel{margin-bottom:1.1rem}}@media (prefers-reduced-motion: reduce){body{transition:none}.prow:hover .prow__title{transform:none}}
