@font-face{font-family:Mona Sans;font-style:normal;font-weight:200 900;font-stretch:75% 125%;font-display:swap;src:url(/assets/fonts/mona-sans-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:300 800;font-display:swap;src:url(/assets/fonts/bricolage-grotesque-normal-300-800-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-italic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-serif-normal-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/jetbrains-mono-normal-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local("Courier New"),local("CourierNewPSMT"),local("Liberation Mono"),local("Cousine");ascent-override:102%;descent-override:30%;line-gap-override:0%}:root{--ink-0: #07090c;--ink-1: #0b0e12;--ink-2: #10141a;--ink-3: #161b23;--ink-4: #1f2630;--paper: #eceae4;--paper-2: #b8bbc1;--mute: #7f8690;--signal: #ff6b35;--signal-2: #ff9466;--teal: #2ec4b6;--sky: #5aa9e6;--lime: #c5f24a;--rose: #ff5c8a;--violet: #8b7cf6;--ok: #3be37f;--f-display: "Bricolage Grotesque", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-serif: "Instrument Serif", "Iowan Old Style", Georgia, serif;--f-mono: "JetBrains Mono", "JetBrains Mono Fallback", ui-monospace, "SFMono-Regular", Consolas, monospace;--f-ui: "Mona Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.65, 0, .35, 1);--pad: 16px;--maxw: 1180px;--top-h: 56px;color-scheme:light;--bg: #f4f1ea;--bg-2: #ebe6dc;--card: #fffdf9;--card-2: #f3eee5;--fg: #14171d;--fg-2: #4b5260;--fg-3: #626a79;--line: rgb(20 23 29 / .1);--line-2: rgb(20 23 29 / .19);--light: #c8501d;--light-2: #6d5ce8;--light-ink: #ad4217;--on-light: #fff;--good: #0b7a69;--sea: #dbe5e6;--land: #f8f5ee;--land-edge: #c3bba9;--shadow: 0 1px 2px rgb(40 30 20 / .05), 0 14px 34px -22px rgb(40 30 20 / .35)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #090c12;--bg-2: #0e131b;--card: #111720;--card-2: #19212c;--fg: #f3f5f8;--fg-2: #b6becb;--fg-3: #8b94a4;--line: rgb(255 255 255 / .08);--line-2: rgb(255 255 255 / .17);--light: #ff8a4c;--light-2: #9d90ff;--light-ink: #ffa273;--on-light: #1b0f07;--good: #4fd1b5;--sea: #0a1720;--land: #142029;--land-edge: #2a3b48;--shadow: 0 1px 0 rgb(255 255 255 / .04) inset, 0 16px 36px -22px rgb(0 0 0 / .8)}}@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.3s}*,*:before,*:after{box-sizing:border-box}html,body,h1,h2,h3,h4,p,ul,ol,dl,dd,figure,blockquote{margin:0;padding:0}ul,ol{list-style:none}img,svg,canvas,video{display:block;max-width:100%}img,video{height:auto}button,input{font:inherit;color:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--top-h) + 12px)}a,button,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100svh;background:var(--bg);color:var(--fg);font-family:var(--f-ui);font-size:17px;line-height:1.55;font-synthesis:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}::selection{background:var(--light);color:var(--on-light)}:focus-visible{outline:2.5px solid var(--light);outline-offset:2px;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:12px;top:-60px;z-index:300;padding:10px 16px;border-radius:8px;background:var(--fg);color:var(--bg);font-weight:600;text-decoration:none;transition:top .3s}.skip:focus{top:12px}.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}.serif{font:inherit;color:inherit}.tone{color:var(--fg-2)}h1,h2,h3{text-wrap:balance}.h2{font-size:clamp(32px,8vw,60px);font-weight:800;font-stretch:110%;letter-spacing:-.025em;line-height:1}.lede{max-width:50ch;color:var(--fg-2);font-size:clamp(17px,4.4vw,20px);line-height:1.5}.small{color:var(--fg-3);font-size:14px;font-stretch:92%;font-weight:560}.progress{position:fixed;inset:0 0 auto;height:2px;z-index:120;pointer-events:none}.progress span{display:block;height:100%;background:var(--light);transform-origin:0 50%;transform:scaleX(var(--progress, 0))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 20px;border:1.5px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--fg);font-size:16px;font-weight:650;text-decoration:none;white-space:nowrap;transition:border-color .15s,transform .15s,filter .15s}.btn:hover{border-color:var(--light)}.btn:active{transform:scale(.97)}.btn-solid{border-color:transparent;background:var(--light);color:var(--on-light)}.btn-solid:hover{border-color:transparent;filter:brightness(1.06)}.btn-sm{min-height:40px;padding:0 14px;font-size:15px}.btn svg{flex:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.actions{display:flex;flex-wrap:wrap;gap:10px}.text-link{color:var(--fg);font-weight:640;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--light) 70%,transparent);text-decoration-thickness:2px;text-underline-offset:5px;transition:text-decoration-color .25s}.text-link:hover{text-decoration-color:var(--light)}kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:5px;border:1px solid var(--line);font-size:12px;color:var(--fg-2);font-family:var(--f-ui)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip-btn{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);color:var(--fg-2);font-size:15px;font-weight:620;text-decoration:none;transition:color .2s,background .2s,border-color .2s}.chip-btn:hover{color:var(--fg);border-color:var(--light)}.chip-btn[aria-pressed=true],.chip-btn[aria-current=page]{background:var(--fg);border-color:var(--fg);color:var(--bg)}.filter-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px;margin-bottom:28px}.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom));z-index:130;translate:-50% 0;padding:12px 18px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);box-shadow:var(--shadow);font-size:14px}.bar{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid var(--line)}.bar-in{display:flex;align-items:center;gap:12px;max-width:var(--maxw);height:var(--top-h);margin:0 auto;padding-left:max(var(--pad),env(safe-area-inset-left));padding-right:max(var(--pad),env(safe-area-inset-right))}.bar-name{display:inline-flex;align-items:center;gap:10px;min-width:0;margin-right:auto;font-size:17px;font-weight:720;font-stretch:104%;text-decoration:none;white-space:nowrap}.bar-name img{width:32px;height:32px;border-radius:6px;object-fit:cover;background:#fff}.bar nav{display:none;justify-content:flex-end;gap:2px}.bar nav a{position:relative;display:inline-flex;align-items:center;min-height:44px;padding:0 10px;color:var(--fg-2);font-size:15.5px;font-weight:620;text-decoration:none;white-space:nowrap;transition:color .2s}.bar nav a:hover{color:var(--fg)}.bar nav a.is-on,.bar nav a[aria-current=page]{color:var(--fg)}.bar nav a.is-on:after,.bar nav a[aria-current=page]:after{content:"";position:absolute;right:10px;bottom:2px;left:10px;height:2px;background:var(--light)}.bar .btn{flex:none;min-height:40px}@media(min-width:900px){.bar nav{display:flex}}@media(min-width:1100px){.bar nav{gap:4px}.bar nav a{padding:0 13px}.bar nav a.is-on:after,.bar nav a[aria-current=page]:after{right:13px;left:13px}}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:110;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);border-top:1px solid var(--line-2);background:var(--bg)}.tabbar a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:58px;padding:7px 1px 6px;color:var(--fg-2);font-size:clamp(10.5px,3vw,12.5px);font-weight:650;font-stretch:86%;line-height:1.1;text-align:center;text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.tabbar svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tabbar a:active{background:var(--bg-2)}.tabbar a.is-on,.tabbar a[aria-current=page]{color:var(--fg);font-weight:760}.tabbar a.is-on svg,.tabbar a[aria-current=page] svg{color:var(--light);stroke-width:2.1}.tabbar a.is-on:before,.tabbar a[aria-current=page]:before{content:"";position:absolute;top:-1px;left:50%;width:32px;height:3px;translate:-50% 0;border-radius:0 0 3px 3px;background:var(--light)}body{padding-bottom:calc(59px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:calc(72px + env(safe-area-inset-bottom))}.toast{bottom:calc(76px + env(safe-area-inset-bottom))}@media(min-width:900px){.tabbar{display:none}body{padding-bottom:0}html{scroll-padding-bottom:0}.toast{bottom:calc(20px + env(safe-area-inset-bottom))}}.foot{margin-top:clamp(80px,14vw,140px);border-top:1px solid var(--line)}.foot-in{display:grid;gap:28px;padding-block:36px 28px}.foot-id{display:flex;align-items:center;gap:14px}.foot-id img{width:52px;height:52px;border-radius:8px;object-fit:cover;background:#fff}.foot-id b{display:block;font-size:19px;font-weight:760;font-stretch:104%}.foot-id span{display:block;color:var(--fg-2);font-size:15px}.foot-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.foot-nav a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:15.5px;font-weight:600;text-decoration:none}.foot-nav a:hover{color:var(--fg)}.foot-reach{display:grid;gap:10px}.foot-reach p{color:var(--fg-3);font-size:14.5px}.foot-mail{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px}.foot-mail a{font-size:clamp(17px,4.8vw,22px);font-weight:700;overflow-wrap:anywhere;text-decoration-color:var(--light);text-decoration-thickness:2px;text-underline-offset:4px}.foot-base{padding-block:18px max(28px,env(safe-area-inset-bottom));border-top:1px solid var(--line);color:var(--fg-3);font-size:14px;line-height:1.5}.foot-base a{color:inherit}.motion-paused .snip,.motion-paused .snip *,.motion-paused .snip *:before,.motion-paused .snip *:after{animation-play-state:paused!important}.page-top,.page-hero{padding-top:clamp(32px,8vw,80px);padding-bottom:clamp(24px,5vw,44px)}.page-title{max-width:18ch;margin-top:12px;font-size:clamp(40px,10.5vw,96px);font-weight:830;font-stretch:112%;letter-spacing:-.035em;line-height:.94}.page-lede{max-width:50ch;margin-top:18px;color:var(--fg-2);font-size:clamp(17px,4.4vw,20px);line-height:1.5}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:var(--fg-3);font-size:14.5px;font-weight:600}.crumbs a{display:inline-flex;align-items:center;min-height:44px;color:var(--fg-2);text-decoration:none}.crumbs a:hover{color:var(--fg)}.page-meta{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:18px;color:var(--fg-3);font-size:14.5px}.page-meta a{color:var(--fg-2)}.section{padding-top:clamp(64px,12vw,112px)}.section-head{display:grid;gap:12px;margin-bottom:28px}.kpi-note{color:var(--fg-3);font-size:14px}.hero-figure{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 24px;margin-top:32px}.hero-figure b{color:var(--light-ink);font-size:clamp(72px,22vw,168px);font-weight:830;font-stretch:86%;line-height:.85;letter-spacing:-.03em}.hero-figure p{max-width:30ch;padding-bottom:10px;color:var(--fg-2);font-size:17px}.hero-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.page-top--tight,.page-hero--tight{min-height:60svh}.screen{position:relative;border-radius:12px;border:1px solid var(--line);background:#050505;padding:clamp(8px,2.4vw,16px)}.screen .stage{content-visibility:auto;contain-intrinsic-size:none auto 300px}.screen>img{width:100%;border-radius:6px}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}.facts div{display:grid;gap:4px;align-content:start}.facts dt{font-size:clamp(21px,6.1vw,34px);font-weight:800;font-stretch:90%;letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums}.facts dd{color:var(--fg-2);font-size:14.5px;line-height:1.4}.facts--3 div:nth-child(3){grid-column:1 / -1}@media(min-width:400px){.facts dt{white-space:nowrap}}.work-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:40px}.tile{position:relative;display:grid;gap:12px;align-content:start}.tile .screen{padding:8px;border-radius:10px}.tile h3{font-size:clamp(21px,5.4vw,26px);font-weight:760;font-stretch:106%;line-height:1.2}.tile h3 a{text-decoration:none}.tile h3 a:after{content:"";position:absolute;inset:0}.tile p{color:var(--fg-2);font-size:15.5px;line-height:1.5}.tile .small{margin-top:-4px}.tile[hidden]{display:none}.work-count{color:var(--fg-3);font-size:14px}.c-plain,.c-helped,.scene-grid,.scene-card,.tile,.about-grid,.journey-grid,.values,.toolbox,.chart-grid,.method,.kpi-grid{grid-template-columns:minmax(0,1fr)}.rows{border-top:1px solid var(--line)}.row{display:grid;gap:6px;padding:20px 0;border-bottom:1px solid var(--line);text-decoration:none}.row-title{font-size:19px;font-weight:660;line-height:1.3;text-wrap:pretty}.row:hover .row-title{text-decoration:underline;text-decoration-color:var(--light);text-decoration-thickness:2px;text-underline-offset:4px}.row-meta{color:var(--fg-3);font-size:14px;font-weight:560}.row-meta b{color:var(--fg-2);font-weight:700}.rows [hidden]{display:none}.dt-tools{display:grid;gap:12px}.dt-search input{width:100%;min-height:50px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--fg);font:inherit;font-size:17px;-webkit-appearance:none;appearance:none}.dt-search input::placeholder{color:var(--fg-3);opacity:1}.dt-search input:focus{border-color:var(--light);outline:2px solid var(--light);outline-offset:0}.dt-chips{display:flex;gap:8px;margin-inline:calc(var(--pad) * -1);padding:2px var(--pad) 4px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 36px),transparent)}.dt-chips::-webkit-scrollbar{display:none}.dt-chips>*{flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:1.5px solid var(--line-2);border-radius:8px;background:var(--card);color:var(--fg-2);font:inherit;font-size:15px;font-weight:640;white-space:nowrap;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .2s,border-color .2s}.dt-chips>*:last-child{margin-right:28px}.dt-chips>*:hover{border-color:var(--light);color:var(--fg)}.dt-chips span{color:var(--fg-3);font-size:13px;font-weight:600}.dt-chips>[aria-pressed=true],.dt-chips>[aria-current=page]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.dt-chips>[aria-pressed=true] span,.dt-chips>[aria-current=page] span{color:inherit;opacity:.78}html:not(.js) [data-tools] button,html:not(.js) .dt-search{display:none}.dt-count{min-height:21px;margin:12px 0 2px;color:var(--fg-3);font-size:14px;font-weight:600}.dt{width:100%;border-collapse:separate;border-spacing:0}.dt,.dt tbody,.dt tr,.dt th,.dt td{display:block}.dt thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.dt [hidden]{display:none!important}.dt th{font-weight:inherit;text-align:left}.dt tr[data-tags]{position:relative;border-bottom:1px solid var(--line);-webkit-tap-highlight-color:transparent}.dt tr[data-tags]:active{background:var(--bg-2)}.dt tr[data-tags] a:after{content:"";position:absolute;inset:0}.dt-lab{margin-right:6px;color:var(--fg);font-weight:740}.dt-lab--fix{color:var(--good)}.dt-grp{position:sticky;top:var(--top-h);z-index:2;background:var(--bg)}.dt-grp th{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0 12px;padding:24px 0 9px;border-bottom:2px solid var(--fg)}.dt-grp a{color:var(--fg);font-size:18px;font-weight:780;font-stretch:104%;text-decoration:none}.dt-grp a:hover{text-decoration:underline;text-decoration-color:var(--light);text-decoration-thickness:2px;text-underline-offset:4px}.dt-grp span{color:var(--fg-3);font-size:13.5px;font-weight:600}.ach tr[data-tags]{display:grid;grid-template-columns:minmax(86px,31%) minmax(0,1fr);gap:3px 14px;padding:13px 0 14px}.ach-v{grid-row:span 2;color:var(--fg);font-size:21px;font-weight:820;font-stretch:84%;line-height:1.12;letter-spacing:-.01em;overflow-wrap:anywhere}.ach-w{font-size:16px;font-weight:560;line-height:1.38;text-wrap:pretty}.ach-p a{color:var(--light-ink);font-size:14px;font-weight:700;text-decoration:none}.ins tr[data-tags]{display:grid;gap:6px;padding:15px 0 16px}.ins-t a{color:var(--fg);font-size:17.5px;font-weight:740;line-height:1.28;text-decoration:none;text-wrap:pretty}.ins-tags{display:none}.ins-p,.ins-f{color:var(--fg-2);font-size:15px;line-height:1.42}.ins-n{color:var(--fg-2);font-size:14.5px;line-height:1.4}.ins-n b{color:var(--light-ink);font-weight:780}.dt-empty{padding:26px 0;border-bottom:1px solid var(--line);color:var(--fg-2);font-size:16px}.dt-empty button{border:0;background:none;font:inherit;cursor:pointer}.dt-more{width:100%;margin-top:18px}.dt-note{max-width:70ch;margin-top:20px;color:var(--fg-3);font-size:14.5px;line-height:1.5}.dt-next{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:36px}.dt-next .btn{width:100%;padding-block:11px;white-space:normal;text-align:center;line-height:1.3}@media(min-width:900px){.dt-chips{flex-wrap:wrap;margin-inline:0;padding-inline:0;overflow:visible;-webkit-mask-image:none;mask-image:none}.dt-chips>*:last-child{margin-right:0}.dt-tools{grid-template-columns:minmax(0,360px) minmax(0,1fr);align-items:start}.dt{display:table;table-layout:fixed}.dt thead{position:static;width:auto;height:auto;overflow:visible;clip-path:none;display:table-header-group}.dt tbody{display:table-row-group}.dt tr,.dt tr[data-tags],.dt-grp{display:table-row;position:static}.dt th,.dt td{display:table-cell;padding:15px 22px 15px 0;vertical-align:top}.dt tr[data-tags]>*{border-bottom:1px solid var(--line)}.dt tr[data-tags] a:after{content:none}.dt tr[data-tags]:hover>*{background:var(--card-2)}.dt tr[data-tags]>:first-child{padding-left:10px}.dt thead th{position:sticky;top:var(--top-h);z-index:3;padding-block:12px 10px;border-bottom:2px solid var(--fg);background:var(--bg);color:var(--fg-3);font-size:13.5px;font-weight:700}.dt thead th:first-child{padding-left:10px}.dt-lab{display:none}.dt-grp th{display:table-cell;padding:34px 0 10px 10px}.dt-grp span{margin-left:14px}.dt-grp th>*{vertical-align:baseline}.ach thead th:nth-child(1){width:200px}.ach thead th:nth-child(3){width:150px}.ach-v{font-size:24px}.ach-w{font-size:16.5px}.ach-p a{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--light) 60%,transparent);text-decoration-thickness:2px;text-underline-offset:4px}.ins thead th:nth-child(1){width:27%}.ins thead th:nth-child(2),.ins thead th:nth-child(3){width:28%}.ins-t a{font-size:17px}.ins-t a:hover{text-decoration:underline;text-decoration-color:var(--light);text-decoration-thickness:2px;text-underline-offset:4px}.ins-tags{display:block;margin-top:7px;color:var(--fg-3);font-size:13.5px;font-weight:600}.ins-p,.ins-f{font-size:15px}.ins-f{color:var(--fg)}.dt-more,.dt-next .btn{width:auto}}.more-links{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:26px}.journal-author{margin-top:22px}.journal-band{display:grid;gap:4px;margin-bottom:32px;padding:18px 0;border-block:1px solid var(--line);text-decoration:none}.journal-band strong{font-size:18px;font-weight:700}.journal-band span{color:var(--fg-2);font-size:15px}.journal-band:hover strong{text-decoration:underline;text-decoration-color:var(--light);text-underline-offset:4px}.post-list{border-top:1px solid var(--line)}.post-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 16px;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.post-row-tag{grid-column:1 / -1;color:var(--fg-3);font-size:13.5px;font-weight:600}.post-row-title{font-size:18px;font-weight:660;line-height:1.3}.post-row-result{color:var(--fg-2);font-size:15px;font-weight:700;white-space:nowrap}.post-row-arrow,.post-list [hidden]{display:none}.case-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.case-facts dt{color:var(--fg-3);font-size:14px;font-weight:640}.case-facts dd{margin-top:4px;font-size:15.5px;line-height:1.45}.c-note{max-width:60ch;margin-top:14px;color:var(--fg-3);font-size:14px}.c-what{max-width:32ch;margin-top:18px;font-size:clamp(23px,6vw,40px);font-weight:700;font-stretch:104%;line-height:1.18;letter-spacing:-.01em}.c-plain{display:grid;gap:34px;margin-top:38px}.c-plain h3{margin-bottom:10px;font-size:19px;font-weight:740;font-stretch:106%}.c-plain p{max-width:46ch;color:var(--fg-2);font-size:16.5px;line-height:1.6}.c-built{display:grid;gap:10px}.c-built li{position:relative;max-width:46ch;padding-left:20px;color:var(--fg-2);font-size:16px;line-height:1.5}.c-built li:before{content:"";position:absolute;left:0;top:.72em;width:10px;height:2.5px;border-radius:2px;background:var(--light)}.scene-grid{display:grid;gap:40px;margin-top:8px}.scene-card{margin:0;display:grid;gap:14px}.scene-card .case-visual{border-radius:12px;border:1px solid var(--line);background:#050505;padding:clamp(8px,2vw,16px)}.scene-card .stage{content-visibility:auto;contain-intrinsic-size:none auto 300px}.scene-card figcaption{max-width:52ch;color:var(--fg-2);font-size:15.5px;line-height:1.5}.scene-card figcaption b{display:block;margin-bottom:4px;color:var(--fg);font-size:18px;font-weight:720;font-stretch:106%}.c-helped{display:grid;gap:22px}.c-helped li{max-width:52ch;color:var(--fg-2);font-size:16.5px;line-height:1.55}.c-helped b{display:block;margin-bottom:4px;color:var(--fg);font-size:19px;font-weight:720;font-stretch:106%}.c-next{position:relative;display:grid;gap:18px;padding-top:28px;border-top:1px solid var(--line)}.c-next h2{font-size:clamp(30px,8vw,60px);font-weight:820;font-stretch:110%;letter-spacing:-.025em;line-height:1}.c-next h2 a{text-decoration:none}.c-next h2 a:after{content:"";position:absolute;inset:0;z-index:2}.c-next p{max-width:46ch;color:var(--fg-2)}.article{display:grid;gap:40px;padding-top:12px}.prose-col{min-width:0}.toc{display:none}.prose{max-width:68ch;font-size:17.5px;line-height:1.72;color:var(--fg-2);color:color-mix(in srgb,var(--fg) 88%,var(--bg))}.prose>*+*{margin-top:1.1em}.prose h2{margin-top:2em;color:var(--fg);font-size:clamp(25px,6vw,34px);font-weight:780;font-stretch:108%;line-height:1.12;letter-spacing:-.015em;scroll-margin-top:calc(var(--top-h) + 24px)}.prose h3{margin-top:1.7em;color:var(--fg);font-size:20px;font-weight:720;font-stretch:105%;line-height:1.25;scroll-margin-top:calc(var(--top-h) + 24px)}.prose h2 a,.prose h3 a{color:inherit;text-decoration:none}.prose a{color:var(--fg);text-decoration-color:color-mix(in srgb,var(--light) 75%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--light)}.prose strong{color:var(--fg);font-weight:700}.prose ul{padding-left:0}.prose ul>li{position:relative;padding-left:1.4em}.prose ul>li:before{content:"";position:absolute;left:.2em;top:.78em;width:8px;height:2.5px;border-radius:2px;background:var(--light)}.prose ol{padding-left:1.4em;list-style:decimal}.prose ol>li::marker{color:var(--fg-3);font-weight:650}.prose li+li{margin-top:.5em}.prose blockquote{padding-left:20px;border-left:2px solid var(--light);color:var(--fg);font-size:1.15em}.prose code{padding:.12em .4em;border-radius:5px;background:color-mix(in srgb,var(--fg) 9%,transparent);font-family:var(--f-mono);font-size:.86em;font-weight:500;color:var(--fg)}.prose pre{margin-inline:calc(var(--pad) * -1);padding:18px var(--pad);background:#0a0a0a;overflow-x:auto;font-size:13.5px;line-height:1.65}.prose pre code{padding:0;background:none;font-size:1em;color:#d4d4d4}.prose hr{height:1px;margin-block:2.4em;border:0;background:var(--line)}.prose table{width:100%;border-collapse:collapse;font-size:15px}.prose th,.prose td{padding:10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{color:var(--fg-3);font-size:13.5px;font-weight:650}.prose figure img{border-radius:10px}.prose figcaption{margin-top:10px;color:var(--fg-3);font-size:14px}.case-gallery{display:grid;gap:10px}.case-gallery img{width:100%}.callout{padding:18px 20px;border-radius:10px;border:1px solid var(--line-2);background:var(--card);font-size:16px}.callout strong:first-child{display:block;margin-bottom:4px;color:var(--fg)}.prose pre[class*=language-]{tab-size:2}.prose .token.comment,.prose .token.prolog,.prose .token.doctype{color:#8a919b;font-style:italic}.prose .token.punctuation{color:#a3a9b1}.prose .token.property,.prose .token.tag,.prose .token.constant,.prose .token.symbol,.prose .token.deleted{color:#ff9466}.prose .token.boolean,.prose .token.number{color:#ffc266}.prose .token.string,.prose .token.char,.prose .token.attr-value,.prose .token.template-string,.prose .token.inserted{color:#b8e07e}.prose .token.keyword,.prose .token.atrule,.prose .token.selector{color:#93bbff}.prose .token.function,.prose .token.class-name,.prose .token.builtin{color:#5fdccd}.prose .token.regex,.prose .token.important,.prose .token.variable,.prose .token.interpolation-punctuation{color:#ff8fa8}.prose .token.operator,.prose .token.entity,.prose .token.url{color:#d4d7dc}.ps{display:grid;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}.ps h2{margin-bottom:4px;color:var(--fg-3);font-size:14px;font-weight:660}.ps p{max-width:52ch;font-size:17px;line-height:1.5}.ps .facts{margin-top:6px}.author-card{display:grid;grid-template-columns:60px minmax(0,1fr);gap:16px;align-items:start;max-width:68ch;margin-top:56px;padding-top:24px;border-top:1px solid var(--line)}.author-card img{width:60px;height:60px;border-radius:8px;object-fit:cover;object-position:50% 22%;background:#fff}.author-card p{color:var(--fg-2);font-size:15px;line-height:1.55}.author-card .author-name{margin-bottom:4px;color:var(--fg);font-size:16px;font-weight:720}.author-links{display:flex;flex-wrap:wrap;gap:0 18px;margin-top:6px}.author-links a{display:inline-flex;align-items:center;min-height:40px;color:var(--fg);font-size:15px;text-underline-offset:3px}.toc-share{display:none}.about-grid{display:grid;gap:36px}.about-photos{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));padding-bottom:14%}.ph{position:relative;margin:0;border-radius:12px;overflow:hidden;background:#111}.ph img{width:100%;height:100%;object-fit:cover}.ph figcaption{position:absolute;left:10px;bottom:10px;padding:5px 10px;border-radius:6px;background:#000000b8;color:#fff;font-size:13px;font-weight:600}.ph-1{grid-column:1 / 6;grid-row:1;aspect-ratio:1080 / 1225}.ph-2{grid-column:4 / 7;grid-row:1;align-self:end;aspect-ratio:853 / 1280;margin-bottom:-22%;box-shadow:0 0 0 5px var(--bg)}.about-copy{display:grid;gap:22px}.about-lede{font-size:clamp(26px,7vw,44px);font-weight:740;font-stretch:106%;line-height:1.12;letter-spacing:-.015em}.about-copy>p{max-width:48ch;color:var(--fg-2);font-size:17px}.toolbox{display:grid;gap:16px}.toolbox h3{color:var(--fg-3);font-size:14px;font-weight:660}.toolbox p{font-size:16px}.values{display:grid;gap:22px}.values h3{margin-bottom:4px;font-size:19px;font-weight:740;font-stretch:106%}.values p{color:var(--fg-2)}.journey{padding-top:clamp(72px,14vw,140px)}.journey-grid{display:grid;gap:32px}.journey-aside{display:grid;gap:14px}.sec-label{color:var(--fg-3);font-size:14.5px;font-weight:600}.sec-title{font-size:clamp(30px,7.4vw,56px);font-weight:800;font-stretch:110%;line-height:1;letter-spacing:-.025em}.grad-photo{margin:6px 0 0;max-width:360px}.grad-photo img{width:100%;border-radius:12px;background:#111}.grad-photo figcaption{display:grid;gap:2px;padding:12px 2px 0;color:var(--fg-2);font-size:14px}.mono{color:var(--fg-3);font-size:14px;font-weight:650}.timeline{border-top:1px solid var(--line)}.tl-item{display:grid;gap:6px;padding:22px 0;border-bottom:1px solid var(--line)}.tl-when{display:inline-flex;align-items:center;gap:8px;color:var(--fg-3);font-size:14px;font-weight:600}.tl-when i{width:8px;height:8px;border-radius:2px;background:var(--light)}.tl-org{font-size:21px;font-weight:740;font-stretch:106%;line-height:1.2}.tl-role{color:var(--fg-2)}.tl-line{max-width:56ch;color:var(--fg-3);font-size:15px;line-height:1.55}.tl-line b{color:var(--fg-2);font-weight:650}.viz{--surface-1: var(--card);--series-1: #5aa9e6;--series-2: var(--light);--series-3: #2ec4b6;--grid: var(--line);--axis: var(--line-2);--good: #1fa463;--bad: #e0365a}.period-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}.period{display:grid;gap:2px;padding:12px 16px;border-radius:10px;border:1px solid var(--line-2);background:var(--card)}.period span{color:var(--fg-3);font-size:13.5px;font-weight:600}.period b{font-size:15px;font-weight:660}.period.is-now{border-color:var(--light)}.kpi-grid{display:grid;gap:1px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--line)}.kpi{display:flex;flex-direction:column;gap:8px;min-height:180px;padding:20px;background:var(--card)}.kpi-label{color:var(--fg-2);font-size:15px;font-weight:560}.kpi-value{display:flex;align-items:baseline;gap:10px;font-size:clamp(38px,10vw,54px);font-weight:820;font-stretch:90%;line-height:1}.kpi-delta{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:660}.kpi-delta.good{color:var(--good)}.kpi-delta.bad{color:var(--bad)}.kpi svg.spark{width:100%;height:40px;margin-top:auto;overflow:visible}.spark-line{fill:none;stroke:var(--fg-3);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.spark-now{fill:none;stroke:var(--light);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.chart-grid{display:grid;gap:18px}.chart-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;border-radius:14px;border:1px solid var(--line);background:var(--surface-1)}.chart-card h3{font-size:19px;font-weight:720;font-stretch:104%}.chart-card .chart-sub{margin-top:-6px;color:var(--fg-3);font-size:14px}.legend{display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--fg-2);font-size:14px}.legend span{display:inline-flex;align-items:center;gap:8px}.legend i{width:16px;height:2px;border-radius:2px;background:var(--c)}.plot{position:relative;height:230px}.plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.plot .gridline{stroke:var(--grid);stroke-width:1;shape-rendering:crispEdges}.plot .baseline{stroke:var(--axis);stroke-width:1;shape-rendering:crispEdges}.plot .tick{fill:var(--fg-3);font-family:var(--f-ui);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums}.plot .area{opacity:.12}.plot .line{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.plot .end-dot{stroke:var(--surface-1);stroke-width:2}.plot .end-label{fill:var(--fg);font-family:var(--f-ui);font-size:12px;font-weight:650}.plot .marker-line{stroke:var(--fg-3);stroke:color-mix(in srgb,var(--fg) 32%,transparent);stroke-width:1}.plot .marker-label{fill:var(--fg-2);font-family:var(--f-ui);font-size:12px;font-weight:600}.plot .crosshair{stroke:var(--fg-3);stroke:color-mix(in srgb,var(--fg) 40%,transparent);stroke-width:1;opacity:0;transition:opacity .15s}.plot.is-hover .crosshair{opacity:1}.plot .hit{fill:transparent;cursor:crosshair}.plot .hit:focus{outline:none}.plot .hit:focus-visible{outline:2px solid var(--light)}.viz-tip{position:absolute;z-index:3;top:0;left:0;min-width:150px;padding:10px 12px;border-radius:8px;border:1px solid var(--line-2);background:var(--card);box-shadow:var(--shadow);pointer-events:none;opacity:0;transition:opacity .15s}.plot.is-hover .viz-tip{opacity:1}.viz-tip .tip-x{margin-bottom:6px;color:var(--fg-3);font-size:13px;font-weight:600}.viz-tip .tip-row{display:grid;grid-template-columns:14px auto 1fr;align-items:center;gap:8px;color:var(--fg-2);font-size:13px}.viz-tip .tip-row i{width:14px;height:2px;border-radius:2px;background:var(--c)}.viz-tip .tip-row b{color:var(--fg);font-weight:650}.table-view summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;color:var(--fg-3);font-size:14px;font-weight:600}.table-view summary:hover{color:var(--fg)}.table-view table{width:100%;margin-top:8px;border-collapse:collapse;font-size:13.5px;font-variant-numeric:tabular-nums}.table-view th,.table-view td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}.table-view th:first-child,.table-view td:first-child{text-align:left}.table-view th{color:var(--fg-3);font-size:13px;font-weight:650}.method{display:grid;gap:18px}.method>div{padding-top:16px;border-top:1px solid var(--line)}.method h3{margin-bottom:6px;font-size:16px;font-weight:720}.method p{color:var(--fg-2);font-size:15.5px}.method-details summary{min-height:44px;cursor:pointer;color:var(--fg-2)}.ship-log{border-top:1px solid var(--line)}.ship-week{display:grid;gap:12px;padding:24px 0;border-bottom:1px solid var(--line)}.ship-week h3{color:var(--fg-3);font-size:14px;font-weight:600}.ship-week h3 b{display:block;margin-bottom:2px;color:var(--fg);font-size:21px;font-weight:760;font-stretch:106%}.ship-items{display:grid;gap:12px}.ship-item{display:grid;gap:4px}.ship-item .area-tag{justify-self:start;color:var(--fg-3);font-size:13.5px;font-weight:660}.ship-item p{color:var(--fg-2);font-size:16px;line-height:1.55}.ship-item p strong{color:var(--fg);font-weight:660}.hero{padding-top:16px}.hero-in{display:grid;grid-template-columns:112px minmax(0,1fr);grid-template-areas:"photo id" "more more";align-items:end;gap:20px 16px}.hero-photo{grid-area:photo;width:112px;border-radius:10px;background:#fff;box-shadow:0 0 0 1px var(--line)}.hero-id{grid-area:id;min-width:0}.hero-more{grid-area:more}.hero h1{font-size:clamp(34px,10.6vw,112px);font-weight:830;font-stretch:112%;letter-spacing:-.035em;line-height:.9}.hero-role{margin-top:10px;font-size:17px;font-weight:650;line-height:1.3}.hero-line{max-width:46ch;color:var(--fg-2);font-size:17.5px;line-height:1.5}.hero-place{margin-top:8px;color:var(--fg-3);font-size:15.5px}.hero-cta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:20px}@media(max-width:360px){.hero-in{grid-template-columns:92px minmax(0,1fr)}.hero-photo{width:92px}}.diff{margin-top:28px}.diff h2{margin-bottom:12px;color:var(--fg-2);font-size:16px;font-weight:700}.diff ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.diff li:first-child{grid-column:1 / -1}.diff ul a{display:grid;align-content:start;gap:8px;height:100%;padding:16px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:var(--shadow);text-decoration:none;transition:border-color .2s}.diff ul a:hover{border-color:var(--line-2)}.diff b{color:var(--light-ink);font-size:clamp(28px,8.4vw,46px);font-weight:820;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;white-space:nowrap}.diff li:first-child b{font-size:clamp(40px,12vw,46px)}.diff span{color:var(--fg-2);font-size:15px;line-height:1.38}.diff-more{margin-top:14px}.sec{padding-top:64px}.sec-head h2{font-size:clamp(36px,9.6vw,64px);font-weight:820;font-stretch:108%;letter-spacing:-.03em;line-height:.98}.sec-head p{max-width:54ch;margin-top:12px;color:var(--fg-2);font-size:17.5px;line-height:1.5}.ptabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:22px 0 16px}.ptabs [role=tab]{display:flex;align-items:center;gap:10px;min-height:50px;padding:8px 12px;border:1.5px solid var(--line);border-radius:8px;color:var(--fg-2);font-size:15.5px;font-weight:640;line-height:1.25;text-align:left;transition:border-color .2s,background .2s,color .2s}.ptabs [role=tab]:before{content:"";flex:none;width:10px;height:10px;border-radius:2px;background:var(--c)}.ptabs [role=tab]:hover{border-color:var(--line-2);color:var(--fg)}.ptabs [role=tab][aria-selected=true]{border-color:var(--c);background:var(--card);box-shadow:var(--shadow);color:var(--fg);font-weight:740}html:not(.js) .ptabs,html:not(.js) .pnext{display:none}.js .projs .proj{display:none}.js .projs .proj.is-active{display:grid;animation:pin .35s var(--ease-out)}@keyframes pin{0%{opacity:0;transform:translateY(6px)}}.projs{display:grid;gap:24px}.proj{position:relative;display:grid;overflow:hidden;overflow:clip;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.proj:before{content:"";position:absolute;z-index:2;top:0;left:0;right:0;height:4px;background:var(--c)}.proj-vis{position:relative;min-width:0;background:var(--bg-2)}.proj-vis>img{width:100%;aspect-ratio:1090 / 816;object-fit:contain;background:#0b0f15}.proj-body{display:grid;align-content:start;gap:18px;min-width:0;padding:22px 18px 24px;container-type:inline-size}.proj-tag{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;color:var(--fg-3);font-size:15px;font-weight:600}.proj-tag b{display:inline-flex;align-items:center;gap:8px;color:var(--fg-2);font-weight:700}.proj-tag b:before{content:"";width:10px;height:10px;border-radius:2px;background:var(--c)}.proj h3{margin-top:-6px;font-size:clamp(32px,8.6vw,46px);font-weight:820;font-stretch:106%;letter-spacing:-.03em;line-height:1}.proj-line{margin-top:-8px;font-size:19px;font-weight:540;line-height:1.4}.blk h4{margin-bottom:7px;color:var(--fg-3);font-size:15px;font-weight:740}.blk p{color:var(--fg-2);line-height:1.55}.blk ul{display:grid;gap:9px}.blk li{position:relative;padding-left:20px;color:var(--fg-2);line-height:1.5}.blk li:before{content:"";position:absolute;top:.72em;left:0;width:10px;height:2.5px;border-radius:2px;background:var(--c)}.helped{padding:16px;border-radius:12px;background:var(--card-2);background:color-mix(in oklab,var(--c) 9%,var(--card))}.helped>p{color:var(--fg);font-weight:560}.pnums{display:grid;gap:12px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.pnums li{display:grid;gap:2px;padding:0}.pnums li:before{display:none}@container (min-width: 430px){.pnums li{grid-template-columns:minmax(112px,max-content) minmax(0,1fr);align-items:baseline;gap:16px}}.pnums b{color:var(--fg);font-size:25px;font-weight:820;font-stretch:96%;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}.pnums span{color:var(--fg-2);font-size:15.5px;line-height:1.42}.pstack{color:var(--fg-3);font-size:15px;line-height:1.55}.pstack b{margin-right:6px;color:var(--fg-2);font-weight:700}.pfoot{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;padding-top:4px}.pnext{margin-left:auto;white-space:normal;text-align:left}.pfig{margin:0}.pfig img{width:100%;aspect-ratio:1090 / 816;border-radius:8px;object-fit:contain;background:#0b0f15}.pfig figcaption{margin-top:8px;color:var(--fg-3);font-size:14.5px;line-height:1.45}.pfig-wide{display:none;padding:18px}.gismap{display:grid}.gismap-map{position:relative;aspect-ratio:1 / 1;overflow:hidden;background:var(--sea)}.gismap-map svg{position:absolute;inset:0;width:100%;height:100%}.gismap .land{fill:var(--land);stroke:var(--land-edge);stroke-width:1.4;stroke-linejoin:round}.gismap .sea-lab{fill:var(--fg-3);font:italic 500 11px var(--f-ui)}.gismap [data-layer]{transition:opacity .35s}.gismap [data-layer].is-hidden{opacity:0}.gismap .home{fill:var(--good);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) calc(var(--i) * 12ms)}.gismap .deal{fill:var(--light);transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .5s cubic-bezier(.3,1.6,.5,1) calc(.4s + var(--i) * 40ms)}.gismap .ring{fill:none;stroke:var(--light);stroke-width:1.6;transform-box:fill-box;transform-origin:center;opacity:0;animation:ping 2.6s ease-out infinite calc(var(--i) * -.19s);animation-play-state:paused}.gismap .heat{fill:url(#heat);opacity:0;transition:opacity 1s .2s}.gismap .bb{fill:var(--fg)}.gismap .bb-ring{fill:none;stroke:var(--fg-2);stroke-width:1.2;stroke-dasharray:3 4;opacity:0;transition:opacity .8s .9s}.gismap.is-live .home,.gismap.is-live .deal{transform:scale(1)}.gismap.is-live .heat{opacity:1}.gismap.is-live .bb-ring{opacity:.9}.gismap.is-live.is-near .ring{animation-play-state:running}@keyframes ping{0%{transform:scale(.7);opacity:.95}to{transform:scale(3);opacity:0}}.gismap-cap{position:absolute;bottom:12px;left:14px;z-index:1;max-width:9em;color:var(--fg-3);font-size:13.5px;font-weight:600;line-height:1.3}.gismap-legend{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:6px;padding:12px 14px 14px;border-top:1px solid var(--line)}.gismap-legend button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 12px;border:1px solid var(--line-2);border-radius:6px;background:var(--card);font-size:14.5px;font-weight:620;transition:opacity .2s}.gismap-legend button[aria-pressed=false]{opacity:.45}.gismap-legend i{width:10px;height:10px;border-radius:2px}.no-js .gismap-legend{display:none}.zoho{padding:24px 18px 22px;background:var(--bg-2);background:radial-gradient(120% 70% at 0% 0%,color-mix(in oklab,var(--c) 20%,transparent),transparent 62%),var(--bg-2)}.zoho>p{margin-bottom:14px;color:var(--fg-2);font-size:15px;font-weight:660}.zf-wrap{position:relative}.zf{position:relative;display:grid}.zf-track{position:absolute;top:28px;height:0;left:16px;width:2px;border-radius:2px;background:var(--line-2)}.zf-track i{position:absolute;inset:0;border-radius:2px;background:var(--c);transform:scaleY(0);transform-origin:top;transition:transform .7s cubic-bezier(.4,0,.2,1)}.zf li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:56px;padding:6px 0}.zf li:before{content:"";justify-self:center;width:16px;height:16px;border:2.5px solid var(--line-2);border-radius:50%;background:var(--bg-2);transition:border-color .3s,background .3s,box-shadow .3s}.zf li.is-done:before{border-color:var(--c)}.zf li.is-on:before{border-color:var(--c);background:var(--c);box-shadow:0 0 0 7px color-mix(in oklab,var(--c) 26%,transparent)}.zf b{display:block;font-size:17px;font-weight:740;line-height:1.25}.zf span{color:var(--fg-2);font-size:15px;line-height:1.35}.zf em{padding:4px 10px;border-radius:6px;background:var(--card);color:var(--light-ink);font-size:15px;font-style:normal;font-weight:800;white-space:nowrap}.zoho small{display:block;margin-top:12px;color:var(--fg-3);font-size:14px}.click-chart{margin:0;padding:26px 18px 20px}.click-big{display:grid;gap:4px}.click-big b{color:var(--light-ink);font-size:clamp(54px,15vw,84px);font-weight:830;font-stretch:96%;letter-spacing:-.04em;line-height:.9}.click-big span{max-width:30ch;font-size:17px;line-height:1.35}.click-plot{position:relative;height:170px;margin-top:34px;touch-action:pan-y;cursor:crosshair}.click-plot svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.click-plot path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.click-plot .before{stroke:var(--fg-3)}.click-plot .after{stroke:var(--light)}.click-plot .fill{stroke:none}.click-plot .base{stroke:var(--line-2);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.click-mark{position:absolute;top:-26px;bottom:0;width:0;border-left:1.5px dashed var(--fg-3)}.click-mark span{position:absolute;top:0;left:7px;color:var(--fg-2);font-size:14px;font-weight:660;white-space:nowrap}.click-dot{position:absolute;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border:2.5px solid var(--bg-2);border-radius:50%;background:var(--light);box-shadow:0 0 0 1px var(--light);pointer-events:none}.click-rule{position:absolute;top:0;bottom:0;width:0;border-left:1px solid var(--line-2);pointer-events:none}.click-tip{position:absolute;z-index:2;padding:8px 11px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);box-shadow:var(--shadow);font-size:14px;line-height:1.35;white-space:nowrap;pointer-events:none;transform:translate(-50%,-100%)}.click-tip b{display:block;font-weight:720}.click-axis{display:flex;justify-content:space-between;margin-top:8px;color:var(--fg-3);font-size:14px}.click-chart figcaption{margin-top:6px;color:var(--fg-3);font-size:14px;line-height:1.45}.hires{display:grid;gap:14px;margin-top:24px}.hires>h3{margin-top:18px;font-size:22px;font-weight:780}.hires>p{margin-top:-6px;color:var(--fg-2)}.hire{position:relative;display:grid;grid-template-columns:112px minmax(0,1fr);gap:14px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);transition:border-color .2s}.hire:hover{border-color:var(--line-2)}.hire img{width:112px;height:84px;border-radius:6px;object-fit:contain;background:#0b0f15}.hire h4{font-size:18px;font-weight:760;line-height:1.25}.hire h4 a{text-decoration:none}.hire h4 a:after{content:"";position:absolute;inset:0}.hire p{margin-top:4px;color:var(--fg-2);font-size:15.5px;line-height:1.45}.hire small{display:block;margin-top:6px;color:var(--fg);font-size:15px;font-weight:660}.all-work{margin-top:26px}.d3{display:grid;gap:22px;margin-top:28px}.d3-card{display:grid;align-content:start;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.d3-media{position:relative;overflow:hidden;background:#000}.d3-body{display:grid;gap:10px;padding:18px 18px 20px}.d3-body h3{font-size:25px;font-weight:800;font-stretch:104%;letter-spacing:-.015em;line-height:1.15}.d3-body>p{color:var(--fg-2);line-height:1.5}.film video{width:100%;aspect-ratio:16 / 9;object-fit:contain;background:#000}.film-play{position:absolute;left:14px;bottom:14px;display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 18px 0 14px;border-radius:8px;background:#fff;color:#111;font-size:15.5px;font-weight:700;box-shadow:0 8px 24px -8px #0009}.film-play:before{content:"";border-left:12px solid currentColor;border-top:7.5px solid transparent;border-bottom:7.5px solid transparent}.story{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:4px}.story button{display:grid;gap:6px;text-align:left}.story img{width:100%;aspect-ratio:16 / 9;border-radius:6px;object-fit:contain;background:#000;box-shadow:inset 0 0 0 1px var(--line)}.story span{color:var(--fg-2);font-size:14.5px;font-weight:620}.ov{position:relative;aspect-ratio:3 / 2}.ov img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1s ease}.ov img.is-on{opacity:1}.seg{display:flex;flex-wrap:wrap;gap:6px}.seg button{min-height:42px;padding:0 14px;border:1px solid var(--line-2);border-radius:8px;background:var(--card);font-size:15px;font-weight:640;transition:background .2s,color .2s,border-color .2s}.seg button[aria-pressed=true]{border-color:var(--fg);background:var(--fg);color:var(--bg)}.seg-sub button{min-height:38px;font-size:14.5px}.seg-sub button[aria-pressed=true]{border-color:var(--light);background:var(--light);color:var(--on-light)}.pano{position:relative;aspect-ratio:4 / 3;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}.pano.is-drag{cursor:grabbing}.pano canvas{width:100%;height:100%}.pano-hint{position:absolute;left:50%;bottom:14px;padding:8px 14px;border-radius:8px;background:#0000009e;color:#fff;font-size:14.5px;font-weight:620;white-space:nowrap;pointer-events:none;transform:translate(-50%);transition:opacity .5s}.pano-hint.is-gone{opacity:0}.pano-flat{display:none;height:100%;overflow-x:auto}.pano-flat img{height:100%;width:auto;max-width:none}.pano.no-gl canvas{display:none}.pano.no-gl .pano-flat{display:block}.d3-nums{display:grid;gap:10px;margin-top:22px}.d3-nums li{display:grid;grid-template-columns:minmax(118px,max-content) minmax(0,1fr);align-items:baseline;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.d3-nums b{font-size:26px;font-weight:820;font-stretch:96%;letter-spacing:-.02em;line-height:1.05;white-space:nowrap}.d3-nums span{color:var(--fg-2);font-size:14.5px;line-height:1.38}.d3-more{margin-top:22px}@media(max-width:400px){.d3-nums li{grid-template-columns:1fr;gap:4px}}.skills{display:grid;gap:14px;margin-top:28px}.skill{display:grid;align-content:start;gap:14px;padding:20px 18px;border:1px solid var(--line);border-radius:16px;background:var(--card);container-type:inline-size}.skill h3{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;font-stretch:104%}.skill h3:before{content:"";width:12px;height:12px;border-radius:2px;background:var(--c)}.sk{display:grid;gap:9px 16px}@container (min-width: 300px){.sk{grid-template-columns:repeat(2,minmax(0,1fr))}}.sk li{position:relative;padding-left:14px;font-size:15.5px;font-weight:540;line-height:1.35}.sk li:before{content:"";position:absolute;top:.5em;left:0;width:6px;height:6px;background:var(--c)}.used{color:var(--fg-3);font-size:15px;line-height:1.5}.used a{color:var(--fg-2);font-weight:660;text-decoration-color:var(--line-2);text-underline-offset:3px}.career{display:grid;gap:28px;margin-top:28px}.ctl{display:grid}.ctl li{position:relative;display:grid;gap:3px;padding:0 0 22px 28px}.ctl li:before{content:"";position:absolute;top:7px;left:0;width:12px;height:12px;border:2.5px solid var(--fg-3);border-radius:50%;background:var(--bg)}.ctl li:after{content:"";position:absolute;top:24px;bottom:2px;left:6.5px;width:2px;background:var(--line-2)}.ctl li:last-child{padding-bottom:0}.ctl li:last-child:after{display:none}.ctl li.is-aha:before{border-color:var(--light);background:var(--light)}.ctl b{font-size:18px;font-weight:760;line-height:1.3}.ctl small{color:var(--fg-3);font-size:15px;font-weight:560}.ctl span{color:var(--fg-2);font-size:16px;line-height:1.5}.ctl a{color:var(--fg);font-weight:640;text-decoration-color:var(--light);text-underline-offset:3px}.edu{display:grid;grid-template-columns:120px minmax(0,1fr);align-items:center;gap:16px;padding:14px;border:1px solid var(--line);border-radius:16px;background:var(--card)}.edu img{width:120px;aspect-ratio:3 / 4;border-radius:8px;object-fit:contain;background:#111}.edu b{display:block;font-size:19px;font-weight:780;line-height:1.25}.edu span{display:block;margin-top:4px;color:var(--fg-2);font-size:15.5px;line-height:1.45}.contact{margin-top:28px;padding:22px 18px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:var(--shadow)}.c-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:14px 0;border-bottom:1px solid var(--line)}.c-row:first-child{padding-top:0}.c-k{color:var(--fg-3);font-size:15px;font-weight:640}.c-v{grid-column:1 / -1;min-width:0;font-size:clamp(16px,5vw,26px);font-weight:720;letter-spacing:-.01em;overflow-wrap:anywhere}a.c-v{text-decoration-color:var(--light);text-decoration-thickness:2px;text-underline-offset:4px}.contact .btn-solid{width:100%;margin-top:18px}@media(min-width:640px){:root{--pad: 28px}.row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px}.row-meta{text-align:right}.prose pre{margin-inline:0;padding:20px 22px;border-radius:10px}.case-gallery,.toolbox,.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ps{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}.ps .facts{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}.ps .facts div:nth-child(3){grid-column:auto}.tl-item{grid-template-columns:170px minmax(0,1fr);gap:20px}.ship-item{grid-template-columns:110px minmax(0,1fr);gap:16px}.foot-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:720px){.skills{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:760px){.d3-nums{grid-template-columns:repeat(3,minmax(0,1fr))}.d3-nums li{grid-template-columns:1fr;gap:6px;padding:18px 20px}.d3-nums b{font-size:34px}}@media(min-width:900px){body{font-size:18px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;row-gap:60px}.about-grid{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,6vw,96px);align-items:start}.journey-grid{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:64px;align-items:start}.journey-aside{position:sticky;top:calc(var(--top-h) + 32px)}.values{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.c-plain{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.c-helped{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.c-next{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:48px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-card.wide{grid-column:1 / -1}.kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.method{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.plot{height:280px}.foot-in{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) minmax(0,1fr);align-items:start;gap:40px}.hero{padding-top:40px}.hero-in{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"id photo" "more photo";gap:26px 64px}.hero-photo{width:340px;border-radius:14px}.hero-role{margin-top:16px;font-size:20px}.hero-cta{display:flex}.diff{margin-top:44px}.diff ul{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.diff li:first-child{grid-column:auto}.diff li:first-child b,.diff b{font-size:clamp(30px,2.9vw,44px)}.diff ul a{padding:22px 18px}.sec{padding-top:104px}.ptabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:22px}.projs{gap:32px}.proj{grid-template-columns:minmax(0,1.06fr) minmax(0,1fr)}.proj:nth-child(2n) .proj-vis{order:2}.proj-vis{position:sticky;top:calc(var(--top-h) + 16px);align-self:start}.proj-body{padding:34px 36px 36px}.pfig-wide{display:block}.hires{grid-template-columns:1fr 1fr}.hires>h3,.hires>p{grid-column:1 / -1}.d3{grid-template-columns:1fr 1fr;gap:28px}.d3-pano{grid-column:1 / -1}.pano{aspect-ratio:21 / 9}.d3-body{padding:22px 26px 26px}.career{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start;gap:48px}.edu{grid-template-columns:1fr}.edu img{width:100%}.contact{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;padding:32px 36px}.contact .c-row:nth-child(2){padding-top:0}.contact .btn-solid{grid-column:1 / -1;width:auto;justify-self:start}}@media(min-width:1100px){.skills{grid-template-columns:repeat(4,minmax(0,1fr))}.article{grid-template-columns:minmax(0,1fr) 240px;gap:72px;align-items:start}.toc{position:sticky;top:calc(var(--top-h) + 28px);display:grid;gap:12px}.toc>p{color:var(--fg-3);font-size:14px;font-weight:660}.toc ol{display:grid;gap:2px;border-left:1px solid var(--line)}.toc a{display:block;margin-left:-1px;padding:6px 0 6px 14px;border-left:2px solid transparent;color:var(--fg-3);font-size:14.5px;line-height:1.4;text-decoration:none;transition:color .2s,border-color .2s}.toc a:hover{color:var(--fg)}.toc a.is-active{color:var(--fg);border-left-color:var(--light)}.toc-share{display:grid;justify-items:start;gap:2px;padding-top:12px;border-top:1px solid var(--line)}.toc-share a,.toc-share button{display:inline-flex;align-items:center;min-height:36px;color:var(--fg-2);font-size:14.5px;text-decoration:none}.toc-share a:hover,.toc-share button:hover{color:var(--fg)}}@media(pointer:coarse){.text-link{display:inline-flex;align-items:center;min-height:44px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:1ms!important;transition-delay:0s!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media print{.bar,.tabbar,.foot,.progress,.skip,.toast{display:none!important}body{padding-bottom:0;background:#fff;color:#000}}
