/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.m-0{margin:0}.block{display:block}.italic{font-style:italic}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{color-scheme:dark;font-synthesis:none;text-rendering:optimizelegibility;font-family:Space Grotesk,Avenir Next,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#12110d;min-width:320px;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}.site-shell{--bg:#12110d;--surface:#191712;--surface-strong:#0c0b08;--ink:#ede7d5;--muted:#a39d8f;--line:#ede7d557;--line-strong:#ede7d5;--accent:#8798ff;--accent-ink:#15140f;--dot:#ede7d513;min-height:100vh;color:var(--ink);background-color:var(--bg);background-image:radial-gradient(circle at 1px 1px, var(--dot) 1px, transparent 0);background-size:18px 18px;transition:color .22s,background-color .22s;overflow:hidden}.site-shell:before{z-index:20;content:"";background:repeating-linear-gradient(90deg, var(--ink) 0 72px, var(--accent) 72px 142px, var(--ink) 142px 214px, var(--bg) 214px 284px);border-bottom:1px solid var(--line-strong);height:5px;position:fixed;top:0;left:0;right:0}.site-shell.light-theme{--bg:#e8e2d2;--surface:#f6f0e1;--surface-strong:#ded6c2;--ink:#17150f;--muted:#5e5a50;--line:#17150f59;--line-strong:#17150f;--accent:#536bff;--accent-ink:#f7f2e7;--dot:#17150f17;color-scheme:light}.skip-link{z-index:100;color:var(--accent-ink);background:var(--accent);padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:12px;position:fixed;top:12px;left:12px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line-strong);grid-template-columns:1fr auto 1fr;align-items:stretch;width:min(100% - 48px,1440px);min-height:92px;margin:5px auto 0;display:grid}.brand{align-items:center;gap:13px;width:fit-content;text-decoration:none;display:inline-flex}.brand-mark{border:2px solid var(--ink);width:40px;height:40px;box-shadow:inset 0 0 0 4px var(--bg), inset 0 0 0 5px var(--line);place-items:center;display:grid;transform:rotate(-2deg)}.brand-mark span{width:23px;height:23px;color:var(--accent-ink);background:var(--accent);place-items:center;font-family:JetBrains Mono,monospace;font-size:8px;font-weight:600;display:grid}.brand-copy{gap:1px;font-family:JetBrains Mono,monospace;display:grid}.brand-copy strong{letter-spacing:-.02em;font-size:14px}.brand-copy span{color:var(--muted);letter-spacing:.18em;font-size:9px;font-weight:600}.main-nav{align-items:center;gap:clamp(18px,3vw,44px);display:flex}.main-nav a{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-decoration:none;transition:color .16s}.main-nav a span{color:var(--accent);margin-right:6px}.main-nav a:hover,.main-nav a:focus-visible{color:var(--ink)}.theme-toggle{width:44px;height:44px;color:var(--ink);border:1px solid var(--line);cursor:pointer;background:0 0;place-self:center end;font-size:18px;transition:background .16s,color .16s}.theme-toggle:hover,.theme-toggle:focus-visible{color:var(--accent-ink);background:var(--accent)}.hero{border-top:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);grid-template-columns:minmax(0,1.5fr) minmax(360px,.9fr);width:min(100% - 96px,1344px);min-height:700px;margin:70px auto 0;display:grid}.hero-copy{border-right:1px solid var(--line-strong);flex-direction:column;min-width:0;padding:46px 52px 42px 0;display:flex}.hero-kicker{letter-spacing:.14em;justify-content:space-between;gap:16px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:flex}.hero-kicker span:first-child{color:var(--accent-ink);background:var(--accent);box-shadow:4px 4px 0 var(--ink);padding:8px 10px}.hero-kicker span:last-child{color:var(--muted);align-self:center}.status-line{color:var(--muted);letter-spacing:.16em;align-items:center;gap:10px;margin:70px 0 18px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:flex}.status-line span{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.status-line span{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent)}}.hero h1,.section-heading h2,.footer h2{letter-spacing:-.04em;margin:0;font-family:Instrument Serif,Georgia,serif;font-weight:400}.hero h1{max-width:850px;font-size:clamp(64px,7.1vw,112px);line-height:.88}.hero h1 em,.section-heading h2 em,.footer h2 em{color:var(--accent);font-weight:inherit}.hero-bottom{justify-content:space-between;align-items:flex-end;gap:32px;margin-top:auto;padding-top:60px;display:flex}.hero-bottom>p{max-width:370px;color:var(--muted);margin:0;font-size:17px;line-height:1.6}.hero-actions{flex-shrink:0;gap:8px;display:flex}.button{border:1px solid var(--line-strong);letter-spacing:.09em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:16px;min-height:52px;padding:0 17px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;text-decoration:none;transition:transform .16s,box-shadow .16s;display:inline-flex}.button:hover,.button:focus-visible{box-shadow:4px 4px 0 var(--ink);transform:translate(-2px,-2px)}.button-primary{color:var(--accent-ink);background:var(--accent)}.button-secondary{background:var(--surface)}.portrait-card{background:var(--surface);border:1px solid var(--line-strong);min-width:0;box-shadow:9px 9px 0 var(--accent);align-self:center;margin:0 0 0 40px;position:relative;transform:rotate(.4deg)}.portrait-tape{z-index:2;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#d8d3c28c;border-left:1px solid #14120c80;border-right:1px solid #14120c80;width:92px;height:34px;position:absolute;top:-17px;left:38%;transform:rotate(-5deg)}.portrait-label{z-index:2;color:var(--ink);background:var(--surface-strong);border:1px solid var(--line-strong);letter-spacing:.15em;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;position:absolute;top:24px;left:-20px;right:-10px;transform:rotate(-2deg)}.portrait-frame{border-bottom:1px solid var(--line-strong);height:510px;position:relative;overflow:hidden}.portrait-frame:after{content:"";pointer-events:none;background:linear-gradient(#0000 58%,#08070599);position:absolute;inset:0}.portrait-frame img{object-fit:cover;object-position:center 32%;filter:grayscale()contrast(1.04);width:100%;height:100%}.portrait-number{z-index:1;font-family:Instrument Serif,Georgia,serif;font-size:80px;line-height:1;position:absolute;bottom:6px;left:18px}.portrait-caption{z-index:2;color:var(--accent-ink);background:var(--accent);border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);letter-spacing:.13em;padding:9px 12px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600;position:absolute;bottom:0;right:0}.portrait-meta{grid-template-columns:1fr 1fr;margin:0;display:grid}.portrait-meta div{padding:16px}.portrait-meta div+div{border-left:1px solid var(--line-strong)}.portrait-meta dt{color:var(--muted);letter-spacing:.14em;margin-bottom:6px;font-family:JetBrains Mono,monospace;font-size:8px}.portrait-meta dd{margin:0;font-size:12px}.ticker{width:100%;color:var(--accent-ink);background:var(--accent);border-bottom:1px solid var(--line-strong);position:relative;overflow:hidden;transform:rotate(-.55deg)scale(1.01)}.ticker-track{width:max-content;padding:12px 0;animation:30s linear infinite ticker;display:flex}.ticker span{letter-spacing:.12em;align-items:center;gap:28px;padding-right:28px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:inline-flex}.ticker b{font-size:14px}.section{width:min(100% - 96px,1344px);margin:0 auto;padding:126px 0}.section+.section{border-top:1px solid var(--line-strong)}.section-heading{justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:60px;display:flex}.section-heading>p,.footer-kicker{color:var(--muted);letter-spacing:.16em;margin:0;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600}.section-heading h2{text-align:right;font-size:clamp(52px,6vw,86px);line-height:.9}.about-grid{grid-template-columns:1fr 1.3fr;gap:10vw;display:grid}.about-statement>p:first-child{letter-spacing:-.025em;margin:0 0 28px;font-family:Instrument Serif,Georgia,serif;font-size:clamp(30px,3.4vw,50px);line-height:1.03}.about-statement>p:nth-child(2){color:var(--muted);margin:0 0 28px;font-size:16px;line-height:1.75}.text-link,.project-links a{letter-spacing:.08em;text-underline-offset:5px;text-transform:uppercase;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:10px;font-weight:600;display:inline-flex}.principles{border-top:1px solid var(--line-strong)}.principles article{border-bottom:1px solid var(--line);grid-template-columns:120px 1.1fr .8fr;align-items:start;gap:24px;padding:28px 0;display:grid}.principles span,.project-index small,.note-card>span:first-child{color:var(--muted);letter-spacing:.11em;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.principles h3{margin:0;font-size:18px;font-weight:500;line-height:1.35}.principles p{color:var(--muted);margin:0;font-size:14px;line-height:1.6}.project-list{border-top:1px solid var(--line-strong)}.project-card{border-bottom:1px solid var(--line);grid-template-columns:140px minmax(0,1fr) 160px;gap:36px;padding:42px 0;transition:background-color .18s,padding .18s;display:grid}.project-card:hover{background:var(--accent);padding-left:18px;padding-right:18px}@supports (color:color-mix(in lab, red, red)){.project-card:hover{background:color-mix(in srgb, var(--accent) 8%, transparent)}}.project-index{flex-direction:column;justify-content:space-between;gap:40px;display:flex}.project-index>span{font-family:Instrument Serif,Georgia,serif;font-size:64px;line-height:.8}.project-main h3{letter-spacing:-.03em;margin:0 0 18px;font-family:Instrument Serif,Georgia,serif;font-size:clamp(38px,4.4vw,66px);font-weight:400;line-height:.9}.project-main>p{max-width:720px;color:var(--muted);margin:0 0 25px;font-size:15px;line-height:1.7}.tag-list{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;padding:5px 8px;font-family:JetBrains Mono,monospace;font-size:8px}.project-links{flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:14px;display:flex}.experience-layout{grid-template-columns:.8fr 1.5fr;gap:10vw;display:grid}.experience-intro{color:var(--muted);margin:0;font-size:20px;line-height:1.6}.experience-list{border-top:1px solid var(--line-strong);margin:0;padding:0;list-style:none}.experience-list li{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr auto;align-items:center;gap:20px;padding:23px 0;display:grid}.experience-number,.experience-list time{color:var(--muted);letter-spacing:.08em;font-family:JetBrains Mono,monospace;font-size:9px}.experience-list div{grid-template-columns:minmax(150px,.8fr) 1.2fr;gap:24px;display:grid}.experience-list strong{font-size:16px}.experience-list div>span{color:var(--muted);font-size:14px}.notes-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.note-card{background:var(--surface);border:1px solid var(--line);flex-direction:column;min-height:260px;padding:24px;text-decoration:none;transition:color .18s,background .18s,transform .18s;display:flex;position:relative;overflow:hidden}.note-card:before{content:"";border:1px solid var(--line);width:180px;height:180px;box-shadow:0 0 0 18px transparent, 0 0 0 19px var(--line);border-radius:50%;position:absolute;top:-90px;right:-70px}.note-card:hover,.note-card:focus-visible{color:var(--accent-ink);background:var(--accent);transform:translateY(-5px)}.note-card:hover>span:first-child,.note-card:focus-visible>span:first-child{color:currentColor}.note-card h3{letter-spacing:-.02em;max-width:300px;margin:auto 0 0;font-family:Instrument Serif,Georgia,serif;font-size:31px;font-weight:400;line-height:1.05;position:relative}.note-arrow{font-family:JetBrains Mono,monospace;position:absolute;bottom:24px;right:24px}.footer{background:var(--surface-strong);border-top:1px solid var(--line-strong);border-right:1px solid var(--line-strong);border-left:1px solid var(--line-strong);width:min(100% - 48px,1440px);margin:0 auto}.footer-main{text-align:center;flex-direction:column;align-items:center;padding:100px 30px;display:flex}.footer h2{margin:18px 0 44px;font-size:clamp(70px,10vw,150px);line-height:.86}.footer-button{min-height:58px;padding:0 22px}.footer-meta{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1fr 1fr 1fr;gap:28px;padding:28px 32px;font-family:JetBrains Mono,monospace;font-size:9px;line-height:1.7;display:grid}.footer-meta p{margin:0}.footer-meta nav{justify-content:center;gap:20px;display:flex}.footer-meta a{text-underline-offset:4px}.footer-signoff{text-align:right}@keyframes ticker{to{transform:translate(-50%)}}@media (max-width:1100px){.site-header{grid-template-columns:1fr auto}.main-nav{display:none}.hero{grid-template-columns:minmax(0,1.1fr) minmax(310px,.9fr)}.hero-copy{padding-right:32px}.hero-bottom{flex-direction:column;align-items:flex-start}.portrait-card{margin-left:28px}.portrait-frame{height:460px}.principles article{grid-template-columns:100px 1fr}.principles p{grid-column:2}}@media (max-width:800px){.site-header,.footer{width:min(100% - 28px,1440px)}.site-header{min-height:76px}.hero,.section{width:min(100% - 40px,1344px)}.hero{grid-template-columns:1fr;margin-top:38px}.hero-copy{border-right:0;padding:30px 0 52px}.status-line{margin-top:52px}.hero h1{font-size:clamp(60px,16vw,100px)}.portrait-card{width:min(100% - 30px,460px);margin:0 auto 55px}.portrait-frame{height:min(125vw,570px)}.section{padding:88px 0}.section-heading{display:block}.section-heading>p{margin-bottom:24px}.section-heading h2{text-align:left}.about-grid,.experience-layout{grid-template-columns:1fr;gap:60px}.project-card{grid-template-columns:86px minmax(0,1fr);gap:24px}.project-links{flex-direction:row;grid-column:2}.notes-grid{grid-template-columns:1fr}.note-card{min-height:220px}.footer-meta{grid-template-columns:1fr 1fr}.footer-meta nav{justify-content:flex-end}.footer-signoff{text-align:left;grid-column:1/-1}}@media (max-width:520px){.brand-copy strong{font-size:12px}.brand-copy span{font-size:7px}.hero-kicker{flex-direction:column;align-items:flex-start}.hero h1{font-size:58px}.hero-actions{flex-direction:column;width:100%}.button{width:100%}.portrait-card{width:calc(100% - 16px)}.portrait-meta{grid-template-columns:1fr}.portrait-meta div+div{border-top:1px solid var(--line-strong);border-left:0}.principles article{grid-template-columns:1fr;gap:12px}.principles p{grid-column:1}.project-card{grid-template-columns:1fr}.project-index{flex-direction:row;align-items:flex-end}.project-index>span{font-size:54px}.project-links{grid-column:1}.experience-list li{grid-template-columns:30px 1fr}.experience-list div{grid-template-columns:1fr;gap:4px}.experience-list time{grid-column:2}.footer-main{padding:80px 20px}.footer h2{font-size:67px}.footer-meta{grid-template-columns:1fr}.footer-meta nav{justify-content:flex-start}.footer-signoff{grid-column:1}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ticker-track{animation:none}*,:before,:after{transition-duration:.01ms!important}}