@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::-moz-placeholder{opacity:1}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::-moz-placeholder{color:currentColor}::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::-moz-placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.sticky{position:sticky}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.ring,.shadow{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./archivo-vietnamese-wght-normal.XAtsl5Q_.woff2)format("woff2-variations");unicode-range:u+102-103,u+110-111,u+128-129,u+168-169,u+1a0-1a1,u+1af-1b0,u+300-301,u+303-304,u+308-309,u+323,u+329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./archivo-latin-ext-wght-normal.C4zznr8T.woff2)format("woff2-variations");unicode-range:u+100-2ba,u+2bd-2c5,u+2c7-2cc,u+2ce-2d7,u+2dd-2ff,u+304,u+308,u+329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./archivo-latin-wght-normal.E0tuGl4L.woff2)format("woff2-variations");unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff)format("woff");unicode-range:u+460-52f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2)format("woff2"),url(./ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff)format("woff");unicode-range:u+301,u+400-45f,u+490-491,u+4b0-4b1,u+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2)format("woff2"),url(./ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff)format("woff");unicode-range:u+102-103,u+110-111,u+128-129,u+168-169,u+1a0-1a1,u+1af-1b0,u+300-301,u+303-304,u+308-309,u+323,u+329,u+1ea0-1ef9,u+20ab}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2)format("woff2"),url(./ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff)format("woff");unicode-range:u+100-2ba,u+2bd-2c5,u+2c7-2cc,u+2ce-2d7,u+2dd-2ff,u+304,u+308,u+329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2)format("woff2"),url(./ibm-plex-mono-latin-400-normal.CvHOgSBP.woff)format("woff");unicode-range:u+??,u+131,u+152-153,u+2bb-2bc,u+2c6,u+2da,u+2dc,u+304,u+308,u+329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}:root{--bg:#0b0f12;--surface:#10171c;--ink:#e8edf1;--muted:#a4b0b9;--subtle:#80909b;--accent:#e66c52;--line:#29343c;--art-bg:#11191f;--art-line:#728893;--plate-front:#2b3942;--plate-back:#10191f;--plate-line:#6e808a;--font:"Archivo Variable",system-ui,sans-serif;--mono:"IBM Plex Mono",monospace;--edge:clamp(24px,4.5vw,88px);--nav-h:76px;color-scheme:dark}:root[data-theme=light]{--bg:#f1f3f4;--surface:#e7ecee;--ink:#172028;--muted:#52616a;--subtle:#61717a;--accent:#b43c27;--line:#cbd4d9;--art-bg:#e7ecee;--art-line:#6d7f89;--plate-front:#d3dde1;--plate-back:#a6b5bd;--plate-line:#617683;color-scheme:light}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--nav-h) + 24px)}body,html{background:var(--bg)}body{color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.6}button,select{font:inherit;color:inherit}a,button,summary{-webkit-tap-highlight-color:transparent}button,summary{cursor:pointer}a{color:inherit;text-decoration:none}button{background:0 0;border:0;padding:0}blockquote,figure,h1,h2,h3,p,ul{margin:0}h1,h2,h3{font-weight:560}ul{padding:0;list-style:none}img,svg{max-width:100%;display:block}summary{list-style:none}summary::-webkit-details-marker{display:none}:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::-moz-selection{background:var(--accent);color:var(--bg)}::selection{background:var(--accent);color:var(--bg)}.page-edge{padding-inline:var(--edge);max-width:1920px;margin-inline:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.anchor-alias{scroll-margin-top:100px;position:absolute;top:0}.skip-link{z-index:100;color:var(--bg);background:var(--ink);padding:12px 22px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:none}.eyebrow{font:400 12px/1.6 var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.text-link{border-bottom:1px solid var(--accent);align-items:center;gap:36px;min-height:44px;font-size:14px;font-weight:550;display:inline-flex}.text-link>span{color:var(--accent);font-size:22px;transition:transform .2s}.text-link:hover>span{transform:translate(3px,-3px)}a:active,button:active{opacity:.75}.site-header{height:var(--nav-h);z-index:30;background:var(--bg);border-bottom:1px solid var(--line);justify-content:space-between;gap:32px;position:sticky;top:0}.brand,.site-header{align-items:center;display:flex}.brand{letter-spacing:-.03em;white-space:nowrap;gap:14px;font-size:16px}.brand>svg{width:31px;height:31px;color:var(--accent)}.brand>span>span{color:var(--muted)}.desktop-nav{gap:32px;display:flex}.desktop-nav a{min-height:44px;color:var(--muted);align-items:center;font-size:12px;display:flex;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ink)}.desktop-nav a[aria-current]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-16px;left:0;right:0}.header-controls{align-items:center;gap:8px;display:flex}.language-button{font:12px var(--mono);width:44px;height:44px}.display-settings{position:relative}.display-settings summary{place-items:center;width:44px;height:44px;display:grid}.display-settings summary svg{width:21px;height:21px}.settings-panel{border:1px solid var(--line);background:var(--bg);width:250px;padding:20px;font-size:13px;position:absolute;top:52px;right:0}.settings-panel label{gap:12px;display:grid}.settings-panel select{background:var(--surface);border:1px solid var(--line);border-radius:0;padding:9px}.settings-panel button{text-align:left;justify-content:space-between;align-items:center;width:100%;min-height:44px;margin-top:15px;display:flex}.settings-panel button span{color:var(--accent)}.close-label,.mobile-menu,.mobile-menu[open] .menu-label{display:none}.mobile-menu[open] .close-label{display:block}.opening{min-height:calc(100svh - var(--nav-h));position:relative}.opening-frame{height:calc(100svh - var(--nav-h));min-height:590px;position:relative;overflow:clip}.opening-art{position:absolute;inset:0;container-type:size}.architecture-canvas{opacity:0;width:100%;height:100%;position:absolute;inset:0}.dragon-flight-canvas{z-index:20;pointer-events:none;position:fixed}.architecture-canvas.is-ready{opacity:1}.architecture-poster{width:min(54cqw,110cqh);max-width:none;height:auto;position:absolute;top:50%;left:71%;transform:translate(-50%,-50%)}.is-enhanced .architecture-poster{opacity:0}.hero-copy{z-index:2;pointer-events:none;padding-top:clamp(70px,11svh,138px);position:relative}.hero-copy .eyebrow{color:var(--muted);max-width:490px}.hero-copy h1{letter-spacing:-.065em;transform-origin:0;max-width:760px;margin-top:33px;font-size:clamp(74px,7.4vw,130px);font-weight:590;line-height:1.07}.name-first{letter-spacing:-.035em;font-size:.34em;font-weight:450;line-height:1.5;display:block}.name-last{white-space:nowrap;display:block}.name-word{display:inline-block}.name-word+.name-word{margin-left:.035em}.hero-statement{letter-spacing:-.045em;margin-top:26px;font-size:clamp(21px,2.35vw,38px);line-height:1.22}.hero-description,.hero-statement>span{color:var(--muted)}.hero-description{max-width:355px;margin-top:20px;font-size:14px;line-height:1.65}.hero-link{pointer-events:auto;margin-top:24px}.hero-caption{font:12px/1.8 var(--mono);color:var(--muted);justify-content:space-between;display:flex;position:absolute;bottom:26px;left:0;right:0}.hero-caption b{color:var(--ink);font-weight:400}.art-caption{text-align:right}.hero-bottom-rule{background:var(--line);height:1px;bottom:0;left:var(--edge);right:var(--edge);position:absolute}.selected-work{padding-top:130px;padding-bottom:120px}.section-intro h2{letter-spacing:-.065em;margin:20px 0;font-size:clamp(38px,5.5vw,82px);line-height:1.1}.section-intro>p:last-child{color:var(--muted)}.work-spread{grid-template-columns:1.2fr 1fr;align-items:center;gap:clamp(40px,7vw,120px);padding-block:85px;display:grid}.work-visual{background:var(--art-bg);min-width:0;position:relative}.work-number{font:12px var(--mono);color:var(--muted);position:absolute;top:22px;left:24px}.project-art{width:100%;height:auto}.visual-caption{border-top:1px solid var(--line);font:12px/1.4 var(--mono);color:var(--muted);justify-content:space-between;gap:16px;padding:18px 24px;display:flex}.visual-caption>span:first-child{color:var(--ink)}.work-category{color:var(--accent);font:12px/1.4 var(--mono);margin-bottom:22px}.work-copy h3{letter-spacing:-.045em;white-space:pre-line;font-size:clamp(30px,3.35vw,53px);line-height:1.12}.work-description{max-width:43ch;font-size:16px;line-height:1.75}.stack-list,.work-description{color:var(--muted);margin-top:25px}.stack-list{font:12px/1.7 var(--mono);flex-wrap:wrap;gap:18px;display:flex}.work-actions{margin-top:25px}.engineering-note{max-width:47ch;margin-top:25px}.engineering-note summary{border-top:1px solid var(--line);min-height:44px;color:var(--muted);justify-content:space-between;align-items:center;font-size:12px;display:flex}.engineering-note summary>span{color:var(--accent);font-size:20px}.engineering-note[open] summary>span{transform:rotate(45deg)}.engineering-note>div{color:var(--muted);font-size:14px}.engineering-note>div p{margin-block:14px}.work-goviet,.work-lumi{grid-template-columns:1fr 1.2fr}.work-goviet .work-visual,.work-lumi .work-visual{order:2}.work-citadel{grid-template-columns:1.3fr 1fr}.work-spread+.work-spread{border-top:1px solid var(--line)}.project-directory{background:var(--surface);padding-block:100px 120px;position:relative}.directory-heading{justify-content:space-between;align-items:flex-end;gap:70px;margin-bottom:70px;display:flex}.directory-heading h2{white-space:pre-line;letter-spacing:-.055em;margin-top:20px;font-size:clamp(42px,5.2vw,80px);line-height:1.05}.directory-heading>p{max-width:300px;color:var(--muted);font-size:16px}.directory-heading>p>span{color:var(--accent);font:12px var(--mono);margin-top:28px;display:block}.directory-groups{grid-template-columns:1fr 1.2fr 1fr;gap:45px;display:grid}.directory-group h3{font:12px var(--mono);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:20px;display:flex}.directory-group h3>span{color:var(--muted)}.directory-link{align-items:center;gap:12px;min-height:93px;display:flex;position:relative}.directory-link>svg{width:52px;height:52px;color:var(--subtle);flex-shrink:0;transition:color .2s,transform .3s}.directory-link.is-active>svg,.directory-link:focus-visible>svg,.directory-link:hover>svg{color:var(--accent);transform:rotate(-8deg)}.directory-link>div{flex:1;min-width:0}.directory-link strong{font-size:14px;font-weight:500;line-height:1.35;display:block}.directory-link>div>span{font:12px/1.4 var(--mono);color:var(--muted);overflow-wrap:anywhere;margin-top:8px;display:block}.archive-label,.directory-arrow{color:var(--muted)}.archive-label{font:12px var(--mono)}.person-scene{grid-template-columns:.85fr 1.15fr;align-items:start;gap:60px 12%;padding-block:150px 110px;display:grid;position:relative}.portrait{max-width:460px;margin-top:35px}.portrait,.portrait>img{width:100%;position:relative}.portrait>img{aspect-ratio:4/5;-o-object-fit:cover;object-fit:cover;filter:grayscale();z-index:1;height:auto}.portrait figcaption{font:12px/1.5 var(--mono);color:var(--muted);justify-content:space-between;gap:15px;margin-top:20px;display:flex}.portrait-outline{border:1px solid var(--accent);opacity:.5;position:absolute;inset:26px -24px 40px 24px}.person-copy h2{white-space:pre-line;letter-spacing:-.055em;font-size:clamp(36px,4.1vw,65px);line-height:1.08}.about-prose{color:var(--muted);margin-top:35px;font-size:16px;line-height:1.8}.about-prose p+p{margin-top:16px}.about-prose strong{color:var(--ink);font-weight:500}.person-copy blockquote{border-left:2px solid var(--accent);letter-spacing:-.025em;margin-block:40px;padding-left:22px;font-size:clamp(18px,1.8vw,27px);line-height:1.45}.career-list{scroll-margin-top:100px}.career-list details{border-top:1px solid var(--line)}.career-list summary{grid-template-columns:55px 1fr 16px;align-items:center;gap:20px;padding-block:21px;display:grid}.career-year{font:12px var(--mono);color:var(--accent)}.career-list strong{font-size:16px;font-weight:550}.career-list small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.career-list summary>span:last-child{color:var(--accent)}.career-list details[open] summary>span:last-child{transform:rotate(45deg)}.career-list details>div{color:var(--muted);padding:0 0 25px 75px;font-size:14px}.career-list details>div p+p{margin-top:16px}.career-meta{font:12px/1.6 var(--mono)}.practice{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:.85fr 1.15fr;gap:12%;margin-top:20px;padding-top:40px;scroll-margin-top:100px;display:grid}.practice h3{letter-spacing:-.03em;font-size:20px}.practice ul{grid-template-columns:1fr 1fr;gap:4px 24px;display:grid}.practice summary{justify-content:space-between;align-items:center;min-height:50px;font-size:13px;display:flex}.practice summary>span{color:var(--accent)}.practice details[open] summary>span{transform:rotate(45deg)}.practice details>p{color:var(--muted);padding-block:0 20px;font-size:13px}.writing-scene{border-top:1px solid var(--line);padding-block:100px 130px;position:relative}.writing-heading{justify-content:space-between;align-items:center;gap:32px;margin-bottom:50px;display:flex}.writing-heading h2{letter-spacing:-.045em;font-size:clamp(28px,3.3vw,52px);line-height:1.2}.writing-heading .text-link{white-space:nowrap}.writing-list a{border-top:1px solid var(--line);grid-template-columns:130px 1fr 125px;align-items:center;gap:32px;padding-block:28px;display:grid}.post-date,.reading-time{font:12px/1.5 var(--mono);color:var(--muted)}.writing-list h3{letter-spacing:-.025em;max-width:850px;font-size:clamp(17px,1.9vw,26px);line-height:1.3}.reading-time{text-align:right;white-space:nowrap}.reading-time i{margin-left:15px;font-size:21px;font-style:normal}.reading-time i,.writing-list a:hover h3{color:var(--accent)}.contact-scene{border-top:1px solid var(--line);padding-top:95px;position:relative;overflow:hidden}.contact-intro{z-index:1;position:relative}.contact-intro>p{color:var(--muted);margin-bottom:30px;font-size:14px}.contact-intro h2{white-space:pre-line;letter-spacing:-.065em;font-size:clamp(60px,8.5vw,145px);font-weight:520;line-height:1.05}.contact-email{letter-spacing:-.035em;border-bottom:1px solid var(--accent);align-items:center;gap:40px;margin-top:30px;padding-block:16px;font-size:clamp(18px,2.4vw,38px);display:inline-flex}.contact-email>span{color:var(--accent)}.contact-signature{width:35%;color:var(--line);opacity:.6;position:absolute;top:150px;right:3%;transform:rotate(-14deg)}.social-links{z-index:1;flex-wrap:wrap;gap:32px;margin-top:80px;display:flex;position:relative}.social-links a{align-items:center;gap:14px;min-height:44px;font-size:12px;display:flex}.social-links a>span{color:var(--accent)}.colophon{border-top:1px solid var(--line);font:12px/1.6 var(--mono);color:var(--muted);justify-content:space-between;gap:30px;margin-top:44px;padding-block:27px;display:flex}@media(min-width:1700px){.hero-copy{padding-top:13svh}.hero-description{max-width:420px;font-size:16px}}@media(max-height:760px)and (min-width:760px){.hero-copy{padding-top:52px}.hero-copy h1{margin-top:22px;font-size:82px}.hero-statement{margin-top:20px;font-size:27px}.hero-description{margin-top:14px}.hero-link{margin-top:18px}.hero-caption{bottom:20px}}@media(max-width:1100px){.desktop-nav{gap:20px}.work-spread{gap:40px}.directory-groups{gap:24px}.directory-link{gap:6px}.directory-link>svg{width:42px}.directory-link strong{font-size:13px}.person-scene{gap:55px 8%}.hero-copy h1{font-size:76px}.hero-statement{font-size:26px}.hero-description{max-width:310px}}@media(max-width:759px){:root{--edge:24px;--nav-h:64px}.site-header{gap:12px}.desktop-nav{display:none}.brand{gap:9px;font-size:14px}.brand svg{width:27px}.header-controls{gap:0}.display-settings summary,.language-button{width:38px}.menu-toggle{place-items:center;min-width:45px;min-height:44px;margin-left:5px;font-size:12px;display:grid}.mobile-menu{display:block}.mobile-nav{top:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--line);padding:18px var(--edge) 28px;display:grid;position:absolute;left:0;right:0}.mobile-nav a{justify-content:space-between;align-items:center;min-height:52px;font-size:20px;display:flex}.mobile-nav a>span{color:var(--accent)}.settings-panel{right:-45px}.selected-work{padding-block:75px 65px}.section-intro h2{margin-block:18px;font-size:42px}.section-intro>p:last-child{font-size:14px}.work-citadel,.work-goviet,.work-lumi,.work-spread{grid-template-columns:1fr;gap:32px;padding-block:55px}.work-goviet .work-visual,.work-lumi .work-visual{order:0}.work-visual{margin-inline:-8px}.work-copy h3{font-size:34px}.work-category{margin-bottom:16px;font-size:12px}.work-description{max-width:none;margin-top:20px;font-size:16px}.visual-caption{padding:16px 18px;font-size:12px}.stack-list{font-size:12px}.stack-list,.work-actions{margin-top:20px}.project-directory{padding-block:70px}.directory-heading{margin-bottom:45px;display:block}.directory-heading h2{font-size:46px}.directory-heading>p{max-width:35ch;margin-top:25px;font-size:14px}.directory-heading>p>span{margin-top:18px}.directory-groups{grid-template-columns:1fr;gap:40px}.directory-group h3{font-size:12px}.directory-link{gap:18px;min-height:80px}.directory-link>svg{width:54px;height:54px}.directory-link strong{font-size:16px}.archive-label,.directory-link>div>span{font-size:12px}.person-scene{grid-template-columns:1fr;gap:55px;padding-block:80px}.portrait{width:74%;max-width:380px;margin-top:0}.portrait-outline{inset:22px -20px 45px 20px}.portrait figcaption{font-size:12px}.person-copy h2{font-size:42px}.about-prose{margin-top:26px;font-size:16px}.person-copy blockquote{margin-block:30px;font-size:21px}.career-list summary{grid-template-columns:45px 1fr 14px;gap:12px}.career-list details>div{padding-left:57px}.practice{grid-template-columns:1fr;gap:25px;margin-top:0}.practice h3{font-size:20px}.practice summary{font-size:12px}.writing-scene{padding-block:70px}.writing-heading{margin-bottom:25px;display:block}.writing-heading h2{font-size:35px}.writing-heading .text-link{margin-top:22px}.writing-list a{grid-template-columns:1fr auto;gap:14px;padding-block:23px}.writing-list h3{grid-area:2/1/auto/-1;font-size:20px}.reading-time{grid-area:1/2}.contact-scene{padding-top:65px}.contact-intro>p{max-width:28ch;font-size:13px}.contact-intro h2{font-size:clamp(46px,11vw,76px)}.contact-email{gap:24px;margin-top:22px;font-size:21px}.contact-signature{width:60%;top:330px;right:-16%}.social-links{gap:10px 30px;max-width:320px;margin-top:50px}.colophon{grid-template-columns:1fr auto;gap:10px;margin-top:32px;font-size:12px;display:grid}.colophon>span:nth-child(2){grid-area:2/1}.colophon>a{text-align:right;grid-area:1/2/3;align-self:center;max-width:100px}}@media(max-width:359px){:root{--edge:18px}.brand>span{font-size:12px}.hero-copy h1{font-size:47px}.hero-copy .eyebrow{max-width:240px}.contact-email{gap:18px;font-size:19px}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media(max-width:999px){.opening-frame{height:calc(100svh - var(--nav-h));min-height:580px;padding:clamp(18px,3svh,32px) var(--edge) 18px;grid-template-rows:auto auto auto minmax(130px,1fr) auto auto auto;grid-template-columns:minmax(0,1fr);gap:8px;display:grid;position:relative}.hero-copy{display:contents}.hero-copy>*{z-index:2;position:relative}.hero-copy .eyebrow{letter-spacing:.045em;grid-row:1;max-width:none;font-size:10px}.hero-copy h1{grid-row:2;max-width:none;margin:0;font-size:clamp(46px,9vw,74px)}.name-first{font-size:.36em}.hero-statement{grid-row:3;margin:0;font-size:clamp(18px,2.4vw,23px)}.hero-statement br{display:none}.hero-statement>span{display:block}.opening-art{height:100%;min-height:130px;width:calc(100% + var(--edge)*2);margin-left:calc(var(--edge)*-1);grid-row:4;position:relative;inset:auto}.architecture-poster{width:min(90cqw,130cqh);left:50%}.hero-description{grid-row:5;max-width:46ch;margin:0;font-size:13px;line-height:1.5}.hero-link{grid-row:6;justify-self:start;min-height:40px;margin:0;font-size:13px}.hero-caption{grid-row:7;gap:16px;width:100%;margin:2px 0 0;padding:0;font-size:9px;display:flex;position:relative;inset:auto}.hero-bottom-rule{bottom:0}}@media(max-height:680px)and (max-width:999px){.opening-frame{gap:5px;min-height:0;padding-block:14px}.hero-caption{display:none}.hero-copy h1{font-size:clamp(42px,8vw,64px)}.hero-statement{font-size:16px}}@media(max-height:539px){.opening-frame{height:auto;min-height:600px;position:relative;top:auto}}@media print{.contact-signature,.display-settings,.dragon-flight-canvas,.hero-caption,.opening-art,.site-header{display:none!important}:root{--bg:#fff;--ink:#000;--muted:#333;--accent:#333;--line:#aaa}.opening,.opening-frame,.opening.is-enhanced,.opening.is-enhanced .opening-frame{height:auto;min-height:0;position:relative}.hero-copy{padding:20px;opacity:1!important;transform:none!important}.hero-description{margin-top:20px}.person-scene,.work-spread{-moz-column-break-inside:avoid;break-inside:avoid}}html[data-motion=static]{scroll-behavior:auto}html:not([data-js]) .display-settings,html:not([data-js]) .language-button{display:none}.journey-progress{z-index:55;top:var(--nav-h);pointer-events:none;background:var(--accent);transform-origin:0;width:100%;height:2px;display:none;position:fixed;left:0}.choreography-on .journey-progress{display:block}.continuity-canvas{z-index:8;pointer-events:none;width:100%;height:100%;display:none;position:fixed;inset:0}.choreography-on .continuity-canvas{display:block}.choreography-on.dragon-integrated .continuity-canvas{display:none}.handoff-art>svg{width:100%;height:auto;display:block}.choreography-on :is(.work-visual,.ecosystem-instrument)>.handoff-art{scale:calc(1 - var(--handoff-out,0)*.08 + var(--handoff-in,0)*.07);opacity:calc(1 - var(--handoff-out,0)*.18)}.choreography-on .person-scene .portrait-outline{border-color:var(--accent)}@supports (color:color-mix(in lab,red,red)){.choreography-on .person-scene .portrait-outline{border-color:color-mix(in srgb,var(--accent) calc(50% + var(--handoff-in,0)*50%),transparent)}}.choreography-on .writing-ribbon{opacity:calc(1 - var(--handoff-out,0)*.15)}.choreography-on .contact-signature{opacity:calc(.6 + var(--handoff-in,0)*.4)}.work-visual{overflow:hidden}.book-drift{transform-origin:50%}.signal-orbit,.signal-wave{transform-origin:320px 255px}.tower-range{transform-box:fill-box;transform-origin:50%}.citadel-unit{offset-path:path("M83 271L209 346L309 284L218 230L328 160L485 251L388 310L442 343");offset-distance:35%}.drive-chunk{offset-path:path("M198 212C282 212 300 150 432 168");offset-distance:30%;offset-rotate:0deg}.drive-caption{font:12px var(--mono);fill:var(--muted);letter-spacing:.06em}.goviet-input{font:15px var(--mono);fill:var(--muted);letter-spacing:.08em}.goviet-word{font:500 54px var(--font);fill:var(--ink);letter-spacing:-.04em}.goviet-key-label{font:14px var(--mono);fill:var(--art-line)}.goviet-key-label.is-accent{fill:var(--accent)}.goviet-signal{opacity:.35;stroke-dasharray:.08 .06}.ecosystem-instrument{width:min(100%,570px);margin:-50px auto 45px;position:relative}.ecosystem-instrument .handoff-art>svg{width:100%;height:auto;overflow:visible}.ecosystem-count{font:24px var(--mono);fill:var(--ink)}.ecosystem-sweep{transform-origin:300px 250px}.node-connection{stroke:var(--line);transition:stroke .35s}.node-core{fill:var(--art-line);transition:fill .35s}.node-halo{stroke:var(--art-line);opacity:.4;transform-box:fill-box;transform-origin:50%}.ecosystem-node.is-active .node-connection{stroke:var(--accent)}.ecosystem-node.is-active .node-core{fill:var(--accent)}.ecosystem-node.is-active .node-halo{stroke:var(--accent);opacity:1}.ecosystem-caption{font:12px var(--mono);color:var(--muted);justify-content:space-between;gap:20px;padding-inline:30px;display:flex}.ecosystem-caption strong{color:var(--accent);font-weight:400}.directory-link{transition:background .25s,padding .35s}.directory-link:focus-visible,.directory-link:hover{background:var(--accent)}@supports (color:color-mix(in lab,red,red)){.directory-link:focus-visible,.directory-link:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}}.directory-link:focus-visible,.directory-link:hover{padding-inline:8px}.directory-link>svg path{transform-origin:40px 40px}.portrait-window{z-index:1;aspect-ratio:4/5;position:relative;overflow:hidden}.portrait-window img{-o-object-fit:cover;object-fit:cover;filter:grayscale();width:100%;height:100%}.portrait-scan{pointer-events:none;border-top:1px solid var(--accent);background:linear-gradient(180deg,var(--accent),transparent 20%);display:none;position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.portrait-scan{background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 12%,transparent),transparent 20%)}}.writing-stream{width:100%;height:clamp(100px,17vw,220px);margin-bottom:45px;overflow:hidden}.writing-stream path{stroke:var(--art-line);stroke-width:1px;opacity:.32}.writing-stream .stream-highlight{stroke:var(--accent);stroke-width:1.5px;opacity:.8}.signature-layer{position:absolute;inset:0}.signature-layer:first-child{position:relative}.signature-layer svg{width:100%;height:auto;overflow:visible}.signature-layer path{fill:none;stroke:var(--accent);stroke-width:.018px}.signature-layer:last-child path{fill:var(--accent);opacity:.22}@media(prefers-reduced-motion:no-preference){.choreography-on .book-drift{animation:book-drift 6s ease-in-out infinite alternate paused}.choreography-on .signal-wave{animation:signal-breathe 3.8s ease-in-out var(--wave-delay) infinite alternate paused}.choreography-on .signal-orbit{animation:observatory-orbit 10s linear infinite paused}.choreography-on .tower-range{animation:tower-pulse 3s ease-out var(--pulse-delay) infinite paused}.choreography-on .citadel-unit{animation:unit-travel 9s linear var(--unit-delay) infinite paused}.choreography-on .goviet-keypress{animation:goviet-keypress 4.2s ease-in-out var(--key-delay) infinite paused}.choreography-on .goviet-signal{stroke-dasharray:.14 .86;animation:goviet-signal 4.2s linear var(--key-delay) infinite paused}.choreography-on .drive-chunk{animation:drive-chunk 4.4s ease-in var(--chunk-delay) infinite paused}.choreography-on .goviet-caret{animation:goviet-caret 2.1s ease-in-out infinite paused}.choreography-on .ecosystem-sweep{animation:observatory-orbit 24s linear infinite paused}.choreography-on .node-halo{animation:node-pulse 3.6s ease-out var(--node-delay) infinite paused}.choreography-on .directory-link>svg path:nth-child(2n){animation:glyph-orbit 12s ease-in-out infinite alternate paused}.choreography-on .portrait-scan{animation:portrait-scan 6s ease-in-out infinite paused;display:block}.choreography-on .writing-stream .stream-highlight{stroke-dasharray:.16 .84;animation:stream-travel 4s linear var(--stream-delay) infinite paused}.choreography-on .contact-signature>.signature-layer svg{animation:signature-drift 7s ease-in-out infinite alternate paused}.choreography-on .is-in-view .directory-link>svg path,.choreography-on .is-in-view .signature-layer svg,.choreography-on .is-in-view :is(.book-drift,.signal-wave,.signal-orbit,.tower-range,.citadel-unit,.goviet-keypress,.goviet-signal,.goviet-caret,.drive-chunk,.ecosystem-sweep,.node-halo,.portrait-scan,.stream-highlight){animation-play-state:running}.choreography-on.motion-paused *,.choreography-on.motion-paused :before{animation-play-state:paused!important}}@keyframes book-drift{0%{transform:translateY(9px)rotate(-2deg)}to{transform:translateY(-13px)rotate(2deg)}}@keyframes goviet-keypress{0%,12%,38%,to{transform:translateY(0)}22%,28%{transform:translateY(5px)}}@keyframes goviet-signal{0%{stroke-dashoffset:1px;opacity:.2}45%{opacity:.85}to{stroke-dashoffset:0;opacity:.2}}@keyframes goviet-caret{0%,to{opacity:.25}50%{opacity:.9}}@keyframes signal-breathe{0%{transform:scaleY(.75)}to{transform:scaleY(1.12)}}@keyframes observatory-orbit{to{transform:rotate(1turn)}}@keyframes glyph-orbit{to{transform:rotate(55deg)}}@keyframes tower-pulse{0%{opacity:.8;transform:scale(.7)}to{opacity:0;transform:scale(1.55)}}@keyframes unit-travel{0%{offset-distance:0}to{offset-distance:100%}}@keyframes node-pulse{0%,to{opacity:.25;transform:scale(.65)}50%{opacity:.8;transform:scale(1.3)}}@keyframes portrait-scan{0%{opacity:0;transform:translateY(-10%)}12%,70%{opacity:.7}92%,to{opacity:0;transform:translateY(105%)}}@keyframes stream-travel{to{stroke-dashoffset:-1px}}@keyframes signature-drift{0%{translate:0 -7px}to{translate:0 7px}}@media(min-width:1000px){.project-directory{grid-template-columns:1fr 1fr;-moz-column-gap:5%;column-gap:5%;display:grid}.directory-heading{align-self:center;margin-bottom:50px;display:block}.directory-heading>p{max-width:36ch;margin-top:28px}.ecosystem-instrument{align-self:center;margin:-30px 0 50px}.directory-groups{grid-column:1/-1}.portrait{position:sticky;top:120px}}@media(max-width:759px){.ecosystem-instrument{margin:-20px auto 35px}.ecosystem-caption{padding-inline:8px}.writing-stream{margin-bottom:28px}.contact-signature{width:65%;top:270px;right:-10%}}@media print{.continuity-canvas,.journey-progress,.portrait-scan{display:none!important}.portrait-window{clip-path:none!important}}@keyframes drive-chunk{0%{offset-distance:0;opacity:0}12%{opacity:1}88%{opacity:1}to{offset-distance:100%;opacity:0}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
