@font-face{font-family:Manrope;src:url(/fonts/manrope-latin.woff2)format("woff2");font-weight:400 700;font-style:normal;font-display:swap;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}:root{--bg:#0b0c0d;--bg-elevated:#131416;--ink:#ece8e1;--muted:#aea99f;--faint:#6e6a63;--line:#ece8e11f;--line-strong:#ece8e138;--accent:#c4a574;--accent-soft:#c4a57424;--max:70rem;--pad:clamp(1.25rem, 4vw, 2.75rem);--font-sans:"Manrope", sans-serif;--text-body:clamp(1.125rem, .35vw + 1.08rem, 1.25rem);--text-nav:.975rem;--text-meta:.75rem;--weight-body:400;--weight-nav:500;--weight-heading:600;--weight-display:700;--header-h:4.25rem}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + .85rem);background:var(--bg);color:var(--ink);overflow-x:clip}body{max-width:100%;min-height:100vh;font-family:var(--font-sans);font-size:var(--text-body);font-weight:var(--weight-body);letter-spacing:-.011em;background:var(--bg);color:var(--ink);margin:0;line-height:1.6}body:before{content:"";background:var(--accent);z-index:40;height:1px;position:fixed;inset:0 0 auto}img,svg{max-width:100%;display:block}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}a:hover{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.page-top{height:0;scroll-margin-top:0;overflow:hidden}.skip-link{left:var(--pad);z-index:50;background:var(--ink);color:var(--bg);padding:.4rem .7rem;font-size:.875rem;position:absolute;top:-3rem}.skip-link:focus{top:.75rem}.wrap{width:min(var(--max), 100%);padding-inline:var(--pad);margin-inline:auto}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);position:sticky;top:0}.header-inner{min-height:var(--header-h);justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.site-brand{letter-spacing:-.02em;overflow-wrap:break-word;min-width:0;font-size:.95rem;font-weight:600;text-decoration:none}.site-brand:hover{color:var(--ink)}.nav-toggle{display:none}.nav-toggle-btn{border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;padding:.4rem .7rem;font-size:.8rem;display:none}.site-nav ul{flex-wrap:wrap;gap:1.15rem 1.4rem;margin:0;padding:0;list-style:none;display:flex}.site-nav a{font-size:var(--text-nav);font-weight:var(--weight-nav);color:var(--muted);text-decoration:none}.site-nav a[aria-current=page],.site-nav a:hover{color:var(--ink)}.site-nav a:focus-visible,.nav-toggle-btn:focus-visible,.site-brand:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.hero{isolation:isolate;border-bottom:1px solid var(--line);padding:clamp(2.15rem,5.5vw,3.75rem) 0 clamp(2.5rem,6vw,4.25rem);position:relative;overflow:hidden}.hero-inner{z-index:1;grid-template-columns:minmax(0,1fr) clamp(20rem,28vw,22.5rem);grid-template-areas:"name media""role media""bio media";align-items:start;column-gap:clamp(1.75rem,4vw,3.25rem);display:grid;position:relative}.hero-inner h1{grid-area:name;max-width:42.5rem}.hero-role{grid-area:role}.hero-bio{grid-area:bio}.hero-media{grid-area:media;justify-self:end;width:clamp(20rem,28vw,22.5rem)}.hero-picture,.hero-portrait{width:100%;display:block}.hero-portrait{aspect-ratio:1;object-fit:contain;border-radius:1rem;height:auto}.eyebrow{font-size:var(--text-meta);font-weight:var(--weight-nav);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:0 0 1.25rem}.hero h1{max-width:100%;font-family:var(--font-sans);font-size:clamp(2.75rem,5vw + 1.4rem,6rem);font-weight:var(--weight-display);letter-spacing:-.03em;overflow-wrap:break-word;margin:0;line-height:1.05}.hero-role{max-width:36rem;color:var(--muted);overflow-wrap:break-word;margin:1.4rem 0 0;font-size:1.05rem}.hero-bio{gap:1.25rem;max-width:42.5rem;margin-top:1.875rem;display:grid}.hero-bio p{color:#d8d3ca;margin:0;font-size:1.25rem;line-height:1.6}.section{border-bottom:1px solid var(--line);padding:clamp(3.5rem,8vw,5.5rem) 0}#about,#contact,#work{scroll-margin-top:calc(var(--header-h) + .85rem)}.section-head{gap:.75rem;max-width:40rem;margin-bottom:2.25rem;display:grid}.section-head h2,.page-title{max-width:100%;font-family:var(--font-sans);font-size:clamp(1.85rem,3.4vw + .8rem,2.75rem);font-weight:var(--weight-heading);letter-spacing:-.025em;overflow-wrap:break-word;margin:0;line-height:1.15}.lede,.section-head p{color:var(--muted);margin:0}.grid{gap:1rem;display:grid}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{border:1px solid var(--line);background:var(--bg-elevated);flex-direction:column;gap:.7rem;min-height:100%;padding:1.25rem 1.3rem 1.35rem;text-decoration:none;display:flex}a.card:hover{color:inherit;border-color:var(--line-strong)}.card h3{font-size:1.05rem;font-weight:var(--weight-heading);letter-spacing:-.02em;margin:0}.card p,.card .meta{color:var(--muted);margin:0;font-size:.95rem}.card .meta{font-size:var(--text-meta);font-weight:var(--weight-nav);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);margin-top:auto;padding-top:1.1rem}.page{padding:clamp(3.25rem,8vw,5.25rem) 0 0}.page-header{border-bottom:1px solid var(--line);margin-bottom:2.5rem;padding-bottom:2.25rem}.page-header p{max-width:38rem;color:var(--muted);margin:1rem 0 0}.case{gap:2.5rem;padding-bottom:clamp(3.5rem,8vw,5.5rem);display:grid}.case-section h2{font-size:var(--text-meta);font-weight:var(--weight-nav);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .85rem}.case-section p,.case-section li{max-width:42rem;color:var(--ink)}.case-section ul{margin:0;padding-left:1.15rem}.tech-list{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.tech-list li,.tech-list li+li{margin:0}.tech-list li{color:#e5d2ae;background:#1c1b16;border:1px solid #554631;border-radius:.3rem;max-width:none;padding:.28rem .6rem;font-size:.78rem;line-height:1.4}.case-section li+li{margin-top:.4rem}.placeholder-copy,.muted{color:var(--muted)}.btn,.btn-disabled{border:1px solid var(--line-strong);align-items:center;gap:.55rem;padding:.7rem 1rem;font-size:.9rem;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--ink)}.btn-disabled{color:var(--faint);cursor:not-allowed}.cv{gap:2.5rem;padding-bottom:clamp(3.5rem,8vw,5.5rem);display:grid}.cv-block h2{font-size:var(--text-meta);font-weight:var(--weight-nav);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin:0 0 .9rem}.cv-item+.cv-item{margin-top:1.35rem}.cv-item h3{font-size:1.05rem;font-weight:var(--weight-heading);margin:0}.cv-item .org{color:var(--muted);margin:.2rem 0 0}.strengths{gap:.45rem 1.5rem;margin:0;padding:0;list-style:none;display:grid}.strengths li{padding-left:.9rem;position:relative}.strengths li:before{content:"";background:var(--accent);width:.4rem;height:1px;position:absolute;top:.65rem;left:0}.contact{padding:3.25rem 0}.contact h2{max-width:22ch;font-size:clamp(2rem,3.6vw + 1rem,3.1rem);font-weight:var(--weight-heading);letter-spacing:-.03em;margin:0 0 1.15rem;line-height:1.12}.contact-mail{max-width:100%;color:var(--accent);letter-spacing:-.02em;text-underline-offset:.22em;align-items:center;gap:.4rem;font-size:clamp(1.05rem,1.4vw + .7rem,1.4rem);line-height:1.35;text-decoration:none;display:inline-flex}.contact-mail span{overflow-wrap:anywhere;min-width:0}.contact-mail svg{flex:none;width:.78em;height:.78em}.contact-mail:hover{color:#e5d2ae;text-decoration:underline 1px}.contact-mail:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.site-footer{border-top:1px solid var(--line);color:var(--faint);padding:1.1rem 0 1.35rem;font-size:.8rem}.footer-copy{margin:0}@media (width>=860px){.contact{padding:5.5rem 0 6rem}}.draft-note{border:1px solid var(--line);color:var(--faint);font-size:.72rem;font-weight:var(--weight-nav);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1rem;padding:.2rem .5rem;display:inline-block}@media (width<=960px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(14rem,18rem);column-gap:1.75rem}.hero-media{width:auto;max-width:18rem}.hero-bio{max-width:none}.hero-bio p{font-size:1.125rem}.hero{padding:2.15rem 0 2.5rem}}@media (width<=860px){.grid-3,.grid-2{grid-template-columns:1fr}.hero h1{font-size:clamp(2.75rem,10.5vw,3.5rem)}.hero-bio p{font-size:1.0625rem}.nav-toggle-btn{display:inline-flex}.site-nav{padding:.75rem var(--pad) 1.15rem;background:var(--bg);border-bottom:1px solid var(--line);display:none;position:absolute;top:100%;left:0;right:0}.site-nav ul{flex-direction:column;gap:.85rem}.nav-toggle:checked~.site-nav{display:block}}@media (width<=640px){.hero{padding:2rem 0 2.5rem}.hero-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name media""role role""bio bio";align-items:center;gap:0 1.125rem}.hero-inner h1,.hero h1{max-width:none;font-size:clamp(2.125rem,8.4vw,2.5rem);line-height:1.1}.hero-media{place-self:center end;width:6rem;max-width:6.5rem}.hero-portrait{object-fit:cover;border-radius:.875rem;width:6rem;height:6rem}.hero-role{max-width:none;margin-top:1.125rem;font-size:1.0625rem;line-height:1.45}.hero-bio{gap:1.375rem;margin-top:1.625rem}.hero-bio p{font-size:1.125rem;line-height:1.6}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
