@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-full-normal-7BpKI3vF.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-full-normal-YHFkNujK.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-full-normal-CFFu7zhK.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(./jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font-display: "Fraunces Variable", Georgia, "Times New Roman", serif;--font-sans: "Inter Variable", system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--wrap: 1120px;--gutter: clamp(1rem, 4vw, 2.5rem);--section-y: clamp(4rem, 10vw, 7.5rem);--radius: 14px;--radius-sm: 8px;--header-h: 68px;--ease: cubic-bezier(.2, .7, .2, 1)}:root[data-palette=ember]{--bg: #f6f3ee;--bg-raised: #fffdf9;--bg-sunken: #efeae2;--line: #e2dbd0;--line-strong: #c9bfae;--ink: #1c1a17;--ink-2: #4a463f;--ink-3: #6f695f;--accent: #c2410c;--accent-ink: #ffffff;--accent-soft: #fbe9df;--accent-line: #dfa388;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark][data-palette=ember]{--bg: #131210;--bg-raised: #1b1917;--bg-sunken: #0e0d0c;--line: #2a2723;--line-strong: #3f3a33;--ink: #f1ece4;--ink-2: #bfb8ad;--ink-3: #857e74;--accent: #f0803f;--accent-ink: #1c1a17;--accent-soft: #2b1b11;--accent-line: #603820;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}:root[data-palette=verdigris]{--bg: #f4f4f0;--bg-raised: #fcfcfa;--bg-sunken: #ebece6;--line: #dedfd8;--line-strong: #c3c6bd;--ink: #121816;--ink-2: #44504c;--ink-3: #66726e;--accent: #0f766e;--accent-ink: #ffffff;--accent-soft: #dcf3ef;--accent-line: #8dbbb6;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark][data-palette=verdigris]{--bg: #0f1413;--bg-raised: #161c1b;--bg-sunken: #0a0e0d;--line: #243130;--line-strong: #36453f;--ink: #e9efec;--ink-2: #aebbb6;--ink-3: #7a8884;--accent: #2dd4bf;--accent-ink: #0f1413;--accent-soft: #0f2a27;--accent-line: #1a574f;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}:root[data-palette=cobalt]{--bg: #f7f6f2;--bg-raised: #ffffff;--bg-sunken: #eeede8;--line: #e1e0da;--line-strong: #c7c6be;--ink: #141a2b;--ink-2: #464d60;--ink-3: #696f81;--accent: #1d4ed8;--accent-ink: #ffffff;--accent-soft: #e3eafd;--accent-line: #95aae6;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark][data-palette=cobalt]{--bg: #0b0f1a;--bg-raised: #121829;--bg-sunken: #070a12;--line: #1f2740;--line-strong: #2f3a5c;--ink: #e8ecf6;--ink-2: #aeb6cb;--ink-3: #7c849a;--accent: #7aa2ff;--accent-ink: #0b0f1a;--accent-soft: #15213f;--accent-line: #32426a;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}:root[data-palette=saffron]{--bg: #f8f7f4;--bg-raised: #ffffff;--bg-sunken: #efeeea;--line: #e4e2dc;--line-strong: #cac8c0;--ink: #191918;--ink-2: #4b4a47;--ink-3: #6d6c68;--accent: #b45309;--accent-ink: #ffffff;--accent-soft: #fdf0dc;--accent-line: #d9ad8a;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark][data-palette=saffron]{--bg: #0c0c0d;--bg-raised: #151517;--bg-sunken: #070708;--line: #262628;--line-strong: #3a3a3d;--ink: #f2f1ee;--ink-2: #bdbcb8;--ink-3: #86857f;--accent: #f5b301;--accent-ink: #0c0c0d;--accent-soft: #2d2308;--accent-line: #5e4609;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}:root[data-palette=moss]{--bg: #f6f3ea;--bg-raised: #fdfbf5;--bg-sunken: #edeadf;--line: #e3dfd2;--line-strong: #c8c3b2;--ink: #1b211a;--ink-2: #48513f;--ink-3: #6a725f;--accent: #3f6212;--accent-ink: #ffffff;--accent-soft: #e8f0d8;--accent-line: #a4b289;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark][data-palette=moss]{--bg: #111410;--bg-raised: #191d17;--bg-sunken: #0b0d0a;--line: #272d24;--line-strong: #3b4336;--ink: #edf0e6;--ink-2: #b7bdac;--ink-3: #808676;--accent: #a3cf4a;--accent-ink: #111410;--accent-soft: #1f2a12;--accent-line: #445524;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}:root{--bg: #f7f4f1;--bg-raised: #fffdfb;--bg-sunken: #efeae6;--line: #e6dfdb;--line-strong: #cdc3be;--ink: #1d1718;--ink-2: #4e4345;--ink-3: #706465;--accent: #9f1239;--accent-ink: #ffffff;--accent-soft: #fbe4ea;--accent-line: #cf8e9e;--shadow: 0 1px 2px rgb(0 0 0 / .05), 0 12px 32px -16px rgb(0 0 0 / .18);color-scheme:light}:root[data-theme=dark]{--bg: #131011;--bg-raised: #1b1718;--bg-sunken: #0c0a0a;--line: #2b2526;--line-strong: #403638;--ink: #f2ebec;--ink-2: #c0b4b6;--ink-3: #877b7d;--accent: #fb7185;--accent-ink: #131011;--accent-soft: #2e1218;--accent-line: #64323a;--shadow: 0 1px 2px rgb(0 0 0 / .4), 0 12px 32px -16px rgb(0 0 0 / .6);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem);-webkit-text-size-adjust:100%}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.6;font-feature-settings:"ss01","cv11";-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.015em;line-height:1.08;margin:0;color:var(--ink);text-wrap:balance}h1{font-size:clamp(2.5rem,6.2vw,4.75rem);font-variation-settings:"opsz" 144,"SOFT" 50}h1 em{font-style:italic;color:var(--accent);font-variation-settings:"opsz" 144,"SOFT" 100}h2{font-size:clamp(2rem,4vw,3rem);font-variation-settings:"opsz" 96}h3{font-size:1.375rem;font-variation-settings:"opsz" 48}p{margin:0 0 1.1em}a{color:inherit;text-decoration:none;text-underline-offset:.18em}a:hover{text-decoration:underline}ul,ol{margin:0;padding:0;list-style:none}strong{font-weight:600;color:var(--ink)}svg{display:block}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-100px;left:1rem;z-index:100;padding:.6rem 1rem;background:var(--accent);color:var(--accent-ink);border-radius:var(--radius-sm)}.skip-link:focus{top:1rem}.wrap{width:min(100% - 2 * var(--gutter),var(--wrap));margin-inline:auto}.muted{color:var(--ink-3)}.site-header{position:sticky;top:0;z-index:50;height:var(--header-h);background:var(--bg);background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:saturate(160%) blur(12px);-webkit-backdrop-filter:saturate(160%) blur(12px);border-bottom:1px solid transparent;transition:border-color .25s ease}.site-header.is-scrolled{border-bottom-color:var(--line)}.header-row{height:100%;display:flex;align-items:center;justify-content:space-between;gap:1rem}.wordmark{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;letter-spacing:-.01em}.wordmark:hover{text-decoration:none}.wordmark-mark{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:var(--ink);color:var(--bg);font-family:var(--font-mono);font-size:.75rem;font-weight:700;letter-spacing:.02em}.nav-list{display:flex;align-items:center;gap:.25rem}.nav-list a{display:inline-block;padding:.45rem .75rem;border-radius:999px;font-size:.9375rem;color:var(--ink-2);transition:background .2s ease,color .2s ease}.nav-list a:hover,.nav-list a.is-active{color:var(--ink);background:var(--bg-sunken);text-decoration:none}.nav-list a.nav-cta{color:var(--accent);font-weight:600}.nav-list a.nav-cta:hover,.nav-list a.nav-cta.is-active{background:var(--accent-soft)}.theme-toggle{margin-left:.25rem;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);color:var(--ink-2);cursor:pointer}.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.theme-toggle .icon-sun{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}:root[data-theme=dark] .theme-toggle .icon-moon{display:none}.nav-toggle{display:none;width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:var(--bg-raised);cursor:pointer;position:relative}.nav-toggle-bar,.nav-toggle-bar:before,.nav-toggle-bar:after{position:absolute;left:11px;width:18px;height:2px;background:var(--ink);border-radius:2px;transition:transform .25s ease,opacity .2s ease}.nav-toggle-bar{top:19px}.nav-toggle-bar:before,.nav-toggle-bar:after{content:"";left:0}.nav-toggle-bar:before{top:-6px}.nav-toggle-bar:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-bar{background:transparent}.nav-toggle[aria-expanded=true] .nav-toggle-bar:before{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bar:after{transform:translateY(-6px) rotate(-45deg)}@media(max-width:760px){.nav-toggle{display:block}.nav-list{position:absolute;top:var(--header-h);left:0;right:0;flex-direction:column;align-items:stretch;gap:.25rem;padding:.75rem var(--gutter) 1rem;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:var(--shadow);display:none}.nav-list.is-open{display:flex}.nav-list a{display:block;padding:.7rem .9rem;font-size:1.05rem}.theme-toggle{margin:.25rem 0 0 .9rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;padding:.65rem 1.25rem;border-radius:999px;font-weight:600;font-size:.9375rem;line-height:1;border:1px solid transparent;transition:transform .15s ease,background .2s ease,border-color .2s ease}.btn:hover{text-decoration:none;transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover{filter:brightness(.92);background:var(--accent);background:color-mix(in srgb,var(--accent) 88%,var(--ink))}@supports (background: color-mix(in srgb,red,blue)){.btn-primary:hover{filter:none}}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{background:var(--bg-raised);border-color:var(--ink-3)}.hero{padding:clamp(3.5rem,9vw,7rem) 0 clamp(3rem,7vw,5rem);position:relative}.hero:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(var(--line-strong) 1px,transparent 1px);background-size:22px 22px;opacity:.45;-webkit-mask-image:linear-gradient(to bottom,black 20%,transparent 100%);mask-image:linear-gradient(to bottom,black 20%,transparent 100%)}.hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(260px,4fr);gap:clamp(2rem,6vw,5rem);align-items:end}@media(max-width:900px){.hero-grid{grid-template-columns:1fr;align-items:start}}.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;color:var(--ink-2);margin-bottom:1.5rem;padding:.35rem .8rem .35rem .6rem;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised)}.dot{width:8px;height:8px;border-radius:50%;background:#2f9e62;box-shadow:0 0 0 3px #2f9e622e}.lede{font-size:clamp(1.125rem,1.6vw,1.3rem);line-height:1.55;color:var(--ink-2);max-width:36em;margin-top:1.5rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hero-card{background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem;box-shadow:var(--shadow)}.facts{margin:0;display:grid;gap:1rem}.facts>div{display:grid;gap:.15rem;padding-bottom:1rem;border-bottom:1px dashed var(--line)}.facts>div:last-child{padding-bottom:0;border-bottom:0}.facts dt{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.facts dd{margin:0;font-weight:500;color:var(--ink)}.strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg-sunken)}.strip-row{display:flex;align-items:center;gap:1.5rem;padding:1rem 0;flex-wrap:wrap}.strip-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);white-space:nowrap}.strip-list{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--ink-2)}.section{padding:var(--section-y) 0}.section-alt{background:var(--bg-sunken);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-alt+.section-alt{border-top:0}.section-head{margin-bottom:2.5rem}.kicker{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.9rem}.section-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:clamp(2rem,5vw,4rem);align-items:start}.section-grid .section-head{margin-bottom:0;position:sticky;top:calc(var(--header-h) + 2rem)}@media(max-width:800px){.section-grid{grid-template-columns:1fr}.section-grid .section-head{position:static;margin-bottom:1.5rem}}.prose{font-size:1.125rem;color:var(--ink-2);max-width:60ch}.prose p:first-child:first-letter{font-family:var(--font-display);font-size:3.4em;float:left;line-height:.8;padding:.08em .1em 0 0;color:var(--accent)}.ledger{border-top:1px solid var(--line-strong)}.ledger-row{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;padding:1.75rem 0;border-bottom:1px solid var(--line)}.ledger-when{font-family:var(--font-mono);font-size:.85rem;color:var(--ink-3);padding-top:.35rem}.ledger-what h3{margin-bottom:.15rem}.ledger-org{color:var(--accent);font-weight:600;margin-bottom:.6rem}.ledger-what p:last-child{margin-bottom:0;color:var(--ink-2);max-width:62ch}@media(max-width:640px){.ledger-row{grid-template-columns:1fr;gap:.4rem;padding:1.4rem 0}}.cases{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:1.25rem}.case{position:relative;display:flex;flex-direction:column;padding:1.75rem 1.5rem 1.5rem;background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.case:hover{transform:translateY(-3px);border-color:var(--line-strong);box-shadow:var(--shadow)}.case-index{font-family:var(--font-mono);font-size:.78rem;color:var(--ink-3);margin-bottom:1.25rem}.case h3{margin-bottom:.6rem}.case p{color:var(--ink-2);flex:1}.tags{display:flex;flex-wrap:wrap;gap:.4rem}.tags li{font-family:var(--font-mono);font-size:.74rem;padding:.3rem .6rem;border-radius:6px;background:var(--bg-sunken);border:1px solid var(--line);color:var(--ink-2)}.case-cta{background:var(--ink);color:var(--bg);border-color:var(--ink)}.case-cta h3{color:inherit}.case-cta p{color:var(--bg);opacity:.85}.case-cta .btn{align-self:flex-start}.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem 3rem}.skill-group h3{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);padding-bottom:.75rem;border-bottom:1px solid var(--line-strong);margin-bottom:.5rem}.skill-group li{padding:.6rem 0;border-bottom:1px solid var(--line);font-weight:500}.skill-group li:last-child{border-bottom:0}.contact-box{text-align:center;padding:clamp(2.5rem,6vw,4.5rem) clamp(1.25rem,5vw,4rem);background:var(--bg-raised);border:1px solid var(--line);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow)}.contact-box .lede{margin-inline:auto;margin-top:1rem}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.75rem;margin-top:2rem}.site-footer{border-top:1px solid var(--line);padding:1.5rem 0 2.5rem;font-size:.9rem;color:var(--ink-3)}.footer-row{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer-row p{margin:0}.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}@media(min-width:640px){.case-cta{grid-column:span 2}}.creds{display:grid;gap:0;border-top:1px solid var(--line-strong)}.cred{padding:1.4rem 0;border-bottom:1px solid var(--line)}.cred-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.4rem}.cred h3{font-size:1.15rem;line-height:1.3;margin-bottom:.3rem}.cred p:last-child{margin-bottom:0;color:var(--ink-2)}.arc{display:grid;grid-template-columns:1fr auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start}.arc-divider{width:1px;align-self:stretch;background:linear-gradient(to bottom,transparent,var(--line-strong),transparent)}.arc-label{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.6rem}.arc-col:last-child .arc-label{color:var(--accent)}.arc-col h3{font-size:clamp(1.4rem,2.2vw,1.75rem);margin-bottom:.8rem}.arc-col p:last-child{color:var(--ink-2);font-size:1.0625rem;margin-bottom:0}@media(max-width:800px){.arc{grid-template-columns:1fr}.arc-divider{width:100%;height:1px;background:linear-gradient(to right,transparent,var(--line-strong),transparent)}}.showcase{border-top:1px solid var(--line-strong)}.show{display:grid;grid-template-columns:240px 1fr;gap:1.5rem clamp(1.5rem,4vw,3rem);padding:2rem 0;border-bottom:1px solid var(--line)}.show-meta p{margin:0}.show-role{font-weight:600;color:var(--ink);line-height:1.35}.show-org{color:var(--accent);font-weight:600;margin-top:.2rem!important}.show-org a:hover{text-decoration:underline}.show-when{font-family:var(--font-mono);font-size:.8rem;color:var(--ink-3);margin-top:.5rem!important}.show-body h3{font-size:clamp(1.35rem,2vw,1.6rem);margin-bottom:.6rem}.show-body p{color:var(--ink-2);max-width:64ch}.show-body .tags{margin-top:.25rem}@media(max-width:720px){.show{grid-template-columns:1fr;gap:.75rem;padding:1.6rem 0}.show-when{margin-top:.2rem!important}}.ledger-compact .ledger-row{padding:1rem 0;grid-template-columns:170px 1fr;gap:1rem}.ledger-compact h3{font-family:var(--font-sans);font-size:1rem;font-weight:600;letter-spacing:0}.ledger-compact .ledger-org{margin-bottom:0;font-weight:500;color:var(--ink-3)}@media(max-width:640px){.ledger-compact .ledger-row{grid-template-columns:1fr;gap:.2rem}}.hero-portrait{display:flex;align-items:center;gap:1rem;padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--line)}.hero-portrait img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:2px solid var(--bg);box-shadow:0 0 0 1px var(--line-strong)}.hero-portrait-name{font-family:var(--font-display);font-size:1.25rem;font-weight:500;line-height:1.2}.hero-portrait-role{font-size:.875rem;color:var(--ink-3);margin:.15rem 0 0}.hero-portrait p{margin:0}.faq{border-top:1px solid var(--line-strong)}.faq details{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font-family:var(--font-display);font-size:1.2rem;font-weight:500;color:var(--ink)}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-mono);font-size:1.1rem;color:var(--ink-3);flex-shrink:0;transition:transform .2s ease}.faq details[open] summary:after{transform:rotate(45deg)}.faq details>p{color:var(--ink-2);max-width:64ch;padding-bottom:1.1rem;margin:0}.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap}.footer-links a:hover{color:var(--ink)}.ledger-org a:hover,.cred h3 a:hover{text-decoration:underline;text-decoration-color:var(--accent-line)}.section-note{margin-top:1rem;max-width:62ch;color:var(--ink-2)}.ledger-sub{margin-top:.9rem;padding-left:1rem;border-left:2px solid var(--accent-line)}.ledger-compact .ledger-sub .ledger-row{grid-template-columns:154px 1fr;padding:.65rem 0;border-bottom:0}.ledger-sub h4{margin:0;font-family:var(--font-sans);font-size:.975rem;font-weight:600;letter-spacing:0;color:var(--ink)}@media(max-width:640px){.ledger-compact .ledger-sub .ledger-row{grid-template-columns:1fr}}.ledger-details{margin:.6rem 0 0;display:grid;gap:.25rem}.ledger-details>div{display:grid;grid-template-columns:84px 1fr;gap:.75rem;font-size:.9rem}.ledger-details dt{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:.2rem}.ledger-details dd{margin:0;color:var(--ink-2)}.ledger-details dd:first-letter{text-transform:none}.ledger-footnote{margin:.4rem 0 0;font-size:.78rem;color:var(--ink-3)}.wordmark-mark{letter-spacing:0;padding-left:1px}.cursor{display:inline-block;color:var(--accent);animation:blink 1.1s steps(2,start) infinite}@keyframes blink{to{visibility:hidden}}.scroll-progress{position:absolute;left:0;bottom:-1px;width:100%;height:2px;background:var(--accent);background:linear-gradient(to right,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--bg)));transform-origin:left;transform:scaleX(0);pointer-events:none}.dot-pulse{position:relative}.dot-pulse:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid #2f9e62;opacity:0;animation:pulse 2.4s var(--ease) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.8}70%{transform:scale(1.5);opacity:0}to{transform:scale(1.5);opacity:0}}.kicker{display:flex;align-items:center;gap:.9rem}.kicker:after{content:"";flex:1;max-width:160px;height:1px;background:linear-gradient(to right,var(--accent-line),transparent)}.contact-box .kicker{justify-content:center}.contact-box .kicker:after{display:none}h1 em{font-variation-settings:"opsz" 144,"SOFT" 100,"WONK" 1}.btn-arrow:after{content:"→";display:inline-block;transition:transform .25s var(--ease)}.btn-arrow:hover:after{transform:translate(3px)}.btn{transition:transform .2s var(--ease),background .2s ease,border-color .2s ease,box-shadow .2s ease}.btn-primary:hover{box-shadow:0 8px 20px -10px #00000059;box-shadow:0 8px 20px -10px color-mix(in srgb,var(--accent) 70%,transparent)}.show{position:relative;transition:background .25s ease}.show:before{content:"";position:absolute;left:calc(-1 * var(--gutter) / 2);top:1.75rem;bottom:1.75rem;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .3s var(--ease)}.show:hover:before{transform:scaleY(1)}.show-body h3{transition:color .2s ease}.show:hover .show-body h3{color:var(--accent)}.hero-card{position:relative;background-clip:padding-box}.hero-card:before{content:"";position:absolute;inset:-1px;z-index:-1;border-radius:inherit;background:linear-gradient(135deg,var(--accent-line),var(--line) 40%,var(--line) 60%,var(--accent-line))}.strip-list{font-family:var(--font-sans);font-size:.95rem;font-weight:500;letter-spacing:.01em;color:var(--ink-3)}.strip-list li{transition:color .2s ease}.strip-list li:hover{color:var(--ink)}.tags li{transition:border-color .2s ease,color .2s ease,background .2s ease}.show:hover .tags li{border-color:var(--accent-line)}.kbd-hint{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font-mono);font-size:.78rem}kbd{font-family:var(--font-mono);font-size:.72rem;padding:.1rem .4rem;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;background:var(--bg-raised);color:var(--ink-2)}@media(max-width:760px){.kbd-hint{display:none}}.theme-toggle{transition:transform .3s var(--ease),border-color .2s ease}.theme-toggle:hover{transform:rotate(20deg);border-color:var(--line-strong)}.reveal{transition:opacity .7s var(--ease),transform .7s var(--ease)}@media(prefers-reduced-motion:reduce){.cursor,.dot-pulse:after{animation:none}.dot-pulse:after{display:none}}@media print{:root{--bg: #fff;--bg-raised: #fff;--bg-sunken: #fff}.site-header,.hero-actions,.theme-toggle,.nav-toggle,.scroll-progress,.skip-link,.contact-links,.to-top,.kbd-hint,.hero:before,.faq{display:none!important}.section{padding:1.5rem 0;break-inside:avoid}.section-alt{border:0}.reveal{opacity:1!important;transform:none!important}a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono);font-size:.7em;color:var(--ink-3)}.show-org a:after,.ledger-org a:after{content:""}}.hero-card{border-color:transparent}.hero-card:before{inset:0}.wordmark-mark{display:inline-flex;align-items:center;justify-content:center;gap:1px;padding-left:0}.cursor{width:5px;height:11px;background:var(--accent);font-size:0;line-height:0}.wordmark-mark{width:auto;height:30px;padding:0 .6rem 0 .65rem;gap:2px;font-size:.8rem;font-weight:600;letter-spacing:.01em}.palette-item{position:relative}.palette-toggle{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--line);border-radius:999px;background:var(--bg-raised);cursor:pointer;transition:border-color .2s ease,transform .3s var(--ease)}.palette-toggle:hover{border-color:var(--line-strong);transform:rotate(-15deg)}.palette-swatch{width:16px;height:16px;border-radius:50%;background:conic-gradient(var(--accent) 0 50%,var(--bg-sunken) 50% 100%);box-shadow:inset 0 0 0 1px var(--line-strong)}.palette-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:200px;padding:.4rem;display:grid;gap:2px;background:var(--bg-raised);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);z-index:60}.palette-menu[hidden]{display:none}.palette-menu button{display:flex;align-items:center;gap:.6rem;width:100%;padding:.5rem .6rem;border:0;border-radius:8px;background:transparent;color:var(--ink-2);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.palette-menu button:hover,.palette-menu button:focus-visible{background:var(--bg-sunken);color:var(--ink);outline:none}.palette-menu button[aria-pressed=true]{color:var(--ink);font-weight:600}.palette-menu button[aria-pressed=true]:after{content:"✓";margin-left:auto;font-family:var(--font-mono);color:var(--accent)}.palette-dot{width:18px;height:18px;border-radius:50%;flex-shrink:0;background:conic-gradient(var(--sw-accent) 0 50%,var(--sw-bg) 50% 100%);box-shadow:inset 0 0 0 1px #00000026}@media(max-width:760px){.palette-item{display:flex;align-items:center;gap:.75rem;margin:.25rem 0 0 .9rem}.palette-menu{position:static;min-width:0;flex:1;box-shadow:none}.nav-list .palette-item+li .theme-toggle{margin-top:.5rem}}.nav-controls{display:flex;align-items:center;gap:.35rem;margin-left:.35rem}.nav-controls-label{display:none}.theme-toggle{margin-left:0}@media(max-width:760px){.nav-controls{margin:.6rem 0 0;padding:.75rem .9rem .25rem;border-top:1px solid var(--line);gap:.6rem;flex-wrap:wrap}.nav-controls-label{display:inline-block;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin-right:auto}.palette-item{margin:0;gap:0}.palette-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:200px;box-shadow:var(--shadow)}.theme-toggle{margin:0}}
