@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}.chat-launcher{position:fixed;right:25px;bottom:23px;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 16px;border:1px solid var(--line);border-radius:9999px;background:var(--panel);color:var(--text);min-height:48px;font:12px/16px var(--mono);cursor:pointer;box-shadow:0 8px 30px #0003}.chat-launcher>svg{width:20px;height:20px;color:var(--red)}.chat-launcher:is(:hover,:focus-visible){color:var(--text);border-color:var(--red);background:var(--panel-hover)}.chat-panel{position:fixed;right:25px;bottom:84px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100dvh - 115px));z-index:41;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--text);box-shadow:0 15px 65px #0006;overflow:hidden;text-align:left;font-size:14px}.chat-panel:before{content:"";position:absolute;top:0;left:24px;width:64px;height:2px;background:var(--red);z-index:2}.chat-panel *{box-sizing:border-box}.chat-panel p{font-size:14px;line-height:1.65}.chat-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:19px 18px 16px;border-bottom:1px solid var(--line);text-align:left;background:var(--panel)}.chat-header h2{margin:0;font-size:20px;letter-spacing:-.04em}.chat-header p{margin:8px 0 0;font:12px/16px var(--mono);color:var(--muted)}.chat-icon-button{flex-shrink:0;min-width:44px;min-height:44px;display:grid;place-items:center;padding:0 4px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;font-size:24px;line-height:1}.chat-icon-button:is(:hover,:focus-visible){color:var(--text);background:var(--panel-hover)}.chat-icon-button>svg{width:20px;height:20px}.chat-log{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px}.chat-welcome{margin:0 0 16px;color:var(--muted);font-size:14px!important}.chat-suggestions{display:grid;gap:8px}.chat-suggestions button{min-height:44px;padding:12px;border-radius:8px;font:12px/20px var(--mono);color:var(--text);background:var(--panel);border:1px solid transparent;text-align:left;cursor:pointer}.chat-suggestions button:is(:hover,:focus-visible){border-color:var(--line);background:var(--panel-hover)}.chat-message{padding:12px;margin:15px 0;background:var(--panel);overflow-wrap:anywhere}.chat-message-user{border-left:2px solid var(--lavender)}.chat-speaker{font:12px/16px var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.chat-message-assistant .chat-speaker{color:var(--cyan)}.chat-message p{margin:7px 0 0;white-space:pre-wrap}.chat-sources{margin:13px 0 0;padding:10px 0 0;display:grid;gap:11px;list-style:none;border-top:1px solid var(--line)}.chat-sources a{display:inline-flex;align-items:center;gap:8px;min-height:32px;color:var(--lavender);font:12px/20px var(--mono);text-decoration:underline;text-underline-offset:3px}.chat-sources details{font-size:12px;margin-top:4px;color:var(--muted)}.chat-sources summary{cursor:pointer}.chat-sources blockquote{margin:9px 0;padding-left:10px;border-left:1px solid var(--cyan);line-height:1.7}.chat-status{font:12px/20px var(--mono)!important;color:var(--cyan)}.chat-compose{padding:14px 18px;border-top:1px solid var(--line)}.chat-compose label{display:block;font:12px/16px var(--mono);text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px;color:var(--muted)}.chat-compose textarea{display:block;width:100%;resize:none;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);font:16px/24px var(--font)}.chat-actions{display:flex;justify-content:space-between;gap:10px;margin-top:10px}.chat-actions button{min-height:44px;border-radius:8px;font:12px/16px var(--mono);padding:8px 12px;color:var(--text);background:transparent;border:1px solid transparent;cursor:pointer}.chat-actions button:not(:disabled):is(:hover,:focus-visible){background:var(--panel-hover)}.chat-actions button[type=submit]{background:var(--red);border-color:var(--red);color:var(--signal-ink)}.chat-actions button[type=submit]:not(:disabled):is(:hover,:focus-visible){color:var(--bg)}.chat-actions button[type=submit]:not(:disabled):is(:hover,:focus-visible){background:var(--text);border-color:var(--text)}.chat-actions button:disabled{opacity:.45;cursor:default}.chat-note{font:12px/20px var(--mono)!important;margin:12px 0 0;color:var(--muted)}.chat-error{font-size:12px!important;border-left:2px solid var(--copper);padding-left:10px}@media(max-width:520px){.chat-launcher{right:12px;bottom:12px;padding:12px 16px}.chat-panel{right:12px;bottom:70px;width:calc(100vw - 24px);height:min(650px,calc(100dvh - 88px))}}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.woff2) format("woff2-variations")}:root{color-scheme:dark;--bg: #08090b;--panel: #111216;--panel-hover: #1b1d22;--text: #f3f0eb;--muted: #aaa9ad;--line: #33343a;--red: #ef3340;--accent: var(--red);--signal-ink: #08090b;--cyan: #b6cbd0;--copper: #d6b4a0;--lavender: var(--red);--font: "Space Grotesk Variable", "Segoe UI", sans-serif;--mono: "IBM Plex Mono", monospace;--motion-ease: cubic-bezier(.32,.72,0,1);--bg-color: var(--bg);--text-color: var(--text);--date-color: var(--muted);--accent-color: var(--red);--link-hover: var(--text);--card-bg: var(--panel);--card-bg-hover: var(--panel-hover)}[data-theme=light]{color-scheme:light;--bg: #f0eee9;--panel: #e6e3dd;--panel-hover: #dcd8d1;--text: #17181b;--muted: #5c5a60;--line: #bdb9b4;--red: #b51d2a;--signal-ink: #fff;--cyan: #34545e;--copper: #784831}*{box-sizing:border-box}html{min-width:320px;scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.7}::selection{background:var(--red);color:#fff}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;appearance:none}a{color:inherit;text-decoration:none;transition:color .24s var(--motion-ease)}a:hover{color:var(--red)}:is(a,button,input,textarea,summary):focus-visible{outline:2px solid var(--text);outline-offset:5px}p{margin:0 0 24px;text-wrap:pretty}ul{margin:0;padding:0;list-style:none}h1,h2,h3,h4{margin:0;line-height:1.1;letter-spacing:-.05em;font-weight:600;text-wrap:balance}h1{font-size:clamp(48px,6vw,96px)}h2{font-size:clamp(36px,4vw,60px)}h3{font-size:24px}svg{display:block}.ui-icon{display:inline-block;width:1em;height:1em;flex-shrink:0;vertical-align:middle;pointer-events:none}.container:focus{outline:none}.route-view{display:flow-root}.skip-link{position:fixed;top:-100px;left:24px;z-index:100;padding:12px 16px;background:var(--text);color:var(--bg)}.skip-link:focus{top:16px}.eyebrow{font:12px/20px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:16px;font:12px/20px var(--mono);text-underline-offset:5px}.text-link:is(:hover,:focus-visible){color:var(--red);text-decoration:underline}.text-link .ui-icon{width:16px;height:16px}.button-primary{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:12px 24px;min-height:48px;border:1px solid var(--red);border-radius:8px;background:var(--red);color:var(--signal-ink);font-size:16px;line-height:24px;font-weight:600}.button-primary:is(:hover,:focus-visible){background:var(--text);border-color:var(--text);color:var(--bg)}.button-primary .ui-icon{width:24px;height:24px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:40px}.section-heading h2 span{color:var(--muted)}.section-heading .text-link{flex-shrink:0}.project-tags,.report-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span,.report-tag{display:inline-block;padding:4px 8px;border:1px solid var(--line);font:12px/20px var(--mono);color:var(--muted)}.translation-notice{padding:16px;border:1px solid var(--line);color:var(--muted);background:var(--panel);font-size:14px}.demo-launch{margin-top:24px}@media(max-width:600px){.section-heading{align-items:flex-start;flex-direction:column;gap:16px;margin-bottom:32px}.button-primary{padding-inline:16px;font-size:14px;gap:24px}}.site-content{margin-left:200px;padding-inline:clamp(24px,4.5vw,80px);min-width:0}.site-content>.container,.site-content>.site-footer{width:100%;max-width:1360px;margin-inline:auto}.site-header{position:fixed;inset:0 auto 0 0;z-index:30;width:200px;height:100dvh;min-height:0;margin:0;padding:40px 24px 24px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:64px;border:0;border-right:1px solid var(--line);background:var(--bg);overflow-y:auto}.site-header:after{content:"";position:absolute;top:0;right:-1px;width:3px;height:96px;background:var(--red)}.rail-identity{display:block;flex-shrink:0;width:fit-content}.rail-signal{display:flex;width:48px;gap:4px;margin-bottom:24px}.rail-signal i{display:block;width:12px;height:8px;background:var(--red);transform:skew(-30deg)}.rail-name{display:block;color:var(--text);font-size:24px;font-weight:600;letter-spacing:-.05em;line-height:1.15}.rail-name>span{display:block;color:var(--red)}.rail-caption{display:block;margin-top:12px;color:var(--muted);font:12px/1.5 var(--mono);letter-spacing:.03em;text-transform:uppercase}.site-header .header-controls{flex:1;min-height:0;width:100%;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:32px}.site-header .site-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px}.site-header .site-nav a{display:flex;justify-content:space-between;gap:8px;min-height:48px;padding:12px 0;font:18px/24px var(--font);letter-spacing:-.025em;text-transform:none;color:var(--muted)}.site-header .site-nav a:after{display:none}.site-header .site-nav a[aria-current=page],.site-header .site-nav a:is(:hover,:focus-visible){color:var(--text)}.nav-direction{color:var(--red);opacity:0;transform:translate(-4px,4px);transition:opacity .3s var(--motion-ease),transform .3s var(--motion-ease)}.site-nav a[aria-current=page] .nav-direction,.site-nav a:is(:hover,:focus-visible) .nav-direction{opacity:1;transform:translate(0)}.rail-bottom{padding-top:24px;border-top:1px solid var(--line)}.rail-location{margin:0 0 16px;font:12px/1.5 var(--mono);color:var(--muted)}.site-header .header-tools{display:flex;width:100%;align-items:center;justify-content:space-between;gap:8px;margin:0}.site-header .language-switch{display:flex;gap:4px}.site-header .language-switch a{position:relative;display:grid;place-items:center;min-width:40px;min-height:44px;padding:8px;border:0;border-radius:4px;color:var(--muted);background:transparent;font:12px/16px var(--mono)}.site-header .language-switch a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--red);opacity:0;transition:opacity .25s var(--motion-ease)}.site-header .language-switch a[aria-current=true]{color:var(--red)}.site-header .language-switch a[aria-current=true]:after{opacity:1}.site-header .language-switch a:is(:hover,:focus-visible){color:var(--text)}.site-header .language-switch a:active{transform:translateY(1px)}.site-header .theme-toggle{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;color:var(--muted);border:0;border-radius:50%;background:transparent}.site-header .theme-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.site-header .theme-toggle:is(:hover,:focus-visible){color:var(--text);background:var(--panel-hover)}.rail-github{display:flex;justify-content:space-between;align-items:center;min-height:44px;margin-top:16px;color:var(--muted);font:12px/16px var(--mono)}.rail-github .ui-icon{color:var(--red)}.site-footer{position:relative;border-top:1px solid var(--line);padding:64px 0 32px}.site-footer:before{content:"";position:absolute;top:-1px;left:0;width:96px;height:3px;background:var(--red)}.site-footer .footer-top{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:end;padding-bottom:64px}.footer-invitation .eyebrow{margin-bottom:24px}.footer-invitation h2{font-size:clamp(40px,4.5vw,72px);font-weight:600;letter-spacing:-.06em;line-height:1.05}.footer-invitation h2 span{display:block;color:var(--red)}.site-footer .footer-contact p{max-width:40ch;margin:0 0 24px;font-size:16px;line-height:1.7;color:var(--muted)}.footer-contact-link{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;max-width:320px;min-height:56px;padding:12px 24px;border-radius:8px;background:var(--red);color:#08090b;font-weight:600;transition:color .3s var(--motion-ease),background-color .3s var(--motion-ease),transform .3s var(--motion-ease)}.footer-contact-link .ui-icon{width:24px;height:24px}.footer-contact-link:is(:hover,:focus-visible){background:var(--text);color:var(--bg)}.footer-contact-link:active{transform:translateY(2px)}[data-theme=light] .footer-contact-link{color:#fff}[data-theme=light] .footer-contact-link:is(:hover,:focus-visible){color:var(--bg)}.site-footer .footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 32px;padding-top:24px;border-top:1px solid var(--line);color:var(--muted);font:12px/16px var(--mono)}.site-footer .footer-bottom p{margin:0}.site-footer .footer-bottom nav{display:flex;flex-wrap:wrap;align-items:center;column-gap:24px;row-gap:0;margin:0}.site-footer .footer-bottom nav a{min-height:44px;display:inline-flex;align-items:center;gap:8px}@media(max-height:700px)and (min-width:1100px){.site-header{padding-top:24px;gap:32px}.rail-signal{margin-bottom:16px}.site-header .site-nav a{min-height:44px;padding-block:8px}.rail-bottom{padding-top:16px}}@media(max-width:1099px){.site-content{margin-left:0;padding-inline:32px}.site-header{position:relative;inset:auto;width:100%;height:auto;min-height:0;padding:24px 32px;flex-direction:row;align-items:center;gap:32px;border-right:0;border-bottom:1px solid var(--line)}.site-header:after{inset:auto auto -1px 32px;width:64px;height:3px}.rail-identity{min-width:112px}.rail-signal{display:none}.rail-name{font-size:18px;line-height:1.1}.rail-caption{display:none}.site-header .header-controls,.site-header .site-nav{flex-direction:row;align-items:center;gap:24px}.site-header .site-nav a{min-height:44px;font-size:14px;line-height:20px;padding-block:12px}.site-header .site-nav .nav-direction{display:none}.site-header .site-nav a[aria-current=page]{color:var(--red)}.rail-bottom{padding:0;border:0}.rail-location,.rail-github{display:none}.site-header .header-tools{width:auto;gap:16px}.site-footer .footer-top{gap:40px}}@media(max-width:760px){.site-header{align-items:flex-start;gap:20px;padding:24px}.site-header:after{left:24px}.site-header .header-controls{display:contents}.site-header .site-nav{order:3;flex-basis:100%;justify-content:space-between;gap:16px}.site-header{flex-wrap:wrap}.rail-bottom{margin-left:auto}.site-header .header-tools{gap:12px}.site-content{padding-inline:24px}.site-footer{padding-block:48px 32px}.site-footer .footer-top{grid-template-columns:1fr;gap:32px;padding-bottom:40px}.footer-invitation h2{font-size:clamp(40px,8vw,60px)}.site-footer .footer-contact p{max-width:48ch}.site-footer .footer-bottom{align-items:flex-start;padding-bottom:80px}.site-footer .footer-bottom nav{width:100%;column-gap:20px}}@media(max-width:380px){.site-header{padding:20px 16px 12px;gap:16px}.site-header:after{left:16px}.site-header .site-nav{width:100%;gap:12px}.site-header .site-nav a{font-size:14px}.site-header .header-tools{gap:8px}.site-header .language-switch{gap:0}.site-content{padding-inline:16px}}.home-hero{position:relative;display:grid;grid-template-columns:1.15fr 1fr;column-gap:24px;padding-block:32px 0;isolation:isolate}.hero-masthead{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:16px;padding-bottom:40px}.hero-masthead .eyebrow{color:var(--red);margin:0}.hero-masthead>span{font:12px/20px var(--mono);color:var(--muted)}.hero-title{position:relative;z-index:2;min-width:0;grid-column:1;grid-row:2}.hero-copy{position:relative;z-index:2;min-width:0;padding-bottom:56px;grid-column:1;grid-row:3}.headline-lines>span{display:block}.headline-lines>span:first-child{color:var(--text)}.hero-greeting{font:14px/24px var(--mono);color:var(--muted);margin-bottom:20px}.hero-identity{font-size:clamp(80px,10.3vw,156px);line-height:.8;font-weight:700;letter-spacing:-.075em;margin:0 0 40px -7px;text-wrap:nowrap}.hero-identity>span{display:block;color:var(--red);margin-top:8px}.identity-stop{color:var(--text)}.hero-statement{font-size:clamp(24px,2.5vw,36px);line-height:1.15;letter-spacing:-.04em;font-weight:500;margin-bottom:24px}.hero-statement>span{color:var(--muted)}.hero-description{color:var(--muted);font-size:14px;line-height:1.85;max-width:48ch;margin-bottom:24px}.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}.hero-art{align-self:stretch;position:relative;min-width:0;display:flex;align-items:flex-end;padding-bottom:56px;grid-column:2;grid-row:2 / 4;isolation:isolate}.hero-city{position:absolute;inset:0;overflow:clip;z-index:-1;pointer-events:none}.city-silhouette{position:absolute;z-index:-1;inset:0 0 0 auto;height:calc(100% + 20px);width:min(560px,130%)}.city-signal{fill:var(--red);opacity:.9}.city-building{fill:var(--bg)}.city-building-back{fill:var(--panel)}.city-edge{stroke:var(--line);stroke-width:1}.city-windows{stroke:var(--cyan);stroke-width:2;opacity:.45}.city-cable{stroke:var(--red);opacity:.6}.hero-art-caption{position:absolute;top:0;right:0;display:flex;gap:16px;align-items:center;flex-direction:column;writing-mode:vertical-rl;font:12px/16px var(--mono);letter-spacing:.1em;color:var(--text)}.hero-art-caption span:last-child{color:var(--muted)}.hero-topics{position:relative;z-index:2;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:16px 24px;padding-block:24px;border-block:1px solid var(--line);font:12px/20px var(--mono);letter-spacing:.07em}.hero-topics i{font-style:normal;color:var(--red)}.night-scene{position:relative;width:min(100%,500px);padding:0;margin:0;transform:translate(-8px)}.scene-shell{border:1px solid var(--line);background:var(--bg);box-shadow:16px 16px 0 var(--panel)}.scene-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;font:12px/20px var(--mono);color:var(--muted);letter-spacing:.06em;border-bottom:1px solid var(--line)}.scene-top>span:first-child{display:flex;align-items:center;gap:8px}.scene-top i{display:inline-block;width:6px;height:6px;background:var(--red)}.scene-top>span:last-child{color:var(--red)}.scene-viewport{position:relative;aspect-ratio:498/278;overflow:hidden;background:#08090b}.scene-image{display:block;height:100%;width:100%;object-fit:contain;image-rendering:auto}.scene-motion{position:absolute;bottom:12px;right:12px;display:flex;align-items:center;gap:8px;min-height:40px;border:1px solid #68696d;background:#08090bea;color:#fff;font:12px/20px var(--mono);padding:8px 12px;border-radius:999px}.scene-motion .ui-icon{width:16px;height:16px}.night-scene figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 16px;font:12px/20px var(--mono);color:var(--muted);letter-spacing:.06em}.work-section{padding-block:96px}.secondary-projects{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}.focus-section{display:grid;grid-template-columns:1fr 1.3fr;gap:64px;padding-block:64px 80px;border-top:1px solid var(--line)}.focus-heading h2{font-size:clamp(48px,5vw,72px);margin-bottom:24px}.focus-heading h2 span{color:var(--red)}.focus-heading>p:last-child{color:var(--muted);font-size:14px;max-width:30ch}.focus-list li{display:grid;grid-template-columns:24px 1fr;gap:16px;padding-block:24px;border-top:1px solid var(--line)}.focus-list li:last-child{border-bottom:1px solid var(--line)}.focus-cross{color:var(--red);font:24px/28px var(--mono)}.focus-list h3{font-size:24px;font-weight:500;margin-bottom:12px;letter-spacing:-.03em}.focus-list p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.notes-section{padding-block:64px 80px;border-top:1px solid var(--line)}.notes-list{border-top:1px solid var(--line)}.notes-list li{border-bottom:1px solid var(--line)}.notes-list a{display:grid;grid-template-columns:160px 1fr 32px;gap:24px;align-items:center;padding-block:32px}.note-context{display:flex;flex-direction:column;gap:8px;font:12px/20px var(--mono);color:var(--muted)}.note-context span{color:var(--cyan)}.notes-list h3{font-size:clamp(20px,2.1vw,30px);line-height:1.3;font-weight:500;max-width:34ch;letter-spacing:-.035em}.note-arrow{color:var(--red);font-size:24px}.notes-list a:is(:hover,:focus-visible) h3{color:var(--red)}.personal-section{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:64px;padding:64px 0 96px;border-top:1px solid var(--line)}.personal-mark{color:var(--red);display:flex;flex-direction:column;justify-content:center;font-size:clamp(72px,9vw,128px);font-weight:700;line-height:.85;letter-spacing:-.07em}.personal-mark span:last-child{color:transparent;-webkit-text-stroke:1px var(--muted)}.personal-copy h2{font-size:36px;margin-bottom:24px}.personal-copy>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.85;max-width:48ch}.personal-tags{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;color:var(--muted);font:12px/20px var(--mono)}.personal-tags li:before{content:"+";color:var(--red);margin-right:8px}@media(min-width:1600px){.hero-identity{font-size:156px}}@media(max-width:1099px){.hero-identity{font-size:clamp(88px,12.5vw,144px)}}@media(max-width:760px){.home-hero{display:flex;flex-direction:column}.hero-masthead{order:0}.hero-title{order:1}.hero-art{order:2}.hero-copy{order:3}.hero-actions{margin-bottom:0}.hero-topics{order:4}.hero-masthead{padding-bottom:32px}.hero-masthead>span{max-width:15ch;text-align:right;font-size:12px}.hero-copy{padding-bottom:32px}.hero-identity{font-size:clamp(88px,20vw,144px);margin-left:-4px;margin-bottom:32px}.hero-statement{font-size:30px}.hero-description{max-width:52ch}.hero-art{min-height:360px;justify-content:center;padding:32px 16px 32px 0;margin-bottom:40px}.city-silhouette{width:100%;height:100%}.hero-art-caption{display:none}.night-scene{width:min(100%,500px);transform:none}.hero-topics{gap:12px 16px}.work-section{padding-block:64px}.focus-section{gap:32px;grid-template-columns:1fr;padding-block:48px 64px}.focus-heading>p:last-child{max-width:45ch}.focus-heading h2 span{display:inline}.focus-heading h2{font-size:48px}.focus-heading h2 span:before{content:" "}.notes-list a{grid-template-columns:120px 1fr 24px;gap:16px}.personal-section{gap:32px}.personal-mark{font-size:88px}}@media(max-width:520px){.hero-greeting{font-size:12px}.hero-identity{font-size:clamp(72px,23vw,112px)}.hero-statement{font-size:24px}.hero-actions{gap:8px 16px}.hero-art{min-height:280px;padding-top:24px}.hero-topics{font-size:12px;gap:8px 12px}.hero-topics i{display:none}.hero-topics span{width:100%}.hero-topics span:before{content:"+";color:var(--red);margin-right:12px}.secondary-projects{grid-template-columns:1fr}.section-heading h2{font-size:36px}.focus-heading h2{font-size:40px}.notes-section{padding-block:48px 64px}.notes-list a{grid-template-columns:1fr 24px;gap:12px;padding-block:24px}.note-context{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:8px 16px}.notes-list h3{font-size:20px}.personal-section{grid-template-columns:1fr;padding-block:48px 64px}.personal-mark{flex-direction:row;font-size:clamp(64px,18vw,96px)}.personal-copy h2{font-size:30px}.scene-top,.night-scene figcaption{padding:8px 12px;font-size:12px}}.page-intro{position:relative;padding:80px 0 56px}.archive-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,.6fr);column-gap:64px;align-items:end;border-bottom:1px solid var(--line);margin-bottom:48px}.archive-intro .eyebrow{grid-column:1 / -1;color:var(--red);margin:0 0 24px}.page-intro h1{font-size:clamp(48px,6.5vw,96px);line-height:1;font-weight:600;letter-spacing:-.065em;max-width:9ch}.archive-intro>p:last-of-type{margin:0;max-width:34ch;color:var(--muted);font-size:16px;line-height:1.7}.heading-dot{color:var(--red)}.archive-intro-mark{position:absolute;right:0;top:40px;font:32px/1 var(--font);color:var(--red)}.project-library{display:grid;gap:24px;margin-bottom:96px}.project-card{position:relative;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:stretch;border:1px solid var(--line);background:var(--panel);min-width:0}.project-card:after{content:"";position:absolute;right:-1px;top:-1px;width:24px;height:24px;background:var(--bg);clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none}.project-body{padding:clamp(24px,3vw,40px);min-width:0}.project-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;font:12px/1.5 var(--mono);margin-bottom:24px;color:var(--muted)}.project-meta>span{color:var(--red);text-transform:uppercase;letter-spacing:.06em}.project-card h2,.project-card h3{font-size:clamp(24px,2.6vw,36px);line-height:1.12;font-weight:500;letter-spacing:-.045em;margin:0 0 20px;overflow-wrap:anywhere}.project-card p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 24px;max-width:62ch}.project-card :is(h2,h3) a:is(:hover,:focus-visible){color:var(--red)}.project-tags{display:flex;flex-wrap:wrap;gap:8px}.project-tags span{color:var(--muted);font:12px/1.5 var(--mono);padding:4px 8px;border:1px solid var(--line)}.project-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:24px;font:12px/1.5 var(--mono)}.project-links a{display:inline-flex;align-items:center;min-height:44px;gap:8px;text-underline-offset:6px}.project-links a:first-child{color:var(--text)}.project-links a:not(:first-child){color:var(--muted)}.project-links a:is(:hover,:focus-visible){color:var(--red);text-decoration:underline}.project-card:focus-within{border-color:var(--red)}.project-visual{position:relative;min-width:0;min-height:260px;display:flex;align-items:center;overflow:hidden;background:var(--bg);color:var(--muted)}.project-visual svg{width:100%;height:auto;display:block;padding:8px}.project-visual svg path{vector-effect:non-scaling-stroke}.project-visual text{font:12px var(--mono);fill:currentColor}.diagram-grid{stroke:var(--line);stroke-width:1;opacity:.36}.diagram-wire{stroke:var(--muted);stroke-width:1;opacity:.65}.diagram-node{stroke:var(--line);stroke-width:1;fill:var(--panel)}.diagram-core{stroke:var(--red);stroke-width:1;fill:var(--panel)}.diagram-accent{stroke:var(--red);stroke-width:2}.diagram-end{fill:var(--red)}.diagram-signal{stroke:var(--muted);stroke-width:4;opacity:.35}.project-visual-label{position:absolute;left:24px;bottom:16px;font:12px/1.5 var(--mono);letter-spacing:.06em;color:var(--muted)}.project-card-featured{grid-template-columns:minmax(0,.9fr) minmax(0,1fr)}.project-card-featured .project-body{padding:40px}.project-card-featured .project-visual{min-height:380px}.project-card-featured :is(h2,h3){font-size:clamp(30px,3.4vw,48px)}.project-card-compact{display:flex;flex-direction:column}.project-card-compact .project-visual{min-height:0;aspect-ratio:440 / 230}.project-card-compact .project-visual svg{max-height:100%}.project-card-compact .project-body{display:flex;flex-direction:column;flex:1;padding:24px}.project-card-compact :is(h2,h3){font-size:24px}.project-card-compact .project-tags{display:none}.project-card-compact .project-links{margin-top:auto;padding-top:16px;gap:8px 16px}.project-card-compact .project-meta{justify-content:flex-start;gap:16px;margin-bottom:16px}.project-card-compact p{font-size:14px}.notes-archive{display:grid;grid-template-columns:minmax(180px,.35fr) minmax(0,1fr);gap:48px;align-items:start;margin-bottom:96px}.archive-tools{min-width:0;padding-top:8px}.report-search{margin-bottom:32px}.report-search label{display:block;font:12px/1.5 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:12px}.report-search input{width:100%;min-width:0;padding:12px;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;font-size:16px}.report-search input::placeholder{color:var(--muted);opacity:.8}.report-search p{margin:12px 0 0;color:var(--muted);font:12px/1.5 var(--mono)}.tag-filter-section{display:grid;gap:16px}.tag-filter-container{display:flex;flex-wrap:wrap;gap:8px}.tag-filter-button{position:relative;min-height:44px;padding:8px 12px;color:var(--muted);border:0;background:transparent;font:12px/1.5 var(--mono);border-radius:8px;text-align:left}.tag-filter-button:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;background:var(--red);opacity:0;transition:opacity .25s var(--motion-ease)}.tag-filter-button.active{color:var(--red)}.tag-filter-button.active:after{opacity:1}.tag-filter-button:is(:hover,:focus-visible){color:var(--text)}.tag-filter-button.active:is(:hover,:focus-visible){color:var(--red)}.clear-filters-button{justify-self:start;min-height:44px;padding:8px 0;color:var(--text);background:none;border:0;font:12px/1.5 var(--mono);text-decoration:underline;text-underline-offset:6px}.clear-filters-button:is(:hover,:focus-visible){color:var(--red)}.archive-results{min-width:0}.reports-grid{display:block}.report-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;position:relative;min-width:0;padding:32px 0;border-top:1px solid var(--line);background:transparent}.report-card:last-child{border-bottom:1px solid var(--line)}.report-date{font:12px/1.6 var(--mono);color:var(--muted);padding-top:5px}.report-title{font-size:clamp(24px,2.3vw,32px);line-height:1.2;font-weight:500;margin:0 0 16px;letter-spacing:-.035em}.report-title a:is(:hover,:focus-visible){color:var(--red)}.report-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.report-tag{font:12px/1.5 var(--mono);color:var(--muted);padding:0;border:0}.report-tag+.report-tag:before{content:"/";margin-right:8px;color:var(--line)}.read-more{display:inline-flex;align-items:center;gap:8px;min-height:44px;font:12px/1.5 var(--mono);color:var(--red);text-underline-offset:6px}.read-more:is(:hover,:focus-visible){color:var(--text);text-decoration:underline}.report-card:is(:hover,:focus-within){border-color:var(--red)}.no-results{padding:40px 0;border-top:1px solid var(--line);color:var(--muted)}.pagination-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:32px}.pagination-button,.page-number{min-width:44px;min-height:44px;border:0;color:var(--text);padding:8px 12px;font:12px/1.5 var(--mono)}.pagination-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;background:var(--panel)}.page-number{position:relative;border-radius:50%;background:transparent}.pagination-button:not(:disabled):is(:hover,:focus-visible),.page-number:is(:hover,:focus-visible){color:var(--red);background:var(--panel-hover)}.pagination-button:disabled{opacity:.4;cursor:default}.pagination-pages{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.page-number.active{color:var(--red)}.page-number.active:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;background:currentColor}.intro.about-dossier{margin:0 0 96px;max-width:none}.about-heading{padding:80px 0 56px;border-bottom:1px solid var(--line)}.about-heading .eyebrow{color:var(--red);margin-bottom:24px}.about-heading h1{max-width:10ch;font-size:clamp(48px,6.5vw,96px);line-height:.98;font-weight:600;letter-spacing:-.065em}.about-layout{display:grid;grid-template-columns:minmax(200px,.4fr) minmax(0,1fr);align-items:start;gap:64px;padding-top:48px}.profile-dossier{min-width:0;padding:24px;border:1px solid var(--line);background:var(--panel)}.profile-glyph{height:120px;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:24px;overflow:hidden}.profile-glyph span{height:96px;width:24px;background:var(--red);transform:skew(-20deg)}.profile-glyph span:nth-child(2){height:64px;background:var(--text)}.profile-glyph span:nth-child(3){height:40px}.profile-alias{font-size:24px;line-height:1.2;letter-spacing:-.03em;margin:0 0 24px}.profile-meta{display:grid;gap:8px;font:12px/1.7 var(--mono);color:var(--muted);margin:0 0 24px}.profile-dossier .text-link{display:flex;width:fit-content;min-height:40px}.about-narrative{min-width:0}.about-narrative section{margin:0 0 48px}.about-narrative section h2{font-size:clamp(24px,2.7vw,32px);line-height:1.15;margin:0 0 24px;letter-spacing:-.04em}.about-narrative p{color:var(--muted);font-size:16px;line-height:1.9;margin-bottom:24px;max-width:65ch}.dm-link{color:var(--red);text-decoration:underline;text-underline-offset:5px}.reading-page{max-width:800px;margin:64px auto 96px}.article-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-bottom:40px;font:12px/1.5 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.article-back:is(:hover,:focus-visible){color:var(--red)}.article-header{position:relative;padding:0 0 40px;margin-bottom:40px;border-bottom:1px solid var(--line)}.article-header:after{content:"";position:absolute;bottom:-1px;left:0;width:80px;height:3px;background:var(--red)}.article-header .eyebrow{color:var(--red);margin-bottom:24px}.article-header h1{font-size:clamp(36px,4.6vw,64px);line-height:1.05;letter-spacing:-.055em;font-weight:500;margin:0 0 32px;overflow-wrap:anywhere}.post-date{display:inline-block;font:12px/1.5 var(--mono);color:var(--muted)}.demo-launch{display:flex;width:fit-content;margin-top:24px}.markdown-content{min-width:0;overflow-wrap:anywhere;font-size:17px;line-height:1.95;color:var(--text)}.markdown-content p{margin:0 0 24px}.markdown-content>:is(p,ul,ol,blockquote){max-width:65ch}.markdown-content h1{font-size:36px;margin:48px 0 24px}.markdown-content h2{font-size:30px;line-height:1.2;margin:48px 0 24px;letter-spacing:-.04em}.markdown-content h3{font-size:24px;line-height:1.3;margin:32px 0 16px}.markdown-content h4{font-size:20px;margin:24px 0 16px}.markdown-content ul,.markdown-content ol{padding-left:1.4em;margin:0 0 24px;list-style:disc}.markdown-content ol{list-style:decimal}.markdown-content li{margin-bottom:8px;padding-left:4px}.markdown-content li>ul{margin-top:8px}.markdown-content a{color:var(--red);text-decoration:underline;text-underline-offset:5px}.markdown-content strong{font-weight:600}.markdown-content code{font-family:var(--mono);font-size:.8em;background:var(--panel);padding:2px 4px;color:var(--cyan);border:1px solid var(--line)}.markdown-content pre{max-width:100%;overflow-x:auto;padding:24px;background:var(--panel);border:1px solid var(--line);line-height:1.8;margin:24px 0}.markdown-content pre code{padding:0;border:0;color:var(--text)}.markdown-content table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:24px 0;font-size:14px}.markdown-content th,.markdown-content td{padding:12px 16px;border:1px solid var(--line);text-align:left}.markdown-content th{background:var(--panel);font-weight:600}.markdown-content blockquote{border-left:3px solid var(--red);margin:32px 0;padding:8px 0 8px 24px;color:var(--muted)}.markdown-content blockquote p:last-child{margin-bottom:0}.markdown-content img{max-width:100%;height:auto}.markdown-content hr{border:0;border-top:1px solid var(--line);margin-block:40px}.translation-notice{padding:16px;background:var(--panel);border:1px solid var(--line);color:var(--muted);font-size:14px}.not-found-page{min-height:80vh;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-block:64px}.not-found-page>svg{width:min(240px,80%);margin-bottom:48px;stroke:var(--red);stroke-width:2}.not-found-page h1{max-width:12ch;margin-bottom:24px}.not-found-page>p:not(.eyebrow){color:var(--muted);max-width:45ch}@media(prefers-reduced-motion:no-preference){.project-card{transition:border-color .3s var(--motion-ease),background-color .3s var(--motion-ease)}.project-visual .diagram-core,.project-visual .diagram-accent{transition:transform .7s var(--motion-ease);transform-origin:center}.project-card:is(:hover,:focus-within) .project-visual .diagram-core{transform:scale(1.05)}.project-card:is(:hover,:focus-within) .project-visual-audio .diagram-accent{transform:scaleY(.8)}.report-card{transition:border-color .3s var(--motion-ease)}}@media(max-width:1300px){.notes-archive{gap:32px;grid-template-columns:200px minmax(0,1fr)}.report-card{grid-template-columns:1fr;gap:16px}.about-layout{gap:40px}.archive-intro{column-gap:32px}}@media(max-width:700px){.page-intro{padding:48px 0 32px}.archive-intro{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.archive-intro .eyebrow{margin:0}.archive-intro>p:last-of-type{max-width:46ch}.archive-intro-mark{top:40px;font-size:24px}.page-intro h1{font-size:clamp(48px,10vw,72px)}.project-library{gap:24px;margin-bottom:64px}.project-card,.project-card-featured{grid-template-columns:1fr}.project-visual,.project-card-featured .project-visual{min-height:0;aspect-ratio:440 / 240}.project-visual svg{max-height:100%}.project-body,.project-card-featured .project-body{padding:24px}.project-card :is(h2,h3){font-size:30px}.project-card p{font-size:14px}.project-meta{margin-bottom:16px}.project-links{gap:8px 16px}.notes-archive{display:block;margin-bottom:64px}.archive-tools{margin-bottom:32px;padding-top:0}.report-search{margin-bottom:24px}.report-card{padding-block:24px}.report-title{font-size:24px}.pagination-controls{justify-content:center;gap:12px}.pagination-pages{order:3;width:100%}.pagination-button{flex:1}.about-heading{padding:48px 0 32px}.about-heading h1{font-size:clamp(48px,11vw,72px)}.about-layout{display:block;padding-top:32px}.profile-dossier{margin-bottom:40px}.profile-glyph{height:80px}.profile-glyph span{height:72px}.profile-meta{gap:4px}.about-narrative section{margin-bottom:40px}.about-narrative section h2{font-size:24px}.intro.about-dossier{margin-bottom:64px}.reading-page{margin:40px auto 64px}.article-back{margin-bottom:32px}.article-header{padding-bottom:32px;margin-bottom:32px}.article-header h1{font-size:clamp(32px,7vw,48px);margin-bottom:24px}.markdown-content{font-size:16px;line-height:1.85}.markdown-content h1{font-size:30px}.markdown-content h2{font-size:24px}.markdown-content h3{font-size:20px}.markdown-content pre{padding:16px}}@media(prefers-reduced-motion:no-preference){body,.scene-shell,.project-card,.chat-panel,.chat-header,.chat-message{transition:background-color .35s var(--motion-ease),color .35s var(--motion-ease),border-color .35s var(--motion-ease)}:is(button,.button-primary){transition:transform .25s var(--motion-ease),background-color .3s var(--motion-ease),color .25s var(--motion-ease),border-color .3s var(--motion-ease)}:is(button,.button-primary):active:not(:disabled){transform:scale(.98)}.button-primary .ui-icon,.text-link .ui-icon,.note-arrow{transition:transform .35s var(--motion-ease)}.hero-greeting,.hero-identity,.hero-statement,.hero-description,.hero-actions{animation:type-arrive .85s var(--motion-ease) backwards}.hero-identity{animation-delay:.06s}.hero-statement{animation-delay:.12s}.hero-description{animation-delay:.18s}.hero-actions{animation-delay:.24s}.city-silhouette{animation:city-arrive 1.1s var(--motion-ease) both}.night-scene{animation:type-arrive 1s var(--motion-ease) .15s backwards}.theme-toggle svg{animation:theme-symbol-in .4s var(--motion-ease) both}.chat-message{animation:type-arrive .25s var(--motion-ease) both}.project-links a{transition:color .25s var(--motion-ease),transform .25s var(--motion-ease)}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation-duration:.38s;animation-timing-function:var(--motion-ease)}@media(hover:hover){:is(button,.button-primary):hover:not(:disabled):not(:active){transform:translateY(-2px)}.button-primary:hover .ui-icon,.text-link:hover .ui-icon,.notes-list a:hover .note-arrow{transform:translate(3px,-2px)}}}@keyframes type-arrive{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes city-arrive{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes theme-symbol-in{0%{opacity:0;transform:rotate(-35deg) scale(.7)}to{opacity:1;transform:rotate(0) scale(1)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}::view-transition-group(root),::view-transition-old(root),::view-transition-new(root){animation:none!important}}
