:root{--bg:#faf9f6;--bg-elev:#ffffff;--bg-soft:#f3f1ec;--bg-deep:#ecebe5;--ink:#0a0a0a;--ink-2:#1d1d1b;--ink-3:#3a3a37;--muted:#6b6b67;--muted-2:#9b9a93;--muted-3:#c6c4ba;--rule:#e8e5dd;--rule-2:#d6d2c6;--rule-3:#b9b5a8;--accent:#ff5500;--accent-2:#d94600;--accent-soft:#ffece0;--on-accent:#ffffff;--shipped-fg:#8a3614;--shipped-bg:#fce0d0;--feature-fg:#1a5d36;--feature-bg:#d4eddd;--milestone-fg:#ffffff;--milestone-bg:#0a0a0a;--journal-fg:#4a3578;--journal-bg:#e7e1f2;--live:#2d8f5f;--shadow-sm:0 1px 2px rgba(20,18,10,0.04);--shadow-md:0 2px 6px rgba(20,18,10,0.06),0 1px 2px rgba(20,18,10,0.04);--shadow-lg:0 18px 60px -20px rgba(20,18,10,0.18),0 4px 12px rgba(20,18,10,0.05);--gap:24px;--radius:6px;--radius-lg:14px;--page-px:clamp(28px,7vw,40px);--density-pad-y:28px;--density-pad-x:28px;--density-text:14px;--fs-hero:clamp(2.4rem,7vw + 0.5rem,7.5rem);--fs-h2:clamp(1.5rem,3vw + 0.5rem,2.625rem);--fs-h3:clamp(1.2rem,2vw + 0.5rem,2rem);--fs-tagline:clamp(0.9rem,1.5vw + 0.4rem,1.375rem);--fs-body:clamp(0.8125rem,0.5vw + 0.7rem,0.9375rem);--fs-small:clamp(0.6875rem,0.3vw + 0.6rem,0.8125rem);--fs-mono:clamp(0.625rem,0.3vw + 0.5rem,0.6875rem);--space-section:clamp(3rem,6vw,6rem);--space-grid:clamp(1.5rem,4vw,3.75rem);--font-serif:"Fraunces","Iowan Old Style",Georgia,serif;--font-sans:"Inter",-apple-system,system-ui,sans-serif;--font-mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,monospace;--content-max:1180px}[data-theme=dark]{--bg:#0d0d0b;--bg-elev:#181815;--bg-soft:#1d1d1a;--bg-deep:#232320;--ink:#efeae0;--ink-2:#d6d2c8;--ink-3:#b1ada3;--muted:#8c8a82;--muted-2:#5d5b54;--muted-3:#3a3935;--rule:#25241f;--rule-2:#34332d;--rule-3:#45443c;--accent-soft:#2b1a0e;--shipped-fg:#ffb988;--shipped-bg:#2b1a10;--feature-fg:#8ad6ab;--feature-bg:#0f2a1a;--milestone-fg:#0d0d0b;--milestone-bg:#efeae0;--journal-fg:#c5b7e7;--journal-bg:#1d1730;--shadow-lg:0 18px 60px -20px rgba(0,0,0,0.6),0 4px 12px rgba(0,0,0,0.4)}[data-density=compact]{--density-pad-y:18px;--density-pad-x:22px;--density-text:13px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--density-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--rule-3) var(--bg)}a{color:inherit;text-decoration:none}button{background:none;border:none;cursor:pointer;padding:0}button,input,select,textarea{color:inherit;font:inherit}::selection{background:var(--accent);color:var(--on-accent)}.mono{font-family:var(--font-mono)}.serif{font-family:var(--font-serif)}.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.page{max-width:var(--content-max);margin:0 auto;padding:0 var(--page-px)}.section{padding-top:var(--space-section);padding-bottom:2rem;position:relative;scroll-margin-top:80px}.section-head{display:grid;grid-template-columns:1fr auto;align-items:end;grid-gap:32px;gap:32px;margin-bottom:36px;padding-bottom:22px;border-bottom:1px solid var(--rule)}.section-head h2{font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:400;letter-spacing:-.02em;line-height:1.05;color:var(--ink)}.section-head h2 em{font-style:italic;font-weight:500;color:var(--accent)}.section-head .sub{max-width:380px;text-align:right;color:var(--muted);font-size:13px;line-height:1.55}.tag{display:inline-block;padding:2px 8px;border:1px solid var(--rule-2);border-radius:999px;font-family:var(--font-mono);font-size:10px;color:var(--ink-3);background:var(--bg);letter-spacing:.02em}[data-theme=dark] .tag{background:var(--bg-soft)}.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.02em;transition:background .15s,color .15s,border-color .15s,transform .1s;border:1px solid transparent}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--ink);color:var(--bg)}.btn-primary:hover{background:var(--accent);color:var(--on-accent)}.btn-ghost{color:var(--muted);border:1px solid var(--rule-2);background:var(--bg-elev)}.btn-ghost:hover{color:var(--ink);border-color:var(--rule-3)}.dot{display:inline-block;vertical-align:middle;margin-right:6px}.dot,.pulse-wrap{width:6px;height:6px;border-radius:50%;background:var(--live)}.pulse-wrap{position:relative}.pulse-wrap:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--live);animation:pulse 1.8s ease-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:.45}to{transform:scale(3);opacity:0}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--rule-3);border-radius:999px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.nav{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid color-mix(in srgb,var(--rule) 70%,transparent)}.nav-inner{max-width:var(--content-max);margin:0 auto;padding:14px var(--page-px);display:grid;grid-template-columns:auto 1fr auto;align-items:center;grid-gap:32px;gap:32px}.nav-brand{display:flex;align-items:center;gap:10px;font-family:var(--font-mono);font-size:13px;cursor:pointer;min-width:0;white-space:nowrap}.nav-brand .bmark{width:22px;height:22px;background:var(--ink);color:var(--bg);border-radius:5px;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:-.02em}.nav-brand b{font-weight:600}.nav-brand small,.nav-links{color:var(--muted)}.nav-links{display:flex;gap:22px;justify-content:center;font-family:var(--font-mono);font-size:12px}.nav-links a{position:relative;padding:4px 2px;cursor:pointer;transition:color .15s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left center;transition:transform .2s ease}.nav-links a:hover{color:var(--ink)}.nav-links a.cur:after,.nav-links a:hover:after{transform:scaleX(1)}.nav-links a.cur{color:var(--ink)}.nav-links a .lab-num{color:var(--muted-2);font-size:10px;margin-right:6px}.nav-right{display:flex;align-items:center;gap:14px}.nav-status{display:inline-flex;align-items:center;padding:5px 10px;background:var(--feature-bg);color:var(--feature-fg);border-radius:999px;font-family:var(--font-mono);font-size:11px;font-weight:500}.nav-status .status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:6px;display:inline-block}.cmdk-trigger{display:inline-flex;align-items:center;gap:8px;padding:5px 9px 5px 11px;border:1px solid var(--rule-2);border-radius:7px;font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--bg-elev);transition:border-color .15s,color .15s}.cmdk-trigger:hover{border-color:var(--rule-3);color:var(--ink)}.cmdk-trigger .kbd{background:var(--bg-soft);border:1px solid var(--rule);padding:1px 5px;border-radius:4px;font-size:10px}.nav-icon-btn{width:32px;height:32px;display:grid;place-items:center;border-radius:7px;color:var(--muted);transition:background .15s,color .15s}.nav-icon-btn:hover{background:var(--bg-soft);color:var(--ink)}.nav-icon-btn svg{width:16px;height:16px}.mobile-toggle{display:none}.hero{padding-top:clamp(2rem,5vw,4.375rem);padding-bottom:clamp(1.5rem,4vw,3.75rem)}.hero-grid{display:grid;grid-template-columns:1.4fr .95fr;grid-gap:var(--space-grid);gap:var(--space-grid);align-items:start}.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.hero-name{font-family:var(--font-serif);font-size:var(--fs-hero);font-weight:300;line-height:.92;letter-spacing:-.04em;color:var(--ink)}.hero-name .ampersand,.hero-name em{font-style:italic;font-weight:500}.hero-name .ampersand{color:var(--accent)}.hero-tagline{font-family:var(--font-serif);font-size:var(--fs-tagline);font-weight:300;line-height:1.5;color:var(--ink-2);margin-top:clamp(1rem,2vw,2rem);max-width:540px}.hero-tagline em{font-style:italic;color:var(--accent)}.hero-meta{margin-top:clamp(1rem,2.5vw,2.25rem);display:flex;gap:clamp(.5rem,1.5vw,1.5rem);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;flex-wrap:wrap}.hero-meta b{color:var(--ink);font-weight:600}.hero-meta .sep{color:var(--muted-3)}.latest-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.latest-card .label-bar{background:var(--ink);color:var(--bg);padding:10px 18px;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.latest-card .pill-live{display:inline-flex;align-items:center;background:rgba(45,143,95,.18);color:#66dd9a;padding:2px 8px;border-radius:999px;font-size:10px;letter-spacing:.08em}.latest-card .pill-live:before{content:"";width:6px;height:6px;border-radius:50%;background:#66dd9a;margin-right:6px}.latest-card .body{padding:clamp(1rem,2vw,1.5rem) clamp(1rem,2vw,1.5rem) clamp(1.25rem,2vw,1.5rem)}.latest-card .version-line{display:flex;align-items:baseline;gap:12px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}.latest-card .version-line b{font-size:14px;color:var(--ink);font-weight:600}.latest-card .type-tag{display:inline-block;padding:1px 7px;border-radius:3px;font-family:var(--font-mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;background:var(--shipped-bg);color:var(--shipped-fg)}.latest-card h3{font-family:var(--font-serif);font-size:var(--fs-h3);font-weight:500;letter-spacing:-.01em;line-height:1.1;margin:12px 0 8px;color:var(--ink)}.latest-card p{font-size:var(--fs-body);line-height:1.6;color:var(--ink-3)}.latest-card .stack-row{display:flex;gap:5px;flex-wrap:wrap;margin-top:14px}.latest-card .cta-row{display:flex;gap:6px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--rule)}.hero-stats{margin-top:clamp(1.5rem,4vw,3.5rem);padding-top:clamp(1rem,2vw,1.75rem);border-top:1px solid var(--rule);display:grid;grid-template-columns:repeat(4,1fr)}.hero-stats .item{padding:0 24px 0 0;border-right:1px solid var(--rule)}.hero-stats .item:last-child{border-right:none}.hero-stats .item:not(:first-child){padding-left:24px}.hero-stats .lab{font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted)}.hero-stats .val{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw + .5rem,2rem);font-weight:400;letter-spacing:-.01em;color:var(--ink);margin-top:6px}.hero-stats .delta{font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-top:2px}.filter-bar{position:-webkit-sticky;position:sticky;top:53px;z-index:20;margin-bottom:24px;padding:14px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);display:flex;align-items:center;gap:12px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-family:var(--font-mono);font-size:11.5px;color:var(--muted);border:1px solid var(--rule-2);background:var(--bg-elev);transition:border-color .15s,color .15s,background .15s}.filter-chip:hover{color:var(--ink);border-color:var(--rule-3)}.filter-chip.active{background:var(--ink);color:var(--bg);border-color:var(--ink)}.filter-chip .count{font-size:10px;opacity:.7}.filter-bar .live-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:11px;color:var(--muted);margin-right:6px}.filter-bar .search-wrap{margin-left:auto;position:relative}.filter-bar .search-input{background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:7px;padding:6px 12px 6px 30px;font-family:var(--font-mono);font-size:12px;color:var(--ink);width:220px;transition:border-color .15s,width .18s ease}.filter-bar .search-input::placeholder{color:var(--muted-2)}.filter-bar .search-input:focus{outline:none;border-color:var(--ink);width:260px}.filter-bar .search-icon{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--muted-2);pointer-events:none}.entries{position:relative}.entries:before{content:"";position:absolute;left:88px;top:12px;bottom:12px;width:1px;background:var(--rule)}.entry{display:grid;grid-template-columns:200px 1fr;grid-gap:32px;gap:32px;padding:32px 0;border-top:1px solid var(--rule);position:relative}.entry:last-child{border-bottom:1px solid var(--rule)}.entry .stamp{position:relative}.entry .stamp:before{content:"";position:absolute;left:84px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--bg);border:2px solid var(--rule-3);z-index:1}.entry.shipped .stamp:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}.entry.feature .stamp:before{background:var(--feature-fg);border-color:var(--feature-fg)}.entry.milestone .stamp:before{background:var(--ink);border-color:var(--ink)}.entry.journal .stamp:before{background:var(--journal-fg);border-color:var(--journal-fg)}.stamp .ver{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.stamp .date,.stamp .ver{font-family:var(--font-mono)}.stamp .date{font-size:11.5px;color:var(--muted);margin-top:4px}.stamp .type-badge{display:inline-block;margin-top:14px;padding:2px 9px;border-radius:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:500}.type-shipped{background:var(--shipped-bg);color:var(--shipped-fg)}.type-feature{background:var(--feature-bg);color:var(--feature-fg)}.type-milestone{background:var(--milestone-bg);color:var(--milestone-fg)}.type-journal{background:var(--journal-bg);color:var(--journal-fg)}.entry-body{min-width:0}.entry-title{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw + .5rem,1.875rem);font-weight:400;line-height:1.15;letter-spacing:-.015em;color:var(--ink);transition:color .15s}.entry-title.clickable{cursor:pointer}.entry-title.clickable:hover{color:var(--accent)}.entry-title em{font-style:italic}.entry-blurb{font-size:var(--fs-body);line-height:1.65;color:var(--ink-3);margin-top:10px;max-width:720px}.entry-meta-row{display:flex;gap:12px;align-items:center;margin-top:16px;flex-wrap:wrap}.entry-meta-row .domain{font-family:var(--font-mono);font-size:11.5px;color:var(--muted)}.entry-meta-row .domain a:hover{color:var(--accent)}.entry .expand-btn{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:7px 13px;border-radius:6px;font-family:var(--font-mono);font-size:11.5px;font-weight:500;color:var(--muted);background:var(--bg-elev);border:1px solid var(--rule-2);transition:color .15s,border-color .15s,background .15s}.entry .expand-btn:hover{color:var(--ink);border-color:var(--rule-3)}.entry .expand-btn .chev{transition:transform .2s ease;display:inline-block}.entry.open .expand-btn .chev{transform:rotate(90deg)}.entry.open .expand-btn{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.case-study{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}.entry.open .case-study{grid-template-rows:1fr}.case-study-inner{overflow:hidden;min-height:0}.case-study-card{margin-top:22px;background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:clamp(1rem,2.5vw,1.75rem) clamp(1rem,2.5vw,1.875rem) clamp(1.25rem,2.5vw,1.875rem)}.case-toc{display:flex;gap:20px;padding-bottom:18px;margin-bottom:22px;border-bottom:1px solid var(--rule);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.case-toc .item{display:flex;align-items:center;gap:6px}.case-toc .item .num{font-size:9px;color:var(--muted-2)}.case-grid{display:grid;grid-template-columns:1fr 320px;grid-gap:32px;gap:32px}.case-screenshot{background:var(--bg-soft);border:1px solid var(--rule);border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:11px;color:var(--muted-2);letter-spacing:.05em}.case-screenshot.no-image{aspect-ratio:16/10;padding:24px}.case-screenshot.has-image{padding:0;height:auto}.case-screenshot img{width:100%;height:auto;display:block;object-fit:contain}.case-section{margin-top:24px}.case-section:first-child{margin-top:0}.case-section h4{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;display:flex;align-items:center;gap:8px}.case-section h4:before{content:"\00A7";color:var(--accent);font-family:var(--font-serif);font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.case-section p{font-size:14px;line-height:1.65;color:var(--ink-2);margin-bottom:12px}.case-section ul{list-style:none;padding:0}.case-section li{font-size:13.5px;line-height:1.6;color:var(--ink-2);padding:5px 0 5px 24px;position:relative}.case-section li:before{content:"+";position:absolute;left:4px;top:5px;color:var(--feature-fg);font-family:var(--font-mono);font-weight:600;font-size:14px}.case-section li.minus:before{content:"\2212";color:var(--shipped-fg)}.outcomes{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:8px;gap:8px;margin-top:14px}.outcome{padding:12px 14px;background:var(--bg-soft);border:1px solid var(--rule);border-radius:6px}.outcome .lab{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.outcome .lab,.outcome .val{font-family:var(--font-mono)}.outcome .val{font-size:19px;font-weight:600;color:var(--ink);margin-top:4px;letter-spacing:-.01em}.case-side{display:flex;flex-direction:column;gap:22px}.case-side .group{border-bottom:1px solid var(--rule);padding-bottom:18px}.case-side .group:last-child{border-bottom:none;padding-bottom:0}.case-side .group h5{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.case-side .group .val{font-size:13.5px;color:var(--ink-2);line-height:1.55}.case-side .group .stack-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.case-side .links{display:flex;flex-direction:column;gap:6px;font-family:var(--font-mono);font-size:12px}.case-side .links a{color:var(--ink-2);padding:7px 10px;background:var(--bg-soft);border-radius:5px;display:flex;justify-content:space-between;align-items:center;transition:color .15s,background .15s}.case-side .links a:hover{color:var(--accent);background:var(--accent-soft)}.arch-diagram{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2)}.arch-diagram .node{background:var(--bg);border:1px solid var(--rule-2);padding:5px 10px;border-radius:5px}.arch-diagram .arrow{color:var(--muted-2)}.about-grid{display:grid;grid-template-columns:1.2fr 1fr;grid-gap:var(--space-grid);gap:var(--space-grid)}.about-bio p{font-family:var(--font-serif);font-size:clamp(.875rem,1vw + .6rem,1.1875rem);line-height:1.6;color:var(--ink-2);font-weight:300;margin-bottom:18px;max-width:580px}.about-bio p em{font-style:italic;color:var(--ink)}.about-bio p strong{color:var(--accent);font-weight:500}.about-skills{margin-top:32px;display:grid;grid-template-columns:1fr 1fr;grid-gap:24px 30px;gap:24px 30px;max-width:580px}.about-skills .col{border-top:1px solid var(--rule);padding-top:12px}.about-skills .col h5{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.about-skills .col .list{display:flex;flex-wrap:wrap;gap:5px}.experience .job{padding:16px 0;border-top:1px solid var(--rule);display:grid;grid-template-columns:90px 1fr auto;grid-gap:20px;gap:20px}.experience .job:last-child{border-bottom:1px solid var(--rule)}.experience .job .when{font-family:var(--font-mono);font-size:11px;color:var(--muted);padding-top:4px;white-space:nowrap}.experience .job .role-name{font-family:var(--font-serif);font-size:18px;font-weight:500;color:var(--ink);letter-spacing:-.005em}.experience .job .role-co{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);margin-top:3px}.experience .job .role-blurb{font-size:13px;line-height:1.55;color:var(--ink-3);margin-top:8px;max-width:460px}.experience .job .badge{font-family:var(--font-mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;padding-top:4px}.education{margin-top:24px;padding-top:18px;border-top:1px dashed var(--rule)}.contact{padding-top:var(--space-section);padding-bottom:clamp(2rem,4vw,4rem)}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr;grid-gap:60px;gap:60px;align-items:end}.contact h2{font-family:var(--font-serif);font-size:clamp(1.75rem,6vw + 1rem,5.625rem);font-weight:300;line-height:.95;letter-spacing:-.04em;color:var(--ink)}.contact h2 em{font-style:italic;font-weight:500;color:var(--accent)}.contact-tag{margin-top:28px;font-size:17px;line-height:1.55;color:var(--ink-3);max-width:480px;font-family:var(--font-serif);font-weight:300}.contact-card{background:var(--bg-elev);border:1px solid var(--rule);border-radius:var(--radius-lg);padding:clamp(1.125rem,2.5vw,1.75rem) clamp(1.125rem,2.5vw,1.875rem);box-shadow:var(--shadow-md)}.contact-card .head{display:flex;justify-content:space-between;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--rule);margin-bottom:18px}.contact-card .head .title{font-family:var(--font-mono);font-size:11.5px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.contact-card .channel{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px dashed var(--rule);font-family:var(--font-mono);font-size:13px}.contact-card .channel:last-child{border-bottom:none}.contact-card .channel .lab{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}.contact-card .channel .val{color:var(--ink);transition:color .15s}.contact-card .channel .val:hover{color:var(--accent)}.contact-card .respond{margin-top:20px;padding:12px 14px;background:var(--feature-bg);color:var(--feature-fg);border-radius:6px;font-family:var(--font-mono);font-size:11.5px;display:flex;align-items:center;justify-content:space-between;gap:12px}.contact-card .respond .resp-dot{width:6px;height:6px;background:var(--feature-fg);border-radius:50%;display:inline-block;margin-right:6px;position:relative}.contact-card .respond .resp-dot:after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--feature-fg);animation:pulse 2s ease-out infinite;opacity:.4}.foot{border-top:1px solid var(--rule);margin-top:clamp(2rem,4vw,3.75rem);padding-top:clamp(1.5rem,3vw,2.5rem);padding-bottom:clamp(2rem,4vw,3.75rem);display:grid;grid-template-columns:2fr 1fr 1fr;grid-gap:clamp(1.25rem,3vw,2.5rem);gap:clamp(1.25rem,3vw,2.5rem);font-size:13px;color:var(--muted)}.foot .colophon{font-family:var(--font-serif);font-style:italic;font-size:14px;line-height:1.55;max-width:460px}.foot h6{font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.foot a,.foot h6{font-family:var(--font-mono)}.foot a{display:block;padding:4px 0;color:var(--ink-3);font-size:12px;cursor:pointer}.foot a:hover{color:var(--accent)}.foot .copy{grid-column:1/-1;padding-top:28px;margin-top:10px;border-top:1px dashed var(--rule);display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:11px;color:var(--muted-2)}.cmdk-overlay{position:fixed;inset:0;background:rgba(10,10,8,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding-top:120px;animation:cmdk-fade-in .15s ease-out}@keyframes cmdk-fade-in{0%{opacity:0}to{opacity:1}}.cmdk-modal{width:560px;background:var(--bg-elev);border:1px solid var(--rule-2);border-radius:12px;box-shadow:var(--shadow-lg);overflow:hidden;animation:cmdk-pop .18s cubic-bezier(.22,1,.36,1)}@keyframes cmdk-pop{0%{transform:translateY(-8px);opacity:0}to{transform:translateY(0);opacity:1}}.cmdk-modal .modal-head{display:flex;align-items:center;padding:14px 18px;border-bottom:1px solid var(--rule)}.cmdk-modal .modal-head svg{color:var(--muted);margin-right:10px;flex-shrink:0}.cmdk-modal input{flex:1 1;background:none;border:none;outline:none;font-family:var(--font-mono);font-size:14px;color:var(--ink)}.cmdk-modal input::placeholder{color:var(--muted-2)}.kbd-mini{font-family:var(--font-mono);font-size:10px;color:var(--muted);border:1px solid var(--rule);background:var(--bg-soft);padding:1px 5px;border-radius:3px}.cmdk-modal .results{max-height:360px;overflow-y:auto;padding:6px}.cmdk-modal .group-label{padding:8px 12px 4px;font-family:var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-2)}.cmdk-modal .item{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:9px 12px;border-radius:6px;cursor:pointer;font-size:13px}.cmdk-modal .item.sel,.cmdk-modal .item:hover{background:var(--bg-soft)}.cmdk-modal .item .ico{width:22px;height:22px;display:grid;place-items:center;background:var(--bg-soft);border-radius:5px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}.cmdk-modal .item.sel .ico{background:var(--accent);color:var(--on-accent)}.cmdk-modal .item .name{color:var(--ink)}.cmdk-modal .item .hint,.cmdk-modal .modal-foot{color:var(--muted);font-family:var(--font-mono);font-size:11px}.cmdk-modal .modal-foot{padding:10px 14px;border-top:1px solid var(--rule);background:var(--bg-soft);display:flex;justify-content:space-between}.cmdk-modal .modal-foot span{display:inline-flex;align-items:center;gap:5px}@media (max-width:920px){.about-grid,.case-grid,.contact-grid,.hero-grid{grid-template-columns:1fr}.hero-stats{grid-template-columns:repeat(2,1fr);gap:clamp(1rem,2vw,1.5rem)}.hero-stats .item{border-right:none;padding:0}.hero-stats .item:not(:first-child){padding-left:0}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:color-mix(in srgb,var(--bg) 95%,transparent);backdrop-filter:saturate(160%) blur(10px);-webkit-backdrop-filter:saturate(160%) blur(10px);flex-direction:column;align-items:flex-start;padding:20px var(--page-px);border-bottom:1px solid color-mix(in srgb,var(--rule) 70%,transparent);gap:16px}.nav-links.mobile-open{display:flex}.mobile-toggle{display:grid}.nav-inner{grid-template-columns:auto 1fr}.nav-right{justify-content:flex-end}.entry{grid-template-columns:1fr;gap:14px}.entries:before,.entry .stamp:before{display:none}.filter-bar{flex-wrap:wrap}.section-head{grid-template-columns:1fr;gap:12px}.section-head .sub{text-align:left}.experience .job{grid-template-columns:1fr auto;gap:8px}.experience .job .when{grid-column:1/-1}.foot{grid-template-columns:1fr}.case-toc{flex-wrap:wrap;gap:10px}.outcomes{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.cmdk-trigger span:first-child,.nav-status{display:none}.cmdk-trigger{padding:5px 8px}.cmdk-trigger .kbd{font-size:9px;padding:1px 4px}.hero-meta .sep{display:none}.latest-card .cta-row{flex-direction:column}.latest-card .cta-row .btn{width:100%;justify-content:center;padding:12px 16px}.latest-card .version-line{flex-wrap:wrap}.filter-bar{top:43px}.filter-bar .live-badge{display:none}.filter-bar .search-wrap{width:100%;margin-left:0;margin-top:6px}.filter-bar .search-input,.filter-bar .search-input:focus{width:100%}.entry .stamp{display:flex;align-items:center;gap:12px}.stamp .type-badge{margin-top:0}.about-skills,.experience .job{grid-template-columns:1fr}.experience .job{gap:2px;position:relative;padding-right:60px}.experience .job .when{grid-column:1}.experience .job .badge{position:absolute;right:0;top:16px}.contact-card .channel{flex-direction:column;align-items:flex-start;gap:2px}.contact-card .channel .val{word-break:break-all}.foot .copy{flex-direction:column;gap:6px}.cmdk-overlay{padding-top:40px}.cmdk-modal{width:calc(100vw - 2 * var(--page-px));border-radius:12px}}@media (max-width:390px){.nav-brand small{display:none}.nav-right{gap:8px}.nav-icon-btn{width:28px;height:28px}.outcomes{grid-template-columns:1fr}}