@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/50a3f1070da3c6cc-s.14adbkwhbql9r.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:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/b887d91685b8c137-s.3vw1idf69ly-m.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:italic;font-weight:100 900;font-display:swap;src:url(../media/3c7c6164b2587822-s.p.1kjlm4q41a8i_.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.00ewlnc1znsu7.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:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0bnyh_2yo1emg.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0glcd8n2pdab0.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:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_13538840-module__bN9wfG__className{font-family:Fraunces,Fraunces Fallback}.fraunces_13538840-module__bN9wfG__variable{--font-serif:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/13ae3e01af63c0ce-s.3-5_uhe2g8vfj.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:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/0ee4b8f05dcd9fee-s.27tgfqm6_tedn.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9eba4caf7edd2921-s.2r0cv3f07u_0l.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f6752bd2263820da-s.12_ze2_d4hpxy.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:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/f285987c35230861-s.318-mahh4esyg.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:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b8d1f0a88dfecec3-s.0yot_wy8hf-md.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Tight;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ab57efd000576a30-s.p.2q0khlq77_eaw.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:Inter Tight Fallback;src:local(Arial);ascent-override:100.51%;descent-override:25.03%;line-gap-override:0.0%;size-adjust:96.39%}.inter_tight_22586c4d-module__eflgXG__className{font-family:Inter Tight,Inter Tight Fallback;font-style:normal}.inter_tight_22586c4d-module__eflgXG__variable{--font-sans:"Inter Tight", "Inter Tight Fallback"}
@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-20C4,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:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.31-2bzhq1gx_9.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:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.3xauquyg2sixn.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:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.2taws-qdxmzlf.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:500;font-display:swap;src:url(../media/68757d6cddeff913-s.0htwiiqufp3l9.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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.28xcb7557rbh2.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_9d88f727-module__1NxLqG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_9d88f727-module__1NxLqG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#f6f4ee;--paper-2:#efebe1;--card:#fffdf8;--ink:#15171f;--ink-2:#393c48;--muted:#6b6c75;--rule:#dcd6c8;--rule-2:#c9c2b0;--blue:#2340c4;--blue-soft:#e5e9f7;--red:#d9482b;--red-soft:#f8e4dd;--green:#2e7a57;--glass:#ffffffdb;--glass-strong:#fffdf8f0;--feature:#15171f;--feature-ink:#f6f4ee;--grain:#15171f12;--serif:var(--font-serif), Georgia, "Times New Roman", serif;--sans:var(--font-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--mono:var(--font-mono), ui-monospace, monospace;--wrap:1240px;--pad:clamp(20px, 4.5vw, 64px);--ease:cubic-bezier(.22, 1, .36, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--paper:#111318;--paper-2:#181b22;--card:#1c1f27;--ink:#ebeae4;--ink-2:#c3c3c8;--muted:#8d8f99;--rule:#2b2f39;--rule-2:#3b404c;--blue:#8196ff;--blue-soft:#1e2542;--red:#ff6f4f;--red-soft:#3b231d;--green:#52b78a;--glass:#1a1d25db;--glass-strong:#1c1f27f0;--feature:#232734;--feature-ink:#f1f0ea;--grain:#ffffff06;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#111318;--paper-2:#181b22;--card:#1c1f27;--ink:#ebeae4;--ink-2:#c3c3c8;--muted:#8d8f99;--rule:#2b2f39;--rule-2:#3b404c;--blue:#8196ff;--blue-soft:#1e2542;--red:#ff6f4f;--red-soft:#3b231d;--green:#52b78a;--glass:#1a1d25db;--glass-strong:#1c1f27f0;--feature:#232734;--feature-ink:#f1f0ea;--grain:#ffffff06;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--paper);-webkit-text-size-adjust:100%;overflow-x:clip}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}body{font:400 17px/1.65 var(--sans);color:var(--ink);background:radial-gradient(1200px 700px at 85% -10%, #2340c412, transparent 60%), radial-gradient(900px 600px at -10% 40%, #d9482b0d, transparent 60%), var(--paper);-webkit-font-smoothing:antialiased}body:before{content:"";pointer-events:none;z-index:0;opacity:.35;background-image:radial-gradient(var(--grain) .6px, transparent .6px);background-size:4px 4px;position:fixed;inset:0}main{z-index:1;position:relative}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}ul,ol{list-style:none}::selection{background:var(--blue);color:#fff}:focus-visible{outline:2px solid var(--red);outline-offset:3px;border-radius:3px}.mono{font-family:var(--mono);letter-spacing:.01em}.muted{color:var(--muted)}.wrap{max-width:var(--wrap);padding-left:var(--pad);padding-right:var(--pad);margin:0 auto}.label{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-size:12px}.btn{border:1px solid var(--ink);min-height:48px;color:var(--ink);isolation:isolate;transition:color .35s var(--ease), border-color .35s;background:0 0;border-radius:999px;align-items:center;gap:10px;padding:0 22px;font-size:15.5px;font-weight:500;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--ink);border-radius:inherit;transform-origin:0;transition:transform .45s var(--ease);position:absolute;inset:0;transform:scaleX(0)}.btn:hover{color:var(--paper)}.btn:hover:before{transform:scaleX(1)}.btn.primary,.btn-primary{background:var(--ink);color:var(--paper)}.btn.primary:before,.btn-primary:before{background:var(--red)}.btn.primary:hover,.btn-primary:hover{border-color:var(--red)}.btn.ghost,.btn-ghost{border-color:var(--rule-2)}.btn:disabled{opacity:.4;pointer-events:none}.link{color:var(--blue);transition:background-size .4s var(--ease);background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;padding-bottom:1px;font-weight:500;text-decoration:none}.link:hover{background-size:100% 1px}button.link{font-size:inherit}@keyframes rise{0%{opacity:.2;transform:translateY(.3em)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.rise{animation:1s cubic-bezier(.22,1,.36,1) both rise}.fade{animation:1s both fade}.fade-up{animation:.9s cubic-bezier(.22,1,.36,1) both fade-up}.header{z-index:50;height:66px;padding:0 var(--pad);background:color-mix(in srgb, var(--paper) 84%, transparent);-webkit-backdrop-filter:blur(14px)saturate(140%);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:20px;display:flex;position:fixed;top:0;left:0;right:0}.wordmark{text-align:left;line-height:1.1;display:grid}.wm-name{white-space:nowrap;font-family:var(--serif);letter-spacing:-.01em;font-size:21px;font-style:italic}.wm-sub{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10.5px}.nav{border:1px solid var(--rule);background:var(--glass);box-shadow:0 8px 24px -14px #15171f47, 0 1px 0 var(--glass) inset;border-radius:999px;gap:2px;padding:5px;display:flex}.nav button{color:var(--ink-2);border-radius:999px;padding:8px 15px;font-size:14px;font-weight:500;transition:color .25s;position:relative}.nav-label{z-index:1;position:relative}.nav-pill{background:var(--ink);border-radius:999px;position:absolute;inset:0;box-shadow:0 6px 16px -8px #15171f99}.nav button:hover{color:var(--ink)}.nav button.on{color:var(--paper)}.header-actions{align-items:center;gap:10px;display:flex}.header-cv{color:var(--ink-2);border:1px solid var(--rule);border-radius:6px;padding:7px 10px;font-size:12.5px;text-decoration:none}.header-cv:hover{border-color:var(--ink)}.ask-btn{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.ask-dot{background:var(--red);border-radius:50%;width:7px;height:7px;animation:2s infinite pulse;box-shadow:0 0 #d9482b99}@keyframes pulse{70%{box-shadow:0 0 0 8px #d9482b00}to{box-shadow:0 0 #d9482b00}}.read-progress{background:var(--red);transform-origin:0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.menu{width:38px;height:38px;display:none;position:relative}.menu i{background:var(--ink);height:1.5px;transition:transform .3s var(--ease);position:absolute;left:10px;right:10px}.menu i:first-child{top:15px}.menu i:last-child{top:22px}.menu.x i:first-child{transform:translateY(3.5px)rotate(45deg)}.menu.x i:last-child{transform:translateY(-3.5px)rotate(-45deg)}.lang-toggle{border:1px solid var(--rule);font-family:var(--mono);border-radius:6px;align-items:center;gap:2px;padding:3px;font-size:11.5px;display:inline-flex}.lang-toggle svg{color:var(--muted);margin:0 4px}.lang-toggle button{color:var(--muted);border-radius:4px;padding:4px 7px}.lang-toggle button.on{background:var(--ink);color:var(--paper)}.margin-index{z-index:20;writing-mode:vertical-rl;color:var(--muted);pointer-events:none;align-items:center;gap:16px;font-size:12px;display:flex;position:fixed;top:50%;left:18px;transform:translateY(-50%)rotate(180deg)}.margin-index b{color:var(--red);font-weight:500}.margin-rail{gap:6px;display:flex}.margin-rail i{background:var(--rule-2);width:1.5px;height:14px;transition:background .3s,height .3s}.margin-rail i.on{background:var(--red);height:26px}.title{font-family:var(--serif);letter-spacing:-.025em;font-variation-settings:"opsz" 144;max-width:17ch;font-size:clamp(40px,5.6vw,76px);font-weight:400;line-height:1.04}.title em,.hero-title em{color:var(--blue);font-style:italic}.title-mask{vertical-align:top;margin-bottom:-.08em;padding-bottom:.08em;display:inline-block;overflow:hidden}.title-word{display:inline-block}.section{padding-top:clamp(100px,14vh,160px);padding-bottom:40px;position:relative}.section-head{margin-bottom:56px}.section-num{color:var(--red);align-items:center;gap:12px;margin-bottom:18px;font-size:13px;display:flex}.section-num:after{content:"";background:var(--red);opacity:.6;width:64px;height:1px}.section-lede{max-width:62ch;color:var(--ink-2);margin-top:22px;font-size:19px;line-height:1.6}.hero{max-width:1440px;min-height:100svh;padding:110px var(--pad) 40px;grid-template-rows:1fr auto;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:24px 40px;margin:0 auto;display:grid;position:relative}.eyebrow{color:var(--ink-2);align-items:center;gap:10px;margin-bottom:28px;font-size:12.5px;display:inline-flex}.live{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #2e7a5726}.hero-title{font-family:var(--serif);letter-spacing:-.035em;font-variation-settings:"opsz" 144;font-size:clamp(44px,5.7vw,92px);font-weight:350;line-height:.98}.hl-mask,.hl-line{display:block}.hero-lede{max-width:50ch;color:var(--ink-2);margin-top:30px;font-size:19px;line-height:1.6}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:34px;display:flex}.hero-graph{align-self:stretch;min-height:560px;position:relative}.fig-note{color:var(--muted);margin-top:8px;font-size:11.5px}.hero-graph .fig-note{position:absolute;bottom:0;left:0}.numbers{border-top:1px solid var(--ink);grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.numbers>div{border-right:1px solid var(--rule);flex-direction:column;padding:18px 18px 0 0;display:flex}.numbers>div+div{padding-left:18px}.numbers>div:last-child{border-right:0}.numbers dd{font-family:var(--serif);letter-spacing:-.03em;font-size:clamp(38px,4.4vw,60px);line-height:1}.numbers dt{color:var(--muted);margin-top:6px;font-size:13.5px}.graph{cursor:grab;position:absolute;inset:0 0 26px}.graph:active{cursor:grabbing}.graph canvas{touch-action:pan-y}.graph-poster svg{width:100%;height:100%;overflow:visible}.graph-poster path{fill:none;stroke:var(--ink);stroke-width:.18px}.graph-poster circle{fill:var(--blue)}.graph-poster circle.self{fill:var(--ink)}.graph-poster circle.project{fill:var(--red)}.graph-poster circle.paper{fill:var(--muted)}.graph-poster circle.method{fill:var(--blue)}.graph-poster circle.hidden{fill:#b9b4a8}.graph-poster path.dense{stroke-opacity:.08}.graph-poster path.real{stroke:var(--blue);stroke-opacity:.35}.graph canvas{animation:.9s both fade}.graph.loading,.surface.loading,.globe.loading,.case-stage.loading{background:radial-gradient(circle at 50% 50%, var(--paper-2), transparent 70%)}.graph-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.graph-label{pointer-events:auto;white-space:nowrap;color:var(--ink-2);opacity:0;border-radius:4px;align-items:center;min-height:24px;padding:2px 6px;font-size:12.5px;transition:background .2s,color .2s;display:inline-flex;position:absolute;top:0;left:0;translate:12px -50%}.graph-label.project{font-family:var(--serif);color:var(--ink);font-size:15.5px;font-style:italic}.graph-label.method{translate:calc(-100% - 12px) -50%}.graph-label{transition:background .25s,color .25s,box-shadow .25s}.graph-label[data-state=live]{background:var(--glass);color:var(--red);box-shadow:0 4px 14px -8px #d9482b99}.graph-label.method[data-state=live]{color:var(--blue);box-shadow:0 4px 14px -8px #2340c499}.nn-hud{border:1px solid var(--rule);background:var(--glass);max-width:min(560px,90%);color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;padding:6px 12px 6px 26px;font-size:11.5px;position:absolute;top:8px;left:0;overflow:hidden}.nn-hud:empty{display:none}.nn-hud:before{content:"";background:var(--red);border-radius:50%;width:7px;height:7px;margin-top:-3.5px;animation:1.2s ease-in-out infinite alternate fade;position:absolute;top:50%;left:11px}.nn .graph-legend{top:8px;bottom:auto}.nn.narrow .graph-label{font-size:11px}.nn.narrow .graph-label.project{font-size:11.5px}.graph-label.method{font-family:var(--mono);color:var(--blue);font-size:11px}.graph-label.paper{font-family:var(--mono);color:var(--muted);font-size:10.5px}.graph-label[data-state=on]{background:var(--ink);color:var(--paper)}.graph-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:14px;font-size:11px;display:flex;position:absolute;bottom:0;right:0}.graph-legend span{align-items:center;gap:6px;display:inline-flex}.k{border-radius:50%;width:8px;height:8px;display:inline-block}.k.hidden{background:#b9b4a8}.k.project{background:var(--red)}.k.method{background:var(--blue)}.k.paper{background:#7a7466;border-radius:1px;transform:rotate(45deg)}.profile-grid{grid-template-columns:320px minmax(0,1fr);align-items:start;gap:56px;display:grid}.portrait{border:1px solid var(--rule);background:var(--card);padding:10px 10px 12px}.portrait img{aspect-ratio:254/222;object-fit:cover;filter:saturate(.9)contrast(1.02);width:100%}.portrait figcaption{color:var(--muted);margin-top:10px;font-size:11.5px}.profile-text p{color:var(--ink-2);max-width:62ch;margin-bottom:18px;font-size:18.5px;line-height:1.7}.dropcap:first-letter{float:left;font-family:var(--serif);color:var(--red);padding:6px 10px 0 0;font-size:4.2em;line-height:.82}.questions{border-top:1px solid var(--ink);margin-top:72px}.questions .label{margin-top:16px}.question{border-bottom:1px solid var(--rule);text-align:left;width:100%;transition:padding .4s var(--ease);grid-template-columns:70px minmax(0,1fr) auto;align-items:baseline;gap:18px;padding:22px 0;display:grid}.q-n{color:var(--red);font-size:14px}.q-text{font-family:var(--serif);letter-spacing:-.015em;font-size:clamp(22px,2.6vw,34px);line-height:1.2}.q-go{color:var(--muted);opacity:0;transition:opacity .3s, transform .4s var(--ease);font-size:12px;transform:translate(-10px)}.question:hover{padding-left:12px}.question:hover .q-go{opacity:1;color:var(--blue);transform:none}.profile-facts{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:56px;margin-top:64px;display:grid}.edu li{border-bottom:1px solid var(--rule);gap:2px;padding:14px 0;display:grid}.edu b{font-weight:600}.edu span{font-size:15px}.edu .note{color:var(--muted);margin-top:4px;font-size:14px;font-style:italic}.langs li{border-bottom:1px solid var(--rule);grid-template-columns:120px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;font-size:15px;display:grid}.meter{background:var(--paper-2);height:3px;position:relative;overflow:hidden}.meter i{background:var(--blue);position:absolute;inset:0 auto 0 0}.langs .mono{font-size:12px}.figure{background:var(--card);border:1px solid var(--rule);padding:14px 14px 18px}.surface{cursor:default;height:min(560px,62vh);position:relative}.axis{color:var(--muted);pointer-events:none;font-size:11.5px;position:absolute}.ax-x{bottom:14%;left:24%}.ax-z{bottom:26%;right:8%}.ax-y{top:14%;left:14%}.figure-controls{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);flex-wrap:wrap;align-items:center;gap:14px 28px;padding:14px 4px;display:flex}.figure-controls label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;flex:280px;align-items:center;gap:14px;font-size:12px;display:flex}.figure-readout{color:var(--red);font-size:12.5px}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--red) var(--p,50%), var(--rule-2) var(--p,50%));flex:1;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--card);border:1.5px solid var(--ink);cursor:grab;border-radius:50%;width:18px;height:18px}input[type=range]::-moz-range-thumb{background:var(--card);border:1.5px solid var(--ink);border-radius:50%;width:16px;height:16px}figcaption{color:var(--muted);max-width:90ch;padding:14px 4px 0;font-size:14px;line-height:1.55}figcaption b{color:var(--ink);margin-right:4px;font-weight:600}.skill-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px;display:grid}.skill-cell.wide{grid-column:span 2}.skill-cell>.skill-card{height:100%}.skill-card{border:1px solid var(--rule);background:var(--paper-2);border-radius:14px;flex-direction:column;padding:26px 26px 28px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s;display:flex;position:relative}.skill-card:hover{border-color:var(--ink);transform:translateY(-4px);box-shadow:0 18px 40px -24px #15171f73}.skill-top{justify-content:space-between;align-items:center;display:flex}.skill-icon{width:44px;height:44px;color:var(--blue);background:color-mix(in srgb, var(--blue) 9%, transparent);border-radius:12px;place-items:center;display:grid}.skill-count{color:var(--muted);font-size:11.5px}.skill-card h3{font-family:var(--serif);letter-spacing:-.01em;margin-top:22px;font-size:27px;font-weight:400;line-height:1.15}.skill-note{color:var(--ink-2);margin-top:6px;font-size:15px}.skill-chips{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.skill-chips li{border:1px solid var(--rule-2);background:var(--paper);color:var(--ink);border-radius:999px;padding:8px 12px;font-size:14px;line-height:1}.skill-card.featured{background:var(--feature);border-color:var(--feature);color:var(--feature-ink)}.skill-card.featured .skill-icon{color:#fff;background:#ffffff1a}.skill-card.featured .skill-count,.skill-card.featured .skill-note{color:#f6f4eead}.skill-card.featured h3{font-size:34px}.skill-card.featured h3:after{content:"";background:var(--red);width:44px;height:2px;margin-top:14px;display:block}.skill-card.featured .skill-chips li{color:var(--feature-ink);background:#ffffff0f;border-color:#ffffff2e;font-size:15px}.skill-flow{letter-spacing:.02em;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:30px;font-size:12px;display:flex}.skill-flow li{color:#fff;isolation:isolate;border:1px solid #ffffff29;border-radius:8px;padding:7px 11px}.skill-flow li:after{content:"";z-index:-1;background:var(--red);opacity:0;animation:2.25s ease-in-out infinite flow-step;animation-delay:inherit;border-radius:8px;position:absolute;inset:-1px}.skill-flow li{position:relative}.skill-flow li+li{margin-left:22px}.skill-flow li+li:before{content:"→";text-align:center;color:#f6f4ee66;background:0 0;width:22px;position:absolute;left:-22px}@keyframes flow-step{0%,30%,to{opacity:0}12%{opacity:1}}.skill-card.featured:hover{box-shadow:0 22px 50px -24px #15171fb3}.methods-figure{margin-top:96px}.figure-intro{max-width:64ch;margin-bottom:26px}.figure-intro p:last-child{color:var(--ink-2);margin-top:10px;font-size:17.5px;line-height:1.6}.cases-section{padding-bottom:0}.case-index{border-top:1px solid var(--ink);grid-template-columns:repeat(2,minmax(0,1fr));gap:0 40px;margin-top:34px;display:grid}.case-index a{border-bottom:1px solid var(--rule);font-family:var(--serif);transition:color .2s, padding .35s var(--ease);padding:13px 0;font-size:18px;text-decoration:none}.case-index a .mono{color:var(--red);margin-right:10px;font-size:12px}.case-index a:hover{color:var(--blue);padding-left:8px}.case{border-top:1px solid var(--rule);height:230vh;position:relative}.case-sticky{max-width:1440px;height:calc(100vh - 66px);padding:28px var(--pad);grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center;gap:48px;margin:0 auto;display:grid;position:sticky;top:66px}.case-text{max-height:100%;overflow:hidden}.case-count{color:var(--red);margin-bottom:16px;font-size:12px}.case-text h3{font-family:var(--serif);letter-spacing:-.02em;font-size:clamp(28px,3vw,44px);font-weight:400;line-height:1.08}.case-kicker{color:var(--ink-2);margin-top:16px;font-size:16.5px;line-height:1.6}.case-metric{align-items:baseline;gap:10px;margin-top:14px;display:flex}.case-metric b{font-family:var(--serif);color:var(--red);letter-spacing:-.02em;font-size:40px;font-weight:400}.case-metric .mono{color:var(--muted);font-size:12px}.case-steps{border-top:1px solid var(--ink);margin-top:22px}.case-steps li{border-bottom:1px solid var(--rule);padding:12px 0}.case-step-label{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);align-items:center;gap:10px;font-size:12.5px;transition:color .3s;display:flex}.case-step-label i{border:1px solid var(--rule-2);border-radius:50%;place-items:center;width:22px;height:22px;font-size:11px;font-style:normal;transition:all .3s;display:grid}.case-steps li.on .case-step-label{color:var(--ink)}.case-steps li.on .case-step-label i{background:var(--red);border-color:var(--red);color:#fff}.case-steps li.done .case-step-label i{background:var(--ink);border-color:var(--ink);color:var(--paper)}.case-step-body{color:var(--ink-2);font-size:15.5px;line-height:1.6;overflow:hidden}.case-step-body p,.case-step-body ul{padding-top:10px}.case-step-body li{margin-bottom:6px;padding-left:18px;position:relative}.case-step-body li:before{content:"";background:var(--red);width:9px;height:1px;position:absolute;top:.72em;left:0}.case-links{flex-wrap:wrap;gap:16px;margin-top:10px;display:flex}.case-chips{flex-wrap:wrap;gap:6px;margin-top:18px;display:flex}.case-chips span{font-family:var(--mono);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:999px;padding:4px 9px;font-size:11.5px}.case-progress{background:var(--rule);height:2px;margin-top:18px}.case-progress i{background:var(--red);height:100%;display:block}.case-figure{flex-direction:column;height:100%;min-height:0;display:flex}.case-stage{border:1px solid var(--rule);background:linear-gradient(180deg, var(--card), var(--paper-2));cursor:default;flex:1;min-height:0;position:relative}.case-caption{color:var(--muted);padding-top:10px;font-size:13px}.case-caption b{color:var(--ink);font-weight:600}.callouts{pointer-events:none;position:absolute;inset:0;overflow:hidden}.callout{opacity:0;transition:opacity .6s var(--ease);position:absolute;top:0;left:0}.callout.in{opacity:1}.callout-dot{border:1.5px solid var(--ink);background:var(--card);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:-4px}.callout-line{background:var(--ink);transform-origin:0 0;width:34px;height:1px;position:absolute;top:0;left:0;transform:rotate(-35deg)}.callout-text{white-space:nowrap;background:var(--glass-strong);border-left:2px solid var(--red);padding:5px 9px;display:grid;position:absolute;top:-42px;left:28px}.callout-text b{font-family:var(--serif);font-size:14.5px;font-weight:500}.callout-text small{font-family:var(--mono);color:var(--muted);font-size:10.5px}.lab{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:24px;margin-top:52px;display:grid}.lab-list-wrap{position:sticky;top:92px}.lab-list{border:1px solid var(--rule);background:var(--glass);border-radius:18px;gap:4px;padding:8px;display:grid;box-shadow:0 18px 40px -30px #15171f66}.lab-tab{text-align:left;border-radius:12px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;transition:background .2s;display:grid;position:relative}.lab-tab:hover:not(.on){background:var(--paper-2)}.lab-tab-bg{background:color-mix(in srgb, var(--blue) 8%, var(--card));border:1px solid color-mix(in srgb, var(--blue) 30%, transparent);border-radius:12px;position:absolute;inset:0}.lab-tab>:not(.lab-tab-bg){position:relative}.lab-icon{border:1px solid var(--rule);background:var(--paper);width:38px;height:38px;color:var(--ink-2);border-radius:50%;place-items:center;transition:all .25s;display:grid}.lab-tab.on .lab-icon{background:var(--blue);border-color:var(--blue);color:#fff}.lab-tab-text{gap:2px;min-width:0;display:grid}.lab-tab-text b{color:var(--ink);font-size:14.5px;font-weight:600;line-height:1.25}.lab-tab-text span{color:var(--muted);font-size:12.5px;line-height:1.35}.lab-metric{background:color-mix(in srgb, var(--red) 10%, transparent);color:var(--red);border-radius:999px;padding:3px 8px;font-size:11.5px}.lab-metric.ghost{color:var(--rule-2);background:0 0}.lab-viewer{border:1px solid var(--rule);background:var(--card);border-radius:20px;overflow:hidden;box-shadow:0 30px 60px -40px #15171f73}.viewer-bar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-size:13.5px;display:flex}.viewer-title{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:8px;min-width:0;display:inline-flex;overflow:hidden}.viewer-bar .muted{color:var(--muted);white-space:nowrap;font-size:12px}@media (max-width:640px){.viewer-title .muted{display:none}}.lab-stage{height:clamp(340px,46vh,470px)}.lab-stage .case-stage{border:0;height:100%}.case-stage.interactive{cursor:grab;touch-action:pan-y}.case-stage.interactive:active{cursor:grabbing}.stage-hint{border:1px solid var(--rule);background:var(--glass);color:var(--ink-2);pointer-events:none;border-radius:999px;padding:6px 12px;font-size:11.5px;transition:opacity .4s;position:absolute;bottom:14px;left:50%;translate:-50%}.stage-hint.gone{opacity:0}.lab-detail{border-top:1px solid var(--rule);padding:28px 30px 30px}.ld-head{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;display:grid}.ld-context{letter-spacing:.06em;text-transform:uppercase;color:var(--blue);font-size:11.5px}.ld-head h3{font-family:var(--serif);letter-spacing:-.015em;margin-top:8px;font-size:clamp(28px,2.6vw,38px);font-weight:400;line-height:1.08}.ld-blurb{max-width:62ch;color:var(--ink-2);margin-top:10px;font-size:16.5px;line-height:1.6}.ld-metric{border:1px solid color-mix(in srgb, var(--red) 30%, transparent);background:color-mix(in srgb, var(--red) 6%, var(--card));text-align:center;border-radius:14px;justify-items:center;min-width:150px;padding:16px 20px;display:grid}.ld-metric b{font-family:var(--serif);color:var(--red);font-size:42px;font-weight:400;line-height:1}.ld-metric span{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:11px}.ld-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr) minmax(0,.85fr);align-items:start;gap:12px;margin-top:24px;display:grid}.ld-block{border:1px solid var(--rule);background:var(--paper);color:var(--ink-2);border-radius:14px;padding:16px 18px;font-size:14.5px;line-height:1.6}.ld-block.outcome{background:color-mix(in srgb, #1f9e6a 7%, var(--card));border-color:#1f9e6a47}.ld-label{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:8px;font-size:11px}.ld-block ul{gap:6px;display:grid}.ld-block li{padding-left:14px;position:relative}.ld-block li:before{content:"";background:var(--blue);border-radius:2px;width:6px;height:6px;position:absolute;top:.62em;left:0}.ld-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.ld-chips{flex-wrap:wrap;gap:6px;display:flex}.ld-chips span{font-family:var(--mono);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:999px;padding:5px 10px;font-size:12px}.ld-links{gap:8px;display:flex}.ld-links a{background:var(--ink);color:var(--paper);border-radius:999px;padding:7px 14px;font-size:13.5px;font-weight:500;text-decoration:none}@media (max-width:1100px){.lab{grid-template-columns:minmax(0,1fr)}.lab-list-wrap{position:static}.lab-list{scroll-snap-type:x mandatory;display:flex;overflow-x:auto}.lab-tab{scroll-snap-align:start;flex:0 0 260px}.ld-grid{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.ld-head{grid-template-columns:minmax(0,1fr)}.ld-metric{text-align:left;justify-items:start}.lab-detail{padding:22px 18px 24px}}.journey-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:56px;display:grid}.journey-globe{position:sticky;top:100px}.globe{cursor:default;height:min(600px,68vh);position:relative}.globe.interactive{cursor:grab;touch-action:pan-y}.globe.interactive:active{cursor:grabbing}.globe-stage{position:relative}.globe-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.globe-label{border:1px solid color-mix(in srgb, var(--c) 35%, transparent);background:var(--glass);color:var(--ink);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:12.5px;font-weight:500;transition:background .25s,color .25s,box-shadow .25s;position:absolute;top:0;left:0;translate:-50% calc(-100% - 6px);box-shadow:0 6px 16px -10px #15171f80}.globe-label:hover,.globe-label.hover{border-color:var(--c)}.globe-label.on{background:var(--c);border-color:var(--c);color:#fff;box-shadow:0 8px 22px -8px var(--c)}.country-chips{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.country-chip{border:1px solid var(--rule);background:var(--glass);color:var(--ink-2);border-radius:999px;align-items:center;gap:8px;padding:7px 12px;font-size:13.5px;font-weight:500;transition:all .25s;display:inline-flex}.country-chip i{background:var(--c);border-radius:50%;width:9px;height:9px}.country-chip .mono{color:var(--muted);font-size:11px}.country-chip:hover{border-color:var(--c);color:var(--ink)}.country-chip.on{background:var(--c);border-color:var(--c);color:#fff}.country-chip.on i{background:#fff}.country-chip.on .mono{color:var(--glass)}.play-btn{background:var(--ink);color:var(--paper);border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:7px 14px;font-size:13.5px;font-weight:500;display:inline-flex}.play-btn span{font-size:10px}.place-card{border:1px solid var(--rule);border-top:3px solid var(--c);background:var(--glass-strong);pointer-events:none;border-radius:14px;width:min(330px,78%);padding:14px 16px 12px;position:absolute;bottom:18px;left:0;box-shadow:0 20px 44px -26px #15171f8c}.place-where{color:var(--ink-2);align-items:center;gap:8px;font-size:12px;display:flex}.place-code{background:var(--c);color:#fff;border-radius:4px;padding:2px 6px;font-size:10.5px}.place-card ul{gap:8px;margin-top:8px;display:grid}.place-card li{border-left:2px solid var(--rule);opacity:.7;gap:1px;padding-left:10px;transition:opacity .3s,border-color .3s;display:grid}.place-card li.on{opacity:1;border-left-color:var(--c)}.place-kind{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:10.5px}.place-card b{font-family:var(--serif);font-size:16.5px;font-weight:500;line-height:1.25}.place-card li>span:last-child{color:var(--ink-2);font-size:13px;line-height:1.45}.globe-city{background:var(--ink);color:var(--paper);border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.stops{border-top:1px solid var(--ink)}.stop{border-bottom:1px solid var(--rule);text-align:left;width:100%;transition:padding .4s var(--ease), background .3s;grid-template-columns:112px minmax(0,1fr);gap:16px;padding:18px 0;display:grid}.stop-when{color:var(--muted);align-content:start;gap:4px;padding-top:4px;font-size:12px;display:grid}.stop-when em{color:color-mix(in srgb, var(--c) 72%, var(--ink));font-size:10.5px;font-style:normal}.stop-body{gap:3px;display:grid}.stop-body b{font-family:var(--serif);font-size:21px;font-weight:400;line-height:1.2}.stop-body span{color:var(--muted);font-size:14.5px}.stop.on{background:linear-gradient(90deg, color-mix(in srgb, var(--c) 12%, transparent), transparent 70%);box-shadow:inset 3px 0 0 var(--c);padding-left:12px}.stop.on .stop-when{color:color-mix(in srgb, var(--c) 72%, var(--ink))}.career-figure{border:1px solid var(--rule);border-radius:18px;position:relative;overflow:hidden}.career-map{height:min(460px,56vh);position:relative}.career-map.loading{background:radial-gradient(circle at 60% 50%, var(--paper-2), var(--paper) 70%)}.flight-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.flight-label{border:1px solid color-mix(in srgb, var(--c) 35%, transparent);background:var(--glass);white-space:nowrap;color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:11.5px;font-weight:500;transition:opacity .3s,background .3s,color .3s;position:absolute;top:0;left:0;translate:-50% calc(-100% - 8px)}.flight-label[data-state=on]{background:var(--c);border-color:var(--c);color:#fff}.career-legend{background:var(--glass);color:var(--ink-2);border-radius:999px;gap:14px;padding:5px 10px;font-size:11px;display:flex;position:absolute;top:12px;right:14px}.career-legend span{align-items:center;gap:6px;display:inline-flex}.career-legend i{border-top:2px solid var(--ink);width:18px;height:0}.career-legend i.dashed{border-top:2px dashed var(--red)}.career-chip{border-left:3px solid var(--c);background:var(--glass-strong);border-radius:12px;gap:2px;max-width:calc(100% - 24px);padding:10px 14px;display:grid;position:absolute;bottom:12px;left:12px;box-shadow:0 14px 30px -20px #15171f80}.career-chip .mono{color:var(--muted);font-size:11px}.career-chip b{font-family:var(--serif);font-size:17px;font-weight:500;line-height:1.25}.refs{border-top:1px solid var(--ink);max-width:980px}.ref{border-bottom:1px solid var(--rule);grid-template-columns:44px minmax(0,1fr);gap:8px;padding:20px 0;display:grid}.ref-n{color:var(--muted);padding-top:3px;font-size:13px}.ref-cite{color:var(--ink-2);font-size:16px;line-height:1.6}.ref-cite b,.ref-title{color:var(--ink);font-weight:600}.ref-venue{font-style:italic}.ref-foot{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:8px;font-size:13.5px;display:flex}.ref-tag{font-family:var(--mono);border:1px solid var(--rule-2);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px}.ref-tag.first{border-color:var(--red);color:var(--red)}.ref-foot a,.ref-foot button{color:var(--blue);font-size:13.5px;text-decoration:none}.ref-foot a:hover,.ref-foot button:hover{text-decoration:underline}.talks{max-width:980px;margin-top:44px}.talks h3{margin-bottom:8px}.talks li{border-bottom:1px solid var(--rule);color:var(--ink-2);grid-template-columns:96px minmax(0,1fr);gap:12px;padding:9px 0;font-size:15px;display:grid}.talks li .mono{color:var(--muted);padding-top:2px;font-size:12px}.contact{padding-bottom:0}.contact-list{border-top:1px solid var(--ink);max-width:640px}.contact-list>div{border-bottom:1px solid var(--rule);grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:12px;padding:12px 0;display:grid}.contact-list dt{color:var(--muted);font-size:12px}.contact-list dd{color:var(--ink);flex-wrap:wrap;align-items:baseline;gap:12px;font-size:16px;display:flex}.contact-list a{color:var(--ink);border-bottom:1px solid var(--rule-2);text-decoration:none}.contact-list a:hover{color:var(--blue);border-color:var(--blue)}.contact-copy{font-family:var(--mono);border:1px solid var(--rule-2);color:var(--ink-2);border-radius:999px;padding:2px 8px;font-size:11px}.contact-copy:hover{border-color:var(--ink)}.contact-send{margin-top:28px}.colophon{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;margin-top:80px;padding:22px 0 110px;font-size:12px;display:flex}.assist-tab{z-index:60;background:var(--ink);color:var(--paper);transition:transform .4s var(--ease), opacity .3s;border-radius:999px;align-items:center;gap:12px;padding:12px 20px 12px 14px;font-size:14.5px;font-weight:500;display:inline-flex;position:fixed;bottom:22px;right:22px;box-shadow:0 14px 34px -14px #15171f8c}.assist-tab:hover{transform:translateY(-3px)}.assist-tab.hide{opacity:0;pointer-events:none}.assist-glyph{width:22px;height:22px;position:relative}.assist-glyph i{background:var(--paper);border-radius:50%;width:6px;height:6px;position:absolute}.assist-glyph i:first-child{background:var(--red);animation:3s linear infinite orbitA;top:8px;left:0}.assist-glyph i:nth-child(2){top:0;left:8px}.assist-glyph i:nth-child(3){background:#8fa2ff;top:14px;left:16px}@keyframes orbitA{50%{transform:translate(8px,6px)}}.assist-scrim{z-index:70;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#15171f47;position:fixed;inset:0}.assist{z-index:71;background:var(--paper);border-left:1px solid var(--ink);flex-direction:column;width:min(480px,100vw);display:flex;position:fixed;top:0;bottom:0;right:0;box-shadow:-30px 0 60px -30px #15171f66}.assist-head{border-bottom:1px solid var(--rule);justify-content:space-between;gap:16px;padding:26px 26px 20px;display:flex}.assist-head .label{color:var(--red);margin-bottom:6px}.assist-head h2{font-family:var(--serif);letter-spacing:-.02em;font-size:30px;font-weight:400}.assist-note{color:var(--muted);margin-top:6px;font-size:13.5px}.assist-close{border:1px solid var(--rule);border-radius:50%;flex:none;width:38px;height:38px}.assist-close:hover{border-color:var(--ink)}.assist-list{flex-direction:column;flex:1;gap:18px;padding:18px 26px;display:flex;overflow-y:auto}.assist-suggest{border-top:1px solid var(--ink);display:grid}.assist-suggest button{text-align:left;border-bottom:1px solid var(--rule);font-family:var(--serif);transition:padding .35s var(--ease), color .2s;padding:13px 0;font-size:18px}.assist-suggest button .mono{color:var(--red);margin-right:10px;font-size:11px}.assist-suggest button:hover{color:var(--blue);padding-left:8px}.turn-q{max-width:85%;font-family:var(--serif);text-align:right;align-self:flex-end;font-size:19px;font-style:italic}.turn.user{justify-content:flex-end;display:flex}.turn-a{color:var(--ink-2);border-left:2px solid var(--blue);padding-left:14px;font-size:15.5px;line-height:1.62}.turn-a p+p,.turn-a ul{margin-top:8px}.turn-a li{padding-left:14px;position:relative}.turn-a li:before{content:"–";color:var(--red);position:absolute;left:0}.turn-a strong{color:var(--ink)}.turn-a a{color:var(--blue);word-break:break-all}.turn-source{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:8px;padding-left:16px;font-size:11.5px;display:flex}.turn-source button{color:var(--red);font-size:11.5px}.thinking{color:var(--muted);font-size:13px}.thinking span{animation:1s infinite blink}@keyframes blink{50%{opacity:.2}}.assist-input{border-top:1px solid var(--rule);align-items:flex-end;gap:10px;padding:16px 26px 22px;display:flex}.assist-input textarea{resize:none;border:1px solid var(--rule-2);background:var(--card);border-radius:8px;flex:1;padding:10px 12px;font-size:15px}.assist-input textarea:focus{border-color:var(--ink);outline:none}.assist-input button{background:var(--ink);height:44px;color:var(--paper);border-radius:999px;padding:0 18px;font-weight:500}.assist-input button:disabled{opacity:.35}.hello-backdrop{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#15171f59;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.hello{background:var(--paper);border:1px solid var(--ink);width:min(640px,100%);max-height:calc(100vh - 40px);padding:30px;position:relative;overflow-y:auto}.hello-close{border:1px solid var(--rule);border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:16px;right:16px}.hello-host{align-items:center;gap:14px;margin:0 40px 20px 0;display:flex}.hello-icon{background:var(--ink);width:52px;height:52px;color:var(--paper);border-radius:50%;flex:none;place-items:center;display:grid!important}.hello-host p{font-family:var(--serif);gap:2px;font-size:19px;display:grid}.hello-host b{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-size:11px;font-weight:400}.hello-topics{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.hello-topics button{border:1px solid var(--rule-2);border-radius:999px;padding:7px 13px;font-size:14px}.hello-topics button.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hello-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.hello label{color:var(--muted);gap:6px;font-size:12.5px;display:grid}.hello-msg{margin-top:12px}.hello-msg span{justify-content:space-between;display:flex}.hello-msg em{font-style:normal;font-family:var(--mono);font-size:11px}.hello input,.hello textarea{border:1px solid var(--rule-2);background:var(--card);color:var(--ink);border-radius:6px;padding:10px 12px;font-size:15px}.hello input:focus,.hello textarea:focus{border-color:var(--ink);outline:none}.hello-hp{position:absolute;left:-9999px}.hello-error{color:var(--red);margin-top:10px;font-size:14px}.hello-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;display:flex}.hello-link{color:var(--muted);align-items:center;gap:8px;font-size:14px;text-decoration:none;display:inline-flex}.hello-link:hover{color:var(--blue)}.hello-fallback{grid-template-columns:1fr 1fr;gap:10px;display:grid}.hello-opt{border:1px solid var(--rule);background:var(--card);text-align:left;gap:2px;padding:16px;text-decoration:none;display:grid}.hello-opt:hover{border-color:var(--ink)}.hello-opt-ico{background:var(--paper-2);border-radius:50%;place-items:center;width:32px;height:32px;margin-bottom:6px;font-weight:600;display:grid}.hello-opt small{color:var(--muted);font-size:12.5px}.hello-back{color:var(--muted);grid-column:1/-1;justify-self:start;font-size:14px}.hello-done{text-align:center;justify-items:center;gap:10px;padding:12px 0;display:grid}.hello-check{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:64px;height:64px;display:grid}.hello-done h3{font-family:var(--serif);font-size:30px;font-weight:400}@media (max-width:1100px){.nav button{padding:8px 10px;font-size:13.5px}}@media (max-width:960px){.menu{display:block}.nav{padding:12px var(--pad) 20px;background:var(--paper);box-shadow:none;border:0;border-bottom:1px solid var(--ink);opacity:0;visibility:hidden;transition:all .3s var(--ease);border-radius:0;flex-direction:column;gap:4px;position:absolute;top:66px;left:0;right:0;transform:translateY(-8px)}.nav.open{opacity:1;visibility:visible;transform:none}.nav button{text-align:left;padding:10px 14px;font-size:18px}.header-cv,.margin-index{display:none}.hero{grid-template-columns:1fr;padding-top:100px}.hero-graph{min-height:460px}.profile-grid,.profile-facts,.journey-grid{grid-template-columns:1fr;gap:32px}.portrait{max-width:320px}.journey-globe{position:relative;top:0}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case{height:260vh}.case-sticky{grid-template-rows:minmax(0,.9fr) minmax(0,1.1fr);grid-template-columns:1fr;gap:14px;padding-top:14px;padding-bottom:14px}.case-figure{order:-1}.case-text{overflow-y:auto}.case-text h3{font-size:24px}.case-kicker,.case-chips,.case-metric{display:none}}@media (max-width:640px){body{font-size:16px}.ask-btn{padding:8px 12px}.wm-name{font-size:18px}.wm-sub,.lang-toggle svg{display:none}.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.numbers>div{border-right:0;border-bottom:1px solid var(--rule);padding:14px 10px 14px 0!important}.skill-grid,.case-index,.hello-fields,.hello-fallback{grid-template-columns:1fr}.question{grid-template-columns:44px minmax(0,1fr)}.q-go{display:none}.langs li{grid-template-columns:100px minmax(0,1fr)}.langs li .mono{grid-column:2}.stop{grid-template-columns:1fr;gap:4px}.ref{grid-template-columns:1fr}.assist-tab span:last-child{display:none}.assist-tab{padding:14px}.hello{padding:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (max-width:640px){.skill-cell.wide{grid-column:auto}.skill-card.featured h3{font-size:28px}}@media (min-width:1000px){.hero-graph{z-index:0;width:100vw;min-height:0;position:absolute;top:66px;bottom:196px;left:calc(50% - 50vw)}.hero-graph .graph{inset:0}.hero-text{z-index:1;pointer-events:none;position:relative}.hero-text>*{pointer-events:auto}.numbers{z-index:1;position:relative}.hero-graph .fig-note,.hero-graph .nn .graph-legend{left:auto;right:max(var(--pad), calc((100vw - 1440px) / 2 + var(--pad)))}.hero-graph .fig-note{bottom:0}.hero-graph .nn .graph-legend{top:auto;bottom:26px}.hero-graph .nn-hud{top:4px;left:auto;right:max(var(--pad), calc((100vw - 1440px) / 2 + var(--pad)))}.hero-graph .graph-poster svg{width:min(50vw,800px);height:100%;position:absolute;top:0;left:calc(50% + min(21vw,340px) - min(25vw,400px))}}.theme-toggle{border:1px solid var(--rule);width:36px;height:36px;color:var(--ink-2);border-radius:999px;place-items:center;transition:color .2s,border-color .2s,background .2s;display:inline-grid}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle svg{width:17px;height:17px}.colophon-links{gap:18px;display:inline-flex}.colophon-links a,.site-footer a{color:inherit;text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--rule-2);text-decoration-color:var(--rule-2)}.colophon-links a:hover,.site-footer a:hover{color:var(--ink)}.writing-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);display:grid}.article-card{color:inherit;gap:10px;text-decoration:none;display:grid}.article-card img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--rule);background:var(--card);width:100%;transition:transform .5s var(--ease);border-radius:14px}.article-card:hover img{transform:translateY(-3px)}.article-card b{font:500 clamp(21px, 2.2vw, 26px) / 1.25 var(--serif);letter-spacing:-.01em}.article-card.lead b{font-size:clamp(26px,3vw,34px)}.article-card:hover b{color:var(--blue)}.ac-meta{color:var(--muted);font-size:12px}.ac-sub{color:var(--ink-2);line-height:1.55}.writing-list{border-top:1px solid var(--rule);margin:0;padding:0;list-style:none}.writing-list li{border-bottom:1px solid var(--rule)}.writing-list a{color:inherit;gap:4px;padding:18px 0;text-decoration:none;display:grid}.writing-list b{font:500 19px/1.35 var(--serif)}.writing-list a:hover b{color:var(--blue)}.writing-list span{color:var(--muted);font-size:12px}.writing-all{margin-top:36px}.page-header .page-nav{gap:26px;font-size:15px;display:flex}.page-nav a{color:var(--ink-2);text-decoration:none}.page-nav a:hover{color:var(--ink)}.page{min-height:70vh;padding-top:110px;padding-bottom:60px}.page-back{color:var(--muted);margin-bottom:36px;font-size:13px;text-decoration:none;display:inline-block}.page-back:hover{color:var(--ink)}.page-head{margin-bottom:52px}.page-title{font:400 clamp(36px, 5.4vw, 64px) / 1.06 var(--serif);letter-spacing:-.02em;max-width:22ch}.article-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:48px 36px;margin:0;padding:0;list-style:none;display:grid}.article{max-width:720px;margin:0 auto}.article-head{margin-bottom:44px}.article-head .page-title{margin-top:14px}.article-sub{font:italic 400 clamp(19px, 2vw, 23px) / 1.45 var(--serif);color:var(--ink-2);margin-top:18px}.article-by{color:var(--muted);margin-top:22px;font-size:13px}.prose{color:var(--ink);font-size:18.5px;line-height:1.75}.prose>*+*{margin-top:1.1em}.prose h2{font:500 clamp(24px, 2.6vw, 30px) / 1.25 var(--serif);letter-spacing:-.01em;margin-top:2em}.prose h3{font:600 19px/1.35 var(--sans);margin-top:1.6em}.prose a{color:var(--blue);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.prose ul,.prose ol{padding-left:1.3em}.prose li+li{margin-top:.4em}.prose strong{font-weight:600}.prose em{font-style:italic}.prose blockquote{border-left:3px solid var(--red);color:var(--ink-2);padding-left:18px}.prose figure{margin:2em 0 0}.prose figure img{border:1px solid var(--rule);background:#fff;border-radius:12px;width:100%;height:auto}.prose figure+p>em:only-child{color:var(--muted);margin-top:-.4em;font-size:14.5px;display:block}.prose code{font:.88em var(--mono);background:var(--paper-2);border-radius:4px;padding:.1em .35em}.prose table{border-collapse:collapse;width:100%;font-size:15.5px;display:block;overflow-x:auto}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:8px 10px}.prose hr{border:0;border-top:1px solid var(--rule);margin:2.4em 0}.legal .prose{font-size:17px}.more-articles{border-top:1px solid var(--rule);max-width:720px;margin:80px auto 0;padding-top:28px}.more-articles ul{margin:0;padding:0;list-style:none}.more-articles a{border-bottom:1px solid var(--rule);color:inherit;justify-content:space-between;gap:16px;padding:14px 0;text-decoration:none;display:flex}.more-articles b{font:500 18px/1.35 var(--serif)}.more-articles a:hover b{color:var(--blue)}.more-articles span{color:var(--muted);white-space:nowrap;font-size:12px}.site-footer{border-top:1px solid var(--rule);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:22px;padding-bottom:40px;font-size:12px;display:flex}.site-footer nav{gap:18px;display:flex}@media (max-width:860px){.writing-grid{grid-template-columns:1fr}}@media (max-width:640px){.page-header .page-nav{gap:16px;font-size:14px}.page-header .wm-sub{display:none}.prose{font-size:17px}}.page-header .wordmark{color:inherit;text-decoration:none}@media (max-width:420px){.page-header{gap:10px}.page-header .page-nav{gap:12px;font-size:13.5px}.page-header .wm-name{font-size:17px}}.lab-tab{grid-template-columns:32px minmax(0,1fr) auto;padding:9px 10px}.lab-icon{width:32px;height:32px}.lab-tab-text span{display:none}.lab-tab.on .lab-tab-text span{display:block}@media (max-width:400px){.header-cv{display:none}.header-actions{gap:6px}}.skill-count,.lab-tab.on .lab-tab-text span{color:var(--ink-2)}.page-nav a,.page-back,.site-footer a,.colophon-links a,.ref-foot a,.ref-foot button,.wordmark{align-items:center;min-height:32px;display:inline-flex}.page-header .wordmark,.header .wordmark{align-content:center;min-height:40px;display:grid}.lab-metric{color:color-mix(in srgb, var(--red) 78%, var(--ink))}@media (max-width:400px){.ask-btn{display:none}.header{gap:10px}}.contact-list dd{flex-wrap:wrap;min-width:0}.contact-list dd a{overflow-wrap:anywhere;min-width:0}.intro{z-index:200;color:var(--ink);place-items:center;animation:.4s 7s forwards intro-failsafe;display:grid;position:fixed;inset:0}.intro-skip .intro{display:none}.intro-running body,html.intro-running{overflow:hidden}@keyframes intro-failsafe{to{opacity:0;visibility:hidden}}.intro-panel{background:var(--paper);height:50.5%;transition:transform 1s cubic-bezier(.76,0,.24,1);position:absolute;left:0;right:0}.intro-panel.top{border-bottom:1px solid #0000;top:0}.intro-panel.bottom{bottom:0}.intro--leave .intro-panel.top{transform:translateY(-101%)}.intro--leave .intro-panel.bottom{transform:translateY(101%)}.intro-stage{text-align:center;width:min(900px,100% - 40px);transition:opacity .45s, transform .6s var(--ease);justify-items:center;gap:18px;display:grid;position:relative}.intro--leave .intro-stage{opacity:0;transform:scale(.97)}.intro-label{letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-size:12px}.intro-signal{width:min(640px,100%);height:auto;overflow:visible}.intro-signal path{fill:none;stroke-linecap:round;stroke-linejoin:round}.intro-noisy{stroke:var(--rule-2);stroke-width:1.4px;stroke-dasharray:1600;stroke-dashoffset:1600px;animation:intro-draw 1.3s var(--ease) forwards}.intro-clean{stroke:var(--blue);stroke-width:2.4px;stroke-dasharray:1600;stroke-dashoffset:1600px;animation:intro-draw 1.1s .55s var(--ease) forwards}@keyframes intro-draw{to{stroke-dashoffset:0}}.intro-name{font:400 clamp(44px, 8vw, 96px) / 1 var(--serif);letter-spacing:-.03em;clip-path:inset(0 0 100%);transition:clip-path .9s var(--ease), transform .9s var(--ease);transform:translateY(16px)}.intro-name em{color:var(--blue);font-style:italic}.intro-role{color:var(--muted);opacity:0;font-size:13px;transition:opacity .6s .25s}.intro-enter{opacity:0;transition:opacity .6s .45s, transform .6s .45s var(--ease);flex-wrap:wrap;justify-content:center;gap:10px;margin-top:10px;display:flex;transform:translateY(8px)}.intro.intro--name .intro-name,.intro.intro--leave .intro-name{clip-path:inset(0 0 -12%);transform:none}.intro.intro--name .intro-role,.intro.intro--name .intro-enter,.intro.intro--leave .intro-role{opacity:1;transform:none}.intro.intro--name .intro-noisy{opacity:0;transition:opacity .6s}.intro-pct,.intro-loc{color:var(--muted);font-size:12px;transition:opacity .4s;position:absolute;bottom:26px}.intro-pct{left:var(--pad);color:var(--ink);font-size:13px}.intro-loc{right:var(--pad)}.intro--leave .intro-pct,.intro--leave .intro-loc{opacity:0}@media (max-width:640px){.intro-loc{display:none}}.kbd-btn{border:1px solid var(--rule);height:36px;color:var(--ink-2);border-radius:999px;padding:0 11px;font-size:12px}.kbd-btn:hover{border-color:var(--ink);color:var(--ink)}.sound-toggle.on .sound-waves path{animation:2.4s ease-in-out infinite sound-pulse}.sound-toggle.on .sound-waves path+path{animation-delay:.3s}@keyframes sound-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (max-width:960px){.kbd-btn{display:none}}.tour-btn{gap:10px}.tour-play{background:var(--red);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;padding-left:2px;font-size:9px;display:inline-grid}.palette-scrim{z-index:120;background:color-mix(in srgb, var(--ink) 28%, transparent);-webkit-backdrop-filter:blur(6px);place-items:start center;padding:min(14vh,120px) 16px 16px;display:grid;position:fixed;inset:0}.palette{border:1px solid var(--rule);background:var(--glass-strong);border-radius:18px;grid-template-rows:auto minmax(0,1fr) auto;width:min(640px,100%);max-height:min(70vh,560px);display:grid;overflow:hidden;box-shadow:0 40px 90px -30px #00000073}.palette-search{border-bottom:1px solid var(--rule);color:var(--muted);align-items:center;gap:12px;padding:16px 18px;display:flex}.palette-search input{min-width:0;font:400 17px var(--sans);color:var(--ink);background:0 0;border:0;outline:0;flex:1}.palette-search kbd{border:1px solid var(--rule);border-radius:6px;padding:3px 7px;font-size:11px}.palette-list{overscroll-behavior:contain;margin:0;padding:8px;list-style:none;overflow-y:auto}.palette-group{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:12px 12px 6px;font-size:11px}.palette-list button{text-align:left;width:100%;min-height:42px;color:var(--ink);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:9px 12px;font-size:15px;display:flex}.palette-list button.on{background:color-mix(in srgb, var(--blue) 10%, var(--card));box-shadow:inset 2px 0 0 var(--blue)}.palette-hint{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:45%;font-size:12px;overflow:hidden}.palette-empty{color:var(--ink-2);padding:18px 12px}.palette-empty button{width:auto;min-height:0;color:var(--blue);padding:0;display:inline}.palette-foot{border-top:1px solid var(--rule);color:var(--muted);gap:18px;padding:10px 18px;font-size:11.5px;display:flex}.cursor-dot,.cursor-ring{display:none}.has-cursor .cursor-dot,.has-cursor .cursor-ring{z-index:300;pointer-events:none;border-radius:50%;display:block;position:fixed;top:0;left:0}.has-cursor .cursor-dot{background:var(--red);width:6px;height:6px;margin:-3px 0 0 -3px}.has-cursor .cursor-ring{border:1px solid color-mix(in srgb, var(--ink) 45%, transparent);width:34px;height:34px;transition:width .25s var(--ease), height .25s var(--ease), margin .25s var(--ease), background .25s, border-color .25s, opacity .25s;margin:-17px 0 0 -17px}.cursor-ring[data-kind=hover]{background:color-mix(in srgb, var(--blue) 8%, transparent);border-color:color-mix(in srgb, var(--blue) 55%, transparent);width:54px;height:54px;margin:-27px 0 0 -27px}.cursor-ring[data-kind=text]{border-radius:2px;width:4px;height:26px;margin:-13px 0 0 -2px}.cursor-ring[data-kind=drag]{border-style:dashed;width:64px;height:64px;margin:-32px 0 0 -32px}.cursor-ring.down{width:26px;height:26px;margin:-13px 0 0 -13px}.cursor-ring.hidden{opacity:0}.tour{z-index:150;padding:18px var(--pad) 26px;color:#ecebe5;--tour-blue:#8196ff;--tour-red:#ff6f4f;background:radial-gradient(900px 600px at 70% 10%,#2340c42e,#0000 60%),#0e1016;grid-template-rows:auto auto minmax(0,1fr) auto auto;display:grid;position:fixed;inset:0}.tour-progress{gap:6px;display:flex}.tour-progress span{background:#ffffff26;border-radius:3px;flex:1;height:3px;position:relative;overflow:hidden}.tour-progress span.done{background:#ffffffbf}.tour-progress span.now:after{content:"";background:var(--tour-red);transform-origin:0;animation:tour-bar var(--dur,6s) linear forwards;position:absolute;inset:0}.tour-progress span.paused:after{animation-play-state:paused}@keyframes tour-bar{0%{transform:scaleX(0)}}.tour-top{color:#ecebe599;justify-content:space-between;align-items:center;padding-top:12px;font-size:12px;display:flex}.tour-top button{width:40px;height:40px;color:inherit;border:1px solid #fff3;border-radius:50%}.tour-scene{align-content:center;place-items:center;gap:28px;min-height:0;display:grid}.tour-caption{text-align:center;max-width:34ch;font:400 clamp(20px, 2.6vw, 30px) / 1.35 var(--serif);margin:0 auto 22px}.tour-caption span{color:#ecebe559;transition:color .25s}.tour-caption span.said{color:#f4f3ee}.tour-controls{justify-content:center;gap:10px;display:flex}.tour-controls button{min-width:46px;height:46px;color:inherit;border:1px solid #ffffff38;border-radius:999px;padding:0 14px;font-size:14px}.tour-controls button:disabled{opacity:.3}.tour-voice{font-size:12px!important}.tour-voice.on{background:#ffffff1a}.tour-cta{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.tour .btn{color:#f4f3ee;border-color:#ffffff59}.tour .btn.primary{color:#0e1016;background:#f4f3ee}.tv{width:min(620px,100%)}.tv-name{justify-items:center;gap:8px;display:grid}.tv-name svg{width:100%}.tv-name path{fill:none;stroke:var(--tour-blue);stroke-width:2px;stroke-dasharray:900;stroke-dashoffset:900px;animation:intro-draw 1.6s var(--ease) forwards}.tv-name h3{font:400 clamp(46px, 8vw, 88px) / 1 var(--serif);letter-spacing:-.03em}.tv-name em{color:var(--tour-blue)}.tv-orbit{place-items:center;height:min(320px,46vh);display:grid;position:relative}.tv-orbit .core{background:radial-gradient(circle at 35% 30%, #ffb19c, var(--tour-red));border-radius:50%;width:64px;height:64px;box-shadow:0 0 60px #ff6f4f73}.tv-orbit .ring{border:1px solid #8196ff59;border-radius:50%;animation:18s linear infinite spin;position:absolute}.tv-orbit .r0{width:150px;height:150px}.tv-orbit .r1{width:230px;height:230px;animation-duration:26s;animation-direction:reverse}.tv-orbit .r2{width:310px;height:310px;animation-duration:34s}.tv-orbit .ring i{background:var(--tour-blue);width:9px;height:9px;transform:rotate(var(--a)) translateX(calc(var(--r,75px)));border-radius:2px;margin:-4.5px;position:absolute;top:50%;left:50%}.tv-orbit .r1 i{--r:115px}.tv-orbit .r2 i{--r:155px}@keyframes spin{to{transform:rotate(360deg)}}.tv-tags{margin:0;padding:0;font-size:12px;list-style:none;position:absolute;inset:0}.tv-tags li{background:#0e1016b3;border:1px solid #fff3;border-radius:999px;padding:4px 10px;position:absolute}.tv-tags li:first-child{top:6%;left:12%}.tv-tags li:nth-child(2){top:12%;right:10%}.tv-tags li:nth-child(3){bottom:10%;left:8%}.tv-tags li:nth-child(4){bottom:6%;right:14%}.tv-bars{gap:18px;display:grid}.tv-bars .bar{grid-template-columns:minmax(110px,.9fr) 2fr auto;align-items:center;gap:14px;font-size:12.5px;display:grid}.tv-bars .bar b{background:#ffffff14;border-radius:7px;height:14px;overflow:hidden}.tv-bars .bar b i{height:100%;width:var(--v);transform-origin:0;animation:bar-grow 1.1s var(--d) var(--ease) both;background:#ecebe573;border-radius:7px;display:block}.tv-bars .bar.ours b i{background:linear-gradient(90deg, var(--tour-blue), #b7c3ff)}.tv-bars .val{font-size:14px}@keyframes bar-grow{0%{transform:scaleX(0)}}.tv-note{color:#ecebe580;text-align:right;font-size:11.5px}.tv-series{position:relative}.tv-series svg{width:100%;overflow:visible}.tv-series .band{fill:#8196ff24}.tv-series .expected,.tv-series .measured{fill:none;stroke-width:2.4px;stroke-dasharray:800;stroke-dashoffset:800px;animation:intro-draw 2s var(--ease) forwards}.tv-series .expected{stroke:var(--tour-blue);stroke-dasharray:6 6;stroke-dashoffset:0;opacity:.8;animation:none}.tv-series .measured{stroke:#f4f3ee;animation-delay:.3s}.tv-series .alarm{fill:var(--tour-red);opacity:0;animation:1.4s ease-out 2.2s infinite alarm}@keyframes alarm{0%{opacity:1;r:6}to{opacity:0;r:22}}.tv-flag{color:#ffb19c;border:1px solid #ff6f4f80;border-radius:999px;padding:4px 10px;font-size:12px;position:absolute;top:0;right:0}.tv-count{text-align:center;grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.tv-count div{animation:rise-in .8s var(--d) var(--ease) both;gap:6px;display:grid}.tv-count b{font:400 clamp(56px, 10vw, 110px) / 1 var(--serif)}.tv-count span{color:#ecebe599;font-size:12.5px}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}}@media (max-width:640px){.tour{padding:14px 16px 20px}.tv-bars .bar{grid-template-columns:1fr auto}.tv-bars .bar b{grid-area:2/1/auto/-1}.tv-orbit{transform:scale(.82)}}.str-filter{flex-wrap:wrap;gap:8px;margin-bottom:28px;display:flex}.str-filter button{border:1px solid var(--rule);min-height:38px;color:var(--ink-2);border-radius:999px;padding:0 16px;font-size:14px}.str-filter button.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.str-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:16px;margin:0;padding:0;list-style:none;display:grid}.str-card{border:1px solid var(--rule);background:var(--card);border-radius:18px;align-content:start;gap:10px;padding:24px;display:grid}.str-track{letter-spacing:.08em;text-transform:uppercase;color:var(--red);font-size:11.5px}.str-card h3{font:500 22px/1.25 var(--serif);letter-spacing:-.01em}.str-why{color:var(--ink-2);font-size:15.5px;line-height:1.55}.str-evidence{gap:6px;margin:6px 0 0;padding:0;list-style:none;display:grid}.str-evidence li>span,.str-evidence button{background:var(--paper-2);text-align:left;width:100%;color:var(--ink);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 12px;font-size:14px;line-height:1.45;display:flex}.str-evidence button:hover{background:color-mix(in srgb, var(--blue) 10%, var(--paper-2))}.str-go{color:var(--blue);transition:transform .25s var(--ease)}.str-evidence button:hover .str-go{transform:translate(3px)}.contact-grid{grid-template-columns:minmax(0,1fr) minmax(0,420px);align-items:start;gap:clamp(32px,6vw,80px);display:grid}.ccard-wrap{perspective:1200px;justify-items:center;gap:16px;display:grid}.ccard-tilt{width:min(400px,100%);transform-style:preserve-3d}.ccard{aspect-ratio:1.6;width:100%;transform-style:preserve-3d;text-align:left;border-radius:20px;display:block;position:relative}.ccard-face{backface-visibility:hidden;border-radius:20px;padding:22px 24px;display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 30px 60px -30px #15171f8c,0 0 0 1px #0000000f}.ccard-face.front{color:#f4f3ee;background:radial-gradient(500px 260px at 100% 0,#8196ff73,#0000 60%),radial-gradient(400px 240px at 0 100%,#d9482b59,#0000 60%),#15171f;grid-template-rows:auto 1fr auto auto;gap:4px}.ccard-face.back{color:#15171f;background:#fffdf8;align-content:center;place-items:center;gap:10px;transform:rotateY(180deg)}.ccard-top{justify-content:space-between;align-items:flex-start;display:flex}.ccard-top img{object-fit:cover;border:2px solid #fff9;border-radius:50%;width:54px;height:54px}.ccard-chip{border:1px solid #ffffff4d;border-radius:999px;padding:4px 9px;font-size:11px}.ccard-name{font:400 clamp(30px, 4vw, 38px) / 1 var(--serif);letter-spacing:-.02em;align-self:end}.ccard-name em{color:#b7c3ff}.ccard-role{color:#f4f3eebf;font-size:13px}.ccard-foot{color:#f4f3ee8c;justify-content:space-between;margin-top:10px;font-size:11px;display:flex}.ccard-glare{pointer-events:none;mix-blend-mode:soft-light;position:absolute;inset:0}.ccard-qr{width:42%;height:auto}.ccard-scan{color:#393c48;text-align:center;font-size:11.5px}.ccard-mail{color:#2340c4;font-size:12px}.ccard-actions{gap:10px;display:flex}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.intro{display:none}.tv-orbit .ring,.sound-toggle.on .sound-waves path{animation:none}}.str-track{color:color-mix(in srgb, var(--red) 72%, var(--ink))}
