@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,500;6..72,600;6..72,700&display=swap";:root{--canvas:#f6f4ef;--surface:#ffffff;--ink:#171717;--ink-soft:#34332f;--muted:#66635c;--line:#d8d4cb;--accent:#1d4ed8;--accent-strong:#173ea9;--focus:#e48318;--font-sans:"Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display:"Newsreader", Georgia, serif;--font-mono:"DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--content-width:74rem;--reading-width:44rem;--space-1:0.5rem;--space-2:0.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--space-7:4.5rem;--space-8:7rem;--radius:0.25rem;--transition:160ms ease}*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--canvas)}body{min-width:20rem;margin:0;overflow-x:hidden;color:var(--ink);background:var(--canvas);font-family:var(--font-sans);font-size:1rem;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}img,svg,video{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration-color:initial;text-decoration-thickness:.075em;text-underline-offset:.17em}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:.2rem solid var(--focus);outline-offset:.22rem}::selection{color:var(--surface);background:var(--accent)}h1,h2,h3,p,ul,ol{margin-top:0}h1,h2,h3{color:var(--ink);font-weight:600;line-height:1.06;text-wrap:balance}h1{margin-bottom:var(--space-5);font-family:var(--font-display);font-size:clamp(3rem,7.8vw,7.25rem);letter-spacing:-.05em}h2{margin-bottom:var(--space-4);font-family:var(--font-display);font-size:clamp(2.1rem,4.5vw,4.25rem);letter-spacing:-.042em}h3{margin-bottom:var(--space-2);font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.025em}p{margin-bottom:var(--space-4)}ul,ol{padding-left:1.2em}li+li{margin-top:var(--space-1)}.shell{width:min(100% - 3rem,var(--content-width));margin-inline:auto}.section{padding-block:var(--space-8)}.section--rule{border-top:1px solid var(--line)}.eyebrow,.tag-list,.project-preview__index{margin-bottom:var(--space-3);color:var(--muted);font-family:var(--font-mono);font-size:.72rem;font-weight:500;letter-spacing:.06em;line-height:1.45;text-transform:uppercase}.skip-link{position:fixed;z-index:100;top:var(--space-3);left:var(--space-3);transform:translateY(-200%);padding:var(--space-2)var(--space-3);color:var(--surface);background:var(--ink);border-radius:var(--radius);transition:transform var(--transition)}.skip-link:focus{transform:translateY(0)}.site-header{border-bottom:1px solid var(--line)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:5.25rem}.site-identity{display:inline-flex;flex:initial;flex-direction:column;gap:.1rem;min-width:0;color:var(--ink);text-decoration:none}.site-identity:hover{color:var(--ink)}.site-identity__name{font-size:.97rem;font-weight:700;line-height:1.2;letter-spacing:-.025em}.site-identity__role{color:var(--muted);font-family:var(--font-mono);font-size:.63rem;letter-spacing:.04em;line-height:1.2;text-transform:uppercase}.site-nav{flex:initial;min-width:0}.site-nav__list,.social-links{display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:center;padding:0;margin:0;list-style:none}.site-nav__list{justify-content:flex-end}.site-nav__link{position:relative;display:inline-block;padding-block:.4rem;color:var(--ink-soft);font-size:.86rem;font-weight:600;text-decoration:none;transition:color var(--transition)}.site-nav__link::after{position:absolute;right:0;bottom:.15rem;left:0;height:1px;content:"";background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform var(--transition)}.site-nav__link:hover::after,.site-nav__link.is-active::after{transform:scaleX(1);transform-origin:left}.site-nav__link.is-active{color:var(--accent)}.hero__grid{display:grid;grid-template-columns:minmax(0,1.65fr)minmax(15rem,.7fr);gap:clamp(var(--space-6),8vw,9rem);align-items:end}.hero__title{max-width:14ch;margin-bottom:var(--space-5)}.hero__intro{max-width:39rem;margin-bottom:var(--space-5);color:var(--ink-soft);font-size:clamp(1.1rem,1.9vw,1.4rem);line-height:1.55}.hero__panel{padding:var(--space-5);background:var(--surface);border:1px solid var(--line)}.focus-list{padding:0;margin:0;list-style:none}.focus-list li{padding-block:var(--space-2);color:var(--ink-soft);border-top:1px solid var(--line);font-size:.92rem}.focus-list li:last-child{border-bottom:1px solid var(--line)}.button-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.button{display:inline-flex;gap:.45em;align-items:center;justify-content:center;min-height:2.85rem;padding:.7rem 1rem;border:1px solid transparent;border-radius:var(--radius);font-size:.84rem;font-weight:700;line-height:1.2;text-align:center;text-decoration:none;transition:color var(--transition),background-color var(--transition),border-color var(--transition),transform var(--transition)}.button:hover{transform:translateY(-1px)}.button--primary{color:var(--surface);background:var(--accent)}.button--primary:hover{color:var(--surface);background:var(--accent-strong)}.button--secondary{color:var(--ink);border-color:var(--ink)}.button--secondary:hover{color:var(--accent);border-color:var(--accent)}.section-heading{display:grid;grid-template-columns:minmax(11rem,.55fr)minmax(0,1.45fr);gap:var(--space-5);align-items:baseline;margin-bottom:var(--space-6)}.section-heading h2{max-width:18ch;margin:0}.project-list{border-top:1px solid var(--line)}.project-preview{display:grid;grid-template-columns:4rem minmax(0,1fr)auto;gap:var(--space-4);align-items:start;padding-block:var(--space-5);border-bottom:1px solid var(--line)}.project-preview__index{padding-top:.35rem;margin:0}.project-preview__body{max-width:42rem}.project-preview__body p:not(.tag-list){max-width:38rem;margin-bottom:var(--space-3);color:var(--ink-soft)}.tag-list{margin:0;font-size:.67rem}.text-link{display:inline-flex;gap:.35rem;padding-top:.35rem;color:var(--accent);font-size:.85rem;font-weight:700;text-decoration:none;white-space:nowrap}.text-link:hover{color:var(--accent-strong);text-decoration:underline}.statement{display:grid;grid-template-columns:minmax(11rem,.55fr)minmax(0,1.45fr);gap:var(--space-5)}.statement__text{max-width:25ch;margin:0;font-family:var(--font-display);font-size:clamp(2rem,4.2vw,4rem);font-weight:600;line-height:1.04;letter-spacing:-.045em}.contact-banner{display:flex;gap:var(--space-5);align-items:end;justify-content:space-between}.contact-banner h2{max-width:15ch;margin:0}.page-content__grid{display:grid;grid-template-columns:minmax(12rem,.7fr)minmax(0,1.3fr);gap:clamp(var(--space-6),9vw,10rem);align-items:start}.page-content__header{position:sticky;top:var(--space-5)}.page-content__header h1{max-width:8ch}.page-content__lede{max-width:27rem;color:var(--ink-soft);font-size:1.08rem}.prose{max-width:var(--reading-width);color:var(--ink-soft);font-size:1.05rem}.prose>*:last-child{margin-bottom:0}.prose h2{margin-top:var(--space-7);margin-bottom:var(--space-4);font-size:clamp(1.9rem,3.3vw,2.85rem)}.prose h3{margin-top:var(--space-5)}.prose a{color:var(--accent);font-weight:700}.prose strong{color:var(--ink)}.prose blockquote{padding-left:var(--space-4);margin-inline:0;color:var(--ink);border-left:2px solid var(--accent);font-family:var(--font-display);font-size:1.45rem;line-height:1.3}.prose code{padding:.12em .3em;color:var(--ink);background:#ebe8e0;border-radius:.15rem;font-family:var(--font-mono);font-size:.82em}.prose pre{padding:var(--space-4);overflow-x:auto;color:#f5f2ec;background:var(--ink);border-radius:var(--radius)}.prose pre code{padding:0;color:inherit;background:0 0}.site-footer{margin-top:var(--space-6);border-top:1px solid var(--line)}.site-footer__inner{display:flex;gap:var(--space-4);align-items:center;justify-content:space-between;padding-block:var(--space-5);color:var(--muted);font-family:var(--font-mono);font-size:.68rem;letter-spacing:.035em;text-transform:uppercase}.site-footer__copyright{flex:none;margin:0}.site-footer__meta{display:flex;flex:initial;flex-wrap:wrap;gap:var(--space-3);align-items:center;justify-content:flex-end;min-width:0}.social-links{gap:var(--space-2)}.social-links a{color:var(--ink-soft)}.social-links a:hover{color:var(--accent)}@media(max-width:52rem){:root{--space-8:5rem}.shell{width:min(100% - 2rem,var(--content-width))}.hero__grid,.section-heading,.statement,.page-content__grid{grid-template-columns:1fr}.hero__grid,.page-content__grid{gap:var(--space-6)}.section-heading,.statement{gap:var(--space-3)}.section-heading h2{max-width:17ch}.project-preview{grid-template-columns:2.5rem minmax(0,1fr)}.project-preview .text-link{grid-column:2;padding-top:0}.contact-banner{align-items:flex-start;flex-direction:column}.page-content__header{position:static}.page-content__header h1{max-width:none}}@media(max-width:40rem){.site-header__inner{align-items:flex-start;flex-direction:column;justify-content:center;gap:var(--space-2);padding-block:var(--space-3)}.site-nav{width:100%}.site-nav__list{justify-content:flex-start}.site-footer__inner{align-items:flex-start;flex-direction:column}.site-footer__meta{align-items:flex-start;justify-content:flex-start}}@media(max-width:28rem){.site-nav__list{gap:var(--space-2)}.site-nav__link{font-size:.79rem}.site-footer__meta{flex-direction:column;gap:var(--space-2)}.project-preview{grid-template-columns:1fr;gap:var(--space-2)}.project-preview .text-link{grid-column:auto}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{body{color:#000;background:#fff}.site-header,.site-footer,.button-row,.skip-link{display:none}.section{padding-block:1.5rem}a{color:inherit}}.site-header .site-header__inner{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between}.site-header .site-nav{display:block;width:auto}.site-header .site-nav__list{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;width:auto;margin:0;padding:0}.site-header .site-nav__item{display:block;margin:0;padding:0}@media(max-width:40rem){.site-header .site-header__inner{flex-flow:column nowrap;align-items:flex-start}.site-header .site-nav{width:100%}.site-header .site-nav__list{flex-wrap:wrap;justify-content:flex-start;width:100%}}.site-footer .site-footer__inner{display:flex;flex-flow:row nowrap;align-items:center;justify-content:space-between}.site-footer .site-footer__meta{display:flex;flex-flow:row nowrap;align-items:center;justify-content:flex-end;gap:var(--space-3)}.site-footer .site-footer__social{display:block}.site-footer .social-links{display:flex;flex-flow:row nowrap;align-items:center;gap:var(--space-2);margin:0;padding:0;list-style:none}.site-footer .social-links li{display:block;margin:0;padding:0}@media(max-width:40rem){.site-footer .site-footer__inner{flex-flow:column nowrap;align-items:flex-start}.site-footer .site-footer__meta{flex-flow:row wrap;align-items:center;justify-content:flex-start}.site-footer .social-links{flex-wrap:wrap}}