:root{color-scheme:dark;--bg:#030303;--surface:#0a0a0c;--ink:#f0f0f2;--muted:#98989f;--line:#242429;--accent:#787dff;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--sans:Arial,"Helvetica Neue",sans-serif}
.page-curtain{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#101016;pointer-events:none;transform:translateY(101%);visibility:hidden}
.page-curtain span{font:12px var(--mono);color:var(--accent);letter-spacing:.18em;text-transform:uppercase}
.page-curtain.is-covering{visibility:visible;pointer-events:auto;animation:curtain-cover .65s cubic-bezier(.76,0,.24,1) forwards}
.page-curtain.is-arriving{visibility:visible;pointer-events:auto;animation:curtain-reveal .85s cubic-bezier(.76,0,.24,1) forwards}
.page-leaving main{transition:transform .65s cubic-bezier(.76,0,.24,1),opacity .65s;transform:translateY(-28px);opacity:.5}
.page-arriving main{animation:page-settle .85s cubic-bezier(.22,1,.36,1) both}
@keyframes curtain-cover{from{transform:translateY(101%)}to{transform:translateY(0)}}
@keyframes curtain-reveal{from{transform:translateY(0)}to{transform:translateY(-101%)}}
@keyframes page-settle{from{transform:translateY(28px);opacity:.5}to{transform:none;opacity:1}}
.directory.scroll-cards{padding:75px 0 80px;display:grid;gap:32px}
.flip-stage{perspective:1200px;perspective-origin:50% 50%;position:relative}
.scroll-cards .directory-row{display:block;min-height:215px;padding:0;border:0;background:none;position:relative;transform-origin:50% 50%;transform-style:preserve-3d;transition:transform .12s linear,opacity .12s linear}
.flip-face{min-height:215px;padding:35px 40px;border:1px solid #2d2d39;background:linear-gradient(135deg,#111119,#08080d);border-radius:4px;backface-visibility:hidden;box-shadow:0 24px 70px #0005}
.flip-front{display:grid;grid-template-columns:40px 1fr 32px;gap:20px;align-items:center}
.flip-back{position:absolute;inset:0;transform:rotateX(180deg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:radial-gradient(ellipse at center,#1a1a35,#09090f 75%)}
.flip-symbol{font-size:62px;line-height:1;color:var(--accent);font-family:"Apple Symbols","Segoe UI Symbol",sans-serif}
.scroll-cards .directory-row:focus-visible{transform:none!important;opacity:1!important}
@media(max-width:760px){.directory.scroll-cards{gap:25px;padding:55px 0;overflow:clip}.scroll-cards .directory-row{min-height:200px}.flip-face{min-height:200px;padding:24px 16px}.flip-front{grid-template-columns:24px 1fr 20px;gap:10px}.flip-stage{perspective:850px;margin-inline:8px}}
@media(prefers-reduced-motion:reduce){.page-curtain{display:none}.page-arriving main,.page-leaving main{animation:none;transition:none;transform:none;opacity:1}.scroll-cards .directory-row{transition:none;transform:none!important;opacity:1!important}}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button{font:inherit}::selection{background:#6468d0;color:white}.skip{position:fixed;top:-80px;left:20px;padding:12px;background:var(--accent);z-index:99}.skip:focus{top:12px}
.site-header{position:sticky;top:0;z-index:20;background:rgba(3,3,3,.95);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:25px;padding:0 max(24px,calc((100vw - 1110px)/2));min-height:70px}.brand{font:700 18px var(--mono);white-space:nowrap}.nav{display:flex;gap:30px;align-self:stretch;align-items:center}.nav a{font-size:14px;color:var(--muted);position:relative;white-space:nowrap}.nav a:hover,.nav a[aria-current]{color:var(--ink)}.nav a[aria-current]::after{content:"";position:absolute;height:2px;background:var(--ink);bottom:-24px;left:0;right:0}.header-label{font:12px var(--mono);border:1px solid var(--line);padding:5px 8px;color:var(--muted)}
main,.site-footer{max-width:1110px;margin:auto}.hero{min-height:650px;height:calc(100svh - 100px);max-height:860px;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden;border-bottom:1px solid var(--line);background-image:linear-gradient(#11111b66 1px,transparent 1px),linear-gradient(90deg,#11111b66 1px,transparent 1px);background-size:60px 60px}.hero::before,.hero::after{content:"";position:absolute;width:27px;height:27px;border-color:#333;border-style:solid;pointer-events:none}.hero::before{top:55px;left:30px;border-width:1px 0 0 1px}.hero::after{bottom:40px;right:30px;border-width:0 1px 1px 0}.hero h1{width:100%;margin:30px 0 22px;position:relative;font-size:clamp(48px,14vw,180px);line-height:1.15;letter-spacing:-.07em;white-space:nowrap}.hero h1 canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.hero h1.canvas-ready .name-text{opacity:0}.eyebrow,.meta,.tag,.index,.status{font:12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.eyebrow{margin:0;color:var(--accent)}.hero-intro{max-width:700px;padding:0 28px;font-size:22px;line-height:1.45;color:var(--muted)}.hero-intro p{margin:0}.hero-tags{display:flex;gap:14px;position:absolute;top:105px;left:55px;right:55px;justify-content:space-between}.hero-tags span{border:1px solid #282835;border-radius:20px;padding:5px 12px;font:11px var(--mono);color:var(--muted)}.hero-tags span:last-child{color:var(--accent)}.scroll-link{position:absolute;bottom:54px;font:12px var(--mono);border:1px solid var(--line);border-radius:20px;padding:7px 14px;color:var(--muted)}.scroll-link:hover{color:var(--accent);border-color:var(--accent)}
.section{padding:80px 0}.section-head{display:flex;align-items:baseline;gap:24px;margin-bottom:32px}.section-head h2{font-size:30px;letter-spacing:-.04em;margin:0}.section-head .meta{margin-left:auto}.directory{padding:0 0 55px}.directory-row{display:grid;grid-template-columns:40px 1fr 32px;gap:20px;align-items:center;min-height:155px;border-bottom:1px solid var(--line)}.directory-row h2{font-size:44px;letter-spacing:-.05em;line-height:1.1;margin:0 0 8px}.directory-row p{margin:0;color:var(--muted)}.arrow{font-size:26px;color:var(--muted)}.directory-row:hover h2,.directory-row:hover .arrow{color:var(--accent)}
.page-hero{padding:90px 0 60px;border-bottom:1px solid var(--line)}.page-title{font-size:clamp(52px,8vw,98px);line-height:1;letter-spacing:-.065em;margin:22px 0 28px}.page-summary{color:var(--muted);font-size:20px;max-width:720px;margin:0}.subnav{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.subnav a,.text-link{font:13px var(--mono);border:1px solid var(--line);padding:8px 12px;display:inline-block}.text-link:hover,.subnav a:hover{border-color:var(--accent);color:var(--accent)}
.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.project-visual{aspect-ratio:4/3;display:grid;place-items:center;background:#0b0b10;border:1px solid var(--line);position:relative}.placeholder{font:12px/1.8 var(--mono);text-align:center;color:var(--muted);padding:24px;border:1px dashed #393943;margin:24px}.project-info{display:flex;justify-content:space-between;gap:16px;padding:18px 0}.project-info h3{font-size:21px;margin:0;letter-spacing:-.03em}.project-info p{color:var(--muted);font-size:14px;margin:5px 0}.tag{border:1px solid var(--line);padding:3px 6px;width:fit-content;height:fit-content}.log-row{display:grid;grid-template-columns:110px 1fr auto;gap:22px;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}.log-row h3{font-size:22px;margin:0;letter-spacing:-.03em}.log-row p{font-size:14px;color:var(--muted);margin:5px 0}.log-row:hover h3{color:var(--accent)}.content-grid{display:grid;grid-template-columns:210px 1fr;gap:40px;padding:60px 0;border-bottom:1px solid var(--line)}.content-grid aside{color:var(--muted)}.prose{max-width:740px}.prose h2{font-size:34px;line-height:1.2;letter-spacing:-.04em;margin:0 0 24px}.prose h3{font-size:20px;margin:28px 0 12px}.prose p,.prose li{color:var(--muted)}.prose a:not(.text-link){color:var(--accent);text-decoration:underline}.callout{padding:18px 22px;border-left:2px solid var(--accent);background:var(--surface);margin:24px 0;color:var(--muted)}.reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reference-card{border:1px solid var(--line);padding:16px}.reference-card .placeholder{aspect-ratio:4/3;margin:0;display:grid;place-items:center;padding:10px}.reference-card h3{font-size:18px;margin-top:20px}.reference-card p{font-size:14px;color:var(--muted)}.connect{padding:75px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:55px}.connect h2{font-size:54px;line-height:1;letter-spacing:-.05em;margin:0 0 22px}.connect p{color:var(--muted);max-width:430px}.connect-links{display:flex;flex-direction:column;align-items:flex-start;gap:16px}.connect-links a{font:15px var(--mono);border-bottom:1px solid var(--line);padding-bottom:6px}.site-footer{border-top:1px solid var(--line);padding:22px 0 30px;display:flex;justify-content:space-between;gap:20px;font:11px/1.7 var(--mono);color:var(--muted);text-transform:uppercase}.draft-note{font:12px var(--mono);color:var(--accent)}.project-detail{margin-bottom:35px}
@media(max-width:1160px){main,.site-footer{margin-left:28px;margin-right:28px}}@media(max-width:760px){.site-header{flex-wrap:wrap;padding:15px 20px;gap:15px;min-height:104px}.brand{font-size:16px}.header-label{margin-left:auto}.nav{order:3;flex:0 0 100%;gap:0;justify-content:space-between}.nav a{font-size:13px}.nav a[aria-current]::after{bottom:-15px}.hero{min-height:550px;height:calc(90svh - 104px)}.hero h1{font-size:clamp(42px,11vw,83px);margin-top:5px}.hero-intro{font-size:18px;padding:0 14px}.hero-tags{top:80px;left:15px;right:15px}.hero-tags span{font-size:9px;padding:5px 7px}.hero::before{top:35px;left:8px}.hero::after{right:8px}.directory-row{min-height:145px;grid-template-columns:28px 1fr 24px;gap:12px}.directory-row h2{font-size:32px}.directory-row p{font-size:14px}.section{padding:55px 0}.section-head .meta{display:none}.project-grid,.content-grid,.connect,.reference-grid{grid-template-columns:1fr}.content-grid{gap:20px;padding:42px 0}.page-hero{padding:60px 0 40px}.page-summary{font-size:18px}.log-row{grid-template-columns:80px 1fr;gap:15px}.log-row .tag{grid-column:2}.log-row h3{font-size:19px}.connect{gap:25px}.connect h2{font-size:42px}.site-footer{flex-direction:column;gap:8px}main,.site-footer{margin-left:20px;margin-right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
