:root{--paper:#fafafa;--surface:#f3f3f3;--ink:#111;--ink-2:#3a3a3a;--muted:#6b6b6b;--faint:#9a9a9a;--line:#e2e2e2;--line-strong:#cfcfcf;--accent:#34557a;--accent-ink:#29456a;--accent-soft:#e7edf3;--deep:#131517;--deep-line:#2b2f33;--deep-muted:#9aa0a8;--on-deep:#f3f3f3;--deep-accent:#7fa6d0;--deep-2:#1a1e22;--deep-3:#15191c;--deep-accent-ink:#a9c4e0;--deep-accent-soft:rgba(127,166,208,.12);--font-display:"Space Grotesk",system-ui,sans-serif;--font-body:"IBM Plex Sans",system-ui,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,monospace;--maxw:1080px;--gutter:32px;--s1:4px;--s2:8px;--s3:16px;--s4:24px;--s5:40px;--s6:64px;--s7:84px;--s8:104px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}::selection{background:var(--accent-soft);color:var(--accent-ink)}.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--s7);border-top:1px solid var(--line)}.section--tight{padding-block:var(--s6)}.block-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--s4);padding-bottom:var(--s3);margin-bottom:var(--s5);border-bottom:2px solid var(--ink)}.eyebrow{font-size:12px;font-weight:500;letter-spacing:.16em;color:var(--accent)}.block-ref,.eyebrow{font-family:var(--font-mono);text-transform:uppercase}.block-ref{font-size:11px;letter-spacing:.12em;color:var(--faint)}.block-head--invert{border-bottom-color:var(--on-deep)}.block-head--invert .eyebrow{color:var(--deep-accent)}.block-head--invert .block-ref{color:var(--deep-muted)}.block-note{font-size:15px;color:var(--muted);max-width:60ch;margin-top:calc(var(--s5) * -1 + var(--s2));margin-bottom:var(--s5)}.dl{border-top:1px solid var(--line)}.dl-row{display:grid;grid-template-columns:180px 1fr;grid-gap:var(--s4);gap:var(--s4);padding-block:var(--s3);border-bottom:1px solid var(--line);align-items:baseline}.dl-row dt{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.dl-row dd{font-family:var(--font-body);font-size:16px;color:var(--ink)}.dl-row dd.is-live{color:var(--accent-ink);font-weight:600}.btn,.dl-row dd.is-live{display:inline-flex;align-items:center;gap:var(--s2)}.btn{font-family:var(--font-mono);font-weight:500;font-size:14px;letter-spacing:.02em;line-height:1;padding:13px 18px;border:1px solid var(--ink);cursor:pointer;transition:background .16s ease,color .16s ease,border-color .16s ease;min-height:46px}.btn .arr{transition:transform .16s ease}.btn:hover .arr{transform:translateX(3px)}.btn-primary{background:var(--ink);color:var(--paper)}.btn-primary:hover{background:var(--accent);border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--ink)}.masthead{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:saturate(140%) blur(8px);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--line)}.masthead-inner{display:flex;align-items:center;justify-content:space-between;height:60px}.brand{display:inline-flex;align-items:center;gap:var(--s2)}.brand-mark{font-family:var(--font-mono);font-size:13px;color:var(--accent)}.brand-name{font-family:var(--font-display);font-weight:700;font-size:16px;letter-spacing:-.01em}.nav-links{display:flex;align-items:center;gap:var(--s5);list-style:none}.nav-links a{font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;color:var(--muted);transition:color .16s ease}.nav-links a:hover{color:var(--ink)}.masthead-cta{font-family:var(--font-mono);font-size:13px;font-weight:500;color:var(--accent)}.masthead-cta:hover{color:var(--ink)}.doc-header{padding-block:var(--s6) var(--s7)}.doc-revision{display:flex;flex-wrap:wrap;gap:var(--s3) var(--s5);font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);padding-bottom:var(--s3);border-bottom:1px solid var(--line);margin-bottom:var(--s6)}.doc-status{display:inline-flex;align-items:center;gap:var(--s2);color:var(--accent);margin-left:auto}.pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent);animation:pulse 2.4s ease-out infinite;flex:none}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 8px transparent}to{box-shadow:0 0 0 0 transparent}}.doc-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.95fr);grid-gap:var(--s6);gap:var(--s6);align-items:start}.doc-eyebrow{font-family:var(--font-mono);font-size:13px;letter-spacing:.04em;color:var(--muted)}.doc-name{font-weight:700;font-size:clamp(56px,11vw,116px);line-height:.92;letter-spacing:-.04em;margin-block:var(--s2) var(--s4)}.doc-name,.doc-thesis{font-family:var(--font-display)}.doc-thesis{font-weight:600;font-size:clamp(22px,3vw,32px);line-height:1.15;letter-spacing:-.02em;max-width:18ch}.accent{color:var(--accent)}.doc-sub{margin-top:var(--s4);font-size:clamp(15px,1.3vw,17px);color:var(--muted);max-width:54ch;line-height:1.65}.doc-sub strong{color:var(--ink);font-weight:600}.doc-cta{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5)}.readout{border:1px solid var(--line-strong);background:#fff}.readout-head{display:flex;align-items:center;justify-content:space-between;padding:10px var(--s4);border-bottom:1px solid var(--line);background:var(--surface)}.readout-head .label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.readout .dl{border-top:0;padding-inline:var(--s4)}.readout .dl-row{grid-template-columns:96px 1fr;gap:var(--s3);padding-block:12px}.readout .dl-row:last-child{border-bottom:0}.readout .dl-row dd{font-size:14px}.spec-table{width:100%;border-collapse:collapse;font-size:15px}.spec-table thead th{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);text-align:left;padding:var(--s2) var(--s3);border-bottom:1px solid var(--line-strong)}.spec-table tbody td{padding:var(--s3);border-bottom:1px solid var(--line);vertical-align:baseline;color:var(--ink-2)}.spec-table tbody tr:hover td{background:var(--surface)}.spec-table .col-ref{width:88px;font-family:var(--font-mono);font-size:12px;color:var(--faint);white-space:nowrap}.spec-table .col-val{width:26%;font-family:var(--font-display);font-weight:600;font-size:clamp(18px,2vw,24px);letter-spacing:-.01em;color:var(--accent)}.work-list{display:flex;flex-direction:column;gap:var(--s6)}.case{position:relative;padding-left:var(--s4);border-left:2px solid var(--line-strong);transition:border-color .2s ease}.case:before{content:"";position:absolute;left:-2px;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .25s ease}.case:hover:before{transform:scaleY(1)}.case-top{display:flex;align-items:baseline;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.case-id{font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:var(--accent);padding:3px 8px;border:1px solid var(--line-strong)}.case-name{font-family:var(--font-display);font-weight:600;font-size:clamp(22px,2.8vw,30px);letter-spacing:-.02em}.case .dl-row dd{color:var(--ink-2);font-size:15px;max-width:64ch}.case .dl-row--outcome{border-bottom:0;background:var(--accent-soft);margin-top:var(--s2);padding:var(--s4);align-items:center}.case .dl-row--outcome dt{color:var(--accent-ink);align-self:center}.case .dl-row--outcome dd{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--s2) var(--s4)}.outcome-metric{font-family:var(--font-display);font-weight:700;font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;color:var(--accent);line-height:1}.outcome-sub{font-size:14px;color:var(--muted)}.case-preview{display:block;margin-bottom:var(--s4);text-decoration:none}.case-preview--static{margin:0 0 var(--s4)}.case-window{transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.case-preview:hover .case-window{border-color:var(--deep-accent);box-shadow:0 14px 34px -16px rgba(0,0,0,.4);transform:translateY(-2px)}.case-preview-cta{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--deep-accent-ink)}.case-preview-cta .arr{transition:transform .16s ease}.case-preview:hover .case-preview-cta .arr{transform:translateX(3px)}.case-shot{display:block;width:100%;height:auto}.case-link{font-family:var(--font-mono);font-size:13px;color:var(--ink);display:inline-flex;align-items:center;gap:var(--s2);margin-left:auto;border-bottom:1px solid var(--accent);padding-bottom:1px}.case-link .arr{color:var(--accent);transition:transform .16s ease}.case-link:hover .arr{transform:translateX(3px)}.tags{display:flex;flex-wrap:wrap;gap:var(--s2);list-style:none}.tag{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);padding:3px 9px;border:1px solid var(--line-strong);background:#fff}.stack-section .stack-dl .dl-row{grid-template-columns:180px 1fr}.stack-dl dt{color:var(--accent-ink)}.approach{background:var(--surface)}.approach-lead{font-family:var(--font-display);font-weight:500;font-size:clamp(20px,3vw,28px);line-height:1.3;letter-spacing:-.02em;max-width:28ch;margin-bottom:var(--s6)}.stance-dl .dl-row{grid-template-columns:260px 1fr}.stance-dl dt{font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.01em;text-transform:none;color:var(--ink);display:flex;align-items:baseline;gap:var(--s3)}.stance-num{font-family:var(--font-mono);font-size:12px;color:var(--accent);font-weight:500}.stance-dl dd{color:var(--muted);font-size:15px;max-width:56ch}.about-grid{display:grid;grid-template-columns:200px 1fr;grid-gap:var(--s6);gap:var(--s6);align-items:start}.about-photo{aspect-ratio:1;background:var(--surface);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--faint);font-family:var(--font-mono);font-size:12px;letter-spacing:.1em}.about-body p{font-size:clamp(16px,1.4vw,18px);line-height:1.7;max-width:60ch;color:var(--ink-2)}.about-body p+p{margin-top:var(--s4)}.contact{background:var(--deep);color:var(--on-deep);border-top-color:var(--deep-line)}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-gap:var(--s6);gap:var(--s6);align-items:start}.comment{font-size:13px;font-weight:500;letter-spacing:.01em;color:var(--deep-muted)}.comment,.prompt-line{font-family:var(--font-mono)}.prompt-line{font-size:clamp(14px,1.4vw,16px);display:flex;align-items:center;gap:10px}.contact-prompt{margin-top:var(--s4)}.ps1{display:inline-flex}.ps1-user{color:var(--deep-accent)}.ps1-at{color:var(--deep-muted)}.ps1-host{color:var(--deep-accent-ink)}.ps1-path{color:var(--deep-muted)}.cmd{color:var(--on-deep)}.cmd:after{content:"";display:inline-block;width:8px;height:1.05em;margin-left:6px;vertical-align:text-bottom;background:var(--deep-accent);animation:blink 1.1s steps(1) infinite}@keyframes blink{0%,50%{opacity:1}50.01%,to{opacity:0}}.contact-title{font-family:var(--font-display);font-weight:700;font-size:clamp(40px,7vw,76px);line-height:.98;letter-spacing:-.03em;margin-top:var(--s3)}.contact-desc{color:var(--deep-muted);margin-top:var(--s4);max-width:46ch;font-size:16px;line-height:1.6}.contact-actions{display:flex;align-items:center;gap:var(--s4);margin-top:var(--s6);flex-wrap:wrap}.btn-deep{background:var(--deep-accent);color:var(--deep);border-color:var(--deep-accent)}.btn-deep:hover{background:var(--deep-accent-ink);border-color:var(--deep-accent-ink)}.contact-mail{font-family:var(--font-mono);font-size:14px;color:var(--deep-muted)}.window{background:var(--deep-2);border:1px solid var(--deep-line);border-radius:10px;overflow:hidden}.window-bar{display:flex;align-items:center;gap:var(--s3);padding:10px var(--s4);background:var(--deep-3);border-bottom:1px solid var(--deep-line)}.traffic{display:inline-flex;gap:7px;flex:none}.traffic i{width:11px;height:11px;border-radius:50%;display:inline-block}.traffic i.r{background:#41566b}.traffic i.y{background:#6486a6}.traffic i.g{background:#36d6c0}.window-title{font-family:var(--font-mono);font-size:12.5px;color:var(--deep-muted);letter-spacing:.01em}.links-window{background:var(--deep-2)}.links{list-style:none}.links li{border-top:1px solid var(--deep-line)}.links li:first-child{border-top:0}.links a{display:flex;align-items:center;justify-content:space-between;padding:var(--s4);font-family:var(--font-mono);font-weight:500;font-size:15px;color:var(--on-deep);transition:padding .18s ease,color .18s ease,background .18s ease}.links a:hover{padding-left:var(--s5);color:var(--deep-accent-ink);background:var(--deep-accent-soft)}.links .meta{font-family:var(--font-mono);font-size:12px}.footer,.links .meta{color:var(--deep-muted)}.footer{background:var(--deep);border-top:1px solid var(--deep-line)}.footer-inner{display:flex;align-items:center;justify-content:space-between;padding-block:var(--s4);font-family:var(--font-mono);font-size:12px;letter-spacing:.04em;flex-wrap:wrap;gap:var(--s3)}.footer-inner a:hover{color:var(--on-deep)}[id]{scroll-margin-top:78px}.layout{display:grid;grid-template-columns:1fr;grid-gap:var(--s5);gap:var(--s5);max-width:1240px;margin-inline:auto;padding-inline:var(--gutter)}.sidebar{padding-block:var(--s6) 0;min-width:0}.sidebar .doc-eyebrow{font-size:12px;letter-spacing:.04em}.sidebar .doc-name{font-size:clamp(48px,7vw,84px);line-height:.92;letter-spacing:-.04em;margin-block:var(--s2) var(--s4)}.sidebar .doc-name a{color:inherit}.sidebar .doc-thesis{font-size:clamp(18px,1.9vw,23px);max-width:22ch}.rail-nav{margin-top:var(--s6)}.rail-nav ul{list-style:none;display:flex;flex-direction:column;gap:2px}.rail-nav a{display:inline-flex;align-items:center;gap:var(--s3);padding-block:9px;font-family:var(--font-mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint);transition:color .2s ease}.rail-line{display:block;height:1px;width:26px;background:var(--line-strong);flex:none;transition:width .22s ease,background .22s ease}.rail-n{font-size:11px;color:var(--faint);transition:color .2s ease}.rail-nav a:hover{color:var(--ink)}.rail-nav a:hover .rail-line{width:44px;background:var(--ink)}.rail-nav a.is-active{color:var(--accent-ink)}.rail-nav a.is-active .rail-line{width:60px;background:var(--accent)}.rail-nav a.is-active .rail-n{color:var(--accent)}.sidebar-foot{display:flex;flex-direction:column;gap:var(--s4);margin-top:var(--s6)}.socials{list-style:none;display:flex;gap:var(--s3)}.socials a{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line-strong);transition:color .16s ease,border-color .16s ease,background .16s ease}.socials a:hover{color:var(--accent-ink);border-color:var(--accent);background:var(--accent-soft)}.sidebar-status{display:inline-flex;align-items:center;gap:var(--s2);font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.content{min-width:0}.content-section{padding-block:var(--s7);border-top:1px solid var(--line)}.content>.content-section:first-child{border-top:0;padding-top:var(--s6)}.about-lead{font-family:var(--font-display);font-weight:500;font-size:clamp(18px,1.8vw,22px);line-height:1.4;letter-spacing:-.01em;color:var(--ink);max-width:56ch;margin-bottom:var(--s5)}.about-lead strong{font-weight:700}.content-section .readout,.content-section .spec-table{margin-top:var(--s5)}.content-section.approach{background:var(--surface);margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}.content-section.contact{background:var(--deep);color:var(--on-deep);border-top:1px solid var(--deep-line);border-radius:14px;margin-top:var(--s7);padding:var(--s7) var(--s6)}.content-section.contact .contact-grid{grid-template-columns:1fr;gap:var(--s6)}.content-footer{margin-top:var(--s5);border-top:0;background:transparent;color:var(--muted)}.content-footer .footer-inner{padding-inline:0}.content-footer a:hover{color:var(--ink)}@media (min-width:1024px){.layout{grid-template-columns:minmax(280px,40%) minmax(0,1fr);gap:clamp(48px,6vw,104px);align-items:start}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;max-height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding-block:var(--s8) var(--s7)}.content{padding-block:var(--s8) var(--s6)}.content>.content-section:first-child{padding-top:0}}@media (max-width:900px){.doc-grid{grid-template-columns:1fr;gap:var(--s5)}.doc-status{margin-left:0}.stance-dl .dl-row{gap:var(--s2)}.about-grid,.stance-dl .dl-row{grid-template-columns:1fr}.about-photo{width:150px}.contact-grid{grid-template-columns:1fr}}@media (max-width:640px){:root{--gutter:20px}.nav-links{display:none}.dl-row,.stack-section .stack-dl .dl-row{grid-template-columns:1fr;gap:var(--s2)}.readout .dl-row{grid-template-columns:84px 1fr}.case .dl-row--outcome dd{flex-direction:column;align-items:flex-start}.case-link{margin-left:0}.spec-table .col-val{width:auto}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{:root{--gutter:0;--maxw:100%}body{background:#fff;color:#000;font-size:10.5pt;line-height:1.4}.about-photo,.block-ref,.case-link,.doc-cta,.footer,.masthead{display:none!important}.pulse{display:none}.doc-header,.section,.section--tight{padding-block:14pt;border-top:.5pt solid #bbb}.doc-header{padding-top:0}.doc-grid{grid-template-columns:1.4fr 1fr;gap:18pt}.doc-name{font-size:30pt;margin-block:2pt 6pt}.doc-thesis{font-size:13pt}.doc-sub{font-size:9.5pt}.readout{border:.5pt solid #bbb}.block-head{border-bottom:1pt solid #000;margin-bottom:10pt}.eyebrow{color:#000}.accent,.case-id,.doc-status,.outcome-metric,.spec-table .col-val,.stance-num{color:#000!important}.work-list{gap:16pt}.case,.dl-row,.spec-table tr,article{break-inside:avoid;page-break-inside:avoid}.case .dl-row--outcome{background:#f0f0f0!important}.case .dl-row--outcome,.contact{-webkit-print-color-adjust:exact;print-color-adjust:exact}.contact{background:#fff!important;color:#000!important}.contact-title{font-size:22pt}.comment,.contact-desc,.contact-mail,.links .meta,.links a,.ps1-at,.ps1-path,.window-title{color:#000!important}.links li,.window,.window-bar{border-color:#bbb}a{color:#000!important}.tag{border-color:#bbb}}