:root{--color-bg:#f2f0ea;--color-surface:#faf9f5;--color-text:#151515;--color-muted:#62625d;--color-grid:#b8b6ae;--color-accent:#d84a2f;--color-code:#20201e;--font-display:Arial,Helvetica,sans-serif;--font-body:Arial,Helvetica,sans-serif;--font-code:"SFMono-Regular",Consolas,monospace;--text-display:clamp(3.5rem,9vw,8.5rem);--text-heading:clamp(2rem,4vw,4.5rem);--text-body:1rem;--text-small:.78rem;--space-page:clamp(1rem,3vw,3rem);--space-section:clamp(4rem,9vw,9rem);--grid-gap:1px;--component-padding:clamp(1.25rem,3vw,2.75rem);--border-width:1px;--radius:0;--max-width:1500px;--reading-width:46rem;--transition:200ms ease;color-scheme:light}html.dark{--color-bg:#11110f;--color-surface:#191917;--color-text:#f0efe9;--color-muted:#aaa8a0;--color-grid:#44433e;--color-accent:#f06a4b;--color-code:#090908;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--text-body);line-height:1.55}img,svg,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.2em}button,a{touch-action:manipulation}button{font:inherit;color:inherit}.wrap{width:min(calc(100% - 2 * var(--space-page)),var(--max-width));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-5rem;background:var(--color-text);color:var(--color-bg);padding:.75rem 1rem;z-index:1000}.skip-link:focus{top:1rem}:focus-visible{outline:3px solid var(--color-accent);outline-offset:4px}.site-header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--color-bg) 92%,transparent);border-bottom:var(--border-width)solid var(--color-grid);backdrop-filter:blur(12px)}.nav-row{min-height:76px;display:flex;align-items:center;gap:clamp(1rem,4vw,4rem)}.brand{font-size:1.35rem;font-weight:800;letter-spacing:-.07em;text-decoration:none}.brand::first-letter{color:var(--color-accent)}.nav-links{display:flex;gap:1.5rem;margin-left:auto}.nav-links a{font-size:var(--text-small);text-transform:uppercase;letter-spacing:.12em;text-decoration:none}.nav-links a[aria-current=page],.nav-links a:hover{color:var(--color-accent)}.nav-actions{display:flex;align-items:center;gap:.75rem}.theme-toggle,.nav-toggle{width:42px;height:42px;border:1px solid var(--color-grid);background:0 0;display:grid;place-items:center;cursor:pointer}.nav-toggle{display:none}.nav-toggle>span:not(.sr-only){width:18px;height:1px;background:currentColor}.nav-mobile{display:none}.lang-switch{display:flex;border:1px solid var(--color-grid);height:42px}.lang-switch a{display:grid;place-items:center;min-width:42px;padding:0 .55rem;font-family:var(--font-code);font-size:.7rem;letter-spacing:.08em;text-decoration:none}.lang-switch a+a{border-left:1px solid var(--color-grid)}.lang-switch a:hover{color:var(--color-accent)}.lang-switch a[aria-current=page]{background:var(--color-text);color:var(--color-bg)}.main-content{padding-block:var(--space-page)var(--space-section)}.eyebrow{display:flex;gap:1rem;align-items:center;margin:0 0 1.5rem;color:var(--color-muted);font-family:var(--font-code);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase}.bento{display:grid;background:var(--color-grid);border:1px solid var(--color-grid);gap:var(--grid-gap);grid-template-columns:repeat(12,1fr);min-height:min(720px,75vh)}.bento-cell{background:var(--color-surface);padding:var(--component-padding)}.identity-cell{grid-column:span 8;grid-row:span 2;display:flex;flex-direction:column;justify-content:flex-end}.identity-cell h1{font-size:clamp(3.25rem,7vw,7.5rem);line-height:.86;letter-spacing:-.075em;margin:.2em 0}.identity-role{font-size:clamp(1.35rem,2.5vw,2.75rem);line-height:1.1;margin:0 0 1.5rem}.identity-copy{max-width:55ch;color:var(--color-muted);margin:0 0 2rem}.monogram-cell{grid-column:span 4;background:var(--color-accent);color:#fff;display:flex;align-items:flex-end;justify-content:space-between}.monogram-cell>span{font-size:clamp(5rem,10vw,11rem);font-weight:800;line-height:.7;letter-spacing:-.12em}.monogram-cell small{writing-mode:vertical-rl;font-family:var(--font-code);text-transform:uppercase;letter-spacing:.1em}.stack-cell{grid-column:span 4}.stack-cell ul{list-style:none;margin:0;padding:0}.stack-cell li{padding:.55rem 0;border-bottom:1px solid var(--color-grid);font-size:clamp(1.1rem,1.6vw,1.5rem)}.availability-cell{grid-column:span 4;display:flex;gap:1rem;align-items:flex-end}.status-dot{width:.75rem;height:.75rem;border-radius:50%;background:var(--color-accent);flex:none;margin-bottom:.42rem}.home-section{margin-top:var(--space-section)}.section-header{display:grid;grid-template-columns:5rem 1fr auto;align-items:end;border-bottom:1px solid var(--color-grid);padding-bottom:1.25rem;margin-bottom:0}.section-header h2,.page-hero h1,.contact-band h2{font-size:var(--text-heading);line-height:.92;letter-spacing:-.055em;margin:0}.section-header>a,.text-link,.card-links a{font-family:var(--font-code);font-size:var(--text-small);text-transform:uppercase;letter-spacing:.07em;text-decoration:none}.section-index{font-family:var(--font-code);color:var(--color-accent);margin:0}.text-link span,.card-links span{display:inline-block;transition:transform var(--transition)}.text-link:hover span,.card-links a:hover span{transform:translate(3px,-3px)}.project-grid,.project-index{display:grid;grid-template-columns:repeat(2,1fr);background:var(--color-grid);gap:1px;border:solid var(--color-grid);border-width:0 1px 1px}.project-card{background:var(--color-surface);display:grid;grid-template-columns:minmax(9rem,35%)1fr;min-height:340px}.project-card--featured{grid-column:span 2;grid-template-columns:1.35fr 1fr;min-height:520px}.project-visual{overflow:hidden;background:var(--color-text)}.project-visual img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform var(--transition),filter var(--transition)}.project-card:hover img{transform:scale(1.015);filter:saturate(1)}.project-visual--type{display:flex;align-items:flex-end;padding:1rem;color:var(--color-bg);font-size:clamp(5rem,12vw,12rem);font-weight:800;line-height:.65;text-transform:lowercase;letter-spacing:-.1em}.project-body{padding:var(--component-padding);display:flex;flex-direction:column}.project-body h2,.article-card h2{font-size:clamp(1.65rem,2.5vw,3rem);letter-spacing:-.045em;line-height:1;margin:0 0 1rem}.project-body h2 a,.article-card h2 a{text-decoration:none}.project-body>p,.article-card>p{color:var(--color-muted);max-width:48ch}.tag-list{display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;padding:0;margin:1.5rem 0}.tag-list li{border:1px solid var(--color-grid);padding:.25rem .55rem;font-family:var(--font-code);font-size:.7rem;text-transform:uppercase}.card-links{display:flex;gap:1.5rem;margin-top:auto}.writing-grid,.editorial-index{display:grid;grid-template-columns:repeat(3,1fr);background:var(--color-grid);gap:1px;border:solid var(--color-grid);border-width:0 1px 1px}.article-card{background:var(--color-surface);padding:var(--component-padding);min-height:360px;display:flex;flex-direction:column}.article-card--featured{grid-column:span 2;min-height:460px}.article-card--featured h2{font-size:clamp(2.5rem,5vw,5.5rem);max-width:14ch}.article-card .text-link{margin-top:auto;align-self:flex-start}.contact-band{border:1px solid var(--color-grid);display:grid;grid-template-columns:5rem 1fr auto;align-items:end;padding:var(--component-padding)}.contact-band>a{font-size:1.2rem}.page-hero{padding:clamp(4rem,10vw,10rem)0}.page-hero h1{font-size:var(--text-display)}.page-hero>p:last-child{max-width:55ch;color:var(--color-muted);font-size:1.2rem}.project-index,.editorial-index{border-width:1px}.editorial-index .article-card:nth-child(1){grid-column:span 2}.pagination{margin-top:3rem}.article-shell{display:grid;grid-template-columns:minmax(0,var(--reading-width))minmax(12rem,18rem);justify-content:center;gap:clamp(3rem,7vw,8rem)}.single{min-width:0}.article-header{padding:clamp(3rem,8vw,8rem)0 3rem;border-bottom:1px solid var(--color-grid)}.article-header h1,.single>header h1{font-size:clamp(2.8rem,6vw,6.5rem);line-height:.95;letter-spacing:-.06em;margin:.2em 0}.post-meta{color:var(--color-muted);font-family:var(--font-code);font-size:var(--text-small)}.post-meta-row,.post-meta-item{display:flex;align-items:center}.post-meta-row{flex-wrap:wrap;gap:.5rem}.post-meta-item{gap:.35rem}.post-meta-icon{display:block;width:1rem;height:1rem;max-width:1rem;flex:0 0 1rem}.post-meta-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1rem}.post-meta-tags .tag{border:1px solid var(--color-grid);padding:.2rem .5rem;text-decoration:none}.content{font-size:1.075rem;line-height:1.75;padding-top:2rem}.content h2{font-size:2rem;line-height:1.15;margin-top:3.5rem}.content h3{font-size:1.4rem;margin-top:2.5rem}.content a{color:var(--color-accent)}.content img{margin:2rem auto}.content blockquote{border-left:3px solid var(--color-accent);margin:2rem 0;padding-left:1.5rem;color:var(--color-muted)}.content pre{overflow-x:auto;padding:1.25rem;background:var(--color-code)!important;color:#eee;font-family:var(--font-code);font-size:.88rem}.content code{font-family:var(--font-code);font-size:.9em}.highlight-wrapper{position:relative}.copy-code-btn{position:absolute;right:.5rem;top:.5rem;border:1px solid #666;background:#222;color:#fff;padding:.4rem;cursor:pointer}.copy-code-btn svg{width:14px;height:14px}.article-toc{padding-top:8rem}.toc-inner{position:sticky;top:7rem;border-left:1px solid var(--color-grid);padding-left:1.25rem;font-size:.8rem}.toc-inner ul{padding-left:1rem}.toc-inner a{text-decoration:none;color:var(--color-muted)}.toc-inner a:hover,.toc-inner .toc-active{color:var(--color-accent)}.reading-progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--color-accent);z-index:100}.featured-image{width:100%;max-height:38rem;object-fit:cover}.profile{border:1px solid var(--color-grid);background:var(--color-grid);display:grid;gap:1px}.profile-header{display:grid;grid-template-columns:minmax(15rem,32%)1fr;background:var(--color-grid);gap:1px}.profile-header-left,.profile-header-body{background:var(--color-surface);padding:var(--component-padding)}.profile-header-left{display:grid;place-items:center;min-height:28rem}.profile-avatar-link{width:min(100%,18rem);aspect-ratio:1;text-decoration:none}.profile-avatar{width:100%;height:100%;object-fit:cover}.profile-avatar-placeholder{width:100%;height:100%;display:grid;place-items:center;background:var(--color-accent);color:#fff;font-size:clamp(6rem,12vw,12rem);font-weight:800;line-height:1}.profile-header-body{display:flex;flex-direction:column;justify-content:center}.profile-name{font-size:clamp(3rem,7vw,7rem);line-height:.86;letter-spacing:-.065em;margin:0 0 1rem}.profile-title{font-size:clamp(1.25rem,2.5vw,2.25rem);margin:0 0 1.5rem}.profile-location{display:flex;align-items:center;gap:.45rem;color:var(--color-muted);font-family:var(--font-code);font-size:var(--text-small);text-transform:uppercase}.profile-location svg{width:1rem;height:1rem;max-width:1rem;flex:0 0 1rem}.profile-bio{max-width:60ch;color:var(--color-muted)}.profile-socials{display:flex;flex-wrap:wrap;gap:1px;margin-top:1.5rem;background:var(--color-grid);border:1px solid var(--color-grid);align-self:flex-start}.profile-social{display:flex;align-items:center;gap:.5rem;background:var(--color-surface);padding:.65rem .85rem;font-family:var(--font-code);font-size:.72rem;text-transform:uppercase;text-decoration:none}.profile-social:hover{color:var(--color-accent)}.profile-social svg{width:1.1rem;height:1.1rem;max-width:1.1rem;flex:0 0 1.1rem}.profile-publications-section{background:var(--color-surface);padding:var(--component-padding)}.profile-section-title{font-size:var(--text-heading);letter-spacing:-.05em;margin:0 0 2rem}.profile-publications-section .showcase{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--color-grid);border:1px solid var(--color-grid)}.profile-publications-section .showcase-card{background:var(--color-surface);padding:var(--component-padding)}.profile-publications-section .showcase-img-wrap{display:none}.profile-publications-section .showcase-body h3{font-size:clamp(1.4rem,2.5vw,2.4rem);line-height:1;letter-spacing:-.04em;margin:0 0 1rem}.profile-publications-section .showcase-body h3 a{text-decoration:none}.profile-publications-section .article-excerpt{color:var(--color-muted)}.profile-publications-section .showcase-cats{display:flex;gap:.4rem;flex-wrap:wrap}.profile-publications-section .tag{font-family:var(--font-code);font-size:.7rem}.author-meta{display:block;margin-top:1rem;color:var(--color-muted);font-family:var(--font-code);font-size:.72rem}.post-footer{margin-top:clamp(3rem,7vw,6rem);padding-top:1.25rem;border-top:1px solid var(--color-grid)}.post-tags{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.post-tags-label{margin-right:.25rem;color:var(--color-muted);font-family:var(--font-code);font-size:var(--text-small);text-transform:uppercase;letter-spacing:.08em}.post-tags .tag{display:inline-flex;align-items:center;border:1px solid var(--color-grid);padding:.3rem .6rem;color:var(--color-text);font-family:var(--font-code);font-size:.72rem;line-height:1.2;text-decoration:none;text-transform:lowercase;transition:border-color var(--transition),color var(--transition)}.post-tags .tag:hover{border-color:var(--color-accent);color:var(--color-accent)}.site-footer{border-top:1px solid var(--color-grid);padding:3rem 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr auto;align-items:end}.footer-grid p{margin:0}.footer-mark{font-size:2rem;font-weight:800;letter-spacing:-.08em}.footer-links{display:flex;gap:1rem}.footer-links a{font-family:var(--font-code);font-size:.75rem;text-transform:uppercase}@media(max-width:900px){.bento{grid-template-columns:repeat(2,1fr);min-height:0}.identity-cell{grid-column:span 2}.monogram-cell,.stack-cell,.availability-cell{grid-column:span 1}.project-card,.project-card--featured{grid-column:span 2;grid-template-columns:1fr 1fr}.writing-grid,.editorial-index{grid-template-columns:repeat(2,1fr)}.article-card--featured,.editorial-index .article-card:nth-child(1){grid-column:span 2}.article-shell{grid-template-columns:minmax(0,var(--reading-width))}.article-toc{display:none}.nav-links{display:none}.nav-toggle{display:flex;flex-direction:column;gap:4px}.nav-mobile.is-open{display:flex;flex-direction:column;padding:1rem var(--space-page);border-top:1px solid var(--color-grid)}.nav-mobile a{padding:.7rem 0}.profile-header{grid-template-columns:1fr}.profile-header-left{min-height:20rem}}@media(max-width:600px){:root{--space-page:1rem;--component-padding:1.25rem}.nav-row{min-height:64px}.lang-switch a{min-width:36px;padding:0 .35rem}.theme-toggle{display:none}.bento{display:flex;flex-direction:column}.identity-cell{min-height:28rem}.monogram-cell{min-height:16rem}.stack-cell,.availability-cell{min-height:auto}.section-header{grid-template-columns:2.5rem 1fr}.section-header>a{grid-column:2;margin-top:1rem}.project-grid,.project-index,.writing-grid,.editorial-index{display:block;border:1px solid var(--color-grid)}.project-card,.project-card--featured{display:flex;flex-direction:column;min-height:0;border-bottom:1px solid var(--color-grid)}.project-visual{height:15rem}.project-body,.article-card{min-height:21rem}.article-card--featured h2{font-size:2.3rem}.article-card{border-bottom:1px solid var(--color-grid)}.contact-band{grid-template-columns:2rem 1fr}.contact-band>a{grid-column:2;margin-top:2rem}.footer-grid{grid-template-columns:1fr;gap:1rem}.footer-links{flex-wrap:wrap}.article-header h1,.single>header h1{font-size:2.8rem}.content pre{margin-inline:-1rem;border-left:0;border-right:0}.page-hero{padding:4rem 0}.profile-header-left{min-height:16rem}.profile-publications-section .showcase{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}