@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.3zhtymus0wdqb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.3nkuoiize4urq.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.1da667lu-u79a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1i05ju5aeyhye.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.1dgcou5jor5q_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.2ontrj8z1-o25.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.33iiebxkijmxa.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.2nzetymcmw3t7.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.0_f09-l1omku8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.0fcfx2a-jndc5.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f53f4557ddd9f7a6-s.0m27yxnqbjygb.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5256dd17dd2ccf14-s.3rq2mce8ozlxj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/fe48c93add1d142c-s.1iowrflh516kh.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5689d89b20a4bd5b-s.08xli7-4ntimz.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/a7e15459c1805da0-s.p.05ymlrkv94iec.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_12d93c8d-module__NYmqNa__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_12d93c8d-module__NYmqNa__variable{--font-plex-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/7fea77d1d19108bf-s.2e4y-bhazgt_v.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/1bcd0e671759a44c-s.3o0_l_yqebdng.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/e15f58668ad64cb8-s.2mglm451ism6l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/90c51ce8fb754fe8-s.3bjsqkuy1d2v8.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/57215795b8570f5c-s.0xluf1kzv7x5w.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:IBM Plex Sans;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/03fc1b4a8d284b5e-s.p.45487z7p3r8wm.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Fallback;src:local(Arial);ascent-override:101.32%;descent-override:27.18%;line-gap-override:0.0%;size-adjust:101.17%}.ibm_plex_sans_17095c5d-module__ZHI7Aa__className{font-family:IBM Plex Sans,IBM Plex Sans Fallback;font-style:normal}.ibm_plex_sans_17095c5d-module__ZHI7Aa__variable{--font-plex-sans:"IBM Plex Sans", "IBM Plex Sans Fallback"}
:root{--paper:#f7f7f2;--paper-raised:#fff;--paper-sunken:#f1f1ea;--paper-inverse:#1b1f23;--ink:#1b1f23;--ink-soft:#565d64;--ink-faint:#676e74;--ink-inverse:#f7f7f2;--ink-inverse-soft:#c7cbce;--grid:#dadfe3;--grid-strong:#c2c9cf;--raw:#2a6f97;--raw-text:#235c7e;--raw-soft:#e4eef3;--raw-strong:#1f5678;--model:#c98a2c;--model-text:#8a5a12;--model-soft:#f6ebd8;--model-strong:#a06d1f;--ship:#3b7a57;--ship-text:#2c5c41;--ship-soft:#e4efe8;--ship-strong:#2c5c41;--accent-data:var(--raw);--accent-data-text:var(--raw-text);--accent-data-soft:var(--raw-soft);--accent-sw:var(--model);--accent-sw-text:var(--model-text);--accent-sw-soft:var(--model-soft);--accent-result:var(--ship);--accent-result-text:var(--ship-text);--accent-result-soft:var(--ship-soft);--signal:var(--raw);--signal-soft:var(--raw-soft);--signal-strong:var(--raw-strong);--amber:var(--model);--good:var(--ship);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.1875rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-hero:clamp(2.75rem, 6.2vw, 5rem);--leading-tight:1.1;--leading-snug:1.3;--leading-body:1.6;--weight-regular:400;--weight-medium:500;--weight-semi:600;--weight-bold:700;--tracking-tight:-.015em;--tracking-wide:.08em;--tracking-wider:.12em;--radius-xs:2px;--radius-sm:3px;--radius-md:6px;--radius-pill:999px;--radius:var(--radius-xs);--shadow-sm:0 1px 2px #1b1f230a;--shadow-md:0 4px 16px #1b1f2312;--shadow-lg:0 10px 30px -6px #1b1f2324, 0 3px 8px -3px #1b1f2312;--wrap-max:1020px;--wrap-hero:1180px;--wrap-pad:var(--space-6);--measure:62ch;--section-y:clamp(3.5rem, 6.4vw, 5.5rem);--nav-w:212px;--grid-cell:48px;--ease:cubic-bezier(.22, .61, .36, 1);--dur-fast:.15s;--dur-med:.35s;--dur-slow:.6s;--font-mono:var(--font-plex-mono), ui-monospace, monospace;--font-sans:var(--font-plex-sans), system-ui, sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-20)}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-md);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);background-size:var(--grid-cell) var(--grid-cell);background-position:-1px -1px;margin:0}a{color:var(--signal)}img,svg{max-width:100%}:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:var(--radius-xs)}::selection{background:var(--signal-soft);color:var(--ink)}.t-hero{font-family:var(--font-mono);font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0}h2,.t-section{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight);margin:0}h3,.t-sub{font-family:var(--font-mono);font-size:var(--text-md);font-weight:var(--weight-semi);line-height:var(--leading-snug);margin:0}.t-lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--ink-soft);max-width:var(--measure);margin:0}.t-body{font-size:var(--text-base);line-height:var(--leading-body)}.t-caption{font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--ink-soft)}.t-micro{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:var(--tracking-wide);line-height:1.4}.mono{font-family:var(--font-mono)}.wrap{max-width:var(--wrap-max);padding:0 var(--wrap-pad);margin:0 auto}section{padding:var(--section-y) 0}section.alt{background-color:var(--paper-raised);border-top:1px solid var(--grid);border-bottom:1px solid var(--grid);background-image:radial-gradient(#1b1f2309 1px,#0000 1px);background-size:20px 20px}.section-head{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.section-head .idx{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--signal)}.section-sub{font-size:var(--text-base);line-height:var(--leading-body);color:var(--ink-soft);max-width:var(--measure);margin:0 0 var(--space-8)}.btn{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semi);padding:var(--space-3) var(--space-5);border-radius:var(--radius-xs);border:1px solid var(--ink);cursor:pointer;color:var(--ink);align-items:center;gap:var(--space-2);transition:background var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);background:0 0;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink);color:var(--paper)}.btn.primary{background:var(--signal);border-color:var(--signal);color:#fff}.btn.primary:hover{background:var(--signal-strong);border-color:var(--signal-strong)}.pipeline{background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--radius-xs);padding:var(--space-6) var(--space-5) var(--space-5);position:relative;overflow:hidden}.pipeline-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);color:var(--ink-soft);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0 0 var(--space-4)}.pipeline-track{grid-template-columns:repeat(4,1fr);display:grid;position:relative}.stage{padding:var(--space-3) var(--space-3) var(--space-4);border-right:1px dashed var(--grid);position:relative}.stage:last-child{border-right:none}.stage .tag{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--ink);margin-bottom:var(--space-2);display:inline-block}.stage .num{font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-xl);line-height:1;display:block}.stage .cap{font-size:var(--text-xs);color:var(--ink-soft);margin-top:var(--space-1);line-height:var(--leading-snug);display:block}.stage[data-stage=raw] .num,.stage[data-stage=clean] .num{color:var(--raw-text)}.stage[data-stage=model] .num{color:var(--model-text)}.stage[data-stage=ship] .num{color:var(--ship-text)}.stage:after{content:"→";color:var(--ink-faint);font-size:var(--text-sm);z-index:2;background:var(--paper-raised);text-align:center;width:16px;position:absolute;top:20px;right:-11px}.stage:last-child:after{content:""}@media (max-width:700px){.pipeline-track{grid-template-columns:1fr}.stage{border-right:none;border-bottom:1px dashed var(--grid);padding:var(--space-3) 0}.stage:after{content:"↓";inset:auto auto -9px 0}.stage:last-child{border-bottom:none}}.ledger{border:1px solid var(--grid);border-radius:var(--radius-sm);background:var(--paper-raised);box-shadow:var(--shadow-md);overflow:hidden}.ledger-row{gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--grid);transition:background-color var(--dur-fast) var(--ease);grid-template-columns:40px 1fr auto;align-items:center;display:grid}.ledger-row:last-child{border-bottom:none}.ledger-row:hover{background:var(--paper)}.ledger-row .row-idx{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-faint)}.ledger-row .row-text{font-size:var(--text-base)}.ledger-row .row-stat{font-family:var(--font-mono);font-weight:var(--weight-bold);font-size:var(--text-xl);color:var(--accent-result);white-space:nowrap}@media (max-width:600px){.ledger-row{grid-template-rows:auto auto;grid-template-columns:28px 1fr}.ledger-row .row-stat{font-size:var(--text-md);grid-column:2}}.log-entry{border-left:2px solid var(--grid);padding:2px 0 var(--space-8) var(--space-6);margin-left:6px;position:relative}.log-entry:before{content:"";background:var(--paper);border:2px solid var(--signal);border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.log-entry:last-child{padding-bottom:2px}.log-head{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.log-role{font-weight:var(--weight-semi);font-size:var(--text-lg)}.log-org{color:var(--signal);font-weight:var(--weight-semi)}.log-dates{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-soft);margin-left:auto}.log-tags{gap:var(--space-2);margin:var(--space-2) 0 var(--space-3);display:flex}.tag-pill{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:var(--tracking-wide);padding:3px var(--space-2);border-radius:var(--radius-pill)}.tag-pill.data{background:var(--accent-data-soft);color:var(--accent-data-text)}.tag-pill.sw{background:var(--accent-sw-soft);color:var(--accent-sw-text)}ul.log-list{padding-left:var(--space-5);margin:0}ul.log-list li{margin-bottom:var(--space-2);font-size:var(--text-base);line-height:var(--leading-body)}.filter-row{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.filter-btn{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);border:1px solid var(--grid);background:var(--paper-raised);border-radius:var(--radius-pill);cursor:pointer;color:var(--ink-soft);transition:border-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease);line-height:var(--leading-snug);display:inline-block}.filter-btn:hover{border-color:var(--grid-strong);color:var(--ink)}.pf-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pf-input:checked+.filter-btn{border-color:var(--ink);color:var(--ink);background:var(--paper);font-weight:var(--weight-semi)}.pf-input:focus-visible+.filter-btn{outline:3px solid var(--signal);outline-offset:2px}.projects-filterable{gap:var(--space-2);border:0;flex-wrap:wrap;min-width:0;margin:0;padding:0;display:flex}.proj-results{margin-top:var(--space-4);flex:0 0 100%;min-width:0}#pf-data:checked~.proj-results [data-tracks]:not([data-tracks~=data]),#pf-sw:checked~.proj-results [data-tracks]:not([data-tracks~=sw]){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.proj-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:700px){.proj-grid{grid-template-columns:1fr}}.card{background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--radius-xs);padding:var(--space-5);gap:var(--space-3);box-shadow:var(--shadow-sm);transition:border-color var(--dur-fast) var(--ease), transform var(--dur-med) var(--ease), box-shadow var(--dur-med) var(--ease);border-top:2px solid var(--card-accent,var(--grid));flex-direction:column;display:flex}.card:hover,.card-link:focus-visible{border-color:var(--grid-strong);border-top-color:var(--card-accent,var(--signal));box-shadow:var(--shadow-lg);transform:translateY(-4px)scale(1.008)}@media (prefers-reduced-motion:reduce){.card{transition:border-color var(--dur-fast) var(--ease)}.card:hover,.card-link:focus-visible{transform:none}}.card[data-track=data]{--card-accent:var(--accent-data);--card-accent-text:var(--accent-data-text)}.card[data-track=sw]{--card-accent:var(--accent-sw);--card-accent-text:var(--accent-sw-text)}.card-illustration{border-radius:var(--radius-xs);border:1px solid var(--grid);background:var(--paper);width:100%;height:auto;display:block}.card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.card h3{font-size:var(--text-md)}.card p{font-size:var(--text-base);color:var(--ink-soft);margin:0}.card-metric{font-family:var(--font-mono);font-weight:var(--weight-bold);color:var(--accent-result-text);font-size:var(--text-sm);background:var(--accent-result-soft);padding:3px var(--space-2);border-radius:var(--radius-pill);white-space:nowrap}.proj-more-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--ink-faint);margin:var(--space-10) 0 var(--space-4);padding-bottom:var(--space-2);border-bottom:1px solid var(--grid)}.proj-grid-compact{gap:var(--space-3);grid-template-columns:repeat(3,1fr);display:grid}@media (max-width:900px){.proj-grid-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.proj-grid-compact{grid-template-columns:1fr}}.card-compact{padding:var(--space-4);gap:var(--space-2)}.card-compact .card-top{gap:var(--space-2);flex-direction:column;align-items:flex-start}.card-compact h3{font-size:var(--text-base)}.card-compact p{font-size:var(--text-sm)}.card-compact .card-metric{font-size:var(--text-2xs)}.card-link{color:inherit;text-decoration:none}.card-cta{padding-top:var(--space-1);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-semi);color:var(--card-accent-text,var(--signal));opacity:0;transition:opacity var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);margin-top:auto;transform:translate(-4px)}.card-link:hover .card-cta,.card-link:focus-visible .card-cta{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.card-cta{transition:none}}@media (hover:none){.card-cta{opacity:1;transform:none}}.case-page{padding-top:var(--space-12)}@media (min-width:1100px){.case-page{padding-left:0}}.case{max-width:760px;padding-bottom:var(--space-24)}.case-back{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--ink-soft);margin-bottom:var(--space-10);transition:color var(--dur-fast) var(--ease);text-decoration:none;display:inline-block}.case-back:hover{color:var(--signal)}.case-head{border-left:3px solid var(--card-accent,var(--signal));padding-left:var(--space-6);margin-bottom:var(--space-10)}.case-head[data-track=data]{--card-accent:var(--accent-data)}.case-head[data-track=sw]{--card-accent:var(--accent-sw)}.case-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--card-accent,var(--signal));margin:0 0 var(--space-3)}.case-title{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-4)}.case-tagline{font-size:var(--text-lg);color:var(--ink-soft);margin:0 0 var(--space-6);max-width:var(--measure)}.case-meta{gap:var(--space-8);flex-wrap:wrap;margin:0;display:flex}.case-meta div{margin:0}.case-meta dt{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-faint);margin-bottom:var(--space-1)}.case-meta dd{font-size:var(--text-base);font-weight:var(--weight-medium);margin:0}.case-hero-img{border:1px solid var(--grid);border-radius:var(--radius-xs);background:var(--paper-raised);width:100%;height:auto;margin-bottom:var(--space-12);display:block}.case-section{margin-bottom:var(--space-12);padding:0}.case-section h2{align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-5);display:flex}.case-idx{font-size:var(--text-sm);color:var(--signal);font-weight:var(--weight-semi)}.case-section p{font-size:var(--text-md);line-height:var(--leading-body);color:var(--ink-soft);margin:0 0 var(--space-4);max-width:var(--measure)}.case-list{padding-left:var(--space-5);max-width:var(--measure);margin:0}.case-list li{font-size:var(--text-md);line-height:var(--leading-body);color:var(--ink-soft);margin-bottom:var(--space-3)}.case-arch{counter-reset:arch;margin:0;padding:0;list-style:none}.case-arch li{border-left:2px solid var(--grid);padding:0 0 var(--space-6) var(--space-6);margin-left:6px;position:relative}.case-arch li:last-child{padding-bottom:0}.case-arch li:before{content:"";background:var(--paper);border:2px solid var(--stage-color,var(--signal));border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.case-arch li[data-arch-i="0"],.case-arch li[data-arch-i="1"]{--stage-color:var(--raw)}.case-arch li[data-arch-i="2"],.case-arch li[data-arch-i="3"]{--stage-color:var(--model)}.case-arch li:last-child{--stage-color:var(--ship)}.case-live{color:var(--signal);border-bottom:1px solid var(--grid);font-weight:var(--weight-semi);transition:border-color var(--dur-fast) var(--ease);text-decoration:none}.case-live:hover{border-color:var(--signal)}.arch-step{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);color:var(--stage-color,var(--signal));margin-bottom:var(--space-2);display:block}.arch-detail{margin:0!important}.case-results{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(150px,1fr));display:grid}.case-result{background:var(--accent-result-soft);border:1px solid var(--grid);border-radius:var(--radius-xs);padding:var(--space-4)}.case-result-stat{font-family:var(--font-mono);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--accent-result);margin-bottom:var(--space-2);line-height:1;display:block}.case-result-label{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-snug)}.case-stack{gap:var(--space-6);display:grid}.case-footer-nav{gap:var(--space-3);padding-top:var(--space-8);border-top:1px solid var(--grid);flex-wrap:wrap;display:flex}.skill-grid{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:700px){.skill-grid{grid-template-columns:1fr}}.skill-group h3{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semi);text-transform:uppercase;letter-spacing:var(--tracking-wide);margin:0 0 var(--space-3)}.skill-group[data-track=data] h3{color:var(--accent-data-text)}.skill-group[data-track=sw] h3{color:var(--accent-sw-text)}.chip-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.chip{font-size:var(--text-sm);padding:var(--space-2) var(--space-3);background:var(--paper);border:1px solid var(--grid);border-radius:var(--radius-pill)}footer{padding:var(--section-y) 0 var(--space-12)}.contact-box{background:var(--paper-inverse);color:var(--ink-inverse);border-radius:var(--radius-xs);padding:var(--space-12) var(--space-8);justify-content:space-between;gap:var(--space-8);flex-wrap:wrap;align-items:center;display:flex}.contact-box h2{color:var(--ink-inverse)}.contact-box .section-head .idx{color:var(--model)}.contact-copy{color:var(--ink-inverse-soft);max-width:42ch;font-size:var(--text-base);margin:0}.contact-intro{flex:340px;min-width:0}.status-chip{align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-inverse);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-3);margin:0 0 var(--space-5);background:#3b7a5738;border:1px solid #7abe9a80;display:inline-flex}.status-dot{background:#7abe9a;border-radius:50%;flex:none;width:7px;height:7px}.contact-cta{margin-top:var(--space-6);border-color:var(--ink-inverse);color:var(--ink-inverse)}.contact-cta:hover{background:var(--ink-inverse);color:var(--ink)}.contact-links{gap:var(--space-4);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.contact-links li{flex-direction:column;gap:2px;display:flex}.contact-link-label{font-family:var(--font-mono);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink-inverse-soft)}.contact-links a{color:var(--ink-inverse);font-family:var(--font-mono);font-size:var(--text-sm);transition:border-color var(--dur-fast) var(--ease);border-bottom:1px solid #f7f7f240;align-self:flex-start;padding-bottom:2px;text-decoration:none}.contact-links a:hover{border-color:var(--ink-inverse)}.contact-links a:focus-visible{outline-color:var(--ink-inverse)}.site-foot{justify-content:space-between;gap:var(--space-3);margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--grid);flex-wrap:wrap;display:flex}.foot-note{font-size:var(--text-xs);color:var(--ink-faint);font-family:var(--font-mono);margin:0;padding:0}.foot-links{gap:var(--space-4);flex-wrap:wrap;display:flex}.foot-links a{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);transition:color var(--dur-fast) var(--ease);text-decoration:none}.foot-links a:hover{color:var(--signal)}@media (max-width:700px){.contact-box{padding:var(--space-8) var(--space-5);align-items:flex-start;gap:var(--space-8);flex-direction:column}.contact-links{width:100%}}@media (max-width:400px){.contact-box{padding:var(--space-6) var(--space-4)}.contact-links a{font-size:var(--text-xs);word-break:break-word}}.resume-grid{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}@media (max-width:700px){.resume-grid{grid-template-columns:1fr}}.resume-page{padding-top:var(--space-12)}@media (min-width:1100px){.resume-page{padding-left:0}}.resume{max-width:760px;padding-bottom:var(--space-24)}.resume-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.resume-bar .case-back{margin-bottom:0}.resume-bar-actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.resume-hint{font-size:var(--text-xs);color:var(--ink-faint);margin:0 0 var(--space-8)}.resume-doc{background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--radius-xs);padding:var(--space-12) var(--space-10)}.resume-head{border-bottom:2px solid var(--ink);padding-bottom:var(--space-4);margin-bottom:var(--space-8)}.resume-head h1{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin:0 0 var(--space-1);letter-spacing:var(--tracking-tight)}.resume-role{font-family:var(--font-mono);font-size:var(--text-base);color:var(--signal);margin:0 0 var(--space-3);font-weight:var(--weight-semi)}.resume-contact{font-size:var(--text-sm);color:var(--ink-soft);line-height:var(--leading-snug);margin:0}.resume-contact a{color:var(--ink-soft);border-bottom:1px solid var(--grid);text-decoration:none}.resume-contact a:hover{color:var(--signal);border-color:var(--signal)}.resume-section{margin-bottom:var(--space-8);padding:0}.resume-section:last-child{margin-bottom:0}.resume-section>h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:var(--tracking-wide);color:var(--ink);padding-bottom:var(--space-2);border-bottom:1px solid var(--grid);margin-bottom:var(--space-4)}.resume-section p{font-size:var(--text-base);color:var(--ink-soft);margin:0 0 var(--space-3);line-height:var(--leading-body)}.resume-section ul{margin:0 0 var(--space-3);padding-left:var(--space-5)}.resume-section li{font-size:var(--text-base);color:var(--ink-soft);margin-bottom:var(--space-2);line-height:var(--leading-body)}.resume-entry{margin-bottom:var(--space-5)}.resume-entry:last-child{margin-bottom:0}.resume-entry-head{align-items:baseline;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.resume-entry-head h3{font-size:var(--text-base);font-family:var(--font-sans)}.resume-org{color:var(--signal);font-weight:var(--weight-semi)}.resume-dates{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);white-space:nowrap;margin-left:auto}.resume-pairs{margin:0}.resume-pairs>div{gap:var(--space-3);margin-bottom:var(--space-2);grid-template-columns:170px 1fr;display:grid}.resume-pairs dt{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-semi);color:var(--ink)}.resume-pairs dd{font-size:var(--text-base);color:var(--ink-soft);margin:0}@media (max-width:600px){.resume-pairs>div{grid-template-columns:1fr;gap:2px}}.skip-link{z-index:100;background:var(--ink);color:var(--paper);padding:var(--space-3) var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);border-radius:0 0 var(--radius-xs) 0;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}@media print{@page{margin:14mm}body{background:#fff;font-size:10.5pt}.no-print,.rail,.topbar,.skip-link{display:none!important}.page,.resume-page{padding:0!important}.wrap,.resume{max-width:none;padding:0}.resume-doc{background:#fff;border:none;padding:0}.resume-section{break-inside:avoid;margin-bottom:14pt}.resume-entry{break-inside:avoid}.resume-head{border-bottom:1.5pt solid #000}.resume-role,.resume-org{color:#000}.resume-section p,.resume-section li,.resume-pairs dd{color:#222}.resume-contact,.resume-contact a{color:#333}a{text-decoration:none}}.brand{font-family:var(--font-mono);font-weight:var(--weight-semi);font-size:var(--text-sm);letter-spacing:.02em;color:var(--ink);align-items:center;gap:var(--space-2);text-decoration:none;display:flex}.brand .dot{background:var(--signal);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.rail{display:none}@media (min-width:1100px){.rail{width:var(--nav-w);height:100vh;padding:var(--space-10) var(--space-6);border-right:1px solid var(--grid);background:var(--paper);z-index:40;flex-direction:column;display:flex;position:fixed;top:0;left:0}.rail-role{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-faint);margin:var(--space-2) 0 var(--space-10);padding-left:calc(8px + var(--space-2))}.rail-nav ul{margin:0;padding:0;list-style:none}.rail-nav li{margin-bottom:var(--space-1)}.rail-nav a{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;color:var(--ink-faint);font-family:var(--font-mono);font-size:var(--text-sm);transition:color var(--dur-fast) var(--ease);text-decoration:none;display:flex}.rail-line{background:var(--grid-strong);width:16px;height:1px;transition:width var(--dur-med) var(--ease), background-color var(--dur-med) var(--ease);flex:none;display:block}.rail-idx{font-size:var(--text-2xs);color:var(--ink-faint)}.rail-nav a:hover{color:var(--ink)}.rail-nav a:hover .rail-line{background:var(--ink-soft);width:28px}.rail-nav a.is-active{color:var(--signal)}.rail-nav a.is-active .rail-line{background:var(--signal);width:36px}.rail-nav a.is-active .rail-idx{color:var(--signal)}.rail-nav a.is-active .rail-label{font-weight:var(--weight-semi)}.topbar{display:none}.page{padding-left:var(--nav-w)}}.topbar{z-index:50;background:var(--paper);border-bottom:1px solid var(--grid);position:sticky;top:0}.topbar-inner{max-width:var(--wrap-max);padding:var(--space-3) var(--wrap-pad);justify-content:space-between;align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.topbar-nav{gap:var(--space-5);scrollbar-width:none;display:flex;overflow-x:auto}.topbar-nav::-webkit-scrollbar{display:none}.topbar-nav a{color:var(--ink-soft);font-size:var(--text-sm);font-family:var(--font-mono);white-space:nowrap;transition:color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);border-bottom:2px solid #0000;padding-bottom:2px;text-decoration:none}.topbar-nav a:hover{color:var(--ink)}.topbar-nav a.is-active{color:var(--signal);border-bottom-color:var(--signal)}@media (max-width:720px){.topbar-inner{align-items:flex-start;gap:var(--space-2);flex-direction:column}.topbar-nav{gap:var(--space-4);width:100%}.topbar-nav a{font-size:var(--text-xs)}}.hero{padding:var(--space-12) 0 var(--space-10);position:relative;overflow:hidden}.hero-aurora{pointer-events:none;z-index:0;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000 92%);mask-image:linear-gradient(#000 55%,#0000 92%)}.hero-aurora .blob{filter:blur(90px);will-change:transform;border-radius:50%;position:absolute}.hero-aurora .b1{background:radial-gradient(circle, var(--signal) 0%, transparent 70%);opacity:.4;width:520px;height:520px;animation:22s ease-in-out infinite driftA;top:-200px;left:-140px}.hero-aurora .b2{background:radial-gradient(circle, var(--amber) 0%, transparent 70%);opacity:.28;width:460px;height:460px;animation:26s ease-in-out infinite driftB;top:-80px;right:-160px}.hero-aurora .b3{background:radial-gradient(circle, var(--good) 0%, transparent 70%);opacity:.22;width:400px;height:400px;animation:30s ease-in-out infinite driftC;top:120px;left:280px}@keyframes driftA{0%,to{transform:translate(0)}50%{transform:translate(40px,50px)}}@keyframes driftB{0%,to{transform:translate(0)}50%{transform:translate(-50px,40px)}}@keyframes driftC{0%,to{transform:translate(0)}50%{transform:translate(30px,-40px)}}@media (prefers-reduced-motion:reduce){.hero-aurora .blob{animation:none}}.hero>:not(.hero-aurora){z-index:1;position:relative}.hero-wrap{max-width:var(--wrap-hero)}.hero-grid{column-gap:var(--space-10);grid-template-columns:minmax(0,1fr) clamp(200px,23vw,280px);grid-template-areas:"eyebrow eyebrow""headline headline""body portrait";align-items:start;display:grid}.hero-grid>.eyebrow{grid-area:eyebrow}.hero-grid>.headline{grid-area:headline}.hero-body{grid-area:body;align-self:center;min-width:0}.hero-portrait{grid-area:portrait;align-self:center;margin:0}.portrait-frame{background:var(--paper-raised);border:1px solid var(--grid);border-radius:var(--radius-sm);padding:var(--space-2);box-shadow:var(--shadow-lg);position:relative}.portrait-frame:after{content:"";border:1px solid var(--signal);border-radius:var(--radius-sm);z-index:-1;opacity:.5;position:absolute;inset:10px -10px -10px 10px}.portrait-img{border-radius:1px;width:100%;height:auto;display:block}@media (max-width:900px){.hero-grid{row-gap:var(--space-5);grid-template-columns:1fr;grid-template-areas:"eyebrow""headline""portrait""body"}.hero-portrait{align-self:start;width:168px}.hero-grid>.eyebrow,.hero-grid>.headline{margin-bottom:0}}.eyebrow{font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--signal);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin:0 0 var(--space-5);align-items:center;gap:var(--space-3);display:flex}.eyebrow:before{content:"//";color:var(--ink-faint)}h1.headline{font-family:var(--font-mono);font-size:var(--text-hero);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-6)}h1.headline .accent{color:var(--signal)}p.lede{font-size:var(--text-lg);line-height:var(--leading-body);color:var(--ink-soft);max-width:var(--measure);margin:0 0 var(--space-8)}.hero-actions{gap:var(--space-3);margin-bottom:var(--space-10);flex-wrap:wrap;display:flex}.lede strong{color:var(--ink);font-weight:var(--weight-semi)}@keyframes settle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.reveal{opacity:0;animation:settle .28s var(--ease) forwards;animation-delay:calc((var(--reveal-i,0)) * 55ms)}.reveal[data-reveal="1"],.reveal[data-reveal="2"]{--reveal-i:0}.reveal[data-reveal="3"]{--reveal-i:1}.reveal[data-reveal="4"]{--reveal-i:2}.reveal[data-reveal="5"]{--reveal-i:3}@keyframes settle-motion{0%{transform:translateY(10px)}to{transform:none}}.reveal-motion{opacity:1;animation:settle-motion .32s var(--ease) both}.pipeline .stage{opacity:0;animation:settle var(--dur-med) var(--ease) forwards;animation-delay:calc(.36s + var(--stage-i,0) * .11s)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.reveal-motion,.pipeline .stage{opacity:1;animation:none;transform:none}}
