@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-vietnamese-opsz-normal.05s4n_fha38ly.woff2)format("woff2-variations");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:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-ext-opsz-normal.0hsq6bh7gcyqp.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(../media/bricolage-grotesque-latin-opsz-normal.2ej1fmte5yjhi.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-ext-wght-normal.1o60yhwqd7ueg.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-cyrillic-wght-normal.0n0q_nh7u2mrm.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-vietnamese-wght-normal.0nt7ek_nfk5a4.woff2)format("woff2-variations");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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-ext-wght-normal.39q78sztp1ci5.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(../media/geist-latin-wght-normal.20f3xrkj613ah.woff2)format("woff2-variations");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}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:block))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Noto Sans,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.container{width:100%}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, )}.resize{resize:both}.filter{filter:var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, )}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}:root{--ink:#0b0d12;--ink-2:#14171e;--ink-3:#1c2029;--paper:#fff;--paper-2:#f3f3f1;--paper-3:#e8e8e4;--on-paper:#0e1014;--muted-paper:#50555f;--line-paper:#e2e2de;--on-ink:#f4f4f2;--muted-ink:#a9adb6;--line-ink:#2a2e37;--accent:#f2541b;--accent-2:#f59e0b;--accent-ink:#c2410c;--accent-fg:#c2410c;--accent-text:#ff8a4c;--accent-soft:#ffe7da;--ok:#1f7a4d;--ok-ink:#63d69c;--warn:#8a5a00;--warn-ink:#f0bf63;--display:"Bricolage Grotesque Variable", ui-sans-serif, system-ui, sans-serif;--font:"Geist Variable", ui-sans-serif, system-ui, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .7, .2, 1);--spring:cubic-bezier(.34, 1.4, .64, 1);--gut:clamp(16px, 4vw, 56px);--sec:clamp(72px, 9vw, 136px);--r-lg:clamp(20px, 2.4vw, 32px);--r-md:18px;--r-sm:12px;--head-h:76px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0c0e13;--paper-2:#15181f;--paper-3:#1e222b;--on-paper:#f2f2f0;--muted-paper:#a6abb5;--line-paper:#262a33;--ink:#050608;--ink-2:#111319;--ink-3:#1a1d25;--line-ink:#262a33;--accent-fg:#ff8a4c;--accent-soft:#3a1d10}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--head-h) + 24px)}body{font-family:var(--font);background:var(--paper);color:var(--on-paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:1.0625rem;line-height:1.6}main{display:block}a{color:inherit}img,svg,video{max-width:100%}::selection{background:var(--accent);color:var(--ink)}:focus-visible{outline:2px solid var(--accent-fg);outline-offset:3px;border-radius:4px}.dark :focus-visible{outline-color:var(--accent-text)}.skip{z-index:100;color:#000;background:#fff;border-radius:99px;padding:10px 16px;position:absolute;top:8px;left:-999px}.skip:focus{left:8px}.wrap{max-width:1440px;padding-inline:var(--gut);margin-inline:auto}.narrow{max-width:860px}.wrap.narrow{padding-inline:var(--gut);max-width:calc(860px + 2 * var(--gut));margin-inline:auto}.band{padding-block:var(--sec);position:relative}.band.tight{padding-top:0}.light{background:var(--paper);color:var(--on-paper)}.band.soft{background:var(--paper-2);color:var(--on-paper)}.dark{background:var(--ink);color:var(--on-ink);--line-paper:var(--line-ink);--muted-paper:var(--muted-ink);--accent-fg:var(--accent-text)}.light+.light:not(.soft){padding-top:0}.soft+.light,.dark+.light{padding-top:var(--sec)}.display,.display-2,.h1,.h2,.h3,.statement,.statement-sm{font-family:var(--display);font-optical-sizing:auto;text-wrap:balance}.display,.display-2,.h1,.h2{letter-spacing:-.04em;font-weight:650;line-height:.98}.display{letter-spacing:-.05em;font-size:clamp(3rem,7.4vw,7.6rem);line-height:.92}.display-2{font-size:clamp(2.6rem,6vw,6.2rem);line-height:.95}.h1{font-size:clamp(2.6rem,5.8vw,5.8rem);line-height:.95}.h2{font-size:clamp(2rem,3.8vw,3.6rem)}.h3{letter-spacing:-.02em;font-size:clamp(1.35rem,1.9vw,1.75rem);font-weight:600;line-height:1.15}.h3.gap{margin-top:40px;margin-bottom:10px}.statement{letter-spacing:-.03em;max-width:24ch;font-size:clamp(1.9rem,3.8vw,3.6rem);font-weight:500;line-height:1.08}.statement-sm{letter-spacing:-.02em;text-wrap:pretty;font-size:clamp(1.35rem,2.4vw,2.1rem);font-weight:500;line-height:1.25}.lead{max-width:56ch;color:var(--muted-paper);text-wrap:pretty;margin-top:22px;font-size:clamp(1.1rem,1.45vw,1.35rem);line-height:1.5}.dark .lead{color:var(--muted-ink)}.h2-lead{color:var(--muted-paper)}.accent-word{color:var(--accent-fg)}.sec-head{max-width:920px;margin-bottom:clamp(36px,5vw,64px)}.sec-t{margin-bottom:clamp(24px,3vw,44px)}.sec-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 40px;margin-bottom:clamp(32px,4vw,56px);display:flex}.sec-row .sec-head{margin-bottom:0}.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start;gap:clamp(28px,5vw,96px);display:grid}.split>.sec-head{top:calc(var(--head-h) + 32px);margin-bottom:0;position:sticky}.kn{color:var(--accent-fg);font-variant-numeric:tabular-nums;font-size:.86rem;font-weight:600}.eyebrow{color:var(--accent-fg);margin-bottom:14px;font-size:1rem;font-weight:600}.btn{--bg:var(--on-paper);--fg:var(--paper);background:var(--bg);min-height:52px;color:var(--fg);border:1px solid var(--bg);cursor:pointer;transition:transform .25s var(--spring), background .2s, color .2s, border-color .2s;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:12px 26px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{background:var(--accent);border-color:var(--accent);color:var(--ink);transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn:after{content:"→";transition:transform .25s var(--ease);display:inline-block}.btn:hover:after{transform:translate(4px)}.btn.no-arrow:after,.btn-sm:after,.search .btn:after,.form .btn:after{content:none}.dark .btn{--bg:var(--on-ink);--fg:var(--ink)}.btn-accent,.dark .btn-accent{--bg:var(--accent);--fg:var(--ink)}.btn-accent:hover{background:var(--on-paper);border-color:var(--on-paper);color:var(--paper)}.btn-ghost,.dark .btn-ghost{color:inherit;background:0 0;border-color:currentColor}.btn-ghost:hover{color:var(--accent-fg);border-color:var(--accent-fg);background:0 0}.btn-sm{min-height:44px;padding:8px 18px;font-size:.95rem}.btn[disabled]{opacity:.6;cursor:progress;transform:none}.actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:34px;display:flex}.link{text-underline-offset:5px;cursor:pointer;color:inherit;background:0 0;border:0;padding:0;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.link:hover{color:var(--accent-fg);text-decoration-thickness:2px}.more{margin-top:40px;display:inline-flex}.arrow-link{align-items:center;gap:10px;padding:10px 0;font-weight:600;text-decoration:none;display:inline-flex}.arrow-link span{background:var(--on-paper);width:40px;height:40px;color:var(--paper);transition:transform .3s var(--spring), background .2s;border-radius:50%;place-items:center;display:grid}.dark .arrow-link span{background:var(--on-ink);color:var(--ink)}.arrow-link:hover span{background:var(--accent);color:var(--ink);transform:rotate(-45deg)}.site-header{z-index:50;padding:10px var(--gut) 0;pointer-events:none;position:sticky;top:0}.head-row{pointer-events:auto;background:var(--paper);border-radius:999px;align-items:center;gap:18px;min-height:64px;padding:8px 8px 8px 22px;display:flex}@supports (color:color-mix(in lab, red, red)){.head-row{background:color-mix(in oklab, var(--paper) 86%, transparent)}}.head-row{-webkit-backdrop-filter:blur(16px)saturate(1.4);border:1px solid var(--line-paper);transition:box-shadow .3s, background .3s, max-width .4s var(--ease);max-width:1328px;margin-inline:auto}.site-header .wrap.head-row{padding-inline:22px 8px}@media (max-width:760px){.site-header .wrap.head-row{padding-inline:16px 6px}}.floating .head-row{box-shadow:0 10px 40px #0a0c121a}[data-theme=dark] .floating .head-row{box-shadow:0 10px 40px #00000080}.head-row>a{flex:none;text-decoration:none;display:flex}.wordmark{width:auto;height:34px;display:block}.wordmark-pair{display:inline-flex}.wm-dark,[data-theme=dark] .wm-light{display:none}[data-theme=dark] .wm-dark{display:block}.nav-desktop{margin-inline:auto}.nav-desktop ul{gap:2px;display:flex}.nav-desktop li{position:relative}.nav-desktop .nav-a{min-height:44px;color:var(--muted-paper);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.97rem;font-weight:500;text-decoration:none;transition:color .2s,background .2s;display:inline-flex}.nav-desktop .nav-a:hover,.nav-desktop .nav-a[aria-current],.nav-desktop .nav-a[aria-expanded=true]{color:var(--on-paper);background:var(--paper-2)}.nav-a svg.chev{transition:transform .25s var(--ease)}.nav-a[aria-expanded=true] svg.chev{transform:rotate(180deg)}.head-end{align-items:center;gap:6px;margin-left:auto;display:flex}.nav-desktop+.head-end{margin-left:0}.icon-btn{width:44px;height:44px;color:inherit;cursor:pointer;transition:background .2s, transform .3s var(--spring);font:inherit;background:0 0;border:0;border-radius:50%;place-items:center;text-decoration:none;display:grid}.icon-btn:hover{background:var(--paper-2)}.theme-toggle:hover{transform:rotate(-20deg)}.search-btn{border:1px solid var(--line-paper);background:var(--paper);min-height:44px;color:var(--muted-paper);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:8px 10px 8px 14px;font-size:.92rem;transition:border-color .2s,color .2s;display:inline-flex}.search-btn:hover{border-color:var(--on-paper);color:var(--on-paper)}.search-btn svg,.nav-a svg{flex:none}.search-btn kbd{white-space:nowrap;font-family:var(--font);background:var(--paper-2);border-radius:6px;padding:2px 7px;font-size:.78rem}.lang{font-size:.92rem;font-weight:600}.head-cta{min-height:48px}.burger{display:none}.mega{pointer-events:auto;width:min(1100px, calc(100vw - 2 * var(--gut)));background:var(--paper);color:var(--on-paper);border:1px solid var(--line-paper);border-radius:var(--r-lg);position:absolute;top:calc(100% + 8px);left:50%;overflow:hidden;translate:-50%;box-shadow:0 30px 80px #0a0c122e}[data-theme=dark] .mega{box-shadow:0 30px 80px #0009}.mega-in{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}.mega-list{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:2px;padding:14px;display:grid}.mega-list a{border-radius:14px;align-items:flex-start;gap:14px;padding:12px;text-decoration:none;transition:background .2s;display:flex}.mega-list a:hover,.mega-list a:focus-visible,.mega-list a[data-on=true]{background:var(--paper-2)}.mega-list b{font-size:.98rem;font-weight:600;line-height:1.3;display:block}.mega-list small{-webkit-line-clamp:2;line-clamp:2;color:var(--muted-paper);-webkit-box-orient:vertical;margin-top:2px;font-size:.86rem;line-height:1.4;display:-webkit-box;overflow:hidden}.ico-tile{background:var(--paper-2);width:40px;height:40px;color:var(--on-paper);transition:background .2s, color .2s, transform .3s var(--spring);border-radius:12px;flex:none;place-items:center;display:grid}.mega-list a:hover .ico-tile,.mega-list a[data-on=true] .ico-tile{background:var(--accent);color:var(--ink);transform:rotate(-8deg)}.mega-side{background:var(--paper-2);flex-direction:column;gap:14px;padding:22px;display:flex}.mega-art{aspect-ratio:4/3;border-radius:var(--r-md);background:var(--paper);place-items:center;display:grid;position:relative;overflow:hidden}.mega-art img{object-fit:contain;width:100%;height:100%}.mega-art img.shot{object-fit:cover;object-position:top}.mega-side h3{font-family:var(--display);letter-spacing:-.02em;font-size:1.5rem;font-weight:600;line-height:1.1}.mega-side p{color:var(--muted-paper);font-size:.95rem}.mega-side .arrow-link{margin-top:auto}.mega-foot{border-top:1px solid var(--line-paper);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:14px 26px;font-size:.94rem;display:flex}.mega-foot p{color:var(--muted-paper)}.cmdk{pointer-events:auto;width:100%;max-width:none;height:100%;max-height:none;color:var(--on-paper);background:0 0;border:0;padding:0}.cmdk::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#080a0e80}.cmdk[open]{place-items:start center;padding:min(14vh,120px) 16px 16px;display:grid}.cmdk-box{background:var(--paper);border:1px solid var(--line-paper);width:min(680px,100%);animation:cmdk-in .28s var(--spring);border-radius:24px;overflow:hidden;box-shadow:0 40px 100px #00000059}@keyframes cmdk-in{0%{opacity:0;transform:translateY(12px)scale(.97)}}.cmdk-in{border-bottom:1px solid var(--line-paper);align-items:center;gap:12px;padding:6px 18px;display:flex}.cmdk-in input{min-height:60px;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;font-size:1.15rem}.cmdk-in kbd{font-family:var(--font);background:var(--paper-2);color:var(--muted-paper);border-radius:6px;padding:3px 8px;font-size:.78rem}.cmdk-list{overscroll-behavior:contain;max-height:min(56vh,480px);padding:8px;overflow-y:auto}.cmdk-group{color:var(--muted-paper);padding:12px 12px 6px;font-size:.8rem;font-weight:600}.cmdk-x{flex:none;display:none}.cmdk-list [role=option]{color:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:11px 12px;text-decoration:none;display:flex}.cmdk-list [role=option] .ico-tile{border-radius:10px;width:34px;height:34px}.cmdk-list [role=option] span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cmdk-list [role=option][aria-selected=true]{background:var(--paper-2)}.cmdk-list [role=option][aria-selected=true] .ico-tile{background:var(--accent);color:var(--ink)}.cmdk-empty{text-align:center;color:var(--muted-paper);padding:28px 16px}.cmdk-foot{border-top:1px solid var(--line-paper);color:var(--muted-paper);gap:18px;padding:10px 18px;font-size:.8rem;display:flex}.sheet{pointer-events:auto;z-index:70;background:var(--paper);color:var(--on-paper);overscroll-behavior:contain;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.sheet-top{padding:16px var(--gut);background:var(--paper);z-index:1;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.sheet nav{padding:8px var(--gut) 24px;flex:1}.sheet nav>ul>li{border-bottom:1px solid var(--line-paper)}.sheet nav>ul>li>a,.sheet summary{font-family:var(--display);letter-spacing:-.03em;cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;font-size:clamp(1.9rem,8vw,2.6rem);font-weight:600;text-decoration:none;list-style:none;display:flex}.sheet summary::-webkit-details-marker{display:none}.sheet summary svg{transition:transform .25s var(--ease);flex:none}.sheet details[open] summary svg{transform:rotate(45deg)}.sheet-sub{gap:2px;padding:0 0 16px;display:grid}.sheet-sub a{align-items:center;gap:12px;padding:8px 0;font-size:1.05rem;font-weight:500;text-decoration:none;display:flex}.sheet-sub .ico-tile{width:34px;height:34px}.sheet-sub .link{padding:10px 0;font-weight:600}.sheet-end{padding:16px var(--gut) calc(24px + env(safe-area-inset-bottom));gap:12px;display:grid}.sheet-end .btn{width:100%}.sheet-tools{align-items:center;gap:8px;display:flex}.sheet-tools .search-btn{flex:1}@media (prefers-reduced-motion:no-preference){.sheet[data-open] nav>ul>li{animation:sheet-in .5s var(--ease) both;animation-delay:calc(var(--i) * 45ms)}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}}.crumbs{color:var(--muted-paper);margin-bottom:28px;font-size:.93rem}.crumbs ol{flex-wrap:wrap;gap:6px 10px;display:flex}.crumbs li:not(:last-child):after{content:"/";opacity:.5;margin-left:10px}.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--on-paper);text-decoration:underline}.page-hero,.service-hero{padding-block:clamp(40px,6vw,96px) clamp(56px,7vw,112px);overflow:clip}.service-hero-grid{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(24px,4vw,72px);display:grid}.page-hero .wrap.narrow{margin-inline:auto}.project-logo{width:auto;max-height:44px;margin-bottom:24px}[data-theme=dark] .light .project-logo{filter:invert()hue-rotate(180deg)}.hero-art{aspect-ratio:1;position:relative}.hero-art:before{content:"";background:var(--accent-soft);z-index:0;border-radius:50%;position:absolute;inset:12% 10% 8%}.hero-art>*{z-index:1;position:relative}.side-scene{height:clamp(320px,38vw,560px)}.band.sec-hero{padding-block:clamp(32px,5vw,72px) clamp(40px,5vw,72px);overflow:clip}.hero{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(16px,3vw,48px);min-height:min(72vh,700px);margin-bottom:clamp(24px,3vw,48px);display:grid}.hero .display{max-width:11ch}.hero .lead{max-width:46ch}.hero-stage{height:clamp(360px,46vw,680px);position:relative}.hero-stage:before{content:"";background:var(--accent-soft);border-radius:50%;position:absolute;inset:10% 4% 6%}.hero-stage .scene{position:absolute;inset:0}.hero-word{display:inline-block}.hero .display{padding-bottom:.08em;overflow:hidden}@media (prefers-reduced-motion:no-preference){.hero-word{animation:word-in .9s var(--ease) both;animation-delay:calc(var(--i) * 70ms + 80ms)}@keyframes word-in{0%{transform:translateY(.5em)rotate(3deg)}}.hero .lead,.hero .actions{animation:word-in .9s var(--ease) both;animation-delay:.45s}.hero .actions{animation-delay:.55s}}.ticker{border-block:1px solid var(--line-paper);padding-block:18px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ticker-track{gap:48px;width:max-content;animation:48s linear infinite tick;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker a,.ticker span{font-family:var(--display);letter-spacing:-.03em;white-space:nowrap;align-items:center;gap:48px;font-size:clamp(1.4rem,2.4vw,2.2rem);font-weight:600;text-decoration:none;display:inline-flex}.ticker a:after,.ticker span:after{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px}.ticker a:hover{color:var(--accent-fg)}.ticker.rev .ticker-track{animation-direction:reverse}@keyframes tick{to{transform:translate(-50%)}}.scene{width:100%;height:100%;position:relative;overflow:hidden}.scene canvas{opacity:0;width:100%;height:100%;transition:opacity .8s;position:absolute;inset:0}.scene[data-ready] canvas{opacity:1}.scene-poster{place-items:center;transition:opacity .6s;display:grid;position:absolute;inset:0}.scene[data-ready] .scene-poster{opacity:0}.poster{width:auto;max-width:100%;height:92%}.top{fill:#fff;stroke:#dcdcd6}.side-l{fill:#e3e3de}.side-r{fill:#cfcfc8}.d1{fill:#f1f1ee}.d2{fill:#e4e4df}.d3{fill:var(--accent)}[data-theme=dark] .top{fill:#2b303b;stroke:#3a3f4b}[data-theme=dark] .side-l{fill:#1f232b}[data-theme=dark] .side-r{fill:#171a21}[data-theme=dark] .d1{fill:#353a46}[data-theme=dark] .d2{fill:#424856}.chip{background:var(--paper);color:var(--on-paper);border:1px solid var(--line-paper);opacity:0;white-space:nowrap;pointer-events:none;border-radius:999px;margin:-15px 0 0 10px;padding:5px 12px;font-size:.84rem;font-weight:600;transition:opacity .3s;position:absolute;top:0;left:0;box-shadow:0 8px 20px #0a0c121f}.kit{width:100%;height:auto;display:block}.kit-d,[data-theme=dark] .kit-l{display:none}[data-theme=dark] .kit-d{display:block}.bento{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.bcell{grid-column:span 2;display:flex}.bcell.big{grid-column:span 3}.bcard{border-radius:var(--r-lg);background:var(--paper-2);isolation:isolate;min-height:360px;transition:transform .45s var(--ease), background .3s;flex-direction:column;flex:1;padding:26px;text-decoration:none;display:flex;position:relative;overflow:hidden}.big .bcard{min-height:440px}.bcard-art{z-index:-1;width:72%;transition:transform .7s var(--ease);position:absolute;bottom:-10%;right:-6%;transform:perspective(900px)rotateX(0)rotateY(0)}.big .bcard-art{width:58%;bottom:-8%;right:-2%}.bcard:hover{background:var(--paper-3);transform:translateY(-6px)}.bcard:hover .bcard-art{transform:perspective(900px)rotateY(-10deg)rotateX(6deg)translateY(-10px)scale(1.05)}.bcard-t{font-family:var(--display);letter-spacing:-.03em;max-width:13ch;font-size:clamp(1.5rem,2.2vw,2.2rem);font-weight:600;line-height:1.05}.bcard-x{color:var(--muted-paper);max-width:34ch;margin-top:12px;font-size:.98rem}.big .bcard-x{max-width:40ch}.bcard-go{background:var(--paper);width:48px;height:48px;transition:transform .35s var(--spring), background .2s;border-radius:50%;align-self:flex-start;place-items:center;margin-top:auto;display:grid}.bcard:hover .bcard-go{background:var(--accent);color:var(--ink);transform:rotate(-45deg)}.dark .bcard{background:var(--ink-2);color:var(--on-ink)}.dark .bcard:hover{background:var(--ink-3)}.dark .bcard-go{background:var(--ink)}.irows{border-top:1px solid var(--line-paper)}.irows li{border-bottom:1px solid var(--line-paper)}.irow{grid-template-columns:minmax(0,6fr) minmax(0,5fr) auto;align-items:center;gap:16px 40px;padding-block:clamp(18px,2.4vw,32px);text-decoration:none;display:grid;position:relative}.irow-t{font-family:var(--display);letter-spacing:-.045em;transition:transform .45s var(--ease), color .2s;font-size:clamp(1.9rem,4.4vw,4.2rem);font-weight:600;line-height:1}.irow-x{color:var(--muted-paper);max-width:46ch}.irow-art{pointer-events:none;opacity:0;width:clamp(180px,20vw,300px);transition:opacity .35s, transform .5s var(--spring);z-index:2;position:absolute;top:50%;right:12%;transform:scale(.7)rotate(-6deg)}.irow:hover .irow-t,.irow:focus-visible .irow-t{color:var(--accent-fg);transform:translate(16px)}.irow:hover .irow-art,.irow:focus-visible .irow-art{opacity:1;transform:none}.irow .bcard-go{background:var(--paper-2);margin:0}.irow:hover .bcard-go{background:var(--accent);color:var(--ink);transform:rotate(-45deg)}.alt-rows{gap:14px;display:grid}.alt-row{border-radius:var(--r-lg);background:var(--paper-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(20px,4vw,64px);padding:clamp(24px,4vw,56px);text-decoration:none;transition:background .3s;display:grid}.alt-row:nth-child(2n) .alt-art{order:-1}.alt-row:hover{background:var(--paper-3)}.alt-art{width:100%;max-width:460px;transition:transform .6s var(--ease);justify-self:center}.alt-row:hover .alt-art{transform:perspective(900px)rotateY(-8deg)translateY(-8px)}.alt-row .h2{margin-top:6px}.alt-row p{color:var(--muted-paper);max-width:46ch;margin-top:14px}.alt-row .arrow-link{margin-top:18px}.lcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.lcard a{border-radius:var(--r-lg);background:var(--paper-2);height:100%;min-height:240px;transition:transform .35s var(--ease), background .3s;flex-direction:column;padding:26px;text-decoration:none;display:flex;position:relative}.lcard a:hover{background:var(--paper-3);transform:translateY(-5px)}.lcard-top{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.lcard-ico{background:var(--paper);width:48px;height:48px;transition:transform .3s var(--spring), background .2s;border-radius:14px;place-items:center;display:grid}.lcard a:hover .lcard-ico{background:var(--accent);color:var(--ink);transform:rotate(-8deg)}.lcard-t{font-family:var(--display);letter-spacing:-.02em;font-size:1.5rem;font-weight:600;line-height:1.1}.lcard-x{color:var(--muted-paper);flex:1;margin-top:10px}.lcard-go{margin-top:18px;font-size:1.3rem;transition:transform .25s}.lcard a:hover .lcard-go{transform:translate(6px)}.stories{gap:18px;display:grid}.story{top:calc(var(--head-h) + 28px + var(--i,0) * 14px);border-radius:var(--r-lg);background:var(--ink-2);color:var(--on-ink);border:1px solid var(--line-ink);transform-origin:50% 0;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(20px,4vw,64px);padding:clamp(16px,2.4vw,32px);display:grid;position:sticky}.story:nth-child(2n)>:first-child{order:2}.story p{max-width:48ch;color:var(--muted-ink);margin-top:12px}.story .h3{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.8rem)}.story:hover .h3 a{color:var(--accent-text)}.story .meta{color:var(--muted-ink)}.story .arrow-link{margin-top:16px}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.story{animation:linear both story-depth;animation-timeline:view();animation-range:exit-crossing}@keyframes story-depth{to{filter:brightness(.55);transform:scale(.92)}}}}.stretch{text-decoration:none}.stretch:after{content:"";z-index:1;position:absolute;inset:0}.meta{color:var(--muted-paper);flex-wrap:wrap;align-items:center;gap:6px 14px;margin-bottom:12px;font-size:.92rem;display:flex}.tag{border:1px solid;border-radius:999px;align-items:center;padding:3px 12px;font-size:.84rem;font-weight:600;line-height:1.5;display:inline-flex}.tag-owned{background:var(--accent);border-color:var(--accent);color:var(--ink)}.tag-internal{border-style:dashed}.tag-concept{border-style:dotted}.status{align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:inline-flex}.status i{background:currentColor;border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px}@supports (color:color-mix(in lab, red, red)){.status i{box-shadow:0 0 0 4px color-mix(in oklab, currentColor 20%, transparent)}}.status-active{color:var(--ok)}.status-development{color:var(--warn)}.status-beta{color:var(--accent-fg)}.status-concept,.status-archived{color:var(--muted-paper)}.status-concept i{box-shadow:none;background:0 0;border:1.5px solid}.dark .status-active,[data-theme=dark] .status-active{color:var(--ok-ink)}.dark .status-development,[data-theme=dark] .status-development{color:var(--warn-ink)}.pv{border-radius:var(--r-md);justify-content:center;align-items:center;padding:clamp(16px,3vw,36px);display:flex;overflow:hidden}.tile-a{background:var(--accent)}.tile-b{background:#2b303b}.tile-c{background:var(--accent-2)}.tile-d{background:#e8e8e4}.light .tile-b,[data-theme=dark] .tile-d{background:#2b303b}.pv-browser{background:#fff;border-radius:12px;width:100%;overflow:hidden;box-shadow:0 30px 60px #0a0c1259}.pv-bar{background:#eeeeea;gap:6px;padding:9px 12px;display:flex}.pv-bar i{background:#cfcfc8;border-radius:50%;width:9px;height:9px}.pv-browser img{aspect-ratio:16/9;object-fit:cover;object-position:top center;width:100%;height:auto;display:block}.pv-stack{width:100%;height:auto;display:block;overflow:visible}.pv-link{stroke:#ffffff8c;stroke-width:1.5px;stroke-dasharray:3 5}.pv-lead{stroke:#fff9;stroke-width:1.2px;stroke-dasharray:2 4}.pv-name{font:600 24px var(--font);fill:#fff}.pv-detail{font:17px var(--font);fill:#ffffffd9}.tile-c .pv-name,.tile-a .pv-name{fill:#0b0d12}.tile-c .pv-detail,.tile-a .pv-detail{fill:#0b0d12c7}.tile-c .pv-lead,.tile-a .pv-lead,.tile-c .pv-link,.tile-a .pv-link{stroke:#0b0d1280}.tile-d .pv-name{fill:#0b0d12}.tile-d .pv-detail{fill:#50555f}.tile-d .pv-lead,.tile-d .pv-link{stroke:#0b0d1266}[data-theme=dark] .pv-bar{background:#1e222b}[data-theme=dark] .pv-bar i{background:#3a3f4b}[data-theme=dark] .pv-browser{background:#15181f}.hero-device{perspective:1400px}@media (prefers-reduced-motion:no-preference){.hero-device>.pv{animation:device-in 1.1s var(--ease) both}@keyframes device-in{0%{transform:rotateX(24deg)rotateY(-14deg)translateY(40px)scale(.94)}}@supports (animation-timeline:scroll()){.hero-device>.pv{transform-origin:50% 100%;animation:linear both device-tilt;animation-timeline:scroll(root);animation-range:0 70vh}@keyframes device-tilt{0%{transform:rotateX(16deg)rotateY(-10deg)rotate(1deg)}to{transform:rotateX(0)rotateY(0)translateY(-24px)scale(1.03)}}}}.pcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.tilt{perspective:1200px}.tilt-in{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease);transform-style:preserve-3d;height:100%}.tilt[data-active] .tilt-in{transition-duration:.12s}.pcard{border-radius:var(--r-lg);background:var(--paper-2);flex-direction:column;height:100%;display:flex;position:relative;overflow:hidden}.pcard .pv{border-radius:0;flex:1;align-items:flex-end;min-height:0;padding:clamp(20px,3vw,40px) clamp(20px,3vw,40px) 0}.pcard .pv-browser{transition:transform .6s var(--ease);border-radius:12px 12px 0 0;transform:translateZ(40px)}.pcard:hover .pv-browser{transform:translateZ(60px)translateY(-8px)}.pcard-body{gap:8px;padding:22px clamp(20px,2.4vw,32px) 28px;display:grid}.pcard-body p{color:var(--muted-paper)}.pcard .h3{letter-spacing:-.035em;font-size:clamp(1.6rem,2.4vw,2.2rem)}.pcard:hover .h3 a{color:var(--accent-fg)}.pcard-glare{pointer-events:none;background:radial-gradient(400px circle at var(--gx,50%) var(--gy,0%), #ffffff2e, transparent 60%);opacity:0;z-index:2;transition:opacity .3s;position:absolute;inset:0}.tilt[data-active] .pcard-glare{opacity:1}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.work{border-radius:var(--r-lg);background:var(--paper-2);transition:transform .4s var(--ease), background .3s;flex-direction:column;padding:14px 14px 24px;display:flex;position:relative}.work:hover{background:var(--paper-3);transform:translateY(-6px)}.work .pv{aspect-ratio:16/11;margin-bottom:20px}.work>:not(.pv){padding-inline:12px}.work p{color:var(--muted-paper);margin-top:8px}.work:hover .h3 a{color:var(--accent-fg)}.work-grid .work:first-child{grid-column:1/-1;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:0 32px;padding:14px;display:grid}.work-grid .work:first-child .pv{grid-row:span 4;margin:0}.work-grid .work:first-child .h3{letter-spacing:-.035em;font-size:clamp(1.8rem,3vw,2.8rem)}.relgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.filters{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:32px;display:flex}.filters a{background:var(--paper-2);border-radius:999px;align-items:center;min-height:44px;padding:6px 18px;font-weight:500;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.filters a:hover{background:var(--paper-3)}.filters a[aria-current]{background:var(--on-paper);color:var(--paper)}.filters a .tag{font-size:inherit;color:inherit;font-weight:inherit;background:0 0;border:0;padding:0}.kcards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.kcards.n2,.kcards.n4{grid-template-columns:repeat(2,minmax(0,1fr))}.kcards li{background:var(--paper-2);border-radius:var(--r-lg);transition:transform .4s var(--ease), background .3s;padding:clamp(22px,2.4vw,32px);position:relative;overflow:hidden}.kcards li:hover{background:var(--paper-3);transform:translateY(-4px)}.kcards h3{font-family:var(--display);letter-spacing:-.02em;font-size:1.45rem;font-weight:600;line-height:1.15}.kcards h3:before{content:"";background:var(--accent);width:12px;height:12px;transition:transform .4s var(--spring);border-radius:50%;margin-bottom:18px;display:block}.kcards li:hover h3:before{transform:scale(1.6)}.kcards p{color:var(--muted-paper);margin-top:10px}.band.soft .kcards li{background:var(--paper)}.band.soft .kcards li:hover{background:var(--paper-3)}.dark .kcards li{background:var(--ink-2)}.dark .kcards li:hover{background:var(--ink-3)}.versus{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.versus>div{border-radius:var(--r-lg);background:var(--ink-2);padding:clamp(24px,3vw,44px)}.versus>div+div{background:var(--accent);color:var(--ink)}.versus>div+div .lead,.versus>div+div .vlist span{color:var(--ink)}.vlist{gap:4px;margin-top:24px;display:grid}.vlist li{border-top:1px solid var(--line-ink);gap:4px;padding:16px 0;display:grid}.vgood li{border-color:#0b0d1233}.vlist b{font-size:1.12rem;font-weight:600}.vlist span{color:var(--muted-ink)}.vbad li b:before{content:"×";color:var(--accent-text);margin-right:10px}.vgood li b:before{content:"✓";margin-right:10px}.facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.facts.two{grid-template-columns:repeat(2,minmax(0,1fr))}.facts li{border-radius:var(--r-lg);background:var(--paper-2);padding:clamp(22px,2.6vw,36px)}.facts li:first-child{background:var(--ink-2);color:var(--on-ink)}.facts li:first-child p{color:var(--muted-ink)}.facts p{color:var(--muted-paper);margin-top:10px}.glance{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin-top:28px;display:grid}.glance div{border-radius:var(--r-sm);background:var(--paper-2);padding:16px 18px}.glance dt{color:var(--muted-paper);font-size:.85rem;font-weight:500}.glance dd{margin:4px 0 0;font-weight:600}.pills{flex-wrap:wrap;gap:8px;display:flex}.pills a{background:var(--paper-2);border-radius:999px;align-items:center;min-height:44px;padding:8px 18px;font-size:.97rem;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.pills a:hover{background:var(--accent);color:var(--ink)}.techs{flex-wrap:wrap;gap:8px;display:flex}.techs li{background:var(--paper-2);border-radius:999px;padding:8px 16px;font-weight:500}.dark .techs li{background:var(--ink-2)}.rows>div{border-top:1px solid var(--line-paper);padding-block:22px}.rows dt{font-size:1.25rem;font-weight:600;line-height:1.25}.rows dd{max-width:58ch;color:var(--muted-paper);margin-top:6px}.plain-links li{border-top:1px solid var(--line-paper)}.plain-links a{justify-content:space-between;padding:14px 0;font-size:1.15rem;font-weight:600;text-decoration:none;display:flex}.plain-links a:after{content:"→";transition:transform .25s}.plain-links a:hover{color:var(--accent-fg)}.plain-links a:hover:after{transform:translate(6px)}.pair{grid-template-columns:1fr 1fr;gap:14px;margin-top:clamp(40px,5vw,72px);display:grid}.pair>div{border-radius:var(--r-lg);background:var(--paper-2);padding:clamp(22px,2.6vw,36px)}.dark .pair>div{background:var(--ink-2)}.pair p{color:var(--muted-paper);max-width:48ch;margin-top:10px}.stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:32px;display:grid}.stats dd{font-family:var(--display);letter-spacing:-.04em;font-size:3.6rem;font-weight:600;line-height:1}.quote blockquote{font-family:var(--display);max-width:30ch;font-size:2rem;line-height:1.2}.shots{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.shots img{border-radius:var(--r-md);width:100%;height:auto}.proc{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:start;gap:clamp(24px,5vw,80px);display:grid}.proc-steps li{border-top:1px solid var(--line-paper);gap:22px;padding-block:34px;transition:opacity .3s;display:flex}.proc-n{background:var(--paper-2);width:44px;height:44px;transition:background .3s, color .3s, transform .4s var(--spring);border-radius:50%;flex:none;place-items:center;font-weight:600;display:grid}.dark .proc-n{background:var(--ink-2)}.proc-steps li[data-on=true] .proc-n{background:var(--accent);color:var(--ink);transform:scale(1.12)}.proc-steps li[data-on=false] h3,.proc-steps li[data-on=false] p{color:var(--muted-paper)}.proc-steps p{max-width:54ch;color:var(--muted-paper);margin-top:8px}.proc-steps li[data-on=true] p{color:var(--on-paper)}.dark .proc-steps li[data-on=true] p{color:var(--on-ink)}.proc-meta{gap:8px;max-width:54ch;margin-top:18px;display:grid}.proc-meta div{border-radius:var(--r-sm);background:var(--paper-2);grid-template-columns:120px minmax(0,1fr);gap:12px;padding:12px 14px;display:grid}.dark .proc-meta div{background:var(--ink-2)}.proc-meta dt{color:var(--accent-fg);font-size:.86rem;font-weight:600}.proc-meta dd{color:var(--muted-paper);margin:0;font-size:.94rem}.proc-stage{top:calc(var(--head-h) + 32px);border-radius:var(--r-lg);background:var(--paper-2);height:min(70vh,640px);position:sticky}.dark .proc-stage{background:var(--ink-2)}.tech-wrap{position:relative}.tech-top{grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;gap:32px;margin-bottom:48px;display:grid}.tech-top .sec-head{margin-bottom:0}.tech-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:48px;display:grid}.tech-grid>div{border-radius:var(--r-lg);background:var(--ink-2);padding:26px}.tech-grid h3{font-family:var(--display);color:var(--accent-text);margin-bottom:8px;font-size:1.4rem;font-weight:600}.tech-grid dl>div{border-top:1px solid var(--line-ink);padding-block:12px}.tech-grid dt{font-weight:600}.tech-grid dd{color:var(--muted-ink);margin-top:2px;font-size:.96rem}.dark .ticker{border-color:var(--line-ink)}.codeflow{perspective:1000px;--px:0;--py:0;height:380px;position:relative}.cw-world{transform-style:preserve-3d;transform:rotateY(calc(-12deg + var(--px) * 12deg)) rotateX(calc(5deg - var(--py) * 8deg));transition:transform .3s ease-out;position:absolute;inset:0}.cw{background:#15181f;border:1px solid #2a2e37;border-radius:14px;width:min(420px,78%);animation:7s ease-in-out infinite cw-float;position:absolute;box-shadow:0 24px 60px #00000080}.cw-0{--z:60px;top:8px;left:0}.cw-1{--z:0px;animation-delay:-2.3s;top:118px;right:0}.cw-2{--z:-70px;animation-delay:-4.6s;top:232px;left:12%}@keyframes cw-float{0%,to{transform:translateZ(var(--z)) translateY(0)}50%{transform:translateZ(var(--z)) translateY(-10px)}}.cw-bar{color:var(--muted-ink);border-bottom:1px solid #2a2e37;align-items:center;gap:6px;padding:9px 12px;font-size:.76rem;display:flex}.cw-bar i{background:#3a3f4b;border-radius:50%;width:9px;height:9px}.cw-bar i:first-child{background:var(--accent)}.cw-bar span{font-family:var(--mono);margin-left:8px}.cw pre{font-family:var(--mono);color:#e6e6e2;min-height:104px;margin:0;padding:12px 14px 14px;font-size:.82rem;line-height:1.6}.cw code{width:calc(var(--n) * 1ch);white-space:pre;max-width:100%;animation:cw-type var(--t) steps(var(--n)) var(--d) both;font-family:inherit;display:block;overflow:hidden}@keyframes cw-type{0%{width:0}}.cw .k{color:#ff8a4c}.cw .s{color:#fcd34d}.cw .f{color:#ffd2b0}.cf-chip:before{content:attr(data-t)}.cf-chip{left:calc(4% + var(--i) * 12%);font-family:var(--mono);color:#fff;opacity:0;animation:11s linear infinite cf-rise;animation-delay:calc(var(--i) * -1.4s);background:#ffffff14;border:1px solid #ffffff29;border-radius:999px;padding:3px 10px;font-size:.74rem;position:absolute;bottom:-12px}@keyframes cf-rise{0%{opacity:0;transform:translateY(0)}12%{opacity:.85}80%{opacity:.55}to{opacity:0;transform:translateY(-400px)}}.codeflow[data-paused=true] *{animation-play-state:paused}.posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:32px;display:grid}.post{border-radius:var(--r-lg);background:var(--paper-2);transition:transform .4s var(--ease), background .3s;flex-direction:column;display:flex;position:relative;overflow:hidden}.post:hover{background:var(--paper-3);transform:translateY(-6px)}.post-cover{aspect-ratio:16/10;background:var(--c,var(--paper-3));place-items:center;display:grid;position:relative;overflow:hidden}.post-cover .kit{width:78%;transition:transform .6s var(--ease)}.post:hover .post-cover .kit{transform:scale(1.07)rotate(-2deg)}.post-in{flex-direction:column;flex:1;padding:20px 22px 24px;display:flex}.post .h3{font-size:1.35rem}.post-in>p:not(.meta){color:var(--muted-paper);margin-top:10px;font-size:1rem}.post-in .meta:last-child{margin-top:auto;margin-bottom:0;padding-top:16px}.post:hover .h3 a{color:var(--accent-fg)}.post-lead .post{grid-template-columns:minmax(0,7fr) minmax(0,5fr);display:grid}.post-lead .post-cover{aspect-ratio:auto;order:2;min-height:340px}.post-lead .post-in{justify-content:center;padding:clamp(24px,3vw,44px)}.post-lead .h3{letter-spacing:-.04em;max-width:20ch;font-size:clamp(2rem,3.6vw,3.4rem)}.post-lead .post-in>p:not(.meta){max-width:52ch;font-size:1.15rem}.c0{--c:#ffe1d1}.c1{--c:#fdecc8}.c2{--c:#e8e8e4}.c3{--c:#ffd2b0}.c4{--c:#f1efe9}.c5{--c:#fde3a7}.c6{--c:#ececea}[data-theme=dark] .post-cover{--c:#1e222b}.search{background:var(--paper-2);border-radius:999px;gap:8px;max-width:560px;margin-bottom:20px;padding:6px;display:flex}.search input{min-height:48px;font:inherit;color:inherit;background:0 0;border:0;outline:none;flex:1;padding:8px 18px}.search:focus-within{outline:2px solid var(--accent-fg);outline-offset:2px}.pager{flex-wrap:wrap;gap:6px;margin-top:44px;display:flex}.pager a{background:var(--paper-2);border-radius:50%;place-items:center;min-width:44px;min-height:44px;font-weight:600;text-decoration:none;display:grid}.pager a[aria-current]{background:var(--on-paper);color:var(--paper)}.readbar{background:var(--accent);transform-origin:0;z-index:80;height:3px;position:fixed;top:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.readbar{animation:linear both read;animation-timeline:scroll(root)}@keyframes read{to{transform:scaleX(1)}}}@supports not (animation-timeline:scroll()){.readbar{display:none}}.article{grid-template-columns:minmax(0,1fr) minmax(0,720px) minmax(0,1fr);gap:40px;display:grid}.article>.prose{grid-column:2}.toc{width:100%;max-width:260px;top:calc(var(--head-h) + 40px);grid-column:1;place-self:start end;font-size:.92rem;position:sticky}.toc b{margin-bottom:10px;display:block}.toc ol{border-left:2px solid var(--line-paper);gap:2px;display:grid}.toc a{color:var(--muted-paper);border-left:2px solid #0000;margin-left:-2px;padding:6px 0 6px 14px;line-height:1.35;text-decoration:none;display:block}.toc a:hover{color:var(--on-paper)}.toc a[aria-current]{color:var(--on-paper);border-color:var(--accent);font-weight:600}.prose{font-size:1.15rem;line-height:1.75}.prose>*+*,.prose p+p{margin-top:1.1em}.prose h2{font-family:var(--display);letter-spacing:-.03em;margin-top:2em;font-size:2rem;font-weight:600;line-height:1.1}.prose h3{margin-top:1.6em;font-size:1.4rem;font-weight:600}.prose ul{padding-left:1.3em;list-style:outside}.prose ol{padding-left:1.3em;list-style:decimal}.prose a{color:var(--accent-fg);text-decoration:underline}.prose li+li{margin-top:.4em}.tldr{background:var(--accent-soft);border-radius:var(--r-md);margin:0 0 36px;padding:22px 26px}.tldr b{color:#9a3412;margin-bottom:4px;font-size:.9rem;display:block}[data-theme=dark] .tldr b{color:var(--accent-fg)}.tldr p{margin:0}.byline{border-radius:var(--r-md);background:var(--paper-2);margin-top:56px;padding:22px 26px;font-size:1rem}.byline span{color:var(--muted-paper);margin-left:10px}.byline p{color:var(--muted-paper);margin-top:6px}.page-hero .meta time+time{margin-left:0}.faq details{border-top:1px solid var(--line-paper)}.faq summary{cursor:pointer;justify-content:space-between;gap:20px;padding-block:20px;font-size:1.15rem;font-weight:600;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";background:var(--paper-2);width:32px;height:32px;transition:transform .3s var(--spring), background .2s;border-radius:50%;flex:none;place-items:center;font-weight:400;display:grid}.faq details[open] summary:after{background:var(--accent);color:var(--ink);transform:rotate(45deg)}.faq details p{max-width:62ch;color:var(--muted-paper);padding-bottom:22px}.dark .faq summary:after{background:var(--ink-2)}.cta-panel{border-radius:var(--r-lg);background:var(--accent);color:var(--ink);grid-template-columns:minmax(0,7fr) minmax(0,4fr);align-items:center;gap:24px;padding:clamp(32px,6vw,96px);display:grid;position:relative;overflow:hidden}.cta-panel .display-2{max-width:14ch}.cta-panel .lead{color:var(--ink)}.cta-panel .btn{--bg:var(--ink);--fg:#fff;margin-top:32px}.cta-panel .btn:hover{color:var(--ink);background:#fff;border-color:#fff}.cta-panel .cta-art{justify-self:center;width:100%;max-width:420px}@media (prefers-reduced-motion:no-preference){.cta-art{animation:6s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-14px)rotate(-2deg)}}}.band.sec-cta{padding-block:clamp(24px,3vw,48px)}.band.sec-cta.dark{background:var(--paper)}.cta{justify-items:start;gap:12px;display:grid}.cta .btn{margin-top:20px}.form{gap:22px;display:grid}.form-two{grid-template-columns:1fr 1fr;gap:22px;display:grid}.field label{margin-bottom:8px;font-size:.97rem;font-weight:600;display:block}.form input:not([type=checkbox]),.form select,.form textarea{background:var(--paper-2);width:100%;min-height:54px;font:inherit;color:var(--on-paper);border:1px solid #0000;border-radius:14px;padding:12px 16px;transition:border-color .2s,background .2s}.form input:not([type=checkbox]):hover,.form select:hover,.form textarea:hover{border-color:var(--line-paper)}.form input:not([type=checkbox]):focus,.form select:focus,.form textarea:focus{border-color:var(--on-paper);background:var(--paper);outline:none}.form textarea{resize:vertical;min-height:160px}.field [aria-invalid=true]{border-color:#b3261e!important}.err{color:#b3261e;margin-top:6px;font-size:.95rem}[data-theme=dark] .err{color:#ff8a80}[data-theme=dark] .field [aria-invalid=true]{border-color:#ff8a80!important}.form-err{border:1px solid;border-radius:14px;padding:12px 16px}.form-err a{text-decoration:underline}.check label{align-items:flex-start;gap:12px;font-weight:400;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent-ink);flex:none;margin-top:4px}.check a{text-decoration:underline}.hp{position:absolute;left:-9999px}.form .btn{justify-self:start}.form-ok{border-radius:var(--r-lg);background:var(--accent-soft);padding:28px}.form-ok p{color:var(--muted-paper);margin-block:8px 18px}.contact-card{border-radius:var(--r-lg);background:var(--ink-2);color:var(--on-ink);top:calc(var(--head-h) + 32px);padding:clamp(24px,3vw,40px);position:sticky}.contact-card p,.contact-card .nexts li{color:var(--muted-ink)}.contact-card .link{font-size:1.3rem;font-family:var(--display);margin-top:8px;display:inline-block}.nexts{counter-reset:n;gap:12px;margin-top:14px;display:grid}.nexts li{counter-increment:n;grid-template-columns:36px minmax(0,1fr);align-items:start;display:grid}.nexts li:before{content:counter(n);background:var(--accent);width:26px;height:26px;color:var(--ink);border-radius:50%;place-items:center;font-size:.85rem;font-weight:600;display:grid}.site-footer{padding-block:clamp(64px,8vw,112px) 12px;overflow:hidden}.site-footer.dark{background:var(--ink)}.foot-grid{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr));gap:40px;display:grid}.foot-grid .foot-lead{color:var(--on-ink)}.foot-lead{font-family:var(--display);letter-spacing:-.03em;max-width:22ch;font-size:clamp(1.6rem,2.6vw,2.4rem);font-weight:500;line-height:1.15}.foot-grid .arrow-link{margin-top:20px;font-size:1.1rem}.foot-grid p{color:var(--muted-ink)}.foot-grid h2{color:var(--muted-ink);margin-bottom:10px;font-size:.95rem;font-weight:600}.foot-grid ul a{padding:6px 0;font-size:1.02rem;text-decoration:none;display:inline-block}.foot-grid ul a:hover,.foot-end a:hover{color:var(--accent-text)}.foot-end{border-top:1px solid var(--line-ink);color:var(--muted-ink);flex-wrap:wrap;justify-content:space-between;gap:14px;margin-top:64px;padding-block:20px;font-size:.94rem;display:flex}.foot-end ul{flex-wrap:wrap;gap:8px 20px;display:flex}.foot-end a{padding:6px 0;text-decoration:none;display:inline-block}.consent{left:var(--gut);right:var(--gut);background:var(--ink-2);max-width:620px;color:var(--on-ink);border:1px solid var(--line-ink);border-radius:var(--r-md);z-index:60;flex-wrap:wrap;align-items:center;gap:10px;padding:18px;display:flex;position:fixed;bottom:16px}.consent p{flex:100%;font-size:.95rem}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.rv,.kcards li,.bcell,.work,.post,.facts li,.alt-row,.irows li,.tech-grid>div,.pcards>*{animation:linear both rv-in;animation-timeline:view();animation-range:entry entry 40%}@keyframes rv-in{0%{transform:translateY(56px)scale(.96)}}.bento>:nth-child(3n+2),.kcards>:nth-child(3n+2),.posts>:nth-child(3n+2){animation-range:entry 5% entry 48%}.bento>:nth-child(3n),.kcards>:nth-child(3n),.posts>:nth-child(3n){animation-range:entry 10% entry 56%}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.story{position:static}}@media print{.rv{animation:none!important}.site-header,.readbar{display:none}}@media (max-width:1400px){.nav-desktop .nav-a{padding-inline:10px}.search-btn span,.search-btn kbd{display:none}.search-btn{background:0 0;border:0;justify-content:center;width:44px;padding:0}}@media (max-width:1279px){.nav-desktop,.head-cta,.head-end>.lang{display:none}.head-end{gap:2px}.burger{display:inline-flex}.head-end{margin-left:auto!important}}@media (max-width:1120px){.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.bcell,.bcell.big{grid-column:span 1}.bento>:first-child,.bento>:last-child{grid-column:1/-1}.tech-grid,.posts{grid-template-columns:repeat(2,minmax(0,1fr))}.article{grid-template-columns:minmax(0,1fr)}.article>.prose{grid-column:1;width:100%;max-width:720px;margin-inline:auto}.toc{display:none}}@media (max-width:960px){.hero,.service-hero-grid,.tech-top,.proc,.cta-panel{grid-template-columns:minmax(0,1fr)}.hero{min-height:0}.hero-stage{order:2;height:clamp(300px,70vw,460px)}.kcards,.kcards.n2,.kcards.n4,.lcards,.facts,.relgrid,.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.facts.two,.versus,.work-grid .work:first-child{grid-template-columns:minmax(0,1fr)}.work-grid .work:first-child .pv{margin-bottom:20px}.irow{grid-template-columns:minmax(0,1fr) auto}.irow-x{grid-area:2/1}.irow-art{display:none}.post-lead .post{grid-template-columns:minmax(0,1fr)}.post-lead .post-cover{aspect-ratio:16/9;order:0;min-height:0}.cta-panel .cta-art{justify-self:start;max-width:280px}.split>.sec-head{position:static}.proc-stage{order:-1;height:320px;position:relative;top:0}.contact-card{position:static}}@media (max-width:760px){:root{--head-h:64px}.head-row{min-height:56px;padding-block:6px}.wordmark{height:26px}.head-row{gap:8px}.cmdk[open]{padding:12px 10px}.cmdk-box{border-radius:20px}.cmdk-in kbd,.cmdk-foot{display:none}.cmdk-x{margin-right:-10px;display:grid}.cmdk-list{max-height:calc(100dvh - 120px)}.cmdk-in input{font-size:16px}.split,.story,.pair,.foot-grid,.form-two,.shots,.tech-grid,.posts,.alt-row,.pcards{grid-template-columns:minmax(0,1fr)}.story{position:relative;top:0}.story:nth-child(2n)>:first-child,.alt-row:nth-child(2n) .alt-art{order:0}.bento,.kcards,.kcards.n2,.kcards.n4,.lcards,.facts,.relgrid,.work-grid{grid-template-columns:minmax(0,1fr)}.bcard,.big .bcard{min-height:320px}.btn,.actions .status{width:100%}.head-end .btn,.search .btn{width:auto}.form .btn{justify-self:stretch}.proc-meta div{grid-template-columns:minmax(0,1fr);gap:2px}.side-scene,.codeflow{height:300px}.cw-world{transform:none}.cw{width:92%}.cw-1{top:96px}.cw-2{display:none}.chip{font-size:.75rem}.ticker-track{animation-duration:32s}}@media (prefers-reduced-motion:reduce){.cf-chip{display:none}.cw code{width:auto}.ticker-track{flex-wrap:wrap;width:auto;animation:none}.ticker{-webkit-mask-image:none;mask-image:none}.ticker [data-dup]{display:none}}.kit-art{display:block}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
