:root{--bg:#18212b;--bg-2:#1e2935;--line:#2c3a49;--text:#eef1f4;--muted:#98a6b5;--accent:#f26b5b;--accent-ink:#1a1210;--maxw:1080px;--radius:6px;--font:"Montserrat", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:72px}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:inherit}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5em;line-height:1.15}p{margin:0 0 1em}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.accent{color:var(--accent)}.skip{position:absolute;left:-999px}.skip:focus{background:var(--accent);color:var(--accent-ink);z-index:50;padding:8px 12px;top:12px;left:12px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.site-header{z-index:20;background:color-mix(in srgb, var(--bg) 88%, transparent);backdrop-filter:blur(8px);border-bottom:1px solid #0000;position:sticky;top:0}.site-header .wrap{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{white-space:nowrap;font-size:1.05rem;font-weight:700;text-decoration:none}.nav{gap:22px;font-size:.9rem;display:flex}.nav a{color:var(--muted);padding:6px 0;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--text)}.nav .ext:after{content:" ↗";font-size:.8em}.btn{font:inherit;cursor:pointer;border:2px solid var(--accent);border-radius:3px;padding:11px 20px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-block}.btn-solid{background:var(--accent);color:var(--accent-ink)}.btn-solid:hover{filter:brightness(1.08)}.btn-ghost{color:var(--text);background:0 0}.btn-ghost:hover{background:color-mix(in srgb, var(--accent) 14%, transparent)}.btn-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.hero{padding:56px 0 40px}.hero .wrap{grid-template-columns:1.1fr .9fr;align-items:center;gap:40px;display:grid}.hero h1{margin:0;font-size:clamp(2rem,5vw,3.2rem)}.hero .hello{font-size:clamp(2.2rem,6vw,3.6rem);font-weight:800}.hero .hello i{color:var(--accent);font-style:normal}.hero .name{align-items:center;gap:16px;margin:6px 0 10px;font-size:1.5rem;font-weight:500;display:flex}.hero .name:before{content:"";background:var(--accent);width:64px;height:2px}.hero .role{font-size:clamp(1.4rem,3.4vw,2.1rem);font-weight:700}.hero .lede{max-width:34em;color:var(--muted);margin-top:18px}.portrait{aspect-ratio:1;justify-self:center;width:min(360px,78vw);position:relative}.portrait:before{content:"";border:14px solid var(--accent);opacity:.95;border-radius:50%;position:absolute;inset:0}.portrait img{object-fit:cover;object-position:55% 20%;border-radius:50%;width:calc(100% - 28px);height:calc(100% - 28px);position:absolute;inset:14px}.ticker{background:var(--bg-2);border-block:1px solid var(--line);margin-top:36px}.ticker ul{max-width:var(--maxw);color:#5d6d7e;flex-wrap:wrap;justify-content:space-between;gap:10px 24px;margin:0 auto;padding:18px 24px;font-weight:600;list-style:none;display:flex}section{padding:84px 0}.sec-title{text-align:center;font-size:clamp(1.8rem,4vw,2.4rem)}.sec-title:after{content:"";background:var(--accent);width:2px;height:38px;margin:14px auto 0;display:block}.about{grid-template-columns:.9fr 1.1fr;align-items:start;gap:56px;display:grid}.about h2{font-size:2.2rem}.stats{grid-template-columns:repeat(2,1fr);gap:22px 28px;margin-top:28px;display:grid}.stat b{font-size:2.1rem;font-weight:700}.stat b span{color:var(--accent)}.stat small{color:var(--muted);font-size:.82rem;line-height:1.4;display:block}.timeline{border-left:2px solid var(--line);margin:0;padding:0 0 0 22px;list-style:none}.timeline li{padding:0 0 26px 18px;position:relative}.timeline li:before{content:"";background:var(--accent);border-radius:50%;width:10px;height:10px;position:absolute;top:7px;left:-29px}.timeline h3{margin:0;font-size:1.05rem}.timeline .when{color:var(--muted);font-size:.85rem}.timeline p{color:var(--muted);margin:6px 0 0;font-size:.95rem}.work-list{gap:64px;margin-top:56px;display:grid}.work-row{grid-template-columns:1fr 1fr;align-items:center;gap:48px;display:grid}.work-row:nth-child(2n) .work-media{order:2}.work-media{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);min-height:220px;box-shadow:14px 14px 0 -2px color-mix(in srgb, var(--accent) 22%, transparent);align-content:center;padding:28px;display:grid;position:relative}.work-media .big{color:var(--accent);font-size:3.4rem;font-weight:800;line-height:1}.work-media .cap{color:var(--muted);margin-top:8px;font-size:.9rem}.work-row h3{font-size:1.5rem}.chips{flex-wrap:wrap;gap:8px;margin:12px 0 14px;padding:0;list-style:none;display:flex}.chips li{background:var(--bg-2);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:4px 12px;font-size:.75rem}.textlink{border-bottom:1px solid var(--accent);padding-bottom:2px;font-weight:600;text-decoration:none}.textlink:after{content:" →"}.posts{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;display:grid}.post{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--radius);padding:22px;text-decoration:none;display:block}.post:hover{border-color:var(--accent)}.post time{color:var(--muted);font-size:.8rem}.post h3{margin:6px 0 8px;font-size:1.1rem}.post p{color:var(--muted);margin:0;font-size:.92rem}.center{text-align:center;margin-top:32px}.contact{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}.contact h2{font-size:clamp(1.8rem,4vw,2.6rem)}.kicker{color:var(--muted);align-items:center;gap:14px;margin-bottom:14px;font-size:.95rem;display:flex}.kicker:before{content:"";background:var(--accent);width:56px;height:2px}form{gap:22px;display:grid}label{color:var(--muted);gap:4px;font-size:.85rem;display:grid}input,textarea{font:inherit;color:var(--text);border:0;border-bottom:1px solid var(--muted);background:0 0;border-radius:0;padding:8px 0}input:focus,textarea:focus{border-color:var(--accent);outline:none}textarea{resize:vertical;min-height:96px}.hp{position:absolute;left:-9999px}.form-note{color:var(--muted);margin:0;font-size:.82rem}.site-footer{border-top:1px solid var(--line);text-align:center;color:var(--muted);padding:36px 0 44px;font-size:.88rem}.site-footer .links{justify-content:center;gap:22px;margin-top:12px;display:flex}.site-footer a{text-decoration:none}.site-footer a:hover{color:var(--text)}.prose{max-width:720px;margin:0 auto;padding:56px 24px 84px}.prose h1{font-size:clamp(2rem,5vw,2.8rem)}.prose h2{color:var(--accent);margin-top:2em;font-size:1.3rem}.prose ul{padding-left:1.2em}.prose li{margin-bottom:.4em}.back{color:var(--muted);font-size:.9rem;text-decoration:none}.note{border-left:3px solid var(--accent);background:var(--bg-2);border-radius:0 var(--radius) var(--radius) 0;color:var(--muted);padding:12px 16px;font-size:.92rem}@media (width<=820px){.hero .wrap,.about,.work-row,.contact{grid-template-columns:1fr}.work-row:nth-child(2n) .work-media{order:0}.posts{grid-template-columns:1fr}.nav{gap:14px;font-size:.82rem}.portrait{order:-1}section{padding:60px 0}.ticker ul{justify-content:center}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media print{body{color:#111;background:#fff;font-size:11pt}.site-header,.site-footer,.no-print{display:none}.prose{max-width:none;padding:0}.prose h2{color:#111;border-bottom:1px solid #999}.muted,.timeline p{color:#333}}
