@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.3wn_q526zaolu.woff2)format("woff2");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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.3uuun_-7zsf1g.woff2)format("woff2");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:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_5376afb7-module__zrlMXW__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_5376afb7-module__zrlMXW__variable{--font-sans-face:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");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-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.woff2)format("woff2");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-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.woff2)format("woff2");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 Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_362b7651-module__1P_rja__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_362b7651-module__1P_rja__variable{--font-mono-face:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--font-sans:var(--font-sans-face), "Segoe UI", sans-serif;--font-mono:var(--font-mono-face), ui-monospace, "Cascadia Mono", monospace;--wrap:72rem;--gutter:1.5rem;--nav-h:4.25rem;--ease:.22s ease}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0b0a;--bg-card:#141210;--ink:#f2ece4;--ink-muted:#b4ada3;--ink-faint:#7f786f;--line:#f2ece41f;--line-strong:#f2ece438;--accent:#e07a3d;--accent-ink:#0c0b0a;--chip:#f2ece40d;--shadow:0 18px 40px #00000047}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3efe6;--bg-card:#faf7f1;--ink:#161412;--ink-muted:#5c564f;--ink-faint:#8a837a;--line:#1614121f;--line-strong:#16141233;--accent:#c45c26;--accent-ink:#faf7f1;--chip:#1614120a;--shadow:0 16px 32px #1614120f}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + .75rem);background:var(--bg)}html,body{max-width:100vw;overflow-x:hidden}body{background:var(--bg);min-height:100%;color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1.0625rem;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}::selection{background:color-mix(in srgb, var(--accent) 35%, transparent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{width:min(var(--wrap), calc(100% - (var(--gutter) * 2)));margin-inline:auto}.skip{z-index:80;background:var(--accent);color:var(--accent-ink);font-family:var(--font-mono);padding:.5rem .75rem;font-size:.75rem;position:absolute;top:-4rem;left:1rem}.skip:focus{top:.75rem}.kicker{font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint);font-size:.6875rem;font-weight:500}.chips{flex-wrap:wrap;gap:.4rem;display:flex}.chips li{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--line);background:var(--chip);color:var(--ink-muted);padding:.28rem .55rem;font-size:.6875rem}.card{background:var(--bg-card);border:1px solid var(--line);transition:transform var(--ease), border-color var(--ease)}.card:hover{border-color:var(--line-strong);transform:translateY(-2px)}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(14px)}[data-reveal].is-visible{opacity:1;transform:none}.site-nav{z-index:50;height:var(--nav-h);border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}.nav-inner{height:var(--nav-h);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.wordmark{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem}.nav-desktop{align-items:center;gap:1.25rem;display:flex}.nav-page,.nav-meta,.contact-links{align-items:center;gap:1.1rem;display:flex}.nav-page a,.nav-page span,.nav-meta a,.nav-meta span,.mobile-nav a,.mobile-nav span,.contact-links a,.contact-links span,.project-links a{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-muted);font-size:.6875rem}.nav-page a:hover,.nav-meta a:hover,.contact-links a:hover,.project-links a:hover,.wordmark:hover,.elsewhere a:hover{color:var(--ink)}.nav-rule{background:var(--line-strong);width:1px;height:.9rem}[data-unlinked]{color:var(--ink-faint);cursor:default}.theme-toggle{width:2rem;height:2rem;color:var(--ink-muted);place-items:center;display:grid}.theme-icon{grid-area:1/1}html[data-theme=dark] .theme-icon-moon,html[data-theme=light] .theme-icon-sun{display:none}.theme-toggle:hover{color:var(--ink)}.nav-mobile-actions{align-items:center;gap:.35rem;display:none}.nav-contact,.menu-btn{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;padding:.45rem .6rem;font-size:.6875rem}.nav-contact{color:var(--accent)}.menu-btn{color:var(--ink)}.mobile-panel{inset:var(--nav-h) 0 auto 0;border-bottom:1px solid var(--line);background:var(--bg);padding:.5rem 0 1.5rem;display:none;position:absolute}.mobile-panel.is-open{display:block}.mobile-nav ul{gap:.15rem;display:grid}.mobile-nav a,.mobile-nav span{border-bottom:1px solid var(--line);color:var(--ink);padding:.85rem 0;font-size:.8125rem;display:block}.hero{grid-template-columns:minmax(0,1.15fr) minmax(16rem,.75fr);align-items:end;gap:4rem;padding:5.5rem 0 6rem;display:grid}.eyebrow{font-family:var(--font-mono);letter-spacing:.06em;color:var(--ink-muted);margin-bottom:1.25rem;font-size:.75rem}.hero-name{letter-spacing:-.045em;margin-bottom:1.5rem;font-size:clamp(3rem,8vw,5.75rem);font-weight:500;line-height:.92}.hero-positioning{max-width:28rem;color:var(--ink-muted);margin-bottom:2rem;font-size:1.25rem;line-height:1.45}.hero-actions{flex-wrap:wrap;gap:.65rem;display:flex}.btn{min-height:2.7rem;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;padding:.55rem 1.1rem;font-size:.6875rem;display:inline-flex}.btn-accent{background:var(--accent);color:var(--accent-ink)}.btn-accent:hover{filter:brightness(1.06)}.btn-ghost{border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink)}.hero-aside{justify-self:end;width:100%;max-width:22rem}.identity-frame{aspect-ratio:4/5;border:1px solid var(--line);background:var(--bg-card);padding:.4rem}.identity-inner{border:1px solid var(--line);background:var(--bg);flex-direction:column;justify-content:center;align-items:center;gap:1.15rem;height:100%;display:flex;position:relative}.identity-inner:before,.identity-inner:after{content:"";width:.55rem;height:.55rem;position:absolute}.identity-inner:before{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);top:.8rem;left:.8rem}.identity-inner:after{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);bottom:.8rem;right:.8rem}.identity-initials{letter-spacing:-.08em;font-size:clamp(3.75rem,10vw,5.75rem);font-weight:500;line-height:.9}.identity-rule{background:var(--accent);width:2.25rem;height:1px}.availability{font-family:var(--font-mono);letter-spacing:.08em;color:var(--ink-muted);margin-top:.85rem;font-size:.6875rem}.hero,.section{scroll-margin-top:calc(var(--nav-h) + .75rem)}.section{padding:5.5rem 0}.section-head{margin-bottom:1.75rem}.section-head h2{letter-spacing:-.03em;font-size:clamp(1.75rem,3vw,2.35rem);font-weight:500}.now-card{border:1px solid var(--line);background:var(--bg-card);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.now-field{padding:1.6rem 1.5rem 1.7rem}.now-field+.now-field{border-left:1px solid var(--line)}.now-field p:last-child{margin-top:.65rem;font-size:1.05rem;line-height:1.5}.featured-card{gap:2rem;margin-bottom:.85rem;padding:1.75rem;display:grid}.featured-card:has(.project-image){grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start}.featured-copy h3,.project-card h3,.bento-tile h3,.course-list h3{letter-spacing:-.03em;margin:.45rem 0 .75rem;font-size:1.55rem;font-weight:500}.lede{color:var(--ink);max-width:46ch;font-size:1.08rem}.detail{color:var(--ink-muted);max-width:52ch;margin-top:.9rem}.decision{border-left:1px solid var(--accent);color:var(--ink);gap:.4rem;margin:1.25rem 0 0;padding:.85rem 0 .15rem 1rem;display:grid}.featured-copy .chips,.project-card .chips,.bento-tile .chips{margin-top:1.15rem}.project-links{flex-wrap:wrap;gap:.9rem;margin-top:1.2rem;display:flex}.project-links .ext{vertical-align:1px;margin-left:.28rem}.project-image{border:1px solid var(--line);aspect-ratio:16/10;background:var(--bg);overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%}.work-pair{grid-template-columns:1fr 1fr;gap:.85rem;display:grid}.project-card{flex-direction:column;min-height:16.5rem;padding:1.5rem 1.5rem 1.6rem;display:flex}.project-card p,.about-copy p{color:var(--ink-muted)}.project-card .chips{margin-top:auto;padding-top:1.25rem}.bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:.85rem;display:grid}.bento-tile{padding:1.35rem 1.4rem 1.5rem}.tile-1{grid-area:span 2/span 3;min-height:22rem}.tile-2,.tile-3{grid-column:span 3}.tile-4{grid-column:span 2}.tile-links{grid-column:span 4}.elsewhere{gap:1rem;margin-top:1.15rem;display:grid}.elsewhere a,.elsewhere span{color:var(--ink);word-break:break-word;margin-top:.2rem;display:block}.course-list{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;display:grid}.course-list li{border-bottom:1px solid var(--line);grid-template-columns:2.5rem 1fr;gap:.75rem;padding:1.35rem 1rem 1.4rem 0;display:grid}.course-list li:nth-child(2n){padding-left:1.5rem}.course-list p{color:var(--ink-muted);font-size:.98rem}.about-copy p{max-width:54ch;font-size:1.12rem;line-height:1.7}.contact{padding-bottom:4rem}.email-row{flex-wrap:wrap;align-items:baseline;gap:1rem 1.25rem;margin-bottom:1.5rem;display:flex}.email-address{letter-spacing:-.04em;word-break:break-word;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:500;line-height:1.15}.copy-btn{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:.1rem;font-size:.6875rem}.copy-btn:hover{color:var(--ink);border-color:var(--ink)}.site-footer{border-top:1px solid var(--line);padding:1.35rem 0 1.6rem}.footer-inner{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);justify-content:space-between;gap:1rem;font-size:.6875rem;display:flex}@media (max-width:900px){:root{--gutter:1.15rem}.nav-desktop{display:none}.nav-mobile-actions{display:flex}.hero{grid-template-columns:1fr;align-items:start;gap:2.5rem;min-height:0;padding:2.5rem 0 3.5rem}.hero-aside{justify-self:start;max-width:16rem}.hero-positioning{max-width:none}.section{padding:3.75rem 0}:is(.now-card,.work-pair,.bento,.course-list,.featured-card:has(.project-image)){grid-template-columns:1fr}.now-field+.now-field{border-left:0;border-top:1px solid var(--line)}.tile-1,.tile-2,.tile-3,.tile-4,.tile-links{grid-area:auto;min-height:0}.course-list li:nth-child(2n){padding-left:0}.project-card{min-height:0}}@media (max-width:560px){.hero-name{font-size:clamp(2.5rem,14vw,3.4rem)}.featured-card,.project-card,.bento-tile{padding:1.2rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-reveal],[data-reveal].is-visible,.card,.card:hover{opacity:1;transition:none;transform:none}}
