:root{color-scheme:light dark;--bg: #f5efe7;--ink: #1e222b;--muted: #5d6b76;--accent: #cd6a34;--rule: #ddd4c8;--source-accent: #3f7185;--font-display: "Instrument Serif", georgia, serif;--font-body: georgia, "Times New Roman", serif;--font-mono: "Fragment Mono", ui-monospace, "SF Mono", monospace;--font-condensed: "Oswald", "Avenir Next Condensed", "Arial Narrow", sans-serif;--font-doc-serif: "Libertinus Serif", georgia, serif;--font-doc-mono: "DejaVu Mono", ui-monospace, monospace;--measure: 620px;--hero-stage-width: min(112vw, 72rem);--hero-stage-aspect: 1381 / 917;--hero-surface-overscan-x: 8%;--hero-surface-overscan-y: 10%;--hero-crop-x: 2254;--hero-crop-y: 494;--hero-crop-width: 1381;--hero-crop-height: 917;--hero-body-tone-shadow: #3c4450;--hero-body-tone-mid: #7d8b95;--hero-body-tone-highlight: #ddd6cb;--hero-body-opacity: .2;--hero-body-blend: multiply;--hero-body-chroma: 1.15;--hero-iris-core-opacity: .9;--hero-iris-glow-opacity: .09;--hero-iris-glow-radius: 3.5;--hero-iris-glow-color: #68dbe8;--hero-iris-dither-pixel: 3;--hero-iris-tone-shadow: .35;--hero-iris-tone-mid: .72;--hero-iris-tone-highlight: 1.05;--hero-gaze-x: .06;--hero-gaze-y: .04;--hero-pitch: 8;--hero-body-dither-pixel: 3;--hero-body-dither-pixel-y: 3;--hero-body-dither: bayer4;--hero-body-tone-count: 3;--hero-body-dither-bias: 0;--hero-body-tone-gamma: 1;--hero-body-invert: 0;--hero-body-scanline: 0;--hero-body-hue-shift: 0;--hero-body-saturation: 1;--ease-settle: cubic-bezier(.22, 1, .36, 1);--ease-draw: cubic-bezier(.45, .05, .25, 1)}@media(prefers-color-scheme:dark){:root{--bg: #14171e;--ink: #e6edf2;--muted: #8b9aa6;--accent: #ef9350;--rule: #2b313c;--source-accent: #a7d3e8;--hero-body-tone-shadow: #12151c;--hero-body-tone-mid: #3f5867;--hero-body-tone-highlight: #9dc3d6;--hero-body-opacity: .22;--hero-body-blend: screen;--hero-body-chroma: .85;--hero-iris-core-opacity: .86;--hero-iris-glow-opacity: .15;--hero-iris-glow-radius: 4.5}}@media(max-width:640px){:root{--hero-stage-width: min(140vw, 46rem);--hero-iris-glow-opacity: .07;--hero-iris-glow-radius: 2.75;--hero-gaze-x: .035;--hero-gaze-y: .025}}:root{--doc-bg: var(--bg);--doc-ink: var(--ink);--doc-muted: var(--muted);--doc-accent: var(--accent);--hero-z: 1}:root{--intro-hero-crop-x-slot: 2285;--intro-hero-crop-y-slot: 340;--intro-hero-crop-width-slot: 1320;--intro-hero-crop-height-slot: 1320;--intro-hero-body-opacity-slot: .96;--intro-hero-body-chroma-slot: .78;--intro-hero-glow-opacity-slot: .06;--intro-hero-glow-radius-slot: 3;--intro-slot-size: clamp(5.5rem, 13vw, 8.25rem);--page-dither-pixel: 3;--page-dither-top: .97;--page-dither-bottom: .76;--page-dither-flow: .06;--page-dither-flow-speed: 1;--page-dither-twinkle: 1;--page-dither-twinkle-boost: -.65;--page-dither-fps: 30;--annotation-ink: color-mix(in srgb, var(--ink) 46%, transparent);--annotation-size: 5.5rem;--annotation-draw-ms: .9s;--annotation-erase-ms: .62s}html[data-panel=open]{--page-dither-flow: .018;--page-dither-flow-speed: .55;--page-dither-twinkle: 0}@media(prefers-color-scheme:dark){:root{--page-dither-top: .04;--page-dither-bottom: .2;--page-dither-twinkle-boost: .7;--intro-hero-body-opacity-slot: .98;--intro-hero-body-chroma-slot: .7;--intro-hero-glow-opacity-slot: .12;--intro-hero-glow-radius-slot: 3.6;--annotation-ink: color-mix(in srgb, var(--ink) 32%, transparent)}}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-ext-400-normal.C2je3j2s.woff2) format("woff2"),url(/_astro/instrument-serif-latin-ext-400-normal.CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2) format("woff2"),url(/_astro/instrument-serif-latin-400-normal.BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAAAWUAA4AAAAABvAAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABRAAAABYAAAAWABEABEdQT1MAAAFcAAAAHgAAAB5EdEx1R1NVQgAAAXwAAAAnAAAAKLj8uOpPUy8yAAABpAAAAFUAAABgYo+sRGNtYXAAAAH8AAAAQgAAAFxB0OJbZ2FzcAAAAkAAAAAIAAAACAAAABBnbHlmAAACSAAAAT0AAAFaNhXKIGhlYWQAAAOIAAAANgAAADYqgLJdaGhlYQAAA8AAAAAfAAAAJBAY8MdobXR4AAAD4AAAABkAAAAiEYUB02xvY2EAAAP8AAAAFAAAABQBUAHKbWF4cAAABBAAAAAcAAAAIAAjAQBuYW1lAAAELAAAARoAAAJuNApRAXBvc3QAAAVIAAAASwAAAF2B645zAAEAAAAMAAAAAAAAAAIAAQABAAMAAQAAAAEAAAAKABwAHAABREZMVAAIAAQAAAAA//8AAAAAAAB42mNgZGBg4GJQA0ImFzefEAahnMSSPAY+BhBgARH//4NIAFpJBVUAeNotxbENQEAYhuH3/87hwhA3g1KvEANQGcAoKolJJKLR2AwJT/OQaLIFD5o1AN23jVRWgwofnF4JkAHi1zctXMS4u+NOwW0WIrYCqNQJRPIH7S0K2QAAAHjaY2BgYAJiZiAWAZKMYJqFwQNI8zFwAOXYGBQYHBkWMBxkZFLY8v8/UByF///J/wP/U/87/me8HwTUjQIAZb8SQgAAAAEAAf//AA942mJgAvQ4zXARx1H8vd8x2zx8riX/lW3btt2SzS3M7VN7t4Qte7q2ptx++sVnvy9UABBHogURyAAUCgcFUiWOxjTcMzbhnHGKaA2NZJ5O+tLJHDopA0s6GaCSqZwYJ2RE+Bz3GdfwMKozLh81XV3R+VT0wwyT6WdDtEk0gAB0T2Yywu5/ff2/Lqe1XfrB2/RG8sgJuEAQgJOC51iNSimVqXieCXd1cZYxLoovlro4uzLhvMDYEpVSw7G8oPLGVceU6KR8cYF4vK12yLbUcE7CjS2WxRlpRViAsR3J/RNiaRoeeAcJybFcWXN7pUadlJHkqYpJT4yMLA/rrXbwswNAlJACvCePIKKJwMhQ0jC4TQq2tmgKO6QUT4gOrCg6hkIQGKmUItiJlhcXy6PFhYkJhUSXlJSWmAhmxutO9wAAAAABAAAAAQLRsUtkZV8PPPUADwPoAAAAAN9+te8AAAAA3362EvlE/vcTHAOxAAAABgACAAAAAAAAeNpjYGRgYN72n42BgSnrp8t7P2EZoAgq4AAAe9wE3gB42mPKYogAYjkkzADFMgwMjKwM8wFSaARoAAAAAAAAFQAuADoARgBGAEYAiACWAK142mNgZGBg4GTIZ2Bn6GfgAvMQgIOBEQAZTQEkeNqNkQVOREEQRB/uxIPEfgR3d3d3iKHr7rvhWpyCQ3AYKpN1T6emvbvSA7TjpImG5g7gt2E3bTcw2DCcthvpbehP201s8pe2mxnnJ2238Mhb2m5llOW03SsL3MQlYWKsMyOJYSOKR5G47GnBg186RBSX8jcccylE+ZQfwEFQlVfKB4Up7hVxkVDPJ1Ge5UXNDOWxmGOaWeYkG1hms5NPEtIh3HjMLItRkqZyVVgUVphiCbvwxVjJbiu73Sranr/thSPOpOtkXuRV3nkghPk2N3PhNrl5ZoV5WY+41WGV9E/lcb4lKu1Vxma698w93ObiMXON4j9y4TEVCb6YVleIgKIpTfCkX+X4JIgrz5rBWcIikGYx9g9ueGIvAAB42mNgYgCD/3MYjIAUIwM64ARiFYaTjEwMzIzMjCyMrIxsbI5JRallqeyleZkGBo4GINrIwMmEMzG5tCQ1OT83CSxjbGAGANg9D2UA) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-ext-400-normal.BbKYyvR9.woff2) format("woff2"),url(/_astro/fragment-mono-latin-ext-400-normal.CT4YFKeK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Fragment Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/fragment-mono-latin-400-normal.yxdJ5AmL.woff2) format("woff2"),url(/_astro/fragment-mono-latin-400-normal.BYwT3kSJ.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Oswald;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/oswald-latin-500-normal.B-eyT0Dw.woff2) format("woff2"),url(/_astro/oswald-latin-500-normal.DM85Di4w.woff) format("woff")}@font-face{font-family:"Libertinus Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/libertinus-serif-latin-400-normal.UuLrF836.woff2) format("woff2"),url(/_astro/libertinus-serif-latin-400-normal.23LEb6vZ.woff) format("woff")}@font-face{font-family:"Libertinus Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/_astro/libertinus-serif-latin-400-italic.B2pw30VD.woff2) format("woff2"),url(/_astro/libertinus-serif-latin-400-italic.Yo4WIJgi.woff) format("woff")}@font-face{font-family:DejaVu Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/dejavu-mono-latin-400-normal.CC484euo.woff2) format("woff2"),url(/_astro/dejavu-mono-latin-400-normal.R91RS3ZJ.woff) format("woff")}*{box-sizing:border-box}html{min-width:320px;background:var(--bg);color-scheme:light dark}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,textarea,input{font:inherit}button{color:inherit}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-dither{position:fixed;inset:0;z-index:0;display:block;width:100%;height:100%;image-rendering:pixelated;pointer-events:none}.living-document{--document-edge: color-mix(in srgb, var(--rule) 78%, transparent);--document-surface: color-mix(in srgb, var(--bg) 18%, transparent);--editor-surface: color-mix(in srgb, var(--bg) 91%, transparent);--editor-shadow: color-mix(in srgb, var(--ink) 14%, transparent);--editor-inset: clamp(1rem, 3vw, 2.25rem);position:relative;z-index:1;isolation:isolate;min-height:100dvh}.hero-canvas-wrap{position:absolute;inset:0;z-index:var(--hero-z, 1);overflow:hidden;pointer-events:none;-webkit-mask-repeat:no-repeat;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;mask-size:100% 100%;-webkit-mask-image:radial-gradient(ellipse 54% 104% at 50% 104%,black 0 64%,rgba(0,0,0,.96) 70%,rgba(0,0,0,.58) 84%,transparent 100%);mask-image:radial-gradient(ellipse 54% 104% at 50% 104%,black 0 64%,rgba(0,0,0,.96) 70%,rgba(0,0,0,.58) 84%,transparent 100%)}.hero-poster,.hero-render-surface{position:absolute;pointer-events:none}.hero-poster{inset:0;z-index:1;display:block;width:100%;height:100%;opacity:1;transition:opacity .5s var(--ease-settle)}.hero-render-surface{z-index:2;top:calc(0% - var(--hero-surface-overscan-y));left:calc(0% - var(--hero-surface-overscan-x));width:calc(100% + var(--hero-surface-overscan-x) + var(--hero-surface-overscan-x));height:calc(100% + var(--hero-surface-overscan-y) + var(--hero-surface-overscan-y))}.hero-poster img,.hero-render-surface>canvas{position:absolute;inset:0;display:block;width:100%;height:100%}.hero-poster img{object-fit:fill}.hero-render-surface>canvas{pointer-events:none}.hero-canvas-wrap[data-live=true] .hero-poster{opacity:0}.document-stage{position:relative;z-index:2;display:grid;min-height:100dvh;place-items:start center;padding:clamp(3.5rem,9vw,8.5rem) clamp(1rem,6vw,5rem) clamp(10rem,16vw,14rem);transition:padding-right .36s var(--ease-settle),padding-left .36s var(--ease-settle)}.document-panel{display:grid;width:min(100%,48rem);transform:translateY(var(--panel-lift, 0px));transition:transform .62s var(--ease-settle),width .38s var(--ease-settle) .52s}[data-panel=collapsed] .document-panel{--panel-lift: var(--panel-center-offset, 0px)}.document-sheet,.semantic-document{grid-area:1 / 1;width:100%}.semantic-document-body{display:grid;grid-template-rows:1fr;transition:grid-template-rows .62s var(--ease-draw)}[data-panel=collapsed] .semantic-document-body{grid-template-rows:0fr}.semantic-document-body-inner{min-height:0;overflow:hidden}.semantic-document-body-inner{visibility:visible;transition:visibility 0s linear 0s}[data-panel=collapsed] .semantic-document-body-inner{visibility:hidden;transition-delay:.62s}.semantic-document-body-inner .semantic-document-copy>*{opacity:1;transform:none;transition:opacity .46s var(--ease-settle),transform .46s var(--ease-settle)}[data-panel=collapsed] .semantic-document-body-inner .semantic-document-copy>*{opacity:0;transform:translateY(1.4rem);transition-duration:.18s;transition-delay:0s}[data-panel=open] .semantic-document-body-inner .semantic-document-copy>*:nth-child(1){transition-delay:90ms}[data-panel=open] .semantic-document-body-inner .semantic-document-copy>*:nth-child(2){transition-delay:.16s}[data-panel=open] .semantic-document-body-inner .semantic-document-copy>*:nth-child(3){transition-delay:.23s}[data-panel=open] .semantic-document-body-inner .semantic-document-copy>*:nth-child(n+4){transition-delay:.3s}.panel-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:clamp(1.1rem,2.6vw,1.6rem)}.panel-links{display:flex;align-items:center;gap:.15rem;margin-left:-.55rem}.panel-link{display:grid;width:2.9rem;height:2.9rem;place-items:center;border-radius:50%;color:var(--accent);text-decoration:none;transition:background-color .18s var(--ease-settle)}.panel-link svg{width:1.5rem;height:1.5rem}.panel-link-ring{position:absolute;width:2.55rem;height:2.55rem;transform:rotate(-90deg);pointer-events:none}.panel-link-ring circle{fill:none;stroke:currentColor;stroke-width:1;stroke-dasharray:132;stroke-dashoffset:132;transition:stroke-dashoffset .42s var(--ease-draw)}.panel-link:hover .panel-link-ring circle,.panel-link:focus-visible .panel-link-ring circle{stroke-dashoffset:0}.panel-link{position:relative}.panel-link:hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}.about-toggle{min-width:5.5rem;min-height:2.75rem;padding:.55rem 1.1rem;border:1px solid color-mix(in srgb,var(--rule) 88%,transparent);background:var(--editor-surface);color:var(--ink);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.08em;line-height:1;text-transform:uppercase;cursor:pointer;transition:background-color .16s ease,color .16s ease}.about-toggle:hover{background:color-mix(in srgb,var(--accent) 7%,transparent);color:var(--accent)}.about-toggle[hidden]{display:none}.document-sheet{position:relative;align-self:stretch;padding:0;background:color-mix(in srgb,var(--bg) 88%,transparent);box-shadow:0 0 0 1px var(--document-edge),0 1px color-mix(in srgb,white 42%,transparent),0 22px 70px color-mix(in srgb,var(--ink) 11%,transparent);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.document-sheet:before{position:absolute;top:-1px;left:-1px;z-index:2;width:2.6rem;height:2px;background:var(--accent);content:"";pointer-events:none}.semantic-document{position:relative;z-index:1;min-width:0;padding:clamp(1.5rem,5.2vw,4rem);color:var(--ink);font-family:var(--font-doc-serif);font-size:clamp(1rem,.97rem + .16vw,1.075rem);line-height:1.56;text-wrap:pretty}.semantic-document-copy{width:min(100%,var(--measure));margin-inline:auto}.semantic-document h1,.semantic-document h2,.semantic-document h3,.semantic-document h4,.semantic-document p,.semantic-document dl,.semantic-document dd{margin-block:0}.letterhead,.panel-actions{width:min(100%,var(--measure));margin-inline:auto}.letterhead{display:flex;align-items:flex-start;gap:clamp(1rem,3vw,1.75rem);padding-bottom:clamp(1.75rem,4vw,2.5rem);border-bottom:1px solid var(--rule)}[data-panel=open] .letterhead{position:sticky;top:0;z-index:2;align-items:center;padding-top:.9rem;padding-bottom:clamp(1.1rem,2.5vw,1.6rem);background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.letterhead-avatar{position:relative;flex:none;width:var(--intro-slot-size);height:var(--intro-slot-size);border-radius:50%;background:color-mix(in srgb,var(--ink) 5%,transparent);box-shadow:inset 0 0 0 1px var(--document-edge)}.letterhead-avatar:after{position:absolute;inset:0;border-radius:50%;background:linear-gradient(var(--accent),var(--accent)) no-repeat 50% 50% / 1.4rem 2px;content:"";pointer-events:none}.letterhead-identity{min-width:0}.semantic-document .letterhead-identity h1{font-size:clamp(2.8rem,8vw,4.6rem);font-weight:400;letter-spacing:-.035em;line-height:.9}.semantic-document .letterhead-alias{display:inline-block;margin-left:.5em;color:var(--muted);font-family:var(--font-doc-mono);font-size:.3em;letter-spacing:.13em;text-transform:uppercase;vertical-align:.5em}.semantic-document .letterhead-alias:before{content:"("}.semantic-document .letterhead-alias:after{content:")"}.semantic-document .letterhead-role{margin-top:.7rem;color:var(--muted);font-family:var(--font-doc-mono);font-size:clamp(.62rem,.59rem + .12vw,.68rem);font-variant-numeric:tabular-nums;letter-spacing:.13em;line-height:1.55;text-transform:uppercase}.semantic-document .letterhead-thesis{max-width:34em;margin-top:1.15rem;font-size:clamp(1.22rem,1.12rem + .42vw,1.48rem);font-style:italic;line-height:1.3}.semantic-document-copy>section>h2,#semantic-contact-title{display:grid;grid-template-columns:max-content minmax(2rem,1fr);align-items:center;gap:1rem;margin-bottom:1.35rem;color:var(--muted);font-family:var(--font-doc-mono);font-size:.66rem;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.14em;line-height:1;text-transform:uppercase}.semantic-document-copy>section>h2:after,#semantic-contact-title:after{height:1px;background:var(--rule);content:""}.semantic-document-copy>section[aria-labelledby=semantic-profile-title]{margin-top:clamp(2rem,5vw,3.25rem)}.semantic-document-copy>section[aria-labelledby=semantic-profile-title] p{max-width:39em}.semantic-document-copy>section[aria-labelledby=semantic-profile-title] p+p{margin-top:.72rem}.semantic-document-copy>section[aria-labelledby=semantic-work-title]{margin-top:clamp(3.75rem,8vw,6rem)}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article{padding-top:clamp(1.65rem,4vw,2.25rem);border-top:1px solid var(--rule);margin-top:clamp(3rem,7vw,5.25rem)}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>h2+article{margin-top:1.75rem}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>h3{font-size:clamp(1.7rem,1.5rem + .75vw,2.15rem);font-weight:400;letter-spacing:-.018em;line-height:1.04}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>p:first-of-type{margin-top:.35rem;color:var(--muted);font-size:1.08em;font-style:italic;line-height:1.35}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>p:not(:first-of-type){margin-top:.78rem}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>section{margin-top:clamp(1.55rem,3vw,2rem)}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>section>h4{color:var(--muted);font-family:var(--font-doc-mono);font-size:.62rem;font-weight:400;letter-spacing:.14em;line-height:1;text-transform:uppercase}.semantic-document dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.3rem clamp(1.5rem,4vw,2.5rem);margin-top:.9rem}.semantic-document dl>div{min-width:0}.semantic-document dt{color:var(--accent);font-family:var(--font-doc-mono);font-size:.65rem;font-variant-numeric:tabular-nums;letter-spacing:.085em;line-height:1.35;text-transform:uppercase}.semantic-document dd{margin-top:.28rem;font-size:.96em;line-height:1.45}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>p:has(>strong:first-child){margin-top:1.15rem;color:var(--muted);font-family:var(--font-doc-mono);font-size:.66rem;font-variant-numeric:tabular-nums;letter-spacing:.025em;line-height:1.65;overflow-wrap:anywhere}.semantic-document-copy>section[aria-labelledby=semantic-work-title]>article>p>strong:first-child{color:var(--accent);font-weight:400;letter-spacing:.08em;text-transform:uppercase}.semantic-document-copy>section[aria-labelledby=semantic-contact-title]{margin-top:clamp(4.5rem,9vw,7rem)}.semantic-document-contact{display:flex;width:100%;flex-wrap:wrap;gap:.7rem 2rem;padding-bottom:.3rem}.annotation-layer{position:fixed;inset:0;z-index:1;display:none;color:var(--annotation-ink);pointer-events:none}@media(min-width:1200px){.annotation-layer{display:block}}.annotation{position:absolute;top:var(--mark-top);width:var(--annotation-size);height:var(--annotation-size);transform:rotate(var(--mark-rotate)) scale(var(--mark-scale, 1))}.annotation[data-side=left]{left:calc((100vw - var(--annotation-panel, 48rem)) / 4)}.annotation[data-side=right]{right:calc((100vw - var(--annotation-panel, 48rem)) / 4)}[data-panel=open] .annotation{--annotation-panel: 62rem}.annotation path{stroke-dasharray:1;stroke-dashoffset:0}html[data-js] .annotation path{stroke-dashoffset:1;transition:stroke-dashoffset var(--annotation-draw-ms) var(--ease-draw)}html[data-js] .annotation[data-state=drawing] path{stroke-dashoffset:0}html[data-js] .annotation[data-state=erasing] path{stroke-dashoffset:1;transition:stroke-dashoffset var(--annotation-erase-ms) var(--ease-draw)}@media(min-width:900px){[data-panel=open] .document-panel{width:min(100%,62rem);transition:transform .62s var(--ease-settle),width .38s var(--ease-settle) 0s}[data-panel=open] .letterhead,[data-panel=open] .panel-actions{width:100%}.semantic-document-body-inner .semantic-document-copy{--doc-gutter: 8.5rem;--doc-gutter-gap: 2rem;width:100%}.semantic-document-body-inner .semantic-document-copy>section{display:grid;align-items:start;column-gap:var(--doc-gutter-gap);grid-template-columns:var(--doc-gutter) minmax(0,1fr)}.semantic-document-body-inner .semantic-document-copy>section>h2{display:block;grid-row:1;grid-column:1;margin-bottom:0;text-align:right}.semantic-document-body-inner .semantic-document-copy>section>h2:after{display:none}.semantic-document-body-inner .semantic-document-copy>section>*:not(h2){grid-column:2}.semantic-document-body-inner .semantic-document-copy>.letterhead-thesis{padding-left:calc(var(--doc-gutter) + var(--doc-gutter-gap))}}.semantic-document-link{padding:.08rem 0;color:var(--ink);line-height:1.4;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:.25em}.semantic-document-link:hover{color:var(--accent)}.semantic-document-link:focus-visible{border-radius:1px;background:color-mix(in srgb,var(--accent) 9%,transparent);color:var(--ink);outline:2px solid var(--accent);outline-offset:4px}a{color:currentColor;text-decoration-color:var(--accent);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{color:var(--accent)}@media(max-width:480px){.document-stage{padding:1.1rem .7rem 8.5rem}.document-panel{width:min(100%,26rem)}.document-sheet{padding:0;box-shadow:0 0 0 1px var(--document-edge),0 12px 38px color-mix(in srgb,var(--ink) 10%,transparent)}.semantic-document{padding:1.45rem 1.25rem 1.75rem}.semantic-document dl{grid-template-columns:minmax(0,1fr);gap:1rem}}@media(max-width:360px){.document-stage{padding-right:0;padding-left:0}.document-sheet{padding:0;box-shadow:0 12px 38px color-mix(in srgb,var(--ink) 10%,transparent)}.semantic-document{padding-right:1rem;padding-left:1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.hero-poster,.hero-canvas-wrap[data-live=true] .hero-poster{opacity:1;transition:none}.hero-render-surface{visibility:hidden}}
