@font-face{font-family:Libre Caslon Text;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/libre-caslon-text-400.woff2)format("woff2")}@font-face{font-family:Libre Caslon Text;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/libre-caslon-text-700.woff2)format("woff2")}@font-face{font-family:PT Sans;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/pt-sans-400.woff2)format("woff2")}@font-face{font-family:PT Sans;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/pt-sans-700.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-weight:400;font-style:normal;font-display:swap;src:url(/fonts/courier-prime-400.woff2)format("woff2")}@font-face{font-family:Courier Prime;font-weight:700;font-style:normal;font-display:swap;src:url(/fonts/courier-prime-700.woff2)format("woff2")}:root{--bg:#f1ecdd;--ink:#211d18;--body-c:#322c24;--accent:#1656a3;--secondary:#7a2e1e;--brass:#8c5e19;--muted:#635b4e;--line:#c9c0ac;--grid:#211d180b;--font-display:"Libre Caslon Text", Georgia, serif;--font-sans:"PT Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Courier Prime", "SFMono-Regular", Consolas, monospace;--content-width:46rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:5rem}html[data-theme=dark]{--bg:#1b1712;--ink:#ede6d3;--body-c:#cfc6ae;--accent:#6fa8dc;--secondary:#c9805e;--brass:#d0a339;--muted:#9b927c;--line:#3a3428;--grid:#ede6d30d}@media (prefers-color-scheme:dark){html:not([data-theme=light]){--bg:#1b1712;--ink:#ede6d3;--body-c:#cfc6ae;--accent:#6fa8dc;--secondary:#c9805e;--brass:#d0a339;--muted:#9b927c;--line:#3a3428;--grid:#ede6d30d}}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{font-family:var(--font-sans);-webkit-font-smoothing:antialiased;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);color:var(--ink);background-size:26px 26px;margin:0;font-size:1.0625rem;line-height:1.6;transition:background-color .25s,color .25s}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0 0 .5em;font-weight:700;line-height:1.18}p{margin:0 0 1em}a{color:inherit}a:focus,button:focus{outline:none}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--content-width);padding:0 var(--space-5);margin:0 auto}.num,.tabular{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.site-frame{max-width:calc(var(--content-width) + 3rem);margin:var(--space-6) auto;border:1.5px solid var(--ink);background:var(--bg);transition:border-color .25s}@media (width<=640px){.site-frame{margin:var(--space-4)}}.plate-row{border-bottom:1px solid var(--ink);padding:var(--space-4) var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.site-mark{border:1px solid var(--ink);width:2.6rem;height:2rem;font-family:var(--font-display);color:var(--ink);flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;font-weight:700;text-decoration:none;display:flex;position:relative}.site-mark:before,.site-mark:after{content:"";width:7px;height:7px;position:absolute}.site-mark:before{border-top:1.5px solid var(--brass);border-left:1.5px solid var(--brass);top:-1px;left:-1px}.site-mark:after{border-bottom:1.5px solid var(--brass);border-right:1.5px solid var(--brass);bottom:-1px;right:-1px}.site-nav{align-items:center;gap:var(--space-5);margin:0;padding:0;font-size:.9375rem;list-style:none;display:flex}.site-nav a{border-bottom:1px solid #0000;padding-bottom:2px;text-decoration:none;transition:border-color .15s}.site-nav a:hover,.site-nav a[aria-current=page]{border-bottom-color:var(--ink)}.theme-toggle{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0;border-radius:3px;padding:.35rem .7rem;font-size:.6875rem;transition:background-color .15s,color .15s}.theme-toggle:hover{background:var(--ink);color:var(--bg)}main{padding:0}.frame-main{padding:var(--space-8) var(--space-6) var(--space-7)}.lede{font-family:var(--font-display);max-width:36ch;margin-bottom:var(--space-8);font-size:1.5rem;line-height:1.42}.section-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 var(--space-5);padding-top:var(--space-7);border-top:1px solid var(--line);font-size:.75rem}.section-label:first-child,.section-label.no-border{border-top:none;padding-top:0}.case-grid{margin-bottom:var(--space-4);gap:0;display:grid}.case-card{gap:var(--space-5);color:inherit;padding:var(--space-6) 0;border-top:1px solid var(--line);grid-template-columns:8rem 1fr;align-items:start;text-decoration:none;display:grid}.case-grid.flagship .case-card:first-child{border-top:none}.case-card .case-meta{font-family:var(--font-mono);color:var(--muted);font-size:.75rem;line-height:1.5}.case-card h3{margin-bottom:var(--space-2);text-underline-offset:3px;font-size:1.375rem;text-decoration-color:#0000;transition:text-decoration-color .15s}.case-card:hover h3{text-decoration:underline;text-decoration-color:var(--ink)}.case-card:hover .case-meta{color:var(--ink)}.case-card .case-summary{margin:0 0 var(--space-3);color:var(--body-c)}.case-grid.highlight .case-card{padding:var(--space-4) 0;grid-template-columns:8rem 1fr}.case-grid.highlight .case-card h3{margin-bottom:.25rem;font-size:1.0625rem}.case-grid.highlight .case-card .case-summary{margin-bottom:0;font-size:.9375rem}.case-grid.archive .case-card{padding:var(--space-4) 0;grid-template-columns:8rem 1fr}.case-grid.archive .case-card h3{margin-bottom:.25rem;font-size:1rem}.case-grid.archive .case-meta,.case-grid.archive .case-summary{font-size:.9375rem}.case-grid.archive .case-summary{margin:0}@media (width<=600px){.case-card{grid-template-columns:1fr;gap:.3rem}}.dumbbell{align-items:center;gap:.5rem;margin-top:.3rem;display:inline-flex}.dumbbell svg{flex-shrink:0}.dumbbell .d-line{stroke:var(--line);stroke-width:2px}.dumbbell .d-from{fill:var(--muted)}.dumbbell .d-to{fill:var(--accent)}.dumbbell .d-label{font-family:var(--font-mono);color:var(--ink);font-variant-numeric:tabular-nums;font-size:.8125rem}.spec-sheet{border:1px solid var(--ink);margin-bottom:var(--space-7)}.spec-sheet-head{border-bottom:1px solid var(--ink);padding:var(--space-3) var(--space-5);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);justify-content:space-between;align-items:baseline;font-size:.6875rem;display:flex}.spec-sheet-body{padding:var(--space-6) var(--space-5) var(--space-5)}.spec-sheet-body h1{margin-bottom:var(--space-3);font-size:2rem}.spec-sheet-meta{font-family:var(--font-mono);color:var(--muted);margin-bottom:var(--space-4);font-size:.875rem}.spec-sheet-summary{color:var(--body-c);max-width:60ch;margin-bottom:0;font-size:1.0625rem}.tag-list{gap:var(--space-2);margin:var(--space-5) 0 0;flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag-list li{font-family:var(--font-mono);border:1px solid var(--line);padding:var(--space-1) var(--space-3);color:var(--muted);border-radius:999px;font-size:.75rem}.case-body{margin-top:var(--space-7)}.case-body h2{margin:var(--space-8) 0 var(--space-4);padding-top:var(--space-7);border-top:1px dotted var(--line);font-size:1.5rem}.case-body h2:first-of-type{border-top:none;margin-top:0;padding-top:0}.beat-eyebrow{margin:var(--space-8) 0 .6rem;align-items:center;gap:.6rem;display:flex}.beat-eyebrow:first-child{margin-top:0}.beat-eyebrow+h2{border-top:none;margin-top:0;padding-top:0}.beat-eyebrow .num{font-family:var(--font-mono);color:var(--bg);background:var(--brass);border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:1.4rem;height:1.4rem;font-size:.75rem;font-weight:700;display:flex}.beat-eyebrow .tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:.6875rem}.case-body>p:first-of-type:first-letter{font-family:var(--font-display);float:left;color:var(--brass);margin:.1rem .35rem 0 0;font-size:3.4rem;font-weight:700;line-height:.8}.case-body b{color:var(--ink);font-weight:700}.case-body b.hl{background:color-mix(in srgb, var(--brass) 16%, transparent);border-radius:2px;padding:.03rem .25rem}.callout{border:1.5px solid var(--ink);border-left:5px solid var(--accent);padding:var(--space-4) var(--space-5);margin:var(--space-6) 0;background:color-mix(in srgb, var(--accent) 6%, transparent);border-radius:3px}.callout .c-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--accent);margin-bottom:.4rem;font-size:.6875rem;display:block}.callout p{font-family:var(--font-display);color:var(--ink);margin:0;font-size:1.0625rem;font-style:italic}.pull-quote{font-family:var(--font-display);border-left:2px solid var(--secondary);padding:.2rem 0 .2rem var(--space-5);margin:var(--space-6) 0;color:var(--ink);font-size:1.0625rem;font-style:italic;line-height:1.5}.pull-quote cite{font-family:var(--font-mono);color:var(--muted);margin-top:var(--space-2);font-size:.75rem;font-style:normal;display:block}.findings{margin:0 0 var(--space-5);gap:var(--space-4);padding:0;list-style:none;display:grid}.findings li{gap:var(--space-3);grid-template-columns:2.2rem 1fr;align-items:start;display:grid}.findings .f-num{font-family:var(--font-mono);color:var(--brass);font-size:1.25rem;font-weight:700;line-height:1.3}.findings .f-body p{margin:0;font-size:.9375rem}.findings .f-body b{font-family:var(--font-display);margin-bottom:.15rem;font-size:1.0625rem;font-weight:700;display:block}@media (width<=500px){.findings li{grid-template-columns:1.6rem 1fr}}.gauge-row{gap:var(--space-3);margin:var(--space-6) 0 0;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));display:grid}.gauge{border:1px solid var(--ink);padding:var(--space-3) var(--space-4) .65rem;background:linear-gradient(#00000005,#0000);border-radius:3px;position:relative}.gauge:before{content:"";background:var(--brass);border-radius:50%;width:5px;height:5px;position:absolute;top:.55rem;right:.6rem}.gauge .g-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);border-bottom:1px solid var(--line);margin-bottom:.35rem;padding-bottom:.35rem;font-size:.6875rem;display:block}.gauge .g-value{font-family:var(--font-mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:1.25rem;font-weight:700}.gauge .dumbbell{margin-top:.4rem}.back-link{margin-top:var(--space-8);border-bottom:1px solid var(--ink);font-size:.9375rem;text-decoration:none;transition:opacity .15s;display:inline-block}.back-link:hover{opacity:.6}.diagram-exhibit{border:1px solid var(--ink);margin:var(--space-6) 0;border-radius:3px;position:relative}.diagram-exhibit .ex-bar{border-bottom:1px solid var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#00000005;justify-content:space-between;padding:.5rem .85rem;font-size:.6875rem;display:flex}.diagram-exhibit .diagram-body{padding:var(--space-5)}.matrix{font-family:var(--font-sans);grid-template-rows:auto 1fr 1fr;grid-template-columns:auto 1fr 1fr;gap:1px;display:grid}.matrix .m-axis-top{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);justify-content:center;align-items:center;padding:.4rem;font-size:.6875rem;display:flex}.matrix .m-axis-side{text-align:center;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);writing-mode:vertical-rl;justify-content:center;align-items:center;padding:.4rem;font-size:.6875rem;display:flex;transform:rotate(180deg)}.matrix .m-cell{border:1px solid var(--line);padding:var(--space-3);min-height:5.5rem;color:var(--body-c);font-size:.8125rem}.matrix .m-cell b{font-family:var(--font-display);color:var(--ink);margin-bottom:.25rem;font-size:.9375rem;display:block}@media (width<=560px){.matrix{grid-template-columns:2.2rem 1fr 1fr}.matrix .m-cell{padding:var(--space-2);font-size:.75rem}}.stage-flow{flex-wrap:wrap;align-items:stretch;gap:0;display:flex}.stage-flow .stage{border:1px solid var(--line);padding:var(--space-3);color:var(--body-c);flex:8rem;font-size:.8125rem;position:relative}.stage-flow .stage b{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--accent);margin-bottom:.3rem;font-size:.6875rem;display:block}.stage-flow .stage:not(:last-child):after{content:"→";color:var(--brass);z-index:1;background:var(--bg);text-align:center;width:1rem;font-weight:700;position:absolute;top:50%;right:-.85rem;transform:translateY(-50%)}@media (width<=640px){.stage-flow{flex-direction:column}.stage-flow .stage:not(:last-child):after{content:"↓";inset:auto auto -.85rem 50%;transform:translate(-50%)}}.mini-issues{margin:var(--space-5) 0;gap:var(--space-3);border-top:1px solid var(--line);padding:0;padding-top:var(--space-4);list-style:none;display:grid}.mini-issues li{gap:var(--space-3);color:var(--body-c);grid-template-columns:1fr auto;align-items:baseline;font-size:.875rem;display:grid}.mini-issues .mi-count{font-family:var(--font-mono);color:var(--muted);white-space:nowrap;font-size:.75rem}.case-gallery{gap:var(--space-5);margin-bottom:var(--space-7);grid-template-columns:repeat(2,1fr);display:grid}@media (width<=600px){.case-gallery{grid-template-columns:1fr}}.exhibit{border:1px solid var(--ink);border-radius:3px;margin:0;position:relative}.exhibit .ex-bar{justify-content:space-between;gap:var(--space-2);border-bottom:1px solid var(--ink);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;color:var(--muted);background:#00000005;padding:.5rem .85rem;font-size:.6875rem;display:flex}.exhibit .ex-imgwrap{border-radius:0 0 2px 2px;overflow:hidden}.exhibit img{object-fit:cover;aspect-ratio:3/2;filter:sepia(.18)saturate(.82)contrast(1.02);width:100%;height:100%;display:block}.reg-mark{z-index:2;pointer-events:none;width:12px;height:12px;position:absolute}.reg-mark:before,.reg-mark:after{content:"";background:var(--brass);position:absolute}.reg-mark:before{width:100%;height:1.5px;top:50%;transform:translateY(-50%)}.reg-mark:after{width:1.5px;height:100%;left:50%;transform:translate(-50%)}.reg-tl{top:-6px;left:-6px}.reg-br{bottom:-6px;right:-6px}.chart-block{margin:var(--space-7) 0}.chart-block .chart-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:var(--space-3);font-size:.75rem}.chart-wrap{position:relative;overflow-x:auto}.chart-svg{width:100%;height:auto;display:block}.chart-grid-line{stroke:var(--line);stroke-width:1px}.chart-path{fill:none;stroke:var(--accent);stroke-width:2px}.chart-point{fill:var(--bg);stroke:var(--accent);stroke-width:2px;cursor:pointer}.chart-point:focus{outline:none}.chart-point:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chart-point.is-final{fill:var(--accent)}.chart-endlabel{font-family:var(--font-mono);fill:var(--ink);font-variant-numeric:tabular-nums;font-size:.75rem}.chart-axis-label{font-family:var(--font-mono);fill:var(--muted);font-size:.6875rem}.chart-tooltip{pointer-events:none;background:var(--ink);color:var(--bg);font-family:var(--font-mono);white-space:nowrap;opacity:0;border-radius:3px;padding:.35rem .6rem;font-size:.75rem;transition:opacity .1s;position:absolute;transform:translate(-50%,-130%)}.chart-tooltip.is-visible{opacity:1}.freq-chart{gap:var(--space-4);display:grid;position:relative}.freq-row{align-items:center;gap:var(--space-3);grid-template-columns:1fr 4.5rem;display:grid}.freq-row-label{color:var(--body-c);grid-column:1/-1;margin:0 0 .3rem;font-size:.875rem}.freq-row-track{background:var(--line);border-radius:5px;height:10px;overflow:hidden}.freq-row-fill{background:var(--accent);cursor:pointer;border-radius:5px;height:100%}.freq-row-fill:focus{outline:none}.freq-row-fill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.freq-row-value{color:var(--accent);text-align:right;white-space:nowrap;font-size:.8125rem}@media (width<=500px){.freq-row{grid-template-columns:1fr;gap:.35rem}.freq-row-value{text-align:left}}.timeline{margin:0;padding:0;list-style:none}.timeline li{padding:var(--space-5) 0;border-top:1px solid var(--line);gap:var(--space-4);grid-template-columns:9rem 1fr;display:grid}.timeline li:first-child{border-top:none}.timeline .tl-dates{font-family:var(--font-mono);color:var(--muted);font-variant-numeric:tabular-nums;font-size:.875rem}.timeline .tl-role{font-weight:700;font-family:var(--font-sans)}.timeline .tl-company{color:var(--muted)}@media (width>=600px){.timeline li{grid-template-columns:11rem 1fr}}.site-footer{border-top:1px solid var(--ink);padding:var(--space-4) var(--space-6);font-family:var(--font-mono);color:var(--muted);justify-content:space-between;gap:var(--space-3);text-transform:uppercase;letter-spacing:.03em;flex-wrap:wrap;font-size:.75rem;display:flex}.site-footer .foot-links{gap:var(--space-5);display:flex}.site-footer a{border-bottom:1px solid var(--line);padding-bottom:1px;transition:color .15s,border-color .15s}.site-footer a:hover{color:var(--ink);border-bottom-color:var(--ink)}@media (width<=500px){.spec-sheet-head,.plate-row,.site-footer{align-items:flex-start;gap:var(--space-2);flex-direction:column}}.resume-grid{gap:var(--space-5);margin-top:var(--space-6);grid-template-columns:1fr 1fr;display:grid}@media (width<=640px){.resume-grid{grid-template-columns:1fr}}.resume-card{border:1px solid var(--ink);padding:var(--space-5);gap:var(--space-3);border-radius:3px;flex-direction:column;display:flex;position:relative}.resume-card:before,.resume-card:after{content:"";width:9px;height:9px;position:absolute}.resume-card:before{border-top:1.5px solid var(--brass);border-left:1.5px solid var(--brass);top:-1px;left:-1px}.resume-card:after{border-bottom:1.5px solid var(--brass);border-right:1.5px solid var(--brass);bottom:-1px;right:-1px}.resume-card .r-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;color:var(--brass);font-size:.6875rem}.resume-card h3{margin-bottom:0;font-size:1.25rem}.resume-card p{color:var(--body-c);margin:0;font-size:.9375rem}.resume-card .r-file{font-family:var(--font-mono);color:var(--muted);font-size:.75rem}.resume-card .r-download{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--ink);color:var(--ink);text-align:center;border-radius:3px;margin-top:auto;padding:.5rem .9rem;font-size:.75rem;text-decoration:none;transition:background-color .15s,color .15s;display:inline-block}.resume-card .r-download:hover{background:var(--ink);color:var(--bg)}.company-filter{gap:var(--space-2);margin:0 0 var(--space-7);flex-wrap:wrap;display:flex}.cf-chip{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.03em;border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:.35rem .75rem;font-size:.75rem;transition:background-color .15s,color .15s,border-color .15s}.cf-chip:hover{border-color:var(--ink);color:var(--ink)}.cf-chip.is-active{background:var(--ink);border-color:var(--ink);color:var(--bg)}
