body{background:#05070f;margin:0}a{color:#c9cff0;text-decoration:none}a:hover{color:#fff}.nv{isolation:isolate;color:#eef0f6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#05070f;font-family:Geist,system-ui,-apple-system,sans-serif;position:relative;overflow:clip}:where(.nv,.nv-c) *{box-sizing:border-box}.nv{--line:#ffffff14;--line-2:#ffffff24;--ease:cubic-bezier(.16,1,.3,1)}.light{--line:#0b10201f;--line-2:#0b102033}.nv ::selection{color:#fff;background:#9b6cff}:where(.nv,.nv-c) :focus-visible{outline-offset:3px;outline:2px solid #b7b4e6}:where(.light) :focus-visible{outline-color:#4b45a6}main:focus{outline:none}:where(.nv,.nv-c) button{font:inherit;color:inherit}.nv h1,.nv h2,.nv h3,.nv-c h2{text-wrap:balance}.nv h1 em,.nv h2 em,.nv-c h2 em{font-style:normal;font-weight:300}.nv h1 em{background:linear-gradient(100deg,#d6d2ff 0%,#8fb2ff 45%,#7fe3d6 100%);color:#0000;-webkit-background-clip:text;background-clip:text;padding-right:.06em}.nv h2 em,.nv-c h2 em{color:#c9c6f2}.light h2 em,.light h1 em{color:#4b45a6;-webkit-text-fill-color:currentColor;background:0 0}.mono{font-family:Geist Mono,ui-monospace,monospace}.wrap{max-width:1240px;margin:0 auto;padding-left:clamp(16px,4vw,40px);padding-right:clamp(16px,4vw,40px)}.eyebrow{letter-spacing:.2em;text-transform:uppercase;color:#b7b4e6;align-items:center;gap:12px;margin:0;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;font-weight:500;display:inline-flex}.eyebrow:before{content:"";opacity:.7;background:currentColor;width:24px;height:1px}.light .eyebrow{color:#4b45a6}.h-display{letter-spacing:-.05em;margin:0;font-size:clamp(46px,7vw,100px);font-weight:500;line-height:.98}.h-sec{letter-spacing:-.045em;margin:20px 0 0;font-size:clamp(36px,4.8vw,64px);font-weight:500;line-height:1.04}.lead{color:#b9c0d1;margin:0;font-size:clamp(17px,1.45vw,20px);line-height:1.65}.muted{color:#a7afc3}.light{color:#0b1020;background:#eceef4}.light .lead{color:#232a40}.light .muted{color:#454c63}.hdr{z-index:60;pointer-events:none;color:#eef0f6;font-family:Geist,system-ui,-apple-system,sans-serif;position:fixed;top:0;left:0;right:0}.hdr-bar{pointer-events:auto;transition:transform .55s cubic-bezier(.16,1,.3,1);position:relative}.hdr.hid .hdr-bar{transform:translateY(-190%)}.hdr-bg{z-index:0;background:#090b1800;border:1px solid #0000;border-radius:0;transition:top .55s cubic-bezier(.16,1,.3,1),bottom .55s cubic-bezier(.16,1,.3,1),left .55s cubic-bezier(.16,1,.3,1),right .55s cubic-bezier(.16,1,.3,1),border-radius .55s cubic-bezier(.16,1,.3,1),background .4s,border-color .4s,box-shadow .4s;position:absolute;inset:0}.hdr.scrolled .hdr-bg{-webkit-backdrop-filter:blur(14px)saturate(140%);background:#090b18bd;border-color:#ffffff1a;border-radius:100px;inset:10px max(12px,50% - 560px) 4px;box-shadow:0 18px 50px -24px #000000e6}.hdr.open .hdr-bg{background:#070914f7;border-color:#ffffff14;border-radius:0 0 24px 24px;inset:0}.hdr-in{z-index:1;max-width:1120px;margin:0 auto;padding:0 clamp(26px,2.6vw,32px);transition:transform .55s cubic-bezier(.16,1,.3,1);position:relative}.hdr-row{justify-content:space-between;align-items:center;gap:24px;height:76px;display:flex}.hdr.scrolled:not(.open) .hdr-in{transform:translateY(3px)}.hdr-progress{z-index:3;pointer-events:none;transform-origin:0;background:linear-gradient(90deg,#4f8bff,#9b6cff 50%,#2dd4bf);height:2px;position:absolute;top:0;left:0;right:0;transform:scaleX(0);box-shadow:0 0 14px #9b6cffb3}.skip{z-index:5;pointer-events:auto;color:#05070f;background:#fff;border-radius:100px;padding:12px 18px;font-size:14px;font-weight:600;transition:transform .3s;position:absolute;top:14px;left:16px;transform:translateY(-220%)}.skip:focus,.skip:hover{color:#05070f;transform:none}@media (max-width:900px){.hdr.scrolled .hdr-bg{-webkit-backdrop-filter:blur(8px);background:#090b18e6}}.navlink{color:#aab2c7;transition:color .25s;position:relative}.navlink:hover,.hdr[data-active=accueil] [data-nav=accueil],.hdr[data-active=services] [data-nav=services],.hdr[data-active=realisations] [data-nav=realisations],.hdr[data-active=blog] [data-nav=blog],.hdr[data-active=contact] [data-nav=contact]{color:#fff}.hdr[data-active=accueil] [data-nav=accueil]:after,.hdr[data-active=services] [data-nav=services]:after,.hdr[data-active=realisations] [data-nav=realisations]:after,.hdr[data-active=blog] [data-nav=blog]:after,.hdr[data-active=contact] [data-nav=contact]:after{content:"";background:#b7b4e6;border-radius:50%;width:4px;height:4px;margin-left:-2px;position:absolute;bottom:-10px;left:50%;box-shadow:0 0 10px #b7b4e6}.nav-item{position:relative}.nav-sub{opacity:0;visibility:hidden;padding-top:16px;transition:opacity .25s,transform .25s,visibility .25s;position:absolute;top:100%;left:-20px;transform:translateY(8px)}.nav-item:hover .nav-sub,.nav-item:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}.nav-sub-in{background:#0a0c18f7;border:1px solid #ffffff1a;border-radius:16px;flex-direction:column;min-width:330px;padding:8px;display:flex;box-shadow:0 24px 70px #0000008c}.nav-sub-in a{color:#c4cadb;border-radius:10px;align-items:center;gap:12px;min-height:42px;padding:10px 12px;font-size:14px;display:flex}.nav-sub-in a:hover{color:#fff;background:#ffffff0d}.lang{color:#97a0bd;border-radius:100px;align-items:center;padding:5px 10px;display:inline-flex}.lang.on{color:#05070f;background:#fff;font-weight:700}.lang.on:hover{color:#05070f}.burger{display:none}.mnav a{color:#fff;border-bottom:1px solid #ffffff12;padding:14px 0;display:block}@media (max-width:960px){.hide-md{display:none!important}.burger{display:inline-flex!important}}@media (max-width:560px){.hide-sm{display:none!important}}.c1{--c:#4f8bff;--cg:#4f8bff29}.c2{--c:#9b6cff;--cg:#9b6cff29}.c3{--c:#2dd4bf;--cg:#2dd4bf24}.c4{--c:#f5a524;--cg:#f5a52421}.c5{--c:#36d399;--cg:#36d39921}.c6{--c:#fb7185;--cg:#fb718524}.sdot{background:var(--c,#b7b4e6);width:8px;height:8px;box-shadow:0 0 12px var(--c,#b7b4e6);border-radius:50%;flex:none;display:inline-block}.btn{white-space:nowrap;cursor:pointer;border:0;border-radius:100px;justify-content:center;align-items:center;gap:10px;font-weight:500;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,background .3s,border-color .3s;display:inline-flex}.btn svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.btn:hover svg{transform:translate(4px)}.btn-primary{color:#05070f;background:#fff}.btn-primary:hover{color:#05070f;transform:translateY(-2px);box-shadow:0 14px 44px -12px #b7b4e6bf}.btn-ghost{color:#fff;background:0 0;border:1px solid #ffffff2e}.btn-ghost:hover{color:#fff;background:#ffffff0f;border-color:#ffffff5c}.light .btn-primary{color:#fff;background:#0b1020}.light .btn-primary:hover{color:#fff;box-shadow:0 14px 40px -14px #0b102099}.light .btn-ghost{color:#0b1020;border-color:#0b102033}.light .btn-ghost:hover{color:#0b1020;background:#0b10200d;border-color:#0b102066}.link-arrow{color:#e6e9f2;align-items:center;gap:8px;min-height:44px;font-weight:500;display:inline-flex}.link-arrow svg{transition:transform .3s cubic-bezier(.2,.7,.2,1)}.link-arrow:hover svg{transform:translate(5px)}.light .link-arrow{color:#0b1020}.crumb{letter-spacing:.08em;color:#7d869e;flex-wrap:wrap;align-items:center;gap:10px;font-family:Geist Mono,ui-monospace,monospace;font-size:12px;display:flex}.crumb a{color:#9aa3bb}.crumb a:hover{color:#fff}.crumb span[aria-hidden]{opacity:.5}.tag{color:#c4cadb;border:1px solid #ffffff1a;border-radius:100px;align-items:center;gap:8px;padding:6px 11px;font-family:Geist Mono,ui-monospace,monospace;font-size:11.5px;display:inline-flex}.chip{color:#c4cadb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff24;border-radius:100px;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.chip:hover{color:#fff;border-color:#ffffff4d}.chip.on{color:#05070f;background:#fff;border-color:#fff}.chip .n{opacity:.6;font-family:Geist Mono,ui-monospace,monospace;font-size:11px}.hero-line{margin:0 -.04em -.1em;padding:0 .04em .1em;display:block;overflow:hidden}.hero-line>span{display:inline-block}.motion .hero-line>span{animation:1s cubic-bezier(.16,1,.3,1) both settle}.motion .hero-line+.hero-line>span{animation-delay:80ms}.motion .fade-up{animation:.7s cubic-bezier(.16,1,.3,1) both rise}.motion .dl1{animation-delay:.12s}.motion .dl2{animation-delay:.2s}.motion .dl3{animation-delay:.28s}.motion .dl4{animation-delay:.5s}@keyframes settle{0%{transform:translateY(.14em)}to{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.cue-dot{background:#fff;border-radius:4px;width:4px;height:8px;margin:7px auto 0;display:block}.motion .cue-dot{animation:1.8s cubic-bezier(.6,0,.4,1) infinite cue}@keyframes cue{0%{opacity:0;transform:translateY(0)}25%{opacity:1}80%{opacity:0;transform:translateY(12px)}to{opacity:0}}.motion .spin-slow{animation:70s linear infinite spin}.motion .spin-mid{animation:30s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.motion .twinkle{animation:6s ease-in-out infinite twinkle}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:.7}}.motion .pulse{animation:2.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #36d39980}50%{box-shadow:0 0 0 8px #36d39900}}.stars{pointer-events:none;opacity:.5;background-image:radial-gradient(1px 1px at 12% 18%,#dfe6ff 50%,#0000 51%),radial-gradient(1px 1px at 78% 12%,#c9d4f5 50%,#0000 51%),radial-gradient(1.5px 1.5px at 42% 64%,#e8ecff 50%,#0000 51%),radial-gradient(1px 1px at 88% 72%,#b8c4ea 50%,#0000 51%),radial-gradient(1px 1px at 23% 86%,#dfe6ff 50%,#0000 51%),radial-gradient(1px 1px at 63% 32%,#cdd6f7 50%,#0000 51%),radial-gradient(1.5px 1.5px at 5% 52%,#e8ecff 50%,#0000 51%),radial-gradient(1px 1px at 33% 40%,#cdd6f7 50%,#0000 51%),radial-gradient(1px 1px at 92% 24%,#e8ecff 50%,#0000 51%);position:absolute;inset:0}.gl-canvas{opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity 1.6s;display:block;position:absolute;top:0;left:0}.gl-on>.gl-canvas,.w2d-on>.gl-canvas{opacity:1}.w2d-on>.gl-canvas[data-variant=soft]{opacity:.8}.w2d-on>.css-art{opacity:0}.css-art{transition:opacity .9s}.gl-on .css-art{opacity:0}.page-hero{isolation:isolate;padding:clamp(150px,16vw,200px) 0 clamp(70px,8vw,110px);position:relative;overflow:hidden}.page-hero .veil{z-index:1;pointer-events:none;background:linear-gradient(90deg,#05070fd1 0%,#05070f73 55%,#05070f1a 100%),linear-gradient(#05070f80 0%,#05070f00 30% 70%,#05070f 100%);position:absolute;inset:0}.page-hero .wrap{z-index:2;position:relative}.scard{isolation:isolate;background:linear-gradient(#ffffff09,#ffffff03),#05070f99;border:1px solid #ffffff14;border-radius:22px;transition:border-color .45s,transform .7s cubic-bezier(.2,.7,.2,1);position:relative}.scard:before{content:"";z-index:-1;border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),var(--cg,#b7b4e61f),transparent 62%);opacity:0;transition:opacity .45s;position:absolute;inset:0}.scard:hover{border-color:#ffffff2e}.scard:hover:before{opacity:1}a.scard{color:inherit;display:block}a.scard:hover{color:inherit}.obj-slot{pointer-events:none;justify-content:center;align-items:center;width:176px;height:176px;display:flex;position:absolute;top:4px;right:4px}.obj-slot svg{color:var(--c)}.check-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.check-list li{color:#c9cfdd;padding-left:32px;line-height:1.55;position:relative}.check-list li:before{content:"";background:var(--cg,#b7b4e629);border:1px solid var(--c,#b7b4e6);border-radius:50%;width:20px;height:20px;position:absolute;top:3px;left:0}.check-list li:after{content:"";border:solid var(--c,#b7b4e6);border-width:0 1.6px 1.6px 0;width:6px;height:9px;position:absolute;top:8px;left:7px;transform:rotate(45deg)}.orb-label{letter-spacing:.06em;color:#0b1020;white-space:nowrap;pointer-events:none;opacity:0;will-change:transform;background:#ffffffe0;border:1px solid #0b10201a;border-radius:100px;padding:6px 11px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px;transition:opacity .8s;position:absolute;top:0;left:0;box-shadow:0 6px 20px -8px #0b10204d}.gl-on .orb-label{opacity:1}.tilt{will-change:transform;transform-style:preserve-3d}.mock{z-index:1;background:#0d1122;border:1px solid #ffffff26;border-radius:12px 12px 0 0;flex-direction:column;display:flex;position:absolute;inset:11% 8% -5%;overflow:hidden;box-shadow:0 40px 80px -28px #000000f2,0 0 0 1px #00000059}.mock-bar{background:#ffffff08;border-bottom:1px solid #ffffff12;flex:none;align-items:center;gap:6px;height:26px;padding:0 12px;display:flex}.mock-bar i{background:#ffffff38;border-radius:50%;flex:none;width:8px;height:8px;display:block}.mock-bar i:first-child{background:#ff5f57bf}.mock-bar i:nth-child(2){background:#febc2ebf}.mock-bar i:nth-child(3){background:#28c840b3}.mock-url{letter-spacing:.02em;color:#ffffff9e;white-space:nowrap;background:#ffffff0f;border:1px solid #ffffff0f;border-radius:9px;align-items:center;gap:6px;width:min(46%,260px);height:17px;margin:0 auto 0 14px;padding:0 9px;font-family:Geist Mono,ui-monospace,monospace;font-size:9.5px;display:flex;overflow:hidden}.mock-url:before{content:"";border:1.2px solid #ffffff80;border-radius:2px 2px 1px 1px;flex:none;width:6px;height:7px}.sk{background:#ffffff1a;border-radius:4px}.project-media .pm-in{transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.project:hover .pm-in{transform:scale(1.035)}.media-note{z-index:3;letter-spacing:.08em;color:#ffffff8c;background:#05070fb8;border-radius:6px;padding:4px 8px;font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;position:absolute;bottom:10px;right:12px}.f-wp [data-cat]:not([data-cat~=wp]),.f-ecom [data-cat]:not([data-cat~=ecom]),.f-react [data-cat]:not([data-cat~=react]),.f-vision [data-cat]:not([data-cat~=vision]),.f-actu [data-cat]:not([data-cat~=actu]),.f-business [data-cat]:not([data-cat~=business]),.f-design [data-cat]:not([data-cat~=design]),.f-dev [data-cat]:not([data-cat~=dev]),.f-genie [data-cat]:not([data-cat~=genie]),.f-gp [data-cat]:not([data-cat~=gp]),.f-ia [data-cat]:not([data-cat~=ia]),.f-tech [data-cat]:not([data-cat~=tech]){display:none}.techs{flex-wrap:wrap;gap:8px;display:flex}.tech{color:#e6e9f2;background:#ffffff06;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;display:inline-flex}.tech small{color:#8a93a8;font-family:Geist Mono,ui-monospace,monospace;font-size:11px}.tech i{color:#05070f;border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-family:Geist Mono,ui-monospace,monospace;font-size:10px;font-style:normal;font-weight:600;display:inline-flex}.mstep .si{color:#454c63;background:#eceef4;border:1px solid #0b102029;transition:background .5s,color .5s,border-color .5s,box-shadow .5s}.mstep.lit .si{color:#fff;background:#0b1020;border-color:#0b1020;box-shadow:0 0 0 6px #6c63ff24}.mstep h3{transition:color .5s}.mstep:not(.lit) h3{color:#5b6278}.dark-steps .mstep .si{color:#9aa3bb;background:#05070f;border-color:#ffffff29}.dark-steps .mstep.lit .si{background:var(--c,#b7b4e6);border-color:var(--c,#b7b4e6);color:#05070f;box-shadow:0 0 0 6px var(--cg,#b7b4e629),0 0 26px var(--c,#b7b4e6)}.dark-steps .mstep:not(.lit) h3{color:#7d869e}@media (max-width:960px){.sticky-col{position:static!important}}.faq{border-top:1px solid #ffffff17}.faq details{border-bottom:1px solid #ffffff17}.faq summary{cursor:pointer;letter-spacing:-.015em;color:#e6e9f2;justify-content:space-between;align-items:center;gap:24px;min-height:44px;padding:26px 0;font-size:clamp(18px,1.6vw,21px);list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:hover{color:#fff}.faq .pm{border:1px solid #ffffff29;border-radius:50%;flex:none;width:34px;height:34px;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s;position:relative}.faq .pm:before,.faq .pm:after{content:"";background:#fff;width:12px;height:1.5px;margin:-.75px 0 0 -6px;position:absolute;top:50%;left:50%}.faq .pm:after{transition:transform .4s;transform:rotate(90deg)}.faq details[open] .pm{background:#ffffff0f;transform:rotate(180deg)}.faq details[open] .pm:after{transform:rotate(0)}.faq .ans{color:#a7afc3;max-width:78ch;padding:0 64px 28px 0;line-height:1.75}.motion .faq details[open] .ans{animation:.6s cubic-bezier(.2,.7,.2,1) both rise}.form-card{background:linear-gradient(#14182e99,#0a0d1c99);border:1px solid #ffffff1a;border-radius:24px;padding:clamp(22px,3vw,40px)}.fl{color:#aab2c7;flex-direction:column;gap:9px;min-width:0;font-size:13.5px;display:flex}.fl .opt{color:#7d869e;font-size:12px}.field{color:#eef0f6;width:100%;min-height:52px;font:inherit;background:#ffffff09;border:1px solid #ffffff24;border-radius:14px;outline:none;padding:14px 16px;font-size:15.5px;transition:border-color .25s,background .25s,box-shadow .25s}.field:hover{border-color:#ffffff42}.field:focus{background:#ffffff0d;border-color:#b7b4e6;box-shadow:0 0 0 4px #b7b4e624}.field::placeholder{color:#7d869e}select.field{appearance:none;background-image:linear-gradient(45deg,#0000 50%,#aab2c7 50%),linear-gradient(135deg,#aab2c7 50%,#0000 50%);background-position:calc(100% - 22px) 23px,calc(100% - 16px) 23px;background-repeat:no-repeat;background-size:6px 6px,6px 6px;padding-right:44px}select.field option{color:#eef0f6;background:#0d1122}textarea.field{resize:vertical;min-height:150px;line-height:1.6}.pick{color:#c4cadb;cursor:pointer;background:#ffffff06;border:1px solid #ffffff24;border-radius:14px;align-items:center;gap:10px;min-height:48px;padding:0 18px;font-size:14.5px;transition:all .3s;display:inline-flex}.pick:hover{color:#fff;border-color:#ffffff4d}.pick .box{border:1.5px solid #ffffff4d;border-radius:6px;width:18px;height:18px;transition:all .3s;position:relative}.pick.on{border-color:var(--c,#b7b4e6);background:var(--cg,#b7b4e61f);color:#fff}.pick.on .box{background:var(--c,#b7b4e6);border-color:var(--c,#b7b4e6)}.pick.on .box:after{content:"";border:2px solid #05070f;border-width:0 2px 2px 0;width:4px;height:8px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.info-item{border-bottom:1px solid #ffffff14;gap:16px;padding:20px 0;display:flex}.info-item h4{letter-spacing:.14em;text-transform:uppercase;color:#8a93a8;margin:0 0 6px;font-family:Geist Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500}.info-item .ic{color:#c9c6f2;background:#ffffff08;border:1px solid #ffffff1f;border-radius:12px;flex:none;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.prose{color:#c9cfdd;max-width:72ch;font-size:18px;line-height:1.8}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.3em}.prose h2{letter-spacing:-.03em;color:#fff;margin:2.2em 0 .8em;scroll-margin-top:110px;font-size:clamp(26px,2.6vw,34px);font-weight:500;line-height:1.2}.prose h3{letter-spacing:-.02em;color:#fff;margin:1.8em 0 .6em;font-size:21px;font-weight:500}.prose strong{color:#fff;font-weight:600}.prose a{color:#c9c6f2;text-underline-offset:3px;-webkit-text-decoration:underline #c9c6f266;text-decoration:underline #c9c6f266}.prose a:hover{color:#fff;text-decoration-color:#fff}.prose ul{margin:0 0 1.4em;padding-left:1.2em}.prose li{margin:.4em 0}.prose li::marker{color:#9b6cff}.prose .lead-q{color:#fff;margin:2em 0 .5em;font-size:19px;font-weight:500}.tbl{border-collapse:collapse;width:100%;margin:1.2em 0 2em;font-size:15.5px;line-height:1.55}.tbl th{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:#8a93a8;border-bottom:1px solid #ffffff24;padding:14px 16px;font-family:Geist Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500}.tbl td{vertical-align:top;border-bottom:1px solid #ffffff12;padding:16px}.tbl td:first-child{color:#fff}.tbl-box{background:#ffffff04;border:1px solid #ffffff14;border-radius:14px;overflow-x:auto}.toc{border-left:1px solid #ffffff1a;flex-direction:column;display:flex}.toc a{color:#8a93a8;border-left:1.5px solid #0000;margin-left:-1px;padding:9px 0 9px 18px;font-size:14px;line-height:1.4;transition:color .3s,border-color .3s;display:block}.toc a:hover{color:#fff}.toc a.on{color:#fff;border-left-color:#b7b4e6}.wordmark-xl{letter-spacing:-.065em;background:linear-gradient(#b7b4e61c,#b7b4e600 85%);color:#0000;-webkit-user-select:none;user-select:none;pointer-events:none;-webkit-background-clip:text;background-clip:text;font-weight:600;line-height:.8}.stat+.stat{border-left:1px solid #ffffff12}@media (max-width:640px){.stat:nth-child(2n){border-left:0}.eyebrow:before{display:none}}.post .cover-in{transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.post:hover .cover-in{transform:scale(1.06)}.post h3{transition:color .3s}.post:hover h3{color:#fff}.js-reveal .reveal{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.js-reveal .reveal.in{opacity:1;transform:none}.js-reveal .reveal-mask{clip-path:polygon(-8% -30%,108% -30%,108% -30%,-8% -30%);transition:clip-path .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.js-reveal .reveal-mask.in{clip-path:polygon(-8% -30%,108% -30%,108% 135%,-8% 135%);transform:none}.js-reveal .reveal-clip{clip-path:inset(10% 8% round 22px);transition:clip-path 1.1s cubic-bezier(.16,1,.3,1)}.js-reveal .reveal-clip.in{clip-path:inset(0 round 14px)}.js-reveal .scard.reveal{transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1),border-color .45s}@media (prefers-reduced-motion:reduce){.nv *{transition:none!important;animation:none!important}.js-reveal .reveal,.js-reveal .reveal-mask,.js-reveal .reveal-clip{opacity:1;clip-path:none;transform:none}}.pat{--pc:#b7b4e6;background-color:#090c1b;position:absolute;inset:0}.pat:before,.pat:after{content:"";pointer-events:none;position:absolute}.pat-grid{background-image:linear-gradient(color-mix(in srgb,var(--pc) 26%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--pc) 26%,transparent) 1px,transparent 1px),linear-gradient(#ffffff0d 1px,transparent 1px),linear-gradient(90deg,#ffffff0d 1px,transparent 1px);background-position:13px 13px;background-size:120px 120px,120px 120px,24px 24px,24px 24px}.pat-grid:before{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--pc) 75%,transparent) 0 1px,transparent 1px 12px) 13px 0/100% 6px no-repeat,repeating-linear-gradient(90deg,var(--pc) 0 1px,transparent 1px 60px) 13px 0/100% 12px no-repeat,#090c1b;border-bottom:1px solid color-mix(in srgb,var(--pc) 45%,transparent);height:14px;top:0;left:0;right:0}.pat-grid:after{background:repeating-linear-gradient(180deg,color-mix(in srgb,var(--pc) 75%,transparent) 0 1px,transparent 1px 12px) 0 13px/6px 100% no-repeat,repeating-linear-gradient(180deg,var(--pc) 0 1px,transparent 1px 60px) 0 13px/12px 100% no-repeat,#090c1b;border-right:1px solid color-mix(in srgb,var(--pc) 45%,transparent);width:14px;top:0;bottom:0;left:0}.pat-curve{width:100%;height:100%;color:var(--pc);position:absolute;inset:0;overflow:visible}.pat-curve path{fill:none;stroke:currentColor;stroke-width:1.5px;vector-effect:non-scaling-stroke;opacity:.85}.pat-curve .area{fill:color-mix(in srgb,var(--pc) 12%,transparent);stroke:none}.pat-dots{background-image:radial-gradient(circle,color-mix(in srgb,var(--pc) 62%,transparent) 1.1px,transparent 1.7px);background-position:7px 7px;background-size:14px 14px}.pat-dots:before{background:radial-gradient(ellipse 75% 65% at 25% 100%,color-mix(in srgb,var(--pc) 34%,transparent),transparent 70%);inset:0}.pat-dots:after{background:linear-gradient(#090c1b 0%,#090c1b8c 38%,#0000 70%);inset:0}.pat-contour{--contour:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 250' preserveAspectRatio='xMidYMid slice'%3E%3Cg fill='none' stroke='%23000' stroke-width='.6'%3E%3Cpath d='M89 259Q90 260 90 261Q90 263 90 264Q89 266 87 266Q86 267 84 268Q83 269 81 269Q80 270 78 270Q77 271 75 271Q73 271 72 270Q70 270 69 269Q67 269 66 268Q64 268 63 266Q62 265 61 264Q61 263 61 261Q62 260 62 259Q63 258 63 256Q63 255 64 254Q64 252 65 251Q66 250 68 250Q70 249 71 249Q73 249 75 249Q77 249 78 250Q80 250 81 251Q83 251 84 252Q85 253 85 254Q86 255 87 256Q88 257 89 259Z'/%3E%3Cpath d='M102 258Q104 260 104 263Q105 266 103 268Q101 271 98 272Q95 274 92 275Q89 276 87 277Q84 278 81 279Q78 280 75 281Q72 281 69 280Q65 280 63 278Q60 277 57 276Q55 274 52 272Q50 270 49 268Q48 265 49 263Q49 260 50 258Q51 255 52 253Q52 251 53 248Q54 245 56 243Q58 241 61 240Q65 238 68 239Q72 239 75 239Q78 240 81 241Q84 241 87 242Q90 244 92 245Q94 247 96 249Q97 251 99 253Q101 255 102 258Z'/%3E%3Cpath d='M115 256Q117 260 118 264Q118 268 116 272Q114 276 110 278Q105 281 101 282Q96 284 92 285Q88 287 84 288Q80 290 75 291Q70 292 65 291Q60 290 56 288Q52 286 49 283Q45 280 42 278Q39 275 38 271Q36 267 36 264Q36 260 38 257Q39 253 40 250Q41 246 42 242Q44 238 47 235Q49 231 54 229Q59 228 65 228Q70 228 75 230Q79 231 84 232Q88 233 92 235Q96 236 100 238Q104 240 106 243Q109 246 111 249Q113 253 115 256Z'/%3E%3Cpath d='M129 255Q130 260 131 265Q131 271 128 276Q126 281 120 284Q115 288 109 290Q103 291 97 293Q92 295 87 297Q81 300 75 301Q68 303 62 302Q55 301 50 298Q44 295 40 291Q37 287 33 283Q30 279 27 274Q24 270 24 265Q23 260 24 255Q26 250 27 246Q29 241 31 236Q33 231 37 227Q41 222 48 219Q54 217 61 218Q68 218 75 220Q81 222 86 224Q92 226 97 227Q103 229 108 231Q114 233 118 237Q122 241 125 245Q127 250 129 255Z'/%3E%3Cpath d='M142 254Q143 260 143 266Q142 273 140 279Q137 285 131 290Q125 294 118 297Q110 300 103 302Q96 304 90 307Q83 310 75 312Q67 314 58 313Q50 312 43 308Q36 304 32 298Q28 293 24 287Q21 282 17 277Q14 272 12 266Q10 260 10 254Q11 248 14 242Q16 236 20 230Q23 224 28 219Q34 213 41 210Q49 207 58 207Q67 208 75 211Q82 214 89 216Q95 218 102 220Q109 221 117 224Q124 226 130 231Q136 235 139 241Q142 247 142 254Z'/%3E%3Cpath d='M156 252Q156 260 154 267Q153 275 150 282Q147 289 141 295Q135 301 126 305Q118 309 110 311Q101 314 93 317Q84 320 75 322Q65 324 55 324Q45 323 37 318Q29 312 24 305Q19 299 16 292Q12 286 8 280Q3 274 0 267Q-4 260 -4 252Q-4 245 -1 238Q3 230 8 224Q13 217 20 211Q26 205 36 201Q45 198 55 198Q65 198 75 201Q84 204 91 207Q99 211 107 212Q116 214 125 216Q134 219 142 224Q150 229 153 237Q156 244 156 252Z'/%3E%3Cpath d='M170 251Q169 260 166 268Q163 277 159 285Q156 293 150 300Q144 308 135 313Q127 318 117 322Q107 325 96 328Q86 330 75 332Q63 334 52 333Q40 332 30 327Q21 321 16 313Q10 305 7 297Q3 289 -2 283Q-7 276 -12 268Q-17 260 -19 251Q-20 242 -16 233Q-12 224 -5 217Q2 210 11 204Q20 198 30 194Q41 189 52 189Q64 188 75 191Q85 194 94 198Q103 202 113 204Q122 206 133 209Q145 212 154 218Q164 224 168 233Q172 241 170 251Z'/%3E%3Cpath d='M184 249Q182 260 177 269Q173 279 168 288Q164 296 159 305Q153 314 144 321Q136 329 124 333Q112 337 100 339Q88 341 75 343Q62 344 49 342Q36 341 25 335Q14 329 8 320Q1 311 -3 302Q-6 293 -12 286Q-17 278 -24 269Q-30 260 -33 249Q-36 239 -32 228Q-27 218 -18 210Q-8 202 3 197Q14 191 26 187Q37 182 50 181Q62 180 75 182Q87 184 97 188Q108 192 119 195Q130 198 142 202Q154 205 165 212Q177 218 181 229Q186 239 184 249Z'/%3E%3Cpath d='M198 248Q195 260 189 270Q183 281 178 290Q172 300 167 310Q162 320 154 330Q145 339 132 344Q119 350 104 352Q90 353 75 353Q61 353 46 350Q32 348 20 342Q8 336 0 327Q-8 317 -13 308Q-17 298 -23 289Q-28 280 -36 270Q-43 260 -48 248Q-52 236 -47 224Q-43 212 -31 203Q-19 195 -6 189Q8 184 21 180Q34 176 48 174Q61 171 75 172Q89 173 101 177Q114 181 126 185Q138 189 151 194Q164 199 176 206Q188 214 194 225Q200 236 198 248Z'/%3E%3Cpath d='M210 247Q208 260 201 271Q194 283 188 293Q182 304 176 315Q171 326 163 338Q154 349 140 356Q125 363 108 364Q91 366 75 363Q59 361 44 358Q29 354 16 348Q2 342 -8 333Q-18 324 -24 314Q-30 303 -36 293Q-41 282 -49 271Q-57 260 -61 246Q-66 233 -62 219Q-57 206 -44 196Q-31 187 -14 182Q2 177 17 174Q31 170 46 167Q60 164 75 163Q90 162 105 165Q120 168 133 174Q146 179 160 186Q173 192 186 201Q198 209 205 222Q212 234 210 247Z'/%3E%3Cpath d='M222 246Q221 260 214 273Q207 285 199 297Q192 308 186 320Q180 333 171 346Q163 359 147 368Q131 376 112 377Q93 378 76 374Q58 370 42 365Q27 360 12 354Q-3 348 -15 339Q-27 331 -35 320Q-44 309 -50 297Q-56 285 -63 273Q-70 260 -75 245Q-79 230 -75 215Q-70 200 -56 190Q-41 180 -23 175Q-5 170 12 167Q28 164 44 160Q59 156 75 154Q92 151 109 153Q126 155 141 162Q156 168 169 177Q183 186 195 196Q207 206 215 219Q223 232 222 246Z'/%3E%3Cpath d='M232 245Q233 260 227 274Q221 288 213 301Q205 313 197 326Q190 340 180 354Q171 368 154 378Q137 388 116 389Q95 391 76 385Q56 379 40 372Q24 365 9 359Q-7 353 -22 345Q-36 337 -48 326Q-59 315 -66 302Q-73 288 -79 274Q-85 260 -88 244Q-91 228 -86 212Q-82 196 -67 184Q-52 173 -32 167Q-12 162 7 160Q25 157 41 153Q58 149 76 144Q94 140 113 141Q132 142 149 150Q166 157 179 168Q192 179 204 191Q215 203 223 216Q231 230 232 245Z'/%3E%3Cpath d='M241 244Q244 260 240 275Q236 291 228 305Q219 319 210 333Q201 347 190 362Q178 377 160 388Q143 399 120 401Q97 402 76 395Q55 388 38 379Q21 371 5 364Q-11 357 -28 350Q-45 343 -60 332Q-75 321 -83 307Q-92 292 -96 276Q-100 260 -101 243Q-102 226 -96 209Q-91 192 -76 179Q-61 166 -40 160Q-19 154 1 151Q21 149 39 144Q56 140 76 135Q95 130 117 129Q139 129 157 137Q176 145 189 159Q202 172 212 186Q222 200 230 214Q238 229 241 244Z'/%3E%3Cpath d='M249 244Q255 260 253 277Q252 294 244 310Q236 326 225 341Q213 355 199 370Q186 385 166 396Q147 408 123 410Q99 413 76 405Q54 398 36 388Q18 377 1 370Q-16 362 -35 356Q-54 349 -72 338Q-90 328 -101 312Q-111 296 -113 278Q-116 260 -114 242Q-111 224 -105 207Q-98 189 -83 175Q-69 161 -48 153Q-27 145 -6 142Q16 138 35 134Q55 131 76 125Q97 120 121 119Q144 118 165 126Q186 134 199 150Q213 165 221 181Q229 197 236 212Q243 228 249 244Z'/%3E%3Cpath d='M257 243Q264 260 266 279Q269 297 261 315Q254 333 240 349Q226 365 209 379Q192 393 171 404Q150 415 125 418Q100 421 76 414Q52 408 33 397Q14 385 -3 377Q-21 368 -42 362Q-63 355 -84 345Q-105 334 -118 317Q-130 299 -131 280Q-132 260 -127 241Q-121 222 -112 205Q-103 187 -89 172Q-75 156 -55 146Q-35 136 -13 131Q10 126 32 123Q53 119 76 114Q98 110 124 108Q149 107 172 116Q195 124 209 141Q223 158 230 176Q236 194 243 210Q249 227 257 243Z'/%3E%3Cpath d='M265 243Q274 260 279 280Q285 300 279 321Q273 341 257 358Q241 375 220 388Q199 401 176 410Q153 420 127 424Q101 428 76 422Q51 417 30 406Q9 395 -9 386Q-28 376 -50 369Q-72 362 -95 350Q-119 339 -134 321Q-149 303 -149 281Q-149 260 -140 240Q-131 220 -119 203Q-108 185 -95 169Q-81 152 -62 139Q-43 126 -20 119Q3 113 27 109Q51 106 75 103Q100 99 127 99Q153 99 178 107Q202 116 218 133Q233 151 239 171Q245 190 251 208Q256 225 265 243Z'/%3E%3Cpath d='M275 242Q284 260 292 282Q300 303 296 326Q292 349 274 367Q256 385 231 397Q206 409 181 417Q155 425 128 429Q102 433 76 429Q49 426 26 417Q4 407 -16 396Q-36 386 -59 377Q-82 368 -106 356Q-131 344 -148 325Q-165 306 -165 283Q-165 260 -153 239Q-141 218 -127 201Q-113 183 -100 166Q-86 149 -69 133Q-51 117 -28 108Q-4 98 22 94Q49 91 75 90Q102 89 129 90Q157 92 182 101Q208 109 225 127Q242 145 249 165Q256 186 260 205Q265 223 275 242Z'/%3E%3Cpath d='M286 241Q295 260 305 283Q314 306 311 331Q309 356 290 375Q270 395 242 406Q214 417 185 423Q157 429 130 432Q102 436 75 435Q48 435 23 427Q-3 420 -25 409Q-47 398 -70 387Q-93 376 -117 362Q-142 349 -160 329Q-178 309 -179 284Q-180 260 -166 238Q-153 216 -136 198Q-120 180 -106 163Q-92 145 -75 127Q-59 109 -35 96Q-11 83 17 78Q46 74 75 76Q103 77 132 82Q160 86 186 96Q212 105 231 122Q250 139 259 160Q267 181 272 201Q277 221 286 241Z'/%3E%3Cpath d='M301 239Q309 260 318 284Q327 309 326 335Q324 362 304 383Q284 404 253 415Q222 426 190 429Q159 433 131 436Q103 439 75 441Q47 442 19 438Q-9 433 -34 422Q-59 411 -82 398Q-105 384 -128 368Q-152 353 -170 332Q-188 310 -190 285Q-193 260 -179 237Q-165 214 -147 195Q-128 177 -113 159Q-98 140 -82 120Q-66 100 -42 84Q-18 68 13 62Q43 57 74 61Q105 65 134 73Q162 81 188 92Q215 102 236 118Q257 134 269 155Q281 176 287 197Q293 218 301 239Z'/%3E%3Cpath d='M319 237Q326 260 333 286Q340 311 338 339Q336 367 316 390Q296 413 263 423Q229 434 196 437Q162 439 133 441Q103 443 74 446Q45 450 15 448Q-16 446 -44 436Q-72 426 -95 410Q-118 394 -139 375Q-160 356 -177 334Q-194 312 -198 286Q-202 260 -190 236Q-178 211 -159 192Q-140 172 -123 153Q-106 135 -90 113Q-74 92 -49 73Q-25 54 8 48Q41 41 74 47Q107 53 136 64Q164 76 190 88Q216 101 239 116Q262 131 278 150Q294 170 303 192Q311 215 319 237Z'/%3E%3Cpath d='M339 235Q345 260 349 287Q353 313 349 342Q346 371 325 395Q305 419 271 431Q237 443 201 445Q165 446 135 447Q104 448 74 453Q44 457 11 458Q-22 459 -53 450Q-85 440 -109 422Q-133 404 -151 382Q-169 360 -184 336Q-198 313 -204 286Q-209 260 -200 234Q-191 209 -173 188Q-154 166 -135 147Q-117 127 -99 105Q-81 84 -56 63Q-31 43 4 34Q39 26 74 33Q109 40 138 55Q167 70 192 85Q217 99 242 113Q267 127 288 146Q308 165 320 188Q333 210 339 235Z'/%3E%3Cpath d='M361 233Q367 260 367 288Q366 316 359 345Q352 374 332 399Q312 424 278 437Q244 451 207 453Q170 455 138 456Q105 456 74 460Q43 465 8 468Q-28 471 -62 463Q-97 454 -122 434Q-147 414 -163 389Q-178 364 -190 338Q-201 313 -207 287Q-214 260 -209 233Q-204 206 -187 183Q-171 159 -151 139Q-130 118 -110 96Q-89 74 -62 54Q-36 33 1 23Q37 13 74 21Q111 29 141 46Q170 64 195 80Q219 97 245 111Q271 125 296 142Q322 159 338 183Q355 206 361 233Z'/%3E%3Cpath d='M384 231Q390 260 385 289Q380 319 369 347Q357 376 336 401Q315 426 283 442Q250 458 213 462Q175 466 141 467Q107 467 74 471Q42 474 4 478Q-33 482 -70 474Q-108 467 -135 445Q-162 424 -175 396Q-188 368 -196 341Q-203 314 -210 287Q-217 260 -216 232Q-216 204 -203 178Q-190 152 -168 129Q-147 107 -122 86Q-98 64 -69 45Q-39 25 -2 14Q35 4 74 11Q113 18 143 37Q174 56 198 75Q222 93 249 107Q276 121 305 138Q335 154 356 178Q378 202 384 231Z'/%3E%3Cpath d='M406 229Q414 260 404 291Q395 322 378 349Q362 377 339 402Q317 427 286 446Q255 464 218 471Q181 479 145 480Q109 481 75 483Q40 486 1 488Q-37 491 -77 484Q-117 477 -146 455Q-175 432 -187 402Q-199 372 -203 343Q-207 314 -213 287Q-219 260 -223 231Q-227 202 -218 173Q-209 144 -187 119Q-165 94 -136 74Q-108 53 -75 36Q-43 18 -4 8Q34 -2 74 4Q114 10 146 28Q179 47 203 67Q228 87 255 102Q282 117 314 133Q347 149 373 173Q399 198 406 229Z'/%3E%3Cpath d='M427 227Q436 260 423 292Q411 325 388 352Q366 379 342 403Q318 428 289 448Q260 469 224 481Q188 492 150 495Q112 498 75 499Q38 499 -2 500Q-42 500 -83 492Q-124 484 -154 462Q-185 440 -197 408Q-210 377 -212 346Q-214 316 -219 288Q-224 260 -230 230Q-237 200 -233 168Q-228 136 -206 108Q-184 81 -151 61Q-119 41 -82 27Q-45 12 -6 4Q34 -4 74 0Q115 3 149 20Q183 37 209 58Q236 78 263 95Q290 111 324 128Q358 144 388 169Q418 194 427 227Z'/%3E%3Cpath d='M444 226Q455 260 440 294Q426 327 399 354Q372 381 345 405Q318 428 291 451Q263 473 229 489Q194 506 155 512Q115 517 75 516Q35 515 -5 512Q-46 508 -87 499Q-128 489 -160 467Q-192 445 -207 413Q-221 381 -222 349Q-224 317 -227 289Q-231 260 -239 229Q-248 198 -247 163Q-246 128 -225 98Q-204 67 -167 48Q-130 28 -89 17Q-48 7 -7 1Q34 -5 75 -3Q116 0 152 13Q188 27 217 47Q246 67 274 85Q302 103 336 121Q370 139 401 165Q433 191 444 226Z'/%3E%3Cpath d='M457 224Q470 260 455 295Q440 330 410 357Q379 385 350 407Q321 430 294 453Q267 477 234 498Q201 519 160 528Q118 538 75 535Q33 533 -9 525Q-50 517 -90 504Q-130 492 -163 470Q-197 448 -214 417Q-231 385 -234 353Q-237 320 -240 290Q-242 260 -251 228Q-259 196 -261 159Q-262 122 -242 89Q-221 55 -181 35Q-142 15 -96 8Q-51 0 -9 -2Q34 -5 75 -4Q116 -3 154 7Q193 17 226 35Q258 53 287 73Q316 93 349 114Q382 134 413 162Q445 189 457 224Z'/%3E%3Cpath d='M466 224Q480 260 466 296Q453 333 421 361Q389 389 358 411Q326 433 298 457Q271 482 239 506Q207 531 164 544Q121 558 75 555Q30 551 -12 538Q-54 525 -92 509Q-131 493 -164 471Q-198 449 -219 419Q-241 389 -247 356Q-254 323 -256 292Q-259 260 -266 227Q-272 193 -274 155Q-276 116 -256 81Q-237 45 -194 24Q-152 3 -104 -2Q-55 -7 -10 -6Q34 -5 75 -4Q116 -4 157 2Q198 7 235 23Q271 38 303 59Q334 81 365 105Q395 129 424 158Q453 187 466 224Z'/%3E%3Cpath d='M472 223Q485 260 474 297Q463 335 432 364Q402 394 368 416Q334 439 306 464Q277 488 244 515Q212 542 168 559Q124 576 75 573Q27 570 -16 552Q-59 535 -95 514Q-131 493 -164 471Q-197 448 -223 420Q-249 393 -261 360Q-273 327 -277 293Q-280 260 -284 225Q-288 190 -288 151Q-287 112 -268 74Q-248 37 -205 15Q-162 -8 -110 -11Q-59 -15 -13 -11Q33 -7 75 -6Q116 -5 159 -3Q202 -1 244 10Q285 22 320 45Q354 67 382 95Q410 123 434 155Q459 186 472 223Z'/%3E%3Cpath d='M382 -22Q382 -20 381 -18Q380 -16 378 -15Q377 -13 375 -12Q374 -10 372 -9Q371 -8 369 -7Q367 -6 365 -5Q362 -5 360 -5Q358 -5 355 -5Q353 -5 350 -5Q348 -6 346 -8Q344 -9 344 -11Q343 -13 343 -15Q342 -17 342 -18Q341 -20 340 -22Q340 -24 340 -26Q341 -28 342 -29Q344 -31 346 -32Q349 -33 351 -34Q353 -34 355 -35Q358 -35 360 -35Q362 -35 364 -34Q367 -33 368 -33Q370 -32 372 -31Q375 -30 377 -29Q379 -28 381 -26Q382 -24 382 -22Z'/%3E%3Cpath d='M398 -24Q398 -20 395 -17Q393 -14 390 -11Q388 -9 385 -6Q383 -4 381 -1Q379 1 375 3Q372 5 368 6Q364 6 360 6Q356 6 352 6Q348 5 344 4Q340 3 337 1Q334 -2 332 -5Q331 -8 330 -11Q330 -14 329 -17Q328 -20 327 -23Q326 -27 326 -30Q327 -34 330 -36Q332 -39 336 -41Q341 -42 345 -43Q349 -44 352 -44Q356 -45 360 -45Q364 -45 368 -44Q371 -43 375 -42Q378 -40 382 -39Q385 -37 389 -35Q392 -33 395 -30Q398 -27 398 -24Z'/%3E%3Cpath d='M412 -25Q413 -20 410 -15Q407 -11 403 -8Q399 -4 396 -1Q392 2 389 6Q386 10 382 13Q377 16 372 17Q366 19 360 18Q354 17 349 16Q343 15 338 13Q333 11 328 8Q324 5 321 1Q318 -3 317 -7Q316 -12 315 -16Q314 -20 313 -25Q311 -29 312 -34Q313 -39 317 -43Q320 -47 326 -49Q332 -51 338 -52Q344 -52 350 -53Q355 -54 360 -54Q365 -55 371 -54Q376 -54 382 -52Q387 -50 391 -48Q396 -45 401 -42Q405 -38 409 -34Q412 -30 412 -25Z'/%3E%3Cpath d='M426 -26Q427 -20 424 -14Q421 -8 416 -4Q410 1 406 5Q402 9 398 13Q394 18 388 23Q383 27 375 29Q368 31 360 30Q352 29 345 27Q339 24 332 21Q326 18 320 15Q314 12 310 7Q306 2 304 -3Q301 -9 300 -14Q299 -20 298 -26Q297 -32 298 -38Q299 -45 304 -50Q309 -55 317 -58Q324 -60 332 -61Q340 -61 347 -61Q353 -62 360 -63Q367 -64 374 -64Q382 -65 389 -63Q396 -61 402 -57Q408 -53 413 -48Q418 -44 421 -38Q425 -33 426 -26Z'/%3E%3Cpath d='M438 -27Q440 -20 437 -13Q434 -6 429 0Q423 6 417 11Q412 16 407 21Q402 27 395 33Q388 38 379 41Q370 44 360 42Q351 41 342 37Q334 33 327 29Q320 25 313 21Q305 18 299 13Q293 8 289 1Q285 -6 284 -13Q283 -20 283 -27Q283 -35 285 -42Q287 -50 292 -56Q298 -63 307 -66Q316 -69 326 -70Q336 -70 344 -70Q352 -70 360 -72Q368 -74 378 -75Q387 -76 396 -74Q406 -72 413 -67Q420 -62 425 -55Q430 -49 434 -42Q437 -35 438 -27Z'/%3E%3Cpath d='M449 -28Q451 -20 449 -12Q448 -3 442 4Q437 11 430 18Q423 24 416 30Q410 36 401 42Q393 48 383 52Q372 55 360 54Q349 52 339 47Q330 42 322 37Q314 32 306 28Q297 23 288 18Q280 13 274 5Q268 -2 267 -11Q266 -20 267 -29Q269 -38 272 -46Q275 -55 282 -62Q288 -69 299 -74Q309 -78 320 -79Q331 -80 341 -80Q351 -80 360 -81Q370 -83 381 -85Q392 -86 404 -85Q416 -83 424 -77Q433 -70 438 -62Q442 -54 445 -45Q448 -37 449 -28Z'/%3E%3Cpath d='M460 -29Q461 -20 461 -10Q461 -1 456 8Q452 17 444 25Q436 32 427 39Q418 46 408 52Q398 58 386 62Q373 66 360 65Q347 63 336 58Q325 52 316 45Q308 39 298 34Q289 29 278 24Q267 18 259 10Q251 1 249 -10Q247 -20 250 -30Q254 -40 259 -50Q265 -59 273 -67Q280 -75 291 -81Q302 -86 314 -88Q326 -90 338 -90Q349 -90 360 -92Q371 -93 384 -95Q397 -97 411 -95Q425 -93 435 -86Q446 -79 450 -69Q455 -59 457 -49Q458 -39 460 -29Z'/%3E%3Cpath d='M470 -30Q471 -20 472 -9Q473 2 470 13Q467 24 458 33Q450 42 438 49Q427 56 415 62Q402 67 389 71Q375 75 360 74Q346 73 333 67Q320 62 310 54Q300 47 290 41Q280 36 267 29Q254 23 244 14Q234 4 231 -8Q228 -20 233 -32Q238 -43 247 -53Q255 -63 264 -71Q273 -80 284 -87Q295 -94 308 -97Q321 -101 334 -102Q347 -103 360 -104Q373 -105 388 -106Q402 -107 418 -105Q434 -103 446 -95Q458 -87 463 -76Q468 -64 468 -53Q469 -41 470 -30Z'/%3E%3Cpath d='M481 -32Q482 -20 484 -8Q485 4 484 17Q482 30 473 41Q464 52 451 59Q437 67 422 71Q407 76 391 79Q376 82 360 82Q344 82 330 77Q315 72 304 64Q292 57 281 50Q269 43 256 36Q242 28 230 18Q217 7 214 -6Q210 -20 216 -33Q223 -46 234 -57Q245 -67 256 -76Q267 -84 278 -92Q289 -100 302 -106Q315 -112 330 -114Q345 -116 360 -117Q375 -117 391 -117Q407 -117 424 -114Q441 -112 455 -103Q468 -95 474 -82Q480 -69 481 -56Q481 -43 481 -32Z'/%3E%3Cpath d='M494 -33Q494 -20 496 -7Q498 7 497 21Q497 36 488 49Q479 62 463 70Q447 78 429 81Q411 85 394 86Q377 88 360 89Q343 89 327 85Q311 82 297 74Q283 67 270 59Q257 51 243 42Q229 34 216 22Q203 10 198 -5Q193 -20 200 -35Q207 -49 221 -60Q235 -71 248 -80Q261 -89 272 -98Q283 -107 297 -115Q310 -123 326 -127Q343 -131 360 -131Q377 -131 395 -129Q412 -127 430 -123Q447 -119 462 -110Q477 -101 485 -88Q493 -74 493 -60Q494 -46 494 -33Z'/%3E%3Cpath d='M509 -34Q508 -20 510 -5Q511 9 511 25Q511 42 502 57Q493 72 475 80Q457 89 436 91Q415 94 397 94Q378 94 360 94Q342 95 324 93Q306 91 289 85Q272 79 258 70Q243 61 229 50Q215 39 202 26Q190 13 184 -4Q179 -20 186 -36Q193 -52 208 -64Q223 -76 238 -85Q253 -94 265 -104Q277 -113 291 -124Q305 -134 322 -140Q340 -146 360 -146Q380 -146 398 -142Q417 -137 435 -131Q453 -125 469 -116Q485 -106 495 -93Q504 -79 507 -64Q509 -49 509 -34Z'/%3E%3Cpath d='M526 -36Q526 -20 526 -4Q526 12 525 29Q524 47 514 63Q505 80 485 90Q466 100 443 101Q420 103 399 102Q379 100 360 101Q341 101 321 101Q301 101 281 96Q261 91 245 81Q228 71 214 58Q201 45 189 30Q178 15 173 -3Q168 -20 174 -37Q180 -55 196 -68Q211 -81 228 -90Q244 -100 258 -110Q271 -120 285 -132Q299 -144 319 -153Q338 -161 360 -161Q382 -161 402 -155Q422 -148 440 -139Q458 -130 474 -120Q490 -110 503 -97Q515 -84 520 -68Q525 -52 526 -36Z'/%3E%3C/g%3E%3C/svg%3E")}.pat-contour:after{background:color-mix(in srgb,var(--pc) 60%,transparent);-webkit-mask:var(--contour) center/cover no-repeat;-webkit-mask:var(--contour) center/cover no-repeat;mask:var(--contour) center/cover no-repeat;inset:0}.pat-contour:before{background:radial-gradient(ellipse 60% 55% at 18% 105%,color-mix(in srgb,var(--pc) 30%,transparent),transparent 70%);inset:0}.pat-hatch{background-image:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--pc) 30%,transparent) 0 1px,transparent 1px 13px)}.pat-hatch:before{background:radial-gradient(ellipse 70% 60% at 80% 100%,color-mix(in srgb,var(--pc) 36%,transparent),transparent 70%),linear-gradient(180deg,#090c1b 0%,transparent 55%);inset:0}@media (hover:hover){.scard:after{content:"";background:var(--c,#b7b4e6);height:2px;box-shadow:0 0 14px var(--c,#b7b4e6);transform-origin:0;pointer-events:none;border-radius:2px;transition:transform .55s cubic-bezier(.16,1,.3,1);position:absolute;top:-1px;left:26px;right:26px;transform:scaleX(0)}.scard:hover:after{transform:scaleX(1)}.scard h2,.scard h3{transition:translate .55s cubic-bezier(.16,1,.3,1),color .3s}.scard:hover h2,.scard:hover h3{translate:0 -3px}.post{transition:translate .55s cubic-bezier(.16,1,.3,1)}.post:hover{translate:0 -4px}}.tabs{scrollbar-width:none;box-shadow:inset 0 -1px 0 var(--line);gap:2px;display:flex;position:relative;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{color:#8a93a8;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:8px;min-height:50px;padding:0 14px;font-size:14.5px;transition:color .3s;display:inline-flex;position:relative}.tab:hover,.tab.on{color:#fff}.tab .n{color:#aab2c7;background:#ffffff12;border-radius:100px;padding:2px 7px;font-family:Geist Mono,ui-monospace,monospace;font-size:10.5px;transition:background .3s,color .3s}.tab.on .n{color:#05070f;background:#b7b4e6}.tab-ind{height:2px;width:var(--w,0px);transform:translateX(var(--x,0px));pointer-events:none;background:#b7b4e6;border-radius:2px;position:absolute;bottom:0;left:0;box-shadow:0 0 12px #b7b4e6b3}.tabs.ready .tab-ind{transition:transform .5s cubic-bezier(.16,1,.3,1),width .5s cubic-bezier(.16,1,.3,1)}.tabs-tight{gap:0}.tabs-tight .tab{padding:0 9px;font-size:14px}.tabs-tight .tab:first-of-type{padding-left:2px}@media (max-width:900px){.tabs{margin-right:calc(-1*clamp(16px,4vw,40px));padding-right:24px}}.flow-grid{flex-wrap:wrap;align-items:flex-start;gap:clamp(40px,6vw,96px);padding-top:clamp(100px,12vw,150px);padding-bottom:clamp(100px,12vw,150px);display:flex}.flow-head{flex:360px;min-width:0;position:sticky;top:130px}.flow-steps{flex:1.35 460px;min-width:0;position:relative}.flow-rail{background:var(--line-2);width:1px;position:absolute;top:40px;bottom:40px;left:28px}.flow-fill{transform-origin:top;background:linear-gradient(#4f8bff,#6c63ff 60%,#2dd4bf);width:2px;margin-left:-.5px;position:absolute;top:40px;bottom:40px;left:28px;transform:scaleY(0)}.dark-steps .flow-fill{background:linear-gradient(180deg,var(--c,#b7b4e6),#b7b4e6)}.flow-comet{background:#fff;border-radius:50%;width:12px;height:12px;margin:-6px 0 0 -5.5px;position:absolute;top:40px;left:28px;box-shadow:0 0 0 4px #6c63ff4d,0 0 22px 4px #6c63ff99}.dark-steps .flow-comet{box-shadow:0 0 0 4px var(--cg),0 0 22px 4px var(--c)}.flow .mstep{gap:28px;padding:12px 0 44px;display:flex;position:relative}.flow .mstep:last-child{padding-bottom:12px}.flow .si{border-radius:50%;flex:none;justify-content:center;align-items:center;width:57px;height:57px;font-size:14px;display:flex;position:relative}.flow .mtx{min-width:0;padding-top:12px}.flow .mstep h3{letter-spacing:-.025em;margin:0 0 10px;font-size:clamp(22px,2vw,26px);font-weight:500}.flow .mstep p{max-width:52ch;margin:0;line-height:1.7}.flow-map{display:none}.flow-run{flex:1.35 460px;min-width:0}.tj{width:100%;height:auto;display:block;overflow:visible}.tj-path{fill:none;stroke:var(--line-2);stroke-width:1.4px;stroke-dasharray:2 6;stroke-linecap:round}.tj-done{fill:none;stroke:var(--acc);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1px}.tj-drop{stroke:var(--line-2);stroke-width:1px;stroke-dasharray:3 5}.tj-orbit{fill:none;stroke:var(--line-2);stroke-width:1px}.tj-planet{fill:var(--line-2);transition:fill .6s}.tj-planet.on{fill:var(--acc)}.tj-node{fill:var(--bg-sec);stroke:var(--line-2);stroke-width:1.6px;transition:stroke .4s,fill .4s}.tj-node.on{stroke:var(--acc);fill:var(--acc)}.tj-node.cur{fill:var(--bg-sec)}.tj-lab{letter-spacing:.18em;fill:var(--muted-2);font-family:Geist Mono,ui-monospace,monospace;font-size:10px}.tj-comet .halo{fill:var(--acc);opacity:.16}.tj-comet .head{fill:var(--acc)}.flow{--acc:#4b45a6;--bg-sec:#eceef4;--muted-2:#5b6278}.dark-steps{--acc:var(--c,#b7b4e6);--bg-sec:#05070f;--muted-2:#7d869e}.flow-live .tj-node.cur{fill:var(--bg-sec)}@media (min-width:900px){.flow-grid{flex-flow:column;align-items:stretch;gap:clamp(40px,5vw,64px)}.flow-head{flex-wrap:wrap;flex:none;justify-content:space-between;align-items:flex-end;gap:12px 32px;display:flex;position:static}.flow-head .h-sec{max-width:22ch}.flow-run{flex-direction:column;flex:none;display:flex}.flow-map{display:block}.flow-rail,.flow-fill,.flow-comet{display:none}.flow .flow-steps{grid-template-columns:repeat(var(--n,4),minmax(0,1fr));column-gap:2.8%;padding-top:18px;display:grid}.flow .flow-steps>.mstep{padding:0;display:block}.flow .flow-steps .si{width:auto;height:auto;box-shadow:none;letter-spacing:.2em;color:var(--acc);background:0 0;border:0;border-radius:0;font-size:11.5px;display:block}.flow .mtx{padding-top:12px}.flow .flow-steps .mstep h3{color:inherit;font-size:clamp(19px,1.7vw,24px);line-height:1.2}.flow .flow-steps .mstep p{font-size:15px;line-height:1.6}.flow-live .flow-steps>.mstep h3,.flow-live .flow-steps>.mstep p{transition:color .5s}.flow-live .flow-steps>.mstep:not(.cur):not(.done) h3,.flow-live .flow-steps>.mstep:not(.cur):not(.done) p{color:#626a80}.dark-steps.flow-live .flow-steps>.mstep:not(.cur):not(.done) h3,.dark-steps.flow-live .flow-steps>.mstep:not(.cur):not(.done) p{color:#7d869e}}.hz{position:relative}.hz-stage{padding:clamp(100px,12vw,160px) 0 clamp(80px,10vw,130px)}.hz-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px 32px;margin-bottom:clamp(36px,5vw,64px);display:flex}.hz-aside{flex-wrap:wrap;align-items:center;gap:12px 28px;display:flex}.hz-hint{letter-spacing:.16em;text-transform:uppercase;color:#7d869e;align-items:center;gap:8px;font-size:11.5px;display:inline-flex}.hz-view{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;outline-offset:-2px;overflow-x:auto}.hz-view::-webkit-scrollbar{display:none}.hz-row{align-items:stretch;gap:clamp(18px,2.4vw,36px);width:max-content;padding-left:max(clamp(16px,4vw,40px),50vw - 580px);display:flex}.hz-spacer{flex:none;width:max(1px,50vw - 616px)}.hz-card{scroll-snap-align:start;flex-direction:column;flex:none;width:min(560px,84vw);scroll-margin-left:max(clamp(16px,4vw,40px),50vw - 580px);display:flex;position:relative}.hz-idx{z-index:4;letter-spacing:.16em;color:#c4cadb;background:#05070fb8;border:1px solid #ffffff1a;border-radius:100px;padding:5px 10px;font-size:10.5px;position:absolute;top:12px;left:12px}.hz-meta{letter-spacing:.08em;color:#9aa3bb;text-transform:uppercase;gap:6px 16px;margin-top:22px;font-size:11px}.hz-title{letter-spacing:-.03em;margin:12px 0 10px;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.15}.hz-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 16px;font-size:15px;line-height:1.65;display:-webkit-box;overflow:hidden}.hz-links{flex-wrap:wrap;gap:0 24px;margin-top:auto;display:flex}.hz-end{color:#fff;scroll-snap-align:start;background:radial-gradient(90% 70% at 100% 100%,#6c63ff38,#0000 70%),#ffffff05;border:1px solid #ffffff1f;border-radius:22px;flex-direction:column;flex:none;justify-content:space-between;gap:28px;width:min(340px,72vw);padding:clamp(24px,2.6vw,36px);scroll-margin-left:max(clamp(16px,4vw,40px),50vw - 580px);transition:border-color .4s;display:flex}.hz-end:hover{color:#fff;border-color:#ffffff47}.hz-end-t{letter-spacing:-.04em;font-size:clamp(28px,2.6vw,40px);font-weight:500;line-height:1.05}.hz-end-a{border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;transition:background .4s,color .4s,transform .5s cubic-bezier(.16,1,.3,1);display:flex}.hz-end:hover .hz-end-a{color:#05070f;background:#fff;transform:translate(6px)}.hz-foot{margin-top:clamp(28px,4vw,48px)}.hz-bar{background:#ffffff1a;height:1px;position:relative;overflow:hidden}.hz-bar i{transform-origin:0;background:linear-gradient(90deg,#4f8bff,#9b6cff 50%,#2dd4bf);position:absolute;inset:0;transform:scaleX(0)}.pin-on .hz-stage{flex-direction:column;justify-content:center;height:100vh;padding:84px 0 28px;display:flex;position:sticky;top:0;overflow:hidden}.pin-on .hz-head{margin-bottom:clamp(20px,4vh,44px)}.pin-on .hz-head .h-sec{font-size:clamp(30px,3.4vw,50px)}.pin-on .hz-view{scroll-snap-type:none;overflow:hidden}.pin-on .hz-card{width:min(560px,56vh)}.pin-on .hz-desc{-webkit-line-clamp:2}.pin-on .hz-foot{margin-top:clamp(18px,3.5vh,40px)}@media (max-width:640px){.hz-aside .hz-hint{display:none}}.band-lav{color:#0b1020;background:#b7b4e6;position:relative;overflow:hidden}.band-lav .eyebrow{color:#0b1020}.band-lav .btn-primary{color:#fff;background:#0b1020}.band-lav .btn-primary:hover{color:#fff;box-shadow:0 14px 40px -14px #0b102099}.band-lav :focus-visible{outline-color:#0b1020}.eyebrow.num:before{display:none}.tw{letter-spacing:-.05em;margin:0;font-size:clamp(32px,9.2vw,112px);font-weight:500;line-height:1.02}.tw-l{white-space:nowrap;display:block}.tw em{font-style:normal;font-weight:300}@media (max-width:640px){.tw-l{white-space:normal}}.tw-l{width:max-content;max-width:100%;position:relative}.tw-t{display:inline-block}.tw-c{display:none}.tw-rule{transform-origin:0;background:#0b10202e;height:1px}.tw-rest{transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.tw-live .tw-t{clip-path:inset(-20% calc((1 - var(--f,0)) * 100%) -25% 0)}.tw-live .tw-c{top:.14em;bottom:.1em;left:calc(var(--f,0) * 100%);opacity:0;background:currentColor;width:.055em;margin-left:.03em;display:block;position:absolute}.tw-live .tw-l.cur .tw-c{opacity:1}.motion .tw-live .tw-l.cur.end .tw-c{animation:1.05s step-end infinite blink}.tw-live .tw-rule{transform:scaleX(var(--r,0))}.tw-live .tw-rest:not(.on){opacity:0;transform:translateY(20px)}@keyframes blink{50%{opacity:0}}@media (max-width:640px){.tw-l{width:auto}}.pills{flex-wrap:wrap;gap:8px;display:flex}.pill-opt{color:#c4cadb;cursor:pointer;background:#ffffff05;border:1px solid #ffffff24;border-radius:100px;align-items:center;min-height:44px;padding:0 16px;font-size:14px;transition:background .3s,border-color .3s,color .3s;display:inline-flex}.pill-opt:hover{color:#fff;border-color:#ffffff52}.pill-opt[aria-checked=true]{color:#05070f;background:#fff;border-color:#fff;font-weight:500}.nstep{border-top:1px solid var(--line);gap:14px;padding:14px 0;display:flex}.nstep:first-of-type{border-top:0;padding-top:4px}.nstep b{letter-spacing:.14em;color:#b7b4e6;flex:none;padding-top:3px;font-family:Geist Mono,ui-monospace,monospace;font-size:11.5px;font-weight:500}.nv-cosmos{z-index:-2;pointer-events:none;background:radial-gradient(1100px 700px at 78% -8%,#ffffff0d,#0000 60%),radial-gradient(900px 700px at 8% 18%,#ffffff0a,#0000 58%),radial-gradient(1200px 900px at 50% 118%,#ffffff0a,#0000 60%),#05070f;position:fixed;inset:0}.nv-stars{z-index:-1;pointer-events:none;display:block;position:fixed;top:0;left:0}.nv-tall .nv-stars{display:none}.nv-tall .nv-cosmos{background-color:#05070f;background-image:radial-gradient(1px 1px at 12% 18%,#ffffffbf 50%,#0000 51%),radial-gradient(1px 1px at 78% 12%,#ffffff8c 50%,#0000 51%),radial-gradient(1.5px 1.5px at 42% 64%,#fffc 50%,#0000 51%),radial-gradient(1px 1px at 88% 72%,#ffffff80 50%,#0000 51%),radial-gradient(1px 1px at 23% 86%,#fff9 50%,#0000 51%),radial-gradient(1px 1px at 63% 32%,#ffffff73 50%,#0000 51%),radial-gradient(1.5px 1.5px at 5% 52%,#ffffffb3 50%,#0000 51%),radial-gradient(1px 1px at 33% 40%,#fff6 50%,#0000 51%);background-size:420px 420px}.hero-veil{z-index:1;pointer-events:none;background:radial-gradient(65% 60%,#05070feb 0%,#05070fad 45%,#0000 75%),linear-gradient(#05070fbf 0%,#0000 24% 64%,#05070f 100%);position:absolute;inset:0}.cta-side{z-index:0;aspect-ratio:4/5;pointer-events:none;border:1px solid #ffffff1f;border-radius:16px;width:clamp(150px,14vw,200px);position:absolute;overflow:hidden;box-shadow:0 30px 60px -24px #000000d9}.cta-side.l{top:20%;left:4%}.cta-side.r{top:36%;right:4%}.cta-side .mock{inset:16% 10% -8%}@media (max-width:1100px){.cta-side{display:none}}
@font-face{font-family:Geist;src:url(/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}.cosmos{z-index:-2;background:radial-gradient(1100px 700px at 78% -8%,#ffffff0d,#0000 60%),radial-gradient(900px 700px at 8% 18%,#ffffff0a,#0000 58%),radial-gradient(1200px 900px at 50% 118%,#ffffff0a,#0000 60%),#05070f;position:fixed;inset:0}#stars{z-index:-1;pointer-events:none;position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){html.nv-js:not(.nv-fail) .nv:not(.nv-ready) :is(.reveal,.reveal-mask,.reveal-clip){opacity:0}}body{color:#eef0f6;-webkit-font-smoothing:antialiased;font-family:Geist,system-ui,-apple-system,sans-serif}.dev-banner{-webkit-backdrop-filter:blur(12px);z-index:1000;color:#eef0f6;background:linear-gradient(90deg,#0e1428e6 0%,#141c38f2 50%,#0e1428e6 100%);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;height:40px;padding-inline:clamp(16px,4vw,40px);font-family:Geist,system-ui,-apple-system,sans-serif;display:flex;position:fixed;top:0;left:0;right:0}.dev-banner-content{color:#9aa3bb;align-items:center;gap:12px;margin:0 auto;font-size:.82rem;font-weight:500;display:flex}.dev-banner-badge{color:#eef0f6;text-transform:uppercase;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff26;border-radius:4px;align-items:center;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-flex}.dev-banner-badge:before{content:"";background:#f59e0b;border-radius:50%;width:6px;height:6px;margin-right:6px;animation:2s ease-in-out infinite banner-pulse}.dev-banner-close-btn{color:#eef0f6;cursor:pointer;white-space:nowrap;background:#ffffff1a;border:1px solid #fff3;border-radius:100px;padding:6px 14px;font-size:.76rem;font-weight:600;transition:all .2s}.dev-banner-close-btn:hover{color:#05070f;background:#fff}@keyframes banner-pulse{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.nv:has(>.dev-banner) .hdr{top:40px}@media (max-width:760px){.dev-banner{align-items:flex-start;height:auto;padding-block:10px}.dev-banner-content{flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding-right:24px}.nv:has(>.dev-banner) .hdr{top:60px}}.prose ol{margin:0 0 1.4em;padding-left:1.4em}.prose ol li::marker{color:#b7b4e6;font-weight:500}.prose blockquote{color:#eef0f6;border-left:2px solid #b7b4e6;margin:1.6em 0;padding:.2em 0 .2em 1.3em;font-size:1.08em}.prose code{color:#e6e9f2;background:#ffffff0f;border-radius:6px;padding:.12em .4em;font-family:Geist Mono,ui-monospace,monospace;font-size:.86em}.prose .post-figure{margin:1.8em 0}.prose .post-figure img{border:1px solid #ffffff14;border-radius:14px;width:100%;height:auto;display:block}.prose .post-figure figcaption{letter-spacing:.08em;text-transform:uppercase;color:#8a93a8;margin-top:10px;font-family:Geist Mono,ui-monospace,monospace;font-size:11.5px}.code-block{background:#0a0d1a;border:1px solid #ffffff1a;border-radius:14px;margin:1.6em 0;overflow:hidden}.code-block figcaption{letter-spacing:.14em;text-transform:uppercase;color:#8a93a8;border-bottom:1px solid #ffffff14;padding:10px 16px;font-family:Geist Mono,ui-monospace,monospace;font-size:11px}.code-block pre{margin:0;padding:1.1em 1.25em;overflow-x:auto;background:0 0!important}.code-block pre code{background:0 0;padding:0;font-size:.82em;line-height:1.7}.post-gallery{border-top:1px solid #ffffff14;margin-top:2.6em;padding-top:1.8em}.post-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.post-gallery-grid img{aspect-ratio:4/3;object-fit:cover;border:1px solid #ffffff14;border-radius:12px;width:100%;display:block}.prose>div:first-child>h2:first-child{margin-top:0}.nv:has(.nv-maint) :is(.hdr,footer){display:none}@media (prefers-reduced-motion:no-preference){html.nv-js .hero-line>span{animation:1s cubic-bezier(.16,1,.3,1) both settle}html.nv-js .hero-line+.hero-line>span{animation-delay:80ms}html.nv-js .fade-up{animation:.7s cubic-bezier(.16,1,.3,1) both rise}html.nv-js .dl1{animation-delay:.12s}html.nv-js .dl2{animation-delay:.2s}html.nv-js .dl3{animation-delay:.28s}html.nv-js .dl4{animation-delay:.5s}}@keyframes rise-lcp{0%{transform:translateY(20px)}to{transform:none}}@media (prefers-reduced-motion:no-preference){.nv .page-hero .lead.fade-up,.nv #top .lead.fade-up{animation-name:rise-lcp}}@media (max-width:899px){.flow-head{z-index:3;background:linear-gradient(#05070f 0 calc(100% - 28px),#05070f00 100%);margin:0 calc(-1*clamp(16px,4vw,40px));padding:16px clamp(16px,4vw,40px) 28px;transition:padding-top .55s cubic-bezier(.16,1,.3,1);position:sticky;top:0}.light .flow-head{background:linear-gradient(#eceef4 0 calc(100% - 28px),#eceef400 100%)}.nv:has(.hdr:not(.hid)) .flow-head{padding-top:88px}}.nv-orrery-bg{background:radial-gradient(at 50% 35%,#fbfbfd,#e3e6ef 75%);position:absolute;inset:0}.nv-orrery>:is(.nv-orrery-bg,.gl-canvas,.css-art){-webkit-mask-image:radial-gradient(closest-side,#000 58%,#0000 100%);mask-image:radial-gradient(closest-side,#000 58%,#0000 100%)}
