:root{--bg: #faf9f6;--bg-raised: #ffffff;--bg-inset: #f2f0ea;--border: #e6e2d8;--border-strong: #d4cfc3;--text: #16191e;--text-dim: #4b5560;--text-faint: #79828f;--accent: #b0640f;--accent-quiet: #8f5210;--link: #1f5fa8;--ok: #2f7d51;--danger: #a5464a;--card-shadow: 0 1px 3px rgba(20, 24, 30, .05);--card-shadow-hover: 0 6px 20px rgba(20, 24, 30, .09);--mono: ui-monospace, "SF Mono", "JetBrains Mono", "Fira Code", Menlo, Consolas, monospace;--sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--measure: 68ch;--radius: 8px}:root.dark{--bg: #0a0b0f;--bg-raised: #161922;--bg-inset: #0f1219;--border: #242a36;--border-strong: #3a4250;--text: #f4f7fb;--text-dim: #bcc6d2;--text-faint: #828d9b;--accent: #f3b13f;--accent-quiet: #cf9130;--link: #8ec2f2;--ok: #6fb98a;--danger: #d98b8b;--card-shadow: none;--card-shadow-hover: 0 6px 22px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.wrap{width:100%;max-width:940px;margin:0 auto;padding:0 24px}.measure{max-width:var(--measure)}h1,h2,h3,h4{line-height:1.2;font-weight:620;letter-spacing:-.015em;color:var(--text)}h1{font-size:clamp(2.1rem,5.2vw,3.15rem);margin:0 0 .4em;font-weight:700;letter-spacing:-.028em}h2{font-size:clamp(1.4rem,3vw,1.8rem);margin:2.6em 0 .7em}h3{font-size:1.18rem;margin:2em 0 .5em}p{margin:0 0 1.1em;color:var(--text-dim)}strong{color:var(--text);font-weight:600}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.eyebrow{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 1em}.lede{font-size:1.15rem;color:var(--text-dim)}code{font-family:var(--mono);font-size:.86em;background:var(--bg-inset);border:1px solid var(--border);border-radius:4px;padding:.1em .36em;color:var(--text)}pre{background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);padding:18px 20px;overflow-x:auto;font-size:.83rem;line-height:1.6}pre code{background:none;border:none;padding:0;font-size:inherit}.diagram{font-family:var(--mono);font-size:.78rem;line-height:1.5;white-space:pre;overflow-x:auto;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius);padding:20px 22px;color:var(--text-dim)}hr{border:none;border-top:1px solid var(--border);margin:3rem 0}.site-header{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 86%,transparent);backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--border)}.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;height:60px}.nav-brand{font-weight:640;letter-spacing:-.01em;color:var(--text)}.nav-brand:hover{text-decoration:none}.nav-links{display:flex;align-items:center;gap:22px}.nav-links a{color:var(--text-dim);font-size:.94rem}.nav-links a:hover{color:var(--text);text-decoration:none}.theme-toggle{background:none;border:1px solid var(--border);color:var(--text-dim);border-radius:6px;width:34px;height:34px;cursor:pointer;display:inline-grid;place-items:center;font-size:.95rem}.theme-toggle:hover{border-color:var(--border-strong);color:var(--text)}.site-footer{border-top:1px solid var(--border);margin-top:6rem;padding:2.4rem 0;color:var(--text-faint);font-size:.9rem}.site-footer a{color:var(--text-dim)}.hero{padding:clamp(3rem,9vw,6.5rem) 0 1rem}.hero h1{max-width:20ch}.hero .statement{font-size:clamp(1.15rem,2.4vw,1.4rem);color:var(--text-dim);max-width:60ch;margin-top:.4em}.hero .statement b{color:var(--text);font-weight:600}.hero .engineer-line{font-size:1rem;color:var(--text-faint);max-width:60ch;margin-top:.2em}.hero .engineer-line b{color:var(--text-dim);font-weight:600}.hero-meta{margin-top:2rem;display:grid;gap:.9rem}.hero-impact{margin:0;padding:1rem 1.15rem;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-raised);border-radius:var(--radius);box-shadow:var(--card-shadow);color:var(--text);font-size:1rem}.hero-impact b{color:var(--accent)}.hero-stack{margin:0;font-family:var(--mono);font-size:.82rem;line-height:1.9;color:var(--text-dim)}.hero-stack .k{color:var(--text-faint);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;margin-right:8px}.btn{display:inline-flex;align-items:center;gap:.5em;padding:.55em 1.05em;border:1px solid var(--border-strong);border-radius:6px;color:var(--text);font-size:.9rem;font-weight:540}.btn:hover{border-color:var(--accent-quiet);color:var(--accent);text-decoration:none}.section-label{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border);padding-bottom:.8em;margin:4.5rem 0 0}.study-list{list-style:none;margin:0;padding:0;display:grid;gap:.9rem}.study{display:block;padding:1.35rem 1.45rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-raised);box-shadow:var(--card-shadow);transition:border-color .15s ease,box-shadow .15s ease}.study:hover{text-decoration:none;border-color:var(--accent-quiet);box-shadow:var(--card-shadow-hover)}.study:hover .study-title{color:var(--accent)}.study-top{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap;margin-bottom:.35em}.study-title{font-size:1.34rem;font-weight:620;letter-spacing:-.015em;color:var(--text);transition:color .12s ease}.study-summary{color:var(--text-dim);max-width:74ch;margin:.2em 0 .9em}.study-meta{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;font-family:var(--mono);font-size:.74rem;color:var(--text-faint)}.tag{font-family:var(--mono);font-size:.7rem;letter-spacing:.03em;border:1px solid var(--border-strong);border-radius:100px;padding:.15em .7em;color:var(--text-dim);white-space:nowrap}.badge{font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;padding:.2em .6em;border-radius:4px}.badge-flag{background:color-mix(in srgb,var(--accent) 20%,transparent);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 45%,transparent)}.badge-tmpl{background:var(--bg-inset);color:var(--text-faint);border:1px solid var(--border-strong)}.study-header{padding:clamp(2.4rem,6vw,4rem) 0 0}.study-header h1{margin-bottom:.25em}.study-header .summary{font-size:1.2rem;color:var(--text-dim);max-width:62ch}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;margin:2.4rem 0 1rem}.fact{background:var(--bg-raised);padding:.9rem 1.1rem}.fact dt{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint);margin-bottom:.35em}.fact dd{margin:0;color:var(--text);font-size:.94rem}.prose{max-width:var(--measure)}.prose>*{max-width:var(--measure)}.prose h2{padding-top:.4em}.prose ul,.prose ol{color:var(--text-dim);padding-left:1.3em;margin:0 0 1.2em}.prose li{margin:.3em 0}.prose li::marker{color:var(--accent-quiet)}.prose blockquote{margin:1.5em 0;padding:.2em 0 .2em 1.1em;border-left:3px solid var(--accent-quiet);color:var(--text-dim);font-style:normal}.prose blockquote p:last-child{margin-bottom:0}.prose table{border-collapse:collapse;width:100%;font-size:.9rem;margin:1.4em 0;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);padding:.55em .8em;text-align:left;vertical-align:top}.prose th{background:var(--bg-inset);font-family:var(--mono);font-size:.78rem;letter-spacing:.02em;color:var(--text)}.prose td{color:var(--text-dim)}.prose .tldr{font-size:1.12rem;line-height:1.6;color:var(--text-dim);margin-bottom:1.5em}.prose .tldr b{color:var(--text)}.needs{background:color-mix(in srgb,var(--accent) 9%,var(--bg-raised));border:1px dashed var(--accent-quiet);border-radius:var(--radius);padding:.5em .9em;font-family:var(--mono);font-size:.82rem;color:var(--text);display:inline-block}.decision{border:1px solid var(--border);border-left:3px solid var(--accent-quiet);border-radius:var(--radius);padding:1.1rem 1.3rem;margin:1.3rem 0;background:var(--bg-raised)}.decision h3{margin-top:0;font-size:1.05rem}.decision p:last-child{margin-bottom:0}.decision .rejected{font-size:.9rem;color:var(--text-faint)}.decision .rejected b{color:var(--text-dim)}.arch{margin:1.6rem 0;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-inset);padding:18px;overflow-x:auto}.arch svg{display:block;width:100%;height:auto;min-width:560px}.backlink{display:inline-flex;gap:.4em;align-items:center;font-family:var(--mono);font-size:.8rem;color:var(--text-dim);margin:2.5rem 0 0}.pill-row{display:flex;flex-wrap:wrap;gap:8px;margin:1rem 0 0}.bg-list{list-style:none;margin:1.4rem 0 0;padding:0}.bg-item{display:grid;grid-template-columns:1fr 10rem;column-gap:1.5rem;row-gap:3px;padding:.85rem 0;border-top:1px solid var(--border)}.bg-item:last-child{border-bottom:1px solid var(--border)}.bg-role{grid-column:1;grid-row:1;color:var(--text);font-weight:560}.bg-note{grid-column:1;grid-row:2;color:var(--text-dim)}.bg-yr{grid-column:2;grid-row:1;justify-self:end;padding-top:.15rem;font-family:var(--mono);font-size:.76rem;color:var(--text-faint);white-space:nowrap}.bg-more{color:var(--text-faint);font-size:.9rem;margin-top:1rem}@media (max-width: 620px){.bg-item{grid-template-columns:1fr}.bg-yr{grid-column:1;grid-row:3;justify-self:start;padding-top:.25rem}}.contact-links{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:0;max-width:520px}.contact-links li{border-top:1px solid var(--border)}.contact-links li:last-child{border-bottom:1px solid var(--border)}.contact-links a,.contact-links span{display:flex;justify-content:space-between;gap:12px;padding:.9rem 0;color:var(--text-dim)}.contact-links a:hover{color:var(--text);text-decoration:none}.contact-links .k{font-family:var(--mono);font-size:.8rem;color:var(--text-faint);letter-spacing:.04em}.contact-links .v{color:var(--text)}@media (max-width: 620px){body{font-size:16px}.nav-links{gap:16px}.nav-links a.hide-sm{display:none}}
