{"version":3,"file":"shared.DL-7AzEv.mjs","names":["useRef","useState","EMBEDS","TAG","_Fragment","HTML","useRef","useState"],"sources":["https:/framerusercontent.com/modules/wnP4uo1nclI0Uza7SDaT/J9hY3ckKeSjybjdtvYO0/AmbxRuntime.js","https:/framerusercontent.com/modules/feivwzqnoFOpDAxfPDtI/nISnLoKZZyzUhxEHmuDx/AmbxFooter.js","https:/framerusercontent.com/modules/CALv5W114HUy8C2s5Fwx/P4olJNrCmk8xCZVEWvAL/AmbxHeader.js"],"sourcesContent":["// AUTO-GENERATED by ai-circle-scale/framer-port/build.py — do not edit by hand.\n// Shared styles + behaviour for the Ambx* section components (exact port of the local Home page).\nimport{RenderTarget}from\"framer\";export const CSS=':root{\\n  --bg:#08060E; --black:#000; --surface:#121018; --surface-2:#171034; --line:#2F2B42; --line-2:#1f1c29;\\n  --violet:#5C34EF; --violet-2:#7A57FF; --lav:#A98BF8; --lav-2:#C29EFF; --navy:#000054;\\n  --text:#fff; --text-2:#B1AEC2; --text-3:#8B82A8;\\n  --paper:#F4F2F8; --paper-2:#E9E5F1; --paper-line:#DCD6E8; --ink:#0A0616; --ink-2:#635E78;\\n  --radius:20px; --pad:clamp(16px,calc(3 * var(--ambx-vw, 1vw)),40px); --hdr:64px;\\n  --sans:Geist,Inter,ui-sans-serif,system-ui,-apple-system,Arial,sans-serif;\\n  --mono:\"IBM Plex Mono\",ui-monospace,Menlo,monospace;\\n  --serif:Fraunces,Georgia,serif;\\n}\\n.ambx, .ambx *{box-sizing:border-box;margin:0;padding:0}\\nhtml{-webkit-text-size-adjust:100%}\\n.ambx{background:#fff;color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}\\n.ambx a{color:inherit;text-decoration:none}\\n.ambx img{display:block;max-width:100%}\\n.ambx button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}\\n.ambx .wrap{max-width:1360px;margin:0 auto;padding:0 var(--pad)}\\n.ambx .narrow{max-width:860px;margin:0 auto;padding:0 var(--pad)}\\n.ambx .mono,.ambx .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:400}\\n.ambx .eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2)}\\n.ambx .eyebrow::before{content:\"\";width:6px;height:6px;border-radius:50%;background:var(--violet)}\\n.ambx .it{font-family:var(--serif);font-style:italic;font-weight:300;letter-spacing:-.01em}\\n.ambx .muted{color:var(--ink-2)}\\n.ambx .dark .muted,.ambx .on-dark .muted{color:var(--text-2)}\\n.ambx .display{font-size:clamp(44px,calc(6.6 * var(--ambx-vw, 1vw)),104px);line-height:1;font-weight:400;letter-spacing:-.045em}\\n.ambx .h1{font-size:clamp(38px,calc(5.2 * var(--ambx-vw, 1vw)),80px);line-height:1.02;font-weight:400;letter-spacing:-.04em}\\n.ambx .h2{font-size:clamp(32px,calc(4 * var(--ambx-vw, 1vw)),60px);line-height:1.04;font-weight:400;letter-spacing:-.035em}\\n.ambx .h3{font-size:clamp(22px,calc(2 * var(--ambx-vw, 1vw)),28px);line-height:1.2;font-weight:400;letter-spacing:-.02em}\\n.ambx .h4{font-size:19px;line-height:1.3;font-weight:500;letter-spacing:-.01em}\\n.ambx .lede{font-size:clamp(16px,calc(1.3 * var(--ambx-vw, 1vw)),19px);line-height:1.55;color:var(--ink-2);max-width:680px}\\n.ambx .dark .lede,.ambx .on-dark .lede{color:var(--text-2)}\\n.ambx .dark .eyebrow,.ambx .on-dark .eyebrow{color:var(--text-3)}\\n.ambx p+p{margin-top:1em}\\n.ambx .btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:8px;font-size:14px;font-weight:500;transition:background .2s,color .2s,border-color .2s;white-space:nowrap;cursor:pointer}\\n.ambx .btn-violet{background:var(--violet);color:#fff}\\n.ambx .btn-violet:hover{background:var(--violet-2)}\\n.ambx .btn-dark{background:var(--ink);color:#fff}\\n.ambx .btn-dark:hover{background:#2a2438}\\n.ambx .btn-light{background:#fff;color:var(--ink)}\\n.ambx .btn-light:hover{background:var(--paper-2)}\\n.ambx .btn-ghost{border:1px solid var(--paper-line);color:var(--ink)}\\n.ambx .btn-ghost:hover{border-color:var(--ink)}\\n.ambx .dark .btn-ghost,.ambx .on-dark .btn-ghost{border-color:rgba(255,255,255,.22);color:#fff}\\n.ambx .dark .btn-ghost:hover,.ambx .on-dark .btn-ghost:hover{border-color:#fff}\\n.ambx .btn .arr{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:5px;background:rgba(255,255,255,.14);font-size:12px}\\n.ambx .btn-ghost .arr,.ambx .btn-light .arr{background:var(--paper-2)}\\n.ambx .btns{display:flex;gap:10px;flex-wrap:wrap}\\n.ambx .link-arrow{display:inline-flex;gap:6px;align-items:center;font-weight:500;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px}\\n.ambx #hdr{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);transition:background .3s,color .3s,border-color .3s;border-bottom:1px solid transparent;color:var(--ink)}\\n.ambx #hdr.dark{background:rgba(8,6,14,.82);color:#fff;border-color:rgba(255,255,255,.06)}\\n.ambx .nav{height:var(--hdr);display:flex;align-items:center;gap:36px}\\n.ambx .logo{display:flex;align-items:center;height:26px}\\n.ambx .logo img{height:26px;width:auto}\\n.ambx .logo .w{display:none}\\n.ambx #hdr.dark .logo .b{display:none}\\n.ambx #hdr.dark .logo .w{display:block}\\n.ambx .links{display:flex;gap:4px;font-size:14px}\\n.ambx .links>div{position:relative}\\n.ambx .links>div>a{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border-radius:8px;transition:background .2s}\\n.ambx .links>div>a:hover{background:rgba(10,6,22,.06)}\\n.ambx #hdr.dark .links>div>a:hover{background:rgba(255,255,255,.08)}\\n.ambx .links .chev{font-size:9px;opacity:.6}\\n.ambx .menu{position:absolute;top:44px;left:0;min-width:220px;background:#fff;color:var(--ink);border:1px solid var(--paper-line);border-radius:12px;padding:8px;box-shadow:0 20px 50px -20px rgba(10,6,22,.3);opacity:0;visibility:hidden;transform:translateY(-4px);transition:.18s}\\n.ambx .links>div:hover .menu,.ambx .links>div:focus-within .menu{opacity:1;visibility:visible;transform:none}\\n.ambx .menu a{display:block;padding:10px 12px;border-radius:8px;font-size:14px}\\n.ambx .menu a:hover{background:var(--paper)}\\n.ambx .nav .right{margin-left:auto;display:flex;gap:8px}\\n.ambx #hdr.dark .btn-ghost{border-color:rgba(255,255,255,.22);color:#fff}\\n.ambx .burger{display:none;margin-left:auto;width:40px;height:40px;place-items:center}\\n.ambx .burger span{display:block;width:18px;height:1.5px;background:currentColor;margin:4px 0}\\n@media(max-width:1000px){.ambx:where(:not(.ambx-canvas)) .links,.ambx:where(:not(.ambx-canvas)) .nav .right{display:none}\\n.ambx:where(:not(.ambx-canvas)) .burger{display:grid}}\\n.ambx .drawer{position:fixed;inset:var(--hdr) 0 0;background:#fff;z-index:49;padding:16px var(--pad) 40px;opacity:0;visibility:hidden;transition:.2s;overflow:auto}\\n.ambx .drawer.open{opacity:1;visibility:visible}\\n.ambx .drawer details{border-bottom:1px solid var(--paper-line)}\\n.ambx .drawer summary,.ambx .drawer>a{display:flex;justify-content:space-between;font-size:22px;padding:14px 0;list-style:none;cursor:pointer}\\n.ambx .drawer>a{border-bottom:1px solid var(--paper-line)}\\n.ambx .drawer summary::-webkit-details-marker{display:none}\\n.ambx .drawer details a{display:block;padding:8px 0 8px 12px;color:var(--ink-2)}\\n.ambx .drawer details[open]{padding-bottom:10px}\\n.ambx .drawer .btns{margin-top:24px}\\n.ambx .sec{padding:clamp(80px,calc(10 * var(--ambx-vw, 1vw)),140px) 0;position:relative}\\n.ambx .sec.tight{padding:clamp(56px,calc(6 * var(--ambx-vw, 1vw)),88px) 0}\\n.ambx .dark{background:var(--bg);color:#fff}\\n.ambx .black{background:#000;color:#fff}\\n.ambx .light{background:var(--paper);color:var(--ink)}\\n.ambx .white{background:#fff;color:var(--ink)}\\n.ambx .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:48px}\\n.ambx .sec-head .h2{margin-top:14px;max-width:22ch}\\n.ambx .center{text-align:center}\\n.ambx .center .lede{margin-left:auto;margin-right:auto}\\n.ambx .center .btns{justify-content:center}\\n.ambx .hero-inset{padding:8px}\\n.ambx .hero-card{position:relative;min-height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr) - 16px);border-radius:var(--radius);overflow:hidden;background:var(--bg);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center}\\n.ambx .hero-card.short{min-height:min(calc(78 * var(--ambx-vh, 1vh)),760px)}\\n.ambx .hero-card .bgimg,.ambx .hero-card .slide{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.55)}\\n.ambx .hero-card .slide{opacity:0;transform:scale(1.08);transition:opacity 1.6s ease,transform 7s linear}\\n.ambx .hero-card .slide.on{opacity:1;transform:scale(1)}\\n.ambx .hero-card::after{content:\"\";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 60%,rgba(0,0,84,.2),rgba(8,6,14,.55) 70%),linear-gradient(180deg,rgba(8,6,14,.15),rgba(8,6,14,.55));pointer-events:none}\\n.ambx .hero-card .inner{position:relative;z-index:3;padding:96px 24px;max-width:1100px;display:flex;flex-direction:column;align-items:center}\\n.ambx .hero-card .lede{color:rgba(255,255,255,.78);margin-top:22px}\\n.ambx .hero-card .btns{margin-top:32px;justify-content:center}\\n.ambx .hero-card .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}\\n.ambx .hero-card .eyebrow{color:rgba(255,255,255,.7);margin-bottom:22px}\\n.ambx .hud{position:absolute;inset:0;z-index:2;pointer-events:none;color:rgba(255,255,255,.62);font-family:var(--mono);font-size:11px;letter-spacing:.08em}\\n.ambx .hud .tl{position:absolute;left:28px;top:24px;text-align:left}\\n.ambx .hud .tr{position:absolute;right:28px;top:24px;text-align:right}\\n.ambx .hud .bl{position:absolute;left:28px;bottom:24px;text-align:left}\\n.ambx .hud .br{position:absolute;right:28px;bottom:24px;text-align:right}\\n.ambx .hud .ticks{position:absolute;left:28px;top:80px;bottom:80px;width:10px;background:repeating-linear-gradient(180deg,rgba(255,255,255,.3) 0 1px,transparent 1px 12px)}\\n.ambx .hud .ticks.r{left:auto;right:28px}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .hud .ticks,.ambx:where(:not(.ambx-canvas)) .hud .tr,.ambx:where(:not(.ambx-canvas)) .hud .br{display:none}}\\n.ambx .page-hero{padding:clamp(72px,calc(9 * var(--ambx-vw, 1vw)),128px) 0 clamp(48px,calc(6 * var(--ambx-vw, 1vw)),80px)}\\n.ambx .page-hero .display,.ambx .page-hero .h1{margin-top:18px;max-width:18ch}\\n.ambx .page-hero .lede{margin-top:22px}\\n.ambx .page-hero .btns{margin-top:32px}\\n.ambx .grid{display:grid;gap:16px}\\n.ambx .g2{grid-template-columns:repeat(2,1fr)}\\n.ambx .g3{grid-template-columns:repeat(3,1fr)}\\n.ambx .g4{grid-template-columns:repeat(4,1fr)}\\n@media(max-width:1000px){.ambx:where(:not(.ambx-canvas)) .g3,.ambx:where(:not(.ambx-canvas)) .g4{grid-template-columns:repeat(2,1fr)}}\\n@media(max-width:680px){.ambx:where(:not(.ambx-canvas)) .g2,.ambx:where(:not(.ambx-canvas)) .g3,.ambx:where(:not(.ambx-canvas)) .g4{grid-template-columns:1fr}}\\n.ambx .card{background:#fff;border:1px solid var(--paper-line);border-radius:16px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s}\\n.ambx a.card:hover{transform:translateY(-3px);box-shadow:0 24px 50px -30px rgba(10,6,22,.4)}\\n.ambx .light .card{background:#fff}\\n.ambx .dark .card,.ambx .card.dark{background:#0f0c18;border-color:var(--line);color:#fff}\\n.ambx .dark .card p,.ambx .card.dark p{color:var(--text-2)}\\n.ambx .card .num{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--violet)}\\n.ambx .dark .card .num{color:var(--s-signal,#72ce7b)}\\n.ambx .card .h3,.ambx .card .h4{margin-top:14px}\\n.ambx .card p{color:var(--ink-2);font-size:15px;margin-top:10px}\\n.ambx .card .foot{margin-top:auto;padding-top:24px}\\n.ambx .card .ic{width:44px;height:44px;border-radius:10px;background:var(--paper);display:grid;place-items:center;color:var(--violet);overflow:hidden}\\n.ambx .dark .card .ic{background:#1b1630;color:var(--s-signal,#72ce7b)}\\n.ambx .card .media{margin:-28px -28px 22px;aspect-ratio:16/10;overflow:hidden;background:var(--bg)}\\n.ambx .card .media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .8s,filter .4s}\\n.ambx a.card:hover .media img{transform:scale(1.04);filter:none}\\n.ambx .panel{background:var(--paper-2);border-radius:var(--radius);padding:clamp(32px,calc(5 * var(--ambx-vw, 1vw)),72px) clamp(20px,calc(4 * var(--ambx-vw, 1vw)),56px)}\\n.ambx .dark .panel{background:#100d1a}\\n.ambx .inset{padding:0 8px}\\n.ambx .rows{border-top:1px solid var(--paper-line)}\\n.ambx .dark .rows{border-color:var(--line)}\\n.ambx .row{display:grid;grid-template-columns:60px 1.3fr 1fr 40px;gap:16px;align-items:center;padding:22px 0;border-bottom:1px solid var(--paper-line);transition:padding .25s,background .2s}\\n.ambx .dark .row{border-color:var(--line)}\\n.ambx a.row:hover{padding-left:12px;background:rgba(10,6,22,.03)}\\n.ambx .dark a.row:hover{background:rgba(255,255,255,.03)}\\n.ambx .row .n{font-family:var(--mono);font-size:12px;color:var(--ink-2)}\\n.ambx .dark .row .n{color:var(--text-3)}\\n.ambx .row .t{font-size:clamp(20px,calc(2.2 * var(--ambx-vw, 1vw)),30px);letter-spacing:-.02em}\\n.ambx .row .d{color:var(--ink-2);font-size:14px}\\n.ambx .dark .row .d{color:var(--text-2)}\\n.ambx .row .go{opacity:.4;transition:.2s}\\n.ambx a.row:hover .go{opacity:1;transform:translateX(4px)}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .row{grid-template-columns:40px 1fr 30px}\\n.ambx:where(:not(.ambx-canvas)) .row .d{grid-column:2/3}}\\n.ambx .kv{list-style:none;border-top:1px solid var(--paper-line)}\\n.ambx .kv li{display:grid;grid-template-columns:minmax(120px,200px) 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--paper-line);font-size:15px}\\n.ambx .kv li b{font-weight:500}\\n.ambx .kv li span{color:var(--ink-2)}\\n.ambx .dark .kv,.ambx .dark .kv li{border-color:var(--line)}\\n.ambx .dark .kv li span{color:var(--text-2)}\\n.ambx .marq{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}\\n.ambx .marq-track{display:flex;gap:16px;width:max-content;animation:mq var(--dur,60s) linear infinite}\\n.ambx .marq.rev .marq-track{animation-direction:reverse}\\n.ambx .marq:hover .marq-track{animation-play-state:paused}\\n@keyframes mq{to{transform:translateX(-50%)}}\\n.ambx .logo-strip .marq-track{gap:56px;align-items:center}\\n.ambx .logo-strip img{height:28px;width:auto;opacity:.85}\\n.ambx .logo-strip.invert img{filter:invert(1);mix-blend-mode:multiply}\\n.ambx .label-row{display:flex;align-items:center;gap:24px;padding:18px 0}\\n.ambx .label-row .mono{flex:none;color:var(--text-3);min-width:150px}\\n.ambx .pcard{width:280px;flex:none;border-radius:16px;background:#fff;border:1px solid var(--paper-line);overflow:hidden;display:flex;flex-direction:column}\\n.ambx .dark .pcard{background:#0f0c18;border-color:var(--line)}\\n.ambx .pcard .ph{aspect-ratio:1/1;background:var(--paper-2);overflow:hidden}\\n.ambx .pcard .ph img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .4s}\\n.ambx .pcard:hover .ph img{filter:none}\\n.ambx .pcard .ph.initials{display:grid;place-items:center;font-size:56px;color:var(--ink-2);font-weight:300}\\n.ambx .pcard .bd{padding:16px 18px 18px;display:flex;justify-content:space-between;gap:12px;align-items:flex-end}\\n.ambx .pcard b{display:block;font-weight:500;font-size:16px}\\n.ambx .pcard small{color:var(--ink-2);font-size:13px;display:block}\\n.ambx .dark .pcard small{color:var(--text-2)}\\n.ambx .pcard .lg{height:18px;width:auto;max-width:70px;object-fit:contain;opacity:.9}\\n.ambx .reel figure{width:300px;aspect-ratio:3/2;border-radius:12px;overflow:hidden;position:relative;flex:none}\\n.ambx .reel figure img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .4s,transform .6s}\\n.ambx .reel figure:hover img{filter:none;transform:scale(1.04)}\\n.ambx .reel .marq-track{gap:12px}\\n.ambx .qcard{background:#fff;border:1px solid var(--paper-line);border-radius:16px;padding:24px;display:flex;flex-direction:column;min-height:280px}\\n.ambx .dark .qcard{background:#0f0c18;border-color:var(--line)}\\n.ambx .qcard q{font-size:17px;line-height:1.45;letter-spacing:-.01em}\\n.ambx .qcard .p{margin-top:auto;padding-top:22px;display:flex;align-items:center;gap:12px}\\n.ambx .qcard .av{width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:500;flex:none}\\n.ambx .dark .qcard .av{background:var(--violet)}\\n.ambx .qcard .p b{display:block;font-weight:500;font-size:14px}\\n.ambx .qcard .p small{color:var(--ink-2);font-size:12px}\\n.ambx .dark .qcard .p small{color:var(--text-2)}\\n.ambx .hscroll{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(280px,1fr);gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}\\n.ambx .hscroll::-webkit-scrollbar{display:none}\\n.ambx .hscroll>*{scroll-snap-align:start}\\n.ambx .stat .big{font-size:clamp(56px,calc(8 * var(--ambx-vw, 1vw)),120px);letter-spacing:-.05em;line-height:.9;font-weight:300}\\n.ambx .cta-wrap{padding:8px}\\n.ambx .cta-card{border-radius:var(--radius);min-height:calc(80 * var(--ambx-vh, 1vh));position:relative;overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:clamp(28px,calc(5 * var(--ambx-vw, 1vw)),72px);background:var(--surface-2)}\\n.ambx .cta-card .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.5)}\\n.ambx .cta-card::before{content:\"\";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(23,16,52,.94) 0%,rgba(23,16,52,.6) 50%,rgba(0,0,84,.25) 100%)}\\n.ambx .cta-card .in{position:relative;z-index:2;max-width:620px}\\n.ambx .cta-card .h1{font-size:clamp(40px,calc(5.4 * var(--ambx-vw, 1vw)),80px)}\\n.ambx .cta-card p{margin-top:20px;color:rgba(255,255,255,.8);font-size:17px;max-width:460px}\\n.ambx .cta-card .btns{margin-top:28px}\\n.ambx .cta-card .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}\\n.ambx .form-card{background:#fff;border:1px solid var(--paper-line);border-radius:16px;padding:clamp(22px,calc(3 * var(--ambx-vw, 1vw)),40px)}\\n.ambx .dark .form-card{background:#0f0c18;border-color:var(--line)}\\n.ambx .form{display:grid;grid-template-columns:1fr 1fr;gap:18px 16px}\\n.ambx .form .full{grid-column:1/-1}\\n@media(max-width:680px){.ambx:where(:not(.ambx-canvas)) .form{grid-template-columns:1fr}}\\n.ambx .field label,.ambx .field .lab{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-bottom:8px}\\n.ambx .dark .field label,.ambx .dark .field .lab{color:var(--text-3)}\\n.ambx .field input,.ambx .field select,.ambx .field textarea{width:100%;height:46px;border-radius:10px;border:1px solid var(--paper-line);background:var(--paper);padding:0 14px;font:inherit;font-size:15px;color:var(--ink);transition:border-color .2s,background .2s}\\n.ambx .field textarea{height:auto;min-height:120px;padding:12px 14px;resize:vertical}\\n.ambx .field input:focus,.ambx .field select:focus,.ambx .field textarea:focus{outline:none;border-color:var(--violet);background:#fff}\\n.ambx .dark .field input,.ambx .dark .field select,.ambx .dark .field textarea{background:#16121f;border-color:var(--line);color:#fff}\\n.ambx .dark .field input:focus,.ambx .dark .field select:focus,.ambx .dark .field textarea:focus{background:#1b1628}\\n.ambx .field .hint{font-size:12px;color:var(--ink-2);margin-top:6px}\\n.ambx .dark .field .hint{color:var(--text-3)}\\n.ambx .field .drop{border:1px dashed var(--paper-line);border-radius:10px;padding:22px;text-align:center;color:var(--ink-2);font-size:14px;background:var(--paper)}\\n.ambx .dark .field .drop{border-color:var(--line);background:#16121f;color:var(--text-2)}\\n.ambx .checks{display:flex;flex-wrap:wrap;gap:8px}\\n.ambx .checks label{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--paper-line);border-radius:999px;padding:8px 14px;font-size:14px;cursor:pointer;text-transform:none;letter-spacing:0;font-family:var(--sans);color:inherit;margin:0}\\n.ambx .dark .checks label{border-color:var(--line)}\\n.ambx .form .submit{grid-column:1/-1;display:flex;gap:16px;align-items:center;flex-wrap:wrap}\\n.ambx .form .submit .btn{height:46px;padding:0 22px}\\n.ambx .prose{font-size:17px;line-height:1.7;color:#2b2638}\\n.ambx .prose h1,.ambx .prose h2,.ambx .prose h3,.ambx .prose h4{color:var(--ink);font-weight:400;letter-spacing:-.02em;line-height:1.2}\\n.ambx .prose h2{font-size:clamp(26px,calc(2.6 * var(--ambx-vw, 1vw)),36px);margin:2em 0 .6em}\\n.ambx .prose h3{font-size:22px;margin:1.6em 0 .5em}\\n.ambx .prose h4{font-size:18px;font-weight:500;margin:1.4em 0 .4em}\\n.ambx .prose p{margin:0 0 1.1em}\\n.ambx .prose p+p{margin-top:0}\\n.ambx .prose ul,.ambx .prose ol{margin:0 0 1.2em 1.3em}\\n.ambx .prose li{margin:.35em 0}\\n.ambx .prose a{color:var(--violet);border-bottom:1px solid rgba(92,52,239,.3)}\\n.ambx .prose blockquote{border-left:2px solid var(--violet);padding:4px 0 4px 20px;margin:1.4em 0;color:var(--ink-2)}\\n.ambx .prose img{border-radius:12px;margin:1.6em 0}\\n.ambx .prose table{width:100%;border-collapse:collapse;margin:1.4em 0;font-size:15px}\\n.ambx .prose th,.ambx .prose td{border-bottom:1px solid var(--paper-line);padding:10px 8px;text-align:left;vertical-align:top}\\n.ambx .prose th{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);font-weight:400}\\n.ambx .toc{position:sticky;top:calc(var(--hdr) + 24px);font-size:14px}\\n.ambx .toc a{display:block;padding:6px 0;color:var(--ink-2);border-left:1px solid var(--paper-line);padding-left:14px}\\n.ambx .toc a:hover{color:var(--ink);border-color:var(--ink)}\\n.ambx .article-grid{display:grid;grid-template-columns:240px minmax(0,1fr);gap:64px}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .article-grid{grid-template-columns:1fr}\\n.ambx:where(:not(.ambx-canvas)) .toc{display:none}}\\n.ambx .tag{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:999px;border:1px solid var(--paper-line);font-size:12px;color:var(--ink-2)}\\n.ambx .dark .tag{border-color:var(--line);color:var(--text-2)}\\n.ambx .tag.v{background:rgba(92,52,239,.1);border-color:transparent;color:var(--violet)}\\n.ambx .dark .tag.v{background:rgba(169,139,248,.14);color:var(--s-signal,#72ce7b)}\\n.ambx .embed-frame{width:100%;border:0;display:block;background:var(--bg)}\\n.ambx .embed-full{height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr))}\\n.ambx footer.site{background:#000;color:#fff;padding:80px 0 24px;overflow:hidden}\\n.ambx .fgrid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .fgrid{grid-template-columns:repeat(2,1fr)}\\n.ambx:where(:not(.ambx-canvas)) .fgrid .fl{grid-column:1/-1}}\\n.ambx .fgrid h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--text-3);font-weight:400;margin-bottom:14px;text-transform:uppercase}\\n.ambx .fgrid a{display:block;font-size:14px;color:var(--text-2);padding:4px 0}\\n.ambx .fgrid a:hover{color:#fff}\\n.ambx .fgrid .fl img{height:28px;width:auto}\\n.ambx .fgrid .fl p{margin-top:16px;color:var(--text-3);font-size:14px;max-width:300px}\\n.ambx .giant{font-size:clamp(48px,calc(9 * var(--ambx-vw, 1vw)),148px);letter-spacing:-.05em;line-height:.95;font-weight:400;margin:100px 0 40px;color:#d9d6e3}\\n.ambx .giant .it{color:var(--s-signal,#72ce7b)}\\n.ambx .cities{color:var(--text-3);margin-bottom:28px;font-size:11px}\\n.ambx .fbot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border-top:1px solid #1c1a24;padding-top:20px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--text-3);text-transform:uppercase}\\n.ambx .fbot .soc{display:flex;gap:8px}\\n.ambx .fbot .soc a{width:32px;height:32px;border-radius:8px;background:#141219;display:grid;place-items:center}\\n.ambx .fbot .soc svg{width:15px;height:15px;fill:#fff}\\n.ambx .fbot .lnk{display:flex;gap:18px;flex-wrap:wrap}\\n.ambx .fbot a:hover{color:#fff}\\n.ambx .cookie{position:fixed;left:16px;right:16px;bottom:16px;max-width:980px;margin:0 auto;z-index:70;background:rgba(18,16,24,.96);border:1px solid #26222f;border-radius:12px;padding:14px 16px;display:flex;align-items:center;gap:16px;font-size:12.5px;color:var(--text-2);box-shadow:0 20px 50px -20px rgba(0,0,0,.6);transition:.3s}\\n.ambx .cookie.hide{opacity:0;transform:translateY(20px);pointer-events:none}\\n.ambx .cookie .b{margin-left:auto;display:flex;gap:6px;flex-shrink:0}\\n.ambx .cookie .b button{height:32px;padding:0 12px;border-radius:7px;font-size:12px;background:#221e2c;color:#fff}\\n.ambx .cookie .b button.acc{background:#fff;color:#000}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .cookie{flex-direction:column;align-items:stretch}\\n.ambx:where(:not(.ambx-canvas)) .cookie .b{margin:0}}\\n.ambx .rv{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}\\n.ambx .rv.in{opacity:1;transform:none}\\n@media(prefers-reduced-motion:reduce){.ambx, .ambx *{animation:none!important;transition:none!important}\\n.ambx .rv{opacity:1;transform:none}}\\n.ambx .dark .btn-ghost .arr,.ambx .on-dark .btn-ghost .arr,.ambx .hero-card .btn-ghost .arr,.ambx .cta-card .btn-ghost .arr{background:rgba(255,255,255,.14)}\\nhtml{scroll-behavior:auto}\\n.ambx{transition:background-color .6s ease}\\n.ambx .sec,.ambx .dark,.ambx .light,.ambx .white,.ambx .black{transition:background-color .6s ease}\\n.ambx .sw{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}\\n.ambx .sw>span{display:inline-block;transform:translateY(105%);transition:transform .9s cubic-bezier(.2,.75,.15,1)}\\n.ambx .split-in .sw>span{transform:none}\\n.ambx .s-hero{position:relative;height:calc(190 * var(--ambx-vh, 1vh));background:#fff}\\n.ambx .s-hero.on-dark-page{background:var(--bg)}\\n.ambx .s-hero .s-stick{position:sticky;top:var(--hdr);height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr));display:flex;align-items:center;justify-content:center;overflow:hidden}\\n.ambx .s-hero .s-card{position:relative;width:calc(100% - 16px);height:calc(100% - 16px);border-radius:20px;overflow:hidden;background:var(--bg);color:#fff;will-change:width,height,border-radius}\\n.ambx .s-hero .s-media,.ambx .s-hero .s-media>*{position:absolute;inset:0}\\n.ambx .s-hero .s-media .slide,.ambx .s-hero .s-media img{width:100%;height:100%;object-fit:cover;background-size:cover;background-position:center;filter:grayscale(1) brightness(.5) contrast(1.05)}\\n.ambx .s-hero .s-media .slide{opacity:0;transform:scale(1.1);transition:opacity 1.8s ease,transform 8s linear}\\n.ambx .s-hero .s-media .slide.on{opacity:1;transform:scale(1)}\\n.ambx .s-hero .s-card::after{content:\"\";position:absolute;inset:0;background:radial-gradient(110% 80% at 50% 55%,rgba(0,0,84,.22),rgba(8,6,14,.6) 75%);pointer-events:none}\\n.ambx .s-hero .s-inner{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;will-change:transform,opacity}\\n.ambx .s-hero .s-inner .lede{color:rgba(255,255,255,.75);margin:24px auto 0;text-align:center}\\n.ambx .s-hero .s-inner .btns{margin-top:34px;justify-content:center}\\n.ambx .s-hero .s-inner .eyebrow{color:rgba(255,255,255,.65);margin-bottom:24px}\\n.ambx .s-hero .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}\\n.ambx .s-hero .display,.ambx .s-hero .h1{max-width:16ch}\\n.ambx .s-hero.short{height:calc(150 * var(--ambx-vh, 1vh))}\\n.ambx .s-hero .s-noise{position:absolute;inset:0;z-index:1;opacity:.5;background:radial-gradient(60% 50% at 50% 50%,rgba(92,52,239,.18),transparent 70%)}\\n.ambx .s-frame-sec{min-height:calc(100 * var(--ambx-vh, 1vh));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:clamp(100px,calc(12 * var(--ambx-vw, 1vw)),160px) var(--pad)}\\n.ambx .s-frame{perspective:1500px;width:min(720px,calc(86 * var(--ambx-vw, 1vw)));aspect-ratio:16/10;margin:0 auto 64px;position:relative}\\n.ambx .s-frame.wide{width:min(1100px,calc(92 * var(--ambx-vw, 1vw)));aspect-ratio:16/9}\\n.ambx .s-frame .plate{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(18deg) rotateY(-26deg);will-change:transform}\\n.ambx .s-frame .plate>.content{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:#0b0912;box-shadow:0 60px 120px -40px rgba(0,0,0,.8)}\\n.ambx .s-frame .plate>.content img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.85)}\\n.ambx .s-frame .plate>.content iframe{width:100%;height:100%;border:0;display:block}\\n.ambx .s-frame .wire{position:absolute;inset:0;border:1px solid rgba(169,139,248,.42);border-radius:16px;pointer-events:none}\\n.ambx .s-frame .wire.w1{transform:translateZ(-70px) scale(1.04);opacity:.55}\\n.ambx .s-frame .wire.w2{transform:translateZ(-140px) scale(1.08);opacity:.32}\\n.ambx .s-frame .wire.w3{transform:translateZ(-210px) scale(1.12);opacity:.16}\\n.ambx .s-frame .grid{position:absolute;inset:0;border-radius:14px;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:44px 44px;transform:translateZ(24px);mix-blend-mode:overlay}\\n.ambx .s-frame .glow{position:absolute;inset:-30%;background:radial-gradient(closest-side,rgba(92,52,239,.35),transparent);transform:translateZ(-260px);filter:blur(24px);pointer-events:none}\\n.ambx .s-frame-sec .h2{max-width:22ch;margin:16px auto 0}\\n.ambx .s-frame-sec .lede{margin:20px auto 0;text-align:center}\\n.ambx .s-frame-sec .btns{justify-content:center;margin-top:32px}\\n.ambx .s-words{position:relative;height:calc(260 * var(--ambx-vh, 1vh))}\\n.ambx .s-words .s-stick{position:sticky;top:var(--hdr);height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr));display:flex;align-items:center;justify-content:flex-end;padding:var(--pad)}\\n.ambx .s-words .s-wcard{width:min(1040px,100%);min-height:min(calc(78 * var(--ambx-vh, 1vh)),720px);border-radius:var(--radius);background:linear-gradient(160deg,#1b1438 0%,#120d26 55%,#0d0a1a 100%);border:1px solid rgba(169,139,248,.14);padding:clamp(28px,calc(4.5 * var(--ambx-vw, 1vw)),64px);position:relative;overflow:hidden;display:flex;flex-direction:column}\\n.ambx .s-words.center .s-stick{justify-content:center}\\n.ambx .s-words .s-wcard::after{content:\"\";position:absolute;right:-14%;bottom:-34%;width:72%;aspect-ratio:1;border-radius:50%;border:1px solid rgba(169,139,248,.18);box-shadow:0 0 0 60px rgba(169,139,248,.03),0 0 0 120px rgba(169,139,248,.02)}\\n.ambx .s-words [data-words]{font-size:clamp(26px,calc(3.4 * var(--ambx-vw, 1vw)),52px);line-height:1.14;letter-spacing:-.03em;position:relative;z-index:1;max-width:26ch}\\n.ambx .s-words [data-words] .w{color:rgba(255,255,255,.13);transition:color .35s}\\n.ambx .s-words [data-words] .w.on{color:#fff}\\n.ambx .s-words .s-foot{margin-top:auto;padding-top:40px;position:relative;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;color:var(--text-2)}\\n.ambx .s-words .s-foot .big{font-size:clamp(56px,calc(8 * var(--ambx-vw, 1vw)),128px);letter-spacing:-.06em;line-height:.9;font-weight:300;color:#fff}\\n.ambx .s-float{position:relative;min-height:calc(115 * var(--ambx-vh, 1vh));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:160px var(--pad) 120px;overflow:hidden}\\n.ambx .s-float h2{font-size:clamp(44px,calc(6.6 * var(--ambx-vw, 1vw)),104px);font-weight:400;letter-spacing:-.045em;line-height:1;position:relative;z-index:2}\\n.ambx .s-float .sub{position:relative;z-index:2;margin-top:18px;font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink-2);text-transform:uppercase;min-height:1.5em}\\n.ambx .dark .s-float .sub,.ambx .s-float.dark .sub{color:var(--text-3)}\\n.ambx .s-rot{display:inline-block;position:relative;color:var(--ink-2)}\\n.ambx .dark .s-rot{color:var(--text-3)}\\n.ambx .s-rot>span{display:inline-block;transition:transform .55s cubic-bezier(.2,.7,.2,1),opacity .55s,filter .55s}\\n.ambx .s-rot>span.out{transform:translateY(-45%);opacity:0;filter:blur(8px)}\\n.ambx .s-rot>span.in{transform:translateY(45%);opacity:0;filter:blur(8px)}\\n.ambx .s-float .btns{position:relative;z-index:2;margin-top:34px;justify-content:center}\\n.ambx .s-floaters{position:absolute;inset:0;pointer-events:none;z-index:1}\\n.ambx .s-floaters img{position:absolute;border-radius:10px;object-fit:cover;box-shadow:0 30px 60px -30px rgba(10,6,22,.5);filter:grayscale(.2);will-change:transform}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-floaters img:nth-child(n+5){display:none}\\n.ambx:where(:not(.ambx-canvas)) .s-floaters img{transform:scale(.7)}}\\n.ambx .s-cases{padding:16px 0 56px}\\n.ambx .s-cases .marq-track{gap:16px;--dur:80s}\\n.ambx .s-case{width:320px;height:380px;flex:none;border-radius:16px;background:#fff;border:1px solid var(--paper-line);padding:24px;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;color:var(--ink)}\\n.ambx .s-case:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(10,6,22,.4)}\\n.ambx .dark .s-case{background:#0f0c18;border-color:var(--line);color:#fff}\\n.ambx .s-case .ic{width:48px;height:48px;border-radius:12px;background:var(--paper);overflow:hidden;display:grid;place-items:center}\\n.ambx .dark .s-case .ic{background:#1b1630}\\n.ambx .s-case .ic img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}\\n.ambx .s-case .ic img.logo{width:70%;height:70%;object-fit:contain;filter:none}\\n.ambx .s-case:hover .ic img{filter:none}\\n.ambx .s-case .stmt{margin-top:auto;font-size:23px;line-height:1.22;letter-spacing:-.02em}\\n.ambx .s-case .who{margin-top:22px;padding-top:14px;border-top:1px solid var(--paper-line);display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:13px;color:var(--ink-2)}\\n.ambx .dark .s-case .who{border-color:var(--line);color:var(--text-2)}\\n.ambx .s-case .who b{font-weight:500;color:inherit}\\n.ambx .s-case .who img{height:16px;width:auto;max-width:72px;object-fit:contain}\\n.ambx .s-proven{text-align:center;padding:24px var(--pad) 120px;font-size:clamp(30px,calc(3.6 * var(--ambx-vw, 1vw)),52px);letter-spacing:-.035em;line-height:1.06}\\n.ambx .s-proven .m{color:var(--ink-2)}\\n.ambx .s-bench{padding:0 8px 8px}\\n.ambx .s-bench>.box{background:var(--paper-2);border-radius:var(--radius);padding:clamp(36px,calc(5.5 * var(--ambx-vw, 1vw)),80px) clamp(20px,calc(4 * var(--ambx-vw, 1vw)),60px)}\\n.ambx .dark .s-bench>.box,.ambx .s-bench.dark-box>.box{background:#100d1a}\\n.ambx .s-bench h2{font-size:clamp(32px,calc(4 * var(--ambx-vw, 1vw)),58px);font-weight:400;letter-spacing:-.035em;line-height:1.04;max-width:20ch}\\n.ambx .s-bench .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:56px}\\n.ambx .s-bench .cards.c2{grid-template-columns:repeat(2,1fr)}\\n.ambx .s-bench .cards.c4{grid-template-columns:repeat(4,1fr)}\\n@media(max-width:1000px){.ambx:where(:not(.ambx-canvas)) .s-bench .cards,.ambx:where(:not(.ambx-canvas)) .s-bench .cards.c2,.ambx:where(:not(.ambx-canvas)) .s-bench .cards.c4{grid-template-columns:1fr}}\\n.ambx .s-bcard{background:#fff;border-radius:16px;padding:28px;min-height:420px;display:flex;flex-direction:column;border:1px solid var(--paper-line);transition:transform .35s,box-shadow .35s}\\n.ambx a.s-bcard:hover,.ambx .s-bcard.hov:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(10,6,22,.45)}\\n.ambx .dark .s-bcard{background:#0f0c18;border-color:var(--line)}\\n.ambx .s-bcard .ic{width:44px;height:44px;border-radius:10px;background:var(--paper);display:grid;place-items:center;color:var(--violet)}\\n.ambx .dark .s-bcard .ic{background:#1b1630;color:var(--s-signal,#72ce7b)}\\n.ambx .s-bcard h3{font-size:clamp(22px,calc(2 * var(--ambx-vw, 1vw)),28px);font-weight:400;letter-spacing:-.025em;line-height:1.15;margin-top:auto;padding-top:40px}\\n.ambx .s-bcard p{color:var(--ink-2);font-size:15px;margin-top:12px}\\n.ambx .dark .s-bcard p{color:var(--text-2)}\\n.ambx .s-bcard .more{margin-top:24px}\\n.ambx .s-bcard.ink{background:var(--ink);color:#fff;border-color:var(--ink)}\\n.ambx .s-bcard.ink p{color:var(--text-2)}\\n.ambx .s-bcard.ink .ic{background:#1b1630;color:var(--s-signal,#72ce7b)}\\n.ambx .s-news{padding:clamp(110px,calc(13 * var(--ambx-vw, 1vw)),170px) 0 120px}\\n.ambx .s-news .ttl{font-size:clamp(36px,calc(4.8 * var(--ambx-vw, 1vw)),72px);font-weight:400;letter-spacing:-.04em;line-height:1.02;text-align:center}\\n.ambx .s-news .ttl .m{color:var(--ink-2)}\\n.ambx .dark .s-news .ttl .m,.ambx .s-news.dark .ttl .m{color:var(--text-3)}\\n.ambx .s-news .stagger{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:72px;align-items:start}\\n.ambx .s-news .stagger>*:nth-child(3n+2){margin-top:80px}\\n.ambx .s-news .stagger>*:nth-child(3n){margin-top:160px}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-news .stagger{grid-template-columns:1fr}\\n.ambx:where(:not(.ambx-canvas)) .s-news .stagger>*{margin-top:0!important}}\\n.ambx .s-ncard{border-radius:16px;overflow:hidden;background:#fff;border:1px solid var(--paper-line);display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s;color:var(--ink)}\\n.ambx .s-ncard:hover{transform:translateY(-4px);box-shadow:0 30px 60px -36px rgba(10,6,22,.45)}\\n.ambx .dark .s-ncard{background:#0f0c18;border-color:var(--line);color:#fff}\\n.ambx .s-ncard .im{aspect-ratio:4/3;background:var(--bg);position:relative;overflow:hidden}\\n.ambx .s-ncard .im img,.ambx .s-ncard .im iframe{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .9s,filter .5s;border:0}\\n.ambx .s-ncard:hover .im img{transform:scale(1.05);filter:none}\\n.ambx .s-ncard .im .ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:#fff;background:linear-gradient(180deg,rgba(8,6,14,.15),rgba(8,6,14,.7));font-size:clamp(24px,calc(2.4 * var(--ambx-vw, 1vw)),34px);letter-spacing:-.03em;line-height:1.05}\\n.ambx .s-ncard .bd{padding:20px 22px 24px}\\n.ambx .s-ncard .cat{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet)}\\n.ambx .dark .s-ncard .cat{color:var(--s-signal,#72ce7b)}\\n.ambx .s-ncard h3{font-size:20px;font-weight:400;letter-spacing:-.015em;line-height:1.25;margin-top:8px}\\n.ambx .s-ncard p{font-size:14px;color:var(--ink-2);margin-top:8px}\\n.ambx .dark .s-ncard p{color:var(--text-2)}\\n.ambx .s-cta{padding:8px}\\n.ambx .s-cta .panel-in{position:relative;border-radius:var(--radius);min-height:calc(92 * var(--ambx-vh, 1vh));overflow:hidden;color:#fff;display:flex;align-items:flex-end;padding:clamp(28px,calc(5 * var(--ambx-vw, 1vw)),80px);background:#1a1430}\\n.ambx .s-cta .bgimg{position:absolute;inset:-6% 0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.45);will-change:transform}\\n.ambx .s-cta .panel-in::before{content:\"\";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(23,16,52,.95) 0%,rgba(23,16,52,.6) 50%,rgba(0,0,84,.2) 100%)}\\n.ambx .s-cta .in{position:relative;z-index:2;max-width:640px}\\n.ambx .s-cta h2{font-size:clamp(44px,calc(6 * var(--ambx-vw, 1vw)),92px);font-weight:400;letter-spacing:-.045em;line-height:.98}\\n.ambx .s-cta p{margin-top:22px;color:rgba(255,255,255,.8);font-size:17px;max-width:460px}\\n.ambx .s-cta .btns{margin-top:30px}\\n.ambx .s-cta .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}\\n.ambx .s-split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,calc(6 * var(--ambx-vw, 1vw)),96px)}\\n.ambx .s-split>.l{position:sticky;top:calc(var(--hdr) + 40px);align-self:start}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-split{grid-template-columns:1fr}\\n.ambx:where(:not(.ambx-canvas)) .s-split>.l{position:static}}\\n.ambx .s-steps{border-top:1px solid var(--paper-line)}\\n.ambx .dark .s-steps{border-color:var(--line)}\\n.ambx .s-step{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:36px 0;border-bottom:1px solid var(--paper-line);opacity:.35;transition:opacity .5s}\\n.ambx .dark .s-step{border-color:var(--line)}\\n.ambx .s-step.on{opacity:1}\\n.ambx .s-step .n{font-size:clamp(40px,calc(5 * var(--ambx-vw, 1vw)),72px);font-weight:300;letter-spacing:-.05em;line-height:1}\\n.ambx .s-step h3{font-size:clamp(22px,calc(2.2 * var(--ambx-vw, 1vw)),30px);font-weight:400;letter-spacing:-.025em}\\n.ambx .s-step p{color:var(--ink-2);margin-top:8px}\\n.ambx .dark .s-step p{color:var(--text-2)}\\n@media(max-width:600px){.ambx:where(:not(.ambx-canvas)) .s-step{grid-template-columns:1fr}}\\n.ambx .s-hero .rings{position:absolute;inset:0;z-index:1;display:grid;place-items:center;pointer-events:none}\\n.ambx .s-hero .rings i{position:absolute;border-radius:50%;border:1px solid rgba(169,139,248,.16);animation:ring 9s linear infinite}\\n@keyframes ring{from{transform:scale(.4);opacity:0}20%{opacity:1}to{transform:scale(1.6);opacity:0}}\\n@media(prefers-reduced-motion:reduce){.ambx .sw>span{transform:none}\\n.ambx .s-hero,.ambx .s-words{height:auto}\\n.ambx .s-hero .s-stick,.ambx .s-words .s-stick{position:relative;top:0;height:calc(90 * var(--ambx-vh, 1vh))}}\\n.ambx .s-words [data-words] .w.v.on{color:var(--s-signal,#72ce7b)}\\n.ambx .s-frame-sec{overflow:hidden}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-words{height:calc(200 * var(--ambx-vh, 1vh))}\\n.ambx:where(:not(.ambx-canvas)) .s-frame-sec{min-height:auto;padding:88px var(--pad)}\\n.ambx:where(:not(.ambx-canvas)) .s-float{min-height:calc(90 * var(--ambx-vh, 1vh))}\\n.ambx:where(:not(.ambx-canvas)) .s-hero{height:calc(150 * var(--ambx-vh, 1vh))}\\n.ambx:where(:not(.ambx-canvas)) .s-words .s-wcard{min-height:calc(70 * var(--ambx-vh, 1vh))}}\\n.ambx .s-rail{position:fixed;left:0;right:0;top:var(--hdr);z-index:48;height:46px;transform:translateY(-110%);opacity:0;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .3s,background-color .4s,color .4s,border-color .4s;background:rgba(255,255,255,.88);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--paper-line);color:var(--ink)}\\n.ambx .s-rail.on{transform:none;opacity:1}\\n.ambx .s-rail.dk{background:rgba(8,6,14,.82);color:#fff;border-color:rgba(255,255,255,.07)}\\n.ambx .s-rail .in{height:100%;display:flex;align-items:center;gap:14px}\\n.ambx .s-rail button.cur{display:flex;align-items:center;gap:12px;min-width:0;flex:1;text-align:left;height:100%}\\n.ambx .s-rail .eb{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--violet);flex:none;white-space:nowrap}\\n.ambx .s-rail.dk .eb{color:var(--s-signal,#72ce7b)}\\n.ambx .s-rail .tt{font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;position:relative}\\n.ambx .s-rail .tt span{display:inline-block;transition:transform .35s cubic-bezier(.2,.7,.2,1),opacity .35s}\\n.ambx .s-rail .tt span.sw-out{transform:translateY(-100%);opacity:0}\\n.ambx .s-rail .chev{font-size:10px;opacity:.5;flex:none;transition:transform .25s}\\n.ambx .s-rail.open .chev{transform:rotate(180deg)}\\n.ambx .s-rail .idx{font-family:var(--mono);font-size:11px;letter-spacing:.1em;opacity:.55;flex:none}\\n.ambx .s-rail .top{flex:none;width:30px;height:30px;border-radius:8px;display:grid;place-items:center;border:1px solid currentColor;opacity:.35;font-size:13px;transition:opacity .2s}\\n.ambx .s-rail .top:hover{opacity:1}\\n.ambx .s-rail .bar{position:absolute;left:0;bottom:-1px;height:2px;background:var(--violet);width:0;transition:width .15s linear}\\n.ambx .s-rail.dk .bar{background:var(--lav)}\\n.ambx .s-rail .list{position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.98);box-shadow:0 30px 60px -30px rgba(10,6,22,.35);border-bottom:1px solid var(--paper-line);max-height:0;overflow:hidden;transition:max-height .35s ease}\\n.ambx .s-rail.dk .list{border-color:rgba(255,255,255,.07)}\\n.ambx .s-rail.open .list{max-height:calc(70 * var(--ambx-vh, 1vh));overflow:auto}\\n.ambx .s-rail .list .wrap{padding-top:8px;padding-bottom:14px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 24px}\\n.ambx .s-rail .list a{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(127,127,127,.15);font-size:14px;opacity:.7;transition:opacity .2s}\\n.ambx .s-rail .list a:hover,.ambx .s-rail .list a.act{opacity:1}\\n.ambx .s-rail .list a .n{font-family:var(--mono);font-size:10px;letter-spacing:.1em;opacity:.6;flex:none;width:22px}\\n.ambx .s-rail .list a.act .n{color:var(--violet);opacity:1}\\n.ambx .s-rail.dk .list a.act .n{color:var(--s-signal,#72ce7b)}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .s-rail{height:42px}\\n.ambx:where(:not(.ambx-canvas)) .s-rail .idx{display:none}\\n.ambx:where(:not(.ambx-canvas)) .s-rail .tt{font-size:14px}}\\n.ambx .s-split>.l,.ambx .toc{top:calc(var(--hdr) + var(--rail,0px) + 24px);transition:top .4s cubic-bezier(.2,.7,.2,1)}\\n.ambx .veil{position:fixed;inset:0;z-index:90;background:var(--bg);pointer-events:none;opacity:1;transition:opacity .5s ease}\\n.ambx .veil.out{opacity:0}\\n.ambx .veil.in{opacity:1;transition-duration:.3s}\\nhtml.lenis,html.lenis body{height:auto}\\n.ambx .lenis.lenis-smooth{scroll-behavior:auto!important}\\n.ambx .lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}\\n.ambx .lenis.lenis-stopped{overflow:hidden}\\n.ambx .s-rail.dk .list{background:rgba(8,6,14,.97)}\\n.ambx [id]{scroll-margin-top:calc(var(--hdr) + 60px)}\\n:root{\\n  --bg:#000; --surface:#0c0c0d; --line:#232326; --line-2:#18181a;\\n  --text-2:#a9a8a3; --text-3:#7d7c77;\\n  --paper:#f3f2ee; --paper-2:#e8e6df; --paper-line:#dddad1; --ink:#0b0b0c; --ink-2:#6b6963;\\n  --forest:#16201a; --forest-2:#223027; --olive:#4c4636; --olive-2:#5d5642; --sand:#d8d2c2; --mint:#cfe5d6;\\n}\\n.ambx{background:#fff}\\n.ambx .dark{background:#000}\\n.ambx .light{background:var(--paper)}\\n.ambx .btn{border-radius:8px;font-weight:500}\\n.ambx .btn-violet{background:var(--ink);color:#fff}\\n.ambx .btn-violet:hover{background:#2b2b2e}\\n.ambx .dark .btn-violet,.ambx .black .btn-violet,.ambx .s-hero .btn-violet,.ambx .s-cta .btn-violet,.ambx .cta-card .btn-violet,.ambx .s-words .btn-violet,.ambx .ink .btn-violet,.ambx .hero-card .btn-violet,.ambx #hdr.dark .btn-violet{background:#fff;color:#000}\\n.ambx .dark .btn-violet:hover,.ambx .s-hero .btn-violet:hover,.ambx .s-cta .btn-violet:hover,.ambx .s-words .btn-violet:hover,.ambx #hdr.dark .btn-violet:hover{background:var(--sand)}\\n.ambx .btn-violet .arr{background:rgba(255,255,255,.16)}\\n.ambx .dark .btn-violet .arr,.ambx .s-hero .btn-violet .arr,.ambx .s-cta .btn-violet .arr,.ambx .s-words .btn-violet .arr,.ambx .ink .btn-violet .arr{background:rgba(0,0,0,.08)}\\n.ambx .btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px}\\n.ambx .eyebrow::before{background:var(--violet);box-shadow:0 0 0 3px rgba(92,52,239,.15)}\\n.ambx .card,.ambx .s-bcard,.ambx .s-case,.ambx .s-ncard,.ambx .qcard,.ambx .pcard,.ambx .form-card{border-color:var(--paper-line)}\\n.ambx .dark .card,.ambx .dark .s-bcard,.ambx .dark .s-case,.ambx .dark .s-ncard,.ambx .dark .qcard,.ambx .dark .pcard,.ambx .dark .form-card{background:#0d0d0e;border-color:#1f1f22}\\n.ambx .s-bench>.box{background:var(--paper-2)}\\n.ambx .dark .s-bench>.box,.ambx .s-bench.dark-box>.box{background:#0e0e10}\\n.ambx .s-bcard.ink{background:#0b0b0c;border-color:#0b0b0c}\\n.ambx .s-words .s-wcard{background:linear-gradient(165deg,var(--forest-2) 0%,var(--forest) 55%,#0f1511 100%);border-color:rgba(207,229,214,.10)}\\n.ambx .s-words .s-wcard::after{border-color:rgba(207,229,214,.12);box-shadow:0 0 0 60px rgba(207,229,214,.025),0 0 0 120px rgba(207,229,214,.015)}\\n.ambx .s-words [data-words] .w{color:rgba(255,255,255,.12)}\\n.ambx .s-words [data-words] .w.v.on{color:var(--mint)}\\n.ambx .s-words .s-foot{color:rgba(207,229,214,.7)}\\n.ambx .s-cta .panel-in{background:var(--olive)}\\n.ambx .s-cta .panel-in::before{background:linear-gradient(90deg,rgba(64,59,45,.96) 0%,rgba(64,59,45,.72) 45%,rgba(64,59,45,.25) 100%)}\\n.ambx .s-cta .bgimg{filter:grayscale(1) brightness(.55) sepia(.25)}\\n.ambx .s-cta .eyebrow{color:var(--sand)!important}\\n.ambx .s-cta .eyebrow::before{background:var(--sand);box-shadow:none}\\n.ambx .cta-card{background:var(--olive)}\\n.ambx .cta-card::before{background:linear-gradient(90deg,rgba(64,59,45,.96) 0%,rgba(64,59,45,.7) 50%,rgba(64,59,45,.2) 100%)}\\n.ambx .s-frame .wire{border-color:rgba(255,255,255,.22)}\\n.ambx .s-frame .glow{background:radial-gradient(closest-side,rgba(255,255,255,.10),transparent)}\\n.ambx .s-hero .s-card::after{background:radial-gradient(110% 80% at 50% 55%,rgba(0,0,0,.05),rgba(0,0,0,.55) 75%)}\\n.ambx .s-hero .s-noise{background:radial-gradient(60% 50% at 50% 50%,rgba(255,255,255,.06),transparent 70%)}\\n.ambx .s-hero .rings i{border-color:rgba(255,255,255,.10)}\\n.ambx .s-rail .eb{color:var(--ink-2)}\\n.ambx .s-rail.dk .eb{color:var(--text-3)}\\n.ambx .s-rail .bar{background:var(--ink)}\\n.ambx .s-rail.dk .bar{background:#fff}\\n.ambx .tag.v{background:rgba(92,52,239,.08);color:var(--violet)}\\n.ambx .peek-rows{border-top:1px solid var(--line)}\\n.ambx .light .peek-rows,.ambx .white .peek-rows{border-color:var(--paper-line)}\\n.ambx .peek-row{display:grid;grid-template-columns:56px 1.4fr 1fr 1fr 32px;gap:16px;align-items:center;padding:24px 0;border-bottom:1px solid var(--line);transition:padding .3s,background .25s}\\n.ambx .light .peek-row,.ambx .white .peek-row{border-color:var(--paper-line)}\\n.ambx .peek-row:hover{padding-left:14px;background:rgba(127,127,127,.06)}\\n.ambx .peek-row .n{font-family:var(--mono);font-size:12px;opacity:.5}\\n.ambx .peek-row .t{font-size:clamp(22px,calc(2.6 * var(--ambx-vw, 1vw)),38px);letter-spacing:-.025em;line-height:1.1}\\n.ambx .peek-row .k{font-family:var(--mono);font-size:12px;opacity:.6}\\n.ambx .peek-row .d{font-size:14px;opacity:.7}\\n.ambx .peek-row .go{opacity:.35;transition:.25s}\\n.ambx .peek-row:hover .go{opacity:1;transform:translateX(4px)}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .peek-row{grid-template-columns:36px 1fr 24px}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .k,.ambx:where(:not(.ambx-canvas)) .peek-row .d{grid-column:2/3}}\\n.ambx .peek{position:fixed;width:280px;aspect-ratio:3/2;border-radius:12px;overflow:hidden;pointer-events:none;z-index:45;opacity:0;transform:scale(.92) rotate(-2deg);transition:opacity .2s,transform .25s}\\n.ambx .peek.on{opacity:1;transform:none}\\n.ambx .peek img{width:100%;height:100%;object-fit:cover;filter:grayscale(1)}\\n@media(hover:none){.ambx .peek{display:none}}\\n.ambx .light .s-case{background:#fff}\\n.ambx .s-case .tag-top{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2);margin-left:auto}\\n.ambx .dark .s-case .tag-top{color:var(--text-3)}\\n.ambx .s-hero .btn-ghost .arr{background:rgba(255,255,255,.16)}\\n.ambx .giant .it{color:var(--sand)}\\n.ambx .fgrid h5{color:#6f6e69}\\n:root{\\n  --serif:\"EB Garamond\",Garamond,Georgia,serif;\\n  --forest:#150f33; --forest-2:#24186a; --mint:#c9b8ff; --olive:#120c2a; --olive-2:#1d1446; --sand:#c9b8ff;\\n  --violet:#5C34EF; --violet-2:#7352ff; --lav:#b9a5ff;\\n}\\n.ambx .it{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em}\\n.ambx .giant{letter-spacing:-.04em}\\n.ambx .giant .it{color:var(--s-signal,#72ce7b)}\\n.ambx .btn-violet,.ambx .dark .btn-violet,.ambx .black .btn-violet,.ambx .s-hero .btn-violet,.ambx .s-cta .btn-violet,.ambx .cta-card .btn-violet,.ambx .s-words .btn-violet,.ambx .ink .btn-violet,.ambx .hero-card .btn-violet,.ambx #hdr.dark .btn-violet{background:var(--violet);color:#fff}\\n.ambx .btn-violet:hover,.ambx .dark .btn-violet:hover,.ambx .s-hero .btn-violet:hover,.ambx .s-cta .btn-violet:hover,.ambx .s-words .btn-violet:hover,.ambx #hdr.dark .btn-violet:hover{background:var(--violet-2)}\\n.ambx .btn-violet .arr,.ambx .dark .btn-violet .arr,.ambx .s-hero .btn-violet .arr,.ambx .s-cta .btn-violet .arr,.ambx .s-words .btn-violet .arr,.ambx .ink .btn-violet .arr{background:rgba(255,255,255,.18)}\\n.ambx .eyebrow::before{background:var(--violet);box-shadow:0 0 0 3px rgba(92,52,239,.18),0 0 12px rgba(92,52,239,.6)}\\n.ambx .s-rail .bar{background:var(--violet)}\\n.ambx .s-rail.dk .bar{background:var(--lav)}\\n.ambx .s-rail .eb{color:var(--violet)}\\n.ambx .s-rail.dk .eb{color:var(--s-signal,#72ce7b)}\\n.ambx .s-words .s-wcard{background:radial-gradient(120% 90% at 85% 100%,rgba(92,52,239,.35),transparent 60%),linear-gradient(165deg,var(--forest-2) 0%,var(--forest) 60%,#0b0820 100%);border-color:rgba(185,165,255,.14)}\\n.ambx .s-words .s-wcard::after{border-color:rgba(185,165,255,.16);box-shadow:0 0 0 60px rgba(185,165,255,.03),0 0 0 120px rgba(185,165,255,.02)}\\n.ambx .s-words [data-words] .w.v.on{color:var(--s-signal,#72ce7b);font-style:italic}\\n.ambx .s-words .s-foot{color:rgba(201,184,255,.75)}\\n.ambx .s-cta .panel-in{background:var(--olive)}\\n.ambx .s-cta .panel-in::before{background:radial-gradient(90% 70% at 100% 100%,rgba(92,52,239,.45),transparent 60%),linear-gradient(90deg,rgba(14,10,34,.97) 0%,rgba(14,10,34,.78) 45%,rgba(14,10,34,.35) 100%)}\\n.ambx .s-cta .bgimg{filter:grayscale(1) brightness(.5) contrast(1.05)}\\n.ambx .s-cta .eyebrow{color:var(--s-signal,#72ce7b)!important}\\n.ambx .s-cta .eyebrow::before{background:var(--lav)}\\n.ambx .cta-card{background:var(--olive)}\\n.ambx .s-frame .wire{border-color:rgba(185,165,255,.28)}\\n.ambx .s-frame .glow{background:radial-gradient(closest-side,rgba(92,52,239,.28),transparent)}\\n.ambx .tag.v{background:rgba(92,52,239,.1);color:var(--violet)}\\n.ambx .dark .tag.v{background:rgba(185,165,255,.12);color:var(--s-signal,#72ce7b)}\\n.ambx .s-hero .s-card{width:100%;height:100%;border-radius:0;clip-path:inset(8px round 20px)}\\n.ambx .s-hero .s-scene{position:absolute;inset:0}\\n.ambx .s-hero.scene .s-card::after{background:linear-gradient(90deg,rgba(0,0,0,.55) 0%,rgba(0,0,0,.15) 45%,transparent 70%)}\\n.ambx .s-hero.scene .s-inner{align-items:flex-start;text-align:left;justify-content:center;padding:96px clamp(24px,calc(6 * var(--ambx-vw, 1vw)),96px)}\\n.ambx .s-hero.scene .s-inner>*{max-width:min(640px,50%)}\\n.ambx .s-hero.scene .s-inner .lede{margin-left:0;text-align:left}\\n.ambx .s-hero.scene .s-inner .btns{justify-content:flex-start}\\n.ambx .s-hero.scene .display,.ambx .s-hero.scene .h1{max-width:min(640px,50%)}\\n@media(max-width:1000px){.ambx:where(:not(.ambx-canvas)) .s-hero.scene .s-inner{justify-content:flex-end;padding-bottom:64px}\\n.ambx:where(:not(.ambx-canvas)) .s-hero.scene .s-inner>*,.ambx:where(:not(.ambx-canvas)) .s-hero.scene .display,.ambx:where(:not(.ambx-canvas)) .s-hero.scene .h1{max-width:100%}\\n.ambx:where(:not(.ambx-canvas)) .s-hero.scene .s-card::after{background:linear-gradient(0deg,rgba(0,0,0,.85) 0%,rgba(0,0,0,.4) 45%,transparent 70%)}}\\n.ambx .s-hero{background:#fff}\\n:root{\\n  --violet:#6236FF; --violet-2:#7B55FF; --lav:#B9A3FF; --pink:#E35BFF; --blue:#4F7BFF;\\n  --grad:linear-gradient(120deg,#4F46FF 0%,#6236FF 35%,#9B4DFF 70%,#E35BFF 100%);\\n  --grad-soft:linear-gradient(135deg,#efe9ff 0%,#f7f3ff 60%,#fdf2ff 100%);\\n  --paper:#f6f3ff; --paper-2:#ece6ff; --paper-line:#e0d8fb; --ink-2:#5f5880;\\n  --forest:#1a0f4a; --forest-2:#3a1fb3;\\n}\\n.ambx .light{background:var(--paper)}\\n.ambx .s-hero .s-media .slide,.ambx .s-hero .s-media img,.ambx .reel figure img,.ambx .s-frame .plate>.content img,.ambx .s-floaters img,.ambx .peek img,.ambx .card .media img,.ambx .s-ncard .im img,.ambx .s-case .ic img,.ambx .pcard .ph img{filter:saturate(1.15) contrast(1.04)}\\n.ambx .s-cta .bgimg,.ambx .cta-card .bgimg{filter:saturate(1.1) brightness(.7)}\\n.ambx .s-hero .s-card::after{background:linear-gradient(180deg,rgba(10,4,40,.25) 0%,rgba(10,4,40,.45) 55%,rgba(10,4,40,.75) 100%),radial-gradient(80% 60% at 50% 55%,rgba(98,54,255,.25),transparent 70%)}\\n.ambx .swap-out{opacity:0!important;transition:opacity .38s ease!important}\\n.ambx .s-frame .plate>.content img,.ambx .s-floaters img,.ambx .s-cta .bgimg,.ambx .s-hero .slide{transition:opacity .5s ease,transform .6s ease}\\n.ambx .btn-violet,.ambx .dark .btn-violet,.ambx .black .btn-violet,.ambx .s-hero .btn-violet,.ambx .s-cta .btn-violet,.ambx .cta-card .btn-violet,.ambx .s-words .btn-violet,.ambx .ink .btn-violet,.ambx .hero-card .btn-violet,.ambx #hdr .btn-violet,.ambx #hdr.dark .btn-violet{background:var(--grad);background-size:160% 100%;color:#fff;box-shadow:0 8px 24px -10px rgba(98,54,255,.8);transition:background-position .4s,box-shadow .3s,transform .2s}\\n.ambx .btn-violet:hover,.ambx .dark .btn-violet:hover,.ambx .s-hero .btn-violet:hover,.ambx .s-cta .btn-violet:hover,.ambx .s-words .btn-violet:hover,.ambx #hdr .btn-violet:hover{background:var(--grad);background-size:160% 100%;background-position:100% 0;box-shadow:0 12px 32px -10px rgba(227,91,255,.75);transform:translateY(-1px)}\\n.ambx .it{background:linear-gradient(100deg,#B9A3FF 0%,#E35BFF 60%,#ff9bd6 100%);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .light .it,.ambx .white .it{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .giant{background:linear-gradient(180deg,#fff 30%,#b9a3ff 140%);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .eyebrow{color:var(--violet)}\\n.ambx .dark .eyebrow,.ambx .on-dark .eyebrow,.ambx .s-hero .eyebrow{color:var(--s-signal,#72ce7b)}\\n.ambx .eyebrow::before{background:var(--grad);box-shadow:0 0 12px rgba(227,91,255,.7)}\\n.ambx .s-rail .bar{background:var(--grad)}\\n.ambx .dark{position:relative}\\n.ambx .dark.zone::before,.ambx .dark:not(.zone)::before{content:\"\";position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(45% 35% at 8% 0%,rgba(98,54,255,.28),transparent 70%),radial-gradient(40% 30% at 100% 35%,rgba(227,91,255,.16),transparent 70%),radial-gradient(50% 40% at 30% 100%,rgba(79,123,255,.16),transparent 70%)}\\n.ambx .dark>*{position:relative;z-index:1}\\n.ambx .s-words .s-wcard{background:radial-gradient(70% 60% at 100% 100%,rgba(227,91,255,.45),transparent 60%),radial-gradient(60% 60% at 0% 0%,rgba(79,123,255,.35),transparent 60%),linear-gradient(160deg,#3a1fb3 0%,#26138a 50%,#160a52 100%);border-color:rgba(255,255,255,.12);box-shadow:0 40px 120px -40px rgba(98,54,255,.7)}\\n.ambx .s-words [data-words] .w{color:rgba(255,255,255,.18)}\\n.ambx .s-words [data-words] .w.v.on{color:var(--s-signal,#72ce7b)}\\n.ambx .s-cta .panel-in{background:#2a1490}\\n.ambx .s-cta .panel-in::before{background:linear-gradient(100deg,rgba(40,16,140,.94) 0%,rgba(98,54,255,.70) 45%,rgba(227,91,255,.30) 100%)}\\n.ambx .cta-card::before{background:linear-gradient(100deg,rgba(40,16,140,.94) 0%,rgba(98,54,255,.70) 45%,rgba(227,91,255,.30) 100%)}\\n.ambx .s-bench>.box{background:linear-gradient(160deg,#ece6ff 0%,#f3edff 55%,#fbefff 100%)}\\n.ambx .dark .s-bench>.box,.ambx .s-bench.dark-box>.box{background:linear-gradient(160deg,#14103a,#0d0a24)}\\n.ambx .s-bcard,.ambx .card,.ambx .s-case,.ambx .s-ncard,.ambx .qcard{transition:transform .35s,box-shadow .35s,border-color .35s}\\n.ambx .s-bcard:hover,.ambx a.card:hover,.ambx .s-case:hover,.ambx .s-ncard:hover,.ambx .qcard:hover{border-color:rgba(98,54,255,.45);box-shadow:0 30px 60px -30px rgba(98,54,255,.45)}\\n.ambx .s-bcard.ink{background:linear-gradient(160deg,#3a1fb3 0%,#1f0f6e 60%,#140a46 100%);border-color:transparent;color:#fff}\\n.ambx .s-bcard .ic,.ambx .card .ic{background:var(--grad-soft);color:var(--violet)}\\n.ambx .s-bcard.ink .ic,.ambx .dark .s-bcard .ic{background:rgba(255,255,255,.1);color:#fff}\\n.ambx .num,.ambx .card .num{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .forest,.ambx .card.forest{background:linear-gradient(160deg,#3a1fb3,#1a0f4a)!important;border-color:transparent!important}\\n.ambx .tag.v{background:rgba(98,54,255,.12);color:var(--violet)}\\n.ambx .peek-row:hover{background:linear-gradient(90deg,rgba(98,54,255,.14),transparent 70%)}\\n.ambx .peek-row:hover .t{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .dark .peek-row:hover .t{background:linear-gradient(100deg,#fff,#d9c8ff 50%,#ffb8f2);-webkit-background-clip:text;background-clip:text;color:transparent}\\n.ambx .s-frame .wire{border-color:rgba(185,163,255,.45)}\\n.ambx .s-frame .glow{background:radial-gradient(closest-side,rgba(227,91,255,.35),rgba(98,54,255,.2) 50%,transparent)}\\n.ambx .s-rot{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent!important}\\n.ambx .dark .s-rot{background:linear-gradient(100deg,#d9c8ff,#ff9bd6);-webkit-background-clip:text;background-clip:text}\\n.ambx .s-hero .s-media .slide,.ambx .s-hero .s-media img,.ambx .hero-card .slide,.ambx .hero-card .bgimg{filter:grayscale(1) brightness(.55) contrast(1.05)!important}\\n.ambx .s-hero .s-card::after{background:radial-gradient(110% 80% at 50% 55%,rgba(0,0,0,.05),rgba(0,0,0,.55) 75%)!important}\\n:root{\\n  --g0:#ffffff; --g1:#f4f4f2; --g2:#ebebe8; --g3:#dcdcd7; --g-ink:#111112; --g-mut:#6b6b68;\\n  --c-violet:#4b2fe0; --c-plum:#2a1650; --c-green:#1e3a2b; --c-navy:#252f5f; --c-tan:#b29f86; --c-steel:#8fa2b6; --c-black:#141416; --c-lav:#d9cfff; --c-lime:#d6ff5c;\\n  --r-card:14px;\\n}\\n.ambx .grey{background:var(--g1);color:var(--g-ink)}\\n.ambx .grey .muted,.ambx .grey .lede{color:var(--g-mut)}\\n.ambx .p-hero{padding:8px;background:#fff}\\n.ambx .p-hero .card-in{position:relative;border-radius:16px;overflow:hidden;min-height:min(calc(82 * var(--ambx-vh, 1vh)),760px);display:flex;align-items:flex-end;color:#fff;background:#111}\\n.ambx .p-hero .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(1) brightness(.62) contrast(1.05);transform:scale(1.06);transition:transform 1.4s cubic-bezier(.2,.7,.2,1),opacity .5s}\\n.ambx .p-hero.in .ph{transform:scale(1)}\\n.ambx .p-hero .card-in::after{content:\"\";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.7) 0%,rgba(0,0,0,.25) 45%,rgba(0,0,0,.05) 100%)}\\n.ambx .p-hero .txt{position:relative;z-index:2;padding:clamp(24px,calc(4 * var(--ambx-vw, 1vw)),56px);max-width:860px}\\n.ambx .p-hero .eyebrow{color:rgba(255,255,255,.75);margin-bottom:18px}\\n.ambx .p-hero h1{font-size:clamp(40px,calc(5.6 * var(--ambx-vw, 1vw)),84px);font-weight:400;letter-spacing:-.04em;line-height:1}\\n.ambx .p-hero .lede{color:rgba(255,255,255,.82);margin-top:16px;max-width:620px}\\n.ambx .p-hero .btns{margin-top:26px}\\n.ambx .p-hero .btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}\\n.ambx .p-hero .meta{position:absolute;right:clamp(20px,calc(3 * var(--ambx-vw, 1vw)),40px);bottom:clamp(20px,calc(3 * var(--ambx-vw, 1vw)),36px);z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.6);text-align:right}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .p-hero .card-in{min-height:calc(78 * var(--ambx-vh, 1vh))}\\n.ambx:where(:not(.ambx-canvas)) .p-hero .meta{display:none}}\\n.ambx .p-mission{padding:clamp(96px,calc(11 * var(--ambx-vw, 1vw)),150px) 0 clamp(56px,calc(6 * var(--ambx-vw, 1vw)),80px);text-align:center}\\n.ambx .p-mission h2{font-size:clamp(28px,calc(3.4 * var(--ambx-vw, 1vw)),46px);font-weight:400;letter-spacing:-.03em;line-height:1.12;max-width:26ch;margin:0 auto}\\n.ambx .p-mission p{color:var(--g-mut);max-width:640px;margin:20px auto 0;font-size:16px}\\n.ambx .dark .p-mission p{color:var(--text-2)}\\n.ambx .p-wide{max-width:1180px;margin:0 auto;padding:0 var(--pad)}\\n.ambx .p-wide .im{border-radius:16px;overflow:hidden;aspect-ratio:21/9;background:#111}\\n.ambx .p-wide .im img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) brightness(.85);transform:scale(1.08);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}\\n.ambx .p-wide .im.in img{transform:scale(1)}\\n.ambx .p-wide .cap{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-mut);text-align:center;margin-top:12px}\\n.ambx .p-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\\n.ambx .p-stats.c2{grid-template-columns:repeat(2,1fr)}\\n.ambx .p-stats.c4{grid-template-columns:repeat(4,1fr)}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-stats,.ambx:where(:not(.ambx-canvas)) .p-stats.c4{grid-template-columns:repeat(2,1fr)}}\\n@media(max-width:520px){.ambx:where(:not(.ambx-canvas)) .p-stats,.ambx:where(:not(.ambx-canvas)) .p-stats.c2,.ambx:where(:not(.ambx-canvas)) .p-stats.c4{grid-template-columns:1fr}}\\n.ambx .p-stat{background:var(--g2);border-radius:var(--r-card);padding:20px 22px;min-height:220px;display:flex;flex-direction:column;position:relative;overflow:hidden}\\n.ambx .dark .p-stat{background:#18181b}\\n.ambx .p-stat .lab{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-mut)}\\n.ambx .p-stat .lab i{width:18px;height:18px;border-radius:5px;background:var(--c-violet);display:inline-block}\\n.ambx .p-stat .big{margin-top:auto;font-size:clamp(40px,calc(4.4 * var(--ambx-vw, 1vw)),64px);letter-spacing:-.05em;font-weight:400;line-height:1}\\n.ambx .p-stat p{font-size:13px;color:var(--g-mut);margin-top:8px}\\n.ambx .dark .p-stat p,.ambx .dark .p-stat .lab{color:var(--text-3)}\\n.ambx .p-stat.violet{background:var(--c-violet);color:#fff}\\n.ambx .p-stat.violet .lab,.ambx .p-stat.violet p{color:rgba(255,255,255,.75)}\\n.ambx .p-stat.violet .lab i{background:#fff}\\n.ambx .p-stat.green{background:var(--c-green);color:#fff}\\n.ambx .p-stat.green .lab,.ambx .p-stat.green p{color:rgba(255,255,255,.7)}\\n.ambx .p-stat.green .lab i{background:var(--c-lime)}\\n.ambx .p-tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}\\n.ambx .p-tiles.c3{grid-template-columns:repeat(3,1fr)}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-tiles,.ambx:where(:not(.ambx-canvas)) .p-tiles.c3{grid-template-columns:1fr}}\\n.ambx .p-tile{border-radius:var(--r-card);padding:22px 24px;min-height:200px;display:flex;flex-direction:column;color:#fff;background:var(--c-black);transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}\\n.ambx a.p-tile:hover{transform:translateY(-4px);box-shadow:0 26px 50px -28px rgba(0,0,0,.6)}\\n.ambx .p-tile .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}\\n.ambx .p-tile h3{font-size:clamp(18px,calc(1.6 * var(--ambx-vw, 1vw)),22px);font-weight:400;letter-spacing:-.015em;line-height:1.25;margin-top:14px}\\n.ambx .p-tile p{font-size:14px;opacity:.75;margin-top:8px}\\n.ambx .p-tile .go{margin-top:auto;padding-top:22px}\\n.ambx .p-tile .go span{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 12px;border:1px solid rgba(255,255,255,.35);border-radius:7px;font-size:12px}\\n.ambx .p-tile.green{background:var(--c-green)}\\n.ambx .p-tile.navy{background:var(--c-navy)}\\n.ambx .p-tile.violet{background:var(--c-violet)}\\n.ambx .p-tile.plum{background:var(--c-plum)}\\n.ambx .p-tile.tan{background:var(--c-tan);color:#1a160f}\\n.ambx .p-tile.tan .go span{border-color:rgba(0,0,0,.3)}\\n.ambx .p-tile.steel{background:var(--c-steel);color:#0f1722}\\n.ambx .p-tile.steel .go span{border-color:rgba(0,0,0,.3)}\\n.ambx .p-tile.lav{background:var(--c-lav);color:#1b1040}\\n.ambx .p-tile.lav .go span{border-color:rgba(0,0,0,.25)}\\n.ambx .p-tile.light{background:#fff;color:var(--g-ink);border:1px solid var(--g3)}\\n.ambx .p-tile.light .go span{border-color:var(--g3)}\\n.ambx .p-darkbox{background:#000;color:#fff;border-radius:0;padding:clamp(56px,calc(7 * var(--ambx-vw, 1vw)),96px) 0}\\n.ambx .p-darkbox h2{font-size:clamp(24px,calc(2.4 * var(--ambx-vw, 1vw)),34px);font-weight:400;letter-spacing:-.02em;margin-bottom:28px}\\n.ambx .p-dcards{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}\\n.ambx .p-dcards.c2{grid-template-columns:repeat(2,1fr)}\\n.ambx .p-dcards.c4{grid-template-columns:repeat(4,1fr)}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-dcards,.ambx:where(:not(.ambx-canvas)) .p-dcards.c4{grid-template-columns:1fr}}\\n.ambx .p-dcard{background:#1b1b1e;border-radius:var(--r-card);padding:22px;min-height:230px;display:flex;flex-direction:column;transition:background .3s}\\n.ambx .p-dcard:hover{background:#222226}\\n.ambx .p-dcard .ic{width:34px;height:34px;border-radius:8px;background:#2a2a2f;display:grid;place-items:center;color:#fff}\\n.ambx .p-dcard h3{font-size:18px;font-weight:400;margin-top:auto;padding-top:28px;letter-spacing:-.01em}\\n.ambx .p-dcard p{font-size:13.5px;color:#a3a3a8;margin-top:8px;line-height:1.55}\\n.ambx .p-dcard p em,.ambx .p-dcard .hl{color:var(--c-lime);font-style:normal}\\n.ambx .p-dcard.violet{background:var(--c-violet)}\\n.ambx .p-dcard.violet p{color:rgba(255,255,255,.8)}\\n.ambx .p-dcard.violet .ic{background:rgba(255,255,255,.15)}\\n.ambx .p-dcard.green{background:var(--c-green)}\\n.ambx .p-dcard.green p{color:rgba(255,255,255,.75)}\\n.ambx .p-dcard.green .ic{background:rgba(255,255,255,.12)}\\n.ambx .p-values{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}\\n.ambx .p-values.c3{grid-template-columns:repeat(3,1fr)}\\n@media(max-width:800px){.ambx:where(:not(.ambx-canvas)) .p-values,.ambx:where(:not(.ambx-canvas)) .p-values.c3{grid-template-columns:1fr}}\\n.ambx .p-value{background:var(--g2);border-radius:var(--r-card);padding:26px;min-height:210px}\\n.ambx .dark .p-value{background:#18181b}\\n.ambx .p-value .ic{width:44px;height:44px;color:var(--g-ink)}\\n.ambx .dark .p-value .ic{color:#fff}\\n.ambx .p-value h3{font-size:17px;font-weight:500;margin-top:22px;letter-spacing:-.01em}\\n.ambx .p-value p{font-size:14px;color:var(--g-mut);margin-top:8px;line-height:1.55}\\n.ambx .dark .p-value p{color:var(--text-2)}\\n.ambx .p-photos{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 16px}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .p-photos{grid-template-columns:1fr}}\\n.ambx .p-photo .im{border-radius:12px;overflow:hidden;aspect-ratio:16/9;background:#ddd}\\n.ambx .p-photo .im img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05);transition:transform .8s}\\n.ambx .p-photo:hover .im img{transform:scale(1.04)}\\n.ambx .p-photo h3{font-size:16px;font-weight:500;margin-top:14px}\\n.ambx .p-photo p{font-size:14px;color:var(--g-mut);margin-top:6px}\\n.ambx .p-acc{border-top:1px solid var(--g3)}\\n.ambx .dark .p-acc{border-color:#262629}\\n.ambx .p-acc details{border-bottom:1px solid var(--g3)}\\n.ambx .dark .p-acc details{border-color:#262629}\\n.ambx .p-acc summary{list-style:none;display:grid;grid-template-columns:28px 1fr auto 24px;gap:14px;align-items:center;padding:18px 4px;cursor:pointer}\\n.ambx .p-acc summary::-webkit-details-marker{display:none}\\n.ambx .p-acc summary .ic{opacity:.55;font-size:14px}\\n.ambx .p-acc summary .t{font-size:clamp(16px,calc(1.4 * var(--ambx-vw, 1vw)),19px);letter-spacing:-.01em}\\n.ambx .p-acc summary .k{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-mut)}\\n.ambx .p-acc summary .pm{width:22px;height:22px;position:relative}\\n.ambx .p-acc summary .pm::before,.ambx .p-acc summary .pm::after{content:\"\";position:absolute;left:4px;right:4px;top:10px;height:1.5px;background:currentColor;transition:transform .3s}\\n.ambx .p-acc summary .pm::after{transform:rotate(90deg)}\\n.ambx .p-acc details[open] summary .pm::after{transform:rotate(0)}\\n.ambx .p-acc .body{padding:0 4px 24px 46px;color:var(--g-mut);font-size:15px;line-height:1.6;max-width:880px}\\n.ambx .dark .p-acc .body{color:var(--text-2)}\\n.ambx .p-acc .body>*+*{margin-top:12px}\\n.ambx .p-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}\\n.ambx .p-filters input,.ambx .p-filters select{height:38px;border-radius:8px;border:1px solid var(--g3);background:#fff;padding:0 12px;font:inherit;font-size:13px;min-width:200px}\\n.ambx .p-count{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--g-mut);margin-bottom:10px}\\n.ambx .p-stepper{position:relative}\\n.ambx .p-stepper .frame{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:40px;align-items:center;min-height:440px}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-stepper .frame{grid-template-columns:1fr;min-height:0}}\\n.ambx .p-stepper .step{display:none;animation:stepIn .6s cubic-bezier(.2,.7,.2,1)}\\n.ambx .p-stepper .step.on{display:block}\\n@keyframes stepIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}\\n.ambx .p-stepper .chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:5px;background:var(--c-violet);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}\\n.ambx .p-stepper .step h3{font-size:clamp(26px,calc(2.8 * var(--ambx-vw, 1vw)),40px);font-weight:400;letter-spacing:-.03em;margin-top:14px;line-height:1.08}\\n.ambx .p-stepper .step p{color:var(--g-mut);margin-top:12px;max-width:440px}\\n.ambx .dark .p-stepper .step p{color:var(--text-2)}\\n.ambx .p-stepper .art{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#0e0e10}\\n.ambx .p-stepper .art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .6s;filter:grayscale(.2)}\\n.ambx .p-stepper .art img.on{opacity:1}\\n.ambx .p-stepper .ctrl{display:flex;align-items:center;gap:8px;margin-top:28px}\\n.ambx .p-stepper .ctrl button{width:30px;height:30px;border-radius:7px;border:1px solid var(--g3);display:grid;place-items:center;font-size:13px}\\n.ambx .dark .p-stepper .ctrl button{border-color:#333}\\n.ambx .p-stepper .bars{display:flex;gap:6px;margin-top:22px}\\n.ambx .p-stepper .bars i{flex:1;height:2px;background:var(--g3);position:relative;overflow:hidden}\\n.ambx .dark .p-stepper .bars i{background:#2a2a2e}\\n.ambx .p-stepper .bars i.on::after{content:\"\";position:absolute;inset:0;background:var(--c-violet);animation:barfill 6s linear forwards}\\n.ambx .p-stepper .bars i.done::after{content:\"\";position:absolute;inset:0;background:var(--c-violet)}\\n@keyframes barfill{from{transform:translateX(-100%)}to{transform:none}}\\n.ambx .p-quote{border-radius:16px;padding:clamp(28px,calc(4.5 * var(--ambx-vw, 1vw)),64px);display:grid;grid-template-columns:200px 1fr;gap:36px;background:var(--c-tan);color:#17130c}\\n.ambx .p-quote.steel{background:var(--c-steel);color:#0e1622}\\n.ambx .p-quote.violet{background:var(--c-violet);color:#fff}\\n.ambx .p-quote.green{background:var(--c-green);color:#fff}\\n.ambx .p-quote.lav{background:var(--c-lav);color:#1b1040}\\n@media(max-width:800px){.ambx:where(:not(.ambx-canvas)) .p-quote{grid-template-columns:1fr}}\\n.ambx .p-quote .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.7}\\n.ambx .p-quote q{display:block;font-size:clamp(20px,calc(2.1 * var(--ambx-vw, 1vw)),30px);line-height:1.3;letter-spacing:-.015em;quotes:\"“\" \"”\"}\\n.ambx .p-quote .who{margin-top:22px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;opacity:.75}\\n.ambx .p-quote .side{display:flex;flex-direction:column;gap:8px}\\n.ambx .p-quote .side .av{width:56px;height:56px;border-radius:10px;background:rgba(0,0,0,.85);color:#fff;display:grid;place-items:center;font-size:20px}\\n.ambx .p-quote .dots{display:flex;gap:6px;margin-top:20px}\\n.ambx .p-quote .dots button{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.25}\\n.ambx .p-quote .dots button.on{opacity:1}\\n.ambx .p-quote .slide-q{display:none}\\n.ambx .p-quote .slide-q.on{display:block;animation:stepIn .5s}\\n.ambx .p-logos{text-align:center;padding:clamp(64px,calc(8 * var(--ambx-vw, 1vw)),110px) 0}\\n.ambx .p-logos .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-mut)}\\n.ambx .p-logos h2{font-size:clamp(24px,calc(2.6 * var(--ambx-vw, 1vw)),36px);font-weight:400;letter-spacing:-.025em;margin-top:10px}\\n.ambx .p-logos .row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:28px 56px;margin-top:36px}\\n.ambx .p-logos .row img{height:24px;width:auto;filter:grayscale(1) brightness(0);opacity:.8}\\n.ambx .dark .p-logos .row img{filter:grayscale(1) brightness(0) invert(1)}\\n.ambx .p-mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:8px}\\n.ambx .p-mosaic .m{border-radius:var(--r-card);overflow:hidden;position:relative;background:#111;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:18px}\\n.ambx .p-mosaic .m.w2{grid-column:span 2}\\n.ambx .p-mosaic .m.h2{grid-row:span 2}\\n.ambx .p-mosaic .m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}\\n.ambx .p-mosaic .m:hover img{transform:scale(1.05)}\\n.ambx .p-mosaic .m::after{content:\"\";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,0) 60%)}\\n.ambx .p-mosaic .m>*:not(img){position:relative;z-index:1}\\n.ambx .p-mosaic .m .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;opacity:.8}\\n.ambx .p-mosaic .m h3{font-size:18px;font-weight:400;letter-spacing:-.015em;line-height:1.25;margin-top:8px}\\n.ambx .p-mosaic .m.violet{background:var(--c-violet)}\\n.ambx .p-mosaic .m.green{background:var(--c-green)}\\n.ambx .p-mosaic .m.navy{background:var(--c-navy)}\\n.ambx .p-mosaic .m.tan{background:var(--c-tan);color:#17130c}\\n.ambx .p-mosaic .m.violet::after,.ambx .p-mosaic .m.green::after,.ambx .p-mosaic .m.navy::after,.ambx .p-mosaic .m.tan::after{display:none}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-mosaic{grid-template-columns:repeat(2,1fr)}}\\n@media(max-width:520px){.ambx:where(:not(.ambx-canvas)) .p-mosaic{grid-template-columns:1fr;grid-auto-rows:190px}\\n.ambx:where(:not(.ambx-canvas)) .p-mosaic .m.w2{grid-column:auto}}\\n.ambx .p-photocta{padding:8px}\\n.ambx .p-photocta .in{position:relative;border-radius:16px;overflow:hidden;min-height:min(calc(72 * var(--ambx-vh, 1vh)),640px);display:flex;align-items:flex-end;color:#fff;background:#111}\\n.ambx .p-photocta .ph{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.15) brightness(.6)}\\n.ambx .p-photocta .in::after{content:\"\";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,6,40,.8) 0%,rgba(10,6,40,.2) 55%,transparent 100%),linear-gradient(90deg,rgba(75,47,224,.35),transparent 55%)}\\n.ambx .p-photocta .txt{position:relative;z-index:1;padding:clamp(24px,calc(4 * var(--ambx-vw, 1vw)),56px);max-width:760px}\\n.ambx .p-photocta h2{font-size:clamp(32px,calc(4 * var(--ambx-vw, 1vw)),58px);font-weight:400;letter-spacing:-.035em;line-height:1.02}\\n.ambx .p-photocta p{margin-top:14px;color:rgba(255,255,255,.82);max-width:520px}\\n.ambx .p-photocta .btns{margin-top:24px}\\n.ambx .p-photocta .btn-ghost{border-color:rgba(255,255,255,.3);color:#fff}\\n.ambx .p-checks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}\\n.ambx .p-checks.c3{grid-template-columns:repeat(3,1fr)}\\n.ambx .p-checks.c2{grid-template-columns:repeat(2,1fr)}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-checks,.ambx:where(:not(.ambx-canvas)) .p-checks.c3{grid-template-columns:repeat(2,1fr)}}\\n@media(max-width:520px){.ambx:where(:not(.ambx-canvas)) .p-checks,.ambx:where(:not(.ambx-canvas)) .p-checks.c3,.ambx:where(:not(.ambx-canvas)) .p-checks.c2{grid-template-columns:1fr}}\\n.ambx .p-check{background:#fff;border:1px solid var(--g3);border-radius:var(--r-card);padding:22px}\\n.ambx .dark .p-check{background:#141416;border-color:#26262a}\\n.ambx .p-check .ic{width:28px;height:28px;border-radius:7px;background:var(--g1);display:grid;place-items:center;font-size:13px;color:var(--c-violet)}\\n.ambx .p-check h3{font-size:17px;font-weight:500;margin-top:18px}\\n.ambx .p-check ul{list-style:none;margin-top:12px}\\n.ambx .p-check li{display:flex;gap:8px;font-size:13.5px;color:var(--g-mut);padding:4px 0;line-height:1.45}\\n.ambx .p-check li::before{content:\"✓\";color:var(--c-violet);font-size:12px;flex:none;margin-top:1px}\\n.ambx .dark .p-check li{color:var(--text-2)}\\n.ambx .p-twocol{display:grid;grid-template-columns:1fr 1fr;gap:20px 56px}\\n@media(max-width:800px){.ambx:where(:not(.ambx-canvas)) .p-twocol{grid-template-columns:1fr}}\\n.ambx .p-twocol p{font-size:15px;line-height:1.65;color:var(--g-mut)}\\n.ambx .p-twocol p.lead{font-size:clamp(18px,calc(1.6 * var(--ambx-vw, 1vw)),21px);color:var(--g-ink);line-height:1.45}\\n.ambx .dark .p-twocol p{color:var(--text-2)}\\n.ambx .dark .p-twocol p.lead{color:#fff}\\n.ambx .p-head{text-align:center;margin-bottom:clamp(36px,calc(4 * var(--ambx-vw, 1vw)),56px)}\\n.ambx .p-head .lab{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--g-mut)}\\n.ambx .p-head h2{font-size:clamp(28px,calc(3.2 * var(--ambx-vw, 1vw)),44px);font-weight:400;letter-spacing:-.03em;line-height:1.1;margin-top:10px}\\n.ambx .p-head p{color:var(--g-mut);max-width:620px;margin:14px auto 0}\\n.ambx .dark .p-head .lab,.ambx .dark .p-head p{color:var(--text-3)}\\n.ambx .p-head.left{text-align:left}\\n.ambx .p-head.left p{margin-left:0}\\n.ambx .rv{transform:translateY(16px)}\\n.ambx .stagger>*{opacity:0;transform:translateY(16px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}\\n.ambx .stagger.in>*{opacity:1;transform:none}\\n.ambx .stagger.in>*:nth-child(2){transition-delay:.06s}\\n.ambx .stagger.in>*:nth-child(3){transition-delay:.12s}\\n.ambx .stagger.in>*:nth-child(4){transition-delay:.18s}\\n.ambx .stagger.in>*:nth-child(5){transition-delay:.24s}\\n.ambx .stagger.in>*:nth-child(6){transition-delay:.3s}\\n.ambx .stagger.in>*:nth-child(n+7){transition-delay:.36s}\\n@media(prefers-reduced-motion:reduce){.ambx .stagger>*{opacity:1;transform:none}}\\n:root{\\n  --s-white:#ffffff; --s-grey:#f2f2f2; --s-card:#eaeaea; --s-line:#c7c7c7; --s-black:#000000; --s-ink:#101010; --s-ink2:#212121;\\n  --s-text2:#575757; --s-text3:#929292;\\n  --s-forest:#193a29; --s-violet:#5c34ef; --s-tan:#a8927c; --s-brown:#ab8167; --s-steel:#839cb2;\\n  --s-signal:#72ce7b; --s-mauve:#79648c; --s-lilac:#d1aad7;\\n  \\n  --bg:#000; --violet:#5c34ef; --violet-2:#4a26e0; --lav:#d1aad7;\\n  --paper:#f2f2f2; --paper-2:#eaeaea; --paper-line:#dcdcdc; --ink:#101010; --ink-2:#575757;\\n  --forest:#193a29; --forest-2:#193a29; --mint:#72ce7b; --olive:#a8927c; --sand:#d1aad7;\\n  --c-violet:#5c34ef; --c-plum:#2b1f3d; --c-green:#193a29; --c-navy:#212a44; --c-tan:#a8927c; --c-steel:#839cb2; --c-black:#101010; --c-lav:#d1aad7; --c-lime:#72ce7b;\\n  --g1:#f2f2f2; --g2:#eaeaea; --g3:#dcdcdc; --g-ink:#101010; --g-mut:#575757;\\n  --grad:none;\\n}\\n.ambx{color:var(--s-ink)}\\n.ambx .light{background:var(--s-grey)}\\n.ambx .grey{background:var(--s-grey)}\\n.ambx .white{background:#fff}\\n.ambx .dark{background:#000}\\n.ambx .dark.zone::before,.ambx .dark:not(.zone)::before{background:radial-gradient(40% 30% at 0% 0%,rgba(25,58,41,.35),transparent 70%),radial-gradient(35% 28% at 100% 100%,rgba(92,52,239,.14),transparent 70%)}\\n.ambx .it,.ambx .light .it,.ambx .white .it,.ambx .grey .it{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--s-mauve);font-style:italic}\\n.ambx .dark .it,.ambx .s-hero .it,.ambx .p-hero .it,.ambx .s-cta .it,.ambx .p-photocta .it,.ambx .s-words .it,.ambx .giant .it{color:var(--s-signal,#72ce7b)}\\n.ambx .s-news .ttl .m,.ambx .s-proven .m,.ambx .p-head h2 .m{color:var(--s-mauve)}\\n.ambx .dark .s-news .ttl .m{color:var(--s-text3)}\\n.ambx .s-rot,.ambx .dark .s-rot{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--s-mauve)!important}\\n.ambx .dark .s-rot{color:var(--s-signal,#72ce7b)!important}\\n.ambx .giant{background:none;-webkit-background-clip:initial;background-clip:initial;color:#e9e9e9}\\n.ambx .num,.ambx .card .num{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--s-violet)}\\n.ambx .peek-row:hover .t,.ambx .dark .peek-row:hover .t{background:none;-webkit-background-clip:initial;background-clip:initial;color:inherit}\\n.ambx .peek-row:hover{background:rgba(92,52,239,.06)}\\n.ambx .dark .peek-row:hover{background:rgba(114,206,123,.06)}\\n.ambx .btn-violet,.ambx .dark .btn-violet,.ambx .black .btn-violet,.ambx .s-hero .btn-violet,.ambx .s-cta .btn-violet,.ambx .cta-card .btn-violet,.ambx .s-words .btn-violet,.ambx .ink .btn-violet,.ambx .hero-card .btn-violet,.ambx #hdr .btn-violet,.ambx #hdr.dark .btn-violet,.ambx .p-hero .btn-violet,.ambx .p-photocta .btn-violet{background:var(--s-violet);background-size:auto;color:#fff;box-shadow:none}\\n.ambx .btn-violet:hover,.ambx .dark .btn-violet:hover,.ambx .s-hero .btn-violet:hover,.ambx .s-cta .btn-violet:hover,.ambx .s-words .btn-violet:hover,.ambx #hdr .btn-violet:hover,.ambx .p-hero .btn-violet:hover,.ambx .p-photocta .btn-violet:hover{background:var(--violet-2);box-shadow:none;transform:none}\\n.ambx .btn-dark{background:var(--s-ink)}\\n.ambx .btn-dark:hover{background:#2a2a2a}\\n.ambx .eyebrow{color:var(--s-text2)}\\n.ambx .dark .eyebrow,.ambx .s-hero .eyebrow,.ambx .p-hero .eyebrow,.ambx .on-dark .eyebrow{color:var(--s-text3)}\\n.ambx .eyebrow::before{background:var(--s-violet);box-shadow:none}\\n.ambx .dark .eyebrow::before,.ambx .s-hero .eyebrow::before,.ambx .p-hero .eyebrow::before{background:var(--s-signal)}\\n.ambx .s-rail .bar{background:var(--s-violet)}\\n.ambx .s-rail.dk .bar{background:var(--s-signal)}\\n.ambx .s-rail .eb{color:var(--s-text2)}\\n.ambx .s-rail.dk .eb{color:var(--s-text3)}\\n.ambx .s-words .s-wcard{background:var(--s-forest);border-color:transparent;box-shadow:none}\\n.ambx .s-words .s-wcard::after{border-color:rgba(114,206,123,.14);box-shadow:0 0 0 60px rgba(114,206,123,.03),0 0 0 120px rgba(114,206,123,.02)}\\n.ambx .s-words [data-words] .w{color:rgba(255,255,255,.16)}\\n.ambx .s-words [data-words] .w.on{color:#fff}\\n.ambx .s-words [data-words] .w.v.on{color:var(--s-signal);font-style:normal}\\n.ambx .s-words .s-foot{color:rgba(114,206,123,.8)}\\n.ambx .s-cta .panel-in,.ambx .cta-card{background:var(--s-tan);color:#151109}\\n.ambx .s-cta .panel-in::before,.ambx .cta-card::before{background:linear-gradient(90deg,rgba(168,146,124,.97) 0%,rgba(168,146,124,.88) 45%,rgba(168,146,124,.35) 100%)}\\n.ambx .s-cta .bgimg,.ambx .cta-card .bgimg{filter:grayscale(1) contrast(1.05) brightness(.9);mix-blend-mode:multiply}\\n.ambx .s-cta p,.ambx .cta-card p{color:rgba(21,17,9,.78)}\\n.ambx .s-cta .eyebrow,.ambx .cta-card .eyebrow{color:rgba(21,17,9,.6)!important}\\n.ambx .s-cta .eyebrow::before{background:var(--s-ink)}\\n.ambx .s-cta .it,.ambx .cta-card .it{color:#4a3d30}\\n.ambx .s-cta .btn-ghost,.ambx .cta-card .btn-ghost{border-color:rgba(21,17,9,.3);color:#151109}\\n.ambx .p-photocta .in::after{background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.2) 55%,transparent 100%)}\\n.ambx .s-bench>.box{background:var(--s-card)}\\n.ambx .dark .s-bench>.box,.ambx .s-bench.dark-box>.box{background:#101010}\\n.ambx .s-bcard,.ambx .card,.ambx .s-case,.ambx .s-ncard,.ambx .qcard,.ambx .form-card{border-color:#e2e2e2}\\n.ambx .s-bcard:hover,.ambx a.card:hover,.ambx .s-case:hover,.ambx .s-ncard:hover,.ambx .qcard:hover{border-color:#c7c7c7;box-shadow:0 24px 50px -30px rgba(0,0,0,.25)}\\n.ambx .s-bcard.ink{background:var(--s-violet);color:#fff}\\n.ambx .s-bcard .ic,.ambx .card .ic{background:var(--s-grey);color:var(--s-violet)}\\n.ambx .forest,.ambx .card.forest{background:var(--s-forest)!important}\\n.ambx .tag.v{background:rgba(92,52,239,.08);color:var(--s-violet)}\\n.ambx .s-frame .wire{border-color:rgba(255,255,255,.18)}\\n.ambx .s-frame .glow{background:radial-gradient(closest-side,rgba(255,255,255,.08),transparent)}\\n.ambx .p-stat{background:var(--s-card)}\\n.ambx .p-stat .lab i{background:var(--s-violet)}\\n.ambx .p-stat.green{background:var(--s-forest)}\\n.ambx .p-stat.green .lab i{background:var(--s-signal)}\\n.ambx .p-stat.violet{background:var(--s-violet)}\\n.ambx .p-dcard{background:#191919}\\n.ambx .p-dcard:hover{background:#212121}\\n.ambx .p-dcard p em,.ambx .p-dcard .hl{color:var(--s-signal)}\\n.ambx .p-quote{background:var(--s-tan);color:#151109}\\n.ambx .p-quote.steel{background:var(--s-steel);color:#0e1622}\\n.ambx .p-quote.violet{background:var(--s-violet);color:#fff}\\n.ambx .p-quote.green{background:var(--s-forest);color:#fff}\\n.ambx .p-stepper .chip{background:var(--s-forest);color:var(--s-signal)}\\n.ambx .p-stepper .bars i.on::after,.ambx .p-stepper .bars i.done::after{background:var(--s-violet)}\\n.ambx .dark .p-stepper .bars i.on::after,.ambx .dark .p-stepper .bars i.done::after{background:var(--s-signal)}\\n.ambx .p-check li::before{color:var(--s-forest)}\\n.ambx .dark .p-check li::before{color:var(--s-signal)}\\n.ambx .p-check .ic{color:var(--s-violet)}\\n.ambx .live{color:var(--s-signal)}\\n.ambx .live::before{background:var(--s-signal)}\\n.ambx .giant{color:#ededed}\\n.ambx .s-cta .bgimg,.ambx .cta-card .bgimg{opacity:.55;-webkit-mask-image:linear-gradient(90deg,transparent 30%,#000 85%);mask-image:linear-gradient(90deg,transparent 30%,#000 85%);mix-blend-mode:multiply}\\n.ambx .s-cta .panel-in::before,.ambx .cta-card::before{background:linear-gradient(90deg,rgba(168,146,124,1) 0%,rgba(168,146,124,.92) 40%,rgba(168,146,124,.25) 100%)}\\n.ambx .p-mosaic .m.tall{grid-row:span 2}\\n.ambx h1,.ambx h2,.ambx h3,.ambx .display,.ambx .h1,.ambx .h2,.ambx .h3,.ambx .p-head h2,.ambx .p-mission h2{text-wrap:balance}\\n.ambx p,.ambx .lede,.ambx li{text-wrap:pretty}\\n.ambx ::selection{background:var(--s-violet);color:#fff}\\nhtml{scrollbar-width:thin;scrollbar-color:#bdbdbd transparent}\\n.ambx :focus-visible{outline:2px solid var(--s-violet);outline-offset:3px;border-radius:6px}\\n.ambx img{-webkit-user-drag:none}\\n.ambx .btn .arr{transition:transform .25s cubic-bezier(.2,.7,.2,1)}\\n.ambx .btn:hover .arr{transform:translateX(3px)}\\n.ambx .btn{transition:background .2s,color .2s,border-color .2s,transform .2s}\\n.ambx .btn:active{transform:scale(.98)}\\n.ambx .menu{display:grid;grid-template-columns:minmax(220px,1fr) 220px;gap:8px;min-width:480px;padding:10px;border-radius:14px;border:1px solid #e6e6e6;box-shadow:0 30px 60px -24px rgba(0,0,0,.28);transform:translateY(6px);transition:opacity .2s,transform .25s cubic-bezier(.2,.7,.2,1),visibility .2s}\\n.ambx .links>div:hover .menu,.ambx .links>div:focus-within .menu{transform:none}\\n.ambx .links>div:nth-child(n+5) .menu{left:auto;right:0}\\n.ambx .menu .ml{display:flex;flex-direction:column;padding:6px}\\n.ambx .menu .mt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--s-text3);padding:6px 10px 8px}\\n.ambx .menu .ml a{display:flex;justify-content:space-between;align-items:center;padding:10px;border-radius:8px;font-size:15px;color:var(--s-ink)}\\n.ambx .menu .ml a i{font-style:normal;opacity:0;transform:translateX(-4px);transition:.2s;color:var(--s-violet)}\\n.ambx .menu .ml a:hover{background:var(--s-grey)}\\n.ambx .menu .ml a:hover i{opacity:1;transform:none}\\n.ambx .menu .mf{position:relative;border-radius:10px;overflow:hidden;background:#111 center/cover;min-height:200px;display:flex;align-items:flex-end;padding:12px;filter:grayscale(1);transition:filter .4s}\\n.ambx .menu .mf::after{content:\"\";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),transparent 60%)}\\n.ambx .menu .mf:hover{filter:grayscale(.2)}\\n.ambx .menu .mfl{position:relative;z-index:1;color:#fff;font-size:15px}\\n.ambx .menu .mfl::after{content:\" →\"}\\n.ambx .drawer{background:#000;color:#fff;padding:24px var(--pad) 48px;transform:translateY(-10px);transition:opacity .25s,transform .35s cubic-bezier(.2,.7,.2,1),visibility .25s}\\n.ambx .drawer.open{transform:none}\\n.ambx .drawer details,.ambx .drawer>a{border-color:#222}\\n.ambx .drawer summary,.ambx .drawer>a{font-size:30px;letter-spacing:-.02em;padding:16px 0}\\n.ambx .drawer details a{color:#a9a9a9;font-size:17px;padding:10px 0 10px 4px}\\n.ambx .drawer>*{opacity:0;transform:translateY(10px);transition:opacity .4s,transform .45s cubic-bezier(.2,.7,.2,1)}\\n.ambx .drawer.open>*{opacity:1;transform:none}\\n.ambx .drawer.open>*:nth-child(2){transition-delay:.04s}\\n.ambx .drawer.open>*:nth-child(3){transition-delay:.08s}\\n.ambx .drawer.open>*:nth-child(4){transition-delay:.12s}\\n.ambx .drawer.open>*:nth-child(5){transition-delay:.16s}\\n.ambx .drawer.open>*:nth-child(6){transition-delay:.2s}\\n.ambx .drawer.open>*:nth-child(7){transition-delay:.24s}\\n.ambx .drawer .btn-ghost{border-color:#333;color:#fff}\\nhtml.drawer-open,html.drawer-open body{overflow:hidden}\\n.ambx .burger span{transition:transform .3s}\\n.ambx .burger.x span:first-child{transform:translateY(5.5px) rotate(45deg)}\\n.ambx .burger.x span:last-child{transform:translateY(-5.5px) rotate(-45deg)}\\n.ambx .p-tile,.ambx .p-dcard,.ambx .p-value,.ambx .p-check,.ambx .p-stat{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background .3s}\\n.ambx a.p-tile:hover,.ambx .p-value:hover,.ambx .p-check:hover{transform:translateY(-3px)}\\n@media(prefers-reduced-motion:no-preference){.ambx .p-hero .ph{animation:drift 22s ease-in-out infinite alternate}\\n@keyframes drift{from{background-position:50% 45%}to{background-position:50% 58%}}}\\n.ambx .burger.x span:first-child{transform:translateY(4.75px) rotate(45deg)!important}\\n.ambx .burger.x span:last-child{transform:translateY(-4.75px) rotate(-45deg)!important}\\n.ambx .burger{place-content:center}\\n.ambx .p-hero .eyebrow,.ambx .s-hero .eyebrow{color:rgba(255,255,255,.82)!important;text-shadow:0 1px 8px rgba(0,0,0,.45)}\\n.ambx .p-hero .eyebrow::before,.ambx .s-hero .eyebrow::before{background:var(--s-signal)}\\n.ambx .s-rail .eb{flex:0 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:38%}\\n@media(max-width:600px){.ambx:where(:not(.ambx-canvas)) .s-rail .eb{display:none}}\\n.ambx .s-words .s-wcard{min-height:min(calc(62 * var(--ambx-vh, 1vh)),560px)}\\n.ambx .p-tile .go span .arr,.ambx .p-tile .go span span{border:0;padding:0;height:auto}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-dcards.c2{grid-template-columns:1fr}}\\n.ambx .p-twocol p+p{margin-top:0}\\n@media(max-width:480px){.ambx:where(:not(.ambx-canvas)) .kv li{grid-template-columns:1fr;gap:4px}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-floaters img{width:96px!important;height:70px!important}}\\n.ambx .p-stepper .chip{background:var(--s-forest);color:#a7ecae}\\n@media(max-width:520px){.ambx:where(:not(.ambx-canvas)) .p-stat{min-height:140px}}\\n.ambx [id]{scroll-margin-top:calc(var(--hdr) + var(--rail,0px) + 24px)}\\n.ambx .s-rail .tt span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\\n.ambx .x-story{position:relative;background:#000;color:#fff}\\n.ambx .x-story .x-pin{position:sticky;top:0;height:calc(100 * var(--ambx-vh, 1vh));overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--hdr) + 20px) var(--pad) 40px}\\n.ambx .x-story .x-visual{position:relative;width:min(720px,calc(82 * var(--ambx-vw, 1vw)));aspect-ratio:16/10;perspective:1500px;flex:none}\\n.ambx .x-story.wide .x-visual{width:min(980px,calc(88 * var(--ambx-vw, 1vw)));aspect-ratio:16/9}\\n.ambx .x-story .x-plate{position:absolute;inset:0;transform-style:preserve-3d;will-change:transform}\\n.ambx .x-story .x-plate .wire{position:absolute;inset:0;border:1px solid rgba(255,255,255,.2);border-radius:14px}\\n.ambx .x-story .x-plate .wire.w1{transform:translateZ(-60px) scale(1.04);opacity:.6}\\n.ambx .x-story .x-plate .wire.w2{transform:translateZ(-120px) scale(1.08);opacity:.35}\\n.ambx .x-story .x-plate .wire.w3{transform:translateZ(-180px) scale(1.12);opacity:.18}\\n.ambx .x-story .x-media{position:absolute;inset:0;border-radius:14px;overflow:hidden;background:#0c0c0e;box-shadow:0 60px 140px -50px rgba(0,0,0,.9)}\\n.ambx .x-story .x-media>*{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .7s ease,transform 1.2s cubic-bezier(.2,.7,.2,1);border:0}\\n.ambx .x-story .x-media>img{filter:grayscale(1) brightness(.85)}\\n.ambx .x-story .x-media>.on{opacity:1;transform:none}\\n.ambx .x-story .x-media .grid{opacity:.5!important;transform:none!important;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:44px 44px;pointer-events:none;mix-blend-mode:overlay}\\n.ambx .x-story .x-chapters{position:relative;width:min(760px,calc(92 * var(--ambx-vw, 1vw)));height:clamp(170px,calc(22 * var(--ambx-vh, 1vh)),240px);margin-top:clamp(28px,calc(5 * var(--ambx-vh, 1vh)),56px)}\\n.ambx .x-story .x-ch{position:absolute;inset:0;text-align:center;opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .7s cubic-bezier(.2,.7,.2,1);pointer-events:none}\\n.ambx .x-story .x-ch.on{opacity:1;transform:none;pointer-events:auto}\\n.ambx .x-story .x-ch .chip{display:inline-flex;align-items:center;gap:6px;height:22px;padding:0 8px;border-radius:5px;background:rgba(114,206,123,.14);color:var(--s-signal);font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase}\\n.ambx .x-story .x-ch h2,.ambx .x-story .x-ch h3{font-size:clamp(24px,calc(2.6 * var(--ambx-vw, 1vw)),38px);font-weight:400;letter-spacing:-.03em;line-height:1.12;margin-top:14px}\\n.ambx .x-story .x-ch p{color:#a9a9a9;font-size:clamp(14px,calc(1.1 * var(--ambx-vw, 1vw)),16px);line-height:1.6;max-width:640px;margin:12px auto 0}\\n.ambx .x-story .x-ch .btns{justify-content:center;margin-top:18px}\\n.ambx .x-story .x-ticks{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;gap:6px}\\n.ambx .x-story .x-ticks i{width:28px;height:2px;background:rgba(255,255,255,.18);position:relative;overflow:hidden}\\n.ambx .x-story .x-ticks i b{position:absolute;inset:0;background:var(--s-signal);transform-origin:left;transform:scaleX(0)}\\n.ambx .x-story .x-label{position:absolute;right:var(--pad);bottom:24px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#6e6e6e}\\n.ambx .x-story.light{background:var(--s-grey);color:var(--s-ink)}\\n.ambx .x-story.light .x-ch p{color:var(--s-text2)}\\n.ambx .x-story.light .x-ticks i{background:rgba(0,0,0,.12)}\\n.ambx .x-story.light .x-ticks i b{background:var(--s-violet)}\\n.ambx .x-story.light .x-ch .chip{background:rgba(92,52,239,.1);color:var(--s-violet)}\\n.ambx .x-story.light .x-plate .wire{border-color:rgba(0,0,0,.14)}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .x-story .x-chapters{height:clamp(230px,calc(34 * var(--ambx-vh, 1vh)),300px)}\\n.ambx:where(:not(.ambx-canvas)) .x-story .x-visual{width:calc(88 * var(--ambx-vw, 1vw))}}\\n.ambx .x-stack{position:relative}\\n.ambx .x-stack>.x-layer{position:sticky;top:0;z-index:1}\\n.ambx .x-stack>.x-layer+.x-layer{border-radius:22px 22px 0 0;box-shadow:0 -30px 60px -30px rgba(0,0,0,.35);margin-top:-1px}\\n.ambx .x-stack>.x-layer:last-child{position:relative}\\n.ambx .x-layer .x-dim{position:absolute;inset:0;background:#000;opacity:0;pointer-events:none;z-index:50;border-radius:inherit;transition:opacity .1s linear}\\n.ambx .x-reveal .sw>span{transform:none!important;transition:color .25s linear!important}\\n.ambx .x-reveal .sw>span{color:var(--x-dim,rgba(16,16,16,.18))}\\n.ambx .dark .x-reveal .sw>span,.ambx .x-reveal.on-dark .sw>span,.ambx .x-story .x-reveal .sw>span{--x-dim:rgba(255,255,255,.2)}\\n.ambx .x-reveal .sw.lit>span{color:inherit}\\n.ambx .x-reveal .it .sw.lit>span,.ambx .x-reveal .m .sw.lit>span{color:inherit}\\n.ambx .x-focus{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:20px max(var(--pad),calc((calc(100 * var(--ambx-vw, 1vw)) - 360px)/2));scrollbar-width:none}\\n.ambx .x-focus::-webkit-scrollbar{display:none}\\n.ambx .x-focus>*{flex:none;scroll-snap-align:center;transition:transform .45s cubic-bezier(.2,.7,.2,1),opacity .45s,filter .45s;transform:scale(.9);opacity:.55;filter:grayscale(.3)}\\n.ambx .x-focus>.focus{transform:none;opacity:1;filter:none}\\n.ambx .x-focus-ctrl{display:flex;justify-content:center;gap:8px;margin-top:14px}\\n.ambx .x-focus-ctrl button{width:32px;height:32px;border-radius:8px;border:1px solid var(--s-line);display:grid;place-items:center}\\n.ambx .dark .x-focus-ctrl button{border-color:#333}\\n@media(prefers-reduced-motion:reduce){.ambx .x-story .x-pin{position:relative;height:auto}\\n.ambx .x-story{height:auto!important}\\n.ambx .x-story .x-ch{position:relative;opacity:1;transform:none;margin-bottom:24px}\\n.ambx .x-story .x-chapters{height:auto}\\n.ambx .x-stack>.x-layer{position:relative}}\\n.ambx .display{font-size:clamp(40px,calc(4.6 * var(--ambx-vw, 1vw)),68px);line-height:1.04;letter-spacing:-.035em}\\n.ambx .h1{font-size:clamp(36px,calc(4 * var(--ambx-vw, 1vw)),58px);letter-spacing:-.035em}\\n.ambx .h2{font-size:clamp(26px,calc(2.6 * var(--ambx-vw, 1vw)),38px);line-height:1.12;letter-spacing:-.025em}\\n.ambx .h3{font-size:clamp(19px,calc(1.5 * var(--ambx-vw, 1vw)),22px);letter-spacing:-.015em}\\n.ambx .p-hero h1{font-size:clamp(36px,calc(4.4 * var(--ambx-vw, 1vw)),64px);letter-spacing:-.035em}\\n.ambx .s-hero .display{font-size:clamp(40px,calc(4.8 * var(--ambx-vw, 1vw)),70px)}\\n.ambx .p-head h2{font-size:clamp(24px,calc(2.4 * var(--ambx-vw, 1vw)),34px);letter-spacing:-.022em}\\n.ambx .p-mission h2{font-size:clamp(24px,calc(2.5 * var(--ambx-vw, 1vw)),36px)}\\n.ambx .s-float h2{font-size:clamp(38px,calc(4.4 * var(--ambx-vw, 1vw)),64px)}\\n.ambx .s-bench h2{font-size:clamp(24px,calc(2.4 * var(--ambx-vw, 1vw)),34px)}\\n.ambx .s-news .ttl{font-size:clamp(28px,calc(3 * var(--ambx-vw, 1vw)),44px)}\\n.ambx .s-cta h2,.ambx .p-photocta h2{font-size:clamp(30px,calc(3.2 * var(--ambx-vw, 1vw)),48px)}\\n.ambx .s-words [data-words]{font-size:clamp(24px,calc(2.6 * var(--ambx-vw, 1vw)),38px);line-height:1.18}\\n.ambx .x-story .x-ch h2,.ambx .x-story .x-ch h3{font-size:clamp(20px,calc(1.9 * var(--ambx-vw, 1vw)),28px)}\\n.ambx .x-story .x-ch p{font-size:clamp(14px,calc(1 * var(--ambx-vw, 1vw)),15.5px)!important;color:#9a9a9a!important;line-height:1.65}\\n.ambx .x-story.light .x-ch p{color:var(--s-text2)!important}\\n.ambx .lede{font-size:clamp(15px,calc(1.1 * var(--ambx-vw, 1vw)),17px)}\\n.ambx .giant{font-size:clamp(44px,calc(7 * var(--ambx-vw, 1vw)),112px)}\\n.ambx .sec{padding:clamp(96px,calc(11 * var(--ambx-vw, 1vw)),160px) 0}\\n.ambx .p-head{margin-bottom:clamp(40px,calc(4.5 * var(--ambx-vw, 1vw)),64px)}\\n.ambx .s-bcard p,.ambx .p-tile p,.ambx .p-dcard p,.ambx .p-value p,.ambx .p-check li,.ambx .card p,.ambx .kv li,.ambx .p-photo p{font-size:13.5px;line-height:1.6}\\n.ambx .kv li b{font-weight:500;font-size:13.5px}\\n.ambx .s-bcard,.ambx .p-check,.ambx .p-value,.ambx .p-tile,.ambx .p-dcard{padding:26px}\\n.ambx .s-bcard h3,.ambx .p-tile h3,.ambx .p-value h3,.ambx .p-check h3{font-size:17px;letter-spacing:-.01em}\\n.ambx .x-story .x-visual{width:min(560px,calc(74 * var(--ambx-vw, 1vw)))}\\n.ambx .x-story.wide .x-visual{width:min(820px,calc(84 * var(--ambx-vw, 1vw)))}\\n.ambx .x-story .x-chapters{width:min(620px,calc(90 * var(--ambx-vw, 1vw)))}\\n.ambx .hud-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;opacity:1!important;transform:none!important}\\n.ambx .hud-svg .h1{fill:none;stroke:rgba(255,255,255,.55);stroke-width:1.2;vector-effect:non-scaling-stroke}\\n.ambx .hud-svg .h2{stroke:rgba(255,255,255,.35);stroke-width:1;vector-effect:non-scaling-stroke}\\n.ambx .hud-svg .h3{fill:none;stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:4 4;vector-effect:non-scaling-stroke;animation:dash 6s linear infinite}\\n.ambx .hud-svg .h4{fill:rgba(0,0,0,.35);stroke:rgba(255,255,255,.75);stroke-width:1;vector-effect:non-scaling-stroke}\\n.ambx .hud-svg .h5{fill:var(--s-signal)}\\n.ambx .hud-svg .scan{stroke:rgba(114,206,123,.55);stroke-width:1.5;vector-effect:non-scaling-stroke;animation:scan 5s cubic-bezier(.45,0,.55,1) infinite}\\n@keyframes dash{to{stroke-dashoffset:-80}}\\n@keyframes scan{0%{transform:translateY(0)}50%{transform:translateY(625px)}100%{transform:translateY(0)}}\\n@media(prefers-reduced-motion:reduce){.ambx .hud-svg .h3,.ambx .hud-svg .scan{animation:none}}\\n.ambx .x-story .x-media>img{filter:grayscale(1) brightness(.7) contrast(1.1)}\\n.ambx .x-media:has(iframe.on) .hud-svg{opacity:0!important;transition:opacity .5s}\\n.ambx .x-story .x-ch{transition:none!important}\\n.ambx .x-reveal .sw>span{transition:none!important;color:inherit!important}\\n.ambx .stagger>*{opacity:initial;transform:none;transition:none}\\n.ambx .x-stack>.x-layer>*:first-child{will-change:transform}\\n.ambx .x-story .x-media>*{transition:opacity .9s cubic-bezier(.4,0,.2,1),transform 1.6s cubic-bezier(.2,.7,.2,1)}\\n.ambx .net-explore{background:#000;color:#fff;padding:clamp(80px,calc(9 * var(--ambx-vw, 1vw)),130px) 0 clamp(40px,calc(5 * var(--ambx-vw, 1vw)),72px)}\\n.ambx .net-explore .head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:28px}\\n.ambx .net-explore .head h2{font-size:clamp(28px,calc(3 * var(--ambx-vw, 1vw)),44px);font-weight:400;letter-spacing:-.03em;line-height:1.05}\\n.ambx .net-explore .head p{color:#9a9a9a;max-width:520px;font-size:15px}\\n.ambx .net-stage{position:relative;margin:0 8px;height:min(calc(92 * var(--ambx-vh, 1vh)),980px);border-radius:20px;overflow:hidden;background:#05050a;border:1px solid #1d1d22;transform-origin:50% 30%;will-change:transform;box-shadow:0 50px 120px -60px rgba(92,52,239,.5)}\\n.ambx .net-stage iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}\\n.ambx .net-stage.is-live iframe{pointer-events:auto}\\n.ambx .net-stage .gate{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:radial-gradient(60% 60% at 50% 50%,transparent 0%,rgba(0,0,0,.25) 100%);cursor:pointer;transition:opacity .4s}\\n.ambx .net-stage.is-live .gate{opacity:0;pointer-events:none}\\n.ambx .net-stage .gate .orb{width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:#fff;font-size:26px;position:relative;transition:transform .3s}\\n.ambx .net-stage .gate:hover .orb{transform:scale(1.08)}\\n.ambx .net-stage .gate .orb::before,.ambx .net-stage .gate .orb::after{content:\"\";position:absolute;inset:-1px;border-radius:50%;border:1px solid rgba(114,206,123,.6);animation:netpulse 2.4s cubic-bezier(.2,.7,.2,1) infinite}\\n.ambx .net-stage .gate .orb::after{animation-delay:1.2s}\\n@keyframes netpulse{from{transform:scale(1);opacity:.9}to{transform:scale(2.1);opacity:0}}\\n.ambx .net-stage .tools{position:absolute;right:16px;top:16px;z-index:3;display:flex;gap:8px}\\n.ambx .net-stage .tools button{width:38px;height:38px;border-radius:10px;background:rgba(20,20,26,.7);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;font-size:16px;transition:background .2s}\\n.ambx .net-stage .tools button:hover{background:rgba(92,52,239,.85)}\\n.ambx .net-stage .tools .exit{display:none}\\n.ambx .net-stage.is-live .tools .exit{display:grid}\\n.ambx .net-stage .live-dot{position:absolute;left:16px;top:16px;z-index:3;width:8px;height:8px;border-radius:50%;background:var(--s-signal);box-shadow:0 0 0 0 rgba(114,206,123,.6);opacity:0;transition:opacity .3s}\\n.ambx .net-stage.is-live .live-dot{opacity:1;animation:livep 1.6s infinite}\\n@keyframes livep{0%{box-shadow:0 0 0 0 rgba(114,206,123,.6)}100%{box-shadow:0 0 0 12px rgba(114,206,123,0)}}\\n.ambx .net-stage:fullscreen{border-radius:0;margin:0;height:calc(100 * var(--ambx-vh, 1vh))}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .net-stage{height:calc(78 * var(--ambx-vh, 1vh));margin:0 6px}}\\n.ambx .s-frame-sec .net-stage{align-self:stretch;width:auto;margin:0 calc(var(--pad) * -1 + 8px)}\\n.ambx .net-stage .tools{top:auto;bottom:16px}\\nbody:has(.net-stage.is-live) .s-rail{transform:translateY(-110%)!important;opacity:0!important}\\n.ambx .tools.ext{position:relative;display:flex;justify-content:flex-end;gap:8px;margin:10px 16px 0}\\n.ambx .tools.ext button{width:38px;height:38px;border-radius:10px;background:#141418;border:1px solid #2a2a30;color:#fff;display:grid;place-items:center;font-size:16px}\\n.ambx .tools.ext button:hover{background:var(--s-violet)}\\n.ambx .tools.ext .exit{display:none}\\n.ambx .net-stage.is-live+.tools.ext .exit{display:grid}\\n:root{--sans:\"General Sans\",Geist,Inter,ui-sans-serif,system-ui,-apple-system,Arial,sans-serif}\\n.ambx{font-family:var(--sans);font-size:16px;line-height:1.5;letter-spacing:-.01em;font-feature-settings:\"ss01\" 0}\\n.ambx .display,.ambx .s-hero .display,.ambx .p-hero h1,.ambx .s-float h2{font-size:clamp(40px,calc(4.45 * var(--ambx-vw, 1vw)),64px);line-height:1.05;letter-spacing:-.01em;font-weight:400}\\n.ambx .h1,.ambx .s-cta h2,.ambx .p-photocta h2,.ambx .cta-card .h1{font-size:clamp(34px,calc(3.35 * var(--ambx-vw, 1vw)),48px);line-height:1.25;letter-spacing:-.01em}\\n.ambx .h2,.ambx .p-head h2,.ambx .s-bench h2,.ambx .s-news .ttl,.ambx .net-explore .head h2,.ambx .p-mission h2,.ambx .p-darkbox h2,.ambx .p-logos h2{font-size:clamp(28px,calc(2.8 * var(--ambx-vw, 1vw)),40px);line-height:1.25;letter-spacing:-.01em;font-weight:400}\\n.ambx .h3,.ambx .x-story .x-ch h2,.ambx .x-story .x-ch h3,.ambx .p-stepper .step h3,.ambx .p-quote q{font-size:clamp(20px,calc(1.67 * var(--ambx-vw, 1vw)),24px);line-height:1.5;letter-spacing:-.01em;font-weight:400}\\n.ambx .s-words [data-words]{font-size:clamp(26px,calc(2.8 * var(--ambx-vw, 1vw)),40px);line-height:1.25;letter-spacing:-.01em}\\n.ambx .s-bcard h3,.ambx .p-tile h3,.ambx .p-value h3,.ambx .p-check h3,.ambx .p-dcard h3,.ambx .card .h3,.ambx .card .h4,.ambx .s-ncard h3,.ambx .p-photo h3{font-size:20px;line-height:1.5;letter-spacing:-.01em;font-weight:400}\\n.ambx .lede,.ambx .p-mission p,.ambx .p-head p,.ambx .net-explore .head p{font-size:16px;line-height:1.5;letter-spacing:-.01em}\\n.ambx .s-bcard p,.ambx .p-tile p,.ambx .p-dcard p,.ambx .p-value p,.ambx .p-check li,.ambx .card p,.ambx .kv li,.ambx .p-photo p,.ambx .s-ncard p,.ambx .p-stat p,.ambx .s-case .who,.ambx .qcard .p small{font-size:14px;line-height:1.43;letter-spacing:-.01em}\\n.ambx .x-story .x-ch p{font-size:16px!important;line-height:1.5!important}\\n.ambx .s-case .stmt{font-size:20px;line-height:1.5;letter-spacing:-.01em}\\n.ambx .p-stat .big{font-size:clamp(40px,calc(3.4 * var(--ambx-vw, 1vw)),48px);letter-spacing:-.01em;line-height:1.25}\\n.ambx .giant{letter-spacing:-.02em;line-height:1.05}\\n.ambx .peek-row .t{font-size:clamp(20px,calc(1.7 * var(--ambx-vw, 1vw)),24px);letter-spacing:-.01em}\\n.ambx .mono,.ambx .eyebrow,.ambx .p-head .lab,.ambx .p-stat .lab,.ambx .p-tile .lab,.ambx .p-mosaic .m .lab,.ambx .s-ncard .cat,.ambx .fgrid h5,.ambx .menu .mt,.ambx .s-rail .eb,.ambx .chip,.ambx .p-stepper .chip,.ambx .x-story .x-ch .chip,.ambx .p-quote .lab,.ambx .p-quote .who,.ambx .p-count,.ambx .tag,.ambx .next .top,.ambx .cities,.ambx .fbot{font-size:12px!important;letter-spacing:.02em!important;line-height:1.3}\\n.ambx .eyebrow{gap:8px}\\n.ambx .btn{height:40px;padding:0 16px;border-radius:8px;font-size:15px;font-weight:500;letter-spacing:-.01em}\\n.ambx .btn .arr{width:18px;height:18px;border-radius:4px}\\n.ambx .card,.ambx .s-bcard,.ambx .s-case,.ambx .s-ncard,.ambx .qcard,.ambx .pcard,.ambx .p-tile,.ambx .p-dcard,.ambx .p-value,.ambx .p-check,.ambx .p-stat,.ambx .p-mosaic .m,.ambx .form-card,.ambx .p-photo .im{border-radius:16px}\\n.ambx .s-bench>.box,.ambx .p-quote,.ambx .s-cta .panel-in,.ambx .p-photocta .in,.ambx .p-hero .card-in,.ambx .net-stage,.ambx .s-words .s-wcard,.ambx .cta-card{border-radius:24px}\\n.ambx .field input,.ambx .field select,.ambx .field textarea,.ambx .field .drop{border-radius:12px}\\n.ambx .links{font-size:14px}\\n.ambx .links>div>a{padding:8px 12px}\\n.ambx .sec{padding:clamp(80px,calc(8.3 * var(--ambx-vw, 1vw)),120px) 0}\\n.ambx .sec.tight{padding:clamp(56px,calc(6.6 * var(--ambx-vw, 1vw)),96px) 0}\\n.ambx .card,.ambx .s-bcard,.ambx .s-case,.ambx .s-ncard,.ambx .qcard,.ambx .form-card{border-color:#e6e6e6}\\n.ambx .dark .card,.ambx .dark .s-bcard,.ambx .dark .s-case,.ambx .dark .s-ncard,.ambx .dark .qcard{border-color:#1f1f22}\\n.ambx .s-hero .display{max-width:22ch}\\n.ambx .p-hero h1{max-width:18ch}\\n.ambx .x-story .x-visual .x-gl{position:absolute;left:-30%;top:-30%;width:160%;height:160%;z-index:3;pointer-events:none}\\n.ambx .x-story.gl-on .x-plate{visibility:hidden}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .x-story .x-visual .x-gl{left:-15%;top:-20%;width:130%;height:140%}}\\n.ambx .hero-art{position:absolute;inset:0;z-index:1;opacity:0;transition:opacity 1.6s ease}\\n.ambx .hero-art.on{opacity:1}\\n.ambx .hero-art canvas{width:100%;height:100%;display:block}\\n.ambx .s-card:has(.hero-art.on) .s-media{opacity:0;transition:opacity 1.2s}\\n.ambx .s-card:has(.hero-art.on)::after{background:radial-gradient(70% 55% at 50% 50%,rgba(0,0,0,.35),transparent 75%)}\\n.ambx .s-card:has(.hero-art.on){background:#000}\\n.ambx .s-card:has(.hero-art.on)::after{background:radial-gradient(46% 34% at 50% 52%,rgba(0,0,0,.55),transparent 80%)}\\n.ambx .s-hero .s-media .slide{opacity:0;transform:scale(1.02);transition:opacity 2.4s cubic-bezier(.4,0,.2,1)!important;will-change:transform,opacity}\\n.ambx .s-hero .s-media .slide.on{opacity:1;animation:kb1 18s cubic-bezier(.25,.1,.25,1) forwards}\\n.ambx .s-hero .s-media .slide:nth-child(2n).on{animation-name:kb2}\\n.ambx .s-hero .s-media .slide:nth-child(3n).on{animation-name:kb3}\\n@keyframes kb1{from{transform:scale(1.02) translate3d(0,0,0)}to{transform:scale(1.14) translate3d(-1.6%,-1.2%,0)}}\\n@keyframes kb2{from{transform:scale(1.14) translate3d(1.4%,0,0)}to{transform:scale(1.03) translate3d(0,-.8%,0)}}\\n@keyframes kb3{from{transform:scale(1.03) translate3d(0,1%,0)}to{transform:scale(1.13) translate3d(1.2%,-1%,0)}}\\n.ambx .p-hero .ph{animation:kbp 26s cubic-bezier(.25,.1,.25,1) infinite alternate!important;transform:none}\\n@keyframes kbp{from{transform:scale(1.02) translate3d(0,0,0);background-position:50% 50%}to{transform:scale(1.12) translate3d(-1.2%,-1%,0);background-position:50% 50%}}\\n@media(prefers-reduced-motion:reduce){.ambx .s-hero .s-media .slide.on,.ambx .p-hero .ph{animation:none!important}}\\n.ambx .s-hero .s-card::after{background:radial-gradient(52% 42% at 50% 52%,rgba(0,0,0,.62),rgba(0,0,0,.18) 70%,rgba(0,0,0,.32) 100%),linear-gradient(180deg,rgba(0,0,0,.25),transparent 30%,transparent 70%,rgba(0,0,0,.45))!important}\\n.ambx .s-hero .s-inner .lede{color:rgba(255,255,255,.88)}\\nmain.ambx img{transition:opacity .6s ease}\\nmain.ambx img[loading=\"lazy\"]:not(.loaded){opacity:0}\\n.ambx .s-floaters img{transition:none!important;will-change:transform,opacity;border-radius:12px}\\n.ambx .s-float h2,.ambx .s-float .sub,.ambx .s-float .btns,.ambx .s-float .eyebrow{position:relative;z-index:2}\\n.ambx .s-floaters{z-index:0!important}\\n.ambx .s-float h2,.ambx .s-float .sub,.ambx .s-float .btns,.ambx .s-float .eyebrow,.ambx .s-float .conf-lab{position:relative;z-index:3!important}\\n.ambx .p-hero .txt{max-width:min(1200px,100%)}\\n.ambx .p-hero h1{max-width:none!important;text-wrap:balance}\\n.ambx .p-hero .lede{max-width:640px}\\n.ambx .s-cta .in,.ambx .p-photocta .txt,.ambx .cta-card .in{max-width:min(980px,100%)!important}\\n.ambx .s-cta h2,.ambx .p-photocta h2{text-wrap:balance}\\n.ambx .s-cta p,.ambx .p-photocta p{max-width:560px}\\n.ambx .s-split>.l h1,.ambx .s-split>.l h2,.ambx .s-split>.l .h1,.ambx .s-split>.l .h2{font-size:clamp(28px,calc(2.8 * var(--ambx-vw, 1vw)),40px)!important;line-height:1.2;text-wrap:balance}\\n.ambx .prose h2,.ambx .article-grid h2{font-size:clamp(26px,calc(2.4 * var(--ambx-vw, 1vw)),36px)}\\n.ambx .s-ncard h3,.ambx .p-mosaic .m h3{font-size:clamp(18px,calc(1.5 * var(--ambx-vw, 1vw)),22px)!important;line-height:1.35}\\n.ambx .p-photocta h2,.ambx .s-cta h2{max-width:none}\\n.ambx .p-hero .txt{max-width:min(1200px,100%)!important}\\n.ambx .x-story .x-chapters{width:min(780px,calc(92 * var(--ambx-vw, 1vw)))}\\n.ambx .x-story .x-ch h2,.ambx .x-story .x-ch h3{font-size:clamp(20px,calc(2 * var(--ambx-vw, 1vw)),28px)!important;line-height:1.3!important;text-wrap:balance}\\n.ambx .jd-comp h2,.ambx .jd-blk h2{font-size:clamp(22px,calc(2 * var(--ambx-vw, 1vw)),28px)!important;line-height:1.25;text-wrap:balance}\\n.ambx .chead h2,.ambx .chapter .chead .h2{font-size:clamp(28px,calc(2.8 * var(--ambx-vw, 1vw)),40px)!important;text-wrap:balance}\\n.ambx .jd-comp h2{align-self:start}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .giant{font-size:clamp(28px,calc(8.6 * var(--ambx-vw, 1vw)),64px)!important;line-height:1.08}\\n.ambx:where(:not(.ambx-canvas)) .fgrid{gap:28px 20px}}\\n.ambx .toc{top:calc(var(--hdr) + 24px)!important}\\n.ambx .field label,.ambx .field .lab,.ambx .p-acc summary .k,.ambx .p-hero .meta{font-size:12px!important;letter-spacing:.02em!important}\\n.ambx .x-story .x-ch .eyebrow{color:#8c8c8c}\\n.ambx .x-focus-ctrl button{width:40px;height:40px}\\n.ambx .p-filters input,.ambx .p-filters select{height:42px}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .x-story .x-visual{width:calc(88 * var(--ambx-vw, 1vw))}}\\n.ambx .grey .x-focus>:not(.focus),.ambx .white .x-focus>:not(.focus),.ambx .light .x-focus>:not(.focus){opacity:.85;filter:none}\\n.ambx .grey .field input:focus,.ambx .grey .field select:focus,.ambx .grey .field textarea:focus,.ambx .light .field input:focus,.ambx .light .field select:focus,.ambx .light .field textarea:focus{border-color:var(--s-violet)!important;background:#fff!important;box-shadow:0 0 0 4px rgba(92,52,239,.12)}\\n.ambx .s-rail .list a .n,.ambx .s-rail .idx,.ambx .p-hero .meta{font-size:12px!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-rail .top{width:40px;height:40px}\\n.ambx:where(:not(.ambx-canvas)) .p-quote .dots button{width:40px;height:40px;padding:16px;background-clip:content-box}\\n.ambx:where(:not(.ambx-canvas)) .net-stage .tools button,.ambx:where(:not(.ambx-canvas)) .tools.ext button{width:40px;height:40px}}\\n.ambx .net-stage .tools button,.ambx .tools.ext button{width:40px;height:40px}\\n.ambx .p-quote .main{display:grid}\\n.ambx .p-quote .main>.slide-q{grid-area:1/1;display:block!important;opacity:0;visibility:hidden;transition:opacity .5s ease,visibility 0s .5s}\\n.ambx .p-quote .main>.slide-q.on{opacity:1;visibility:visible;transition:opacity .5s ease .15s,visibility 0s;animation:none}\\n.ambx .p-quote .main>.dots{grid-row:2}\\n.ambx .p-quote .dots{gap:0}\\n.ambx .p-quote .dots button{width:32px!important;height:32px!important;padding:0!important;background:none!important;opacity:1!important;position:relative}\\n.ambx .p-quote .dots button::before{content:\"\";position:absolute;left:12px;top:12px;width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.25}\\n.ambx .p-quote .dots button.on::before{opacity:1}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .p-quote .dots button{width:40px!important;height:40px!important}\\n.ambx:where(:not(.ambx-canvas)) .p-quote .dots button::before{left:16px;top:16px}}\\n.ambx .field label{letter-spacing:.04em!important}\\n.ambx .field input:focus,.ambx .field select:focus,.ambx .field textarea:focus{box-shadow:0 0 0 4px rgba(92,52,239,.14)}\\n.ambx .s-hero .s-media,.ambx .p-hero .ph{display:none!important}\\n.ambx .s-hero .s-card,.ambx .p-hero .card-in{background:#050507!important}\\n.ambx .s-hero .s-card::after,.ambx .p-hero .card-in::after{background:\\n  linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/72px 72px,\\n  linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/72px 72px!important;\\n  -webkit-mask-image:radial-gradient(90% 80% at 50% 50%,#000 30%,transparent 85%);mask-image:radial-gradient(90% 80% at 50% 50%,#000 30%,transparent 85%)}\\n.ambx .s-hero .s-card::before,.ambx .p-hero .card-in::before{content:\"\";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 50% at 50% 115%,rgba(92,52,239,.22),transparent 70%)}\\n.ambx .p-hero .card-in{min-height:min(calc(64 * var(--ambx-vh, 1vh)),620px)}\\n.ambx .p-hero .txt,.ambx .s-hero .s-inner{z-index:3}\\n.ambx .p-hero .lede{color:rgba(255,255,255,.72)}\\n.ambx .s-hero .s-inner .lede{color:rgba(255,255,255,.72)}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .p-hero .card-in{min-height:calc(62 * var(--ambx-vh, 1vh))}}\\n.ambx .p-hero{padding:8px;background:#fff}\\n.ambx .p-hero .card-in{min-height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr) - 16px)!important;height:calc(calc(100 * var(--ambx-vh, 1vh)) - var(--hdr) - 16px);border-radius:20px}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .p-hero .card-in{min-height:calc(calc(100 * var(--ambx-vh, 1svh)) - var(--hdr) - 16px)!important;height:auto}}\\n.ambx .p-hero .card-in{align-items:center;justify-content:center;text-align:center}\\n.ambx .p-hero .txt{display:flex;flex-direction:column;align-items:center;text-align:center;margin:0 auto;padding:96px 24px}\\n.ambx .p-hero .txt .eyebrow{justify-content:center}\\n.ambx .p-hero .lede{margin-left:auto;margin-right:auto;text-align:center}\\n.ambx .p-hero .btns{justify-content:center}\\n.ambx .p-hero .meta{left:0;right:0;text-align:center;bottom:28px}\\n.ambx .p-hero h1{margin-left:auto;margin-right:auto}\\n.ambx .p-hero .meta{left:50%!important;right:auto!important;transform:translateX(-50%);text-align:center!important;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;width:max-content;max-width:90%}\\n.ambx .x-art{--ink:currentColor;--acc:var(--c-violet,#5c34ef);position:relative;width:100%;aspect-ratio:320/170;max-height:190px;margin:-4px 0 18px;border-radius:12px;overflow:hidden;color:inherit}\\n.ambx .x-art::before{content:\"\";position:absolute;inset:0;background-image:radial-gradient(currentColor .8px,transparent .9px);background-size:14px 14px;opacity:.12;-webkit-mask:radial-gradient(ellipse 70% 80% at 50% 50%,#000 30%,transparent 80%);mask:radial-gradient(ellipse 70% 80% at 50% 50%,#000 30%,transparent 80%)}\\n.ambx .x-art-svg{position:relative;width:100%;height:100%;display:block;overflow:visible}\\n.ambx .x-art .ln{fill:none;stroke:var(--ink);stroke-width:1;opacity:.75}\\n.ambx .x-art .ln.thin{opacity:.4}\\n.ambx .x-art .ln.fl{fill:currentColor;fill-opacity:.04}\\n.ambx .x-art .ln.dash{stroke-dasharray:3 4;opacity:.4}\\n.ambx .x-art .node{fill:var(--bgc,#fff);stroke:var(--ink);stroke-width:1}\\n.ambx .x-art .chip{fill:none;stroke:var(--ink);stroke-width:1;opacity:.6}\\n.ambx .x-art .acc,.ambx .x-art .tip{fill:var(--acc);stroke:none}\\n.ambx .x-art .accfill{fill:var(--acc);fill-opacity:.85;stroke:var(--acc);stroke-width:1}\\n.ambx .x-art .dot{fill:var(--ink)}\\n.ambx .x-art .dr{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s cubic-bezier(.6,.05,.2,1) var(--d,0s)}\\n.ambx .x-art polyline.dr{stroke-dasharray:400;stroke-dashoffset:400}\\n.ambx .x-art.play .dr{stroke-dashoffset:0}\\n.ambx .x-art .pop{opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(.3);transition:opacity .5s var(--d,0s),transform .6s cubic-bezier(.3,1.6,.5,1) var(--d,0s)}\\n.ambx .x-art.play .pop{opacity:1;transform:none}\\n.ambx .x-art .pl{transform:translateY(calc((1 - var(--i)) * -14px));opacity:0;transition:transform 1.2s cubic-bezier(.2,.8,.2,1) calc(var(--i) * .15s),opacity .8s calc(var(--i) * .15s)}\\n.ambx .x-art.play .pl{transform:none;opacity:1;animation:xa-float 6s ease-in-out calc(1.4s + var(--i) * .4s) infinite}\\n@keyframes xa-float{50%{transform:translateY(calc((var(--i) - 1) * 5px))}}\\n.ambx .x-art .spin{animation:xa-spin 26s linear infinite;animation-play-state:paused}\\n.ambx .x-art.play .spin{animation-play-state:running}\\n@keyframes xa-spin{to{transform:rotate(360deg)}}\\n.ambx .x-art .bar{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0);transition:transform 1s cubic-bezier(.2,.8,.2,1) var(--d,0s)}\\n.ambx .x-art.play .bar{transform:none}\\n.ambx .x-art .blink{animation:xa-blink 3.2s ease-in-out var(--d,0s) infinite;animation-play-state:paused}\\n.ambx .x-art.play .blink{animation-play-state:running}\\n@keyframes xa-blink{0%,100%{fill-opacity:.15}50%{fill-opacity:.9}}\\n.ambx .x-art .mv,.ambx .x-art circle:has(animateMotion){opacity:0;transition:opacity .6s 1.2s}\\n.ambx .x-art.play circle:has(animateMotion){opacity:1}\\n.ambx .s-bcard .x-art{--bgc:#fff;color:var(--g-ink,#0b0b0d);background:var(--g1,#f2f2f2);max-height:170px}\\n.ambx .dark .s-bcard .x-art,.ambx .s-bcard.ink .x-art{--bgc:#0f0c18;color:#fff;background:rgba(255,255,255,.04)}\\n.ambx .p-dcard .x-art{--bgc:#1b1b1e;color:#fff;--acc:var(--c-lime,#72ce7b);background:rgba(255,255,255,.03);max-height:150px}\\n.ambx .p-dcard.violet .x-art{--bgc:var(--c-violet);--acc:#fff}\\n.ambx .p-tile .x-art{--bgc:var(--c-black,#000);color:inherit;--acc:var(--c-lime,#72ce7b);background:rgba(255,255,255,.05);max-height:150px}\\n.ambx .p-tile.violet .x-art{--bgc:var(--c-violet);--acc:#fff}\\n.ambx .p-tile.green .x-art{--bgc:var(--c-green)}\\n.ambx .p-tile.tan .x-art,.ambx .p-tile.steel .x-art,.ambx .p-tile.lav .x-art{--acc:#000;background:rgba(0,0,0,.05)}\\n.ambx .p-tile.tan .x-art{--bgc:var(--c-tan)}\\n.ambx .p-tile.steel .x-art{--bgc:var(--c-steel)}\\n.ambx .p-tile.lav .x-art{--bgc:var(--c-lav)}\\n.ambx .p-tile.light .x-art{--bgc:#fff;--acc:var(--c-violet);background:var(--g1,#f2f2f2)}\\n.ambx .p-tile.plum .x-art{--bgc:var(--c-plum)}\\n.ambx .p-tile.navy .x-art{--bgc:var(--c-navy)}\\n@media(prefers-reduced-motion:reduce){.ambx .x-art *{animation:none!important;transition:none!important}}\\n.ambx .x-const{position:relative;height:clamp(320px,calc(32 * var(--ambx-vw, 1vw)),420px);max-width:1180px;margin:8px auto 44px}\\n.ambx .x-const-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible}\\n.ambx .x-const-lines line{stroke:#fff;stroke-opacity:.16;stroke-width:1;vector-effect:non-scaling-stroke;stroke-dasharray:1400;stroke-dashoffset:1400;transition:stroke-dashoffset 2.2s cubic-bezier(.6,.05,.2,1) .5s}\\n.ambx .x-const-lines line.faint{stroke:var(--c-lilac,#d1aad7);stroke-opacity:.22;stroke-dasharray:2 5;stroke-dashoffset:0;opacity:0;transition:opacity 1.2s 1.8s}\\n.ambx .x-const.play line{stroke-dashoffset:0}\\n.ambx .x-const.play line.faint{opacity:1}\\n.ambx .x-tile{position:absolute;width:128px;height:60px;margin:-30px 0 0 -64px;display:grid;place-items:center;background:#030303;border:1px solid rgba(255,255,255,.12);border-radius:12px;box-shadow:0 20px 40px -24px rgba(0,0,0,.9);opacity:0;transform:translateY(18px) scale(.92);transition:opacity .7s var(--d),transform .9s cubic-bezier(.2,.8,.2,1) var(--d),border-color .3s}\\n.ambx .x-tile.big{width:148px;height:70px;margin:-35px 0 0 -74px}\\n.ambx .x-tile:hover{border-color:rgba(255,255,255,.4)}\\n.ambx .x-tile img{max-width:74%;max-height:32px;width:auto!important;height:auto!important;opacity:.9!important}\\n.ambx .x-const.play .x-tile{opacity:1;transform:none;animation:xc-bob 7s ease-in-out calc(1.6s + var(--b)) infinite}\\n@keyframes xc-bob{0%,100%{translate:0 0}50%{translate:0 -6px}}\\n.ambx .x-const::after{content:\"\";position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px;background:var(--c-violet,#5c34ef);border-radius:3px;box-shadow:0 0 0 8px rgba(92,52,239,.18),0 0 0 22px rgba(92,52,239,.07);animation:xc-pulse 3s ease-in-out infinite}\\n@keyframes xc-pulse{50%{box-shadow:0 0 0 12px rgba(92,52,239,.12),0 0 0 34px rgba(92,52,239,0)}}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .x-const{height:600px;margin-left:16px;margin-right:16px}\\n.ambx:where(:not(.ambx-canvas)) .x-tile,.ambx:where(:not(.ambx-canvas)) .x-tile.big{width:78px;height:42px;margin:-21px 0 0 -39px}\\n.ambx:where(:not(.ambx-canvas)) .x-tile img{max-height:20px}}\\n.ambx .s-cta.tan .panel-in{background:var(--c-tan,#a8927c)!important;color:#15120d;align-items:center;min-height:min(calc(92 * var(--ambx-vh, 1vh)),760px)}\\n.ambx .s-cta.tan .panel-in::before,.ambx .s-cta.tan .bgimg{display:none!important}\\n.ambx .s-cta.tan .in{max-width:560px}\\n.ambx .s-cta.tan h2{max-width:11ch;color:#15120d;font-size:clamp(36px,calc(4.2 * var(--ambx-vw, 1vw)),60px);letter-spacing:-.03em;line-height:1.02}\\n.ambx .s-cta.tan h2 .it{color:#4c3d2e}\\n.ambx .s-cta.tan p{color:rgba(21,18,13,.72)}\\n.ambx .s-cta.tan .eyebrow{color:#15120d!important}\\n.ambx .s-cta.tan .eyebrow::before{background:#15120d!important}\\n.ambx .s-cta.tan .btn-violet{background:#15120d!important;color:#fff!important;box-shadow:none!important}\\n.ambx .s-cta.tan .btn-violet .arr{background:rgba(255,255,255,.16)!important}\\n.ambx .x-globe{position:absolute;right:clamp(-40px,calc(2 * var(--ambx-vw, 1vw)),60px);top:50%;width:min(calc(52 * var(--ambx-vw, 1vw)),640px);aspect-ratio:1;transform:translateY(-50%);pointer-events:none;z-index:1}\\n.ambx .x-globe svg{width:100%;height:100%;overflow:visible}\\n.ambx .x-globe .rim{fill:none;stroke:#15120d;stroke-opacity:.35;stroke-width:1}\\n.ambx .x-globe .grat{fill:none;stroke:#15120d;stroke-opacity:.28;stroke-width:.8}\\n.ambx .x-globe .grat.back{stroke-opacity:.07;stroke-dasharray:2 4}\\n.ambx .x-globe .arcs path{fill:none;stroke:#15120d;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.8s cubic-bezier(.6,.05,.2,1) var(--d)}\\n.ambx .x-globe.play .arcs path{stroke-dashoffset:0}\\n.ambx .x-globe .cities circle{fill:var(--c-violet,#5c34ef);opacity:0;transition:opacity .5s var(--d)}\\n.ambx .x-globe.play .cities circle{opacity:1}\\n.ambx .x-globe::after{content:\"\";position:absolute;inset:18%;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.18),transparent 70%);z-index:-1}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in{align-items:flex-end;min-height:760px}\\n.ambx:where(:not(.ambx-canvas)) .x-globe{width:calc(120 * var(--ambx-vw, 1vw));right:calc(-35 * var(--ambx-vw, 1vw));top:2%;transform:none;opacity:.75}}\\n.ambx #hero.s-hero{height:calc(calc(100 * var(--ambx-vh, 1vh)) + calc(22 * var(--ambx-vh, 1vh)))}\\n.ambx .s-hero .s-explore{position:absolute;right:28px;bottom:24px;z-index:4;display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.55);letter-spacing:.02em}\\n.ambx .s-hero .s-explore i{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.22);border-radius:7px;font-style:normal;animation:xs-bob 2.4s ease-in-out infinite}\\n@keyframes xs-bob{50%{transform:translateY(3px)}}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .s-hero .s-explore{display:none}}\\n.ambx .p-photocta.flat .in{min-height:min(calc(78 * var(--ambx-vh, 1vh)),680px);align-items:center}\\n.ambx .p-photocta.flat .in::after{display:none}\\n.ambx .p-photocta.flat .txt{max-width:min(620px,52%)!important}\\n.ambx .p-photocta.flat h2{font-size:clamp(32px,calc(3.6 * var(--ambx-vw, 1vw)),52px)}\\n.ambx .p-photocta.flat .x-art.big{position:absolute;right:2%;top:50%;transform:translateY(-50%);width:min(50%,680px);max-height:none;margin:0;background:none!important;aspect-ratio:320/200}\\n.ambx .p-photocta.flat .x-art.big::before{opacity:.18}\\n.ambx .p-photocta.flat .x-art.big .ln,.ambx .p-photocta.flat .x-art.big .node,.ambx .p-photocta.flat .x-art.big .chip{stroke-width:.6}\\n.ambx .p-photocta.flat .x-globe{right:clamp(-20px,calc(3 * var(--ambx-vw, 1vw)),80px);width:min(calc(46 * var(--ambx-vw, 1vw)),600px)}\\n.ambx .p-photocta.c-tan .in{background:var(--c-tan)}\\n.ambx .p-photocta.c-steel .in{background:var(--c-steel)}\\n.ambx .p-photocta.c-forest .in{background:var(--c-green)}\\n.ambx .p-photocta.c-violet .in{background:var(--c-violet)}\\n.ambx .p-photocta.c-ink .in{background:#101010}\\n.ambx .p-photocta.c-tan .in,.ambx .p-photocta.c-steel .in{color:#15120d}\\n.ambx .p-photocta.c-tan .txt *,.ambx .p-photocta.c-steel .txt *{color:#15120d!important}\\n.ambx .p-photocta.c-tan .txt p,.ambx .p-photocta.c-steel .txt p{color:rgba(21,18,13,.72)!important}\\n.ambx .p-photocta.c-tan .eyebrow::before,.ambx .p-photocta.c-steel .eyebrow::before{background:#15120d!important}\\n.ambx .p-photocta.c-tan .btn,.ambx .p-photocta.c-steel .btn{background:#15120d!important;color:#fff!important;border-color:#15120d!important}\\n.ambx .p-photocta.c-tan .btn *,.ambx .p-photocta.c-steel .btn *{color:#fff!important}\\n.ambx .p-photocta.c-steel .x-globe .rim,.ambx .p-photocta.c-steel .x-globe .grat{stroke:#0f1722}\\n.ambx .p-photocta .x-art.big{--bgc:#101010;--acc:var(--c-lime,#72ce7b);color:#fff}\\n.ambx .p-photocta.c-forest .x-art.big{--bgc:var(--c-green)}\\n.ambx .p-photocta.c-violet .x-art.big{--bgc:var(--c-violet);--acc:#fff}\\n.ambx .p-photocta.c-tan .x-art.big{--bgc:var(--c-tan);--acc:var(--c-violet);color:#15120d}\\n.ambx .p-photocta.c-steel .x-art.big{--bgc:var(--c-steel);--acc:#15120d;color:#0f1722}\\n.ambx .p-photocta.c-forest .it,.ambx .p-photocta.c-ink .it{color:var(--c-lime,#72ce7b)}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .in{align-items:flex-end;min-height:640px}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .txt{max-width:100%!important}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .x-art.big{top:6%;transform:none;width:92%;right:4%}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .x-globe{top:2%;transform:none;width:calc(110 * var(--ambx-vw, 1vw));right:calc(-30 * var(--ambx-vw, 1vw));opacity:.7}}\\n.ambx .p-photocta.c-tan .btn .arr,.ambx .p-photocta.c-steel .btn .arr{background:rgba(255,255,255,.16)!important}\\n.ambx .x-story .x-visual{width:min(680px,calc(78 * var(--ambx-vw, 1vw)))}\\n.ambx .x-story.wide .x-visual{width:min(900px,calc(86 * var(--ambx-vw, 1vw)))}\\n.ambx .x-story.light{background:var(--s-grey,#f2f2f2)}\\n.ambx .x-story.light .x-ch h2,.ambx .x-story.light .x-ch h3,.ambx .x-story.light .x-ch p.ab-p{color:var(--s-ink,#101010)!important}\\n.ambx .x-story.light .x-ch .eyebrow{color:#6b6b6b!important}\\n.ambx .x-story.light .x-label{color:#8a8a8a}\\n.ambx .x-story.light .x-reveal .sw>span{--x-dim:rgba(0,0,0,.14)}\\n.ambx .x-story.light .btn-ghost{color:var(--s-ink,#101010)!important;border-color:rgba(0,0,0,.2)!important}\\n.ambx .x-story.light .btn-ghost .arr{background:rgba(0,0,0,.06)!important}\\n.ambx .x-story.light .btn-light{background:#101010!important;color:#fff!important}\\n.ambx img.x-unclip{will-change:transform,clip-path;transform-origin:50% 60%}\\n.ambx :is(.p-dcard,.p-tile,.s-bcard,.s-ncard,.card,.p-value,.x-tile,.pcard,.p-stat,.s-case,.p-check,.form-card){--spot:rgba(255,255,255,.07)}\\n.ambx :is(.s-bcard,.s-ncard,.card,.p-value,.pcard,.p-stat,.p-check,.form-card,.p-tile.light){--spot:rgba(92,52,239,.06)}\\n.ambx :is(.p-dcard,.p-tile,.s-bcard,.s-ncard,.card,.p-value,.x-tile,.pcard,.p-stat,.s-case,.p-check):hover{background-image:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),var(--spot),transparent 45%)}\\n.ambx .btn{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease}\\n.ambx .btn .arr{transition:transform .25s cubic-bezier(.3,1.4,.5,1),background-color .2s}\\n.ambx .btn:hover .arr{transform:translateX(3px)}\\n.ambx .btn:active{transform:scale(.98)}\\n.ambx .btn-ghost:hover{border-color:currentColor}\\n.ambx :is(.prose,.p-twocol,.legal,.letter,.f-note,.fine) a:not(.btn){background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .35s cubic-bezier(.2,.7,.2,1);text-decoration:none}\\n.ambx :is(.prose,.p-twocol,.legal,.letter,.f-note,.fine) a:not(.btn):hover{background-size:100% 1px}\\n.ambx footer a:not(.btn){background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .3s,color .2s}\\n.ambx footer a:not(.btn):hover{background-size:100% 1px}\\n.ambx .links>div>a{border-radius:8px;transition:background-color .2s,color .2s}\\n.ambx .links>div>a:hover{background:rgba(0,0,0,.05)}\\n.ambx #hdr.dark .links>div>a:hover{background:rgba(255,255,255,.08)}\\n.ambx .menu{transition:opacity .22s ease,transform .3s cubic-bezier(.2,.8,.2,1),visibility .22s}\\n.ambx :focus-visible{outline:2px solid var(--c-violet,#5c34ef);outline-offset:3px;border-radius:6px}\\n.ambx ::selection{background:rgba(92,52,239,.22)}\\n.ambx .dark ::selection,.ambx .x-story:not(.light) ::selection{background:rgba(209,170,215,.35);color:#fff}\\n.ambx, .ambx *{scrollbar-width:thin;scrollbar-color:rgba(127,127,127,.35) transparent}\\n.ambx :is(.p-dcard,.s-ncard,.pcard,.p-value,.p-check){transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,background-color .3s,border-color .3s}\\n.ambx :is(.s-ncard,.pcard,.p-value):hover{transform:translateY(-3px)}\\n.ambx :is(.x-focus,.reel,.pcard,.s-ncard,.p-mosaic,.s-case) img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .5s}\\n.ambx :is(.x-focus>*,.reel figure,.pcard,.s-ncard,.p-mosaic .m,.s-case):hover img:not(.x-unclip){transform:scale(1.045)}\\n.ambx .chap-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(24px,calc(4 * var(--ambx-vw, 1vw)),64px);align-items:start;margin-top:28px}\\n.ambx .chap-globe{position:sticky;top:calc(var(--hdr) + 40px)}\\n.ambx .chap-globe .x-globe{position:relative;inset:auto;right:auto;top:auto;transform:none;width:100%;max-width:520px;margin-left:auto}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .chap-grid{grid-template-columns:1fr}\\n.ambx:where(:not(.ambx-canvas)) .chap-globe{position:relative;top:0;order:-1}\\n.ambx:where(:not(.ambx-canvas)) .chap-globe .x-globe{width:86%;margin:0 auto;opacity:1}}\\n.ambx .s-cta.tan .cta-art{position:absolute;right:3%;top:50%;transform:translateY(-50%);width:min(48%,640px);max-height:none;margin:0;background:none;aspect-ratio:320/200;color:#15120d;--acc:var(--c-violet);--bgc:var(--c-tan)}\\n.ambx .s-cta.tan .cta-art .ln{stroke-width:.6}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .cta-art{top:4%;transform:none;width:92%;right:4%}}\\n.ambx .x-globe .cities circle{transform-box:fill-box;transform-origin:center;transition:opacity .5s var(--d),transform .35s cubic-bezier(.3,1.6,.5,1)}\\n.ambx .x-globe svg.focus .cities circle:not(.hot){opacity:.25}\\n.ambx .x-globe .cities circle.hot{transform:scale(1.9);opacity:1!important}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .peek-row{display:grid!important;grid-template-columns:30px 1fr 24px;grid-template-areas:\"n t g\" \"n k g\" \"n d g\";column-gap:10px;row-gap:2px;align-items:center;padding:16px 0!important;min-height:0!important}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .n{grid-area:n;align-self:start;padding-top:6px}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .t{grid-area:t}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .k{grid-area:k;margin:0!important}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .d{grid-area:d;margin:0!important}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .go{grid-area:g;justify-self:end;margin:0!important}\\n.ambx:where(:not(.ambx-canvas)) .peek-row .k:empty,.ambx:where(:not(.ambx-canvas)) .peek-row .d:empty{display:none}}\\nmain.ambx p,main.ambx li,main.ambx dd{text-wrap:pretty}\\n@media(min-width:601px) and (max-width:1439px){.ambx:where(:not(.ambx-canvas)) .display,.ambx:where(:not(.ambx-canvas)) .s-hero .display,.ambx:where(:not(.ambx-canvas)) .p-hero h1,.ambx:where(:not(.ambx-canvas)) .s-float h2{font-size:clamp(44px,calc(26px + calc(2.6 * var(--ambx-vw, 1vw))),64px)}}\\n@media(min-width:601px) and (max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-tiles,.ambx:where(:not(.ambx-canvas)) .p-tiles.c3,.ambx:where(:not(.ambx-canvas)) .p-dcards,.ambx:where(:not(.ambx-canvas)) .p-dcards.c2,.ambx:where(:not(.ambx-canvas)) .p-dcards.c4{grid-template-columns:repeat(2,minmax(0,1fr))}\\n.ambx:where(:not(.ambx-canvas)) .p-values,.ambx:where(:not(.ambx-canvas)) .p-values.c3{grid-template-columns:repeat(2,minmax(0,1fr))}\\n.ambx:where(:not(.ambx-canvas)) :is(.p-tiles,.p-dcards,.p-values,.p-checks)>:last-child:nth-child(odd){grid-column:1/-1}\\n.ambx:where(:not(.ambx-canvas)) .p-tile,.ambx:where(:not(.ambx-canvas)) .p-dcard{min-height:0}\\nmain.ambx:where(:not(.ambx-canvas)) .tl-ways,main.ambx:where(:not(.ambx-canvas)) .ev-two{grid-template-columns:repeat(2,minmax(0,1fr))}\\nmain.ambx:where(:not(.ambx-canvas)) .ev-cal .ev-two{grid-template-columns:minmax(0,1fr)}\\n.ambx:where(:not(.ambx-canvas)) .caps{grid-template-columns:repeat(2,minmax(0,1fr))}\\n.ambx:where(:not(.ambx-canvas)) .caps>:last-child:nth-child(odd){grid-column:1/-1}\\n.ambx:where(:not(.ambx-canvas)) .fgrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}\\n.ambx:where(:not(.ambx-canvas)) .fgrid .fl{grid-column:1/-1}\\n.ambx:where(:not(.ambx-canvas)) .letter2 .lt-grid{max-width:640px}\\n.ambx:where(:not(.ambx-canvas)) .article-grid .prose{max-width:640px;margin-left:auto;margin-right:auto}}\\n@media(min-width:1001px) and (max-width:1240px){main.ambx:where(:not(.ambx-canvas)) .s-bcard .kv li{grid-template-columns:1fr;gap:4px}}\\n@media(min-width:601px) and (max-width:1100px){.ambx:where(:not(.ambx-canvas)) .pt-mis-z .pt-mis h2{font-size:clamp(30px,calc(3.9 * var(--ambx-vw, 1vw)),40px)}}\\n@media(min-width:601px) and (max-width:1000px) and (orientation:portrait){.ambx:where(:not(.ambx-canvas)) .x-story .x-visual{width:min(680px,calc(84 * var(--ambx-vw, 1vw)))}\\n.ambx:where(:not(.ambx-canvas)) .x-story.wide .x-visual{width:min(900px,calc(90 * var(--ambx-vw, 1vw)))}}\\n@media(max-width:600px){.ambx:where(:not(.ambx-canvas)) .x-story .x-chapters{width:calc(calc(100 * var(--ambx-vw, 1vw)) - 32px)}}\\n@media(max-width:1000px){.ambx:where(:not(.ambx-canvas)) .fgrid a{padding:9px 0}\\n.ambx:where(:not(.ambx-canvas)) .fbot .lnk a{display:inline-block;padding:12px 0}\\n.ambx:where(:not(.ambx-canvas)) .fbot .lnk{column-gap:18px;row-gap:0}\\n.ambx:where(:not(.ambx-canvas)) .fbot .soc a{width:40px;height:40px}\\n.ambx:where(:not(.ambx-canvas)) .s-rail .top{width:36px;height:36px}\\n.ambx:where(:not(.ambx-canvas)) .rp-tabs .rp-tab,.ambx:where(:not(.ambx-canvas)) .ltabs .ltab,.ambx:where(:not(.ambx-canvas)) nav.chips .chip{min-height:36px}}\\n.ambx .x-annot{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}\\n.ambx .x-annot .bb{fill:none;stroke:rgba(255,255,255,.75);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s cubic-bezier(.6,.05,.2,1) .15s}\\n.ambx .x-annot .ck{fill:none;stroke:#fff;stroke-width:1.6;opacity:0;transition:opacity .4s .9s}\\n.ambx .x-annot .kp{fill:none;stroke:var(--c-lime,#72ce7b);stroke-width:1.4;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.2s ease .6s}\\n.ambx .x-annot .kd{fill:var(--c-lime,#72ce7b);stroke:#0b0b0b;stroke-width:.8;opacity:0;transition:opacity .3s var(--d)}\\n.ambx .x-annot .tri{fill:none;stroke:rgba(255,255,255,.85);stroke-width:1;opacity:0;transition:opacity .4s var(--d)}\\n.ambx .x-annot .hd rect{fill:rgba(0,0,0,.25);stroke:rgba(255,255,255,.9);stroke-width:1}\\n.ambx .x-annot .hd path{fill:none;stroke:#fff;stroke-width:1}\\n.ambx .x-annot .hd{opacity:0;transition:opacity .4s var(--d)}\\n.ambx .annot-on .x-annot .bb,.ambx .annot-on .x-annot .kp{stroke-dashoffset:0}\\n.ambx .annot-on .x-annot .ck,.ambx .annot-on .x-annot .kd,.ambx .annot-on .x-annot .xh{opacity:1}\\n.ambx .annot-on .x-annot .kd{animation:an-pulse 2.6s ease-in-out calc(var(--d) + 1s) infinite}\\n@keyframes an-pulse{50%{r:3.6}}\\n.ambx .reel figure .x-annot{opacity:0;transition:opacity .4s}\\n.ambx .reel figure:nth-child(5n+3) .x-annot{opacity:.7}\\n.ambx .reel figure:hover .x-annot{opacity:1}\\n.ambx .s-words .s-stick.has-photo{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:10px;align-items:start;padding:0 var(--pad)}\\n.ambx .s-words .w-photo{position:relative;border-radius:var(--r-card,16px);overflow:hidden;aspect-ratio:1/1.05;margin-top:20px;background:#111}\\n.ambx .s-words .w-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05) brightness(.92)}\\n.ambx .s-words .s-stick.has-photo .s-wcard{width:100%}\\n@media(max-width:800px){.ambx:where(:not(.ambx-canvas)) .s-words .s-stick.has-photo{grid-template-columns:1fr}\\n.ambx:where(:not(.ambx-canvas)) .s-words .w-photo{aspect-ratio:16/10;margin-top:0}}\\n.ambx .x-annot .xh{fill:none;stroke:rgba(255,255,255,.8);stroke-width:1;opacity:0;transition:opacity .4s var(--d)}\\n.ambx .chev{display:inline-block;width:5px;height:5px;border-radius:50%;border:1.2px solid currentColor;opacity:.55;margin-left:4px;vertical-align:middle;font-size:0!important;transition:background-color .2s,transform .25s}\\n.ambx .links>div:hover .chev,.ambx .s-rail.open .chev{background:currentColor}\\n.ambx .s-rail.open .chev{transform:none}\\n.ambx select{-webkit-appearance:none;appearance:none;background-image:radial-gradient(circle at center,transparent 3px,currentColor 3.2px,currentColor 4.4px,transparent 4.6px);background-repeat:no-repeat;background-position:right 14px center;background-size:12px 12px;padding-right:36px!important}\\n.ambx .x-const::after{border-radius:50%}\\n.ambx .x-art .chip{fill:none}\\n.ambx .x-art .bar polygon,.ambx .x-art .accfill{stroke-linejoin:round}\\n.ambx footer.site{padding:48px 0 20px}\\n.ambx footer.site .fgrid{gap:24px 40px}\\n.ambx footer.site .fl img{height:22px;width:auto}\\n.ambx footer.site .fl p{font-size:13px;max-width:300px;margin-top:12px}\\n.ambx footer.site h5{margin-bottom:10px}\\n.ambx footer.site .fgrid a{font-size:13.5px;padding:4px 0}\\n.ambx footer.site .cities{margin:36px 0 16px;font-size:11px;opacity:.55}\\n.ambx footer.site .fbot{padding-top:16px}\\n.ambx .x-globe .cities circle.campus{fill:#fff;stroke:var(--c-violet,#5c34ef);stroke-width:2.2}\\n.ambx .ev-float .s-rot{color:#2c8a50}\\n.ambx .s-rot .rot-logo{height:.62em;width:auto;margin-right:.28em;vertical-align:.02em;filter:brightness(0) saturate(100%) invert(38%) sepia(52%) saturate(560%) hue-rotate(96deg) brightness(92%)}\\n.ambx .dark .s-rot .rot-logo{filter:none}\\n.ambx .ev-float .s-rot,.ambx .ev-float .s-rot *{color:#2c8a50!important}\\n.ambx .s-rot>span{display:inline-flex!important;align-items:center;gap:.22em;white-space:nowrap}\\n.ambx .s-rot .rot-logo{height:.7em;margin:0}\\n.ambx .s-rot .rot-logo.wm{height:.9em}\\n.ambx .s-rot .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}\\n.ambx .ev-float .s-rot .rot-logo{height:.85em}\\n.ambx .ev-float .s-rot .rot-logo.wm{height:1.25em}\\n.ambx .chap-globe .x-globe .arcs path{stroke:#1d1d1f;stroke-opacity:.55;stroke-width:1.2}\\n.ambx .chap-globe .x-globe .rim{stroke:#1d1d1d;stroke-opacity:.25}\\n.ambx .s-case .ic img{filter:grayscale(1) contrast(1.06) brightness(1.03)!important;object-position:50% 30%;transition:filter .5s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}\\n.ambx .s-case:hover .ic img{filter:none!important}\\n.ambx .s-case .who img{border-radius:4px}\\n.ambx .p-stat.door{position:relative;min-height:0!important;height:auto!important;padding:28px 30px 30px!important;overflow:hidden}\\n.ambx .p-stat.door .big{margin-top:64px}\\n.ambx .p-stat.door .door-art{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:min(46%,320px);max-height:none;margin:0;background:none!important;color:#fff;--acc:#72ce7b;--bgc:transparent}\\n.ambx .p-stat.door .door-art::before{opacity:.12}\\n.ambx .p-stat.door.violet .door-art{--acc:#fff}\\n.ambx .p-stat.door>*:not(.door-art){position:relative;z-index:1}\\n.ambx .p-stat.green.door{background:var(--c-green,#193a29)!important;color:#fff}\\n.ambx .p-stat.green.door .lab,.ambx .p-stat.green.door p{color:rgba(255,255,255,.72)!important}\\n.ambx .p-stat.green.door .lab i{background:#72ce7b!important}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .p-stat.door .door-art{width:52%;opacity:.55}\\n.ambx:where(:not(.ambx-canvas)) .p-stat.door .big{margin-top:48px}}\\n.ambx .p-stat.door .door-art{top:18px;transform:none;width:min(34%,250px);right:18px}\\n.ambx .p-stat.door .big{margin-top:96px}\\n.ambx .lab i,.ambx .p-stat .lab i,.ambx .p-tile .lab i{border-radius:50%!important}\\n.ambx .net-stage .net-poster{position:absolute;inset:0;z-index:1;background:radial-gradient(70% 70% at 50% 50%,#0d0b17 0%,#050508 100%);transition:opacity .6s ease,visibility .6s;pointer-events:none}\\n.ambx .net-stage.is-live .net-poster{opacity:0;visibility:hidden}\\n.ambx .net-poster svg{width:100%;height:100%}\\n.ambx .net-poster .ring{fill:none;stroke:rgba(255,255,255,.14);stroke-width:1}\\n.ambx .net-poster .ring.faint{stroke-dasharray:2 6;stroke:rgba(255,255,255,.12)}\\n.ambx .net-poster .link{stroke:rgba(255,255,255,.08);stroke-width:1}\\n.ambx .net-poster .link.hot{stroke:rgba(114,206,123,.45)}\\n.ambx .net-poster .dot{fill:#d9d6e3;animation:np-tw 4s ease-in-out var(--d,0s) infinite}\\n.ambx .net-poster .dot.v{fill:#7a5cff}\\n.ambx .net-poster .dot.gr{fill:#72ce7b}\\n@keyframes np-tw{50%{opacity:.45}}\\n.ambx .net-poster .core-ring{fill:none;stroke:#7a5cff;stroke-width:1.5}\\n.ambx .net-poster .core{fill:#7a5cff}\\n.ambx .net-poster .spoke{stroke:rgba(255,255,255,.12);stroke-dasharray:3 5}\\n.ambx .net-poster .halo{fill:none;stroke-width:1;opacity:.45}\\n.ambx .net-poster .cl{animation:np-float 7s ease-in-out var(--d) infinite}\\n.ambx .net-poster .cl .dot{animation:none;opacity:.9}\\n@keyframes np-float{50%{transform:translateY(-8px)}}\\n.ambx .net-poster svg>*{transform-box:fill-box}\\n.ambx .net-stage .gate .orb{font-size:0!important}\\n.ambx .net-stage .gate .orb i{display:block;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 6px rgba(255,255,255,.12)}\\n@media(prefers-reduced-motion:reduce){.ambx .net-poster *{animation:none!important}}\\n.ambx .home-mission{padding:clamp(64px,calc(8 * var(--ambx-vw, 1vw)),120px) 0 clamp(80px,calc(10 * var(--ambx-vw, 1vw)),140px)}\\n.ambx .home-mission h2{max-width:28ch;font-size:clamp(28px,calc(3.6 * var(--ambx-vw, 1vw)),52px);line-height:1.14;color:#fff;text-wrap:balance}\\n.ambx .s-hero .display{max-width:20ch}\\n.ambx #hero .display{font-size:clamp(46px,calc(6.6 * var(--ambx-vw, 1vw)),104px);line-height:1.02;letter-spacing:-.035em;max-width:16ch}\\n.ambx #hero .lede{font-size:clamp(16px,calc(1.35 * var(--ambx-vw, 1vw)),20px);max-width:44ch}\\n.ambx .home-mission .g,.ambx .home-mission .g *{color:#72ce7b!important}\\n.ambx .s-rot .rot-logo{display:inline-block;height:.85em;aspect-ratio:3;background:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;filter:none!important;flex:none}\\n.ambx .ev-float .s-rot .rot-logo{height:.85em}\\n.ambx .ev-float .s-rot .rot-logo.wm{height:1.25em}\\n.ambx .ev-float .s-rot>span,.ambx .ev-float .s-rot>span.in,.ambx .ev-float .s-rot>span.out{filter:none!important}\\n.ambx .s-rot img.rot-logo.raster{background:none;width:auto;aspect-ratio:auto;border-radius:6px}\\n.ambx .s-cases .marq-track{gap:28px}\\n.ambx .s-cases .s-case{width:190px;height:auto;padding:0;background:none!important;border:0!important;border-radius:0;box-shadow:none!important;display:flex;flex-direction:column;color:var(--g-ink,#111)}\\n.ambx .s-cases .s-case:hover{transform:none;box-shadow:none}\\n.ambx .s-cases .s-case .ic{order:1;width:190px;height:190px;border-radius:10px;background:#e6e6e6;overflow:hidden}\\n.ambx .s-cases .s-case .ic img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:none!important;transition:transform .8s cubic-bezier(.2,.7,.2,1)}\\n.ambx .s-cases .s-case:hover .ic img{transform:scale(1.04)}\\n.ambx .s-cases .s-case .who{display:contents}\\n.ambx .s-cases .s-case .who b{order:2;margin-top:14px;font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--g-ink,#111)}\\n.ambx .s-cases .s-case .stmt{order:3;margin-top:6px;font-size:13px;line-height:1.4;letter-spacing:0;color:var(--g-mut,#575757)}\\n.ambx .s-cases .s-case .who .logo-m,.ambx .s-cases .s-case .who img{order:4;margin-top:12px;height:20px;width:auto;max-width:110px;align-self:flex-start}\\n.ambx .logo-m{display:block;background:#1d1d1f;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:left center;mask-position:left center;mask-mode:luminance}\\n.ambx .dark .s-cases .s-case,.ambx .dark .s-cases .s-case .who b{color:#fff}\\n.ambx .dark .logo-m{background:#fff}\\n.ambx .s-cases .marq-track{align-items:flex-start}\\n.ambx .s-cases .s-case{height:auto!important;min-height:0!important}\\n.ambx .s-cases .s-case .ic{width:190px!important;height:190px!important;flex:none;aspect-ratio:1/1}\\n.ambx .s-cases .s-case .stmt{margin-top:6px!important;font-size:13px!important;line-height:1.4!important}\\n.ambx .s-cases .s-case .who{display:contents!important;margin:0;padding:0;border:0}\\n.ambx .s-cases .s-case .who img.logo-c{order:4;margin-top:12px;height:20px;width:auto;border-radius:0;filter:none!important}\\n.ambx .s-cases .s-case .stmt{padding:0!important;margin-top:4px!important}\\n.ambx .s-cases .s-case{width:auto!important;min-width:190px;max-width:none}\\n.ambx .s-cases .s-case .who b,.ambx .s-cases .s-case .stmt{white-space:nowrap}\\n.ambx .s-cases .s-case .who b{line-height:22px;height:22px}\\n.ambx .s-cases .s-case .stmt{line-height:18px;height:18px}\\n.ambx .s-cases .s-case .who .logo-m,.ambx .s-cases .s-case .who img.logo-c{margin-top:14px;height:20px}\\n.ambx .s-cases .marq-track{gap:28px;align-items:flex-start}\\n.ambx .chev{display:inline-block;width:6px;height:6px;border:0!important;border-right:1.5px solid currentColor!important;border-bottom:1.5px solid currentColor!important;border-radius:0!important;background:none!important;transform:translateY(-2px) rotate(45deg);opacity:.6;margin-left:6px;vertical-align:middle;transition:transform .25s ease,opacity .2s}\\n.ambx .links>div:hover .chev,.ambx .links>div:focus-within .chev{transform:translateY(1px) rotate(225deg);opacity:1;background:none!important}\\n.ambx .s-rail .chev{margin-left:8px}\\n.ambx .s-rail.open .chev{transform:translateY(1px) rotate(225deg)!important}\\n.ambx select{background-image:url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'12\\' height=\\'8\\' viewBox=\\'0 0 12 8\\'%3E%3Cpath d=\\'M1 1.5l5 5 5-5\\' fill=\\'none\\' stroke=\\'%23555\\' stroke-width=\\'1.6\\' stroke-linecap=\\'round\\' stroke-linejoin=\\'round\\'/%3E%3C/svg%3E\")!important;background-size:12px 8px!important;background-position:right 14px center!important;background-repeat:no-repeat!important}\\n.ambx .dark select{background-image:url(\"data:image/svg+xml,%3Csvg xmlns=\\'http://www.w3.org/2000/svg\\' width=\\'12\\' height=\\'8\\' viewBox=\\'0 0 12 8\\'%3E%3Cpath d=\\'M1 1.5l5 5 5-5\\' fill=\\'none\\' stroke=\\'%23ccc\\' stroke-width=\\'1.6\\' stroke-linecap=\\'round\\' stroke-linejoin=\\'round\\'/%3E%3C/svg%3E\")!important}\\n.ambx .cred-logos.c12{display:grid!important;grid-template-columns:repeat(4,1fr);gap:22px 12px;align-items:center;justify-items:center;margin-top:28px}\\n.ambx .cred-logos.c12>span{display:flex;align-items:center;justify-content:center;height:34px;width:100%;background:none!important;border:0!important;padding:0!important}\\n.ambx .cred-logos.c12 .cl{flex:none;background:#fff;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}\\n.ambx .cred-logos.c12 .cl-t{font:700 17px/1 Inter,system-ui,sans-serif;color:#fff;letter-spacing:-.01em}\\n.ambx .cred-logos.c12 .more{grid-column:1/-1;font-size:12px;font-style:italic;color:rgba(255,255,255,.55);height:auto}\\n.ambx .cred-logos.c12>span.cl{background:#fff!important}\\n.ambx .cred-logos.c12 .cl.lum{-webkit-mask-source-type:luminance;mask-mode:luminance}\\n.ambx .p-quote .side{display:none!important}\\n.ambx .p-quote .slide-q .q-logo{display:block;height:24px;object-fit:contain;object-position:left center;margin:0 0 22px;filter:none!important}\\n.ambx .p-quote.violet{grid-template-columns:1fr!important;display:grid}\\n.ambx .p-quote{grid-template-columns:1fr!important}\\n.ambx .p-quote:not(.violet) .main{grid-column:1/-1;max-width:900px}\\n.ambx .p-quote.violet .main{grid-column:1/-1;max-width:980px;padding-left:clamp(0px,calc(4 * var(--ambx-vw, 1vw)),64px)}\\n.ambx .p-quote .slide-q .q-logo[alt=\"OpenAI\"],.ambx .p-quote .slide-q .q-logo[alt=\"Meta\"]{filter:brightness(0) invert(1)!important}\\n.ambx .p-quote .slide-q .q-logo[alt=\"Meta\"]{height:30px;width:80px!important}\\n.ambx .p-quote .slide-q .q-logo[alt=\"Meta\"]{height:40px;width:110px!important;margin-top:-8px;margin-bottom:14px}\\n.ambx .p-quote .slide-q .q-logo,.ambx .p-quote .slide-q .q-logo[alt]{height:28px!important;width:auto!important;margin:0 0 22px!important;filter:brightness(0) invert(1)!important;object-fit:contain}\\n.ambx .cred-logos.c12{grid-template-columns:repeat(4,minmax(0,1fr))}\\n.ambx .cred-logos.c12 .cl{max-width:100%}\\n.ambx .s-bench .cards>*{min-width:0}\\n@media(max-width:420px){.ambx:where(:not(.ambx-canvas)) .cred-logos.c12{grid-template-columns:repeat(3,minmax(0,1fr))}}\\n.ambx .s-floaters img{width:140px!important;height:140px!important;left:0!important;top:0!important;border-radius:8px!important;object-fit:cover;box-shadow:none!important;filter:none!important;opacity:1!important;transform-origin:center center;transition:none!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-floaters img{width:87px!important;height:87px!important}\\n.ambx:where(:not(.ambx-canvas)) .s-floaters img:nth-child(n+5){display:block!important}}\\n.ambx .s-float h2,.ambx .s-float .sub,.ambx .s-float .btns,.ambx .s-float .eyebrow{position:relative;z-index:20!important}\\n.ambx .s-cta.tan .panel-in{min-height:0!important;height:auto!important;padding:clamp(36px,calc(4.5 * var(--ambx-vw, 1vw)),64px) clamp(24px,calc(5 * var(--ambx-vw, 1vw)),80px)!important;align-items:center}\\n.ambx .s-cta.tan h2{max-width:none!important;font-size:clamp(30px,calc(3.4 * var(--ambx-vw, 1vw)),50px)!important;line-height:1.05}\\n.ambx .s-cta.tan p{margin-top:14px;max-width:520px}\\n.ambx .s-cta.tan .btns{margin-top:22px}\\n.ambx .s-cta.tan .cta-art{width:min(38%,460px)!important;right:3%!important}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in{padding-top:min(calc(52 * var(--ambx-vw, 1vw)),320px)!important}}\\n.ambx .s-cta.tan .panel-in{align-items:flex-end!important}\\n.ambx .s-cta.tan .cta-art{top:auto!important;bottom:clamp(24px,calc(4 * var(--ambx-vw, 1vw)),56px)!important;transform:none!important}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .cta-art{top:4%!important;bottom:auto!important}}\\n.ambx .s-cta.tan .in{max-width:min(860px,64%)!important}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .in{max-width:100%!important}}\\n.ambx footer.site{padding:36px 0 16px!important}\\n.ambx footer.site .fgrid{gap:16px 40px!important}\\n.ambx footer.site .fgrid a{padding:2px 0!important;font-size:13px!important}\\n.ambx footer.site h5{margin-bottom:6px!important}\\n.ambx footer.site .cities{margin:22px 0 12px!important}\\n.ambx footer.site .fbot{padding-top:12px!important}\\n.ambx .s-rail.near-foot{opacity:0!important;pointer-events:none;transform:translateY(-8px);transition:opacity .25s,transform .25s}\\n@media(max-height:760px){.ambx footer.site{padding:24px 0 12px!important}\\n.ambx footer.site .fl p{display:none}\\n.ambx footer.site .cities{display:none}\\n.ambx footer.site .fgrid a{font-size:12.5px!important;padding:1px 0!important}\\n.ambx .s-cta.tan .panel-in{padding:28px clamp(24px,calc(5 * var(--ambx-vw, 1vw)),64px) 28px!important}\\n.ambx .s-cta.tan h2{font-size:clamp(28px,calc(3 * var(--ambx-vw, 1vw)),40px)!important}\\n.ambx .s-cta.tan p{margin-top:8px;font-size:15px}\\n.ambx .s-cta.tan .btns{margin-top:14px}}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) footer.site .fgrid{grid-template-columns:1fr 1fr!important;gap:18px 20px!important}\\n.ambx:where(:not(.ambx-canvas)) footer.site .fgrid .fl{grid-column:1/-1}\\n.ambx:where(:not(.ambx-canvas)) footer.site .fl p{display:none}\\n.ambx:where(:not(.ambx-canvas)) footer.site .fbot{flex-direction:row;flex-wrap:wrap;gap:10px}}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) footer.site .fgrid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px 12px!important}\\n.ambx:where(:not(.ambx-canvas)) footer.site .fgrid a{font-size:12.5px!important;line-height:1.35}\\n.ambx:where(:not(.ambx-canvas)) footer.site h5{font-size:10px!important}\\n.ambx:where(:not(.ambx-canvas)) footer.site .cities{display:none}\\n.ambx:where(:not(.ambx-canvas)) footer.site .fbot .lnk{gap:6px 14px}}\\n.ambx .p-photocta.flat .in{min-height:min(calc(56 * var(--ambx-vh, 1vh)),520px)!important;align-items:flex-end!important}\\n.ambx .p-photocta.flat .txt{padding-bottom:clamp(28px,calc(4 * var(--ambx-vw, 1vw)),56px)!important}\\n@media(max-height:760px){.ambx .p-photocta.flat .in{min-height:0!important}\\n.ambx .p-photocta.flat .txt{padding-top:28px!important;padding-bottom:28px!important}\\n.ambx .p-photocta.flat h2{font-size:clamp(26px,calc(3 * var(--ambx-vw, 1vw)),40px)!important}}\\n.ambx #keep-going .txt{max-width:min(1180px,100%)!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(24px,calc(4 * var(--ambx-vw, 1vw)),64px);align-items:end}\\n.ambx #keep-going .txt>.eyebrow,.ambx #keep-going .txt>h2{grid-column:1}\\n.ambx #keep-going .txt>p,.ambx #keep-going .txt>.btns{grid-column:2}\\n.ambx #keep-going .txt>.eyebrow{grid-row:1}\\n.ambx #keep-going .txt>h2{grid-row:2/5;align-self:start}\\n.ambx #keep-going .txt>p:nth-of-type(1){grid-row:2}\\n.ambx #keep-going .txt>p:nth-of-type(2){grid-row:3}\\n.ambx #keep-going .txt>.btns{grid-row:4}\\n.ambx #keep-going .x-art.big{display:none}\\n@media(max-width:800px){.ambx:where(:not(.ambx-canvas)) #keep-going .txt{display:block}\\n.ambx:where(:not(.ambx-canvas)) #keep-going .txt p{font-size:14px;margin-top:10px}\\n.ambx:where(:not(.ambx-canvas)) #keep-going h2{font-size:28px!important}}\\n.ambx .s-cta.tan .panel-in.fitted,.ambx .p-photocta .in.fitted{align-items:center!important}\\n.ambx .s-cta.tan .panel-in.fitted .cta-art{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .net-stage iframe{top:0;bottom:auto;height:calc(100% - 88px)}\\n.ambx:where(:not(.ambx-canvas)) .net-stage .gate{place-items:end center;padding-bottom:20px;background:none}\\n.ambx:where(:not(.ambx-canvas)) .net-stage .gate .orb{width:48px;height:48px}\\n.ambx:where(:not(.ambx-canvas)) .net-stage .tools{bottom:24px}\\n.ambx:where(:not(.ambx-canvas)) .net-stage::after{content:\"\";position:absolute;left:0;right:0;bottom:88px;height:1px;background:#1d1d22;z-index:1;pointer-events:none}\\n.ambx:where(:not(.ambx-canvas)) .net-stage .gate .orb::before,.ambx:where(:not(.ambx-canvas)) .net-stage .gate .orb::after{animation-name:netpulse-sm}}\\n@keyframes netpulse-sm{from{transform:scale(1);opacity:.9}to{transform:scale(1.6);opacity:0}}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in{display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:center}\\n.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in>.in{width:100%;max-width:none}\\n.ambx:where(:not(.ambx-canvas)) .s-cta.tan .cta-art,.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in.fitted .cta-art{position:relative!important;top:auto!important;bottom:auto!important;right:auto!important;left:auto!important;transform:none!important;width:min(62%,300px)!important;margin:0 0 4px auto!important;display:block;flex:none;align-self:flex-end}}\\n.ambx footer.site.sx{background:#000;color:#fff;padding:96px 0 24px!important;overflow:hidden}\\n.ambx footer.site.sx .sx-in{padding:0 24px}\\n.ambx footer.site.sx .sx-top{display:grid;grid-template-columns:117px repeat(4,minmax(0,233px));align-items:start}\\n.ambx footer.site.sx .sx-mark{display:block;width:24px;height:24px;margin-top:-6px}\\n.ambx footer.site.sx .sx-mark img{width:24px;height:24px;display:block}\\n.ambx footer.site.sx .sx-col{display:flex;flex-direction:column;align-items:flex-start}\\n.ambx footer.site.sx .sx-h{font-family:var(--mono);font-size:10px!important;line-height:12px;letter-spacing:.02em!important;text-transform:uppercase;color:#575757;margin:0 0 20px}\\n.ambx footer.site.sx .sx-col a{font-size:14px;line-height:21px;font-weight:600;color:#fff;padding:0;transition:color .2s}\\n.ambx footer.site.sx .sx-col a:hover{color:#9a9a9a}\\n.ambx footer.site.sx .sx-bot{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-top:112px;border:0;padding:0}\\n.ambx footer.site.sx .soc{display:flex;gap:8px}\\n.ambx footer.site.sx .soc a{width:48px;height:48px;border-radius:8px;background:#1a1a1a;display:grid;place-items:center;transition:background .2s}\\n.ambx footer.site.sx .soc a:hover{background:#2a2a2a}\\n.ambx footer.site.sx .soc svg{width:16px;height:16px;fill:#fff}\\n.ambx footer.site.sx .sx-legal{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-family:var(--mono);font-size:13px!important;line-height:15.6px;letter-spacing:-.01em!important;text-transform:uppercase;color:#575757;text-align:right}\\n.ambx footer.site.sx .sx-legal a{color:#575757;text-decoration:underline;text-underline-offset:2px;padding:0;display:inline}\\n.ambx footer.site.sx .sx-legal a:hover{color:#fff}\\n@media(max-width:1100px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-top{grid-template-columns:80px repeat(4,minmax(0,1fr));column-gap:16px}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) footer.site.sx{padding:32px 0 calc(24px + env(safe-area-inset-bottom))!important}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-top{display:flex;flex-direction:column;gap:40px;position:relative}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-mark{position:absolute;right:0;top:0;margin:0}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-h{margin-bottom:16px}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-col a{line-height:20.3px;padding:0}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-bot{flex-direction:column;align-items:flex-start;gap:48px;margin-top:72px}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-legal{align-items:flex-start;text-align:left;font-size:10px!important;line-height:12px;gap:8px}}\\n.ambx #hdr .logo img{height:34px!important;width:auto}\\n.ambx footer.site.sx .sx-top{grid-template-columns:200px repeat(4,minmax(0,233px))}\\n.ambx footer.site.sx .sx-mark{width:auto;height:auto;margin-top:-10px}\\n.ambx footer.site.sx .sx-mark img{width:auto;height:36px}\\n@media(max-width:1100px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-top{grid-template-columns:170px repeat(4,minmax(0,1fr))}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) #hdr .logo img{height:32px!important}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-mark{position:static;margin:0 0 8px}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-mark img{height:36px}}\\n.ambx footer.site.sx .sx-mark img{margin-left:-5px}\\n.ambx .ev-float{min-height:900px;padding:120px var(--pad) 120px;justify-content:center}\\n.ambx .ev-float h2{font-size:clamp(40px,calc(4.45 * var(--ambx-vw, 1vw)),64px)!important;line-height:1.05!important;letter-spacing:-.01em!important;white-space:nowrap;max-width:none}\\n.ambx .ev-float .rotline{display:block;margin-top:0}\\n.ambx .ev-float .sub{margin-top:14px!important;font-size:12px!important}\\n.ambx .ev-float .btns{margin-top:22px!important}\\n.ambx .ev-float .s-floaters img{width:140px!important;height:140px!important;border-radius:6px!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .ev-float{min-height:760px;padding:96px 20px 96px}\\n.ambx:where(:not(.ambx-canvas)) .ev-float h2{font-size:28px!important;line-height:30px!important;letter-spacing:-.01em!important;white-space:normal;max-width:300px;margin:0 auto}\\n.ambx:where(:not(.ambx-canvas)) .ev-float .rotline{margin-top:2px}\\n.ambx:where(:not(.ambx-canvas)) .ev-float .sub{margin-top:10px!important;font-size:11px!important}\\n.ambx:where(:not(.ambx-canvas)) .ev-float .btns{margin-top:16px!important;gap:8px}\\n.ambx:where(:not(.ambx-canvas)) .ev-float .btns .btn{padding:9px 14px;font-size:13px}\\n.ambx:where(:not(.ambx-canvas)) .ev-float .s-floaters img{width:84px!important;height:84px!important;border-radius:4px!important}}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .in{display:flex!important;flex-direction:column!important;align-items:stretch!important}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .x-art.big{position:relative!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;transform:none!important;width:min(62%,300px)!important;margin:0 0 8px auto!important;align-self:flex-end;flex:none}}\\n@media(max-width:900px){.ambx:where(:not(.ambx-canvas)) .p-photocta .in{display:flex!important;flex-direction:column!important;align-items:stretch!important}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta .x-globe{position:relative!important;top:auto!important;right:auto!important;left:auto!important;bottom:auto!important;transform:none!important;order:2;width:min(88%,420px)!important;margin:4px auto -18%!important;opacity:.8;flex:none;align-self:center}}\\n.ambx .s-rail .bar{width:100%!important;transform:scaleX(0);transform-origin:0 50%;transition:transform .15s linear;will-change:transform}\\n.ambx footer.site.sx .sx-top{grid-template-columns:minmax(0,236px) repeat(4,minmax(0,1fr));column-gap:24px}\\n.ambx footer.site.sx .sx-brand{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-right:12px}\\n.ambx footer.site.sx .sx-desc{margin:0;max-width:236px;font-size:13px;line-height:1.5;color:#8b8b8b;letter-spacing:0}\\n@media(max-width:1100px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-top{grid-template-columns:minmax(0,200px) repeat(4,minmax(0,1fr));column-gap:16px}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-brand{gap:14px;padding:0}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-desc{max-width:34ch;font-size:14px}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-top{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:36px}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-brand{grid-column:1/-1}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-col a{overflow-wrap:anywhere}}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in{justify-content:flex-start!important;padding-top:44px!important;padding-bottom:36px!important;min-height:0!important}\\n.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in>.in{order:1}\\n.ambx:where(:not(.ambx-canvas)) .s-cta.tan .cta-art,.ambx:where(:not(.ambx-canvas)) .s-cta.tan .panel-in.fitted .cta-art{order:2;align-self:center!important;margin:64px auto 24px!important;width:min(78%,320px)!important}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .txt{order:1}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .x-art.big{order:2;align-self:center!important;margin:36px auto 8px!important;width:min(78%,320px)!important}\\n.ambx:where(:not(.ambx-canvas)) .p-photocta.flat .x-globe{order:2;align-self:center!important;margin:28px auto -18%!important}}\\n.ambx .s-floaters img{opacity:var(--o,1)!important}\\n.ambx .s-hero h1.display .it{color:var(--s-signal,#72ce7b)!important}\\n.ambx .s-bcard{display:flex;flex-direction:column}\\n.ambx .s-bcard>.more,.ambx .s-bcard>.btns,.ambx .s-bcard>a.btn:last-child{margin-top:auto!important}\\n.ambx .menu .mf,.ambx .menu .mf:hover{background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;background-color:#111!important;transform:none!important}\\n.ambx .menu .mf,.ambx .menu .mf:hover{filter:none!important}\\n.ambx .menu .mf::after{background:linear-gradient(0deg,rgba(0,0,0,.55),rgba(0,0,0,0) 32%)!important}\\n.ambx .net-stage.grow{transform:scale(.9);border-radius:32px;transition:transform 1s cubic-bezier(.2,.7,.2,1),border-radius 1s cubic-bezier(.2,.7,.2,1)}\\n.ambx .net-stage.grow.grown{transform:none;border-radius:20px}\\n@media (prefers-reduced-motion: reduce){.ambx .net-stage.grow{transform:none;transition:none}}\\n.ambx .net-stage:has(iframe[data-ambx-embed=atlas], iframe[src*=\"atlas\"], iframe[data-src*=\"atlas\"]) iframe{pointer-events:auto}\\n.ambx .net-stage:has(iframe[data-ambx-embed=atlas], iframe[src*=\"atlas\"], iframe[data-src*=\"atlas\"]) .gate{top:60px}\\n@media(max-width:700px){.ambx:where(:not(.ambx-canvas)) .net-stage:has(iframe[data-ambx-embed=atlas], iframe[src*=\"atlas\"], iframe[data-src*=\"atlas\"]) .gate{top:134px}}\\n.ambx .it,.ambx .ambx .it{font-kerning:none}\\n.ambx .it .sw{padding-right:.14em;margin-right:-.14em}\\n.ambx .hud-svg{display:none!important}\\n.ambx .x-story .x-media>img{filter:grayscale(1) contrast(1.04) brightness(.95)!important}\\n.ambx .x-story .x-media>img.fit{object-fit:contain!important;background:#07070c}\\n.ambx .rb-card .im img.fit,.ambx .ra-card .im img.fit{object-fit:contain!important;background:#0b0912}\\n.ambx .rb-card .im:has(img.fit),.ambx .ra-card .im:has(img.fit){background:#0b0912}\\n.ambx a,.ambx button{-webkit-tap-highlight-color:transparent}\\n.ambx #hdr a:active,.ambx .menu a:active,.ambx .drawer a:active,.ambx footer a:active,.ambx .sx a:active,.ambx .peek-row:active,.ambx .x-tile:active,.ambx .ra-card:active,.ambx .rb-card:active{opacity:.65;transition:opacity 0s}\\n.ambx .ckd{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(6,5,10,.62);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:opacity .2s ease}\\n.ambx .ckd.hide{opacity:0;pointer-events:none;visibility:hidden}\\n.ambx .ckd-in{width:min(520px,100%);max-height:calc(calc(100 * var(--ambx-vh, 1vh)) - 32px);overflow:auto;background:#121018;border:1px solid #26222f;border-radius:14px;padding:22px;color:#fff;font-size:14px;box-shadow:0 30px 80px -30px rgba(0,0,0,.8);transform:translateY(0);transition:transform .25s cubic-bezier(.2,.7,.2,1)}\\n.ambx .ckd.hide .ckd-in{transform:translateY(12px)}\\n.ambx .ckd-h{display:flex;align-items:center;justify-content:space-between;gap:12px}\\n.ambx .ckd-h h3{margin:0;font-size:20px;font-weight:500;letter-spacing:-.01em;color:#fff}\\n.ambx .ckd-x{width:32px;height:32px;border-radius:8px;background:#221e2c;color:#fff;font-size:20px;line-height:1;display:flex;align-items:center;justify-content:center}\\n.ambx .ckd-lede{margin:10px 0 14px;color:#a9a4b4;font-size:13.5px;line-height:1.5}\\n.ambx .ckd-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid #26222f;cursor:pointer;position:relative}\\n.ambx .ckd-row:first-of-type{cursor:default}\\n.ambx .ckd-row b{display:block;font-weight:500;color:#fff}\\n.ambx .ckd-row span{display:block;margin-top:3px;color:#a9a4b4;font-size:12.5px;line-height:1.45}\\n.ambx .ckd-on{flex-shrink:0;font-family:var(--mono,ui-monospace,monospace);font-size:11px!important;letter-spacing:.04em;text-transform:uppercase;color:var(--s-signal,#72ce7b)!important;margin:0!important}\\n.ambx .ckd-row input{position:absolute;opacity:0;width:1px;height:1px}\\n.ambx .ckd-sw{flex-shrink:0;width:40px;height:24px;border-radius:999px;background:#2c2738;position:relative;transition:background .2s}\\n.ambx .ckd-sw::after{content:\"\";position:absolute;left:3px;top:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.2,.7,.2,1)}\\n.ambx .ckd-row input:checked+.ckd-sw{background:var(--s-signal,#72ce7b)}\\n.ambx .ckd-row input:checked+.ckd-sw::after{transform:translateX(16px)}\\n.ambx .ckd-row input:focus-visible+.ckd-sw{outline:2px solid #fff;outline-offset:2px}\\n.ambx .ckd-b{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px;padding-top:16px;border-top:1px solid #26222f}\\n.ambx .ckd-b button{height:36px;padding:0 14px;border-radius:8px;font-size:13px;background:#221e2c;color:#fff}\\n.ambx .ckd-b button.acc{background:#fff;color:#000}\\n@media(max-width:520px){.ambx:where(:not(.ambx-canvas)) .ckd-b{flex-direction:column-reverse}\\n.ambx:where(:not(.ambx-canvas)) .ckd-b button{width:100%}}\\nhtml.ckd-open,html.ckd-open body{overflow:hidden}\\n.ambx footer.site.sx .sx-col a{display:block;position:relative}\\n.ambx footer.site.sx .sx-legal a{position:relative}\\n.ambx footer.site.sx .sx-legal a::after{content:\"\";position:absolute;left:-8px;right:-8px;top:-10px;bottom:-10px}\\n.ambx #hdr nav.links > div > a{position:relative}\\n.ambx #hdr nav.links > div > a::after{content:\"\";position:absolute;left:-6px;right:-6px;top:-10px;bottom:-12px}\\n.ambx #hdr .right a,.ambx #hdr .logo,.ambx #burger{position:relative}\\n.ambx #hdr .right a::after,.ambx #hdr .logo::after,.ambx #burger::after{content:\"\";position:absolute;inset:-6px}\\n@media (pointer:coarse){.ambx footer.site.sx .sx-col a{padding:6px 0!important}}\\n.ambx .x-layer:has(.shelf-live){position:relative!important;top:auto!important}\\n.ambx .x-story[data-serif] .x-ch p,.ambx .x-story[data-serif] .x-ch h3{font-family:var(--serif,\"EB Garamond\",Garamond,Georgia,serif)!important;color:#fff!important;font-weight:400;letter-spacing:0;font-style:normal}\\n.ambx .x-story[data-serif] .x-ch p{font-size:clamp(20px,calc(1.75 * var(--ambx-vw, 1vw)),26px)!important;line-height:1.42!important;max-width:680px}\\n.ambx .x-story[data-serif] .x-ch h3{font-size:clamp(25px,calc(2.3 * var(--ambx-vw, 1vw)),34px)!important;line-height:1.25!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-ch p{font-size:19px!important;line-height:1.4!important}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-ch h3{font-size:24px!important}}\\n.ambx .x-story .x-ch p,.ambx .x-story .x-ch h2,.ambx .x-story .x-ch h3{font-family:var(--serif,\"EB Garamond\",Garamond,Georgia,serif)!important;font-weight:400;letter-spacing:0;font-style:normal}\\n.ambx .x-story:not([data-serif]) .x-ch p{font-size:clamp(17px,calc(1.35 * var(--ambx-vw, 1vw)),20px)!important;line-height:1.48!important}\\n.ambx .x-story:not([data-serif]) .x-ch h2,.ambx .x-story:not([data-serif]) .x-ch h3{font-size:clamp(23px,calc(2.05 * var(--ambx-vw, 1vw)),31px)!important;line-height:1.18!important}\\n.ambx .x-story.light .x-ch p{color:var(--s-ink,#0b0b10)!important}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) .x-story:not([data-serif]) .x-ch p{font-size:17px!important}\\n.ambx:where(:not(.ambx-canvas)) .x-story:not([data-serif]) .x-ch h2,.ambx:where(:not(.ambx-canvas)) .x-story:not([data-serif]) .x-ch h3{font-size:23px!important}}\\n@keyframes ambx-hash-reveal{to{opacity:1}}\\nhtml.ambx-hash-wait:not(.ambx-hash-ready) main.ambx-main{opacity:0;animation:ambx-hash-reveal .2s ease 1.2s forwards}\\nhtml.ambx-hash-ready main,html.ambx-hash-ready .ambx-main{opacity:1;transition:opacity .2s ease}\\n@media(min-width:761px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-bot{align-items:center}}\\n.ambx footer.site.sx .sx-nl{position:relative;flex:0 1 380px;min-width:0}\\n.ambx footer.site.sx .sx-nl-form{display:flex;align-items:center;gap:4px;padding:4px;border-radius:999px;background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);transition:box-shadow .2s}\\n.ambx footer.site.sx .sx-nl-form:focus-within{box-shadow:inset 0 0 0 1px rgba(255,255,255,.45),0 0 0 3px rgba(91,52,239,.28)}\\n.ambx footer.site.sx .sx-nl.bad .sx-nl-form{box-shadow:inset 0 0 0 1px rgba(255,120,120,.8)}\\n.ambx footer.site.sx .sx-nl-form input[type=email]{flex:1;min-width:0;height:36px;padding:0 6px 0 14px;background:transparent;border:0;outline:0;color:#fff;font:inherit;font-size:14px}\\n.ambx footer.site.sx .sx-nl-form input::placeholder{color:rgba(255,255,255,.45)}\\n.ambx footer.site.sx .sx-nl-form button{flex:none;height:36px;padding:0 14px;border:0;border-radius:999px;background:var(--s-violet,#5b34ef);color:#fff;font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:filter .2s}\\n.ambx footer.site.sx .sx-nl-form button:hover{filter:brightness(1.12)}\\n.ambx footer.site.sx .sx-nl-form button[disabled]{opacity:.7;cursor:progress}\\n.ambx footer.site.sx .sx-nl-hp{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}\\n.ambx footer.site.sx .sx-nl-msg{position:absolute;left:14px;top:100%;margin:6px 0 0;font-size:12px;color:#ff9d9d;white-space:nowrap}\\n.ambx footer.site.sx .sx-nl-msg:empty{display:none}\\n.ambx footer.site.sx .sx-nl-done{display:none;margin:0;padding:9px 14px;border-radius:999px;background:rgba(114,206,123,.1);box-shadow:inset 0 0 0 1px rgba(114,206,123,.35);font-size:13px;color:rgba(255,255,255,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\\n.ambx footer.site.sx .sx-nl-done b{color:#fff;font-weight:500}\\n.ambx footer.site.sx .sx-nl.ok .sx-nl-form,.ambx footer.site.sx .sx-nl.ok .sx-nl-msg{display:none}\\n.ambx footer.site.sx .sx-nl.ok .sx-nl-done{display:block}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-nl{flex:none;width:100%}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-nl-msg{position:static;margin-top:6px}}\\n.ambx footer.site.sx .sx-nl-h{margin:0 0 10px 14px}\\n@media(max-width:760px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-nl-h{margin-left:0}}\\n.ambx footer.site.sx .soc a.sx-login{width:auto;padding:0 16px;gap:6px;display:inline-flex;align-items:center;color:#fff;font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}\\n@media(min-width:761px) and (max-width:1240px){.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-nl{flex-basis:300px}\\n.ambx:where(:not(.ambx-canvas)) footer.site.sx .sx-legal span{white-space:nowrap}}\\n.ambx .mb-bench .cards .s-bcard,.ambx .mb-ops .p-dcards .p-dcard,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track{--acc:#5c34ef;--acc-ink:#fff;--acc-sub:rgba(255,255,255,.78);--acc-ring:transparent;transition:background-color .45s cubic-bezier(.2,.7,.2,1),border-color .45s,color .3s,box-shadow .35s,transform .35s}\\n.ambx .mb-bench .cards .s-bcard:nth-child(4n+2),.ambx .mb-ops .p-dcards .p-dcard:nth-child(4n+2),.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:nth-child(4n+2){--acc:#193a29}\\n.ambx .mb-bench .cards .s-bcard:nth-child(4n+3),.ambx .mb-ops .p-dcards .p-dcard:nth-child(4n+3){--acc:#0b0b10}\\n.ambx .mb-bench .cards .s-bcard:nth-child(4n+4),.ambx .mb-ops .p-dcards .p-dcard:nth-child(4n+4){--acc:#ede8de;--acc-ink:#2b2620;--acc-sub:rgba(43,38,32,.78)}\\n.ambx .mb-ops .p-dcards .p-dcard:nth-child(4n+3){--acc-ring:rgba(255,255,255,.45)}\\n.ambx .mb-bench .cards .s-bcard.ink{background:#fff;color:var(--s-ink,#101010);border-color:#e6e6e6}\\n.ambx .mb-bench .cards .s-bcard.ink p{color:var(--ink-2,#555)}\\n.ambx .mb-bench .cards .s-bcard.ink .x-art{--bgc:#f2f2f2;background:var(--g1,#f2f2f2);color:var(--g-ink,#0b0b0d)}\\n.ambx .mb-ops .p-dcards .p-dcard.violet{background:#191919}\\n.ambx .mb-ops .p-dcards .p-dcard.violet p{color:#a3a3a8}\\n.ambx .mb-bench .cards .s-bcard:hover,.ambx .mb-ops .p-dcards .p-dcard:hover,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover,.ambx .mb-bench .cards .s-bcard:focus-within,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:focus-within{background:var(--acc)!important;border-color:var(--acc)!important;color:var(--acc-ink)!important;box-shadow:inset 0 0 0 1px var(--acc-ring)}\\n.ambx .mb-bench .cards .s-bcard:hover p,.ambx .mb-ops .p-dcards .p-dcard:hover p,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover p,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .kv span,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .mono{color:var(--acc-sub)!important}\\n.ambx .mb-bench .cards .s-bcard:hover h3,.ambx .mb-ops .p-dcards .p-dcard:hover h3,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .kv b,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover h3{color:var(--acc-ink)!important}\\n.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .kv li{border-color:rgba(255,255,255,.18)!important}\\n.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .ic{background:#fff!important;color:var(--acc)!important}\\n.ambx .mb-bench .cards .s-bcard:hover .x-art,.ambx .s-bench:not(.mb-bench) .cards .s-bcard.track:hover .x-art{background:#fff!important}\\n.ambx .mb-ops .p-dcards .p-dcard:hover .x-art{background:rgba(255,255,255,.92)!important;color:#0b0b0d}\\n:root{--c-tan:#ede8de;--s-tan:#ede8de;--c-steel:#0b0b10;--s-steel:#0b0b10}\\n.ambx .s-cta.tan .panel-in{background:#ede8de!important}\\n.ambx .s-cta.tan h2 .it{color:#193a29}\\n.ambx .p-tile.steel{color:#fff}\\n.ambx .p-tile.steel .go span{border-color:rgba(255,255,255,.35)}\\n.ambx .p-tile.steel .x-art{--acc:#fff;--bgc:#0b0b10;background:rgba(255,255,255,.06);color:#fff}\\n.ambx .p-quote.steel{color:#fff}\\n.ambx .p-quote.steel .who{color:rgba(255,255,255,.7)}\\n.ambx .p-photocta.c-steel .in{color:#fff}\\n.ambx .p-photocta.c-steel .txt *{color:#fff!important}\\n.ambx .p-photocta.c-steel .txt p{color:rgba(255,255,255,.72)!important}\\n.ambx .p-photocta.c-steel .eyebrow::before{background:#fff!important}\\n.ambx .p-photocta.c-steel .btn{background:#fff!important;color:#0b0b10!important;border-color:#fff!important}\\n.ambx .p-photocta.c-steel .btn *{color:#0b0b10!important}\\n.ambx .p-photocta.c-steel .btn .arr{background:rgba(11,11,16,.08)!important}\\n.ambx .p-photocta.c-steel .x-globe .rim,.ambx .p-photocta.c-steel .x-globe .grat{stroke:rgba(255,255,255,.55)}\\n.ambx .p-photocta.c-steel .x-art.big{--bgc:#0b0b10;--acc:#fff;color:#fff}\\n.ambx .s-cta.tan .panel-in,.ambx .p-photocta.c-tan .in,.ambx .p-quote.tan,.ambx .p-quote:not(.violet):not(.steel):not(.green):not(.lav),.ambx .p-tile.tan{box-shadow:inset 0 0 0 1px rgba(43,38,32,.08)}\\n.ambx .caps .cap:nth-child(3){background:#ede8de!important;color:#2b2620!important;box-shadow:inset 0 0 0 1px rgba(43,38,32,.08)}\\n.ambx .caps .cap:nth-child(3) *{color:#2b2620}\\n@media(min-width:1024px){.ambx:where(:not(.ambx-canvas)) .home-mission{padding-bottom:clamp(24px,calc(3 * var(--ambx-vw, 1vw)),48px);position:relative;z-index:1}\\n.ambx:where(:not(.ambx-canvas)) .home-mission h2{max-width:28ch;margin:0 auto;text-align:center;font-size:clamp(36px,calc(4 * var(--ambx-vw, 1vw)),66px);line-height:1.1}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif]{margin-top:calc(-28 * var(--ambx-vh, 1vh))}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-pin{flex-direction:row;align-items:center;justify-content:center;gap:clamp(48px,calc(5 * var(--ambx-vw, 1vw)),96px);padding-left:max(var(--pad),calc(4 * var(--ambx-vw, 1vw)));padding-right:max(var(--pad),calc(4 * var(--ambx-vw, 1vw)))}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-visual{width:min(760px,calc(50 * var(--ambx-vw, 1vw)))}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-chapters{width:min(520px,calc(34 * var(--ambx-vw, 1vw)));height:clamp(300px,calc(42 * var(--ambx-vh, 1vh)),420px);margin-top:0}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-ch{text-align:left;display:flex;flex-direction:column;justify-content:center}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-ch p{margin-left:0;margin-right:0}\\n.ambx:where(:not(.ambx-canvas)) .x-story[data-serif] .x-ch .btns{justify-content:flex-start}}\\n@media (pointer: coarse){.ambx footer.site.sx .sx-col a{min-width:44px}\\n.ambx footer.site.sx .sx-legal a::after{top:-16px!important;bottom:-16px!important}\\n.ambx .rlinks a{position:relative}\\n.ambx .rlinks a::after{content:\"\";position:absolute;left:-8px;right:-8px;top:-3px;bottom:-3px}\\n.ambx .rlinks a.rl-top::after{top:-25px}\\n.ambx .rlinks a.rl-bot::after{bottom:-22px}\\n.ambx .index-nav .marker::after{content:\"\";position:absolute;left:-2px;right:-2px;top:-11px;bottom:-11px}}\\n.ambx .x-depth,.ambx .x-lift,.ambx .x-par>svg{will-change:transform}\\n.ambx .x-par>svg{transform-origin:50% 60%}\\n.ambx.ambx-portal{background:none!important;height:0;min-height:0;padding:0;margin:0;overflow:visible}\\n.ambx{display:block;width:100%;position:relative;overflow:visible!important;overflow-x:clip!important}\\n.ambx.ambx-hdr{background:transparent!important}\\n@media (prefers-reduced-motion: no-preference){@view-transition{navigation:auto}@keyframes ambx-vt-out{to{opacity:0}}@keyframes ambx-vt-in{from{opacity:0;transform:translateY(10px)}}::view-transition-old(root){animation:ambx-vt-out .16s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:ambx-vt-in .34s cubic-bezier(.2,.75,.2,1) both}::view-transition-group(ambx-hdr){animation-duration:0s}::view-transition-old(ambx-hdr),::view-transition-new(ambx-hdr){animation:none}}\\n.ambx #hdr{view-transition-name:ambx-hdr}\\n.ambx .shelf-live{border-radius:20px;overflow:hidden;min-height:420px;background:#0d0d10}\\n.ambx .shelf-live>*{width:100%!important}\\n.ambx [data-ambx-list]>*{width:100%!important;max-width:none!important}\\n.ambx .ambx-form-msg:empty{display:none}.ambx .ambx-form-msg{margin-top:10px;color:#b42318}\\n';export const FONTS=[];export const FONT_CSS=\"\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/RCsyYfoyLwcYPlcoSJyZzsRQZg.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/8PvX0p8QVrbuzvTJ7m8mSqTU30.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/8pnZFroGRdDc8ahGidL979ihs.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/EI1QkISaIxaKB4L03XMpcfDrSdE.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/LJus8CQbFCvY6PHfqFW7KTpJCuE.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/9JKRt5EU0TBf17ofgpEWU93L3vI.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/aVomdjcSXW3z8Bc2vJxBkeUpd9E.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/BieU4aPtWkSYTMxXRbxbx5wMT8.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/JDl6PoNbZMzCJDyDwXYqGbKTBtM.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'IBM Plex Mono';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/OiZouUtcE4jv0YOEZwuC6xkeUG0.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/tK7ixsAzSz1n1rZ0d41uh7QBHY.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/N3S2eKZrRgCJpY2MefXWBufCQaA.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/0jmpRV2Mkkir4F2SgNetftTX2g.woff2) format('woff2');\\n  unicode-range: U+1F00-1FFF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/m06OCqyGws0mpyGBBfmbbVtFPSU.woff2) format('woff2');\\n  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/F3GDdFn8yIqLZsbzNDCHlQrmMo.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/Uh4k0XQeDHQ4ioQoYVD4qScmVZc.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 300;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/HcBE9IJP1a9rtZ7kicPoGnz8.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/tK7ixsAzSz1n1rZ0d41uh7QBHY.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/N3S2eKZrRgCJpY2MefXWBufCQaA.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/0jmpRV2Mkkir4F2SgNetftTX2g.woff2) format('woff2');\\n  unicode-range: U+1F00-1FFF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/m06OCqyGws0mpyGBBfmbbVtFPSU.woff2) format('woff2');\\n  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/F3GDdFn8yIqLZsbzNDCHlQrmMo.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/Uh4k0XQeDHQ4ioQoYVD4qScmVZc.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 400;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/HcBE9IJP1a9rtZ7kicPoGnz8.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/tK7ixsAzSz1n1rZ0d41uh7QBHY.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/N3S2eKZrRgCJpY2MefXWBufCQaA.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/0jmpRV2Mkkir4F2SgNetftTX2g.woff2) format('woff2');\\n  unicode-range: U+1F00-1FFF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/m06OCqyGws0mpyGBBfmbbVtFPSU.woff2) format('woff2');\\n  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/F3GDdFn8yIqLZsbzNDCHlQrmMo.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/Uh4k0XQeDHQ4ioQoYVD4qScmVZc.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 500;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/HcBE9IJP1a9rtZ7kicPoGnz8.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/tK7ixsAzSz1n1rZ0d41uh7QBHY.woff2) format('woff2');\\n  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/N3S2eKZrRgCJpY2MefXWBufCQaA.woff2) format('woff2');\\n  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/0jmpRV2Mkkir4F2SgNetftTX2g.woff2) format('woff2');\\n  unicode-range: U+1F00-1FFF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/m06OCqyGws0mpyGBBfmbbVtFPSU.woff2) format('woff2');\\n  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/F3GDdFn8yIqLZsbzNDCHlQrmMo.woff2) format('woff2');\\n  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/Uh4k0XQeDHQ4ioQoYVD4qScmVZc.woff2) format('woff2');\\n  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\\n}\\n\\n@font-face {\\n  font-family: 'Inter';\\n  font-style: normal;\\n  font-weight: 600;\\n  font-display: swap;\\n  src: url(https://framerusercontent.com/assets/HcBE9IJP1a9rtZ7kicPoGnz8.woff2) format('woff2');\\n  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\\n}\\n\\n\\n\\n@font-face {\\n  font-family: 'General Sans';\\n  src: url('https://framerusercontent.com/assets/fUA2ygLHAeNOB2I1O5DctJkjvQ4.woff2') format('woff2'),\\n       url('https://framerusercontent.com/assets/xLQ5yKhRqyzLxuSe9jsEuYmTE.woff') format('woff'),\\n       url('https://framerusercontent.com/assets/fUA2ygLHAeNOB2I1O5DctJkjvQ4.woff2') format('truetype');\\n  font-weight: 400;\\n  font-display: swap;\\n  font-style: normal;\\n}\\n@font-face {\\n  font-family: 'General Sans';\\n  src: url('https://framerusercontent.com/assets/YLreVX08XPeg5z1GLYlQQ0rOi8.woff2') format('woff2'),\\n       url('https://framerusercontent.com/assets/U7LbtH4Wi0i7WUmSHn6DUmt1zQ.woff') format('woff'),\\n       url('https://framerusercontent.com/assets/JQoFt1E7i0P3nVoKdHqqQm8Wvc.woff2') format('truetype');\\n  font-weight: 500;\\n  font-display: swap;\\n  font-style: normal;\\n}\\n@font-face {\\n  font-family: 'General Sans';\\n  src: url('https://framerusercontent.com/assets/K2WvH6I9SWyUxYShHC4P1A5jN7U.woff2') format('woff2'),\\n       url('https://framerusercontent.com/assets/3J3qOeGi2QfVATeSjVO7MYmplnQ.woff') format('woff'),\\n       url('https://framerusercontent.com/assets/K2WvH6I9SWyUxYShHC4P1A5jN7U.woff2') format('truetype');\\n  font-weight: 600;\\n  font-display: swap;\\n  font-style: normal;\\n}\\n\\n\\n\\n\";const AM={\"site/629161c394e6.png\":\"https://framerusercontent.com/images/l7FIpM8BrCaxLFiTezOmSlsSwU.png\",\"site/299930462fc3.png\":\"https://framerusercontent.com/images/Y37xvlpqnaX7g64sdurihswKhJ0.png\",\"site/fdbf870cb19b.ico\":\"https://framerusercontent.com/images/4IzhoUTs6uDDwup6nW8VljyTOU.ico\",\"site/860a2a8d08cc.svg\":\"https://framerusercontent.com/images/8Wh0RPJheCJEplVLcsNtx4T3Y.svg\",\"site/844552ad8b12.jpg\":\"https://framerusercontent.com/images/lGANoUw2dKOSpFKdX6Igq9B9Elo.jpg?scale-down-to=1024\",\"site/hd/844552ad8b12.jpg\":\"https://framerusercontent.com/images/lGANoUw2dKOSpFKdX6Igq9B9Elo.jpg\",\"site/9414062d91e4.png\":\"https://framerusercontent.com/images/uZsbXWfvptiUOLHXqXGx07Fv3wI.png\",\"site/03c217c7243e.png\":\"https://framerusercontent.com/images/NtPSpn9qwTzwgJHuI7EXjXCKOLI.png\",\"site/2ac12a5ec9e7.png\":\"https://framerusercontent.com/images/NM8fvl3cFi0puUK0wAxDdkDe4.png\",\"site/1f4944c8d3d1.png\":\"https://framerusercontent.com/images/RqtDRJYmIWUosxZWmU5lukwCMI.png\",\"site/906eecfcdbcc.png\":\"https://framerusercontent.com/images/5GDT1Y3d388ZE2zqiEBgSGj8G4.png\",\"site/dd053ddbf201.png\":\"https://framerusercontent.com/images/juMBqvZvfsukwQQUSXf8la83tI.png\",\"site/f00e0f1d237f.png\":\"https://framerusercontent.com/images/5QbERxXSDdRKmQNPIIfdzA0WLPI.png\",\"site/ee2c55ff0caf.png\":\"https://framerusercontent.com/images/SoEVV2lbVKeF9vsjpYJYbK1H5p0.png\",\"site/2e0ddac5a3c5.jpg\":\"https://framerusercontent.com/images/anfR39w02U0s6lq3SiLZ6YDI.jpg?scale-down-to=1024\",\"site/hd/2e0ddac5a3c5.jpg\":\"https://framerusercontent.com/images/anfR39w02U0s6lq3SiLZ6YDI.jpg\",\"site/d01dfb0703dc.png\":\"https://framerusercontent.com/assets/npmQw8t8XBgAXcCkV06vAzioTCU.png\",\"site/120a9f1070ae.png\":\"https://framerusercontent.com/assets/K5GEW4qKykav5fjIxq3N0a0OXR4.png\",\"site/5723ded1abef.png\":\"https://framerusercontent.com/images/iznHZtrRCjNCXqv9w7exnPxFQME.png\",\"site/f8867b61171d.png\":\"https://framerusercontent.com/images/BAIgxzfpgZ5KGNzGJHzBVW0.png\",\"site/22443b046870.png\":\"https://framerusercontent.com/images/yPc0TQnPaFnvMSz9pU8Q0ZZzAMU.png\",\"site/3efe9ce63d4c.jpg\":\"https://framerusercontent.com/assets/FWDMj3eBDZzludW39lOxUoncsbo.jpg?scale-down-to=1024\",\"site/hd/3efe9ce63d4c.jpg\":\"https://framerusercontent.com/assets/FWDMj3eBDZzludW39lOxUoncsbo.jpg\",\"site/930e1f7d2d7f.jpg\":\"https://framerusercontent.com/images/D2IHQShtKbRjK6m5vxuhxgY4kHs.jpg?scale-down-to=1024\",\"site/hd/930e1f7d2d7f.jpg\":\"https://framerusercontent.com/images/D2IHQShtKbRjK6m5vxuhxgY4kHs.jpg\",\"site/d3f646a17c0d.png\":\"https://framerusercontent.com/images/L1nq7yVSRPhNM6cJWtVmYrwYpwg.png\",\"site/7eb5afcc65b2.jpg\":\"https://framerusercontent.com/assets/rZcK6QBdEIpmGvD9MtGSVaKeE.jpg?scale-down-to=1024\",\"site/hd/7eb5afcc65b2.jpg\":\"https://framerusercontent.com/assets/rZcK6QBdEIpmGvD9MtGSVaKeE.jpg\",\"site/63843ee1882b.png\":\"https://framerusercontent.com/images/YIHof9GHeMWUpXkCYCDmxkaxU.png\",\"site/bf791d1edc63.svg\":\"https://framerusercontent.com/images/8MecROygsq6AmYE8wteLyyfIiA.svg\",\"site/510e7f61255a.png\":\"https://framerusercontent.com/images/LUesk7fDwBJKfmcnFGtlGR6yxo.png\",\"site/78965b4c821a.jpg\":\"https://framerusercontent.com/assets/gSIcmdHD52jYOIEB3qYwTLRutM.jpg?scale-down-to=1024\",\"site/hd/78965b4c821a.jpg\":\"https://framerusercontent.com/assets/gSIcmdHD52jYOIEB3qYwTLRutM.jpg\",\"site/f2402a71ffb1.png\":\"https://framerusercontent.com/images/T2PgiVqWvwSE5x5O1sQrDwWg4o.png\",\"site/5d713700195c.png\":\"https://framerusercontent.com/images/rGxZorP9rImjxMljx9iGu8bgg8w.png\",\"site/9982d5f3a5a8.png\":\"https://framerusercontent.com/images/IU7rWfAjnwGd4JqRYxpN8yjrEY4.png\",\"site/4581d82131c0.jpg\":\"https://framerusercontent.com/images/FHSnQrehxDOdP1OUNQb9XmPuWMI.jpg?scale-down-to=1024\",\"site/hd/4581d82131c0.jpg\":\"https://framerusercontent.com/images/FHSnQrehxDOdP1OUNQb9XmPuWMI.jpg\",\"site/97012e4e6ebc.png\":\"https://framerusercontent.com/images/CURHYQ9EKDz9nYlTMWGZL5tM.png\",\"site/9334b6e0a2d4.jpg\":\"https://framerusercontent.com/images/Qr8STNUzkVZk3srlAdnqhh68JH4.jpg?scale-down-to=1024\",\"site/hd/9334b6e0a2d4.jpg\":\"https://framerusercontent.com/images/Qr8STNUzkVZk3srlAdnqhh68JH4.jpg\",\"site/f5fdf25144a5.png\":\"https://framerusercontent.com/images/eY0w9LI7szTRUTT6BtLwgnQjBxQ.png\",\"site/3277070a3e44.png\":\"https://framerusercontent.com/images/azek4UyGRQjexDyPdl6qPiEmbvM.png\",\"site/19497c5d2163.png\":\"https://framerusercontent.com/assets/NkjV929WZxCf6ECoUZP5lkYUTd4.png\",\"site/29c9186344ee.png\":\"https://framerusercontent.com/images/cBjSNNUxRp0ytC5RHiZ0g6IYALQ.png\",\"site/ade02aabd5c0.jpg\":\"https://framerusercontent.com/images/qXYJqSXABhFdG9QShGtZEKTDvKI.jpg?scale-down-to=1024\",\"site/hd/ade02aabd5c0.jpg\":\"https://framerusercontent.com/images/qXYJqSXABhFdG9QShGtZEKTDvKI.jpg\",\"site/0c6ee00fb5c7.png\":\"https://framerusercontent.com/images/50OC7BbIq3XUk6x0YBFJ2PI71oI.png\",\"site/870af4bebf93.png\":\"https://framerusercontent.com/images/nI2JFHAsZRXkaZ2hY6qkMaeeQEY.png\",\"site/f4dbb97e5291.png\":\"https://framerusercontent.com/images/EiV3XsPl5vZv5RMgeLSKcvPyGUY.png\",\"site/062417c3a6a5.jpg\":\"https://framerusercontent.com/images/fegdCzACbxlYhK4GTV7QxjZwIo.jpg?scale-down-to=1024\",\"site/hd/062417c3a6a5.jpg\":\"https://framerusercontent.com/images/fegdCzACbxlYhK4GTV7QxjZwIo.jpg\",\"site/1d34188d5906.png\":\"https://framerusercontent.com/images/Q0xEbsXga4QmPBrsVquitKl0TCI.png\",\"site/3e87c33d03f6.jpg\":\"https://framerusercontent.com/images/uRRlze4LvnEC8IMjh37B2m0mIc.jpg?scale-down-to=1024\",\"site/hd/3e87c33d03f6.jpg\":\"https://framerusercontent.com/images/uRRlze4LvnEC8IMjh37B2m0mIc.jpg\",\"site/d768c97db352.png\":\"https://framerusercontent.com/images/rXGgX4hMSvIllbrBZlWMwP4E6Q.png\",\"site/ec3a1818e222.jpg\":\"https://framerusercontent.com/images/RDepEg2fXCdwXP2nvn6onavyQwo.jpg?scale-down-to=1024\",\"site/hd/ec3a1818e222.jpg\":\"https://framerusercontent.com/images/RDepEg2fXCdwXP2nvn6onavyQwo.jpg\",\"site/59e22cb306f2.png\":\"https://framerusercontent.com/assets/mqTr4MlGD78TsJrq6aYAvYgjRwk.png\",\"site/88e6ea42650b.jpg\":\"https://framerusercontent.com/images/FoIc75mT7INYRbqpkL50J3ycGw.jpg?scale-down-to=1024\",\"site/hd/88e6ea42650b.jpg\":\"https://framerusercontent.com/images/FoIc75mT7INYRbqpkL50J3ycGw.jpg\",\"site/b839603e1d07.jpg\":\"https://framerusercontent.com/images/CfHfFEqxqKoqmQVDpmkLxnKjCuA.jpg?scale-down-to=1024\",\"site/hd/b839603e1d07.jpg\":\"https://framerusercontent.com/images/CfHfFEqxqKoqmQVDpmkLxnKjCuA.jpg\",\"site/ef005c06a841.png\":\"https://framerusercontent.com/images/vUEmqsoka4JKyGRJWcIZWvzaDQ.png\",\"site/a426e15936da.png\":\"https://framerusercontent.com/images/jOmZ1eERQ32lawZFYAXFrfPBlaY.png\",\"site/86f131a083b3.png\":\"https://framerusercontent.com/images/lcM3UfV3lOZiXAb9Rd4H4xFNMU8.png\",\"site/34658776754b.png\":\"https://framerusercontent.com/images/WuiDQNBGrif7PUsG4cYOrOx6w0.png\",\"site/eaac0879e429.png\":\"https://framerusercontent.com/images/L5TbrcKP0KGQWPUpkwbzzhDnRY.png\",\"site/c1cd85eb7150.svg\":\"https://framerusercontent.com/assets/QpURUekHhoQm5Li70OMpTXYLbXc.svg\",\"site/bb58fec6df01.jpg\":\"https://framerusercontent.com/assets/Asjh72rrXdWCu7nSKzkBrlGjqpE.jpg?scale-down-to=1024\",\"site/hd/bb58fec6df01.jpg\":\"https://framerusercontent.com/assets/Asjh72rrXdWCu7nSKzkBrlGjqpE.jpg\",\"site/d832ea7a96ad.svg\":\"https://framerusercontent.com/images/Nrv0OpuNWNBFtzDCw00P3DbU65M.svg\",\"site/79ef75e6672a.png\":\"https://framerusercontent.com/images/hv60R54DEnsNu8qPSzMhcF7XKUE.png\",\"site/09256f8e5a5f.png\":\"https://framerusercontent.com/images/Cd2SaIQjPN3mqj17AaDKL23fc8g.png\",\"site/9aae50be2608.png\":\"https://framerusercontent.com/images/IAqCO8ve1aoMdzhRYlUuGOwUjyY.png\",\"site/f34c6fb7c473.png\":\"https://framerusercontent.com/images/0ySmZXSJr6vwj0QIXAvBXzCCzU.png\",\"site/79a231304163.png\":\"https://framerusercontent.com/images/3JUGBqfrIMqsHpz3pfR4Ssp3Vfo.png\",\"site/3d28b72c3813.jpg\":\"https://framerusercontent.com/images/AOlgIEbojCe1Zu9r6jOBJ5MIHo.jpg?scale-down-to=1024\",\"site/hd/3d28b72c3813.jpg\":\"https://framerusercontent.com/images/AOlgIEbojCe1Zu9r6jOBJ5MIHo.jpg\",\"site/e8600a6d1b15.png\":\"https://framerusercontent.com/images/peYPyXHRUDjsEYFmVsrqJlnuiKo.png\",\"site/7ed2e75d86e0.jpg\":\"https://framerusercontent.com/images/6rl5qqP02LJwqtArL80maOqD90.jpg?scale-down-to=1024\",\"site/hd/7ed2e75d86e0.jpg\":\"https://framerusercontent.com/images/6rl5qqP02LJwqtArL80maOqD90.jpg\",\"site/6fb71f5afca6.png\":\"https://framerusercontent.com/images/kDR0OjTc5pgN0ZWhe9wC1firFo.png\",\"site/e26f923f4e2e.svg\":\"https://framerusercontent.com/assets/eJlXyL7XtXqyHimMRLgyTSBGOTo.svg\",\"site/fbffeb34a559.png\":\"https://framerusercontent.com/images/iu4lR7qw9DxHxfLU0huMUig2Ow8.png\",\"site/76bc764a55e8.png\":\"https://framerusercontent.com/images/vBcn8yLcz2Xp5pHHV9qpUm5nrnU.png\",\"site/d555faf5a85e.png\":\"https://framerusercontent.com/images/HRAFKc89R0MvK6e9ZJtmSlPqLM.png\",\"site/326e42685bde.jpg\":\"https://framerusercontent.com/images/JrBCBQ5Kg49CGJNIYO5XJx9LHvs.jpg?scale-down-to=1024\",\"site/hd/326e42685bde.jpg\":\"https://framerusercontent.com/images/JrBCBQ5Kg49CGJNIYO5XJx9LHvs.jpg\",\"site/b2a8e292979b.png\":\"https://framerusercontent.com/images/kAmWczgBVMwNu6vSDYJ4nDZw4.png\",\"site/afb00e366d3e.png\":\"https://framerusercontent.com/images/zxSIFLNAjy2dO9SuJZrT68EXDXQ.png\",\"site/1e3b175a5906.jpg\":\"https://framerusercontent.com/images/KNlMxEdGCWJ093yHuoCi9KcQNFY.jpg?scale-down-to=1024\",\"site/hd/1e3b175a5906.jpg\":\"https://framerusercontent.com/images/KNlMxEdGCWJ093yHuoCi9KcQNFY.jpg\",\"site/f7e317f7d8e6.ico\":\"https://framerusercontent.com/assets/rRVE88HZISP91AyNkMWp94ovpA.ico\",\"site/b761d65866ec.png\":\"https://framerusercontent.com/images/pdEzZ2ScXORwxJQEmowYwTIEPY.png\",\"site/6d512ca1c40d.jpg\":\"https://framerusercontent.com/images/ctRBJrWsl6F9vLBhMzk5qWTPKZM.jpg?scale-down-to=1024\",\"site/hd/6d512ca1c40d.jpg\":\"https://framerusercontent.com/images/ctRBJrWsl6F9vLBhMzk5qWTPKZM.jpg\",\"site/22e2e79319b0.png\":\"https://framerusercontent.com/images/VTZdu2opBlHYn3R1FB0HCN7c0T8.png\",\"site/c3118d496b6b.png\":\"https://framerusercontent.com/assets/0VWcZp1FUXgP4V2uQQ34MmWEws.png\",\"site/6bd79b223b54.jpg\":\"https://framerusercontent.com/images/UI5x5PD1uzdOTUe700pr5iJCoQ.jpg?scale-down-to=1024\",\"site/hd/6bd79b223b54.jpg\":\"https://framerusercontent.com/images/UI5x5PD1uzdOTUe700pr5iJCoQ.jpg\",\"site/05c628c73372.jpg\":\"https://framerusercontent.com/images/RXULsqweXKqnwuuFKzhMIju81Q.jpg?scale-down-to=1024\",\"site/hd/05c628c73372.jpg\":\"https://framerusercontent.com/images/RXULsqweXKqnwuuFKzhMIju81Q.jpg\",\"site/a55902b8f252.png\":\"https://framerusercontent.com/images/Do7hjS7lOy9vL7mGVhXRFkz4fiU.png\",\"site/929abd453c3a.png\":\"https://framerusercontent.com/images/6ecsKQKanKpj7aYZHwN3KszAzM.png\",\"site/5bc56b3b37da.png\":\"https://framerusercontent.com/images/VbD55LXXpwbUrktHApBvU5m0SE.png\",\"site/d9b91d941f53.png\":\"https://framerusercontent.com/images/gnetru9EYtla7QYbUzuENVqfM.png\",\"site/d7664ace7c49.png\":\"https://framerusercontent.com/images/WTJWszgZ7dZZE99w1FDtE3l5il0.png\",\"site/578b28b77ce3.png\":\"https://framerusercontent.com/images/30cT7UWTDVqAXTCH8Zp4hp0nvSk.png\",\"site/b84a50079ee5.png\":\"https://framerusercontent.com/images/WrXdZ5Yf2WjrbGRVz0Ik8B7ZDRw.png\",\"site/0c98df96d2c4.png\":\"https://framerusercontent.com/images/1w6Af32BP7KX8k6By9amSrWFhao.png\",\"site/87205f7ba2b5.png\":\"https://framerusercontent.com/images/1puiU3s8ooyzAsJbtLjzAcvZasU.png\",\"site/438127f0cba8.png\":\"https://framerusercontent.com/images/2plDU6mflvU7DIgSj44qjBdXyUQ.png\",\"site/a6908fd9a260.jpg\":\"https://framerusercontent.com/images/IaxwPZ6U3x70YsBDW54bpJm8Xs4.jpg?scale-down-to=1024\",\"site/hd/a6908fd9a260.jpg\":\"https://framerusercontent.com/images/IaxwPZ6U3x70YsBDW54bpJm8Xs4.jpg\",\"site/69ceee3384f9.png\":\"https://framerusercontent.com/images/SANI41Ue5YW2p7y0A5CHRm1rQ.png\",\"site/39e12dd1435f.png\":\"https://framerusercontent.com/images/tpiDFp3K3C6lAKrrJbecoHe8.png\",\"site/c94b1f964c35.png\":\"https://framerusercontent.com/images/QfJPUqdElWo7l9jtgV19F1t0M.png\",\"site/e5a5bfbb4a74.png\":\"https://framerusercontent.com/images/vku9zyeQHNEomg4F5Ixf0HVg218.png\",\"site/094d05acee86.png\":\"https://framerusercontent.com/images/ijDohwQm0bZC4PlzoOTmOrP9c.png\",\"site/51869e962316.png\":\"https://framerusercontent.com/images/Ydi9sltsmGXMtOMUTEtRALCog.png\",\"site/39351b4833e9.jpg\":\"https://framerusercontent.com/images/TShdydHuxCF1nFLdIq8QHKFJ7k.jpg?scale-down-to=1024\",\"site/hd/39351b4833e9.jpg\":\"https://framerusercontent.com/images/TShdydHuxCF1nFLdIq8QHKFJ7k.jpg\",\"site/826796dd7c81.jpg\":\"https://framerusercontent.com/images/vMoAVQg3cM4MRbb0jCr29641g30.jpg?scale-down-to=1024\",\"site/hd/826796dd7c81.jpg\":\"https://framerusercontent.com/images/vMoAVQg3cM4MRbb0jCr29641g30.jpg\",\"site/f2fd8b2c08c0.png\":\"https://framerusercontent.com/images/SA8TgbeVZhIMxWi10S8msyOrBs.png\",\"site/2ac69d8fed78.png\":\"https://framerusercontent.com/images/6rXwukybxDpifZ4HqwKNlBmTk.png\",\"site/d3667669a782.png\":\"https://framerusercontent.com/images/5RmcDYYwscJ3E4Z25HV4Y2Yf9Y.png\",\"site/2257c309c2da.png\":\"https://framerusercontent.com/images/VK4EBI7jDpappjq2HKGcuPVtKU.png\",\"site/5a7bac1f1413.jpg\":\"https://framerusercontent.com/images/LylmoRJCVNkk5KYiSIunmMUR8.jpg?scale-down-to=1024\",\"site/hd/5a7bac1f1413.jpg\":\"https://framerusercontent.com/images/LylmoRJCVNkk5KYiSIunmMUR8.jpg\",\"site/6c8fdcf2af32.png\":\"https://framerusercontent.com/images/K3RflXI5P23En47XoYKvevyYgk.png\",\"site/48c96967fffd.png\":\"https://framerusercontent.com/images/1mC0LxUtDQGIql7R5lx5EOc2M0U.png\",\"site/7aa3d434cdef.jpg\":\"https://framerusercontent.com/images/8cbxfrnmpW2xophlGJxIJq05Y.jpg?scale-down-to=1024\",\"site/hd/7aa3d434cdef.jpg\":\"https://framerusercontent.com/images/8cbxfrnmpW2xophlGJxIJq05Y.jpg\",\"site/ea7c6c3e4f9a.png\":\"https://framerusercontent.com/images/rn4ibHX1jDjDXHkxeStL1JSUTuY.png\",\"site/f2611f865ea9.png\":\"https://framerusercontent.com/images/rbs9uOAQlIoMDjSYHZN3FHcLU.png\",\"site/3bd44be143bf.png\":\"https://framerusercontent.com/images/vQ5etoF7ha0Avis2HZ0M8Cnz2zo.png\",\"site/24c168bcab7a.jpg\":\"https://framerusercontent.com/assets/GNZmC4PqAhPxWDG6We0iEWR5Ch0.jpg?scale-down-to=1024\",\"site/hd/24c168bcab7a.jpg\":\"https://framerusercontent.com/assets/GNZmC4PqAhPxWDG6We0iEWR5Ch0.jpg\",\"site/fe46eefc3c34.jpg\":\"https://framerusercontent.com/images/yrOjVHjOd3Q08Cz6JyAb1rMbpg.jpg?scale-down-to=1024\",\"site/hd/fe46eefc3c34.jpg\":\"https://framerusercontent.com/images/yrOjVHjOd3Q08Cz6JyAb1rMbpg.jpg\",\"site/8d47b122f474.png\":\"https://framerusercontent.com/images/ovpqObbX9X5NV5lsBvuGFYZ6GM.png\",\"site/7c3ce78b2ea5.png\":\"https://framerusercontent.com/images/D1rNP7Rss9Lua2sVw2dmx06X3U.png\",\"site/aa28dce87dcc.png\":\"https://framerusercontent.com/images/qScCpnDTNRnMMG5sZWBt3hDy0.png\",\"site/30f136be9b94.png\":\"https://framerusercontent.com/images/ZGCoOCieHIfVVo2eKFmY0zEM2v8.png\",\"site/19ed9205bf9c.png\":\"https://framerusercontent.com/images/jPd0y07uceOTYqXUgMz3OroI.png\",\"site/28e89745d59e.jpg\":\"https://framerusercontent.com/images/nEh2aKqiOB9AzhNIggSgjON8mLw.jpg?scale-down-to=1024\",\"site/hd/28e89745d59e.jpg\":\"https://framerusercontent.com/images/nEh2aKqiOB9AzhNIggSgjON8mLw.jpg\",\"site/5222ea7ba6f3.png\":\"https://framerusercontent.com/images/vIznqKu3r4hdfbPAyj5mhcByoVg.png\",\"site/84c3138b98b5.png\":\"https://framerusercontent.com/images/QqyR6c6Ml5WfhQjzxKW7vARU.png\",\"site/01d90b845edb.jpg\":\"https://framerusercontent.com/images/8iZvnmj8yWFnYXwT4y6zrJiBaM.jpg?scale-down-to=1024\",\"site/hd/01d90b845edb.jpg\":\"https://framerusercontent.com/images/8iZvnmj8yWFnYXwT4y6zrJiBaM.jpg\",\"site/5c07a2a6841b.png\":\"https://framerusercontent.com/images/qnsgMo3bp00MlFSwUrF2sHYZck.png\",\"site/d903f5f36563.jpg\":\"https://framerusercontent.com/images/ribiQXgO5JjhFL7Uuv8JXeLxqGo.jpg?scale-down-to=1024\",\"site/hd/d903f5f36563.jpg\":\"https://framerusercontent.com/images/ribiQXgO5JjhFL7Uuv8JXeLxqGo.jpg\",\"site/9662248fdcdc.png\":\"https://framerusercontent.com/images/EWpScpLiYtB5djxokSp1YMyeNFk.png\",\"site/ea73e480a12d.png\":\"https://framerusercontent.com/assets/f4ryQffuDTos3YMAgVB185PaP4.png\",\"site/f4b9601502a9.jpg\":\"https://framerusercontent.com/images/Mp9O0CjTaqR2YTAqv0FrNjRt8.jpg?scale-down-to=1024\",\"site/hd/f4b9601502a9.jpg\":\"https://framerusercontent.com/images/Mp9O0CjTaqR2YTAqv0FrNjRt8.jpg\",\"site/062428d56137.png\":\"https://framerusercontent.com/images/gDvNPVNmGVcgQaUAAdjtGWAEgdM.png\",\"site/53af1b8e91ca.png\":\"https://framerusercontent.com/images/k2NUTcVFwkGl0p10tZMp44W4o.png\",\"site/b0ccf9cb4b67.png\":\"https://framerusercontent.com/images/WNwTUqISmTBYRBdMc7RH4Zo0ig.png\",\"site/d89adcf9dccd.png\":\"https://framerusercontent.com/images/2v5nK2JSSkpYvGva93r2UOskuEw.png\",\"site/4e8c50a820d6.png\":\"https://framerusercontent.com/images/kGtAfKDc9B5WoPfAi2K86hvXH0.png\",\"site/ee4fe1e2d1e0.png\":\"https://framerusercontent.com/images/JB3DCZ4ho15ucEc1oGx4uOVFunw.png\",\"site/3dba136fec1d.png\":\"https://framerusercontent.com/images/3Q7xyPb7xxz2afNJoUdt9I4mygY.png\",\"site/96c229ee0d24.svg\":\"https://framerusercontent.com/images/eEE3okRXpzZcGeIPjOzi7sJn4.svg\",\"site/ac9aab380fbd.jpg\":\"https://framerusercontent.com/images/ci5A2DMmwLDbzVi9Qb6pM01hD8.jpg?scale-down-to=1024\",\"site/hd/ac9aab380fbd.jpg\":\"https://framerusercontent.com/images/ci5A2DMmwLDbzVi9Qb6pM01hD8.jpg\",\"site/e7d8cdd71df6.png\":\"https://framerusercontent.com/images/l7H9WVdIOwNyicXx18QYQ9wcI.png\",\"site/acc08d13ea2e.png\":\"https://framerusercontent.com/images/elWYGSqfyNhrCfOHY0dMpy7u8s.png\",\"site/e8fdd3178ad3.png\":\"https://framerusercontent.com/images/Fze8hQLbHrhgzD7GWlNp9smc5U.png\",\"site/0093f8584763.png\":\"https://framerusercontent.com/images/uTS0mL2PCx4JHhN543GZ9KMDc.png\",\"site/75d17bb00755.jpg\":\"https://framerusercontent.com/images/hjdHHh7JjSLJ9IhQxrgIKdxcvs.jpg?scale-down-to=1024\",\"site/hd/75d17bb00755.jpg\":\"https://framerusercontent.com/images/hjdHHh7JjSLJ9IhQxrgIKdxcvs.jpg\",\"site/8f227d519b08.png\":\"https://framerusercontent.com/images/O0cSE8Pv5s1XzQgHOSnrDCoDlc.png\",\"site/416bb2173ca1.png\":\"https://framerusercontent.com/images/eBL7hX5yIvLu859uo2COBvLI8UQ.png\",\"site/543ab1d1db21.jpg\":\"https://framerusercontent.com/images/0n3pZfOkiMkS6Fi7XkHNIfNDkzA.jpg?scale-down-to=1024\",\"site/hd/543ab1d1db21.jpg\":\"https://framerusercontent.com/images/0n3pZfOkiMkS6Fi7XkHNIfNDkzA.jpg\",\"site/c1d1c8390299.jpg\":\"https://framerusercontent.com/images/02CQ4y3xO3cIpf0qbxwXS4CkE9s.jpg?scale-down-to=1024\",\"site/hd/c1d1c8390299.jpg\":\"https://framerusercontent.com/images/02CQ4y3xO3cIpf0qbxwXS4CkE9s.jpg\",\"site/77e9d72e22aa.png\":\"https://framerusercontent.com/images/qwqb3jsz8u5szLmeJUmwVdv2Q0.png\",\"site/2ada0fc649ad.jpg\":\"https://framerusercontent.com/assets/MARWh2XCrCNzoHvA7HrNTz7p7u0.jpg?scale-down-to=1024\",\"site/hd/2ada0fc649ad.jpg\":\"https://framerusercontent.com/assets/MARWh2XCrCNzoHvA7HrNTz7p7u0.jpg\",\"site/ee9b2f91baf6.jpg\":\"https://framerusercontent.com/images/wSBzQRToULeiSZli85PzcwND6k.jpg?scale-down-to=1024\",\"site/hd/ee9b2f91baf6.jpg\":\"https://framerusercontent.com/images/wSBzQRToULeiSZli85PzcwND6k.jpg\",\"site/8b058778d631.png\":\"https://framerusercontent.com/images/6xHlbU7YweTS2kHQdbjfJgpk1Q.png\",\"site/eb17a9874aec.png\":\"https://framerusercontent.com/images/VFHUXxxGXLKQ8RxNlYyyBBEUhI.png\",\"site/1724ade1fbed.png\":\"https://framerusercontent.com/images/e4jAB5Alnd3UOtEVfrQBz9OnTk.png\",\"site/f4b8e2896b38.png\":\"https://framerusercontent.com/images/eoZ935XVffyqBxLxhzLJcQINBs.png\",\"site/2ff752b44695.svg\":\"https://framerusercontent.com/assets/RuwHV4CDlBRy1VTfIbJmmA7sd0.svg\",\"site/1faf55f77db0.png\":\"https://framerusercontent.com/images/dSNgMfKUj782ZzInvDZonOi8Y.png\",\"site/8541b8d441cf.jpg\":\"https://framerusercontent.com/images/cjQ73bLBHPoaMN98un8GjF1hcrk.jpg?scale-down-to=1024\",\"site/hd/8541b8d441cf.jpg\":\"https://framerusercontent.com/images/cjQ73bLBHPoaMN98un8GjF1hcrk.jpg\",\"site/91c1aba83583.jpg\":\"https://framerusercontent.com/images/DQ1hYfwkxrZIVw25SKhm4WKdaC8.jpg?scale-down-to=1024\",\"site/hd/91c1aba83583.jpg\":\"https://framerusercontent.com/images/DQ1hYfwkxrZIVw25SKhm4WKdaC8.jpg\",\"site/d321507ffce9.png\":\"https://framerusercontent.com/images/oxp8R5n0I8tliFEz0AOP0DBtE.png\",\"site/7fc053dbfd15.jpg\":\"https://framerusercontent.com/images/YxYe8ZZaT0w0eMOX9haacgoARg.jpg?scale-down-to=1024\",\"site/hd/7fc053dbfd15.jpg\":\"https://framerusercontent.com/images/YxYe8ZZaT0w0eMOX9haacgoARg.jpg\",\"site/756cee373b36.png\":\"https://framerusercontent.com/images/jijuaTsIJKtpL7sJSllbKnd3wW4.png\",\"site/2c990961ced9.jpg\":\"https://framerusercontent.com/images/u62MzjiBsNWhFoJtMlI8Fu8Jo.jpg?scale-down-to=1024\",\"site/hd/2c990961ced9.jpg\":\"https://framerusercontent.com/images/u62MzjiBsNWhFoJtMlI8Fu8Jo.jpg\",\"site/eabee4e0348a.jpg\":\"https://framerusercontent.com/images/hZqfka7KcDzM00nUnfR7BB2ig.jpg?scale-down-to=1024\",\"site/hd/eabee4e0348a.jpg\":\"https://framerusercontent.com/images/hZqfka7KcDzM00nUnfR7BB2ig.jpg\",\"site/695f58f5cd74.jpg\":\"https://framerusercontent.com/images/VzQnHCc7aVM5mWhOUPY5gi58LSk.jpg?scale-down-to=1024\",\"site/hd/695f58f5cd74.jpg\":\"https://framerusercontent.com/images/VzQnHCc7aVM5mWhOUPY5gi58LSk.jpg\",\"site/ee7130102891.png\":\"https://framerusercontent.com/images/RpzcNfXZ475OL1EPPLdgdIB4U.png\",\"site/8dfc8487ea8a.jpg\":\"https://framerusercontent.com/images/dAvCnsXIYlSrnGM9bnFFnrCAsa0.jpg?scale-down-to=1024\",\"site/hd/8dfc8487ea8a.jpg\":\"https://framerusercontent.com/images/dAvCnsXIYlSrnGM9bnFFnrCAsa0.jpg\",\"site/5b1e7d78f254.jpg\":\"https://framerusercontent.com/images/ySyBKeOy6cu6Ov5ppQWLhvoW8.jpg?scale-down-to=1024\",\"site/hd/5b1e7d78f254.jpg\":\"https://framerusercontent.com/images/ySyBKeOy6cu6Ov5ppQWLhvoW8.jpg\",\"site/55546689b176.jpg\":\"https://framerusercontent.com/images/rMWalVI6Dl9oFA4d8p58LsaBVM.jpg?scale-down-to=1024\",\"site/hd/55546689b176.jpg\":\"https://framerusercontent.com/images/rMWalVI6Dl9oFA4d8p58LsaBVM.jpg\",\"site/3eaad9283d1b.svg\":\"https://framerusercontent.com/images/CUdijNbSiqlufxA4EzHuXSYBc.svg\",\"site/e874a972affe.jpg\":\"https://framerusercontent.com/images/85VRnooKdCPKRPFHRup53SOqsI.jpg?scale-down-to=1024\",\"site/hd/e874a972affe.jpg\":\"https://framerusercontent.com/images/85VRnooKdCPKRPFHRup53SOqsI.jpg\",\"site/95b74b378b72.jpg\":\"https://framerusercontent.com/images/K9sLCQ4tkQL8Tff2kwEi89tes.jpg?scale-down-to=1024\",\"site/hd/95b74b378b72.jpg\":\"https://framerusercontent.com/images/K9sLCQ4tkQL8Tff2kwEi89tes.jpg\",\"site/ef4b9fe4bb9f.jpg\":\"https://framerusercontent.com/images/Y5cmCmX36saPGviqK7ZeknlVRk.jpg?scale-down-to=1024\",\"site/hd/ef4b9fe4bb9f.jpg\":\"https://framerusercontent.com/images/Y5cmCmX36saPGviqK7ZeknlVRk.jpg\",\"site/bc539386f69b.png\":\"https://framerusercontent.com/images/YF18aLbx8t7AF64MdJRumA0M.png\",\"site/cd0e70c78ac5.svg\":\"https://framerusercontent.com/images/pN87DQbfdCzwC612BH3vOKQn1p0.svg\",\"site/d2192f71c4eb.png\":\"https://framerusercontent.com/images/QuxAcLtmdtAv5j7g7qbHS7jAY.png\",\"site/8f57705f9f5a.png\":\"https://framerusercontent.com/assets/E5UqHpzS3hLMiOJyxj8JaBdM0SE.png\",\"site/f2947cfd0f89.png\":\"https://framerusercontent.com/images/ApfTNXeKMmnHMT1eTwDcUERsSs.png\",\"site/5943fc55f904.png\":\"https://framerusercontent.com/images/zj06qs4DaEbY56Ug2jEbbP1lg.png\",\"site/97cecb9d7a63.png\":\"https://framerusercontent.com/images/UP1uLnLxaGAJPEUvKRBGiQu0QWg.png\",\"site/55e4a8cfb70f.png\":\"https://framerusercontent.com/images/j5Hy22XYjTxCneSVC0ETeAGf8o.png\",\"site/96506cbc307a.png\":\"https://framerusercontent.com/images/HKEbRScFBp92w5w8v6iJbjK4LfI.png\",\"site/e3585771c4a9.png\":\"https://framerusercontent.com/images/N1sDvmh9erxYOEABEm5mh77ewvg.png\",\"site/d774d772c585.png\":\"https://framerusercontent.com/images/TnCaJ4yVqyybg4B7EQPn3F9yyI.png\",\"site/d3d0ef6a41ee.svg\":\"https://framerusercontent.com/images/n3pKc5FQ4AuYbNX5ROOCqcEr2g.svg\",\"site/b2a0fd7a781a.png\":\"https://framerusercontent.com/images/eNpjSVfhCQJIKiyz1gXpfEPGKQ.png\",\"site/8ba2840ebd46.png\":\"https://framerusercontent.com/images/ovGEeDRxZVLqzhiU5IBIdQe2Iyw.png\",\"site/7a4c0cf0f859.svg\":\"https://framerusercontent.com/images/4ZDnnMIWhxlc4fxQn2uH2U3WfY.svg\",\"site/27735ff30c9a.jpg\":\"https://framerusercontent.com/assets/odyAAC1sO2FMh5ywO67EUUxu8I.jpg?scale-down-to=1024\",\"site/hd/27735ff30c9a.jpg\":\"https://framerusercontent.com/assets/odyAAC1sO2FMh5ywO67EUUxu8I.jpg\",\"site/a6debadba24e.jpg\":\"https://framerusercontent.com/assets/KC6PiP0sASleLDYFMPW9mnl8ab8.jpg?scale-down-to=1024\",\"site/hd/a6debadba24e.jpg\":\"https://framerusercontent.com/assets/KC6PiP0sASleLDYFMPW9mnl8ab8.jpg\",\"site/d50c80750c86.png\":\"https://framerusercontent.com/images/5xtjvNYayyosAvDFGzAnmrD8tVc.png\",\"site/47bd8055ae31.png\":\"https://framerusercontent.com/images/8k0cZ9r5FCe5Gxa8fpdYHwGX4Ns.png\",\"site/7cd2283a5c1f.jpg\":\"https://framerusercontent.com/images/19xzZRZClg6Rl5sHZaVJbTW2b8.jpg?scale-down-to=1024\",\"site/hd/7cd2283a5c1f.jpg\":\"https://framerusercontent.com/images/19xzZRZClg6Rl5sHZaVJbTW2b8.jpg\",\"site/7f1a180939ae.png\":\"https://framerusercontent.com/images/hozjWUWuKiL6zAesMUAovtr4LUQ.png\",\"site/40058fddcc3e.png\":\"https://framerusercontent.com/images/HQ05Bb70Ft9s9f3oyN75NWpYJ0.png\",\"site/2314bc188b91.jpg\":\"https://framerusercontent.com/images/4sYLRSIFzeZJmKrbf9BJ13c5DiA.jpg?scale-down-to=1024\",\"site/hd/2314bc188b91.jpg\":\"https://framerusercontent.com/images/4sYLRSIFzeZJmKrbf9BJ13c5DiA.jpg\",\"site/645612bb33f7.jpg\":\"https://framerusercontent.com/assets/p3DDnUxvYB4ZQiw7lfmc44KwblU.jpg?scale-down-to=1024\",\"site/hd/645612bb33f7.jpg\":\"https://framerusercontent.com/assets/p3DDnUxvYB4ZQiw7lfmc44KwblU.jpg\",\"site/95cc19ce6ead.jpg\":\"https://framerusercontent.com/images/iwWvq6QE29hYs4gCdD8FqdQzPQ.jpg?scale-down-to=1024\",\"site/hd/95cc19ce6ead.jpg\":\"https://framerusercontent.com/images/iwWvq6QE29hYs4gCdD8FqdQzPQ.jpg\",\"site/0b13a6769c0d.jpg\":\"https://framerusercontent.com/images/qHx8PEAkiz2jwQjM0774JQ9SLbk.jpg?scale-down-to=1024\",\"site/hd/0b13a6769c0d.jpg\":\"https://framerusercontent.com/images/qHx8PEAkiz2jwQjM0774JQ9SLbk.jpg\",\"site/510ea8166beb.png\":\"https://framerusercontent.com/images/nimkd8xZGF7vsESo7IyNKBp8rA.png\",\"site/8c809492204e.png\":\"https://framerusercontent.com/images/ON1j3qRTGuUtnS2HspH67NOSvqA.png\",\"site/ef526af69630.png\":\"https://framerusercontent.com/images/nksYLqYlSbJ7YuthS8hUYw3k6Wg.png\",\"site/a4d95e72b89d.png\":\"https://framerusercontent.com/images/CcUKJqT9ghtO30kIAzbkKuU42Y.png\",\"site/7205107d608e.png\":\"https://framerusercontent.com/images/9NQcUA3HHFi7b9i9HYrl2aGL5H4.png\",\"site/132095e85349.png\":\"https://framerusercontent.com/images/EyrRE5HcPWPhzea2tPCzc1IqpdA.png\",\"site/9ce302d6d97d.png\":\"https://framerusercontent.com/images/qw1gcflUwqWQ9H2H2urEZLlMJU.png\",\"site/23b1021b08b3.png\":\"https://framerusercontent.com/images/FicZF6qvTFcOZWGr8nmsrkScnEs.png\",\"site/ab3697951bc5.png\":\"https://framerusercontent.com/images/5x2SVoifM90JdxfpGE4oLnqXaA.png\",\"site/7621c90050bc.jpg\":\"https://framerusercontent.com/images/HaLgOFEpFS2fmAqZ6g14Jeg.jpg?scale-down-to=1024\",\"site/hd/7621c90050bc.jpg\":\"https://framerusercontent.com/images/HaLgOFEpFS2fmAqZ6g14Jeg.jpg\",\"site/5c4cf2621594.jpg\":\"https://framerusercontent.com/images/V5URzqzliBZ2hD12GX3YHI6ZnoI.jpg?scale-down-to=1024\",\"site/hd/5c4cf2621594.jpg\":\"https://framerusercontent.com/images/V5URzqzliBZ2hD12GX3YHI6ZnoI.jpg\",\"site/8676f9026dc2.jpg\":\"https://framerusercontent.com/assets/SJFVvkIjIvg3t1useq1oH3BME.jpg?scale-down-to=1024\",\"site/hd/8676f9026dc2.jpg\":\"https://framerusercontent.com/assets/SJFVvkIjIvg3t1useq1oH3BME.jpg\",\"site/f41ab17d5ead.png\":\"https://framerusercontent.com/images/RgG6Gz6xte5gLq16djKFoJ1vCQ.png\",\"site/41d9350f6abc.jpg\":\"https://framerusercontent.com/images/1imN57MayC5eZyAtBJN7xUk6hg.jpg?scale-down-to=1024\",\"site/hd/41d9350f6abc.jpg\":\"https://framerusercontent.com/images/1imN57MayC5eZyAtBJN7xUk6hg.jpg\",\"site/8d21c50b022e.png\":\"https://framerusercontent.com/images/77ctkhfBpadaI9iVtAduSfuIA8.png\",\"site/7736f21e9e46.png\":\"https://framerusercontent.com/images/VhQ0tAAzidHOVeuy2oJsy2ENGls.png\",\"site/44da19544f62.png\":\"https://framerusercontent.com/images/y4BprPZZmXaJflAr04mWwETTTk.png\",\"site/195c4cdca5d1.png\":\"https://framerusercontent.com/images/XLcRVamWiHIpaCadPMBRdnUKyAc.png\",\"site/267797ac848f.svg\":\"https://framerusercontent.com/images/9Aacz3gcdPBT2HiQSvUFCbLqbs.svg\",\"site/8cf8a1921a14.png\":\"https://framerusercontent.com/images/eWD9yfC6OQvQRzfDGmRGw79giZg.png\",\"site/195b013821b1.png\":\"https://framerusercontent.com/images/1rYitQ7LJAbR6DVuZVDmVGYtmA.png\",\"site/622aed915b2b.jpg\":\"https://framerusercontent.com/images/vDeg9BHKjXwmUCR63PuDc0aEqE.jpg?scale-down-to=1024\",\"site/hd/622aed915b2b.jpg\":\"https://framerusercontent.com/images/vDeg9BHKjXwmUCR63PuDc0aEqE.jpg\",\"site/0cce5464c6a2.png\":\"https://framerusercontent.com/images/VkmYD52T0BFrmM7i1rOYNvymikI.png\",\"site/0dee32b0fedb.png\":\"https://framerusercontent.com/images/eRYhSWW7MM69yD7yjpqyje43jss.png\",\"site/6e4dca4226da.png\":\"https://framerusercontent.com/images/RRCxMmDQOGMx7QppiW2nB4M8Bg.png\",\"site/8ce9cc1f2ffe.jpg\":\"https://framerusercontent.com/images/JPpi2gT048fUxAG456KsPCQR05M.jpg?scale-down-to=1024\",\"site/hd/8ce9cc1f2ffe.jpg\":\"https://framerusercontent.com/images/JPpi2gT048fUxAG456KsPCQR05M.jpg\",\"site/883b7a845998.jpg\":\"https://framerusercontent.com/images/4dMsGQpdNWcUJT7IkqtRcsXGZU.jpg?scale-down-to=1024\",\"site/hd/883b7a845998.jpg\":\"https://framerusercontent.com/images/4dMsGQpdNWcUJT7IkqtRcsXGZU.jpg\",\"site/cb2cd3aa8730.svg\":\"https://framerusercontent.com/assets/LsgAj2sDNfFSHd3gGorZlnHYRw.svg\",\"site/3dbc7a6d1c28.svg\":\"https://framerusercontent.com/images/AvVduR89B05uXMfIqVae7Anv2M.svg\",\"site/33c83e669578.jpg\":\"https://framerusercontent.com/images/r53bJ1oiE7l284vizbn92UsaJM.jpg?scale-down-to=1024\",\"site/hd/33c83e669578.jpg\":\"https://framerusercontent.com/images/r53bJ1oiE7l284vizbn92UsaJM.jpg\",\"site/400fb1282930.jpg\":\"https://framerusercontent.com/images/WnThN5RIjKTfRAQ28h49n2mvIlY.jpg?scale-down-to=1024\",\"site/hd/400fb1282930.jpg\":\"https://framerusercontent.com/images/WnThN5RIjKTfRAQ28h49n2mvIlY.jpg\",\"site/4b3513185d9b.png\":\"https://framerusercontent.com/images/dbLowDEks8uwww5pBizYUaHQ4Iw.png\",\"site/9143f8ac9e27.svg\":\"https://framerusercontent.com/images/1Gwj9s6dHi9pAM7jNXQbny6Hus.svg\",\"site/a7bc750f76ff.png\":\"https://framerusercontent.com/images/45PNOOSNQmy5GwfBXpbGh8VXc.png\",\"site/000a297a5550.jpg\":\"https://framerusercontent.com/images/EubapLt1JWdA3li9Pg25HmM9CY.jpg?scale-down-to=1024\",\"site/hd/000a297a5550.jpg\":\"https://framerusercontent.com/images/EubapLt1JWdA3li9Pg25HmM9CY.jpg\",\"site/d74841bb9a19.png\":\"https://framerusercontent.com/images/7OjGjIShVMpfpz7JDwPWBgc7iAw.png\",\"site/ca9b48038c70.png\":\"https://framerusercontent.com/images/Pz1Jv7pAft8YP8DJjxqiGOHgTRg.png\",\"site/1ce892b0bc25.jpg\":\"https://framerusercontent.com/images/fUfbV5r4SYGtOlvYokrlgyh7g.jpg?scale-down-to=1024\",\"site/hd/1ce892b0bc25.jpg\":\"https://framerusercontent.com/images/fUfbV5r4SYGtOlvYokrlgyh7g.jpg\",\"site/e8b7b11a8c3f.jpg\":\"https://framerusercontent.com/images/UOo5CE713qJ1RVjznO2mVdz4yGk.jpg?scale-down-to=1024\",\"site/hd/e8b7b11a8c3f.jpg\":\"https://framerusercontent.com/images/UOo5CE713qJ1RVjznO2mVdz4yGk.jpg\",\"site/ed707c4dc18c.png\":\"https://framerusercontent.com/images/kqzxeZdZHPG3nxVCgtUwVv97tI0.png\",\"site/8f20c012c53d.jpg\":\"https://framerusercontent.com/images/gJboFNZCsZ8Ei0fdJPvXzlTLlkE.jpg?scale-down-to=1024\",\"site/hd/8f20c012c53d.jpg\":\"https://framerusercontent.com/images/gJboFNZCsZ8Ei0fdJPvXzlTLlkE.jpg\",\"site/f71519fd45bc.jpg\":\"https://framerusercontent.com/images/e3dOzYFkv5W1ROk1MZVKvzHQo0.jpg?scale-down-to=1024\",\"site/hd/f71519fd45bc.jpg\":\"https://framerusercontent.com/images/e3dOzYFkv5W1ROk1MZVKvzHQo0.jpg\",\"site/638bef4dc630.png\":\"https://framerusercontent.com/images/XxFXYycTEyCTd7F36DYdFx8VK4.png\",\"site/bdb9895f4a6a.png\":\"https://framerusercontent.com/images/Nn2t4gRYnDqBYoibGv1GLQZtlg.png\",\"site/eb14f5e1c5e7.png\":\"https://framerusercontent.com/images/1uOg6uOYK2daZVuNP4YjcvGnx4A.png\",\"site/11bf7be40b95.jpg\":\"https://framerusercontent.com/images/vRIIg4WvKfe7gkgRfvuWgZL7I4.jpg?scale-down-to=1024\",\"site/hd/11bf7be40b95.jpg\":\"https://framerusercontent.com/images/vRIIg4WvKfe7gkgRfvuWgZL7I4.jpg\",\"site/de763cc27028.jpg\":\"https://framerusercontent.com/images/gEdpdcXNNaFt4flGK4UGPY0VlHg.jpg?scale-down-to=1024\",\"site/hd/de763cc27028.jpg\":\"https://framerusercontent.com/images/gEdpdcXNNaFt4flGK4UGPY0VlHg.jpg\",\"site/85dd1b8bb91e.jpg\":\"https://framerusercontent.com/images/ZKQ5pHXX2BIui9IBoMWGx1jM.jpg?scale-down-to=1024\",\"site/hd/85dd1b8bb91e.jpg\":\"https://framerusercontent.com/images/ZKQ5pHXX2BIui9IBoMWGx1jM.jpg\",\"site/77bb26cdcbeb.svg\":\"https://framerusercontent.com/images/4dUiJMuLLsW4VY1VHC73LsKaw.svg\",\"site/64882233c287.jpg\":\"https://framerusercontent.com/images/pLp4NpsDtNgEirhpqqLMwq4JI.jpg?scale-down-to=1024\",\"site/hd/64882233c287.jpg\":\"https://framerusercontent.com/images/pLp4NpsDtNgEirhpqqLMwq4JI.jpg\",\"site/2d1a5127e25b.png\":\"https://framerusercontent.com/images/kD5RwFpfa3hy5F6N4XigfSDxHY.png\",\"site/71be0ff95e76.png\":\"https://framerusercontent.com/images/vJ4UV5xbWgrnGmSB3VVXdX1SCqs.png\",\"site/6e47b3f5d908.png\":\"https://framerusercontent.com/images/YsyWyPQvVPEBiXYzfVmPgzZ2guE.png\",\"site/693774fc3edb.svg\":\"https://framerusercontent.com/images/Ar01dxnasDP6tXIY9R55BIgdM.svg\",\"site/fa808a79c23b.png\":\"https://framerusercontent.com/images/RV63mLWwM10cb8qfnMRMPNlbZMk.png\",\"site/3da4c0fbd839.png\":\"https://framerusercontent.com/images/BmONVrhEgCKUA5YLGaBsg0fW8IA.png\",\"site/d2fc2df88a77.png\":\"https://framerusercontent.com/images/CgqH7fxG6KyS1O3n0kN0IBDR4.png\",\"site/54b92d6acbdd.jpg\":\"https://framerusercontent.com/images/4x8uGElyleXwSEkx60gHRX4fbp4.jpg?scale-down-to=1024\",\"site/hd/54b92d6acbdd.jpg\":\"https://framerusercontent.com/images/4x8uGElyleXwSEkx60gHRX4fbp4.jpg\",\"site/18d722ced905.png\":\"https://framerusercontent.com/images/XLc6I1fLZduEVwei78SmAPSdKs.png\",\"site/9782cf013829.png\":\"https://framerusercontent.com/images/CCGhYNFjlhCwft8VSI77wtJLs.png\",\"site/758ff4cdac72.png\":\"https://framerusercontent.com/images/ffryI0DV9Kb5MvZcj7Cje5zHPF4.png\",\"site/78d0494abe49.svg\":\"https://framerusercontent.com/images/ACL9Z6hNZDLpzfIbAIbHP93l9Y.svg\",\"site/416da7bdb1f9.png\":\"https://framerusercontent.com/images/KIXPP9bX97zUw5AJlTeqfLWVi4Q.png\",\"site/d-1966230319.svg\":\"https://framerusercontent.com/images/ro0TYxpcbwRZgnDU9g4CXpuVBQ4.svg\",\"site/d-e9178a452b.svg\":\"https://framerusercontent.com/images/xFmza7aXlHBtSRj2BqpzNy2N0kY.svg\",\"site/d-d446b96c92.svg\":\"https://framerusercontent.com/images/DuNjfJSRMPQKHgSZ6YG4uUzwzU.svg\",\"site/d-0d6ea98a1f.svg\":\"https://framerusercontent.com/images/fmJpRph6rgua1G7qfXKLXrN6vNA.svg\",\"site/d-fdf85a9faa.svg\":\"https://framerusercontent.com/images/xBQkFiW0xGveRBhntm6HmkTR72Q.svg\",\"site/d-61366a993b.svg\":\"https://framerusercontent.com/images/c8Xe8wjlOylJewxHJi8pTzCLE0.svg\",\"site/d-f0ef358c99.svg\":\"https://framerusercontent.com/images/9QLhYS2CwBG62j485OaOtdkKn1Q.svg\",\"site/f2eb8a867bc3-mask.png\":\"https://framerusercontent.com/images/FXlxZKUk0vSK1mt2SJsslQ0SVPM.png\",\"site/d-a08c8f6117.svg\":\"https://framerusercontent.com/images/RW1wqs8SrzA3vmsMiBnd6tPcU.svg\",\"site/credit-1.svg\":\"https://framerusercontent.com/images/FbWlrnOER8L7kSLx4B0MWjqk.svg\",\"site/credit-2.svg\":\"https://framerusercontent.com/images/8Wh0RPJheCJEplVLcsNtx4T3Y.svg\",\"site/credit-3.svg\":\"https://framerusercontent.com/images/kEfdtrBtBgQAGgx1fg5ZEU9N45I.svg\",\"site/credit-4.svg\":\"https://framerusercontent.com/images/n3pKc5FQ4AuYbNX5ROOCqcEr2g.svg\",\"site/credit-5.svg\":\"https://framerusercontent.com/images/eEE3okRXpzZcGeIPjOzi7sJn4.svg\",\"site/credit-7.svg\":\"https://framerusercontent.com/images/4dUiJMuLLsW4VY1VHC73LsKaw.svg\",\"site/credit-8.svg\":\"https://framerusercontent.com/images/gAgHmPcr7IaBgMcpJYsCvPclCZI.svg\",\"site/credit-9.svg\":\"https://framerusercontent.com/images/8oqAacWm3j2IecXmmQ1iuS2hbvk.svg\",\"site/credit-10.svg\":\"https://framerusercontent.com/images/jSPQWJQSgqGonToEQHLhqf8yfw.svg\",\"site/credit-11.svg\":\"https://framerusercontent.com/images/klg5ab5dU9aAUxVEhsyfPGOqhQ.svg\",\"site/credit-12.svg\":\"https://framerusercontent.com/images/Ar01dxnasDP6tXIY9R55BIgdM.svg\",\"site/q-google.png\":\"https://framerusercontent.com/images/raPVIWFB8gW8XzJ2sbJSDEh722c.png\",\"site/q-microsoft.png\":\"https://framerusercontent.com/images/ZwPAclXXc8d44NoKahFVkH6EipM.png\",\"site/q-cohere.png\":\"https://framerusercontent.com/images/5VOo3gI4agH8Fe4eUuQuvYdPFNo.png\",\"site/q-meta.png\":\"https://framerusercontent.com/images/l6iPafL9ALQivdecVxG7PnpQVhM.png\",\"brand/favicon.svg\":\"https://framerusercontent.com/images/2AmnydUWsITAqijM1hDLVt3Mm0.svg\",\"brand/ai-circle-logo-black.svg\":\"https://framerusercontent.com/images/casoaE66ey3CNNdEyRT6XDLTo.svg\",\"brand/ai-circle-logo-white.svg\":\"https://framerusercontent.com/images/fX8FRgMOU63jASSbWCcs81LAvfw.svg\",\"site/14faf9d87610.svg\":\"https://framerusercontent.com/images/CV1BuNDEvnHJ9tQwi20TX86YYeg.svg\",\"site/32a93e49cc92.svg\":\"https://framerusercontent.com/images/zj1We2ahWCaK8HGdOCr2Pt7cw.svg\",\"site/362b777bd213.svg\":\"https://framerusercontent.com/images/TObg9GE7TNwI7nTgtI9ONCHZfo.svg\",\"site/508e9007dff2.svg\":\"https://framerusercontent.com/images/toD82AT0kMBZPFL2v0cCQQuOzHc.svg\",\"site/5dc601e42727.svg\":\"https://framerusercontent.com/images/QrLJ36iJjSqj05xdbXXkcE2g.svg\",\"site/6964b4aeb4f8.svg\":\"https://framerusercontent.com/images/5z2CmJlnRYOCOjhj6iAYi0Zgf3Y.svg\",\"site/701d5ef1dafe.svg\":\"https://framerusercontent.com/images/O3Z1fUlWTKlu6DwhxCnlemWOyfE.svg\",\"site/76cf06139819.svg\":\"https://framerusercontent.com/images/7F4hwOCjQD0mSAtM2yKHbxNMs.svg\",\"site/805ff05e484c.svg\":\"https://framerusercontent.com/images/gzjzlwRGZL40lWoOpWOnctWOI4U.svg\",\"site/8f56dc81cc3c.svg\":\"https://framerusercontent.com/images/mdWTwiq3PuZkBuRpuJpd3U8D8Y.svg\",\"site/9a6b2d0ab1f6.svg\":\"https://framerusercontent.com/images/kclysSlhVbdZGxkBWJpAIvZ0O0o.svg\",\"site/a513409f8b8a.svg\":\"https://framerusercontent.com/images/UrMQLeushcERHlqHc5ZpMGFmGJo.svg\",\"site/ad645780f24e.svg\":\"https://framerusercontent.com/images/t8w9r8zL2FmNxWeBwHokNgcrnCY.svg\",\"site/adc9233cb246.svg\":\"https://framerusercontent.com/images/grr6uCYedYbq1FeccJ3GSn9dc.svg\",\"site/c8b345e3e67e.svg\":\"https://framerusercontent.com/images/kqXWCpNMCFJyyZEef7UZFE2KTg.svg\",\"site/d-559cdf2c2d.jpg\":\"https://framerusercontent.com/images/BRhSu0LosdAV2TjQRyNAH6Hmh0U.jpg\",\"site/d-81d6bdee0e.svg\":\"https://framerusercontent.com/images/qbelilPnm3fwYMpEcRGkwzO27BU.svg\",\"site/d-be89d00391.png\":\"https://framerusercontent.com/images/Jsk4r2LJKgNqLdsXDp503SEF5Jw.png\",\"site/dc4c366deade.svg\":\"https://framerusercontent.com/images/IHnbiEdKwnpAbgpGymR8UIm9xZk.svg\",\"site/efa226d35b8d.svg\":\"https://framerusercontent.com/images/f7YiniaYYD69i2woJRTzd73jvo.svg\",\"site/f2eb8a867bc3.png\":\"https://framerusercontent.com/images/azUNO7B1wmY8MFoj9BtNE3WjU.png\",\"brand/ai-circle-mark-white.svg\":\"https://framerusercontent.com/images/XWwCDFH7kf372pxoK9uHuSSVkk.svg\",\"site/06e66e0b3d58.png\":\"https://framerusercontent.com/images/pDxQ2s5HS6IviVwNDWUFmuacWfQ.png\",\"site/07c14792311a.png\":\"https://framerusercontent.com/images/waV7TqVnq7OBrr026fmTTw0tU.png\",\"site/0a405692d5bd.jpg\":\"https://framerusercontent.com/images/fmRXoJD3mWCuZ3EPyLqVoXJtAUw.jpg\",\"site/0ba359f1d191.jpeg\":\"https://framerusercontent.com/images/y5XJFC75XwGVACFsuiMGHI7W4I8.jpeg\",\"site/0beea0f43f76.png\":\"https://framerusercontent.com/images/AYmkxE42Gfc8xP45uP6UoDxspHo.png\",\"site/117d4c740a41.jpg\":\"https://framerusercontent.com/images/AYwpXlsKp5SOdOA6e9B9kB2As.jpg\",\"site/129fe31e8998.jpeg\":\"https://framerusercontent.com/images/L9KDUUq4cNjRKVVH4wSBPhtBms.jpeg\",\"site/19fb6b834f59.png\":\"https://framerusercontent.com/images/miAyIwDXAEQ0eCum9t7UV6Lmayg.png\",\"site/1f0340cf1fd3.png\":\"https://framerusercontent.com/images/DkZmn7eSHzrXSPlTsvklqXEiAhY.png\",\"site/37535878caee.jpg\":\"https://framerusercontent.com/images/4ZT73b2vNyFd683u60w5SdJYY.jpg\",\"site/4bd1d5223712.jpg\":\"https://framerusercontent.com/images/rJDUcwP2tYK6zN9Dz1Voa5daI.jpg\",\"site/4eb6cb60a9c2.jpg\":\"https://framerusercontent.com/images/4ky4SXicDwD2TcsWorNuk1cOk.jpg\",\"site/54d10b9c3afe.png\":\"https://framerusercontent.com/images/qWt9WgxCwofzQ1TZzQwWdxk7DI.png\",\"site/5b4da320a4e5.jpeg\":\"https://framerusercontent.com/images/vQ9eEGLejfPaoH3x4x2XpEtyI18.jpeg\",\"site/625a2e54c04d.png\":\"https://framerusercontent.com/images/apLjZc83UzLSZtrzE2dAT10rTE.png\",\"site/69b5c60b5128.png\":\"https://framerusercontent.com/images/oBWp41No7fYD7NK0XZnCPOkNV2Y.png\",\"site/6fc4f0177d56.jpg\":\"https://framerusercontent.com/images/tR7W72GkYi5RPppfVKwhvnpKd8.jpg\",\"site/709c52bf1170.png\":\"https://framerusercontent.com/images/BAQVfDvN86HUEYYK7T07E3IuOvY.png\",\"site/726968c5be31.png\":\"https://framerusercontent.com/images/HouYOK3SlYQpX87btUM981DCPo.png\",\"site/7ec7ce4799ed.png\":\"https://framerusercontent.com/images/cBDParmDBgakFylDUq7QZwGbo.png\",\"site/8d2a18e3ebb7.jpeg\":\"https://framerusercontent.com/images/QCwV9TqZWzLlmQY9qIEwtIkDQNk.jpeg\",\"site/8e09eeab9a2c.jpg\":\"https://framerusercontent.com/images/5KJdkMO9fAe9LThhTJgup20JY.jpg\",\"site/a1ba04c609ed.png\":\"https://framerusercontent.com/images/9BWmJJ9OEcYUK3YPgU7f57Aejfk.png\",\"site/c5dd0adc76a5.jpeg\":\"https://framerusercontent.com/images/a9KJuSfW2LHxriVbPikhNjP8E.jpeg\",\"site/c924960575b9.png\":\"https://framerusercontent.com/images/D7nUtlJdkX3VaBxC1DfbQstlhw.png\",\"site/c95dc0d5309a.jpg\":\"https://framerusercontent.com/images/zuSuxcc9ysFjtti9jGaU3QSEXhY.jpg\",\"site/cf166ca22d5a.png\":\"https://framerusercontent.com/images/OrvIVX27gPIezxIW9SqvhJGJIqE.png\",\"site/cffca7d2f2ad.jpg\":\"https://framerusercontent.com/images/txaJzsaMoSU08ctKEn3qZwOJc.jpg\",\"site/d36148a01f93.png\":\"https://framerusercontent.com/images/mph2XQ47peHZhqiYHtKvgaWBWA.png\",\"site/e4c27dfbc5d3.jpeg\":\"https://framerusercontent.com/images/7X3NsBZZTQS6U2UPdP6q10EYIPM.jpeg\",\"site/ef608bffc851.png\":\"https://framerusercontent.com/images/TnCaJ4yVqyybg4B7EQPn3F9yyI.png\",\"site/efa3779b4535.jpg\":\"https://framerusercontent.com/images/swj1vVtoMzASuNXzBXPOejw3VoA.jpg\",\"site/map-prev-atlas.jpg\":\"https://framerusercontent.com/images/jn2umynNK8ClFjbDEAUv62MQREU.jpg\",\"site/map-prev-mlm.jpg\":\"https://framerusercontent.com/images/IkvkoStlbGvmAw09hv5er9yKY.jpg\",\"site/blog-prev-kimi.jpg\":\"https://framerusercontent.com/images/hXpRDScTkzW8JdQeaDP6A134.jpg\",\"site/blog-prev-brain.jpg\":\"https://framerusercontent.com/images/wrfZE6bUDA79QdgSIizaJhQIcBk.jpg\",\"site/blog-prev-bench.jpg\":\"https://framerusercontent.com/images/MWTjQkPS1QSqFMI0LPa7xh8IDu4.jpg\",\"site/blog-art-kimi.jpg\":\"https://framerusercontent.com/images/iUIrwWjK069khofRTZXb0yRTdA.jpg\",\"site/blog-art-brain.jpg\":\"https://framerusercontent.com/images/REjBtUgVwcGqr63YmaL6Gi94ptE.jpg\",\"site/blog-art-bench.jpg\":\"https://framerusercontent.com/images/ChRRZGUxkfl1u3rsDUsvym5lwA.jpg\",\"site/logo-qualcomm-aihub.png\":\"https://framerusercontent.com/images/XR6OA9wPALtqRwBHvZ24KSmvm5k.png\",\"site/logo-f5.png\":\"https://framerusercontent.com/images/TbT7HhTlKVzxhBZ9Rjro9FuIq8.png\",\"site/logo-databricks.png\":\"https://framerusercontent.com/images/yKJvdfff1xSHBS7Fc6bIVd102Eo.png\",\"site/logo-f5-v2.png\":\"https://framerusercontent.com/images/ifnCP1N4ZxWyFVdnoV38tOVWw.png\",\"site/lg-meta_logo.webp\":\"https://framerusercontent.com/images/wsrtHf5fc5ELIiOeYNBzY0jhDs.webp\",\"site/lg-Lightwheel_Logo.webp\":\"https://framerusercontent.com/images/xrQHNMC0YAhZbNq20lQByPnMk9k.webp\",\"site/lg-mecka_logo.webp\":\"https://framerusercontent.com/images/txpw3UJgt73cb5LYLQE4012ulg.webp\",\"site/lg-microagi_logo.webp\":\"https://framerusercontent.com/images/vWobVJUUr4XhGzgKM5A43g1wwo.webp\",\"site/lg-Micro1_logo.webp\":\"https://framerusercontent.com/images/N6JPpZ7Lzq8S9L3mNRn5rEzOiU.webp\",\"site/lg-humyn_labs_logo.webp\":\"https://framerusercontent.com/images/lH20ftwNW5FJc9bAbxq4iWW9lo.webp\",\"site/lg-build_logo.webp\":\"https://framerusercontent.com/images/mlnnJcl7uIDtz6vLz8bTo5sU7Nw.webp\",\"site/lg-poseidon_logo.webp\":\"https://framerusercontent.com/images/vlLMmgX0YhTovNQTuQRIsB0iE.webp\",\"site/lg-vindynamics_logo.webp\":\"https://framerusercontent.com/images/6W5nj47nE3ZnCwYMOKd5vseTzPk.webp\",\"site/lg-human_archive_logo.webp\":\"https://framerusercontent.com/images/ux4OoVgM7cqQWUhPuOobTEaEt0U.webp\",\"site/lg-uber_ai_solutions.webp\":\"https://framerusercontent.com/images/c3bJdpT3AtRFPWktaU6BJgYi3tI.webp\",\"site/lg-8f227d519b08.webp\":\"https://framerusercontent.com/images/J3x04iwZdgkPI19iuvTOIgbhFR0.webp\",\"site/lg-709c52bf1170.webp\":\"https://framerusercontent.com/images/uqf3gPmfZlprsHmnhPSIufintU.webp\",\"site/lg-69b5c60b5128.webp\":\"https://framerusercontent.com/images/WcZceyuDiMx5xNm2YdfhZIEo4.webp\",\"site/lg-54d10b9c3afe.webp\":\"https://framerusercontent.com/images/aLrABeJJhF6Y8xJUw6KjPWOuaN8.webp\",\"site/lg-8f57705f9f5a.webp\":\"https://framerusercontent.com/images/H5kJmkATcdJ8Ha67sDYf7cgZnk.webp\",\"site/lg-Labelbox_logo.webp\":\"https://framerusercontent.com/images/kZ60k79iMsx1QmIH0AkGuG9CXk.webp\",\"site/lg-19fb6b834f59.webp\":\"https://framerusercontent.com/images/klxYzIGqs6GTOAa15f1rIGQydyU.webp\",\"site/lg-8cf8a1921a14.webp\":\"https://framerusercontent.com/images/bpD404lOv0dsOdacyzwbvTVEuW8.webp\",\"site/lg-sama_logo.webp\":\"https://framerusercontent.com/images/8CkmKtyfvf1wf0IFRGyaiq7tB0.webp\",\"site/lg-centific_logo.webp\":\"https://framerusercontent.com/images/f2bE3JGut8eYglsWOrX8nZsAys.webp\",\"site/lg-c3118d496b6b.webp\":\"https://framerusercontent.com/images/OLJJUrVn7d9YDa2pUcJGuPX9KnQ.webp\",\"site/lg-imerit_logo.webp\":\"https://framerusercontent.com/images/thpnhb0PH8aoGk1RE9Bp62qE5Yc.webp\",\"site/lg-19497c5d2163.webp\":\"https://framerusercontent.com/images/joW8cD0c5DxlRZBZmxJVra7Puk.webp\",\"site/lg-agibot_logo.webp\":\"https://framerusercontent.com/images/bJ51QwxFMekUc2nRZOZLqf2Tbo.webp\",\"site/lg-xdof_logo.webp\":\"https://framerusercontent.com/images/FdisK6Air0lTCfKuQjyabqZtn7Q.webp\",\"site/lg-nvidia_logo.webp\":\"https://framerusercontent.com/images/VK721TGK2eyt9bkApalKv6lQXS0.webp\",\"site/lg-telus_logo.webp\":\"https://framerusercontent.com/images/xo82hxRYd8z8OxeaJIYGK4zdw.webp\",\"site/lg-Innodata-Logo.webp\":\"https://framerusercontent.com/images/TIAluPBE0lREDUNCtmW1G61sb8.webp\",\"site/lg-scale_logo.webp\":\"https://framerusercontent.com/images/XObRgmMjtJTegSSx8XLznkIaBU.webp\",\"site/lg-encord_logo.webp\":\"https://framerusercontent.com/images/bJpGqAAGORBOyuLuggCeTtvaeUQ.webp\",\"site/lg-voxel51-logo.webp\":\"https://framerusercontent.com/images/9J8Rd1pP6jNNoISncQ4h4pCgimI.webp\",\"site/lg-deccan_logo.webp\":\"https://framerusercontent.com/images/oxs4ugjomp9V82cOPUMClzeASio.webp\",\"site/lg-rerun_logo.webp\":\"https://framerusercontent.com/images/uMfNFTAMh8hgTBkoN2MAZn7FrwY.webp\",\"site/lg-memories_ai_logo.webp\":\"https://framerusercontent.com/images/P34TgUB5rSuj7Sp7yhqglVb4za8.webp\",\"site/lg-7ec7ce4799ed.webp\":\"https://framerusercontent.com/images/q7l0Afb1pO5r3Mjo3egixPDMU8.webp\",\"site/lg-132095e85349.webp\":\"https://framerusercontent.com/images/CxuPezm5bXK5eY00IBFRqRDdkx4.webp\",\"site/lg-6d512ca1c40d.webp\":\"https://framerusercontent.com/images/LMavTyAA17onFe9EaYI7I4E433I.webp\",\"site/lg-48c96967fffd.webp\":\"https://framerusercontent.com/images/fMaXgJuNz9ikyktPPYEwCqgOTNs.webp\",\"site/lg-f8867b61171d.webp\":\"https://framerusercontent.com/images/ZlykzuAPBKjJ1IYrPd3D4oAFhk.webp\",\"site/lg-b0ccf9cb4b67.webp\":\"https://framerusercontent.com/images/omEI60oMb0m2MmgPISahHXLcjAI.webp\",\"site/rl-14faf9d87610.webp\":\"https://framerusercontent.com/images/a6LHdmRtKWo8vVDtssKuBztzQw.webp\",\"site/rl-32a93e49cc92.webp\":\"https://framerusercontent.com/images/iL5eAzLw79G0D6lBWHDPtsgaCW8.webp\",\"site/rl-362b777bd213.webp\":\"https://framerusercontent.com/images/av3ktoQ3XNtrlrbq2sDz4Uo.webp\",\"site/rl-508e9007dff2.webp\":\"https://framerusercontent.com/images/If8JqZkPE6IUvuQK83hESqz3R4w.webp\",\"site/rl-5dc601e42727.webp\":\"https://framerusercontent.com/images/NKd1J83hwFk53OUkWlrs25x6qk.webp\",\"site/rl-76cf06139819.webp\":\"https://framerusercontent.com/images/HPPaaKALtEDGJuCDTnoBwH87Gc.webp\",\"site/rl-805ff05e484c.webp\":\"https://framerusercontent.com/images/NlySTJFBzQ6YnPu1SLgvki8B5Zo.webp\",\"site/rl-8f56dc81cc3c.webp\":\"https://framerusercontent.com/images/B2shyoxE929NWfgGCNBMEkt1Tc.webp\",\"site/rl-a513409f8b8a.webp\":\"https://framerusercontent.com/images/e7bdhjsNoOIcVpMoXo75Pgv4JrY.webp\",\"site/rl-ad645780f24e.webp\":\"https://framerusercontent.com/images/JYMXYLIrz7My6eznseKYtPGwW4w.webp\",\"site/rl-dc4c366deade.webp\":\"https://framerusercontent.com/images/WqWBQ9Y192EJkGlFMmoaiIsNhE0.webp\",\"site/rl-efa226d35b8d.webp\":\"https://framerusercontent.com/images/PtZatQ5gJJUlnc9GSAUjItmg0M.webp\",\"site/map-prev-coding.jpg\":\"https://framerusercontent.com/images/rBmqltdKBcFNlLcTp8O4ZLyfU.jpg\",\"site/rl-mit-mark.webp\":\"https://framerusercontent.com/images/No9lC2QPj7xqc9X2PqKckIof34.webp\",\"site/neurips-mark.svg\":\"https://framerusercontent.com/images/Wv3i2yzKW301CfHCCdAGveLrw8.svg\",\"site/aie-wordmark.svg\":\"https://framerusercontent.com/images/lRj8GS8btAgAfJvbAjaPzm85YbY.svg\"};const RF={\"https://framerusercontent.com/images/lGANoUw2dKOSpFKdX6Igq9B9Elo.jpg\":\"844552ad8b12.jpg\",\"https://framerusercontent.com/images/anfR39w02U0s6lq3SiLZ6YDI.jpg\":\"2e0ddac5a3c5.jpg\",\"https://framerusercontent.com/assets/FWDMj3eBDZzludW39lOxUoncsbo.jpg\":\"3efe9ce63d4c.jpg\",\"https://framerusercontent.com/images/D2IHQShtKbRjK6m5vxuhxgY4kHs.jpg\":\"930e1f7d2d7f.jpg\",\"https://framerusercontent.com/assets/rZcK6QBdEIpmGvD9MtGSVaKeE.jpg\":\"7eb5afcc65b2.jpg\",\"https://framerusercontent.com/assets/gSIcmdHD52jYOIEB3qYwTLRutM.jpg\":\"78965b4c821a.jpg\",\"https://framerusercontent.com/images/FHSnQrehxDOdP1OUNQb9XmPuWMI.jpg\":\"4581d82131c0.jpg\",\"https://framerusercontent.com/images/Qr8STNUzkVZk3srlAdnqhh68JH4.jpg\":\"9334b6e0a2d4.jpg\",\"https://framerusercontent.com/images/qXYJqSXABhFdG9QShGtZEKTDvKI.jpg\":\"ade02aabd5c0.jpg\",\"https://framerusercontent.com/images/fegdCzACbxlYhK4GTV7QxjZwIo.jpg\":\"062417c3a6a5.jpg\",\"https://framerusercontent.com/images/uRRlze4LvnEC8IMjh37B2m0mIc.jpg\":\"3e87c33d03f6.jpg\",\"https://framerusercontent.com/images/RDepEg2fXCdwXP2nvn6onavyQwo.jpg\":\"ec3a1818e222.jpg\",\"https://framerusercontent.com/images/FoIc75mT7INYRbqpkL50J3ycGw.jpg\":\"88e6ea42650b.jpg\",\"https://framerusercontent.com/images/CfHfFEqxqKoqmQVDpmkLxnKjCuA.jpg\":\"b839603e1d07.jpg\",\"https://framerusercontent.com/assets/Asjh72rrXdWCu7nSKzkBrlGjqpE.jpg\":\"bb58fec6df01.jpg\",\"https://framerusercontent.com/images/AOlgIEbojCe1Zu9r6jOBJ5MIHo.jpg\":\"3d28b72c3813.jpg\",\"https://framerusercontent.com/images/6rl5qqP02LJwqtArL80maOqD90.jpg\":\"7ed2e75d86e0.jpg\",\"https://framerusercontent.com/images/JrBCBQ5Kg49CGJNIYO5XJx9LHvs.jpg\":\"326e42685bde.jpg\",\"https://framerusercontent.com/images/KNlMxEdGCWJ093yHuoCi9KcQNFY.jpg\":\"1e3b175a5906.jpg\",\"https://framerusercontent.com/images/ctRBJrWsl6F9vLBhMzk5qWTPKZM.jpg\":\"6d512ca1c40d.jpg\",\"https://framerusercontent.com/images/UI5x5PD1uzdOTUe700pr5iJCoQ.jpg\":\"6bd79b223b54.jpg\",\"https://framerusercontent.com/images/RXULsqweXKqnwuuFKzhMIju81Q.jpg\":\"05c628c73372.jpg\",\"https://framerusercontent.com/images/IaxwPZ6U3x70YsBDW54bpJm8Xs4.jpg\":\"a6908fd9a260.jpg\",\"https://framerusercontent.com/images/TShdydHuxCF1nFLdIq8QHKFJ7k.jpg\":\"39351b4833e9.jpg\",\"https://framerusercontent.com/images/vMoAVQg3cM4MRbb0jCr29641g30.jpg\":\"826796dd7c81.jpg\",\"https://framerusercontent.com/images/LylmoRJCVNkk5KYiSIunmMUR8.jpg\":\"5a7bac1f1413.jpg\",\"https://framerusercontent.com/images/8cbxfrnmpW2xophlGJxIJq05Y.jpg\":\"7aa3d434cdef.jpg\",\"https://framerusercontent.com/assets/GNZmC4PqAhPxWDG6We0iEWR5Ch0.jpg\":\"24c168bcab7a.jpg\",\"https://framerusercontent.com/images/yrOjVHjOd3Q08Cz6JyAb1rMbpg.jpg\":\"fe46eefc3c34.jpg\",\"https://framerusercontent.com/images/nEh2aKqiOB9AzhNIggSgjON8mLw.jpg\":\"28e89745d59e.jpg\",\"https://framerusercontent.com/images/8iZvnmj8yWFnYXwT4y6zrJiBaM.jpg\":\"01d90b845edb.jpg\",\"https://framerusercontent.com/images/ribiQXgO5JjhFL7Uuv8JXeLxqGo.jpg\":\"d903f5f36563.jpg\",\"https://framerusercontent.com/images/Mp9O0CjTaqR2YTAqv0FrNjRt8.jpg\":\"f4b9601502a9.jpg\",\"https://framerusercontent.com/images/ci5A2DMmwLDbzVi9Qb6pM01hD8.jpg\":\"ac9aab380fbd.jpg\",\"https://framerusercontent.com/images/hjdHHh7JjSLJ9IhQxrgIKdxcvs.jpg\":\"75d17bb00755.jpg\",\"https://framerusercontent.com/images/0n3pZfOkiMkS6Fi7XkHNIfNDkzA.jpg\":\"543ab1d1db21.jpg\",\"https://framerusercontent.com/images/02CQ4y3xO3cIpf0qbxwXS4CkE9s.jpg\":\"c1d1c8390299.jpg\",\"https://framerusercontent.com/assets/MARWh2XCrCNzoHvA7HrNTz7p7u0.jpg\":\"2ada0fc649ad.jpg\",\"https://framerusercontent.com/images/wSBzQRToULeiSZli85PzcwND6k.jpg\":\"ee9b2f91baf6.jpg\",\"https://framerusercontent.com/images/cjQ73bLBHPoaMN98un8GjF1hcrk.jpg\":\"8541b8d441cf.jpg\",\"https://framerusercontent.com/images/DQ1hYfwkxrZIVw25SKhm4WKdaC8.jpg\":\"91c1aba83583.jpg\",\"https://framerusercontent.com/images/YxYe8ZZaT0w0eMOX9haacgoARg.jpg\":\"7fc053dbfd15.jpg\",\"https://framerusercontent.com/images/u62MzjiBsNWhFoJtMlI8Fu8Jo.jpg\":\"2c990961ced9.jpg\",\"https://framerusercontent.com/images/hZqfka7KcDzM00nUnfR7BB2ig.jpg\":\"eabee4e0348a.jpg\",\"https://framerusercontent.com/images/VzQnHCc7aVM5mWhOUPY5gi58LSk.jpg\":\"695f58f5cd74.jpg\",\"https://framerusercontent.com/images/dAvCnsXIYlSrnGM9bnFFnrCAsa0.jpg\":\"8dfc8487ea8a.jpg\",\"https://framerusercontent.com/images/ySyBKeOy6cu6Ov5ppQWLhvoW8.jpg\":\"5b1e7d78f254.jpg\",\"https://framerusercontent.com/images/rMWalVI6Dl9oFA4d8p58LsaBVM.jpg\":\"55546689b176.jpg\",\"https://framerusercontent.com/images/85VRnooKdCPKRPFHRup53SOqsI.jpg\":\"e874a972affe.jpg\",\"https://framerusercontent.com/images/K9sLCQ4tkQL8Tff2kwEi89tes.jpg\":\"95b74b378b72.jpg\",\"https://framerusercontent.com/images/Y5cmCmX36saPGviqK7ZeknlVRk.jpg\":\"ef4b9fe4bb9f.jpg\",\"https://framerusercontent.com/assets/odyAAC1sO2FMh5ywO67EUUxu8I.jpg\":\"27735ff30c9a.jpg\",\"https://framerusercontent.com/assets/KC6PiP0sASleLDYFMPW9mnl8ab8.jpg\":\"a6debadba24e.jpg\",\"https://framerusercontent.com/images/19xzZRZClg6Rl5sHZaVJbTW2b8.jpg\":\"7cd2283a5c1f.jpg\",\"https://framerusercontent.com/images/4sYLRSIFzeZJmKrbf9BJ13c5DiA.jpg\":\"2314bc188b91.jpg\",\"https://framerusercontent.com/assets/p3DDnUxvYB4ZQiw7lfmc44KwblU.jpg\":\"645612bb33f7.jpg\",\"https://framerusercontent.com/images/iwWvq6QE29hYs4gCdD8FqdQzPQ.jpg\":\"95cc19ce6ead.jpg\",\"https://framerusercontent.com/images/qHx8PEAkiz2jwQjM0774JQ9SLbk.jpg\":\"0b13a6769c0d.jpg\",\"https://framerusercontent.com/images/HaLgOFEpFS2fmAqZ6g14Jeg.jpg\":\"7621c90050bc.jpg\",\"https://framerusercontent.com/images/V5URzqzliBZ2hD12GX3YHI6ZnoI.jpg\":\"5c4cf2621594.jpg\",\"https://framerusercontent.com/assets/SJFVvkIjIvg3t1useq1oH3BME.jpg\":\"8676f9026dc2.jpg\",\"https://framerusercontent.com/images/1imN57MayC5eZyAtBJN7xUk6hg.jpg\":\"41d9350f6abc.jpg\",\"https://framerusercontent.com/images/vDeg9BHKjXwmUCR63PuDc0aEqE.jpg\":\"622aed915b2b.jpg\",\"https://framerusercontent.com/images/JPpi2gT048fUxAG456KsPCQR05M.jpg\":\"8ce9cc1f2ffe.jpg\",\"https://framerusercontent.com/images/4dMsGQpdNWcUJT7IkqtRcsXGZU.jpg\":\"883b7a845998.jpg\",\"https://framerusercontent.com/images/r53bJ1oiE7l284vizbn92UsaJM.jpg\":\"33c83e669578.jpg\",\"https://framerusercontent.com/images/WnThN5RIjKTfRAQ28h49n2mvIlY.jpg\":\"400fb1282930.jpg\",\"https://framerusercontent.com/images/EubapLt1JWdA3li9Pg25HmM9CY.jpg\":\"000a297a5550.jpg\",\"https://framerusercontent.com/images/fUfbV5r4SYGtOlvYokrlgyh7g.jpg\":\"1ce892b0bc25.jpg\",\"https://framerusercontent.com/images/UOo5CE713qJ1RVjznO2mVdz4yGk.jpg\":\"e8b7b11a8c3f.jpg\",\"https://framerusercontent.com/images/gJboFNZCsZ8Ei0fdJPvXzlTLlkE.jpg\":\"8f20c012c53d.jpg\",\"https://framerusercontent.com/images/e3dOzYFkv5W1ROk1MZVKvzHQo0.jpg\":\"f71519fd45bc.jpg\",\"https://framerusercontent.com/images/vRIIg4WvKfe7gkgRfvuWgZL7I4.jpg\":\"11bf7be40b95.jpg\",\"https://framerusercontent.com/images/gEdpdcXNNaFt4flGK4UGPY0VlHg.jpg\":\"de763cc27028.jpg\",\"https://framerusercontent.com/images/ZKQ5pHXX2BIui9IBoMWGx1jM.jpg\":\"85dd1b8bb91e.jpg\",\"https://framerusercontent.com/images/pLp4NpsDtNgEirhpqqLMwq4JI.jpg\":\"64882233c287.jpg\",\"https://framerusercontent.com/images/4x8uGElyleXwSEkx60gHRX4fbp4.jpg\":\"54b92d6acbdd.jpg\",\"https://framerusercontent.com/images/BRhSu0LosdAV2TjQRyNAH6Hmh0U.jpg\":\"d-559cdf2c2d.jpg\",\"https://framerusercontent.com/images/fmRXoJD3mWCuZ3EPyLqVoXJtAUw.jpg\":\"0a405692d5bd.jpg\",\"https://framerusercontent.com/images/AYwpXlsKp5SOdOA6e9B9kB2As.jpg\":\"117d4c740a41.jpg\",\"https://framerusercontent.com/images/4ZT73b2vNyFd683u60w5SdJYY.jpg\":\"37535878caee.jpg\",\"https://framerusercontent.com/images/rJDUcwP2tYK6zN9Dz1Voa5daI.jpg\":\"4bd1d5223712.jpg\",\"https://framerusercontent.com/images/4ky4SXicDwD2TcsWorNuk1cOk.jpg\":\"4eb6cb60a9c2.jpg\",\"https://framerusercontent.com/images/tR7W72GkYi5RPppfVKwhvnpKd8.jpg\":\"6fc4f0177d56.jpg\",\"https://framerusercontent.com/images/5KJdkMO9fAe9LThhTJgup20JY.jpg\":\"8e09eeab9a2c.jpg\",\"https://framerusercontent.com/images/zuSuxcc9ysFjtti9jGaU3QSEXhY.jpg\":\"c95dc0d5309a.jpg\",\"https://framerusercontent.com/images/txaJzsaMoSU08ctKEn3qZwOJc.jpg\":\"cffca7d2f2ad.jpg\",\"https://framerusercontent.com/images/swj1vVtoMzASuNXzBXPOejw3VoA.jpg\":\"efa3779b4535.jpg\",\"https://framerusercontent.com/images/jn2umynNK8ClFjbDEAUv62MQREU.jpg\":\"map-prev-atlas.jpg\",\"https://framerusercontent.com/images/IkvkoStlbGvmAw09hv5er9yKY.jpg\":\"map-prev-mlm.jpg\",\"https://framerusercontent.com/images/hXpRDScTkzW8JdQeaDP6A134.jpg\":\"blog-prev-kimi.jpg\",\"https://framerusercontent.com/images/wrfZE6bUDA79QdgSIizaJhQIcBk.jpg\":\"blog-prev-brain.jpg\",\"https://framerusercontent.com/images/MWTjQkPS1QSqFMI0LPa7xh8IDu4.jpg\":\"blog-prev-bench.jpg\",\"https://framerusercontent.com/images/iUIrwWjK069khofRTZXb0yRTdA.jpg\":\"blog-art-kimi.jpg\",\"https://framerusercontent.com/images/REjBtUgVwcGqr63YmaL6Gi94ptE.jpg\":\"blog-art-brain.jpg\",\"https://framerusercontent.com/images/ChRRZGUxkfl1u3rsDUsvym5lwA.jpg\":\"blog-art-bench.jpg\",\"https://framerusercontent.com/images/rBmqltdKBcFNlLcTp8O4ZLyfU.jpg\":\"map-prev-coding.jpg\"};const XART='// AI Circle motion graphics — Scale-style isometric line-art, drawn in SVG and animated on scroll.\\n// Types: pillars \\xb7 rails \\xb7 curve \\xb7 flywheel \\xb7 decision \\xb7 rings \\xb7 grid \\xb7 bars. No text, purely illustrative.\\n// Usage: <div class=\"x-art\" data-art=\"curve\"></div>  (auto-injected into card grids by the bottom block).\\n(function () {\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  const NS = \"http://www.w3.org/2000/svg\";\\n  const W = 320, H = 170;\\n  // isometric helpers (30\\xb0)\\n  const C = Math.cos(Math.PI / 6), S = Math.sin(Math.PI / 6);\\n  const iso = (x, y, z, ox = W / 2, oy = H / 2) => [ox + (x - y) * C, oy + (x + y) * S - z];\\n  const pts = (a) => a.map((p) => p.map((v) => v.toFixed(1)).join(\",\")).join(\" \");\\n  const quad = (cx, cy, z, w, d) => [iso(cx - w, cy - d, z), iso(cx + w, cy - d, z), iso(cx + w, cy + d, z), iso(cx - w, cy + d, z)];\\n\\n  const ART = {\\n    // three stacked isometric planes with chips, separating on enter (Scale \"Three Pillars\")\\n    pillars() {\\n      let g = \"\";\\n      [0, 1, 2].forEach((i) => {\\n        const z = -20 + i * 30, q = quad(0, 0, z, 56, 40);\\n        g += `<g class=\"pl\" style=\"--i:${i}\"><polygon points=\"${pts(q)}\" class=\"ln fl\"/>`;\\n        const c = iso(0, 0, z); g += `<circle cx=\"${c[0].toFixed(1)}\" cy=\"${c[1].toFixed(1)}\" r=\"${i === 1 ? 6 : 5}\" class=\"${i === 1 ? \"acc\" : \"chip\"}\"/></g>`;\\n      });\\n      return g;\\n    },\\n    // extruded wire rails with nodes travelling (Scale \"You own the stack\")\\n    rails() {\\n      const R = (x, y, z) => iso(x * 0.9, y * 0.8, z, W / 2 - 6, H / 2 + 26);\\n      let g = \"\";\\n      for (let k = 0; k < 4; k++) {\\n        const x = -70 + k * 46, a = R(x, -50, 0), b = R(x, 50, 0), a2 = R(x, -50, 34), b2 = R(x, 50, 34);\\n        g += `<polyline points=\"${pts([a, a2, b2, b])}\" class=\"ln dr\" style=\"--d:${k * 0.15}s\"/>`;\\n      }\\n      const p1 = R(-70, 0, 34), p2 = R(68, 0, 34);\\n      g += `<line x1=\"${p1[0]}\" y1=\"${p1[1]}\" x2=\"${p2[0]}\" y2=\"${p2[1]}\" class=\"ln dash\"/>`;\\n      g += `<circle r=\"3.4\" class=\"acc mv\"><animateMotion dur=\"3.6s\" repeatCount=\"indefinite\" path=\"M${p1[0]},${p1[1]} L${p2[0]},${p2[1]}\"/></circle>`;\\n      for (let k = 0; k < 4; k++) { const n = R(-70 + k * 46, 0, 34); g += `<circle cx=\"${n[0].toFixed(1)}\" cy=\"${n[1].toFixed(1)}\" r=\"3.6\" class=\"node\"/>`; }\\n      return g;\\n    },\\n    // performance curve drawing in, square nodes on a step line (Scale \"Performance over time\")\\n    curve() {\\n      const P = [[30, 140], [90, 128], [150, 108], [205, 78], [250, 44], [290, 18]];\\n      let d = `M${P[0][0]},${P[0][1]}`; for (let i = 1; i < P.length; i++) { const [x0, y0] = P[i - 1], [x1, y1] = P[i]; d += ` C${x0 + 25},${y0} ${x1 - 25},${y1} ${x1},${y1}`; }\\n      let g = `<path d=\"${d}\" class=\"ln dr\" pathLength=\"1\"/>`;\\n      g += `<polyline points=\"30,150 120,150 120,140 210,140 210,126 300,126\" class=\"ln dash\"/>`;\\n      P.forEach(([x, y], i) => { if (i % 2) g += `<circle cx=\"${x}\" cy=\"${y}\" r=\"4.2\" class=\"${i === 3 ? \"acc pop\" : \"node pop\"}\" style=\"--d:${0.4 + i * 0.18}s\"/>`; });\\n      return g;\\n    },\\n    // tilted violet plane with orbiting linked nodes (Scale \"The flywheel process\")\\n    flywheel() {\\n      const q = quad(0, 0, 10, 34, 34); let g = `<polygon points=\"${pts(q)}\" class=\"accfill\"/>`;\\n      const c = iso(0, 0, 10); g += `<circle cx=\"${c[0]}\" cy=\"${c[1]}\" r=\"3\" class=\"dot\"/>`;\\n      g += `<g class=\"spin\" style=\"transform-origin:${c[0]}px ${c[1]}px\">`;\\n      for (let i = 0; i < 5; i++) { const a = (i / 5) * Math.PI * 2, n = iso(Math.cos(a) * 62, Math.sin(a) * 62, 10); g += `<line x1=\"${c[0]}\" y1=\"${c[1]}\" x2=\"${n[0].toFixed(1)}\" y2=\"${n[1].toFixed(1)}\" class=\"ln thin\"/><circle cx=\"${n[0].toFixed(1)}\" cy=\"${n[1].toFixed(1)}\" r=\"4.2\" class=\"node\"/>`; }\\n      return g + \"</g>\";\\n    },\\n    // node with branching arrows growing out (Scale decision map)\\n    decision() {\\n      const o = [96, 118]; let g = `<circle cx=\"${o[0]}\" cy=\"${o[1]}\" r=\"10\" class=\"acc\"/>`;\\n      const ends = [[210, 36], [246, 74], [236, 120], [180, 150], [120, 34]];\\n      ends.forEach(([x, y], i) => { const mx = (o[0] + x) / 2 + (i % 2 ? 18 : -14), my = (o[1] + y) / 2 - 10; g += `<path d=\"M${o[0]},${o[1]} Q${mx},${my} ${x},${y}\" class=\"ln dr\" pathLength=\"1\" style=\"--d:${i * 0.12}s\"/><circle cx=\"${x}\" cy=\"${y}\" r=\"4.2\" class=\"node pop\" style=\"--d:${0.6 + i * 0.12}s\"/>`; });\\n      g += `<path d=\"M20,150 Q50,120 ${o[0] - 10},${o[1] + 4}\" class=\"ln dash\"/>`;\\n      return g;\\n    },\\n    // AI Circle rings — concentric hairlines with a travelling signal\\n    rings() {\\n      const cx = W / 2, cy = H / 2; let g = \"\";\\n      [22, 40, 58, 76].forEach((r, i) => (g += `<ellipse cx=\"${cx}\" cy=\"${cy}\" rx=\"${r * 1.5}\" ry=\"${r * 0.62}\" class=\"ln ${i % 2 ? \"thin\" : \"\"} dr\" pathLength=\"1\" style=\"--d:${i * 0.12}s\"/>`));\\n      g += `<circle r=\"3.4\" class=\"acc\"><animateMotion dur=\"6s\" repeatCount=\"indefinite\" path=\"M${cx + 114},${cy} A114,47 0 1,1 ${cx - 114},${cy} A114,47 0 1,1 ${cx + 114},${cy}\"/></circle>`;\\n      g += `<circle r=\"2.6\" class=\"dot\"><animateMotion dur=\"9s\" repeatCount=\"indefinite\" path=\"M${cx - 60},${cy} A60,25 0 1,0 ${cx + 60},${cy} A60,25 0 1,0 ${cx - 60},${cy}\"/></circle>`;\\n      return g;\\n    },\\n    // isometric tile field with cells lighting up\\n    grid() {\\n      let g = \"\", k = 0;\\n      for (let i = -3; i <= 3; i++) for (let j = -2; j <= 2; j++) { const q = quad(i * 22, j * 22, 0, 9, 9); const hot = [3, 9, 16, 22, 29].includes(k); g += `<polygon points=\"${pts(q)}\" class=\"${hot ? \"accfill blink\" : \"ln fl\"}\" style=\"--d:${(k % 7) * 0.3}s\"/>`; k++; }\\n      return g;\\n    },\\n    // isometric bars rising\\n    bars() {\\n      let g = \"\"; [28, 46, 38, 64, 82].forEach((h, i) => { const x = -60 + i * 30, top = quad(x, 0, h, 9, 9), base = [iso(x - 9, 9, 0), iso(x + 9, 9, 0), iso(x + 9, -9, 0)];\\n        g += `<g class=\"bar\" style=\"--d:${i * 0.12}s\"><polyline points=\"${pts([base[0], top[3]])}\" class=\"ln\"/><polyline points=\"${pts([base[1], top[2]])}\" class=\"ln\"/><polyline points=\"${pts([base[2], top[1]])}\" class=\"ln\"/><polygon points=\"${pts(top)}\" class=\"${i === 4 ? \"accfill\" : \"ln fl\"}\"/></g>`; });\\n      return g;\\n    },\\n  };\\n  const ORDER = [\"pillars\", \"curve\", \"flywheel\", \"decision\", \"rings\", \"rails\", \"grid\", \"bars\"];\\n\\n  function render(el) {\\n    if (el.__done) return; el.__done = true;\\n    const type = ART[el.dataset.art] ? el.dataset.art : \"pillars\";\\n    const svg = document.createElementNS(NS, \"svg\");\\n    svg.setAttribute(\"viewBox\", `0 0 ${W} ${H}`); svg.setAttribute(\"aria-hidden\", \"true\"); svg.setAttribute(\"class\", \"x-art-svg t-\" + type);\\n    svg.innerHTML = ART[type]();\\n    el.appendChild(svg);\\n  }\\n  const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"play\"); io.unobserve(e.target); } }), { threshold: 0.35 });\\n\\n  // auto-inject one illustration per card in Scale-style card grids (varied per grid, no repeats side by side)\\n  const GRIDS = \".s-bench .cards:not(.lgrid), .p-dcards, .p-tiles, .x-focus\";\\n  let seed = 0;\\n  document.querySelectorAll(GRIDS).forEach((grid) => {\\n    [...grid.children].filter((c) => c.matches(\".p-tile,.p-dcard,.s-bcard\") || !grid.matches(\".x-focus\")).forEach((card, i) => {\\n      if (card.querySelector(\".x-art,canvas,iframe,form\") || [...card.querySelectorAll(\"img\")].some((im) => !im.closest(\".lab,.with,.logos,.ic\"))) return;\\n      const art = document.createElement(\"div\"); art.className = \"x-art\"; art.dataset.art = ORDER[(seed + i) % ORDER.length];\\n      const ic = card.querySelector(\":scope > .ic\"); if (ic) ic.replaceWith(art); else card.insertBefore(art, card.firstChild);\\n    });\\n    seed += 3;\\n  });\\n  // photo CTA panels → flat Scale colour block with one large line drawing (colour + drawing vary by page)\\n  const PAL = [[\"tan\", \"globe\"], [\"forest\", \"pillars\"], [\"violet\", \"flywheel\"], [\"steel\", \"decision\"], [\"ink\", \"curve\"]];\\n  const hash = [...location.pathname].reduce((a, c) => (a * 31 + c.charCodeAt(0)) >>> 0, 7);\\n  document.querySelectorAll(\".p-photocta\").forEach((sec, i) => {\\n    // never put a black panel next to a dark section; data-panel=\"tan|forest|violet|steel|ink\" forces a colour\\n    const zone = sec.closest(\".dark,.black,.white,.grey,.light\"), prev = (zone && zone !== sec ? zone : sec).previousElementSibling;\\n    const darkPrev = !!(prev && (prev.matches(\".dark,.black,.x-story:not(.light)\") || prev.querySelector(\":scope > .dark, :scope > .black\")));\\n    let k = (hash + i) % PAL.length; if (darkPrev && PAL[k][0] === \"ink\") k = (k + 1) % PAL.length;\\n    const forced = PAL.find((c) => c[0] === sec.dataset.panel), [col, art] = forced || PAL[k], inn = sec.querySelector(\".in\");\\n    sec.classList.add(\"flat\", \"c-\" + col); inn.querySelector(\".ph\")?.remove();\\n    const v = document.createElement(\"div\");\\n    if (art === \"globe\") v.className = \"x-globe\"; else { v.className = \"x-art big\"; v.dataset.art = art; }\\n    inn.insertBefore(v, inn.firstChild);\\n  });\\n  document.querySelectorAll(\".x-art\").forEach((el) => { render(el); if (RM) el.classList.add(\"play\"); else io.observe(el); });\\n\\n  // logo constellation: [data-constellation] holding <img> logos → floating tiles linked by hairlines\\n  document.querySelectorAll(\"[data-constellation]\").forEach((box) => {\\n    const seen = new Set(), logos = [...box.querySelectorAll(\"img\")].filter((im) => !seen.has(im.src) && seen.add(im.src)); if (!logos.length) return;\\n    const wrap = document.createElement(\"div\"); wrap.className = \"x-const\";\\n    const svg = document.createElementNS(NS, \"svg\"); svg.setAttribute(\"class\", \"x-const-lines\"); svg.setAttribute(\"aria-hidden\", \"true\"); wrap.appendChild(svg);\\n    // staggered 3-row field around a central node (Scale \"Trusted by\" constellation); centre kept clear\\n    const mob = innerWidth < 700, n = logos.length, spots = [];\\n    const ROWS = mob ? [[20, 50, 80], [33, 67], [18, 82], [16, 84], [18, 82], [33, 67], [20, 50, 80]] : [[9, 25, 41, 59, 75, 91], [16, 32, 68, 84], [9, 25, 41, 59, 75, 91]];\\n    const ys = mob ? [5, 20, 35, 50, 65, 80, 95] : [16, 50, 84];\\n    ROWS.forEach((row, r) => row.forEach((x, k) => spots.push([x + (((r * 7 + k * 5) % 5) - 2), ys[r] + (((r * 3 + k * 7) % 5) - 2) * (mob ? 0.6 : 1.6)])));\\n    spots.length = Math.min(spots.length, n);\\n    logos.slice(0, spots.length).forEach((im, i) => {\\n      const [x, y] = spots[i];\\n      const t = document.createElement(\"div\"); t.className = \"x-tile\" + (i % 5 === 0 ? \" big\" : \"\"); t.style.left = x + \"%\"; t.style.top = y + \"%\"; t.style.setProperty(\"--d\", (i % 7) * 0.12 + \"s\"); t.style.setProperty(\"--b\", (i % 5) * 0.9 + \"s\");\\n      t.appendChild(im.cloneNode(true)); wrap.appendChild(t);\\n    });\\n    // link each tile to its two nearest neighbours; inner ring links to the centre node\\n    let lines = \"\", seenL = new Set();\\n    const link = (p, q, cls) => (lines += `<line x1=\"${p[0]}%\" y1=\"${p[1]}%\" x2=\"${q[0]}%\" y2=\"${q[1]}%\"${cls ? ` class=\"${cls}\"` : \"\"}/>`);\\n    spots.forEach((p, i) => {\\n      spots.map((q, j) => [Math.hypot((q[0] - p[0]) * 1.6, q[1] - p[1]), j]).filter(([, j]) => j !== i).sort((a, b) => a[0] - b[0]).slice(0, 2)\\n        .forEach(([, j]) => { const key = Math.min(i, j) + \"-\" + Math.max(i, j); if (!seenL.has(key)) { seenL.add(key); link(p, spots[j]); } });\\n      if (Math.hypot((p[0] - 50) * 1.6, p[1] - 50) < 50) link(p, [50, 50], \"faint\");\\n    });\\n    svg.innerHTML = lines;\\n    box.innerHTML = \"\"; box.appendChild(wrap);\\n    if (!RM) io.observe(wrap); else wrap.classList.add(\"play\");\\n  });\\n})();\\n\\n// ===== GLOBE — wireframe globe with AI Circle chapter cities linked by lifted arcs (Scale \"Our legacy\" panel) =====\\n(function () {\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches, NS = \"http://www.w3.org/2000/svg\";\\n  // chapter cities listed on the live home page\\n  // chapter cities, then the two campus circles (Stanford, MIT) — same order as the home chapters list\\n  const CITIES = [[37.77, -122.42], [47.61, -122.33], [43.65, -79.38], [40.71, -74.0], [51.5, -0.13], [48.86, 2.35], [37.43, -122.17], [42.36, -71.09]];\\n  const CAMPUS = new Set([6, 7]);\\n  const LINKS = [[0, 1], [0, 3], [2, 3], [3, 4], [4, 5], [0, 4], [1, 2], [0, 6], [3, 7]];\\n  const D = Math.PI / 180;\\n  document.querySelectorAll(\".x-globe\").forEach((box) => {\\n    const S = 520, R = 220, C = S / 2;\\n    const svg = document.createElementNS(NS, \"svg\"); svg.setAttribute(\"viewBox\", `0 0 ${S} ${S}`); svg.setAttribute(\"aria-hidden\", \"true\"); box.appendChild(svg);\\n    svg.innerHTML = `<circle cx=\"${C}\" cy=\"${C}\" r=\"${R}\" class=\"rim\"/><path class=\"grat\"/><path class=\"grat back\"/><g class=\"arcs\"></g><g class=\"cities\"></g>`;\\n    const grat = svg.querySelector(\".grat:not(.back)\"), back = svg.querySelector(\".grat.back\"), arcsG = svg.querySelector(\".arcs\"), citG = svg.querySelector(\".cities\");\\n    const arcs = LINKS.map((_, i) => { const p = document.createElementNS(NS, \"path\"); p.setAttribute(\"pathLength\", \"1\"); p.style.setProperty(\"--d\", 0.6 + i * 0.25 + \"s\"); arcsG.appendChild(p); return p; });\\n    const dots = CITIES.map((_, i) => { const r = document.createElementNS(NS, \"circle\"); r.setAttribute(\"r\", CAMPUS.has(i) ? 5.4 : 4.8); if (CAMPUS.has(i)) r.setAttribute(\"class\", \"campus\"); r.style.setProperty(\"--d\", 0.3 + i * 0.12 + \"s\"); citG.appendChild(r); return r; });\\n    const tilt = 40 * D;\\n    const proj = (lat, lon, lon0, lift = 1) => {\\n      const la = lat * D, lo = (lon - lon0) * D;\\n      let x = Math.cos(la) * Math.sin(lo), y = Math.sin(la), z = Math.cos(la) * Math.cos(lo);\\n      const y2 = y * Math.cos(tilt) - z * Math.sin(tilt), z2 = y * Math.sin(tilt) + z * Math.cos(tilt);\\n      return [C + x * R * lift, C - y2 * R * lift, z2];\\n    };\\n    const draw = (lon0) => {\\n      let f = \"\", b = \"\";\\n      const seg = (pts) => { let df = \"\", db = \"\", pf = false, pb = false; pts.forEach(([x, y, z]) => { if (z >= 0) { df += (pf ? \"L\" : \"M\") + x.toFixed(1) + \",\" + y.toFixed(1); pf = true; pb = false; } else { db += (pb ? \"L\" : \"M\") + x.toFixed(1) + \",\" + y.toFixed(1); pb = true; pf = false; } }); f += df; b += db; };\\n      for (let lo = -180; lo < 180; lo += 20) { const pts = []; for (let la = -90; la <= 90; la += 6) pts.push(proj(la, lo, lon0)); seg(pts); }\\n      for (let la = -60; la <= 75; la += 15) { const pts = []; for (let lo = -180; lo <= 180; lo += 6) pts.push(proj(la, lo, lon0)); seg(pts); }\\n      grat.setAttribute(\"d\", f); back.setAttribute(\"d\", b);\\n      CITIES.forEach(([la, lo], i) => { const [x, y, z] = proj(la, lo, lon0); dots[i].setAttribute(\"cx\", x.toFixed(1)); dots[i].setAttribute(\"cy\", y.toFixed(1)); dots[i].style.opacity = z < 0 ? 0.15 : \"\"; });\\n      LINKS.forEach(([a, c], i) => {\\n        // great-circle (slerp) between the two cities, lifted off the surface mid-way\\n        const v = (la, lo) => [Math.cos(la * D) * Math.cos(lo * D), Math.cos(la * D) * Math.sin(lo * D), Math.sin(la * D)];\\n        const A = v(...CITIES[a]), B = v(...CITIES[c]), w = Math.acos(Math.min(1, A[0] * B[0] + A[1] * B[1] + A[2] * B[2]));\\n        let d = \"\";\\n        for (let k = 0; k <= 24; k++) {\\n          const t = k / 24, s1 = Math.sin((1 - t) * w) / Math.sin(w), s2 = Math.sin(t * w) / Math.sin(w);\\n          const P = [A[0] * s1 + B[0] * s2, A[1] * s1 + B[1] * s2, A[2] * s1 + B[2] * s2];\\n          const la = Math.asin(P[2]) / D, lo = Math.atan2(P[1], P[0]) / D;\\n          const [x, y] = proj(la, lo, lon0, 1 + 0.1 * Math.sin(Math.PI * t) * w);\\n          d += (k ? \"L\" : \"M\") + x.toFixed(1) + \",\" + y.toFixed(1);\\n        }\\n        arcs[i].setAttribute(\"d\", d);\\n      });\\n    };\\n    // hovering a chapter row (same section, same city order as the live list) lights that city\\n    const rows = [...(box.closest(\"section\") || document).querySelectorAll(\".peek-row\")].slice(0, CITIES.length);\\n    rows.forEach((r, i) => { r.addEventListener(\"pointerenter\", () => { dots[i].classList.add(\"hot\"); svg.classList.add(\"focus\"); }); r.addEventListener(\"pointerleave\", () => { dots[i].classList.remove(\"hot\"); svg.classList.remove(\"focus\"); }); });\\n    let lon0 = -62, vis = false, t0 = performance.now();\\n    draw(lon0);\\n    if (RM) { box.classList.add(\"play\"); return; }\\n    // ~30fps, and holds still while the page is being scrolled (keeps scroll frames free)\\n    let last = 0, scrolled = 0; addEventListener(\"scroll\", () => (scrolled = performance.now()), { passive: true });\\n    const loop = (now) => { if (!vis) return; if (now - last > 33 && now - scrolled > 160) { last = now; lon0 = -62 + Math.sin((now - t0) / 7000) * 12; draw(lon0); } requestAnimationFrame(loop); };\\n    new IntersectionObserver((es) => es.forEach((e) => { vis = e.isIntersecting; if (vis) { box.classList.add(\"play\"); requestAnimationFrame(loop); } }), { threshold: 0.2 }).observe(box);\\n  });\\n})();\\n\\n// ===== ANNOTATE — Scale-style data-labelling overlay on photos (bounding box, keypoint chain, marker glyphs) =====\\n// Applies to reel photos and any [data-annot] block. Decorative only; seeded per image so it is stable.\\n(function () {\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches, NS = \"http://www.w3.org/2000/svg\";\\n  // disabled 2026-10-06: Mohit — annotation boxes / keypoints / + marks on photos read as noise\\n  return;\\n  const targets = [...document.querySelectorAll(\".reel figure, [data-annot]\")];\\n  if (!targets.length) return;\\n  const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"annot-on\"); io.unobserve(e.target); } }), { threshold: 0.25 });\\n  targets.forEach((el, n) => {\\n    const r = el.getBoundingClientRect(), W = Math.round(r.width) || 320, H = Math.round(r.height) || 220;\\n    let s = (n % 12) * 7919 + 17; const rnd = () => ((s = (s * 9301 + 49297) % 233280) / 233280);\\n    const svg = document.createElementNS(NS, \"svg\"); svg.setAttribute(\"class\", \"x-annot\"); svg.setAttribute(\"viewBox\", `0 0 ${W} ${H}`); svg.setAttribute(\"aria-hidden\", \"true\");\\n    let g = \"\";\\n    // bounding box with corner ticks\\n    const bw = W * (0.34 + rnd() * 0.22), bh = H * (0.38 + rnd() * 0.24), bx = W * (0.08 + rnd() * (0.84 - bw / W)), by = H * (0.1 + rnd() * (0.8 - bh / H)), t = 10;\\n    g += `<rect class=\"bb\" x=\"${bx.toFixed(1)}\" y=\"${by.toFixed(1)}\" width=\"${bw.toFixed(1)}\" height=\"${bh.toFixed(1)}\" pathLength=\"1\"/>`;\\n    [[bx, by, 1, 1], [bx + bw, by, -1, 1], [bx, by + bh, 1, -1], [bx + bw, by + bh, -1, -1]].forEach(([x, y, dx, dy]) => (g += `<path class=\"ck\" d=\"M${(x + dx * t).toFixed(1)},${y.toFixed(1)} H${x.toFixed(1)} V${(y + dy * t).toFixed(1)}\"/>`));\\n    // keypoint chain inside the box\\n    const k = 4 + Math.floor(rnd() * 3), pts = [];\\n    for (let i = 0; i < k; i++) pts.push([bx + bw * (0.15 + 0.7 * (i / (k - 1))) + (rnd() - 0.5) * bw * 0.15, by + bh * (0.25 + rnd() * 0.5)]);\\n    g += `<polyline class=\"kp\" points=\"${pts.map((p) => p.map((v) => v.toFixed(1)).join(\",\")).join(\" \")}\" pathLength=\"1\"/>`;\\n    pts.forEach(([x, y], i) => (g += `<circle class=\"kd\" cx=\"${x.toFixed(1)}\" cy=\"${y.toFixed(1)}\" r=\"2.6\" style=\"--d:${0.5 + i * 0.08}s\"/>`));\\n    // neutral crosshair ticks (no arrow/triangle shapes)\\n    for (let i = 0; i < 4; i++) { const x = W * (0.06 + rnd() * 0.88), y = H * (0.08 + rnd() * 0.84); g += `<path class=\"xh\" d=\"M${(x - 4).toFixed(1)},${y.toFixed(1)} H${(x + 4).toFixed(1)} M${x.toFixed(1)},${(y - 4).toFixed(1)} V${(y + 4).toFixed(1)}\" style=\"--d:${0.3 + i * 0.08}s\"/>`; }\\n    svg.innerHTML = g;\\n    if (getComputedStyle(el).position === \"static\") el.style.position = \"relative\";\\n    el.appendChild(svg);\\n    if (RM) el.classList.add(\"annot-on\"); else io.observe(el);\\n  });\\n})();\\n\\n// ===== NET POSTER — designed, abstract resting state for embedded maps (home); click the gate to go live =====\\n(function () {\\n  const NS = \"http://www.w3.org/2000/svg\";\\n  document.querySelectorAll(\".net-poster\").forEach((box, b) => {\\n    const W = 1200, H = 680, cx = W / 2, cy = H / 2;\\n    let s = 4242 + b * 77; const rnd = () => ((s = (s * 9301 + 49297) % 233280) / 233280);\\n    let g = \"\";\\n    if (box.dataset.kind === \"atlas\") {\\n      // six format clusters arranged on a ring, each a packed group of member dots (abstract atlas)\\n      const C = [[\"#9b8cff\", 23], [\"#72ce7b\", 19], [\"#e8a87c\", 15], [\"#7cc4e8\", 9], [\"#d1aad7\", 13], [\"#c9c9c9\", 18]];\\n      g += `<circle cx=\"${cx}\" cy=\"${cy}\" r=\"250\" class=\"pr ring\"/><circle cx=\"${cx}\" cy=\"${cy}\" r=\"150\" class=\"pr ring faint\"/>`;\\n      C.forEach(([col, n], k) => {\\n        const a = (k / C.length) * Math.PI * 2 - Math.PI / 2, ox = cx + Math.cos(a) * 250, oy = cy + Math.sin(a) * 210;\\n        g += `<line x1=\"${cx}\" y1=\"${cy}\" x2=\"${ox.toFixed(1)}\" y2=\"${oy.toFixed(1)}\" class=\"pr spoke\"/>`;\\n        g += `<g class=\"cl\" style=\"--d:${k * 0.5}s;transform-origin:${ox.toFixed(1)}px ${oy.toFixed(1)}px\"><circle cx=\"${ox.toFixed(1)}\" cy=\"${oy.toFixed(1)}\" r=\"${(34 + n * 2.2).toFixed(1)}\" class=\"pr halo\" style=\"stroke:${col}\"/>`;\\n        for (let i = 0; i < n; i++) { const t = i * 2.39996, rr = 9 * Math.sqrt(i + 0.5); g += `<circle cx=\"${(ox + Math.cos(t) * rr).toFixed(1)}\" cy=\"${(oy + Math.sin(t) * rr).toFixed(1)}\" r=\"5.2\" class=\"pr dot\" style=\"fill:${col}\"/>`; }\\n        g += \"</g>\";\\n      });\\n      g += `<circle cx=\"${cx}\" cy=\"${cy}\" r=\"10\" class=\"pr core\"/>`;\\n    } else {\\n      // member network: concentric orbits, member dots, a few bright links through the centre ring\\n      const pts = [];\\n      [90, 160, 230, 300].forEach((R, k) => { g += `<ellipse cx=\"${cx}\" cy=\"${cy}\" rx=\"${R * 1.35}\" ry=\"${R * 0.82}\" class=\"pr ring${k % 2 ? \" faint\" : \"\"}\"/>`; const n = 10 + k * 7; for (let i = 0; i < n; i++) { const a = (i / n) * Math.PI * 2 + rnd() * 0.3; pts.push([cx + Math.cos(a) * R * 1.35 + (rnd() - 0.5) * 16, cy + Math.sin(a) * R * 0.82 + (rnd() - 0.5) * 12, k]); } });\\n      // short links: each member to its nearest neighbour; a few inner members wired to the centre ring\\n      pts.forEach((p, i) => { let best = -1, bd = 1e9; pts.forEach((q, j) => { if (j === i) return; const d = Math.hypot(p[0] - q[0], p[1] - q[1]); if (d < bd) { bd = d; best = j; } }); if (bd < 120) { const q = pts[best]; g += `<line x1=\"${p[0].toFixed(1)}\" y1=\"${p[1].toFixed(1)}\" x2=\"${q[0].toFixed(1)}\" y2=\"${q[1].toFixed(1)}\" class=\"pr link${i % 7 === 0 ? \" hot\" : \"\"}\"/>`; } });\\n      pts.filter((p) => p[2] === 0).forEach((p, i) => { if (i % 2) g += `<line x1=\"${cx}\" y1=\"${cy}\" x2=\"${p[0].toFixed(1)}\" y2=\"${p[1].toFixed(1)}\" class=\"pr link hot\"/>`; });\\n      pts.forEach(([x, y, k], i) => (g += `<circle cx=\"${x.toFixed(1)}\" cy=\"${y.toFixed(1)}\" r=\"${(4.6 - k * 0.6).toFixed(1)}\" class=\"pr dot${i % 9 === 0 ? \" v\" : i % 13 === 0 ? \" gr\" : \"\"}\" style=\"--d:${(i % 11) * 0.3}s\"/>`));\\n      g += `<circle cx=\"${cx}\" cy=\"${cy}\" r=\"34\" class=\"pr core-ring\"/><circle cx=\"${cx}\" cy=\"${cy}\" r=\"22\" class=\"pr core-ring\"/>`;\\n    }\\n    const svg = document.createElementNS(NS, \"svg\"); svg.setAttribute(\"viewBox\", `0 0 ${W} ${H}`); svg.setAttribute(\"preserveAspectRatio\", \"xMidYMid slice\"); svg.innerHTML = g; box.appendChild(svg);\\n  });\\n})();\\n';const XGL='// Scale-style WebGL wireframe stage for .x-story pinned stories.\\n// Layered translucent planes with hairline edges, the chapter photo on the front plane (grayscale),\\n// connector beams with travelling signal dots, layouts that morph per chapter with scroll.\\nimport * as THREE from \"https://framerusercontent.com/assets/KZLs112dl3Rg9LzzPsxh7JSw4.js\";\\n\\nconst RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\nconst clamp = (v, a = 0, b = 1) => Math.min(b, Math.max(a, v));\\nconst lerp = (a, b, t) => a + (b - a) * t;\\nconst ease = (t) => t * t * (3 - 2 * t);\\n\\n// four layouts (per plane: x, y, z, rotY, rotX, scale, edgeOpacity)\\nconst N = 4;\\nconst LAYOUTS = [\\n  // stacked deck, angled\\n  [[0, 0, 0, -0.55, 0.12, 1, 0.9], [0.18, 0.08, -0.45, -0.55, 0.12, 1, 0.55], [0.36, 0.16, -0.9, -0.55, 0.12, 1, 0.35], [0.54, 0.24, -1.35, -0.55, 0.12, 1, 0.2]],\\n  // fanned out in depth\\n  [[-0.2, 0, 0.2, -0.75, 0.08, 1, 0.9], [0.55, 0.1, -0.9, -0.75, 0.08, 0.92, 0.55], [1.3, 0.2, -2.0, -0.75, 0.08, 0.84, 0.35], [2.05, 0.3, -3.1, -0.75, 0.08, 0.76, 0.2]],\\n  // exploded 2x2\\n  [[-0.95, 0.55, 0, -0.3, 0.05, 0.62, 0.9], [0.95, 0.55, -0.6, -0.3, 0.05, 0.62, 0.6], [-0.95, -0.55, -0.6, -0.3, 0.05, 0.62, 0.6], [0.95, -0.55, -1.2, -0.3, 0.05, 0.62, 0.45]],\\n  // one plane forward, others recede\\n  [[0, 0, 0.35, -0.2, 0.04, 1.08, 1], [0, 0, -1.2, -0.2, 0.04, 0.9, 0.3], [0, 0, -2.4, -0.2, 0.04, 0.8, 0.18], [0, 0, -3.6, -0.2, 0.04, 0.7, 0.1]],\\n];\\n\\n// Scale-style circuit line-work for the glass planes: manhattan traces, pads, chips (white on transparent)\\n// round sprite so THREE.Points render as circles, not squares\\nlet __dot; function dotTex() { if (__dot) return __dot; const c = document.createElement(\"canvas\"); c.width = c.height = 64; const g = c.getContext(\"2d\"); g.fillStyle = \"#fff\"; g.beginPath(); g.arc(32, 32, 30, 0, 6.283); g.fill(); __dot = new THREE.CanvasTexture(c); return __dot; }\\n\\nfunction circuitTexture(seed, dense, ink = \"255,255,255\") {\\n  const c = document.createElement(\"canvas\"), w = 1024, h = 640; c.width = w; c.height = h;\\n  const g = c.getContext(\"2d\"); let s = seed * 9301 + 49297; const rnd = () => ((s = (s * 9301 + 49297) % 233280) / 233280);\\n  const G = 32, sn = (v) => Math.round(v / G) * G;\\n  g.strokeStyle = `rgba(${ink},.08)`; g.lineWidth = 1;\\n  for (let x = G; x < w; x += G) for (let y = G; y < h; y += G) { g.fillStyle = `rgba(${ink},.10)`; g.beginPath(); g.arc(x, y, 1.2, 0, 6.283); g.fill(); }\\n  const chips = [];\\n  for (let k = 0; k < (dense ? 3 : 2); k++) { const cw = sn(120 + rnd() * 160), ch = sn(80 + rnd() * 100), x = sn(80 + rnd() * (w - cw - 160)), y = sn(60 + rnd() * (h - ch - 120)); chips.push([x, y, cw, ch]); }\\n  g.lineWidth = 2; g.strokeStyle = `rgba(${ink},.55)`;\\n  for (let k = 0; k < (dense ? 46 : 30); k++) {\\n    const [cx, cy, cw, chh] = chips[k % chips.length], side = Math.floor(rnd() * 4);\\n    let x = side % 2 ? cx + (side === 1 ? cw : 0) : sn(cx + rnd() * cw), y = side % 2 ? sn(cy + rnd() * chh) : cy + (side === 0 ? 0 : chh);\\n    g.beginPath(); g.moveTo(x, y);\\n    for (let st = 0; st < 2 + Math.floor(rnd() * 3); st++) {\\n      const len = sn(G * (1 + rnd() * 6));\\n      if ((st + side) % 2) x += (side === 3 ? -1 : side === 1 ? 1 : rnd() < .5 ? -1 : 1) * len; else y += (side === 0 ? -1 : side === 2 ? 1 : rnd() < .5 ? -1 : 1) * len;\\n      x = Math.max(G, Math.min(w - G, x)); y = Math.max(G, Math.min(h - G, y)); g.lineTo(x, y);\\n    }\\n    g.stroke(); g.lineWidth = 2; g.strokeStyle = `rgba(${ink},.9)`; g.beginPath(); g.arc(x, y, 4.5, 0, 6.283); g.stroke();\\n  }\\n  chips.forEach(([x, y, cw, chh], k) => { g.lineWidth = 2; g.strokeStyle = `rgba(${ink},.85)`; g.strokeRect(x, y, cw, chh); g.fillStyle = `rgba(${ink},.05)`; g.fillRect(x, y, cw, chh);\\n    g.strokeStyle = `rgba(${ink},.25)`; g.lineWidth = 1; for (let i = 1; i < 4; i++) { g.beginPath(); g.moveTo(x + 10, y + (chh * i) / 4); g.lineTo(x + cw - 10, y + (chh * i) / 4); g.stroke(); }\\n    if (k === 0) { g.fillStyle = \"#72ce7b\"; g.beginPath(); g.arc(x + cw - 13, y + 13, 5.5, 0, 6.283); g.fill(); } });\\n  g.lineWidth = 2; g.strokeStyle = `rgba(${ink},.9)`; const L = 26;\\n  [[8, 8, 1, 1], [w - 8, 8, -1, 1], [8, h - 8, 1, -1], [w - 8, h - 8, -1, -1]].forEach(([x, y, dx, dy]) => { g.beginPath(); g.moveTo(x + dx * L, y); g.lineTo(x, y); g.lineTo(x, y + dy * L); g.stroke(); });\\n  const t = new THREE.CanvasTexture(c); t.colorSpace = THREE.SRGBColorSpace; t.anisotropy = 4; return t;\\n}\\n\\nfunction grayTexture(img, color) {\\n  const c = document.createElement(\"canvas\"), w = 1024, h = 640;\\n  c.width = w; c.height = h;\\n  const g = c.getContext(\"2d\");\\n  g.filter = color ? \"contrast(1.02)\" : \"grayscale(1) contrast(1.04) brightness(0.95)\";\\n  // .fit screenshots (map previews) are letterboxed, never cropped: fill with the image\\'s own edge colour\\n  const fit = img.classList.contains(\"fit\");\\n  if (fit) { const k = document.createElement(\"canvas\"); k.width = k.height = 1; const kg = k.getContext(\"2d\"); kg.drawImage(img, 2, 2, 1, 1, 0, 0, 1, 1); const d = kg.getImageData(0, 0, 1, 1).data; g.fillStyle = `rgb(${d[0]},${d[1]},${d[2]})`; g.fillRect(0, 0, w, h); }\\n  const r = (fit ? Math.min : Math.max)(w / img.naturalWidth, h / img.naturalHeight), iw = img.naturalWidth * r, ih = img.naturalHeight * r;\\n  g.drawImage(img, (w - iw) / 2, (h - ih) / 2, iw, ih);\\n  const t = new THREE.CanvasTexture(c); t.colorSpace = THREE.SRGBColorSpace; t.anisotropy = 4; return t;\\n}\\n\\nfunction mount(story) {\\n  const LIGHT = story.classList.contains(\"light\"), INK = LIGHT ? \"17,17,18\" : \"255,255,255\", LC = LIGHT ? 0x111112 : 0xffffff;\\n  const visual = story.querySelector(\".x-visual\"); if (!visual) return;\\n  const imgs = [...story.querySelectorAll(\".x-media > img\")];\\n  if (!imgs.length) return;\\n  const chs = [...story.querySelectorAll(\".x-ch\")];\\n  const canvas = document.createElement(\"canvas\"); canvas.className = \"x-gl\"; canvas.setAttribute(\"aria-hidden\", \"true\");\\n  visual.appendChild(canvas);\\n  let renderer;\\n  try { renderer = new THREE.WebGLRenderer({ canvas, antialias: true, alpha: true, powerPreference: \"high-performance\" }); } catch (e) { canvas.remove(); return; }\\n  renderer.setPixelRatio(Math.min(2, devicePixelRatio));\\n  story.classList.add(\"gl-on\");\\n  const scene = new THREE.Scene();\\n  const cam = new THREE.PerspectiveCamera(28, 1, 0.1, 60); cam.position.set(0, 0, 9.5);\\n  const root = new THREE.Group(); scene.add(root);\\n  const PW = 3.2, PH = 2.0;\\n  const geo = new THREE.PlaneGeometry(PW, PH);\\n  const edgeGeo = new THREE.EdgesGeometry(geo);\\n  const planes = [];\\n  for (let i = 0; i < N; i++) {\\n    const grp = new THREE.Group();\\n    const fill = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({ color: 0xffffff, transparent: true, opacity: i === 0 ? 0 : 0.025, depthWrite: false, side: THREE.DoubleSide }));\\n    const edge = new THREE.LineSegments(edgeGeo, new THREE.LineBasicMaterial({ color: LC, transparent: true, opacity: 0.5 }));\\n    // corner ticks\\n    const tick = new THREE.BufferGeometry(); const tp = []; const k = 0.16;\\n    [[-1, -1], [1, -1], [-1, 1], [1, 1]].forEach(([sx, sy]) => { const x = sx * PW / 2, y = sy * PH / 2; tp.push(x, y, 0, x - sx * k, y, 0, x, y, 0, x, y - sy * k, 0); });\\n    tick.setAttribute(\"position\", new THREE.Float32BufferAttribute(tp, 3));\\n    const ticks = new THREE.LineSegments(tick, new THREE.LineBasicMaterial({ color: LC, transparent: true, opacity: 0.9 }));\\n    ticks.position.z = 0.002;\\n    grp.add(fill, edge, ticks); root.add(grp);\\n    planes.push({ grp, fill, edge, ticks });\\n  }\\n  // photo layers on the front plane (A/B crossfade)\\n  const photoMat = () => new THREE.MeshBasicMaterial({ transparent: true, opacity: 0, depthWrite: false, side: THREE.DoubleSide });\\n  const photoA = new THREE.Mesh(geo, photoMat()), photoB = new THREE.Mesh(geo, photoMat());\\n  photoA.position.z = 0.001; photoB.position.z = 0.0015;\\n  planes[0].grp.add(photoA, photoB);\\n  const overlay = new THREE.Mesh(geo, new THREE.MeshBasicMaterial({ map: circuitTexture(7, false), transparent: true, opacity: 0.4, depthWrite: false, side: THREE.DoubleSide }));\\n  overlay.position.z = 0.003; overlay.visible = false; // photos stay clean: circuit work only on the back planes\\n  for (let k = 1; k < N; k++) { const m = planes[k].fill.material; m.map = circuitTexture(11 + k * 5, k === 1, INK); m.color.set(0xffffff); m.opacity = 0.7 - k * 0.14; m.needsUpdate = true; }\\n  const textures = new Array(imgs.length);\\n  const loadTex = (i) => new Promise((res) => {\\n    if (textures[i]) return res(textures[i]);\\n    const im = imgs[i]; const go = () => { textures[i] = grayTexture(im, story.hasAttribute(\"data-color\")); res(textures[i]); };\\n    if (im.complete && im.naturalWidth) go(); else { im.addEventListener(\"load\", go, { once: true }); im.addEventListener(\"error\", () => res(null), { once: true }); }\\n  });\\n  // connector beams between plane corners + travelling signal dots\\n  const beamGeo = new THREE.BufferGeometry(); const beamPos = new Float32Array((N - 1) * 4 * 2 * 3);\\n  beamGeo.setAttribute(\"position\", new THREE.BufferAttribute(beamPos, 3));\\n  const beams = new THREE.LineSegments(beamGeo, new THREE.LineDashedMaterial({ color: LC, transparent: true, opacity: 0.22, dashSize: 0.06, gapSize: 0.06 }));\\n  root.add(beams);\\n  const DOTS = 10; const dotGeo = new THREE.BufferGeometry(); const dotPos = new Float32Array(DOTS * 3);\\n  dotGeo.setAttribute(\"position\", new THREE.BufferAttribute(dotPos, 3));\\n  const dots = new THREE.Points(dotGeo, new THREE.PointsMaterial({ color: 0x72ce7b, size: 0.08, transparent: true, opacity: 0.95, sizeAttenuation: true, map: dotTex(), alphaTest: 0.5 }));\\n  root.add(dots);\\n  const dotSeed = Array.from({ length: DOTS }, (_, i) => ({ seg: i % ((N - 1) * 4), off: Math.random() }));\\n  // node markers on the front plane\\n  const nodeGeo = new THREE.BufferGeometry(); const np = [];\\n  for (let i = 0; i < 7; i++) np.push((Math.random() - 0.5) * PW * 0.8, (Math.random() - 0.5) * PH * 0.8, 0.004);\\n  nodeGeo.setAttribute(\"position\", new THREE.Float32BufferAttribute(np, 3));\\n  const nodes = new THREE.Points(nodeGeo, new THREE.PointsMaterial({ color: LC, size: 0.06, transparent: true, opacity: 0.9, map: dotTex(), alphaTest: 0.5 }));\\n  nodes.visible = false; planes[0].grp.add(nodes);\\n\\n  let mx = 0, my = 0, tmx = 0, tmy = 0;\\n  addEventListener(\"pointermove\", (e) => { tmx = (e.clientX / innerWidth - 0.5); tmy = (e.clientY / innerHeight - 0.5); }, { passive: true });\\n  const size = () => { const r = canvas.getBoundingClientRect(); renderer.setSize(r.width, r.height, false); cam.aspect = r.width / r.height; cam.position.z = innerWidth < 760 ? 6.2 : 8.2; cam.updateProjectionMatrix(); };\\n  size(); addEventListener(\"resize\", size);\\n\\n  let cur = -1, front = photoA, back = photoB, fadeT = 1, visible = false;\\n  new IntersectionObserver((es) => { visible = es[0].isIntersecting; if (visible) loop(); }, { rootMargin: \"200px\" }).observe(story);\\n  const corner = new THREE.Vector3();\\n  const CS = [[-1, -1], [1, -1], [-1, 1], [1, 1]], inv = new THREE.Matrix4(), pool = Array.from({ length: N }, () => CS.map(() => new THREE.Vector3()));\\n  const cornersOf = (g, k) => { g.updateMatrixWorld(); inv.copy(root.matrixWorld).invert(); return CS.map(([sx, sy], c) => pool[k][c].set(sx * PW / 2, sy * PH / 2, 0).applyMatrix4(g.matrixWorld).applyMatrix4(inv)); };\\n\\n  async function setChapter(i) {\\n    const ti = Math.min(i, imgs.length - 1);\\n    const tex = await loadTex(ti); if (!tex) return;\\n    [front, back] = [back, front];\\n    front.material.map = tex; front.material.needsUpdate = true; fadeT = 0;\\n    front.position.z = 0.0015; back.position.z = 0.001;\\n    // ghost the other chapters\\' photos onto the back planes (layered-glass look)\\n  }\\n\\n  function frame(t) {\\n    const r = story.getBoundingClientRect(), total = r.height - innerHeight, p = clamp(-r.top / Math.max(1, total));\\n    const n = Math.max(1, chs.length), f = p * n, i = Math.min(n - 1, Math.floor(f));\\n    if (i !== cur) { cur = i; setChapter(i); }\\n    // morph between layouts: chapter k uses LAYOUTS[k % 4]; blend toward the next across the last 35% of the slot\\n    const a = LAYOUTS[i % LAYOUTS.length], b = LAYOUTS[(i + 1) % LAYOUTS.length];\\n    const local = f - i, m = i < n - 1 ? ease(clamp((local - 0.65) / 0.35)) : 0;\\n    planes.forEach((pl, k) => {\\n      const A = a[k], B = b[k], v = (j) => lerp(A[j], B[j], m);\\n      pl.grp.position.set(v(0), v(1), v(2)); pl.grp.rotation.set(v(4), v(3), 0); pl.grp.scale.setScalar(v(5));\\n      pl.edge.material.opacity = v(6) * 0.6; pl.ticks.material.opacity = Math.min(1, v(6) + 0.1);\\n    });\\n    mx += (tmx - mx) * 0.05; my += (tmy - my) * 0.05;\\n    const idle = RM ? 0 : Math.sin(t / 2600) * 0.04;\\n    root.rotation.y = mx * 0.25 + idle; root.rotation.x = my * 0.12;\\n    // crossfade photos\\n    fadeT = Math.min(1, fadeT + 0.035);\\n    front.material.opacity = ease(fadeT); back.material.opacity = 1 - ease(fadeT);\\n    // beams between consecutive planes\\' corners\\n    let o = 0; const segs = [];\\n    for (let k = 0; k < N - 1; k++) { const c1 = cornersOf(planes[k].grp, k), c2 = cornersOf(planes[k + 1].grp, k + 1); for (let c = 0; c < 4; c++) { beamPos.set([c1[c].x, c1[c].y, c1[c].z, c2[c].x, c2[c].y, c2[c].z], o); o += 6; segs.push([c1[c], c2[c]]); } }\\n    beamGeo.attributes.position.needsUpdate = true; beams.computeLineDistances();\\n    dotSeed.forEach((d, j) => { const [s, e] = segs[d.seg % segs.length]; const q = (d.off + t / 2400) % 1; dotPos[j * 3] = lerp(s.x, e.x, q); dotPos[j * 3 + 1] = lerp(s.y, e.y, q); dotPos[j * 3 + 2] = lerp(s.z, e.z, q); });\\n    dotGeo.attributes.position.needsUpdate = true;\\n    renderer.render(scene, cam);\\n  }\\n  let raf = 0;\\n  function loop(t = performance.now()) { cancelAnimationFrame(raf); if (!visible) return; frame(t); raf = requestAnimationFrame(loop); }\\n  setChapter(0); loop();\\n  // warm every chapter photo (decode → canvas → GPU) one per idle slot, so changing chapter mid-scroll never stalls\\n  const idle = window.requestIdleCallback || ((cb) => setTimeout(() => cb({ timeRemaining: () => 8 }), 120));\\n  let wi = 1; const warm = () => { if (wi >= imgs.length) return; const k = wi++; try { imgs[k].loading = \"eager\"; } catch (e) {} loadTex(k).then((tx) => { try { tx && renderer.initTexture && renderer.initTexture(tx); } catch (e) {} idle(warm, { timeout: 1500 }); }); };\\n  setTimeout(() => idle(warm, { timeout: 1500 }), 600);\\n}\\n\\nfunction ok() { try { const c = document.createElement(\"canvas\"); return !!(c.getContext(\"webgl2\") || c.getContext(\"webgl\")); } catch (e) { return false; } }\\nif (ok()) document.querySelectorAll(\".x-story\").forEach(mount);\\n';const SITEJS='/* ROUND 68 \\xb7 the Framer router saves the scroll position into history.state on EVERY scroll frame (hundreds of\\n   replaceState calls a second). That costs frames and makes Chrome throttle navigation (\"links need several clicks\").\\n   Coalesce those scroll-only saves: keep just the latest, write it 200ms after scrolling stops, and always before leaving. */\\n(function () {\\n  try {\\n    if (history.__ambxCoalesce) return; history.__ambxCoalesce = true;\\n    // Framer calls History.prototype.replaceState directly, so patch the prototype (instance overrides are bypassed)\\n    const P = History.prototype, origR = P.replaceState, origP = P.pushState; let pend = null, tm = 0;\\n    const flush = () => { clearTimeout(tm); if (!pend) return; const a = pend; pend = null; try { origR.call(a[0], a[1], a[2], a[3]); } catch (e) {} };\\n    P.replaceState = function (s, t, u) {\\n      let same = u == null; if (!same) { try { same = new URL(u, location.href).href === location.href; } catch (e) {} }\\n      if (same && s && typeof s === \"object\" && s.scrollPosition) { pend = [this, s, t, u]; clearTimeout(tm); tm = setTimeout(flush, 200); return; }\\n      flush(); return origR.call(this, s, t, u);\\n    };\\n    P.pushState = function (s, t, u) { flush(); return origP.call(this, s, t, u); };\\n    addEventListener(\"pagehide\", flush); addEventListener(\"visibilitychange\", () => { if (document.visibilityState === \"hidden\") flush(); });\\n    document.addEventListener(\"pointerdown\", flush, true); document.addEventListener(\"click\", flush, true);\\n  } catch (e) {}\\n})();\\n\\n/* ===== ONE FRAME SCHEDULER: every scroll-driven job runs at most once per animation frame ===== */\\n(function () {\\n  const jobs = new Set(); let queued = false;\\n  // within one frame every element is measured once: later jobs reuse the rect instead of forcing another style/layout pass\\n  // and every inline style write made by the jobs is queued and applied once at the end (reads first, writes last:\\n  // one style recalculation per frame instead of one per element)\\n  const G = Element.prototype.getBoundingClientRect, SD = CSSStyleDeclaration.prototype;\\n  const PROPS = [\"transform\", \"opacity\", \"clipPath\", \"pointerEvents\", \"filter\"].map((p) => [p, Object.getOwnPropertyDescriptor(SD, p)]).filter(([, d]) => d && d.set && d.configurable);\\n  // ROUND 75 \\xb7 PERF: the cached rect + queued writes are installed ONCE behind a flag. Swapping these prototype methods in and out\\n  // twice per frame made V8 drop its optimised code for everything touching style/rects, every frame.\\n  // (state lives on window so a re-boot of this script reuses the one installed wrapper)\\n  const S = window.__aicSched || (window.__aicSched = { on: false, C: new Map(), Q: [] });\\n  if (!S.installed) {\\n    S.installed = true;\\n    Element.prototype.getBoundingClientRect = function () { if (!S.on) return G.call(this); let r = S.C.get(this); if (!r) { r = G.call(this); S.C.set(this, r); } return r; };\\n    PROPS.forEach(([p, d]) => Object.defineProperty(SD, p, { configurable: true, enumerable: d.enumerable, get: d.get, set(v) { if (S.on) S.Q.push([this, d, v]); else d.set.call(this, v); } }));\\n  }\\n  const run = () => {\\n    queued = false; S.C = new Map(); S.Q = []; S.on = true;\\n    try { jobs.forEach((fn) => { try { fn(); } catch (e) {} }); }\\n    finally {\\n      S.on = false; const q = S.Q; S.Q = []; S.C = new Map();\\n      for (let i = 0; i < q.length; i++) { const [st, d, v] = q[i]; if (d.get.call(st) !== String(v)) d.set.call(st, v); }\\n    }\\n  };\\n  window.__onFrame = (fn) => jobs.add(fn);\\n  addEventListener(\"scroll\", () => { if (!queued) { queued = true; requestAnimationFrame(run); } }, { passive: true });\\n})();\\n/* AI Circle — shared header, footer, cookie banner and behaviours.\\n   Each page sets <body data-root=\"../\"> (path back to the site root, \"\" for root pages)\\n   and <body data-page=\"about\"> for the active nav item. */\\n(function () {\\n  const root = \"\";\\n  // Map a live-site path (\"./about\", \"./apply/fellow#x\") to the local file.\\n  const L = (h) => {\\n    if (!h || /^(https?:|mailto:|tel:|#)/.test(h)) return h;\\n    let [p, hash] = h.replace(/^\\\\.?\\\\//, \"\").split(\"#\");\\n    p = p.replace(/\\\\/$/, \"\");\\n    const file = p ? p + \".html\" : \"index.html\";\\n    return root + file + (hash ? \"#\" + hash : \"\");\\n  };\\n  window.AIC = { L, root };\\n\\n  const NAV = [\\n    [\"About\", \"./about\", [[\"Our story\", \"./about\"], [\"Team\", \"./about#founder-letter\"], [\"Chapters\", \"./about#chapters\"], [\"Partners\", \"./partners\"]]],\\n    [\"Membership\", \"./membership\", [[\"General\", \"./membership#application-routes\"], [\"Fellowship\", \"./apply/fellow\"], [\"Membership\", \"./apply/member\"]]],\\n    [\"Events\", \"./events\", [[\"Events\", \"./events\"], [\"Frontier AI Summit\", \"https://fairsummit.ai\"], [\"Speak at an event\", \"./speak\"], [\"Sponsor an event\", \"./sponsor\"]]],\\n    [\"Talent\", \"./talent\"],\\n    [\"Consulting\", \"./consulting\"],\\n    [\"Resources\", \"./resources\", [[\"AI Learning Guide\", \"./primer\"], [\"Market maps\", \"./physical-ai-human-data-map\"], [\"Physical AI Atlas\", \"./atlas\"], [\"Multilinguality Map\", \"./multilinguality-map\"], [\"Coding Atlas\", \"./coding-atlas\"], [\"Blog\", \"./resources#fresh-from-the-frontier\"], [\"Newsletter\", \"./newsletter\"], [\"Marketplace\", \"https://marketplace.ai-circle.org/accounts/sign-up\"]]],\\n  ];\\n  const A = root + \"assets/brand/\";\\n  const header = `\\n  <header id=\"hdr\"><div class=\"wrap nav\">\\n    <a class=\"logo\" href=\"${L(\"./\")}\" aria-label=\"AI Circle home\"><img class=\"b\" src=\"${A}ai-circle-logo-black.svg\" alt=\"AI Circle\"><img class=\"w\" src=\"${A}ai-circle-logo-white.svg\" alt=\"AI Circle\"></a>\\n    <nav class=\"links\">${NAV.map(([t, h, sub]) => `<div><a href=\"${L(h)}\">${t}${sub ? \\' <span class=\"chev\" aria-hidden=\"true\"></span>\\' : \"\"}</a>${sub ? `<div class=\"menu\"><div class=\"ml\"><span class=\"mt\">${t}</span>${sub.map(([s, sh]) => `<a href=\"${L(sh)}\">${s}<i>→</i></a>`).join(\"\")}</div><a class=\"mf\" href=\"${L(h)}\"><span class=\"mfl\">${t}</span></a></div>` : \"\"}</div>`).join(\"\")}</nav>\\n    <div class=\"right\"><a class=\"btn btn-ghost\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login</a><a class=\"btn btn-violet\" href=\"${L(\"./membership#apply\")}\">Apply</a></div>\\n    <button class=\"burger\" id=\"burger\" aria-label=\"Menu\"><span></span><span></span></button>\\n  </div></header>\\n  <div class=\"drawer\" id=\"drawer\">\\n    ${NAV.map(([t, h, sub]) => sub ? `<details><summary>${t}<span>+</span></summary>${sub.map(([s, sh]) => `<a href=\"${L(sh)}\">${s}</a>`).join(\"\")}</details>` : `<a href=\"${L(h)}\">${t}<span>→</span></a>`).join(\"\")}\\n    <div class=\"btns\"><a class=\"btn btn-ghost\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login</a><a class=\"btn btn-violet\" href=\"${L(\"./membership#apply\")}\">Apply</a></div>\\n  </div>`;\\n  const footer = `\\n  <footer class=\"site sx\"><div class=\"sx-in\">\\n    <div class=\"sx-top\">\\n      <div class=\"sx-brand\"><a class=\"sx-mark\" href=\"${L(\"./\")}\" aria-label=\"AI Circle home\"><img src=\"${A}ai-circle-logo-white.svg\" alt=\"AI Circle\"></a><p class=\"sx-desc\">AI Circle is a global community of researchers and operators working to make AI more capable, reliable, and trustworthy.</p></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Explore</p><a href=\"${L(\"./about\")}\">About</a><a href=\"${L(\"./membership\")}\">Membership</a><a href=\"${L(\"./about#chapters\")}\">Chapters &amp; institutions</a><a href=\"${L(\"./partners\")}\">Partners</a><a href=\"https://aicircle.store\">Merch Store ↗</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Participate</p><a href=\"${L(\"./membership#apply\")}\">Apply</a><a href=\"${L(\"./events\")}\">Events</a><a href=\"https://fairsummit.ai\">Frontier AI Summit</a><a href=\"${L(\"./speak\")}\">Speak at an event</a><a href=\"${L(\"./sponsor\")}\">Sponsor an event</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Work with us</p><a href=\"${L(\"./talent\")}\">Talent</a><a href=\"${L(\"./consulting\")}\">Consulting</a><a href=\"${L(\"./contact\")}\">Contact</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Resources</p><a href=\"${L(\"./primer\")}\">AI Learning Guide</a><a href=\"${L(\"./resources/maps\")}\">Market maps</a><a href=\"${L(\"./resources#fresh-from-the-frontier\")}\">Blog</a><a href=\"${L(\"./newsletter\")}\">Newsletter</a><a href=\"https://marketplace.ai-circle.org/accounts/sign-up\">Marketplace ↗</a></div>\\n    </div>\\n    <div class=\"sx-bot\">\\n      <div class=\"soc\">\\n        <a href=\"https://www.linkedin.com/company/joinaicircle/\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\"><path d=\"M4.98 3.5A2.5 2.5 0 1 1 5 8.5a2.5 2.5 0 0 1 0-5zM3 9.5h4V21H3zM9.5 9.5h3.8v1.6h.05c.53-1 1.84-2.05 3.78-2.05 4.05 0 4.8 2.66 4.8 6.12V21h-4v-5.1c0-1.22-.02-2.78-1.7-2.78-1.7 0-1.95 1.32-1.95 2.69V21h-4z\"/></svg></a>\\n        <a href=\"https://x.com/joinaicircle\" aria-label=\"X\"><svg viewBox=\"0 0 24 24\"><path d=\"M17.5 3h3.1l-6.8 7.8L21.8 21h-6.2l-4.9-6.4L5 21H1.9l7.3-8.3L1.5 3h6.4l4.4 5.8zm-1.1 16.2h1.7L7.1 4.7H5.3z\"/></svg></a>\\n        <a href=\"https://www.instagram.com/joinaicircle/\" aria-label=\"Instagram\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5.2\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"4.1\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"/><circle cx=\"17.35\" cy=\"6.65\" r=\"1.25\" fill=\"#fff\"/></svg></a>\\n        <a class=\"sx-login\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login <span aria-hidden=\"true\">→</span></a>\\n      </div>\\n      <div class=\"sx-nl\" id=\"footer-newsletter\">\\n        <p class=\"sx-h sx-nl-h\">Newsletter</p>\\n        <form class=\"sx-nl-form\" novalidate aria-label=\"Newsletter sign-up\"><label class=\"sx-nl-hp\" for=\"sxNlEmail\">Email for the AI Circle newsletter</label><input id=\"sxNlEmail\" type=\"email\" name=\"email\" placeholder=\"Your email for the newsletter\" autocomplete=\"email\" inputmode=\"email\" required><input class=\"sx-nl-hp\" type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\"><button type=\"submit\">Subscribe <span aria-hidden=\"true\">→</span></button></form>\\n        <p class=\"sx-nl-msg\" role=\"status\" aria-live=\"polite\"></p>\\n        <p class=\"sx-nl-done\" role=\"status\"><b>You\\'re on the list.</b> See you in your inbox.</p>\\n      </div>\\n      <div class=\"sx-legal\"><a href=\"#\" data-cookie>Manage your cookie preferences</a><span>\\xa9 2026 AI Circle. All rights reserved \\xb7 <a href=\"${L(\"./terms\")}\">Terms</a></span></div>\\n    </div>\\n  </div></footer>\\n  <div class=\"cookie hide\" id=\"cookie\"><span>We use cookies to run the site and, if you allow it, to understand how it\\'s used. Essential cookies are always on.</span>\\n    <div class=\"b\"><button data-ck=\"custom\">Customize</button><button data-ck=\"reject\">Reject Non-Essential</button><button class=\"acc\" data-ck=\"all\">Accept All</button></div></div>\\n  <div class=\"ckd hide\" id=\"ckd\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ckd-t\"><div class=\"ckd-in\">\\n    <div class=\"ckd-h\"><h3 id=\"ckd-t\">Cookie preferences</h3><button class=\"ckd-x\" data-ckd=\"close\" aria-label=\"Close\">\\xd7</button></div>\\n    <p class=\"ckd-lede\">Choose which cookies AI Circle may use. Essential cookies keep the site working and can\\'t be turned off.</p>\\n    <div class=\"ckd-row\"><div><b>Essential</b><span>Security, forms, and remembering this choice.</span></div><span class=\"ckd-on\">Always on</span></div>\\n    <label class=\"ckd-row\"><div><b>Analytics</b><span>Anonymous usage stats that help us improve the site.</span></div><input type=\"checkbox\" data-cat=\"analytics\"><i class=\"ckd-sw\"></i></label>\\n    <label class=\"ckd-row\"><div><b>Marketing</b><span>Measuring our campaigns and events across other sites.</span></div><input type=\"checkbox\" data-cat=\"marketing\"><i class=\"ckd-sw\"></i></label>\\n    <div class=\"ckd-b\"><button data-ckd=\"reject\">Reject non-essential</button><button data-ckd=\"save\">Save preferences</button><button class=\"acc\" data-ckd=\"all\">Accept all</button></div>\\n  </div></div>`;\\n\\n  \\n  \\n  \\n\\n  const $ = (s, c = document) => c.querySelector(s), $$ = (s, c = document) => [...c.querySelectorAll(s)];\\n  // rewrite live-style links inside page content: <a data-href=\"./about\">\\n  \\n\\n  if ($(\"#burger\")) $(\"#burger\").onclick = () => $(\"#drawer\").classList.toggle(\"open\");\\n  const ck = $(\"#cookie\");\\n  if (ck) { try { if (!localStorage.getItem(\"aic_ck\")) ck.classList.remove(\"hide\"); } catch (e) { ck.classList.remove(\"hide\"); } }\\n  // cookie consent: banner + Customize dialog; choice kept in localStorage \"aic_ck\" as {analytics, marketing}\\n  const ckd = $(\"#ckd\"), boxes = $$(\"#ckd [data-cat]\");\\n  const readCk = () => { try { const v = localStorage.getItem(\"aic_ck\"); return v && v[0] === \"{\" ? JSON.parse(v) : v ? { analytics: true, marketing: true } : null; } catch (e) { return null; } };\\n  const saveCk = (c) => { try { localStorage.setItem(\"aic_ck\", JSON.stringify({ analytics: !!c.analytics, marketing: !!c.marketing, at: Date.now() })); } catch (e) {}\\n    if (window.gtag) try { window.gtag(\"consent\", \"update\", { analytics_storage: c.analytics ? \"granted\" : \"denied\", ad_storage: c.marketing ? \"granted\" : \"denied\", ad_user_data: c.marketing ? \"granted\" : \"denied\", ad_personalization: c.marketing ? \"granted\" : \"denied\" }); } catch (e) {}\\n    ck.classList.add(\"hide\"); ckd.classList.add(\"hide\"); document.documentElement.classList.remove(\"ckd-open\"); };\\n  const openCkd = () => { const c = readCk() || { analytics: false, marketing: false }; boxes.forEach((b) => (b.checked = !!c[b.dataset.cat])); ckd.classList.remove(\"hide\"); document.documentElement.classList.add(\"ckd-open\"); setTimeout(() => { const f = ckd.querySelector(\"input,button\"); f && f.focus(); }, 30); };\\n  const closeCkd = () => { ckd.classList.add(\"hide\"); document.documentElement.classList.remove(\"ckd-open\"); };\\n  $$(\"[data-ck]\").forEach((b) => (b.onclick = () => { const k = b.dataset.ck; if (k === \"custom\") return openCkd(); saveCk(k === \"all\" ? { analytics: true, marketing: true } : { analytics: false, marketing: false }); }));\\n  $$(\"[data-ckd]\").forEach((b) => (b.onclick = () => { const k = b.dataset.ckd; if (k === \"close\") return closeCkd(); if (k === \"save\") { const c = {}; boxes.forEach((x) => (c[x.dataset.cat] = x.checked)); return saveCk(c); } saveCk(k === \"all\" ? { analytics: true, marketing: true } : { analytics: false, marketing: false }); }));\\n  ckd.addEventListener(\"click\", (e) => { if (e.target === ckd) closeCkd(); });\\n  addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\" && !ckd.classList.contains(\"hide\")) closeCkd(); });\\n  document.addEventListener(\"click\", (e) => { const a = e.target.closest && e.target.closest(\"[data-cookie]\"); if (!a) return; e.preventDefault(); openCkd(); }, true);\\n\\n  // footer newsletter: same Beehiiv magic link as /newsletter; returns to this page with ?nlf=1\\n  document.addEventListener(\"submit\", (e) => {\\n    const f = e.target.closest && e.target.closest(\".sx-nl-form\"); if (!f) return;\\n    e.preventDefault(); e.stopImmediatePropagation();\\n    const box = f.closest(\".sx-nl\"), msg = box.querySelector(\".sx-nl-msg\"), v = (f.email.value || \"\").trim();\\n    if (f.website.value) return;\\n    if (!/^[^\\\\s@]+@[^\\\\s@]+\\\\.[^\\\\s@]{2,}$/.test(v)) { box.classList.add(\"bad\"); msg.textContent = \"Please enter a valid email address.\"; f.email.focus(); return; }\\n    box.classList.remove(\"bad\"); msg.textContent = \"\"; const btn = f.querySelector(\"button\"); btn.disabled = true; btn.textContent = \"Subscribing…\";\\n    const back = location.origin + location.pathname + \"?nlf=1#footer-newsletter\";\\n    location.href = \"https://magic.beehiiv.com/v1/8156220b-eb87-4b73-b3aa-04c0e4d96412?email=\" + encodeURIComponent(v) + \"&redirect_to=\" + encodeURIComponent(back) + \"&utm_source=ai-circle.org&utm_medium=website&utm_campaign=footer\";\\n    setTimeout(() => { btn.disabled = false; btn.innerHTML = \\'Subscribe <span aria-hidden=\"true\">→</span>\\'; }, 8000);\\n  }, true);\\n  document.addEventListener(\"input\", (e) => { const b = e.target.closest && e.target.closest(\".sx-nl\"); if (b && b.classList.contains(\"bad\")) { b.classList.remove(\"bad\"); b.querySelector(\".sx-nl-msg\").textContent = \"\"; } });\\n  try {\\n    const q = new URLSearchParams(location.search);\\n    if (q.get(\"nlf\") === \"1\") {\\n      q.delete(\"nlf\"); try { history.replaceState(history.state, \"\", location.pathname + (q.toString() ? \"?\" + q : \"\") + location.hash); } catch (e) {}\\n      let n = 0; const iv = setInterval(() => { const b = document.querySelector(\".sx-nl\"); if (b) { b.classList.add(\"ok\"); clearInterval(iv); } else if (++n > 40) clearInterval(iv); }, 150);\\n    }\\n  } catch (e) {}\\n\\n  // static forms: no backend locally\\n  $$(\"form\").forEach((f) => { if (!f.closest(\"[data-ambx-native]\") && !f.hasAttribute(\"data-ambx-proxy\")) f.addEventListener(\"submit\", (e) => e.preventDefault()); });\\n\\n  // marquees: duplicate track content once for a seamless loop\\n  // endless marquees: repeat the set until one copy is wider than the screen, then double it (the loop shifts by exactly half)\\n  const fillMarq = (t) => { if (!t.__one) t.__one = t.innerHTML; t.innerHTML = t.__one; let k = 0; while (t.scrollWidth < Math.max(innerWidth, 1440) * 1.15 && k++ < 8) t.innerHTML += t.__one; t.innerHTML += t.innerHTML; t.dataset.duped = 1; window.__logoMask && window.__logoMask();\\n    // every strip moves at the same speed as the current ai-circle.org (48px/s desktop, 42px/s phones), whatever its length (the loop shifts by half the track)\\n    const sp = () => { const w = t.scrollWidth / 2; if (w > 0) t.style.setProperty(\"--dur\", (w / (innerWidth < 760 ? 42 : 48)).toFixed(2) + \"s\"); }; t.__sp = sp; sp(); t.querySelectorAll(\"img\").forEach((im) => { if (!im.complete) im.addEventListener(\"load\", sp, { once: true }); }); };\\n  $$(\".marq-track\").forEach((t) => { if (!t.dataset.duped) fillMarq(t); });\\n  let __mw = innerWidth; addEventListener(\"resize\", () => { if (innerWidth > __mw + 80) { __mw = innerWidth; $$(\".marq-track\").forEach(fillMarq); } else $$(\".marq-track\").forEach((t) => t.__sp && t.__sp()); });\\n\\n  // reveal on scroll\\n  const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"in\"); io.unobserve(e.target); } }), { threshold: 0.12 });\\n  $$(\".rv\").forEach((el) => io.observe(el));\\n\\n  // hero slideshow\\n  $$(\".hero-card[data-slides]\").forEach((card) => {\\n    const s = $$(\".slide\", card); let i = 0;\\n    if (s.length > 1 && !matchMedia(\"(prefers-reduced-motion: reduce)\").matches)\\n      setInterval(() => { s[i].classList.remove(\"on\"); i = (i + 1) % s.length; s[i].classList.add(\"on\"); }, 5200);\\n  });\\n\\n  // header turns dark over dark sections\\n  const hdr = $(\"#hdr\");\\n  const darks = () => $$(\".dark,.black,footer.site,[data-dark]\").filter((z) => !z.closest(\".card,.pcard,.cookie,#hdr,.drawer\"));\\n  let zones = darks();\\n  const tick = () => { const y = 64; hdr.classList.toggle(\"dark\", zones.some((z) => { const r = z.getBoundingClientRect(); return r.top <= y && r.bottom > y; })); };\\n  // (header theme now handled by luminance check in the SECTION RAIL block)\\n})();\\n\\n/* ===== SCALE LAYER behaviours ===== */\\n(function () {\\n  const $$ = (s, c = document) => [...c.querySelectorAll(s)];\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  const clamp = (v, a = 0, b = 1) => Math.min(b, Math.max(a, v));\\n\\n  // word-split headings (skip ones with inline markup other than .it spans / br)\\n  $$(\".h1,.h2,.display,.split,.s-float h2,.s-bench h2,.s-news .ttl,.s-cta h2\").forEach((el) => {\\n    if (el.dataset.nosplit !== undefined || el.querySelector(\"a,img,input,button\")) return;\\n    const walk = (node) => {\\n      [...node.childNodes].forEach((n) => {\\n        if (n.nodeType === 3) {\\n          const frag = document.createDocumentFragment();\\n          n.textContent.split(/(\\\\s+)/).forEach((t) => {\\n            if (!t) return;\\n            if (/^\\\\s+$/.test(t)) frag.appendChild(document.createTextNode(t));\\n            else { const w = document.createElement(\"span\"); w.className = \"sw\"; const i = document.createElement(\"span\"); i.textContent = t; w.appendChild(i); frag.appendChild(w); }\\n          });\\n          n.replaceWith(frag);\\n        } else if (n.nodeType === 1 && !n.classList.contains(\"s-rot\") && n.tagName !== \"BR\") walk(n);\\n      });\\n    };\\n    walk(el);\\n    $$(\".sw>span\", el).forEach((s, i) => (s.style.transitionDelay = Math.min(i * 45, 900) + \"ms\"));\\n  });\\n  const sio = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"split-in\"); sio.unobserve(e.target); } }), { threshold: 0.2 });\\n  $$(\".sw\").forEach((w) => { const p = w.closest(\".h1,.h2,.display,.split,.s-float h2,.s-bench h2,.s-news .ttl,.s-cta h2\"); if (p && !p.dataset.obs) { p.dataset.obs = 1; sio.observe(p); } });\\n  if (RM) $$(\".sw\").forEach((w) => w.parentElement.classList.add(\"split-in\"));\\n  const kick = () => $$(\"[data-obs]\").forEach((p) => { const r = p.getBoundingClientRect(); if (r.top < innerHeight && r.bottom > 0) p.classList.add(\"split-in\"); });\\n  setTimeout(kick, 120); __ambxOnLoad( kick);\\n\\n  // s-words: wrap words\\n  $$(\".s-words [data-words]\").forEach((p) => {\\n    const hi = (p.dataset.hi || \"\").split(\"|\").filter(Boolean);\\n    p.innerHTML = p.textContent.trim().split(/\\\\s+/).map((w) => `<span class=\"w${hi.includes(w) ? \" v\" : \"\"}\">${w}</span>`).join(\" \");\\n  });\\n\\n  // s-hero slides\\n  $$(\".s-hero\").forEach((h) => { const s = $$(\".s-media .slide\", h); let i = 0; if (s.length > 1 && !RM) setInterval(() => { s[i].classList.remove(\"on\"); i = (i + 1) % s.length; s[i].classList.add(\"on\"); }, 8000); });\\n\\n  // s-float: rotating words + floater layout\\n  $$(\".s-rot[data-words]\").forEach((r) => {\\n    const words = r.dataset.words.split(\"|\"), subs = (r.dataset.subs || \"\").split(\"|\"), sub = r.closest(\".s-float\") && r.closest(\".s-float\").querySelector(\".sub\");\\n    const logos = (r.dataset.logos || \"\").split(\"|\"), R = \"\";\\n    const wm = (r.dataset.wordmark || \"\").split(\"|\");\\n    // wordmark logos already spell the name: show the logo alone (name kept for screen readers); icon logos sit beside the name\\n    // logos render as CSS masks filled with the text colour: vector-sharp, no image filters (filters blurred them)\\n    const ratio = {}; logos.forEach((u) => { if (!u) return; const im = new Image(); im.onload = () => { ratio[u] = (im.naturalWidth || 1) / (im.naturalHeight || 1); r.querySelectorAll(`[data-logo=\"${u}\"]`).forEach((m) => (m.style.aspectRatio = ratio[u])); }; im.src = __A(u); });\\n    const fill = (el, k) => { el.textContent = \"\"; const t = document.createElement(\"span\"); t.textContent = words[k]; const u = logos[k]; if (u && /\\\\.png$/i.test(u) && !/-mask\\\\.png$|#mask$/i.test(u)) { const im = new Image(); im.src = __A(u); im.alt = \"\"; im.className = \"rot-logo raster\"; el.appendChild(im); } else if (u) { const m = document.createElement(\"i\"); m.className = \"rot-logo\" + (wm[k] === \"1\" ? \" wm\" : \"\"); m.dataset.logo = u; m.setAttribute(\"aria-hidden\", \"true\"); const url = `url(\"${__A(u)}\")`; m.style.webkitMaskImage = url; m.style.maskImage = url; if (ratio[u]) m.style.aspectRatio = ratio[u]; el.appendChild(m); if (wm[k] === \"1\") t.className = \"sr\"; } el.appendChild(t); };\\n    let i = 0; r.innerHTML = \"<span></span>\"; fill(r.firstElementChild, 0); if (sub && subs[0]) sub.textContent = subs[0];\\n    if (RM || words.length < 2) return;\\n    setInterval(() => { const old = r.firstElementChild; old.classList.add(\"out\"); i = (i + 1) % words.length;\\n      setTimeout(() => { const n = document.createElement(\"span\"); fill(n, i); n.className = \"in\"; r.innerHTML = \"\"; r.appendChild(n); if (sub && subs[i]) sub.textContent = subs[i]; requestAnimationFrame(() => requestAnimationFrame(() => (n.className = \"\"))); }, 380);\\n    }, 2300);\\n  });\\n  const SPOTS = [[7, 12, 150, 110, .3], [22, 5, 120, 120, .55], [9, 60, 170, 120, .4], [27, 74, 110, 140, .65], [70, 8, 130, 96, .45], [86, 22, 104, 104, .75], [83, 62, 160, 110, .35], [64, 78, 124, 92, .6], [46, 86, 96, 72, .5], [52, 2, 90, 66, .7], [2, 36, 92, 70, .5], [92, 44, 88, 110, .6]];\\n  // floaters ORBIT the headline on an ellipse (Scale \"Artificial Intelligence / Real Research\")\\n  $$(\".s-floaters\").forEach((f) => { const ims = $$(\"img\", f); ims.forEach((im, k) => { const s = SPOTS[k % SPOTS.length]; Object.assign(im.style, { left: \"50%\", top: \"50%\", width: s[2] + \"px\", height: s[3] + \"px\" }); im.dataset.a = (k / ims.length) * Math.PI * 2; im.dataset.r = 0.86 + (k % 3) * 0.08; }); });\\n\\n  // s-steps highlight\\n  const stio = new IntersectionObserver((es) => es.forEach((e) => e.target.classList.toggle(\"on\", e.isIntersecting)), { rootMargin: \"-35% 0px -35% 0px\" });\\n  $$(\".s-step\").forEach((s) => stio.observe(s));\\n\\n  // scroll-driven effects\\n  const heroes = $$(\".s-hero\"), frames = $$(\".s-frame .plate\"), wordsSecs = $$(\".s-words\"), floats = $$(\".s-float\"), ctas = $$(\".s-cta .bgimg\"), paras = $$(\"[data-parallax]\");\\n  // ORBIT — Scale \"Artificial Intelligence / Real Research\": 12 square photos on a tilted ring around the heading.\\n  // Measured on scale.com: ring ~500\\xd7280 at 1440px, near side (left) 140px, far side (right) 36px,\\n  // turns only with scroll at ~0.06\\xb0/px (clockwise), no idle drift, no fading.\\n  // ORBIT — matched to scale.com \"Artificial Intelligence / Real Research\" (measured 2026-10-07):\\n  // desktop ring 490\\xd7280 at 1440 (scales with width), near side bottom-left, photos 38→140px;\\n  // phones ring 0.52W\\xd70.58W, near side bottom, photos 35→84px; turns with scroll only, ~0.06\\xb0/px.\\n  // ROUND 48 \\xb7 orbit works like scale.com: the ring turns on its own at a constant speed (0.225 rad/s, ~28s a lap),\\n  // scrolling only carries the section; photos never jump — one passing over the copy fades smoothly instead of being pushed\\n  const SPIN = 0.225, geo = new Map();\\n  function measure(f) {\\n    const r = f.getBoundingClientRect(), W = r.width, mob = W < 760, u = Math.min(1.15, Math.max(0.55, W / 1440));\\n    const wide = f.classList.contains(\"ev-float\");  // ROUND 74 \\xb7 home events orbit spreads across the page (feedback: too small in the centre)\\n    const rng = document.createRange(), boxes = [];\\n    const add = (b) => { if (b.width && b.height) boxes.push([b.left - r.left, b.top - r.top, b.right - r.left, b.bottom - r.top]); };\\n    $$(\".eyebrow, h2, .sub\", f).forEach((el) => { rng.selectNodeContents(el); [...rng.getClientRects()].forEach(add); });\\n    $$(\".btns .btn\", f).forEach((el) => add(el.getBoundingClientRect()));\\n    const top = boxes.length ? Math.min(...boxes.map((x) => x[1])) : r.height / 2, bot = boxes.length ? Math.max(...boxes.map((x) => x[3])) : r.height / 2;\\n    const g = { W, mob, cx: W / 2, cy: (top + bot) / 2, rx: mob ? W * 0.536 : (wide ? 0.4 * W : 530 * u), ry: mob ? W * 0.626 : (wide ? 360 * u : 320 * u),\\n      near: mob ? Math.PI / 2 : (147 * Math.PI) / 180, sMin: mob ? 34 : (wide ? 48 : 36) * u, sMax: mob ? 84 : (wide ? 170 : 140) * u, boxes, t: performance.now(),\\n      ims: $$(\".s-floaters img\", f).filter((im) => im.offsetParent !== null) };\\n    g.ims.forEach((im) => (im.__bw = im.offsetWidth || 140));\\n    geo.set(f, g); return g;\\n  }\\n  function orbit(f, now) {\\n    let g = geo.get(f); if (!g || now - g.t > 600) g = measure(f);            // re-measure the copy twice a second (the rotating word changes its width)\\n    const n = g.ims.length, spin = RM ? 0 : (now / 1000) * SPIN, pad = g.mob ? 8 : 14;\\n    g.ims.forEach((im, k) => {\\n      const a = (k / n) * Math.PI * 2 + spin, x = g.cx + Math.cos(a) * g.rx, y = g.cy + Math.sin(a) * g.ry;\\n      const px = g.sMin + (g.sMax - g.sMin) * (1 + Math.cos(a - g.near)) / 2, bw = im.__bw, h = px / 2;\\n      let cover = 0;                                                          // how much of the photo sits over the copy (0..1)\\n      g.boxes.forEach((bx) => { const ox = Math.min(x + h, bx[2] + pad) - Math.max(x - h, bx[0] - pad), oy = Math.min(y + h, bx[3] + pad) - Math.max(y - h, bx[1] - pad); if (ox > 0 && oy > 0) cover = Math.max(cover, (ox * oy) / (px * px)); });\\n      im.style.transform = `translate3d(${(x - bw / 2).toFixed(1)}px,${(y - bw / 2).toFixed(1)}px,0) scale(${(px / bw).toFixed(3)})`;\\n      const o = (1 - 0.8 * Math.min(1, cover * 1.6)).toFixed(2); if (im.__o !== o) { im.__o = o; im.style.setProperty(\"--o\", o); }\\n      const z = Math.round(px / 10); if (im.__z !== z) { im.__z = z; im.style.zIndex = z; }  // ROUND 75 \\xb7 only when it changes (each write re-sorts the stack)\\n    });\\n  }\\n  if (floats.length) {\\n    floats.forEach((f) => $$(\".s-floaters img\", f).forEach((im) => Object.assign(im.style, { left: \"0\", top: \"0\", width: \"\", height: \"\", opacity: \"\", willChange: \"transform\" })));\\n    const vis = new Set(); let raf = 0;\\n    const loop = (now) => { raf = 0; vis.forEach((f) => orbit(f, now)); if (vis.size && !RM) raf = requestAnimationFrame(loop); };\\n    const io = new IntersectionObserver((es) => { es.forEach((e) => (e.isIntersecting ? vis.add(e.target) : vis.delete(e.target))); if (vis.size && !raf) raf = requestAnimationFrame(loop); }, { rootMargin: \"200px 0px\" });\\n    floats.forEach((f) => { io.observe(f); orbit(f, performance.now()); });\\n    addEventListener(\"resize\", () => { geo.clear(); floats.forEach((f) => orbit(f, performance.now())); });\\n  }\\n  function tick() {\\n    const vh = innerHeight;\\n    heroes.forEach((h) => {\\n      const r = h.getBoundingClientRect(), p = clamp(-r.top / (r.height - vh + 64)), card = h.querySelector(\".s-card\"), inner = h.querySelector(\".s-inner\");\\n      if (RM) return;\\n      const k = 1 - Math.min(1, p * 2.2), m = 8 * k, rr = 20 * k;\\n      card.style.clipPath = `inset(${m}px ${m}px ${m}px ${m}px round ${rr}px)`;\\n      if (inner) { inner.style.transform = `translateY(${-p * 40}px)`; inner.style.opacity = 1; }  // ROUND 69 \\xb7 headline rides out with the card (fading it left an empty dark card scrolling by)\\n    });\\n    frames.forEach((pl) => {\\n      const r = pl.parentElement.getBoundingClientRect(), k = clamp((r.top + r.height / 2 - vh / 2) / vh, -1, 1);\\n      if (!RM) pl.style.transform = `rotateX(${Math.max(0, k) * 22 + Math.min(0, k) * -6}deg) rotateY(${k * -30}deg) rotateZ(${k * 3}deg) scale(${1 - Math.abs(k) * .08})`;\\n    });\\n    wordsSecs.forEach((s) => {\\n      const r = s.getBoundingClientRect(), p = clamp((-r.top + vh * .2) / (r.height - vh)), ws = $$(\"[data-words] .w\", s), on = Math.round(p * ws.length * 1.1);\\n      ws.forEach((w, i) => w.classList.toggle(\"on\", i < on));\\n    });\\n    if (!RM) ctas.forEach((b) => { const r = b.parentElement.getBoundingClientRect(); b.style.transform = `translateY(${(r.top / vh) * -40}px)`; });\\n    if (!RM) paras.forEach((el) => { const r = el.getBoundingClientRect(); el.style.transform = `translateY(${(r.top + r.height / 2 - vh / 2) * -(parseFloat(el.dataset.parallax) || .08)}px)`; });\\n  }\\n  __onFrame(tick);\\n  addEventListener(\"resize\", tick); tick();\\n})();\\n\\n/* ===== SECTION RAIL + header auto-theme + smooth scroll + page transitions ===== */\\n(function () {\\n  const $ = (s, c = document) => c.querySelector(s), $$ = (s, c = document) => [...c.querySelectorAll(s)];\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  let __hdrH = 64; const __measureHdr = () => { const h = $(\"#hdr\"); __hdrH = h ? h.offsetHeight : 64; }; __measureHdr(); addEventListener(\"resize\", __measureHdr); const HDR = () => __hdrH;\\n  const txt = (el) => (el ? el.textContent.replace(/\\\\s+/g, \" \").trim() : \"\");\\n\\n  // --- luminance of whatever is painted at a point (walk up until an opaque background) ---\\n  const isDarkAt = (y) => {\\n    const els = document.elementsFromPoint(Math.min(innerWidth - 2, 40), y).filter((e) => !e.closest(\"#hdr,.s-rail,.cookie,.veil,.drawer\"));\\n    for (const e of els) {\\n      let p = e;\\n      while (p && p !== document.documentElement) {\\n        const c = getComputedStyle(p);\\n        let bg = p.dataset.zc || c.backgroundColor, m = bg.match(/rgba?\\\\(([^)]+)\\\\)/);\\n        if (m) { const v = m[1].split(\",\").map(Number); if ((v[3] === undefined || v[3] > 0.5)) return (0.2126 * v[0] + 0.7152 * v[1] + 0.0722 * v[2]) / 255 < 0.45; }\\n        if (c.backgroundImage && c.backgroundImage !== \"none\" && p.classList.contains(\"s-card\")) return true;\\n        p = p.parentElement;\\n      }\\n    }\\n    return false;\\n  };\\n\\n  // --- build section list from headings ---\\n  const SKIP = \".shelf,.p-hero,.s-hero,.card,.s-bcard,.s-case,.s-ncard,.qcard,.pcard,form,.form-card,.s-words,.cookie,#hdr,.drawer,footer,.menu,.s-rail,.modal,[role=dialog],.list\";\\n  const marks = [];\\n  $$(\".ambx-main h2, .ambx-main .h2, .ambx-main .eyebrow, .ambx-main .ttl, .ambx-main .p-head .lab\").forEach((el) => {\\n    if (el.closest(SKIP)) return;\\n    const r = el.getBoundingClientRect(); if (!r.width || !r.height) return;\\n    const sec = el.closest(\"section\") || el.parentElement;\\n    const last = marks[marks.length - 1];\\n    if (last && last.sec === sec) { if (!last.h && /H2|DIV|P/.test(el.tagName) && !el.classList.contains(\"eyebrow\") && !el.classList.contains(\"lab\")) { last.h = el; } return; }\\n    const isEb = el.classList.contains(\"eyebrow\") || el.classList.contains(\"lab\");\\n    marks.push({ sec, eb: isEb ? el : null, h: isEb ? null : el });\\n  });\\n  // fill heading for eyebrow-only marks from the next h2 inside the same section\\n  marks.forEach((m) => { if (!m.h) { const h = $$(\"h2,.h2,.ttl\", m.sec).find((x) => !x.closest(SKIP)); if (h) m.h = h; } });\\n  const items = marks.map((m, i) => {\\n    let eb = txt(m.eb), t = m.h && m.h.querySelector(\".s-rot\") ? \"\" : txt(m.h);\\n    if (!t) { t = eb; eb = \"\"; }\\n    if (!m.sec.id) m.sec.id = \"sec-\" + (i + 1);\\n    return { ...m, eb, t, anchor: m.h || m.eb || m.sec };\\n  }).filter((m) => m.t);\\n  // ROUND 78 \\xb7 a headingless lead-in block marked [data-rail-lead] (e.g. Membership \"No panel to schedule…\") belongs to the section\\n  // that follows it: that section\\'s entry starts at the lead-in, so the bar no longer keeps the previous section\\'s name over it\\n  $$(\".ambx-main [data-rail-lead]\").forEach((lead) => { const it = items.find((m) => lead.compareDocumentPosition(m.sec) & Node.DOCUMENT_POSITION_FOLLOWING); if (it) it.lead = lead; });\\n  if (items.length >= 2) {\\n    document.querySelectorAll(\".s-rail\").forEach((r) => r.remove());  // ROUND 74 \\xb7 a re-boot must not leave a second, stale rail on top\\n    const rail = document.createElement(\"div\"); rail.className = \"s-rail\";\\n    rail.innerHTML = `<div class=\"wrap in\"><button class=\"cur\" aria-label=\"Sections\"><span class=\"eb\"></span><span class=\"tt\"><span></span></span><span class=\"chev\" aria-hidden=\"true\"></span></button><span class=\"idx\"></span><button class=\"top\" aria-label=\"Back to top\">↑</button></div><div class=\"bar\"></div>\\n      <div class=\"list\"><div class=\"wrap\">${items.map((m, i) => `<a href=\"#${m.sec.id}\" data-i=\"${i}\"><span class=\"n\">${String(i + 1).padStart(2, \"0\")}</span><span>${m.eb ? m.eb + \" \\xb7 \" : \"\"}${m.t}</span></a>`).join(\"\")}</div></div>`;\\n    __ambxHost().appendChild(rail);\\n    const ebEl = $(\".eb\", rail), ttEl = $(\".tt span\", rail), idx = $(\".idx\", rail), bar = $(\".bar\", rail);\\n    $(\".cur\", rail).onclick = () => rail.classList.toggle(\"open\");\\n    $(\".top\", rail).onclick = () => { rail.classList.remove(\"open\"); window.__scrollTo ? window.__scrollTo(0) : scrollTo({ top: 0, behavior: \"smooth\" }); };\\n    $$(\".list a\", rail).forEach((a) => (a.onclick = (e) => { e.preventDefault(); rail.classList.remove(\"open\"); const m = items[+a.dataset.i]; const y = m.sec.getBoundingClientRect().top + scrollY - HDR() - 10; window.__scrollTo ? window.__scrollTo(y) : scrollTo({ top: y, behavior: \"smooth\" }); }));\\n    let cur = -1;\\n    const tocVis = new Set(), tocs = [...document.querySelectorAll(\".toc\")];\\n    if (tocs.length) { if (\"IntersectionObserver\" in window) { const tio = new IntersectionObserver((es) => { es.forEach((e) => (e.isIntersecting && e.intersectionRect.width > 0 ? tocVis.add(e.target) : tocVis.delete(e.target))); update(); }); tocs.forEach((t) => tio.observe(t)); } else tocs.forEach((t) => tocVis.add(t)); }\\n    const update = () => {\\n      const line = HDR() + 50;\\n      // a section runs from its heading block to the next heading block (or end of main)\\n      const mainEnd = ([...document.querySelectorAll(\".ambx-main\")].pop() || document.body).getBoundingClientRect().bottom;\\n      // ROUND 75 \\xb7 PERF: one rect read per section per frame (was two or three)\\n      const tops = items.map((m) => (m.lead || m.sec).getBoundingClientRect().top);\\n      const top = (i) => tops[i];\\n      const end = (i) => (i + 1 < items.length ? tops[i + 1] : mainEnd);\\n      let a = -1;\\n      items.forEach((m, i) => { if (top(i) <= line && end(i) > line) a = i; });\\n      // only show once the section\\'s own heading has scrolled out of view\\n      const tocOn = tocVis.size > 0;  // ROUND 75 \\xb7 PERF: visibility from an IntersectionObserver, not rect + computed style every frame\\n      const show = !tocOn && a >= 0 && (items[a].lead ? items[a].lead.getBoundingClientRect().top < line : items[a].anchor.getBoundingClientRect().bottom < line - 4) && end(a) > line + 120;\\n      rail.classList.toggle(\"on\", show);\\n      // ROUND 75 \\xb7 PERF: --rail is written only on the sticky elements that read it (TOC / split column). On the root it restyled\\n      // all ~1,700 elements (a ~25ms frame on phones) every time the bar showed or hid.\\n      if (update.__show !== show) { update.__show = show; (update.__railEls || (update.__railEls = [...document.querySelectorAll(\".s-split>.l,.toc\")])).forEach((el) => el.style.setProperty(\"--rail\", show ? \"46px\" : \"0px\")); }  // root var only on change (it restyles the whole page)\\n      if (!show) rail.classList.remove(\"open\");\\n      if (a >= 0) {\\n        const t0 = top(a), h = end(a) - t0;\\n        const bp = Math.max(0, Math.min(1, (line - t0) / Math.max(1, h - (innerHeight - line)))).toFixed(3);\\n        if (bar.__p !== bp) { bar.__p = bp; bar.style.transform = \"scaleX(\" + bp + \")\"; }  // compositor-only progress\\n        if (a !== cur) {\\n          cur = a; ttEl.classList.add(\"sw-out\");\\n          setTimeout(() => { ebEl.textContent = items[a].eb; ttEl.textContent = items[a].t; ttEl.classList.remove(\"sw-out\"); }, cur === a && ttEl.textContent ? 180 : 0);\\n          idx.textContent = String(a + 1).padStart(2, \"0\") + \" / \" + String(items.length).padStart(2, \"0\");\\n          $$(\".list a\", rail).forEach((x, i) => x.classList.toggle(\"act\", i === a));\\n        }\\n      }\\n      const nowT = performance.now(); if (!update.__t || (nowT - update.__t > 120 && Math.abs(scrollY - (update.__y || 0)) > 16)) { update.__t = nowT; update.__y = scrollY; rail.classList.toggle(\"dk\", isDarkAt(line + 30)); }\\n    };\\n    __onFrame(update);\\n    addEventListener(\"resize\", update); setTimeout(update, 300);\\n    document.addEventListener(\"click\", (e) => { if (!e.target.closest(\".s-rail\")) rail.classList.remove(\"open\"); });\\n  }\\n\\n  // --- header colour follows what\\'s behind it (replaces class-based detection) ---\\n  const hdr = $(\"#hdr\");\\n  if (hdr) { let lastT = 0, lastY = -1e9; const t = () => { const now = performance.now(); if (now - lastT < 120 || Math.abs(scrollY - lastY) < 16) return; lastT = now; lastY = scrollY; hdr.classList.toggle(\"dark\", isDarkAt(HDR() + 6)); }; __onFrame(t); __ambxOnLoad( t); setTimeout(t, 100); }\\n\\n  // --- smooth scrolling (Lenis) ---\\n  if (!RM && !matchMedia(\"(pointer: coarse)\").matches && !window.__lenis) {\\n    const s = document.createElement(\"script\"); s.src = \"https://framerusercontent.com/assets/RNzRDyrPeR3u6vqPhgYbIrij30M.js\";\\n    s.onload = () => {\\n      if (!window.Lenis) return;\\n      // tuned to scale.com (measured: 300px wheel → 240px travel, settles in ~0.5s)\\n      const lenis = new Lenis({ lerp: 0.1, wheelMultiplier: 0.9, touchMultiplier: 1.2, smoothWheel: true }); window.__lenis = lenis;\\n      const raf = (t) => { lenis.raf(t); requestAnimationFrame(raf); }; requestAnimationFrame(raf);\\n      window.__scrollTo = (y) => lenis.scrollTo(y, { duration: 1.2 });\\n      $$(\"iframe,.embed-frame,[data-lenis-prevent],.hscroll,textarea,select\").forEach((el) => el.setAttribute(\"data-lenis-prevent\", \"\"));\\n      $$(\\'a[href^=\"#\"]\\').forEach((a) => a.addEventListener(\"click\", (e) => { const id = a.getAttribute(\"href\"); if (id.length < 2) return; const t = document.querySelector(id); if (!t) return; e.preventDefault(); lenis.scrollTo(t, { offset: -(HDR() + 56), duration: 1.2 }); }));\\n    };\\n    document.head.appendChild(s);\\n  }\\n  // ROUND 65 \\xb7 header / menu / footer links always fire: warm the member-login connection, and if a press + release on a\\n  // link never turns into a click (dropped by the browser), follow the link ourselves\\n  try { if (!document.querySelector(\\'link[rel=preconnect][href=\"https://app.ai-circle.org\"]\\')) { const l = document.createElement(\"link\"); l.rel = \"preconnect\"; l.href = \"https://app.ai-circle.org\"; document.head.appendChild(l); } } catch (er) {}\\n  (() => {\\n    const zone = \"#hdr a[href],.drawer a[href],footer a[href]\"; let down = null, timer = 0;\\n    document.addEventListener(\"pointerdown\", (e) => { const a = e.target.closest && e.target.closest(zone); down = a && e.button === 0 ? a : null; }, true);\\n    document.addEventListener(\"pointerup\", (e) => {\\n      const a = e.target.closest && e.target.closest(zone); const d = down; down = null; if (!a || a !== d || e.button !== 0 || e.metaKey || e.ctrlKey || e.shiftKey) return;\\n      const h = a.getAttribute(\"href\") || \"\"; if (!h || h === \"#\" || h.startsWith(\"javascript\")) return;\\n      clearTimeout(timer); timer = setTimeout(() => { if (a.target === \"_blank\") window.open(a.href, \"_blank\", \"noopener\"); else location.assign(a.href); }, 450);\\n    }, true);\\n    document.addEventListener(\"click\", () => clearTimeout(timer), true);\\n    addEventListener(\"pagehide\", () => clearTimeout(timer));\\n  })();\\n  // ROUND 64 \\xb7 a link to the page you are already on scrolls to the top (and closes the menu) instead of a slow full reload\\n  document.addEventListener(\"click\", (e) => {\\n    const a = e.target.closest && e.target.closest(\"a[href]\"); if (!a || e.defaultPrevented || e.metaKey || e.ctrlKey || e.shiftKey || e.button > 0 || a.target === \"_blank\") return;\\n    let u; try { u = new URL(a.href, location.href); } catch (er) { return; }\\n    if (u.origin !== location.origin || u.hash || u.pathname.replace(/\\\\/$/, \"\") !== location.pathname.replace(/\\\\/$/, \"\") || u.search !== location.search) return;\\n    e.preventDefault(); const d = document.getElementById(\"drawer\"); if (d) d.classList.remove(\"open\"); document.documentElement.classList.remove(\"drawer-open\");\\n    if (window.__lenis) window.__lenis.scrollTo(0, { duration: Math.min(1, Math.max(0.45, 0.35 + scrollY / 5000)), easing: (t) => 1 - Math.pow(1 - t, 4) }); else scrollTo({ top: 0, behavior: RM ? \"auto\" : \"smooth\" });\\n  }, true);\\n  // ROUND 53 \\xb7 every link to a section on THIS page scrolls there smoothly (Lenis would otherwise cancel the browser\\'s jump)\\n  document.addEventListener(\"click\", (e) => {\\n    const a = e.target.closest && e.target.closest(\"a[href]\"); if (!a || e.defaultPrevented || e.metaKey || e.ctrlKey || e.shiftKey || a.target === \"_blank\") return;\\n    let u; try { u = new URL(a.href, location.href); } catch (er) { return; }\\n    if (!u.hash || u.origin !== location.origin || u.pathname.replace(/\\\\/$/, \"\") !== location.pathname.replace(/\\\\/$/, \"\")) return;\\n    const t = document.getElementById(decodeURIComponent(u.hash.slice(1))); if (!t) return;\\n    e.preventDefault(); try { history.replaceState(history.state, \"\", u.hash); } catch (er) {}\\n    const y = t.getBoundingClientRect().top + scrollY - HDR() - 56;\\n    const d = Math.min(1, Math.max(0.45, 0.35 + Math.abs(y - scrollY) / 5000)); // short hops are quick, long ones stay smooth\\n    if (window.__lenis) window.__lenis.scrollTo(y, { duration: d, easing: (t) => 1 - Math.pow(1 - t, 4) }); else scrollTo({ top: y, behavior: RM ? \"auto\" : \"smooth\" });\\n  }, true);\\n  // land hash links below header + rail\\n  // ROUND 72 \\xb7 arriving on a section link: wait until the layout stops moving, land once, then reveal (CSS holds the content\\n  // while :target is set, so visitors never see the half-built jump-then-jump)\\n  (() => {\\n    const reveal = () => document.documentElement.classList.add(\"ambx-hash-ready\");\\n    let id = \"\"; try { id = decodeURIComponent(location.hash.slice(1)); } catch (e) {}\\n    const t = id && document.getElementById(id); if (!t) return reveal();\\n    const go = () => { const y = Math.max(0, t.getBoundingClientRect().top + scrollY - HDR() - 56); if (window.__lenis) window.__lenis.scrollTo(y, { immediate: true, force: true }); else scrollTo(0, y); };\\n    let last = null, same = 0; const t0 = performance.now();\\n    // measure with the page parked at the top (it is hidden meanwhile): sticky layers sit at their natural positions there,\\n    // and neither the browser\\'s own fragment jump nor the smooth scroller can move it under us\\n    const park = () => { if (window.__lenis) window.__lenis.scrollTo(0, { immediate: true, force: true }); if (scrollY) scrollTo(0, 0); };\\n    const step = () => { park(); const y = Math.round(t.getBoundingClientRect().top + scrollY); same = y === last ? same + 1 : 0; last = y;\\n      if ((same >= 4 && performance.now() - t0 > 120) || performance.now() - t0 > 900) { go(); requestAnimationFrame(() => { go(); reveal(); }); } else requestAnimationFrame(step); };\\n    requestAnimationFrame(step);\\n  })();\\n\\n  // --- page transitions ---\\n  if (!RM) {\\n    const v = document.createElement(\"div\"); v.className = \"veil out\"; __ambxHost().appendChild(v);\\n    addEventListener(\"pageshow\", (e) => { if (e.persisted) v.className = \"veil out\"; });\\n    document.addEventListener(\"click\", (e) => {\\n      const a = e.target.closest(\"a\"); if (a && (a.hasAttribute(\"download\") || /^(blob|data):/.test(a.href))) return; if (!a || e.defaultPrevented || e.metaKey || e.ctrlKey || e.shiftKey || a.target === \"_blank\") return;\\n      const h = a.getAttribute(\"href\") || \"\"; if (!h || h.startsWith(\"#\") || /^(https?:|mailto:|tel:)/.test(h) && !h.startsWith(location.origin)) return;\\n      const url = new URL(a.href, location.href); if (url.pathname === location.pathname && url.hash) return;\\n      if (window.CSSViewTransitionRule) return; e.preventDefault(); v.className = \"veil in\"; setTimeout(() => (location.href = a.href), 80);\\n    });\\n  }\\n})();\\n\\n/* ===== SEAMLESS ZONES: each top-level colour zone fades in from the previous zone\\'s colour (no hard edges, text always legible) ===== */\\n(function () {\\n  const main = { querySelectorAll: (s) => [...document.querySelectorAll(\".ambx-main\")].flatMap((m) => [...m.querySelectorAll(s)]) };\\n  const zones = [...main.querySelectorAll(\".dark,.light,.white,.black,.grey\")].filter((z) => !z.parentElement.closest(\".dark,.light,.white,.black,.grey\") && !z.closest(\".card,.s-case,.s-bcard,.s-ncard,.qcard,.pcard,.form-card,.s-hero,.p-tile,.p-dcard\"));\\n  let prev = getComputedStyle(document.querySelector(\".ambx\") || document.body).backgroundColor;\\n  zones.forEach((z) => {\\n    const c = getComputedStyle(z).backgroundColor; z.dataset.zc = c;\\n    const ps = z.previousElementSibling; if (!ps || !zones.includes(ps)) { prev = c; return; }\\n    if (c !== prev && !/rgba\\\\(0, 0, 0, 0\\\\)/.test(prev) && !z.classList.contains(\"x-layer\") && !(z.previousElementSibling && z.previousElementSibling.classList.contains(\"x-story\"))) z.style.backgroundImage = `linear-gradient(180deg, ${prev} 0px, ${c} 90px)`;\\n    prev = c;\\n  });\\n})();\\n\\n/* ===== hover-peek rows: every chapter row shows a random pick from the best event photos (never the same twice in a row) ===== */\\n(function () {\\n  const rows = [...document.querySelectorAll(\".peek-row\")]; if (!rows.length) return;\\n  const root = \"\";\\n  const BEST = [\"1ce892b0bc25\", \"41d9350f6abc\", \"2e0ddac5a3c5\", \"7621c90050bc\", \"7fc053dbfd15\", \"883b7a845998\", \"91c1aba83583\", \"543ab1d1db21\", \"5c4cf2621594\", \"ade02aabd5c0\", \"7ed2e75d86e0\", \"2314bc188b91\", \"88e6ea42650b\", \"55546689b176\", \"1e3b175a5906\"].map((h) => __A(\"site/\" + h + \".jpg\"));\\n  const pk = document.createElement(\"div\"); pk.className = \"peek\"; pk.innerHTML = \"<img alt=\\'\\'>\"; __ambxHost().appendChild(pk);\\n  // ROUND 75 \\xb7 PERF: the 15 hover photos (~1.6MB) used to download the moment the page became interactive, even on phones (no hover).\\n  // Now: mouse devices only, once the chapter rows come within a screen of view (or on first hover)\\n  let warm = false; const preload = () => { if (warm) return; warm = true; BEST.forEach((u) => { const i = new Image(); i.decoding = \"async\"; i.src = u; }); };\\n  if (matchMedia(\"(hover: hover) and (pointer: fine)\").matches) {\\n    if (\"IntersectionObserver\" in window) { const io = new IntersectionObserver((es) => { if (es.some((e) => e.isIntersecting)) { io.disconnect(); preload(); } }, { rootMargin: \"100% 0px\" }); io.observe(rows[0].parentElement || rows[0]); } else preload();\\n    rows.forEach((r) => r.addEventListener(\"pointerenter\", preload, { once: true }));\\n  }\\n  let last = -1; const pick = () => { let k; do { k = (Math.random() * BEST.length) | 0; } while (k === last && BEST.length > 1); last = k; return BEST[k]; };\\n  rows.forEach((r) => { r.addEventListener(\"mouseenter\", () => { pk.firstChild.src = pick(); pk.classList.add(\"on\"); }); r.addEventListener(\"mouseleave\", () => pk.classList.remove(\"on\")); r.addEventListener(\"mousemove\", (e) => { pk.style.left = e.clientX + 28 + \"px\"; pk.style.top = e.clientY - 100 + \"px\"; }); });\\n})();\\n\\n\\n/* ===== LIVING PHOTOS: atmosphere photos (AI Circle event & chapter shots) re-shuffle every time you stop scrolling ===== */\\n(function () {\\n  if (matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return;\\n  const root = \"\";\\n  const POOL = [\\n    [\"1ce892b0bc25.jpg\", \"AI Circle London Tech Week\"],\\n    [\"1e3b175a5906.jpg\", \"AI Circle at NVIDIA GTC\"],\\n    [\"2314bc188b91.jpg\", \"AI Circle members in conversation\"],\\n    [\"28e89745d59e.jpg\", \"AI Circle San Francisco chapter conversation\"],\\n    [\"2c990961ced9.jpg\", \"AI Circle at ICML Seoul\"],\\n    [\"2e0ddac5a3c5.jpg\", \"AI Circle New York\"],\\n    [\"41d9350f6abc.jpg\", \"AI Circle at ICML Seoul\"],\\n    [\"543ab1d1db21.jpg\", \"AI Circle at ICML Seoul\"],\\n    [\"55546689b176.jpg\", \"AI Circle at MACHINA conference stage\"],\\n    [\"5a7bac1f1413.jpg\", \"AI Circle members at a daytime gathering\"],\\n    [\"5c4cf2621594.jpg\", \"AI Circle New York\"],\\n    [\"6bd79b223b54.jpg\", \"AI Circle San Francisco chapter group\"],\\n    [\"7621c90050bc.jpg\", \"AI Circle Paris chapter dinner by candlelight\"],\\n    [\"7cd2283a5c1f.jpg\", \"AI Circle Paris chapter dinner\"],\\n    [\"7ed2e75d86e0.jpg\", \"AI Circle at ICML Seoul\"],\\n    [\"7fc053dbfd15.jpg\", \"AI Circle London Tech Week\"],\\n    [\"85dd1b8bb91e.jpg\", \"AI Circle members networking\"],\\n    [\"883b7a845998.jpg\", \"AI Circle poker night mixer\"],\\n    [\"88e6ea42650b.jpg\", \"AI Circle San Francisco chapter mixer\"],\\n    [\"91c1aba83583.jpg\", \"AI Circle London Tech Week\"],\\n    [\"9334b6e0a2d4.jpg\", \"AI Circle interview at a member event\"],\\n    [\"95cc19ce6ead.jpg\", \"AI Circle London Tech Week\"],\\n    [\"ade02aabd5c0.jpg\", \"AI Circle at NVIDIA GTC\"],\\n    [\"de763cc27028.jpg\", \"AI Circle London Tech Week\"],\\n    [\"ec3a1818e222.jpg\", \"AI Circle at ICML Seoul\"],\\n    [\"ef4b9fe4bb9f.jpg\", \"AI Circle members connecting over drinks\"],\\n    [\"f4b9601502a9.jpg\", \"AI Circle Paris chapter dinner\"],\\n    [\"f71519fd45bc.jpg\", \"AI Circle members laughing together\"]\\n  ];\\n  const byFile = Object.fromEntries(POOL);\\n  const fileOf = (u) => { const f = __F(u); return f && byFile[f] ? f : null; };\\n  // content-bound images never swap: speakers, logos, map thumbnails, chapter peek photos, marquee reels\\n  const LOCK = \".x-media,.x-story,.s-case,.pcard,.qcard,.reel,.marq,.peek,.peek-row,.s-ncard,.cred-logos,.logo-strip,.trust,form,.form-card,.prose figure,[data-lock]\";\\n  const slots = [];\\n  document.querySelectorAll(\".ambx-main img\").forEach((im) => { if (!im.closest(LOCK) && fileOf(im.getAttribute(\"src\"))) slots.push({ el: im, kind: \"img\" }); });\\n  document.querySelectorAll(\".ambx-main .slide,main .bgimg,main .ph,main [data-bg-swap]\").forEach((d) => { if (!d.closest(LOCK) && fileOf(d.style.backgroundImage)) slots.push({ el: d, kind: \"bg\" }); });\\n  if (!slots.length) return;\\n  const files = POOL.map((p) => p[0]);\\n  const HERO = [\"1e3b175a5906.jpg\",\"7621c90050bc.jpg\",\"7cd2283a5c1f.jpg\",\"f4b9601502a9.jpg\",\"883b7a845998.jpg\",\"88e6ea42650b.jpg\",\"de763cc27028.jpg\",\"ade02aabd5c0.jpg\",\"91c1aba83583.jpg\",\"1ce892b0bc25.jpg\",\"2314bc188b91.jpg\"].filter((f) => byFile[f]);\\n  const BIG = \".s-hero,.p-hero,.p-photocta,.s-cta,.cta-card,.s-frame,.p-wide,.s-floaters\";\\n  let curSlot = null;\\n  const pick = (avoid) => { const list = curSlot && curSlot.closest(BIG) && HERO.length ? HERO : files; let f, n = 0; do { f = list[(Math.random() * list.length) | 0]; } while (avoid.has(f) && ++n < 40); return f; };\\n  const showing = () => new Set(slots.map((s) => fileOf(s.kind === \"img\" ? s.el.getAttribute(\"src\") : s.el.style.backgroundImage)));\\n  const inView = (el) => { const r = el.getBoundingClientRect(); return r.bottom > -120 && r.top < innerHeight + 120; };\\n  const swap = (s, f) => {\\n    const big = s.el.closest(\".s-hero,.p-hero,.p-photocta,.s-cta,.cta-card,.p-wide\") && HERO.includes(f);\\n    const url = __A(\"site/\" + (big ? \"hd/\" : \"\") + f), pre = new Image();\\n    pre.onload = () => {\\n      s.el.classList.add(\"swap-out\");\\n      setTimeout(() => {\\n        if (s.kind === \"img\") { s.el.src = url; s.el.alt = byFile[f]; } else s.el.style.backgroundImage = `url(${url})`;\\n        s.el.classList.remove(\"swap-out\");\\n      }, 380);\\n    };\\n    pre.src = url;\\n  };\\n  // first paint: randomise every slot so no two visits look the same\\n  (() => { const used = new Set(); slots.forEach((s) => { curSlot = s.el; const f = pick(used); used.add(f); const big = s.el.closest(\".s-hero,.p-hero,.p-photocta,.s-cta,.cta-card,.p-wide\") && HERO.includes(f); const u = __A(\"site/\" + (big ? \"hd/\" : \"\") + f); if (s.kind === \"img\") { s.el.src = u; s.el.alt = byFile[f]; } else s.el.style.backgroundImage = `url(${u})`; }); })();\\n  let t = null, lastY = scrollY;\\n  addEventListener(\"scroll\", () => {\\n    clearTimeout(t);\\n    t = setTimeout(() => {\\n      if (Math.abs(scrollY - lastY) < 60) return; lastY = scrollY;\\n      const used = showing();\\n      slots.filter((s) => !inView(s.el) && !(s.kind === \"bg\" && s.el.classList.contains(\"slide\") && !s.el.classList.contains(\"on\")))\\n        .forEach((s) => { curSlot = s.el; const f = pick(used); used.add(f); swap(s, f); });\\n    }, 220);\\n  }, { passive: true });\\n})();\\n\\n/* ===== ROUND 6 behaviours: stagger reveals, stepper, quote slider, accordion filters, count-up, hero zoom ===== */\\n(function () {\\n  const $$ = (s, c = document) => [...c.querySelectorAll(s)];\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"in\"); io.unobserve(e.target); } }), { threshold: 0.12 });\\n  $$(\".stagger,.p-hero,.p-wide .im\").forEach((el) => io.observe(el));\\n  setTimeout(() => $$(\".p-hero\").forEach((h) => h.classList.add(\"in\")), 60);\\n\\n  // stepper: <div class=\"p-stepper\" data-auto=\"6000\"> .step* + .art img* (same count) + .ctrl + .bars\\n  $$(\".p-stepper\").forEach((sp) => {\\n    const steps = $$(\".step\", sp), arts = $$(\".art img\", sp); if (!steps.length) return;\\n    let bars = $(\".bars\", sp); if (!bars) { bars = document.createElement(\"div\"); bars.className = \"bars\"; sp.appendChild(bars); }\\n    bars.innerHTML = steps.map(() => \"<i></i>\").join(\"\");\\n    let i = 0, timer = null; const dur = +(sp.dataset.auto || 6000);\\n    const set = (n) => { i = (n + steps.length) % steps.length; steps.forEach((s, k) => s.classList.toggle(\"on\", k === i)); arts.forEach((a, k) => a.classList.toggle(\"on\", k === i % arts.length)); $$(\"i\", bars).forEach((b, k) => { b.className = k < i ? \"done\" : \"\"; }); const cur = $$(\"i\", bars)[i]; void cur.offsetWidth; cur.className = \"on\"; restart(); };\\n    const restart = () => { clearTimeout(timer); if (!RM) timer = setTimeout(() => vis && set(i + 1), dur); };\\n    let vis = false; new IntersectionObserver((es) => { vis = es[0].isIntersecting; if (vis) restart(); }, { threshold: 0.3 }).observe(sp);\\n    const prev = $(\".prev\", sp), next = $(\".next\", sp); if (prev) prev.onclick = () => set(i - 1); if (next) next.onclick = () => set(i + 1);\\n    set(0);\\n  });\\n  function $(s, c) { return c.querySelector(s); }\\n\\n  // quote slider: .p-quote with .slide-q children + auto dots\\n  $$(\".p-quote\").forEach((q) => {\\n    const sl = $$(\".slide-q\", q); if (sl.length < 2) { sl.forEach((s) => s.classList.add(\"on\")); return; }\\n    const dots = document.createElement(\"div\"); dots.className = \"dots\"; dots.innerHTML = sl.map((_, k) => `<button aria-label=\"Quote ${k + 1}\"></button>`).join(\"\");\\n    (q.querySelector(\".main\") || q).appendChild(dots);\\n    let i = 0, t; const set = (n) => { i = (n + sl.length) % sl.length; sl.forEach((s, k) => s.classList.toggle(\"on\", k === i)); $$(\"button\", dots).forEach((d, k) => d.classList.toggle(\"on\", k === i)); clearTimeout(t); if (!RM) t = setTimeout(() => set(i + 1), 7000); };\\n    $$(\"button\", dots).forEach((d, k) => (d.onclick = () => set(k))); set(0);\\n  });\\n\\n  // accordion filters: .p-filters [data-filter-for=\"#listId\"] input = text search, select = data-k match\\n  $$(\".p-filters\").forEach((f) => {\\n    const list = document.querySelector(f.dataset.for); if (!list) return;\\n    const items = $$(\"details\", list), cnt = document.querySelector(f.dataset.count || \"_\");\\n    const apply = () => { const q = (f.querySelector(\"input\") || {}).value || \"\", sel = $$(\"select\", f).map((s) => s.value).filter(Boolean); let n = 0;\\n      $$(\"details\", list).forEach((d) => { const t = d.textContent.toLowerCase(), ok = (!q || t.includes(q.toLowerCase())) && sel.every((v) => (d.dataset.k || \"\").includes(v)); d.style.display = ok ? \"\" : \"none\"; if (ok) n++; });\\n      if (cnt) cnt.textContent = cnt.dataset.tpl ? cnt.dataset.tpl.replace(\"#\", n) : n; };\\n    f.addEventListener(\"input\", apply); f.addEventListener(\"change\", apply);\\n  });\\n\\n  // count-up for numbers in .p-stat .big[data-count] (keeps the exact live text once done)\\n  const cio = new IntersectionObserver((es) => es.forEach((e) => { if (!e.isIntersecting) return; cio.unobserve(e.target); const el = e.target, final = el.textContent, m = final.match(/[\\\\d,.]+/); if (!m || RM || (final.match(/\\\\d[\\\\d,.]*/g) || []).length > 1) return;\\n    const num = parseFloat(m[0].replace(/,/g, \"\")), dec = (m[0].split(\".\")[1] || \"\").length, t0 = performance.now();\\n    const step = (t) => { const k = Math.min(1, (t - t0) / 1400), v = num * (1 - Math.pow(1 - k, 3)); el.textContent = final.replace(m[0], v.toLocaleString(\"en-US\", { minimumFractionDigits: dec, maximumFractionDigits: dec })); if (k < 1) requestAnimationFrame(step); else el.textContent = final; };\\n    requestAnimationFrame(step); }), { threshold: 0.4 });\\n  $$(\".p-stat .big[data-count]\").forEach((el) => cio.observe(el));\\n})();\\n\\n/* ===== POLISH: menu photos, lazy images, drawer, arrows ===== */\\n(function () {\\n  const root = \"\";\\n  const PH = [\"1e3b175a5906\",\"543ab1d1db21\",\"95cc19ce6ead\",\"7cd2283a5c1f\",\"5c4cf2621594\",\"88e6ea42650b\",\"7621c90050bc\",\"2314bc188b91\",\"6bd79b223b54\",\"55546689b176\",\"de763cc27028\",\"41d9350f6abc\"];\\n  // ROUND 79 \\xb7 PERF: the dropdown-card photos (~390KB) used to download on every page load, phones included (they never see them).\\n  // Now: desktop/mouse loads them quietly once the page is idle (ready before anyone hovers); any device loads them on first menu use.\\n  const mfs = [...document.querySelectorAll(\"#hdr .mf\")], picks = mfs.map((m, i) => PH[(i * 3 + ((Math.random() * PH.length) | 0)) % PH.length]);\\n  let mfDone = false; const mfLoad = () => { if (mfDone) return; mfDone = true; mfs.forEach((m, i) => { m.style.backgroundImage = `url(${__A(\"site/\" + picks[i] + \".jpg\")})`; }); };\\n  if (mfs.length) {\\n    const nav = document.querySelector(\"#hdr .links\"); if (nav) { nav.addEventListener(\"pointerenter\", mfLoad, { once: true }); nav.addEventListener(\"focusin\", mfLoad, { once: true }); }\\n    if (matchMedia(\"(hover: hover) and (pointer: fine)\").matches) { const idle = () => (window.requestIdleCallback || setTimeout)(mfLoad, { timeout: 2500 }); if (document.readyState === \"complete\") idle(); else __ambxOnLoad( idle, { once: true }); }\\n  }\\n  // lazy-load images below the first screen\\n  document.querySelectorAll(\".ambx-main img\").forEach((im) => { if (!im.closest(\".s-hero,.p-hero\") && im.getBoundingClientRect().top > innerHeight * 1.2) { im.loading = \"lazy\"; im.decoding = \"async\"; } });\\n  // drawer: lock scroll + staggered entrance\\n  const dr = document.getElementById(\"drawer\"), bg = document.getElementById(\"burger\");\\n  if (dr && bg) { bg.addEventListener(\"click\", () => { document.documentElement.classList.toggle(\"drawer-open\", dr.classList.contains(\"open\")); bg.classList.toggle(\"x\", dr.classList.contains(\"open\")); }); }\\n})();\\n\\n/* ===== ROUND 9 \\xb7 SCALE SCROLL ENGINE ===== */\\n(function () {\\n  const $$ = (s, c = document) => [...c.querySelectorAll(s)];\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  const clamp = (v, a = 0, b = 1) => Math.min(b, Math.max(a, v));\\n\\n  // A \\xb7 pinned chapter stories: <section class=\"x-story\" data-vh=\"100\"> .x-pin > .x-visual > .x-plate > .x-media > (img|iframe)* ; .x-chapters > .x-ch*\\n  const stories = $$(\".x-story\").map((st) => {\\n    const chs = $$(\".x-ch\", st), media = $$(\".x-media > :not(.grid)\", st), plate = st.querySelector(\".x-plate\");\\n    const per = +(st.dataset.vh || 90);\\n    if (!RM) st.style.height = `calc(100vh + ${chs.length * per}vh)`;\\n    let ticks = st.querySelector(\".x-ticks\");\\n    if (!ticks && chs.length > 1) { ticks = document.createElement(\"div\"); ticks.className = \"x-ticks\"; ticks.innerHTML = chs.map(() => \"<i><b></b></i>\").join(\"\"); st.querySelector(\".x-pin\").appendChild(ticks); }\\n    return { st, chs, media, plate, ticks: ticks ? $$(\"b\", ticks) : [], cur: -1 };\\n  });\\n\\n  // ROUND 76 \\xb7 short screens (e.g. 1280\\xd7720 laptops): the photo + chapter text did not fit the pinned screen and the text was cut\\n  // off at the bottom. Only when that would happen, the photo is scaled down just enough (and the text box made tall enough);\\n  // screens where everything already fits are left exactly as they were.\\n  const fitStories = () => stories.forEach((s) => {\\n    const pin = s.st.querySelector(\".x-pin\"), vis = s.st.querySelector(\".x-visual\"), box = s.st.querySelector(\".x-chapters\");\\n    if (!pin || !vis || !box || RM) return;\\n    vis.style.maxWidth = \"\"; box.style.minHeight = \"\";\\n    const cs = getComputedStyle(pin), row = cs.flexDirection === \"row\";\\n    const padB = parseFloat(cs.paddingBottom) || 0, padT = parseFloat(cs.paddingTop) || 0;\\n    const tallest = Math.max(0, ...s.chs.map((c) => c.scrollHeight));\\n    const over = () => { const pr = pin.getBoundingClientRect(), br = box.getBoundingClientRect(), vr = vis.getBoundingClientRect();\\n      return Math.max(br.top + Math.max(tallest, box.offsetHeight) - (pr.top + pin.clientHeight - padB * 0.5), (pr.top + padT * 0.75) - vr.top); };\\n    if (over() <= 2) return;\\n    if (!row && tallest > box.offsetHeight) box.style.minHeight = tallest + \"px\";\\n    const ratio = vis.offsetWidth / Math.max(1, vis.offsetHeight);\\n    const used = row ? 0 : Math.max(tallest, box.offsetHeight) + (parseFloat(getComputedStyle(box).marginTop) || 0) + 24;\\n    const avail = pin.clientHeight - padT - padB - used;\\n    vis.style.maxWidth = Math.max(220, Math.floor(avail * ratio)) + \"px\";\\n  });\\n  if (stories.length) { fitStories(); addEventListener(\"resize\", fitStories); __ambxOnLoad( fitStories); if (document.fonts && document.fonts.ready) document.fonts.ready.then(fitStories); setTimeout(fitStories, 1200); }\\n\\n  // B \\xb7 stacking layers\\n  const layers = $$(\".x-stack > .x-layer\");\\n  layers.forEach((l) => { if (!l.querySelector(\":scope > .x-dim\")) { const d = document.createElement(\"div\"); d.className = \"x-dim\"; l.appendChild(d); } });\\n  // ROUND 55 \\xb7 a pinned card whose buttons sit at its very bottom gets room under them, so they rise into view and stay\\n  // clickable before the next card slides over (they used to be covered almost as soon as they appeared)\\n  const roomForCtas = (l) => {\\n    let sp = l.querySelector(\":scope > .x-cta-room\"); const lr = l.getBoundingClientRect(), cur = sp ? sp.offsetHeight : 0;\\n    // ROUND 62 \\xb7 every link counts (list rows too), so the last row of a stacked layer is never covered before it can be tapped\\n    const ctas = [...l.querySelectorAll(\"a[href], a[data-href], button\")].filter((a) => { const r = a.getBoundingClientRect(); return r.width && r.height && !a.closest(\".x-dim,.drawer,.menu,[aria-hidden=true],.x-story,.p-hero,.s-hero,.marq,.net-stage,iframe\"); });\\n    if (!ctas.length) { if (sp) sp.style.height = \"0px\"; return; }\\n    const lowest = Math.max(...ctas.map((a) => a.getBoundingClientRect().bottom)), gap = lr.bottom - cur - lowest, need = Math.round(innerHeight * 0.3);\\n    const h = Math.max(0, need - gap); if (!sp && !h) return;\\n    if (!sp) { sp = document.createElement(\"div\"); sp.className = \"x-cta-room\"; sp.setAttribute(\"aria-hidden\", \"true\"); const d = l.querySelector(\":scope > .x-dim\"); d ? l.insertBefore(sp, d) : l.appendChild(sp); }\\n    if (Math.abs(cur - h) > 2) sp.style.height = h + \"px\";\\n  };\\n  const setTops = () => layers.forEach((l) => { const last = !l.nextElementSibling || !l.nextElementSibling.classList.contains(\"x-layer\"); if (!last) roomForCtas(l); l.style.top = last ? \"0px\" : Math.min(0, innerHeight - l.offsetHeight) + \"px\"; });\\n  if (!RM) { setTops(); addEventListener(\"resize\", setTops); __ambxOnLoad( setTops); if (window.ResizeObserver && layers.length) { let t; const ro = new ResizeObserver(() => { clearTimeout(t); t = setTimeout(setTops, 60); }); layers.forEach((l) => ro.observe(l)); } } else layers.forEach((l) => (l.style.position = \"relative\"));\\n\\n  // C \\xb7 scrubbed headings: [data-reveal] or auto on section heads\\n  const revs = $$(\"[data-reveal], .p-head h2, .p-mission h2, .s-news .ttl, .x-reveal-auto\").filter((h) => h.querySelector(\".sw\"));\\n  revs.forEach((h) => h.classList.add(\"x-reveal\"));\\n\\n  // D \\xb7 centre-focus carousels\\n  $$(\".x-focus\").forEach((row) => {\\n    const kids = [...row.children];\\n    const upd = () => { const c = row.getBoundingClientRect(), mid = c.left + c.width / 2; let best = null, bd = 1e9; kids.forEach((k) => { const r = k.getBoundingClientRect(), d = Math.abs(r.left + r.width / 2 - mid); if (d < bd) { bd = d; best = k; } }); kids.forEach((k) => k.classList.toggle(\"focus\", k === best)); };\\n    let rq = false; row.addEventListener(\"scroll\", () => { if (!rq) { rq = true; requestAnimationFrame(() => { rq = false; upd(); }); } }, { passive: true }); upd();\\n    const ctrl = row.nextElementSibling && row.nextElementSibling.classList.contains(\"x-focus-ctrl\") ? row.nextElementSibling : null;\\n    if (ctrl) { const [p, n] = $$(\"button\", ctrl); const go = (d) => { const f = kids.indexOf(row.querySelector(\".focus\")); const t = kids[clamp(f + d, 0, kids.length - 1)]; row.scrollTo({ left: t.offsetLeft - (row.clientWidth - t.clientWidth) / 2, behavior: \"smooth\" }); }; p && (p.onclick = () => go(-1)); n && (n.onclick = () => go(1)); }\\n    setTimeout(() => { const m = kids[row.dataset.start ? +row.dataset.start : (kids.length >= 4 ? 1 : Math.floor(kids.length / 2))]; if (m) row.scrollLeft = m.offsetLeft - (row.clientWidth - m.clientWidth) / 2; upd(); }, 50);\\n  });\\n\\n  function tick() {\\n    const vh = innerHeight;\\n    stories.forEach((s) => {\\n      const r = s.st.getBoundingClientRect(), total = r.height - vh, p = clamp(-r.top / Math.max(1, total));\\n      const n = s.chs.length, f = p * n, i = Math.min(n - 1, Math.floor(f));\\n      if (i !== s.cur) { s.cur = i; s.media.forEach((m, k) => m.classList.toggle(\"on\", k === Math.min(i, s.media.length - 1) || (s.media.length < n && k === i % s.media.length))); }\\n      // scrubbed chapter crossfade: each chapter fades/rises in over the first 30% of its slot and out over the last 22%\\n      s.chs.forEach((c, k) => {\\n        const local = f - k; let o;\\n        if (k === 0 && local < 0.3) o = 1; else if (k === n - 1 && local > 0.7) o = 1;\\n        else o = clamp(Math.min(local / 0.3, (1 - local) / 0.22));\\n        const y = (1 - o) * (local < 0.5 ? 22 : -16);\\n        c.style.opacity = o.toFixed(3); c.style.transform = `translateY(${y.toFixed(1)}px)`; c.style.pointerEvents = o > 0.6 ? \"auto\" : \"none\"; c.classList.toggle(\"on\", o > 0.5);\\n      });\\n      s.ticks.forEach((b, k) => (b.style.transform = `scaleX(${clamp(f - k)})`));\\n      if (s.plate && !RM) { const k = p * 2 - 1; s.plate.style.transform = `rotateX(${10 - p * 10}deg) rotateY(${-18 + p * 36}deg) rotateZ(${k * 2}deg) scale(${0.94 + Math.sin(p * Math.PI) * 0.06})`; }\\n    });\\n    layers.forEach((l, k) => { const nx = l.nextElementSibling && l.nextElementSibling.classList.contains(\"x-layer\") ? l.nextElementSibling : null; const d = l.querySelector(\":scope > .x-dim\"); if (!nx || !d) return; const r = nx.getBoundingClientRect(); const q = clamp(1 - r.top / vh); d.style.opacity = (q * 0.5).toFixed(3); if (!RM && nx.previousElementSibling === l) { const inner = l.__inner || (l.__inner = l.firstElementChild); if (inner && inner !== d && !(inner.__emb ?? (inner.__emb = !!inner.querySelector(\"iframe\")))) { inner.style.transform = q > 0 ? `scale(${(1 - q * 0.04).toFixed(4)})` : \"\"; inner.style.transformOrigin = \"50% 0\"; } } });\\n    revs.forEach((h) => { const r = h.getBoundingClientRect(); if (r.bottom < -50 || r.top > vh + 50) return; const ws = h.__ws || (h.__ws = $$(\".sw > span\", h)); const p = clamp((vh * 0.92 - r.top) / (vh * 0.38)) * ws.length; ws.forEach((w, k) => { const o = RM ? 1 : 0.16 + 0.84 * clamp(p - k); w.style.opacity = o.toFixed(3); }); });\\n  }\\n  __onFrame(tick); addEventListener(\"resize\", tick); tick();\\n})();\\n\\n/* ===== HUD LINE-ART over pinned visuals & frames (Scale\\'s engineered look; decorative, no text) ===== */\\n(function () {\\n  const NS = \"http://www.w3.org/2000/svg\";\\n  const hud = (host, seed) => {\\n    let r = seed * 9301 + 49297; const rnd = () => ((r = (r * 9301 + 49297) % 233280) / 233280);\\n    const W = 1000, H = 625, svg = document.createElementNS(NS, \"svg\");\\n    svg.setAttribute(\"viewBox\", `0 0 ${W} ${H}`); svg.setAttribute(\"class\", \"hud-svg\"); svg.setAttribute(\"aria-hidden\", \"true\"); svg.setAttribute(\"preserveAspectRatio\", \"none\");\\n    let g = \"\";\\n    // corner brackets\\n    [[18, 18, 1, 1], [W - 18, 18, -1, 1], [18, H - 18, 1, -1], [W - 18, H - 18, -1, -1]].forEach(([x, y, a, b]) => (g += `<path d=\"M${x} ${y + 26 * b}V${y}H${x + 26 * a}\" class=\"h1\"/>`));\\n    // tick rulers (top + left)\\n    for (let i = 60; i < W - 60; i += 20) g += `<line x1=\"${i}\" y1=\"0\" x2=\"${i}\" y2=\"${i % 100 ? 5 : 11}\" class=\"h2\"/>`;\\n    for (let i = 60; i < H - 60; i += 20) g += `<line x1=\"0\" y1=\"${i}\" x2=\"${i % 100 ? 5 : 11}\" y2=\"${i}\" class=\"h2\"/>`;\\n    // node graph\\n    const n = 7 + ((rnd() * 4) | 0), pts = [];\\n    for (let i = 0; i < n; i++) pts.push([90 + rnd() * (W - 180), 70 + rnd() * (H - 140)]);\\n    pts.forEach((p, i) => { const q = pts[(i + 1 + ((rnd() * 2) | 0)) % n]; g += `<path d=\"M${p[0]} ${p[1]}H${(p[0] + q[0]) / 2}V${q[1]}H${q[0]}\" class=\"h3\"/>`; });\\n    pts.forEach((p, i) => (g += i % 3 ? `<rect x=\"${p[0] - 4}\" y=\"${p[1] - 4}\" width=\"8\" height=\"8\" class=\"h4\"/>` : `<circle cx=\"${p[0]}\" cy=\"${p[1]}\" r=\"3.5\" class=\"h5\"/>`));\\n    // crosshair on one node\\n    const c = pts[0]; g += `<circle cx=\"${c[0]}\" cy=\"${c[1]}\" r=\"18\" class=\"h1\"/><line x1=\"${c[0] - 30}\" y1=\"${c[1]}\" x2=\"${c[0] + 30}\" y2=\"${c[1]}\" class=\"h2\"/><line x1=\"${c[0]}\" y1=\"${c[1] - 30}\" x2=\"${c[0]}\" y2=\"${c[1] + 30}\" class=\"h2\"/>`;\\n    // scan line\\n    g += `<line x1=\"0\" y1=\"0\" x2=\"${W}\" y2=\"0\" class=\"scan\"/>`;\\n    svg.innerHTML = g; host.appendChild(svg);\\n  };\\n  document.querySelectorAll(\".x-media, .s-frame .plate > .content\").forEach((m, i) => { if (!m.querySelector(\".hud-svg\") && m.querySelector(\"img\")) hud(m, i + 3); });\\n})();\\n\\n/* ===== ROUND 66 \\xb7 touch screens: link marquees (speaker cards) can be swiped, and stop while a finger is on them, so any card can be tapped ===== */\\n(function () {\\n  if (!matchMedia(\"(pointer:coarse)\").matches || matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return;\\n  document.querySelectorAll(\".marq\").forEach((mq) => {\\n    const t = mq.querySelector(\".marq-track\"); if (!t || !t.querySelector(\"a[href]\")) return;\\n    t.style.animation = \"none\"; mq.style.touchAction = \"pan-y\"; mq.style.overflow = \"hidden\";\\n    const dir = mq.classList.contains(\"rev\") ? -1 : 1; let x = 0, last = 0, held = false, hold = 0, vis = true, sx = 0, px = 0, moved = false;\\n    // ROUND 75 \\xb7 PERF: width + speed are measured once (and on resize / image load), not every frame (that forced a layout per frame),\\n    // and only one animation loop runs per strip however often it scrolls in and out of view\\n    let half = 1, sp = 0, running = false;\\n    const measure = () => { half = t.scrollWidth / 2 || 1; sp = half / (parseFloat(getComputedStyle(t).getPropertyValue(\"--dur\")) || 60); };\\n    measure(); addEventListener(\"resize\", measure); t.addEventListener(\"load\", measure, true);\\n    if (window.ResizeObserver) new ResizeObserver(measure).observe(t);\\n    new IntersectionObserver((es) => { vis = es[0].isIntersecting; if (vis && !running) { running = true; last = 0; measure(); requestAnimationFrame(step); } }, { rootMargin: \"100px\" }).observe(mq);\\n    function step(now) {\\n      if (!vis) { running = false; return; }\\n      if (last && !held && now > hold) x += dir * sp * Math.min(0.05, (now - last) / 1000);\\n      last = now; x = ((x % half) + half) % half; t.style.transform = `translate3d(${-x}px,0,0)`; requestAnimationFrame(step);\\n    }\\n    mq.addEventListener(\"pointerdown\", (e) => { held = true; moved = false; sx = px = e.clientX; }, { passive: true });\\n    mq.addEventListener(\"pointermove\", (e) => { if (!held) return; const d = e.clientX - px; px = e.clientX; if (Math.abs(e.clientX - sx) > 8) moved = true; x -= d; }, { passive: true });\\n    const up = () => { held = false; hold = performance.now() + 2500; };\\n    mq.addEventListener(\"pointerup\", up); mq.addEventListener(\"pointercancel\", up); mq.addEventListener(\"pointerleave\", up);\\n    mq.addEventListener(\"click\", (e) => { if (moved) { e.preventDefault(); e.stopPropagation(); moved = false; } }, true);\\n  });\\n})();\\n\\n/* ===== SMOOTHNESS: pause off-screen marquees, scrubbed reveals for content blocks ===== */\\n(function () {\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches; if (RM) return;\\n  const mq = new IntersectionObserver((es) => es.forEach((e) => e.target.style.animationPlayState = e.isIntersecting ? \"\" : \"paused\"), { rootMargin: \"100px\" });\\n  document.querySelectorAll(\".marq-track\").forEach((t) => mq.observe(t));\\n  // scrubbed entrance for grids/cards (Scale\\'s content eases up with scroll rather than popping)\\n  const items = [...document.querySelectorAll(\".p-tiles>*,.p-values>*,.p-checks>*,.p-stats>*,.s-bench .cards>*,.p-mosaic>*,.p-dcards>*,.s-news .stagger>*,.p-photos>*\")];\\n  items.forEach((el) => { el.style.willChange = \"transform,opacity\"; });\\n  const clamp = (v) => Math.min(1, Math.max(0, v));\\n  let pending = items.slice(); const tick = () => { if (!pending.length) return; const vh = innerHeight; pending = pending.filter((el) => { const r = el.getBoundingClientRect(); if (r.top > vh + 40) return true; const p = clamp((vh - r.top) / (vh * 0.35)); if (p >= 1 || r.bottom < 0) { el.style.opacity = \"\"; el.style.transform = \"\"; el.style.willChange = \"\"; return false; } el.style.opacity = (0.001 + p).toFixed(3); el.style.transform = `translateY(${((1 - p) * 36).toFixed(1)}px)`; return true; }); };\\n  __onFrame(tick); addEventListener(\"resize\", tick); setTimeout(tick, 50);\\n})();\\n\\n/* ===== NET-EXPLORE behaviour: grow-in on scroll, click to explore, Esc / scroll-away to release, full screen ===== */\\n(function () {\\n  const stages = [...document.querySelectorAll(\".net-stage\")]; if (!stages.length) return;\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches, clamp = (v) => Math.min(1, Math.max(0, v));\\n  stages.forEach((st) => {\\n    // ROUND 80 \\xb7 only a LIVE stage keeps the wheel; a gated stage is part of the page, so Lenis keeps smooth-scrolling over it\\n    // (always-on data-lenis-prevent switched to raw native scroll whenever the cursor crossed the 92vh stage = stutter/jump)\\n    const tl = st.nextElementSibling && st.nextElementSibling.classList.contains(\"tools\") ? st.nextElementSibling : st; const gate = st.querySelector(\".gate\"), fs = tl.querySelector(\".fs\"), ex = tl.querySelector(\".exit\");\\n    const on = () => { st.classList.add(\"is-live\"); st.setAttribute(\"data-lenis-prevent\", \"\"); const f = st.querySelector(\"iframe\"); try { f.contentWindow.focus(); } catch (e) {} };\\n    const off = () => { st.classList.remove(\"is-live\"); st.removeAttribute(\"data-lenis-prevent\"); };\\n    gate && gate.addEventListener(\"click\", on);\\n    const fr = st.querySelector(\"iframe\"); const hook = () => { try { fr.contentWindow.addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\") off(); }); } catch (e) {} }; fr && (fr.addEventListener(\"load\", hook), hook());\\n    document.addEventListener(\"fullscreenchange\", () => { if (!document.fullscreenElement) off(); });\\n    gate && gate.addEventListener(\"keydown\", (e) => { if (e.key === \"Enter\" || e.key === \" \") { e.preventDefault(); on(); } });\\n    ex && ex.addEventListener(\"click\", off);\\n    fs && fs.addEventListener(\"click\", () => { on(); if (document.fullscreenElement) document.exitFullscreen(); else st.requestFullscreen && st.requestFullscreen(); });\\n    addEventListener(\"keydown\", (e) => { if (e.key === \"Escape\") off(); });\\n    new IntersectionObserver((es) => { if (!es[0].isIntersecting) off(); }, { threshold: 0.25 }).observe(st);\\n  });\\n  if (RM) return;\\n  // ROUND 52 \\xb7 grow in ONCE as the stage arrives, then stay perfectly still: re-scaling a live map every scroll frame made it shimmer/shake\\n  const grow = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) { e.target.classList.add(\"grown\"); grow.unobserve(e.target); } }), { threshold: 0.12 });\\n  stages.forEach((st) => { st.classList.add(\"grow\"); grow.observe(st); });\\n})();\\n\\n/* ===== load the WebGL wireframe stage for pinned stories (http only; file:// keeps the CSS plate) ===== */\\n(function () {\\n  const stories = [...document.querySelectorAll(\".x-story\")];\\n  if (!stories.length || false) return;\\n  // PERF (ROUND 73): three.js (~164KB) is fetched only when a story is about to scroll into view, or once the browser is idle\\n  // on desktop; the CSS plate shows until the WebGL stage takes over, so nothing waits on it\\n  let done = false;\\n  const load = () => { if (done) return; done = true; io && io.disconnect();\\n    const s = document.createElement(\"script\"); s.type = \"module\"; s.src = __ambxBlob(\"xgl\"); document.head.appendChild(s); };\\n  const io = \"IntersectionObserver\" in window ? new IntersectionObserver((es) => { if (es.some((e) => e.isIntersecting)) load(); }, { rootMargin: matchMedia(\"(max-width: 760px)\").matches ? \"60% 0px\" : \"150% 0px\" }) : null;  // ROUND 75 \\xb7 phones: fetch three.js closer to the story\\n  if (io) stories.forEach((st) => io.observe(st)); else load();\\n  const cn = navigator.connection, lean = matchMedia(\"(max-width: 760px)\").matches || (cn && (cn.saveData || /(^|-)(2g|3g)$/.test(cn.effectiveType || \"\")));\\n  const idle = () => setTimeout(() => (window.requestIdleCallback || setTimeout)(load, { timeout: 3000 }), 1500);\\n  if (!lean) { if (document.readyState === \"complete\") idle(); else __ambxOnLoad( idle, { once: true }); }\\n})();\\n\\n/* fade lazy images in once decoded */\\n/* ROUND 74 \\xb7 robust: a section that re-mounts (breakpoint change, hydration) or a marquee clone brings fresh <img>s that never got a\\n   listener, and they stayed at opacity 0 (speaker cards, photo reels, logo strips). One capture listener on the document catches every\\n   image load, and a sweep marks any already-complete image, on boot and whenever main gets new nodes. */\\n(function () {\\n  const sel = \\'.ambx-main img[loading=\"lazy\"]:not(.loaded)\\';\\n  const sweep = () => document.querySelectorAll(sel).forEach((im) => { if (im.complete) im.classList.add(\"loaded\"); });\\n  if (!window.__aicLazy) {\\n    window.__aicLazy = true;\\n    const mark = (e) => { const t = e.target; if (t && t.tagName === \"IMG\") t.classList.add(\"loaded\"); };\\n    document.addEventListener(\"load\", mark, true); document.addEventListener(\"error\", mark, true);\\n    let q = 0; const later = () => { if (!q) q = requestAnimationFrame(() => { q = 0; sweep(); }); };\\n    if (window.MutationObserver) new MutationObserver(later).observe(document.body, { childList: true, subtree: true });\\n    [600, 2000, 5000].forEach((ms) => setTimeout(sweep, ms));\\n  }\\n  sweep();\\n})();\\n\\n/* ROUND 77 \\xb7 touch: Primer link chips wrap onto rows 6px apart; only the first row\\'s tap area grows up and the last row\\'s down */\\n(function () {\\n  if (!matchMedia(\"(pointer: coarse)\").matches) return;\\n  const mark = () => document.querySelectorAll(\".rlinks\").forEach((g) => { const as = [...g.querySelectorAll(\":scope > a\")]; if (!as.length) return;\\n    const tops = as.map((a) => Math.round(a.offsetTop)), lo = Math.min(...tops), hi = Math.max(...tops);\\n    as.forEach((a, i) => { a.classList.toggle(\"rl-top\", tops[i] === lo); a.classList.toggle(\"rl-bot\", tops[i] === hi); }); });\\n  mark(); addEventListener(\"resize\", mark); __ambxOnLoad( mark); if (document.fonts && document.fonts.ready) document.fonts.ready.then(mark);\\n})();\\n\\n/* ===== pause embedded apps (network graph, maps) while they are off screen: their render loops cost frames ===== */\\n(function () {\\n  const frames = [...document.querySelectorAll(\".ambx-main iframe\")].filter((f) => /embeds\\\\//.test(f.getAttribute(\"src\") || f.dataset.src || \"\"));\\n  if (!frames.length || !(\"IntersectionObserver\" in window)) return;\\n  const patch = (f) => { try { const w = f.contentWindow; if (!w || w.__aicPatched) return; const raf = w.requestAnimationFrame.bind(w); w.__aicPatched = true; w.__aicPaused = false;\\n      w.requestAnimationFrame = (cb) => w.__aicPaused ? w.setTimeout(() => w.requestAnimationFrame(cb), 300) : raf(cb); } catch (e) {} };\\n  const io = new IntersectionObserver((es) => es.forEach((e) => { const f = e.target; patch(f); try { f.contentWindow.__aicPaused = !e.isIntersecting; } catch (er) {} }), { rootMargin: \"150px\" });\\n  frames.forEach((f) => { f.addEventListener(\"load\", () => { patch(f); io.unobserve(f); io.observe(f); }); patch(f); io.observe(f); });\\n})();\\n\\n/* preload lazy embeds when the browser is idle, so they never load mid-scroll */\\n(function () {\\n  const go = () => document.querySelectorAll(\\'.ambx-main iframe[loading=\"lazy\"]\\').forEach((f, i) => setTimeout(() => f.setAttribute(\"loading\", \"eager\"), i * 600));\\n  __ambxOnLoad( () => (window.requestIdleCallback ? requestIdleCallback(go, { timeout: 3000 }) : setTimeout(go, 1500)));\\n})();\\n\\n/* ===== Scale-style line-art tiles + logo constellation ===== */\\n(function () { const a = document.createElement(\"script\"); a.src = __ambxBlob(\"xart\"); document.head.appendChild(a); })();\\n\\n/* ===== ROUND 25 \\xb7 MOTION: Scale-style image \"unclip + settle\" on scroll, card spotlight, magnetic arrows ===== */\\n(function () {\\n  const RM = matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\\n  const clamp = (v) => Math.max(0, Math.min(1, v));\\n  // 1) photos un-clip from a rounded window and settle from 1.12 → 1 as they rise into view (scrubbed both ways)\\n  const SKIP = \"header,footer,.menu,.drawer,.p-hero,.s-hero,.x-story,.net-stage,.net-explore,.shelf,.x-const,.s-floaters,.marq,.peek,.peek-row,.qcard,.p-quote,.cred-logos,.logo-strip,.trust,.x-tile,.p-logos,.s-case .ic,form,.form-card,[data-lock],.lw-t,.x-focus\";\\n  const imgs = [...document.querySelectorAll(\".ambx-main img\"), ...[...document.querySelectorAll(\\'.ambx-main [style*=\"background-image\"]\\')].filter((d) => !d.children.length && !d.textContent.trim())].filter((im) => !im.closest(SKIP + \",.with,.bgimg,.slide,.reel\"));\\n  const live = new Set();\\n  if (!RM && imgs.length) {\\n    const io = new IntersectionObserver((es) => es.forEach((e) => { if (e.isIntersecting) live.add(e.target); else { live.delete(e.target); } }), { rootMargin: \"10% 0px\" });\\n    imgs.forEach((im) => { im.classList.add(\"x-unclip\"); io.observe(im); });\\n    const tick = () => {\\n      const vh = innerHeight;\\n      live.forEach((im) => {\\n        const r = im.getBoundingClientRect(); if (r.width < 180 || r.height < 120) { im.style.clipPath = \"\"; im.style.transform = \"\"; return; }\\n        const p = clamp((vh - r.top) / (vh * 0.5)), e = 1 - Math.pow(1 - p, 3);\\n        const sc = 1.12 - 0.12 * e, keep = ((1 - 1 / sc) / 2) * 100, extra = (1 - e) * 9;\\n        im.style.transform = `scale(${sc.toFixed(4)})`;\\n        im.style.clipPath = `inset(${(keep + extra).toFixed(2)}% ${(keep + extra * 0.6).toFixed(2)}% ${keep.toFixed(2)}% ${(keep + extra * 0.6).toFixed(2)}% round ${(16 / sc).toFixed(1)}px)`;\\n      });\\n    };\\n    (window.__onFrame || ((f) => addEventListener(\"scroll\", f, { passive: true })))(tick); addEventListener(\"resize\", tick); setTimeout(tick, 60);\\n  }\\n  // 2) spotlight: a soft light follows the pointer across cards and tiles\\n  const CARDS = \".p-dcard,.p-tile,.s-bcard,.s-ncard,.card,.p-value,.x-tile,.pcard,.p-stat,.s-case,.p-check,.form-card\";\\n  addEventListener(\"pointermove\", (e) => { const c = e.target.closest && e.target.closest(CARDS); if (!c) return; const r = c.getBoundingClientRect(); c.style.setProperty(\"--mx\", (e.clientX - r.left).toFixed(0) + \"px\"); c.style.setProperty(\"--my\", (e.clientY - r.top).toFixed(0) + \"px\"); }, { passive: true });\\n})();\\n\\n/* ===== ROUND 27 \\xb7 DEPTH: one scroll job sets --sp (0 = entering at bottom, 1 = leaving at top) on visible depth targets ===== */\\n(function () {\\n  if (matchMedia(\"(prefers-reduced-motion: reduce)\").matches) return;\\n  \\n  const NOPE = \".x-story,.p-hero,.s-hero,header,footer,.net-stage,.x-stack>.x-layer:first-child .s-float,form\";\\n  const tag = (sel, cls) => document.querySelectorAll(sel).forEach((el) => { if (!el.closest(NOPE)) el.classList.add(cls); });\\n  const setup = () => {\\n    tag(\".p-head, .chap-head, .sec > .wrap > .eyebrow, .s-bench > .box > .eyebrow, .p-darkbox .p-head\", \"x-depth\");\\n    tag(\".x-art, .x-globe\", \"x-par\");\\n    tag(\".p-stat, .p-mission .stmt\", \"x-lift\");\\n    const els = [...document.querySelectorAll(\".x-depth,.x-par,.x-lift\")], live = new Set();\\n    const io = new IntersectionObserver((es) => es.forEach((e) => (e.isIntersecting ? live.add(e.target) : live.delete(e.target))), { rootMargin: \"15% 0px\" });\\n    els.forEach((e) => io.observe(e));\\n    // write transforms directly (no custom-property recalc); 0.5px quantised so idle frames do nothing\\n    const big = (el) => el.matches(\".p-photocta .x-art, .s-cta .x-art\");\\n    const tick = () => { const vh = innerHeight; live.forEach((el) => {\\n      const r = el.getBoundingClientRect(), sp = Math.max(0, Math.min(1, (vh - r.top) / (vh + r.height))), k = Math.round((0.5 - sp) * 200) / 200;\\n      if (el.__k === k) return; el.__k = k;\\n      if (el.classList.contains(\"x-depth\")) el.style.transform = `translate3d(0,${(k * 36).toFixed(1)}px,0)`;\\n      else if (el.classList.contains(\"x-lift\")) { el.style.transform = `translate3d(0,${(Math.max(0, 0.42 - sp) * 60).toFixed(1)}px,0)`; el.style.opacity = (0.25 + Math.min(1, sp * 2.4) * 0.75).toFixed(2); }\\n      else { const svg = el.querySelector(\":scope > svg\"); if (!svg) return; svg.style.transform = el.classList.contains(\"x-globe\") ? `translate3d(0,${(k * 40).toFixed(1)}px,0) rotate(${(-k * 8).toFixed(2)}deg)` : big(el) ? `translate3d(0,${(k * 60).toFixed(1)}px,0) scale(${(0.98 - k * 0.08).toFixed(3)})` : `translate3d(0,${(k * 18).toFixed(1)}px,0) rotate(${(k * 2).toFixed(2)}deg)`; }\\n    }); };\\n    (window.__onFrame || ((f) => addEventListener(\"scroll\", f, { passive: true })))(tick); addEventListener(\"resize\", tick); tick(); setTimeout(tick, 300);\\n  };\\n  // x-art.js builds its drawings after load; tag after it has run\\n  if (document.readyState === \"complete\") setTimeout(setup, 50); else __ambxOnLoad( () => setTimeout(setup, 50));\\n})();\\n\\n/* speaker-card logos → luminance masks (live files are white-on-black; this drops the black box) */\\n(function () {\\n  const run = () => document.querySelectorAll(\".s-cases .s-case .who img:not([data-m])\").forEach((im) => { im.dataset.m = 1;\\n    const m = document.createElement(\"i\"), url = `url(\"${im.getAttribute(\"src\")}\")`;\\n    m.className = \"logo-m\"; m.setAttribute(\"aria-hidden\", \"true\");\\n    m.style.webkitMaskImage = url; m.style.maskImage = url; m.style.webkitMaskSourceType = \"luminance\";\\n    m.style.width = \"24px\"; im.after(m); im.style.display = \"none\";\\n    const probe = new Image(); probe.crossOrigin = \"anonymous\"; probe.onload = () => {\\n      const r = (probe.naturalWidth || 1) / (probe.naturalHeight || 1); m.style.width = Math.max(18, Math.min(110, 20 * r)) + \"px\";\\n      // genuinely coloured logos (e.g. Microsoft) stay in colour; white-on-black files become an ink mask\\n      try { const c = document.createElement(\"canvas\"), W = (c.width = 48), H = (c.height = Math.max(1, Math.round(48 / r))), g = c.getContext(\"2d\"); g.drawImage(probe, 0, 0, W, H); const d = g.getImageData(0, 0, W, H).data; let sat = 0, n = 0;\\n        for (let i = 0; i < d.length; i += 4) { if (d[i + 3] < 128) continue; const mx = Math.max(d[i], d[i + 1], d[i + 2]), mn = Math.min(d[i], d[i + 1], d[i + 2]); if (mx > 40) { sat += (mx - mn) / mx; n++; } }\\n        if (n && sat / n > 0.35) { im.style.display = \"\"; im.classList.add(\"logo-c\"); m.remove(); } } catch (e) {}\\n    }; probe.src = im.getAttribute(\"src\");\\n  });\\n  run(); window.__logoMask = run;\\n})();\\n\\n/* hide the section bar once the footer comes into view, so the last section reads in full */\\n(function () { const f = document.querySelector(\"footer.site\"); if (!f) return;\\n  new IntersectionObserver((es) => es.forEach((e) => document.querySelectorAll(\".s-rail\").forEach((r) => r.classList.toggle(\"near-foot\", e.isIntersecting))), { threshold: 0 }).observe(f); })();\\n\\n/* closing panel fills the space between the header and the footer at the end of the page */\\n(function () {\\n  const panel = () => document.querySelector(\".s-cta.tan .panel-in\") || [...document.querySelectorAll(\".p-photocta .in\")].pop();\\n  const fit = () => { const el = panel(); if (!el) return; el.style.removeProperty(\"min-height\");\\n    const hdr = (document.getElementById(\"hdr\") || document.querySelector(\"header\")).getBoundingClientRect().height;\\n    const docH = document.documentElement.scrollHeight, top = el.getBoundingClientRect().top + scrollY;\\n    const topAtEnd = innerHeight - (docH - top);                         // where the panel\\'s top sits when scrolled to the bottom\\n    const extra = topAtEnd - hdr - 8; el.classList.toggle(\"fitted\", extra > 0); if (extra > 0) el.style.setProperty(\"min-height\", Math.round(el.offsetHeight + extra) + \"px\", \"important\"); };\\n  if (document.readyState === \"complete\") setTimeout(fit, 200); else __ambxOnLoad( () => setTimeout(fit, 200)); setTimeout(fit, 1500); let t; addEventListener(\"resize\", () => { clearTimeout(t); t = setTimeout(fit, 150); });\\n})();\\n\\n/* ===== form submit label follows validity, like the live Framer form button (\"Complete required fields\" → \"Submit\") ===== */\\n(function () {\\n  document.querySelectorAll(\".form-card form\").forEach(function (f) {\\n    var b = f.querySelector(\\'button[type=\"submit\"]\\'); if (!b || f.dataset.lbl || b.textContent.trim() !== \"Complete required fields\") return; f.dataset.lbl = \"1\";\\n    var u = function () { if (!b.disabled) b.textContent = f.checkValidity() ? \"Submit\" : \"Complete required fields\"; };\\n    f.addEventListener(\"input\", u); f.addEventListener(\"change\", u); u();\\n  });\\n})();\\n\\n;(function () {\\n  if (document.querySelector(\"script[data-ambx-spec]\") || !(HTMLScriptElement.supports && HTMLScriptElement.supports(\"speculationrules\"))) return;\\n  var s = document.createElement(\"script\"); s.type = \"speculationrules\"; s.setAttribute(\"data-ambx-spec\", \"\");\\n  s.textContent = JSON.stringify({\\n    prefetch: [{ source: \"document\", where: { and: [{ href_matches: \"/*\" }, { not: { href_matches: \"/*.*\" } }, { not: { selector_matches: \"[target=_blank],[download]\" } }] }, eagerness: \"eager\" }],\\n    prerender: [{ source: \"document\", where: { and: [{ href_matches: \"/*\" }, { not: { href_matches: \"/*.*\" } }, { not: { selector_matches: \"[target=_blank],[download]\" } }] }, eagerness: \"moderate\" }]\\n  });\\n  document.head.appendChild(s);\\n})();\\n\\n;(function () {\\n  // ROUND 74 \\xb7 a page is several <main class=\"ambx-main\"> sections; Home\\'s tile sits in a later one (Stack), so search them all\\n  if (!document.querySelector(\".ambx-main\")) return;\\n  const tiles = [].filter.call(document.querySelectorAll(\".ambx-main [data-luma-next]\"), (t) => !t.dataset.luma);\\n  const list = document.querySelector(\".ambx-main [data-luma-past]\"); const doList = list && !list.dataset.luma;\\n  if (!tiles.length && !doList) return;\\n  tiles.forEach((t) => (t.dataset.luma = 1)); if (doList) list.dataset.luma = 1;\\n  const api = (period, n) => \"https://api.lu.ma/calendar/get-items?calendar_api_id=cal-xpnypCkGRQUAEjo&period=\" + period + \"&pagination_limit=\" + n;\\n  const parse = (txt) => { try { return JSON.parse(txt); } catch (e) { const a = txt.indexOf(\"{\"), b = txt.lastIndexOf(\"}\"); try { return a >= 0 ? JSON.parse(txt.slice(a, b + 1)) : null; } catch (e2) { return null; } } };\\n  const raw = async (u) => { for (const x of [u, \"https://r.jina.ai/\" + u]) { try { const r = await fetch(x); if (!r.ok) continue; const d = parse(await r.text()); if (d && d.entries) return d; } catch (e) {} } return null; };\\n  const get = async (u) => { const d = await raw(u); return d ? d.entries.map((e) => e.event).filter(Boolean) : null; };\\n  const info = (v) => {\\n    const d = new Date(v.start_at), tz = v.timezone || \"America/New_York\", g = v.geo_address_info || {};\\n    const city = g.city || g.city_state || \"Online\";\\n    return { city, short: d.toLocaleDateString(\"en-US\", { month: \"short\", day: \"numeric\", timeZone: tz }), year: d.toLocaleDateString(\"en-US\", { year: \"numeric\", timeZone: tz }),\\n      long: d.toLocaleDateString(\"en-US\", { weekday: \"long\", month: \"long\", day: \"numeric\", timeZone: tz }),\\n      time: d.toLocaleTimeString(\"en-US\", { hour: \"numeric\", minute: \"2-digit\", timeZone: tz, timeZoneName: \"short\" }) };\\n  };\\n  const setLab = (t, left, right) => { const lab = t.querySelector(\".lab\"); if (!lab) return; const sp = lab.querySelectorAll(\":scope > span\");\\n    if (sp.length >= 2) { sp[0].textContent = left; sp[1].textContent = right; } else lab.innerHTML = \\'<span class=\"live\">\\' + left + \"</span> \\xb7 \" + right; };\\n  const generic = (t) => { t.href = \"https://luma.com/ai-circle\"; t.target = \"_blank\"; t.rel = \"noopener\"; t.removeAttribute(\"data-start\");\\n    setLab(t, \"What\\'s next\", \"AI Circle calendar\"); const h = t.querySelector(\"h3\"), p = t.querySelector(\"p:not(.more)\");\\n    if (h) h.textContent = \"The next rooms are being set. See what\\'s coming on Luma.\";\\n    if (p) p.textContent = \"Dinners, conference sidecars, and member gatherings appear on the calendar as soon as they are published.\"; };\\n  // a saved event that has already started never shows as \"Live upcoming\", even before (or without) the feed answering\\n  tiles.forEach((t) => { const s = t.getAttribute(\"data-start\"); if (s && new Date(s).getTime() < Date.now()) generic(t); });\\n  if (tiles.length) get(api(\"future\", 6)).then((es) => {\\n    const now = Date.now();\\n    const ev = (es || []).filter((v) => new Date(v.start_at).getTime() > now).sort((a, b) => new Date(a.start_at) - new Date(b.start_at))[0];\\n    tiles.forEach((t) => {\\n      if (!ev) { const s = t.getAttribute(\"data-start\"); if (es || (s && new Date(s).getTime() < now)) generic(t); return; }\\n      const f = info(ev); t.href = \"https://luma.com/\" + ev.url; t.setAttribute(\"data-start\", ev.start_at);\\n      setLab(t, \"Live upcoming\", f.short + \" \\xb7 \" + f.city);\\n      const h = t.querySelector(\"h3\"), p = t.querySelector(\"p:not(.more)\");\\n      if (h) h.textContent = ev.name;\\n      if (p) p.textContent = f.long + \" \\xb7 \" + f.time + \" \\xb7 \" + f.city + \". RSVP on Luma. Approval follows the same bar as everything else we run.\";\\n    });\\n  });\\n  // Past rooms = every event since FROM, newest first. Curated titles (with their <small> tags) are kept for known events.\\n  if (doList) (async () => {\\n    const FROM = Date.parse(\"2026-01-01T00:00:00Z\"), now = Date.now(), all = new Map();\\n    let cur = \"\", guard = 0;\\n    while (guard++ < 8) {\\n      const d = await raw(api(\"past\", 50) + (cur ? \"&pagination_cursor=\" + encodeURIComponent(cur) : \"\")); if (!d) break;\\n      const es = d.entries.map((e) => e.event).filter(Boolean); es.forEach((v) => all.set(v.url, v));\\n      if (!d.has_more || !d.next_cursor || !es.length || Date.parse(es[es.length - 1].start_at) < FROM) break; cur = d.next_cursor;\\n    }\\n    const evs = [...all.values()].filter((v) => { const t = Date.parse(v.start_at); return t >= FROM && t < now; }).sort((a, b) => Date.parse(b.start_at) - Date.parse(a.start_at));\\n    const known = new Map([].map.call(list.querySelectorAll(\"a.ev-row\"), (a) => [a.getAttribute(\"href\").replace(/\\\\/+$/, \"\").split(\"/\").pop(), a.querySelector(\".t\")]));\\n    if (!evs.length || evs.length < known.size * 0.6) return;            // partial or failed feed: keep the static list\\n    const frag = document.createDocumentFragment();\\n    evs.forEach((v, i) => { const f = info(v), a = document.createElement(\"a\"); a.className = \"ev-row\"; a.href = \"https://luma.com/\" + v.url; a.target = \"_blank\"; a.rel = \"noopener\";\\n      a.innerHTML = \\'<span class=\"n\"></span><span class=\"t\"></span><span class=\"k\"></span><span class=\"d\"></span><span class=\"go\">↗</span>\\';\\n      a.querySelector(\".n\").textContent = String(i + 1).padStart(2, \"0\");\\n      const kt = known.get(v.url); if (kt) a.querySelector(\".t\").innerHTML = kt.innerHTML; else a.querySelector(\".t\").textContent = v.name;\\n      a.querySelector(\".k\").textContent = f.short + \" \\xb7 \" + f.year; a.querySelector(\".d\").textContent = f.city === \"Online\" ? \"—\" : f.city;\\n      frag.appendChild(a); });\\n    list.textContent = \"\"; list.appendChild(frag);\\n    const q = document.querySelector(\".ambx-main #ev-filter input\"); if (q && q.value) q.dispatchEvent(new Event(\"input\", { bubbles: true }));\\n  })();\\n})();\\n\\n;(function () {\\n  setTimeout(function () {\\n    document.querySelectorAll(\".ambx-main [data-ambx-list]\").forEach(function (l) {\\n      var acc = l.closest(\".p-acc\"), ds = acc ? acc.querySelectorAll(\"details\") : [];\\n      if (ds.length && !acc.querySelector(\"details[open]\")) ds[0].open = true;\\n    });\\n    document.querySelectorAll(\".ambx-main .p-filters\").forEach(function (f) { f.dispatchEvent(new Event(\"input\")); });\\n    window.dispatchEvent(new Event(\"resize\"));\\n  }, 400);\\n})();\\n\\n;(function () {\\n  document.querySelectorAll(\".ambx-main form[data-ambx-proxy]\").forEach(function (lf) {\\n    if (lf.dataset.proxy) return; lf.dataset.proxy = \"1\";\\n    var card = lf.closest(\".form-card\") || lf.parentElement;\\n    var btn = (lf.querySelector(\\'button[type=\"submit\"]\\') || lf.querySelector(\\'.submit .btn\\') || lf.querySelector(\\'button\\'));\\n    var msg = document.createElement(\"p\"); msg.className = \"hint ambx-form-msg\"; msg.setAttribute(\"role\", \"status\");\\n    (btn && btn.parentElement ? btn.parentElement : lf).appendChild(msg);\\n    var setVal = function (el, v) {\\n      var proto = el.tagName === \"SELECT\" ? HTMLSelectElement.prototype : el.tagName === \"TEXTAREA\" ? HTMLTextAreaElement.prototype : HTMLInputElement.prototype;\\n      Object.getOwnPropertyDescriptor(proto, \"value\").set.call(el, v);\\n      el.dispatchEvent(new Event(\"input\", { bubbles: true })); el.dispatchEvent(new Event(\"change\", { bubbles: true }));\\n    };\\n    lf.addEventListener(\"submit\", function (e) {\\n      e.preventDefault(); e.stopImmediatePropagation();\\n      if (!lf.reportValidity()) return;\\n      var nf = card.querySelector(\"[data-ambx-native] form\");\\n      if (!nf) { msg.textContent = \"The form is still loading. Please try again in a moment.\"; return; }\\n      Array.prototype.forEach.call(lf.elements, function (el) {\\n        if (!el.name) return;\\n        var t = nf.querySelector(\\'[name=\"\\' + CSS.escape(el.name) + \\'\"]\\'); if (!t) return;\\n        if (el.type === \"checkbox\" || el.type === \"radio\") { var tt = nf.querySelector(\\'[name=\"\\' + CSS.escape(el.name) + \\'\"][value=\"\\' + CSS.escape(el.value) + \\'\"]\\') || t; if (tt.checked !== el.checked) tt.click(); }\\n        else if (t.type === \"hidden\" && t.parentElement && t.parentElement.querySelector(\"button\")) { var bb = Array.prototype.find.call(t.parentElement.querySelectorAll(\"button\"), function (x) { return x.textContent.trim() === el.value; }); if (bb) bb.click(); else setVal(t, el.value); }\\n        else setVal(t, el.value);\\n      });\\n      var label = btn ? btn.innerHTML : \"\"; if (btn) { btn.disabled = true; btn.textContent = \"Sending…\"; } msg.textContent = \"\";\\n      var gated = nf.hasAttribute(\"data-gate-ready\") || lf.hasAttribute(\"data-gate-pdf\");\\n      var t1 = Date.now();\\n      (function waitGate() {\\n        if (gated && nf.getAttribute(\"data-gate-ready\") !== \"1\") {\\n          if (Date.now() - t1 < 4000) return setTimeout(waitGate, 120);\\n          var hintEl = Array.prototype.find.call(nf.querySelectorAll(\"p,span,div\"), function (x) { return !x.children.length && /email|domain|typo/i.test(x.textContent || \"\") && !x.closest(\"label\"); });\\n          if (btn) { btn.disabled = false; btn.innerHTML = label; lf.dispatchEvent(new Event(\"input\")); }\\n          msg.textContent = hintEl ? hintEl.textContent.trim() : \"Enter a valid email address.\";\\n          return;\\n        }\\n        go();\\n      })();\\n      function go() {\\n        try { nf.requestSubmit(); } catch (err) { var sb = nf.querySelector(\\'[type=\"submit\"]\\'); if (sb) sb.click(); }\\n        if (gated) { setTimeout(function () { var m = lf.closest(\"[role=dialog]\"); var x = m && m.querySelector(\"[data-gate-close]\"); if (x) x.click(); if (btn) { btn.disabled = false; btn.innerHTML = label; } lf.reset(); }, 1200); }\\n        var t0 = Date.now(), iv = setInterval(function () {\\n          if (!document.contains(lf)) { clearInterval(iv); return; }                       // redirected to the thank-you page\\n          var sb = nf.querySelector(\\'[type=\"submit\"]\\'), st = (sb && sb.getAttribute(\"data-framer-name\")) || \"\";\\n          if (/success/i.test(st)) { clearInterval(iv); if (btn) btn.textContent = \"Sent ✓\"; return; }\\n          if (/error/i.test(st) || Date.now() - t0 > 25000) {\\n            clearInterval(iv); if (btn) { btn.disabled = false; btn.innerHTML = label; lf.dispatchEvent(new Event(\"input\")); }\\n            msg.textContent = \"Something went wrong sending the form. Please try again, or email hello@ai-circle.org.\";\\n          }\\n        }, 250);\\n      }\\n    }, true);\\n  });\\n})();\\n\\n;(function () {\\n  document.querySelectorAll(\".ambx-main form[data-ambx-careers]\").forEach(function (lf) {\\n    if (lf.dataset.cproxy) return; lf.dataset.cproxy = \"1\";\\n    var cfg = JSON.parse(lf.getAttribute(\"data-ambx-careers\"));\\n    var btn = (lf.querySelector(\\'button[type=\"submit\"]\\') || lf.querySelector(\\'.submit .btn\\') || lf.querySelector(\\'button\\'));\\n    var msg = document.createElement(\"p\"); msg.className = \"hint ambx-form-msg\"; msg.setAttribute(\"role\", \"status\");\\n    (btn && btn.parentElement ? btn.parentElement : lf).appendChild(msg);\\n    var fileIn = lf.querySelector(\\'input[type=\"file\"]\\');\\n    var check = function (f) {\\n      if (!f) return cfg.resumeRequired ? \"Please attach your resume.\" : \"\";\\n      if (!/\\\\.(pdf|doc|docx)$/i.test(f.name)) return \"Only PDF or Word files are accepted.\";\\n      if (f.size > cfg.maxFileMB * 1024 * 1024) return \"File must be under \" + cfg.maxFileMB + \" MB.\";\\n      return \"\";\\n    };\\n    var b64 = function (f) { return new Promise(function (res, rej) { var r = new FileReader(); r.onload = function () { var s = String(r.result || \"\"); res(s.indexOf(\",\") > -1 ? s.split(\",\")[1] : s); }; r.onerror = function () { rej(r.error); }; r.readAsDataURL(f); }); };\\n    lf.addEventListener(\"submit\", function (e) {\\n      e.preventDefault(); e.stopImmediatePropagation();\\n      var f = fileIn && fileIn.files && fileIn.files[0] ? fileIn.files[0] : null, fe = check(f);\\n      if (!lf.reportValidity()) return;\\n      if (fe) { msg.textContent = fe; return; }\\n      var label = btn ? btn.innerHTML : \"\"; if (btn) { btn.disabled = true; btn.textContent = \"Sending…\"; } msg.textContent = \"\";\\n      var fields = {}; new FormData(lf).forEach(function (v, k) { if (typeof v === \"string\") fields[k] = v; });\\n      var payload = { form: cfg.form, role: cfg.role || \"\", page: location.href, submittedAt: new Date().toISOString(), fields: fields, questions: (cfg.questions || []).map(function (q, i) { return { question: q, answer: fields[\"question_\" + (i + 1)] || \"\" }; }) };\\n      (f ? b64(f).then(function (d) { payload.file = { name: f.name, type: f.type || \"application/octet-stream\", size: f.size, base64: d }; }) : Promise.resolve())\\n        .then(function () { return fetch(cfg.endpoint, { method: \"POST\", mode: \"cors\", redirect: \"follow\", headers: { \"Content-Type\": \"text/plain;charset=utf-8\" }, body: JSON.stringify(payload) }); })\\n        .then(function (res) { return res.json().catch(function () { return {}; }).then(function (j) { if (!res.ok || (j && j.ok === false)) throw new Error((j && j.error) || \"Submission failed\"); }); })\\n        .then(function () {\\n          if (btn) btn.textContent = \"Sent\";\\n          if (cfg.redirect) { var t = cfg.role ? cfg.redirect + (cfg.redirect.indexOf(\"?\") > -1 ? \"&\" : \"?\") + \"role=\" + encodeURIComponent(cfg.role) : cfg.redirect; setTimeout(function () { location.href = t; }, 600); }\\n        })\\n        .catch(function () { if (btn) { btn.disabled = false; btn.innerHTML = label; } msg.textContent = \"Something went wrong. Please try again, or email \" + (cfg.fallbackEmail || \"hello@ai-circle.org\") + \".\"; });\\n    }, true);\\n  });\\n})();\\n// external scripts in page content (e.g. the Beehiiv form loader) are re-created so they run in place\\n;(function () {\\n  document.querySelectorAll(\".ambx-main [data-ambx-script]\").forEach(function (ph) {\\n    if (ph.dataset.done) return; ph.dataset.done = \"1\";\\n    var a = JSON.parse(ph.getAttribute(\"data-ambx-script\")), s = document.createElement(\"script\");\\n    Object.keys(a).forEach(function (k) { s.setAttribute(k, a[k]); }); s.async = true; ph.parentNode.insertBefore(s, ph.nextSibling);\\n    if (a[\"data-beehiiv-form\"]) bhvWatch(ph.parentNode, a, 0);\\n  });\\n  // Beehiiv\\'s loader sits behind a Cloudflare bot check and is on some ad-block lists, so it sometimes never draws.\\n  // Watch the slot: retry the loader once, and show a plain \"Subscribe\" link to the hosted signup until the form appears.\\n  function bhvWatch(slot, a, tries) {\\n    var t0 = Date.now(), iv = setInterval(function () {\\n      if (!document.contains(slot)) { clearInterval(iv); return; }\\n      var f = slot.querySelector(\"iframe\"), fb = slot.querySelector(\".bhv-fallback\"), el = Date.now() - t0;\\n      if (f && f.getBoundingClientRect().height > 20 && f.parentElement.getBoundingClientRect().height > 20) { clearInterval(iv); if (fb) fb.remove(); return; }\\n      if (!f && el > 4000 && tries < 1) {\\n        clearInterval(iv);\\n        slot.querySelectorAll(\"script[data-beehiiv-form]\").forEach(function (x) { x.remove(); });\\n        var s = document.createElement(\"script\");\\n        Object.keys(a).forEach(function (k) { s.setAttribute(k, a[k]); }); s.src = a.src + (a.src.indexOf(\"?\") > -1 ? \"&\" : \"?\") + \"r=\" + Date.now(); s.async = true;\\n        slot.appendChild(s); bhvWatch(slot, a, tries + 1); return;\\n      }\\n      if (el > 3500 && !fb && (tries > 0 || f)) {\\n        fb = document.createElement(\"a\"); fb.className = \"bhv-fallback\"; fb.href = \"https://newsletter.ai-circle.org/subscribe\"; fb.target = \"_blank\"; fb.rel = \"noopener\";\\n        fb.innerHTML = \"<span>Subscribe to the newsletter</span><b>Subscribe →</b>\"; slot.appendChild(fb);\\n      }\\n      if (el > 30000) clearInterval(iv);\\n    }, 400);\\n  }\\n})();\\n';function g(){const w=window;const st=w.__ambx||(w.__ambx={mounted:new Set,booted:false,timer:0,blobs:{},scripts:{}});if(!st.scripts)st.scripts={};return st;}export function isCanvas(){try{return RenderTarget.current()===RenderTarget.canvas||RenderTarget.current()===RenderTarget.thumbnail;}catch(e){return false;}}let canvasCssP=null;export function loadCanvasCss(){if(canvasCssP||typeof document===\"undefined\")return canvasCssP;canvasCssP=import(\"https://framerusercontent.com/modules/x8BMFXt0WRjZsefbXfLm/RZ8nkBMfNfqE9PSPY8S5/AmbxCanvasCss.js\").then(m=>{if(document.getElementById(\"ambx-canvas-css\"))return;const s=document.createElement(\"style\");s.id=\"ambx-canvas-css\";s.textContent=m.CANVAS_CSS;document.head.appendChild(s);}).catch(()=>{});return canvasCssP;}function ensureHead(){if(!document.getElementById(\"ambx-css\")){const s=document.createElement(\"style\");s.id=\"ambx-css\";s.textContent=CSS;document.head.appendChild(s);}if(FONT_CSS&&!document.getElementById(\"ambx-fonts\")){const f=document.createElement(\"style\");f.id=\"ambx-fonts\";f.textContent=FONT_CSS;document.head.appendChild(f);}FONTS.forEach((href,i)=>{if(document.getElementById(\"ambx-font-\"+i))return;const l=document.createElement(\"link\");l.id=\"ambx-font-\"+i;l.rel=\"stylesheet\";l.href=href;document.head.appendChild(l);});}function host(){const st=g();if(!st.host||!st.host.isConnected){const h=document.createElement(\"div\");h.className=\"ambx ambx-portal\";document.body.appendChild(h);st.host=h;}return st.host;}function blob(name){const st=g();if(!st.blobs[name]){const src=name===\"xgl\"?XGL:XART;st.blobs[name]=URL.createObjectURL(new Blob([src],{type:\"text/javascript\"}));}return st.blobs[name];}export function embedUrl(html){return URL.createObjectURL(new Blob([html],{type:\"text/html\"}));}// embeds load when they come near the viewport and their animation loop pauses while they are off screen\nexport function mountEmbed(f,html){if(f.__ambxMounted)return;f.__ambxMounted=true;let vis=false,pending=[];const load=()=>{if(!f.src)f.src=embedUrl(html.split(\"__AMBX_ORIGIN__\").join(location.origin));};const flush=()=>{const q=pending;pending=[];try{const w=f.contentWindow;q.forEach(cb=>w.__ambxRaf(cb));}catch(e){}};f.addEventListener(\"load\",()=>{try{const w=f.contentWindow;if(!w||w.__ambxRaf)return;w.__ambxRaf=w.requestAnimationFrame.bind(w);w.requestAnimationFrame=cb=>{if(vis)return w.__ambxRaf(cb);pending.push(cb);return 0;};}catch(e){}});if(typeof IntersectionObserver===\"undefined\"){vis=true;load();return;}const near=new IntersectionObserver(es=>{if(es[0].isIntersecting){load();near.disconnect();}},{rootMargin:\"900px 0px\"});near.observe(f);// start heavy embeds while the page is idle (staggered), so their start-up never lands mid-scroll\nconst idle=window.requestIdleCallback||(cb=>setTimeout(cb,200));const kick=()=>setTimeout(()=>idle(()=>{load();near.disconnect();},{timeout:4e3}),1800+Math.random()*1200);// phones / slow or data-saver connections: skip the idle start (it would compete with the page and with the next tap's\n// navigation for bandwidth); the 900px proximity load above still prepares it before it is reached\nconst cn=navigator.connection;const lean=matchMedia(\"(max-width: 760px)\").matches||cn&&(cn.saveData||/(^|-)(2g|3g)$/.test(cn.effectiveType||\"\"));if(!lean){if(document.readyState===\"complete\")kick();else addEventListener(\"load\",kick,{once:true});}new IntersectionObserver(es=>{vis=es[0].isIntersecting;if(vis)flush();},{rootMargin:\"150px 0px\"}).observe(f);}// canvas only: the \"We give researchers the floor\" orbit turns exactly like the live site (same ring, speed, sizes, fade),\n// scoped to this component's own markup; stops when the component unmounts\nexport function canvasOrbit(root){const f=root&&root.querySelector(\".s-float .s-floaters\")&&root.querySelector(\".s-float\");if(!f||typeof requestAnimationFrame===\"undefined\")return()=>{};const ims=Array.from(f.querySelectorAll(\".s-floaters img\"));let g=null,raf=0,alive=true;const measure=now=>{const r=f.getBoundingClientRect(),W=f.offsetWidth||r.width,k=r.width/W||1,mob=W<760,u=Math.min(1.15,Math.max(.55,W/1440));const boxes=[],rng=document.createRange();const add=b=>{if(b.width&&b.height)boxes.push([(b.left-r.left)/k,(b.top-r.top)/k,(b.right-r.left)/k,(b.bottom-r.top)/k]);};f.querySelectorAll(\".eyebrow, h2, .sub\").forEach(el=>{rng.selectNodeContents(el);Array.from(rng.getClientRects()).forEach(add);});f.querySelectorAll(\".btns .btn\").forEach(el=>add(el.getBoundingClientRect()));const top=boxes.length?Math.min(...boxes.map(x=>x[1])):f.offsetHeight/2,bot=boxes.length?Math.max(...boxes.map(x=>x[3])):f.offsetHeight/2;g={mob,cx:W/2,cy:(top+bot)/2,rx:mob?W*.536:530*u,ry:mob?W*.626:320*u,near:mob?Math.PI/2:147*Math.PI/180,sMin:mob?34:36*u,sMax:mob?84:140*u,boxes,t:now};};const frame=now=>{if(!alive)return;if(!g||now-g.t>600)measure(now);const n=ims.length,spin=now/1e3*.225,pad=g.mob?8:14;ims.forEach((im,i)=>{const a=i/n*Math.PI*2+spin,x=g.cx+Math.cos(a)*g.rx,y=g.cy+Math.sin(a)*g.ry;const px=g.sMin+(g.sMax-g.sMin)*(1+Math.cos(a-g.near))/2,bw=140,h=px/2;let cover=0;g.boxes.forEach(bx=>{const ox=Math.min(x+h,bx[2]+pad)-Math.max(x-h,bx[0]-pad),oy=Math.min(y+h,bx[3]+pad)-Math.max(y-h,bx[1]-pad);if(ox>0&&oy>0)cover=Math.max(cover,ox*oy/(px*px));});im.style.left=\"0px\";im.style.top=\"0px\";im.style.transform=`translate3d(${(x-bw/2).toFixed(1)}px,${(y-bw/2).toFixed(1)}px,0) scale(${(px/bw).toFixed(3)})`;im.style.setProperty(\"--o\",(1-.8*Math.min(1,cover*1.6)).toFixed(2));im.style.zIndex=String(Math.round(px/10));});raf=requestAnimationFrame(frame);};raf=requestAnimationFrame(frame);return()=>{alive=false;cancelAnimationFrame(raf);};}export async function gunzipB64(b64){const bin=Uint8Array.from(atob(b64),c=>c.charCodeAt(0));const stream=new Blob([bin]).stream().pipeThrough(new window.DecompressionStream(\"gzip\"));return await new Response(stream).text();}function boot(){const st=g();if(st.host)st.host.innerHTML=\"\";const w=window;w.__ambxHost=host;w.__ambxBlob=blob;w.__A=p=>{const k=String(p).replace(/^.*?assets\\//,\"\");return AM[k]||AM[\"site/\"+k]||p;};w.__F=u=>{const s=String(u||\"\");const m=s.match(/([0-9a-f]{12}\\.jpg)/);if(m)return m[1];const url=(s.match(/https?:[^\"')\\s?]+/)||[\"\"])[0];return RF[url]||null;};w.__ambxOnLoad=fn=>{if(document.readyState===\"complete\")setTimeout(fn,0);else window.addEventListener(\"load\",fn);};try{new Function(SITEJS)();}catch(e){console.error(\"[ambx] boot\",e);}Object.keys(st.scripts).forEach(k=>{try{new Function(st.scripts[k])();}catch(e){console.error(\"[ambx] page script\",k,e);}});st.booted=true;}/** Each section calls this from useEffect; the page boots once every mounted section is in the DOM. */export function register(id,script){if(typeof window===\"undefined\")return()=>{};ensureHead();if(isCanvas()){loadCanvasCss();return()=>{};}const st=g();st.mounted.add(id);if(script)st.scripts[id]=script;clearTimeout(st.timer);st.timer=setTimeout(boot,80);return()=>{st.mounted.delete(id);delete st.scripts[id];if(!st.mounted.size)st.booted=false;};}\nexport const __FramerMetadata__ = {\"exports\":{\"FONT_CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"register\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"loadCanvasCss\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"canvasOrbit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mountEmbed\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"FONTS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"embedUrl\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"gunzipB64\":{\"type\":\"function\",\"isAsync\":true,\"annotations\":{\"framerContractVersion\":\"1\"}},\"CSS\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AmbxRuntime.map","// AUTO-GENERATED by ai-circle-scale/framer-port/build.py — do not edit by hand.\nimport{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{CSS,FONTS,FONT_CSS,register,isCanvas,mountEmbed,gunzipB64,canvasOrbit}from\"https://framerusercontent.com/modules/wnP4uo1nclI0Uza7SDaT/J9hY3ckKeSjybjdtvYO0/AmbxRuntime.js\";const HTML='<footer class=\"site sx\"><div class=\"sx-in\">\\n    <div class=\"sx-top\">\\n      <div class=\"sx-brand\"><a class=\"sx-mark\" href=\"/\" aria-label=\"AI Circle home\"><img loading=\"lazy\" decoding=\"async\" src=\"https://framerusercontent.com/images/fX8FRgMOU63jASSbWCcs81LAvfw.svg\" alt=\"AI Circle\"></a><p class=\"sx-desc\">AI Circle is a global community of researchers and operators working to make AI more capable, reliable, and trustworthy.</p></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Explore</p><a href=\"/about\">About</a><a href=\"/membership\">Membership</a><a href=\"/about#chapters\">Chapters &amp; institutions</a><a href=\"/partners\">Partners</a><a href=\"https://aicircle.store\">Merch Store ↗</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Participate</p><a href=\"/membership#apply\">Apply</a><a href=\"/events\">Events</a><a href=\"https://fairsummit.ai\">Frontier AI Summit</a><a href=\"/speak\">Speak at an event</a><a href=\"/sponsor\">Sponsor an event</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Work with us</p><a href=\"/talent\">Talent</a><a href=\"/consulting\">Consulting</a><a href=\"/contact\">Contact</a></div>\\n      <div class=\"sx-col\"><p class=\"sx-h\">Resources</p><a href=\"/primer\">AI Learning Guide</a><a href=\"/resources/maps\">Market maps</a><a href=\"/resources#fresh-from-the-frontier\">Blog</a><a href=\"/newsletter\">Newsletter</a><a href=\"https://marketplace.ai-circle.org/accounts/sign-up\">Marketplace ↗</a></div>\\n    </div>\\n    <div class=\"sx-bot\">\\n      <div class=\"soc\">\\n        <a href=\"https://www.linkedin.com/company/joinaicircle/\" aria-label=\"LinkedIn\"><svg viewBox=\"0 0 24 24\"><path d=\"M4.98 3.5A2.5 2.5 0 1 1 5 8.5a2.5 2.5 0 0 1 0-5zM3 9.5h4V21H3zM9.5 9.5h3.8v1.6h.05c.53-1 1.84-2.05 3.78-2.05 4.05 0 4.8 2.66 4.8 6.12V21h-4v-5.1c0-1.22-.02-2.78-1.7-2.78-1.7 0-1.95 1.32-1.95 2.69V21h-4z\"/></svg></a>\\n        <a href=\"https://x.com/joinaicircle\" aria-label=\"X\"><svg viewBox=\"0 0 24 24\"><path d=\"M17.5 3h3.1l-6.8 7.8L21.8 21h-6.2l-4.9-6.4L5 21H1.9l7.3-8.3L1.5 3h6.4l4.4 5.8zm-1.1 16.2h1.7L7.1 4.7H5.3z\"/></svg></a>\\n        <a href=\"https://www.instagram.com/joinaicircle/\" aria-label=\"Instagram\"><svg viewBox=\"0 0 24 24\" aria-hidden=\"true\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"5.2\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"4.1\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\"/><circle cx=\"17.35\" cy=\"6.65\" r=\"1.25\" fill=\"#fff\"/></svg></a>\\n        <a class=\"sx-login\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login <span aria-hidden=\"true\">→</span></a>\\n      </div>\\n      <div class=\"sx-nl\" id=\"footer-newsletter\">\\n        <p class=\"sx-h sx-nl-h\">Newsletter</p>\\n        <form class=\"sx-nl-form\" novalidate aria-label=\"Newsletter sign-up\"><label class=\"sx-nl-hp\" for=\"sxNlEmail\">Email for the AI Circle newsletter</label><input id=\"sxNlEmail\" type=\"email\" name=\"email\" placeholder=\"Your email for the newsletter\" autocomplete=\"email\" inputmode=\"email\" required><input class=\"sx-nl-hp\" type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\" aria-hidden=\"true\"><button type=\"submit\">Subscribe <span aria-hidden=\"true\">→</span></button></form>\\n        <p class=\"sx-nl-msg\" role=\"status\" aria-live=\"polite\"></p>\\n        <p class=\"sx-nl-done\" role=\"status\"><b>You\\'re on the list.</b> See you in your inbox.</p>\\n      </div>\\n      <div class=\"sx-legal\"><a href=\"#\" data-cookie>Manage your cookie preferences</a><span>\\xa9 2026 AI Circle. All rights reserved \\xb7 <a href=\"/terms\">Terms</a></span></div>\\n    </div>\\n  </div></footer>';const PAGE_CSS=\"\";const PAGE_JS=\"\";const EMBEDS={};const TAG=\"div\";// canvas only: the section as it looks after its scripts ran (gzip+base64), Desktop (\"d\") and Phone (\"p\") widths\nconst HAS_SNAP=false;const loadSnap=()=>Promise.resolve({});/**\n * Exact port of the local Home \"Footer\" section.\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function AmbxFooter(props){const ref=useRef(null);const[canvas,setCanvas]=useState(false);const[host,setHost]=useState(null);const[listHost,setListHost]=useState(null);const[snap,setSnap]=useState(null);useEffect(()=>{setCanvas(isCanvas());return register(\"Footer\",PAGE_JS||undefined);},[]);useEffect(()=>{if(!HAS_SNAP||!isCanvas()||!ref.current||typeof ResizeObserver===\"undefined\")return;let key=\"\",alive=true,ro=null;loadSnap().then(SNAP=>{if(!alive||!ref.current)return;ro=new ResizeObserver(es=>{const w=es[0].contentRect.width,k=w&&w<760?\"p\":\"d\";if(k===key||!SNAP[k])return;key=k;gunzipB64(SNAP[k]).then(h=>{if(alive)setSnap(h);}).catch(()=>{});});ro.observe(ref.current);}).catch(()=>{});return()=>{alive=false;if(ro)ro.disconnect();};},[]);useEffect(()=>{const el=ref.current;if(!el)return;setHost(el.querySelector(\"[data-ambx-native]\"));setListHost(el.querySelector(\"[data-ambx-list]\"));el.querySelectorAll(\"iframe[data-ambx-embed]\").forEach(f=>{const src=EMBEDS[f.dataset.ambxEmbed||\"\"];if(src)mountEmbed(f,src);});return isCanvas()?canvasOrbit(el):undefined;},[snap]);return /*#__PURE__*/_jsxs(TAG,{ref:ref,className:\"ambx\"+(canvas?\" ambx-canvas\":\"\"),style:{width:\"100%\"},suppressHydrationWarning:true,children:[isCanvas()?/*#__PURE__*/_jsxs(_Fragment,{children:[FONTS.map((h,i)=>/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:h},i)),/*#__PURE__*/_jsx(\"style\",{id:\"ambx-fonts\",dangerouslySetInnerHTML:{__html:FONT_CSS}}),/*#__PURE__*/_jsx(\"style\",{dangerouslySetInnerHTML:{__html:CSS}})]}):null,/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},dangerouslySetInnerHTML:{__html:canvas&&snap?snap:HTML},suppressHydrationWarning:true})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AmbxFooter\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// AUTO-GENERATED by ai-circle-scale/framer-port/build.py — do not edit by hand.\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useRef,useState}from\"react\";import{CSS,FONTS,FONT_CSS,register,isCanvas,mountEmbed,gunzipB64,canvasOrbit}from\"https://framerusercontent.com/modules/wnP4uo1nclI0Uza7SDaT/J9hY3ckKeSjybjdtvYO0/AmbxRuntime.js\";const HTML='<header id=\"hdr\"><div class=\"wrap nav\"><a class=\"logo\" href=\"/\" aria-label=\"AI Circle home\"><img class=\"b\" src=\"https://framerusercontent.com/images/casoaE66ey3CNNdEyRT6XDLTo.svg\" alt=\"AI Circle\"><img class=\"w\" src=\"https://framerusercontent.com/images/fX8FRgMOU63jASSbWCcs81LAvfw.svg\" alt=\"AI Circle\"></a><nav class=\"links\"><div><a href=\"/about\">About <span class=\"chev\" aria-hidden=\"true\"></span></a><div class=\"menu\"><div class=\"ml\"><span class=\"mt\">About</span><a href=\"/about\">Our story<i>→</i></a><a href=\"/about#founder-letter\">Team<i>→</i></a><a href=\"/about#chapters\">Chapters<i>→</i></a><a href=\"/partners\">Partners<i>→</i></a></div><a class=\"mf\" href=\"/about\"><span class=\"mfl\">About</span></a></div></div><div><a href=\"/membership\">Membership <span class=\"chev\" aria-hidden=\"true\"></span></a><div class=\"menu\"><div class=\"ml\"><span class=\"mt\">Membership</span><a href=\"/membership#application-routes\">General<i>→</i></a><a href=\"/apply/fellow\">Fellowship<i>→</i></a><a href=\"/apply/member\">Membership<i>→</i></a></div><a class=\"mf\" href=\"/membership\"><span class=\"mfl\">Membership</span></a></div></div><div><a href=\"/events\">Events <span class=\"chev\" aria-hidden=\"true\"></span></a><div class=\"menu\"><div class=\"ml\"><span class=\"mt\">Events</span><a href=\"/events\">Events<i>→</i></a><a href=\"https://fairsummit.ai\">Frontier AI Summit<i>→</i></a><a href=\"/speak\">Speak at an event<i>→</i></a><a href=\"/sponsor\">Sponsor an event<i>→</i></a></div><a class=\"mf\" href=\"/events\"><span class=\"mfl\">Events</span></a></div></div><div><a href=\"/talent\">Talent</a></div><div><a href=\"/consulting\">Consulting</a></div><div><a href=\"/resources\">Resources <span class=\"chev\" aria-hidden=\"true\"></span></a><div class=\"menu\"><div class=\"ml\"><span class=\"mt\">Resources</span><a href=\"/primer\">AI Learning Guide<i>→</i></a><a href=\"/physical-ai-human-data-map\">Market maps<i>→</i></a><a href=\"/atlas\">Physical AI Atlas<i>→</i></a><a href=\"/multilinguality-map\">Multilinguality Map<i>→</i></a><a href=\"/coding-atlas\">Coding Atlas<i>→</i></a><a href=\"/resources#fresh-from-the-frontier\">Blog<i>→</i></a><a href=\"/newsletter\">Newsletter<i>→</i></a><a href=\"https://marketplace.ai-circle.org/accounts/sign-up\">Marketplace<i>→</i></a></div><a class=\"mf\" href=\"/resources\"><span class=\"mfl\">Resources</span></a></div></div></nav><div class=\"right\"><a class=\"btn btn-ghost\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login</a><a class=\"btn btn-violet\" href=\"/membership#apply\">Apply</a></div><button class=\"burger\" id=\"burger\" aria-label=\"Menu\"><span></span><span></span></button></div></header><div class=\"drawer\" id=\"drawer\"><details><summary>About<span>+</span></summary><a href=\"/about\">Our story</a><a href=\"/about#founder-letter\">Team</a><a href=\"/about#chapters\">Chapters</a><a href=\"/partners\">Partners</a></details><details><summary>Membership<span>+</span></summary><a href=\"/membership#application-routes\">General</a><a href=\"/apply/fellow\">Fellowship</a><a href=\"/apply/member\">Membership</a></details><details><summary>Events<span>+</span></summary><a href=\"/events\">Events</a><a href=\"https://fairsummit.ai\">Frontier AI Summit</a><a href=\"/speak\">Speak at an event</a><a href=\"/sponsor\">Sponsor an event</a></details><a href=\"/talent\">Talent<span>→</span></a><a href=\"/consulting\">Consulting<span>→</span></a><details><summary>Resources<span>+</span></summary><a href=\"/primer\">AI Learning Guide</a><a href=\"/physical-ai-human-data-map\">Market maps</a><a href=\"/atlas\">Physical AI Atlas</a><a href=\"/multilinguality-map\">Multilinguality Map</a><a href=\"/coding-atlas\">Coding Atlas</a><a href=\"/resources#fresh-from-the-frontier\">Blog</a><a href=\"/newsletter\">Newsletter</a><a href=\"https://marketplace.ai-circle.org/accounts/sign-up\">Marketplace</a></details><div class=\"btns\"><a class=\"btn btn-ghost\" href=\"https://app.ai-circle.org/entry?next=%2F\">Member login</a><a class=\"btn btn-violet\" href=\"/membership#apply\">Apply</a></div></div><div class=\"cookie hide\" id=\"cookie\"><span>We use cookies to run the site and, if you allow it, to understand how it\\'s used. Essential cookies are always on.</span><div class=\"b\"><button data-ck=\"custom\">Customize</button><button data-ck=\"reject\">Reject Non-Essential</button><button class=\"acc\" data-ck=\"all\">Accept All</button></div></div><div class=\"ckd hide\" id=\"ckd\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"ckd-t\"><div class=\"ckd-in\"><div class=\"ckd-h\"><h3 id=\"ckd-t\">Cookie preferences</h3><button class=\"ckd-x\" data-ckd=\"close\" aria-label=\"Close\">\\xd7</button></div><p class=\"ckd-lede\">Choose which cookies AI Circle may use. Essential cookies keep the site working and can\\'t be turned off.</p><div class=\"ckd-row\"><div><b>Essential</b><span>Security, forms, and remembering this choice.</span></div><span class=\"ckd-on\">Always on</span></div><label class=\"ckd-row\"><div><b>Analytics</b><span>Anonymous usage stats that help us improve the site.</span></div><input type=\"checkbox\" data-cat=\"analytics\"><i class=\"ckd-sw\"></i></label><label class=\"ckd-row\"><div><b>Marketing</b><span>Measuring our campaigns and events across other sites.</span></div><input type=\"checkbox\" data-cat=\"marketing\"><i class=\"ckd-sw\"></i></label><div class=\"ckd-b\"><button data-ckd=\"reject\">Reject non-essential</button><button data-ckd=\"save\">Save preferences</button><button class=\"acc\" data-ckd=\"all\">Accept all</button></div></div></div>';const PAGE_CSS=\"\";const PAGE_JS=\"\";const EMBEDS={};const TAG=\"div\";// canvas only: the section as it looks after its scripts ran (gzip+base64), Desktop (\"d\") and Phone (\"p\") widths\nconst HAS_SNAP=false;const loadSnap=()=>Promise.resolve({});/**\n * Exact port of the local Home \"Header\" section.\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight auto\n */export default function AmbxHeader(props){const ref=useRef(null);const[canvas,setCanvas]=useState(false);const[host,setHost]=useState(null);const[listHost,setListHost]=useState(null);const[snap,setSnap]=useState(null);useEffect(()=>{setCanvas(isCanvas());return register(\"Header\",PAGE_JS||undefined);},[]);useEffect(()=>{if(!HAS_SNAP||!isCanvas()||!ref.current||typeof ResizeObserver===\"undefined\")return;let key=\"\",alive=true,ro=null;loadSnap().then(SNAP=>{if(!alive||!ref.current)return;ro=new ResizeObserver(es=>{const w=es[0].contentRect.width,k=w&&w<760?\"p\":\"d\";if(k===key||!SNAP[k])return;key=k;gunzipB64(SNAP[k]).then(h=>{if(alive)setSnap(h);}).catch(()=>{});});ro.observe(ref.current);}).catch(()=>{});return()=>{alive=false;if(ro)ro.disconnect();};},[]);useEffect(()=>{const el=ref.current;if(!el)return;setHost(el.querySelector(\"[data-ambx-native]\"));setListHost(el.querySelector(\"[data-ambx-list]\"));el.querySelectorAll(\"iframe[data-ambx-embed]\").forEach(f=>{const src=EMBEDS[f.dataset.ambxEmbed||\"\"];if(src)mountEmbed(f,src);});return isCanvas()?canvasOrbit(el):undefined;},[snap]);return /*#__PURE__*/_jsxs(TAG,{ref:ref,className:\"ambx ambx-hdr\"+(canvas?\" ambx-canvas\":\"\"),style:{width:\"100%\"},suppressHydrationWarning:true,children:[FONTS.map((h,i)=>/*#__PURE__*/_jsx(\"link\",{rel:\"stylesheet\",href:h},i)),/*#__PURE__*/_jsx(\"style\",{id:\"ambx-fonts\",dangerouslySetInnerHTML:{__html:FONT_CSS}}),/*#__PURE__*/_jsx(\"style\",{id:\"ambx-css\",dangerouslySetInnerHTML:{__html:CSS}}),/*#__PURE__*/_jsx(\"div\",{style:{display:\"contents\"},dangerouslySetInnerHTML:{__html:canvas&&snap?snap:HTML},suppressHydrationWarning:true})]});}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"AmbxHeader\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"auto\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"oNAE0+3Y,SAAS,GAAG,CAAC,IAAM,EAAE,EAAa,EAAG,AAAW,EAAE,SAAO,CAAC,QAAQ,IAAI,IAAI,OAAO,GAAM,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAgC,MAA7B,CAAe,EAAG,UAAQ,CAAC,EAAS,CAAG,CAAC,SAAgB,GAAU,CAAC,GAAG,CAAC,OAAO,EAAa,QAAQ,IAAI,EAAa,QAAQ,EAAa,QAAQ,IAAI,EAAa,SAAU,MAAS,CAAC,MAAO,EAAM,CAAC,CAAqB,SAAgB,GAAe,CAA4X,OAAxX,GAAY,OAAO,SAAW,MAA8B,EAAW,OAAO,+BAAmG,CAAC,KAAK,GAAG,CAAC,GAAG,SAAS,eAAe,iBAAiB,EAAE,OAAO,IAAM,EAAE,SAAS,cAAc,OAAO,EAAE,EAAE,GAAG,kBAAkB,EAAE,YAAY,EAAE,WAAW,SAAS,KAAK,YAAY,CAAC,CAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAArU,CAAyV,CAAC,SAAS,GAAY,CAAC,GAAG,CAAC,SAAS,eAAe,UAAU,EAAE,CAAC,IAAM,EAAE,SAAS,cAAc,OAAO,EAAE,EAAE,GAAG,WAAW,EAAE,YAAY,EAAI,SAAS,KAAK,YAAY,CAAC,CAAE,CAAC,GAAa,CAAC,SAAS,eAAe,YAAY,EAAE,CAAC,IAAM,EAAE,SAAS,cAAc,OAAO,EAAE,EAAE,GAAG,aAAa,EAAE,YAAY,EAAS,SAAS,KAAK,YAAY,CAAC,CAAE,CAAC,EAAM,SAAS,EAAK,IAAI,CAAC,GAAG,SAAS,eAAe,aAAa,CAAC,EAAE,OAAO,IAAM,EAAE,SAAS,cAAc,MAAM,EAAE,EAAE,GAAG,aAAa,EAAE,EAAE,IAAI,aAAa,EAAE,KAAK,EAAK,SAAS,KAAK,YAAY,CAAC,CAAE,CAAC,CAAE,CAAC,SAAS,GAAM,CAAC,IAAM,EAAG,EAAE,EAAE,GAAG,CAAC,EAAG,MAAM,CAAC,EAAG,KAAK,YAAY,CAAC,IAAM,EAAE,SAAS,cAAc,KAAK,EAAE,EAAE,UAAU,mBAAmB,SAAS,KAAK,YAAY,CAAC,EAAE,EAAG,KAAK,CAAE,CAAC,OAAO,EAAG,IAAK,CAAC,SAAS,EAAK,EAAK,CAAC,IAAM,EAAG,EAAE,EAAE,GAAG,CAAC,EAAG,MAAM,GAAM,CAAC,IAAM,EAAI,IAAO,MAAM,EAAI,EAAK,EAAG,MAAM,GAAM,IAAI,gBAAgB,IAAI,KAAK,CAAC,CAAG,EAAE,CAAC,KAAK,iBAAiB,CAAC,CAAC,CAAE,CAAC,OAAO,EAAG,MAAM,EAAM,CAAC,SAAgB,EAAS,EAAK,CAAC,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAAC,CAAI,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAE,CAC7s7Y,SAAgB,EAAW,EAAE,EAAK,CAAC,GAAG,EAAE,cAAc,OAAO,EAAE,cAAc,GAAK,IAAI,EAAI,GAAM,EAAQ,CAAC,EAAQ,MAAS,CAAC,AAAU,EAAE,MAAI,EAAS,EAAK,MAAM,iBAAiB,CAAC,CAAC,KAAK,SAAS,MAAM,CAAC,CAAE,EAAQ,MAAU,CAAC,IAAM,EAAE,EAAQ,EAAQ,CAAC,EAAE,GAAG,CAAC,IAAM,EAAE,EAAE,cAAc,EAAE,QAAQ,GAAI,EAAE,UAAU,CAAE,CAAC,CAAE,MAAS,CAAC,CAAC,EAAwO,GAAtO,EAAE,iBAAiB,WAAW,CAAC,GAAG,CAAC,IAAM,EAAE,EAAE,cAAc,GAAG,CAAC,GAAG,EAAE,UAAU,OAAO,EAAE,UAAU,EAAE,sBAAsB,KAAK,CAAC,EAAE,EAAE,sBAAsB,GAAQ,EAAW,EAAE,UAAU,CAAE,GAAE,EAAQ,KAAK,CAAE,EAAS,EAAI,MAAS,CAAC,CAAC,CAAC,EAAK,OAAO,qBAAuB,IAAY,CAAC,EAAI,GAAK,EAAK,EAAE,MAAO,CAAC,IAAM,EAAK,IAAI,qBAAqB,GAAI,CAAI,EAAG,EAAE,CAAC,iBAAgB,EAAK,EAAE,EAAK,WAAW,EAAG,EAAE,CAAC,WAAW,WAAW,CAAC,EAAE,EAAK,QAAQ,CAAC,EACjvB,IAAM,EAAK,EAAO,sBAAsB,GAAI,WAAW,EAAG,GAAG,GAAS,MAAS,eAAe,MAAS,CAAC,EAAK,EAAE,EAAK,WAAW,CAAE,EAAE,CAAC,QAAQ,GAAG,CAAC,EAAE,KAAK,KAAK,OAAO,EAAE,IAAI,EAEnK,EAAG,EAAU,WAAsB,WAAW,oBAAoB,CAAC,CAAC,SAAS,IAAK,EAAG,UAAU,gBAAgB,KAAK,EAAG,eAAe,EAAE,KAAgB,SAAS,aAAa,WAAW,EAAK,EAAO,iBAAiB,OAAO,EAAK,CAAC,KAAK,EAAI,CAAC,GAAG,IAAI,qBAAqB,GAAI,CAAC,EAAI,EAAG,EAAE,CAAC,eAAkB,GAAI,EAAM,CAAE,EAAE,CAAC,WAAW,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAE,CAEnW,SAAgB,EAAY,EAAK,CAAC,IAAM,EAAE,GAAM,EAAK,cAAc,sBAAsB,GAAG,EAAK,cAAc,UAAU,EAAE,GAAG,CAAC,GAAG,OAAO,sBAAwB,IAAY,UAAU,CAAC,EAAE,IAAM,EAAI,MAAM,KAAK,EAAE,iBAAiB,iBAAiB,CAAC,EAAM,EAAE,KAAK,EAAI,EAAE,EAAM,GAAW,EAAQ,GAAK,CAAC,IAAM,EAAE,EAAE,sBAAsB,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,MAAM,GAAG,EAAE,EAAI,EAAE,IAAI,EAAE,KAAK,IAAI,KAAK,KAAK,IAAI,IAAI,EAAE,IAAI,CAAC,EAAQ,EAAM,CAAC,EAAE,EAAI,SAAS,YAAY,EAAQ,EAAI,GAAG,CAAI,EAAE,OAAO,EAAE,QAAO,EAAM,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAE,EAAE,EAAE,iBAAiB,oBAAoB,CAAC,CAAC,QAAQ,GAAI,CAAC,EAAI,mBAAmB,CAAE,EAAE,MAAM,KAAK,EAAI,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAG,CAAE,CAAC,EAAE,EAAE,iBAAiB,YAAY,CAAC,CAAC,QAAQ,GAAI,EAAI,EAAG,sBAAsB,CAAC,CAAC,EAAE,IAAM,EAAI,EAAM,OAAO,KAAK,IAAI,GAAG,EAAM,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,EAAI,EAAM,OAAO,KAAK,IAAI,GAAG,EAAM,IAAI,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,MAAI,GAAG,EAAE,EAAE,IAAI,EAAI,GAAK,EAAE,GAAG,EAAI,EAAE,KAAK,IAAI,EAAE,GAAG,EAAI,EAAE,KAAK,IAAI,EAAE,KAAK,EAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,IAAI,KAAK,EAAI,GAAG,GAAG,EAAE,KAAK,EAAI,GAAG,IAAI,EAAE,QAAM,EAAE,CAAG,CAAE,EAAQ,EAAM,GAAK,CAAC,GAAG,CAAC,EAAM,QAAU,CAAC,GAAG,EAAI,EAAE,EAAE,MAAI,EAAQ,CAAG,EAAE,IAAM,EAAE,EAAI,OAAO,EAAK,EAAI,IAAI,KAAK,EAAI,EAAE,IAAI,EAAE,GAAG,EAAI,SAAS,EAAG,IAAI,CAAC,IAAM,EAAE,EAAE,EAAE,KAAK,GAAG,EAAE,EAAK,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,KAAK,IAAI,CAAC,EAAE,EAAE,GAAS,EAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,IAAI,GAAG,EAAS,EAAE,EAAG,EAAM,EAAM,EAAE,EAAE,MAAM,QAAQ,GAAI,CAAC,IAAM,EAAG,KAAK,IAAI,EAAE,EAAE,EAAG,GAAG,CAAG,EAAE,KAAK,IAAI,EAAE,EAAE,EAAG,GAAG,CAAG,EAAE,EAAG,KAAK,IAAI,EAAE,EAAE,EAAG,GAAG,CAAG,EAAE,KAAK,IAAI,EAAE,EAAE,EAAG,GAAG,CAAG,EAAK,EAAG,GAAG,EAAG,IAAE,EAAM,KAAK,IAAI,EAAM,EAAG,GAAI,EAAG,EAAG,EAAE,CAAC,EAAE,EAAG,MAAM,KAAK,MAAM,EAAG,MAAM,IAAI,MAAM,EAAG,MAAM,UAAU,gBAAgB,EAAE,IAAG,EAAA,CAAG,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAG,EAAA,CAAG,QAAQ,CAAC,EAAE,eAAe,EAAG,IAAA,CAAI,QAAQ,CAAC,EAAE,GAAG,EAAG,MAAM,YAAY,OAAO,EAAE,GAAG,KAAK,IAAI,EAAE,EAAM,GAAG,EAAA,CAAG,QAAQ,CAAC,CAAC,EAAE,EAAG,MAAM,OAAO,OAAO,KAAK,MAAM,EAAG,EAAE,CAAC,CAAE,CAAC,EAAE,EAAI,sBAAsB,CAAK,CAAE,EAAmC,MAAjC,GAAI,sBAAsB,CAAK,MAAY,CAAC,EAAM,GAAM,qBAAqB,CAAG,CAAE,CAAE,CAAC,eAAsB,EAAU,EAAI,CAAC,IAAM,EAAI,WAAW,KAAK,KAAK,CAAG,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,EAAQ,EAAO,IAAI,KAAK,CAAC,CAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,IAAI,EAAO,oBAAoB,MAAM,CAAC,EAAE,OAAO,MAAM,IAAI,SAAS,CAAM,CAAC,CAAC,KAAK,CAAE,CAAC,SAAS,GAAM,CAAC,IAAM,EAAG,EAAE,EAAK,EAAG,OAAK,EAAG,KAAK,UAAU,IAAG,IAAM,EAAE,EAAO,EAAE,WAAW,EAAK,EAAE,WAAW,EAAK,EAAE,IAAI,GAAG,CAAC,IAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,eAAe,EAAE,EAAE,OAAO,EAAG,IAAI,EAAG,QAAQ,IAAI,CAAE,EAAE,EAAE,IAAI,GAAG,CAAC,IAAM,EAAE,OAAO,GAAG,EAAE,EAAQ,EAAE,EAAE,MAAM,qBAAqB,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAM,GAAK,EAAE,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAA,CAAG,GAAG,OAAO,EAAG,IAAM,IAAK,EAAE,EAAE,aAAa,GAAI,CAAI,SAAS,aAAa,WAAW,WAAW,EAAG,CAAC,EAAO,EAAO,iBAAiB,OAAO,CAAE,CAAE,EAAE,GAAG,CAAK,SAAS,CAAM,CAAC,CAAC,CAAE,OAAO,EAAE,CAAC,QAAQ,MAAM,cAAc,CAAC,CAAE,CAAC,OAAO,KAAK,EAAG,OAAO,CAAC,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAK,SAAS,EAAG,QAAQ,EAAE,CAAC,CAAC,CAAE,OAAO,EAAE,CAAC,QAAQ,MAAM,qBAAqB,EAAE,CAAC,CAAE,CAAC,CAAC,EAAE,EAAG,OAAO,EAAK,CAAwG,SAAgB,EAAS,EAAG,EAAO,CAAC,GAAU,IAAS,OAAY,UAAU,CAAC,EAAe,GAAb,EAAW,EAAK,EAAS,EAAmB,OAAhB,EAAc,MAAY,CAAC,EAAG,IAAM,EAAG,EAAE,EAAyG,OAAvG,EAAG,QAAQ,IAAI,CAAE,EAAK,IAAO,EAAG,QAAQ,GAAI,GAAO,aAAa,EAAG,KAAK,EAAE,EAAG,MAAM,WAAW,EAAK,EAAE,MAAY,CAAC,EAAG,QAAQ,OAAO,CAAE,EAAE,OAAO,EAAG,QAAQ,GAAQ,EAAG,QAAQ,OAAK,EAAG,OAAO,GAAM,CAAE,uCAN5sG,EAAc,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA0gvL,EAAM,CAAC,EAAe,EAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA2/b,EAAG,CAAC,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uFAAuF,2BAA2B,oEAAoE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,mEAAmE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,oEAAoE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,qEAAqE,wBAAwB,oEAAoE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,oEAAoE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,oEAAoE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,oEAAoE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sFAAsF,2BAA2B,mEAAmE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uEAAuE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,yFAAyF,2BAA2B,sEAAsE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,uFAAuF,2BAA2B,oEAAoE,wBAAwB,qEAAqE,wBAAwB,wFAAwF,2BAA2B,qEAAqE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,0FAA0F,2BAA2B,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,6BAA6B,uEAAuE,wBAAwB,qEAAqE,oBAAoB,oEAAoE,oBAAoB,qEAAqE,oBAAoB,uEAAuE,oBAAoB,sEAAsE,oBAAoB,qEAAqE,oBAAoB,qEAAqE,oBAAoB,uEAAuE,oBAAoB,uEAAuE,qBAAqB,sEAAsE,qBAAqB,sEAAsE,qBAAqB,qEAAqE,oBAAoB,uEAAuE,uBAAuB,uEAAuE,oBAAoB,uEAAuE,kBAAkB,uEAAuE,oBAAoB,sEAAsE,iCAAiC,qEAAqE,iCAAiC,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,oEAAoE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,iCAAiC,sEAAsE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,yBAAyB,wEAAwE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,yBAAyB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,qEAAqE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,yBAAyB,wEAAwE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,qEAAqE,yBAAyB,wEAAwE,wBAAwB,qEAAqE,wBAAwB,uEAAuE,yBAAyB,sEAAsE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,wBAAwB,uEAAuE,wBAAwB,qEAAqE,wBAAwB,sEAAsE,yBAAyB,wEAAwE,wBAAwB,sEAAsE,wBAAwB,uEAAuE,0BAA0B,uEAAuE,wBAAwB,qEAAqE,0BAA0B,oEAAoE,2BAA2B,uEAAuE,2BAA2B,uEAAuE,yBAAyB,sEAAsE,0BAA0B,uEAAuE,0BAA0B,sEAAsE,+BAA+B,uEAAuE,mBAAmB,sEAAsE,2BAA2B,uEAAuE,sBAAsB,qEAAqE,yBAAyB,uEAAuE,+BAA+B,wEAAwE,0BAA0B,uEAAuE,6BAA6B,uEAAuE,2BAA2B,uEAAuE,+BAA+B,uEAAuE,0BAA0B,wEAAwE,6BAA6B,sEAAsE,gCAAgC,wEAAwE,kCAAkC,wEAAwE,iCAAiC,wEAAwE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,4BAA4B,sEAAsE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,6BAA6B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,wEAAwE,yBAAyB,uEAAuE,6BAA6B,uEAAuE,4BAA4B,wEAAwE,2BAA2B,wEAAwE,4BAA4B,uEAAuE,2BAA2B,uEAAuE,yBAAyB,wEAAwE,2BAA2B,wEAAwE,0BAA0B,sEAAsE,6BAA6B,uEAAuE,0BAA0B,uEAAuE,2BAA2B,wEAAwE,4BAA4B,wEAAwE,2BAA2B,wEAAwE,0BAA0B,wEAAwE,gCAAgC,wEAAwE,4BAA4B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,wEAAwE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,oEAAoE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,4BAA4B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,4BAA4B,wEAAwE,4BAA4B,wEAAwE,4BAA4B,wEAAwE,4BAA4B,uEAAuE,2BAA2B,qEAAqE,wBAAwB,uEAAuE,wBAAwB,sEAAsE,wBAAwB,sEAAsE,EAAQ,EAAG,CAAC,uEAAuE,mBAAmB,oEAAoE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,qEAAqE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,mEAAmE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,sEAAsE,mBAAmB,sEAAsE,mBAAmB,uEAAuE,mBAAmB,oEAAoE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,qEAAqE,mBAAmB,qEAAqE,mBAAmB,qEAAqE,mBAAmB,sEAAsE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,qEAAqE,mBAAmB,uEAAuE,mBAAmB,uEAAuE,qBAAqB,qEAAqE,mBAAmB,oEAAoE,qBAAqB,uEAAuE,sBAAsB,uEAAuE,sBAAsB,sEAAsE,oBAAoB,uEAAuE,qBAAqB,sEAAsE,qBAAqB,qEAAqE,qBAAqB,EAAQ,EAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA4itB,EAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA82c,EAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyp1G,EAAW,QCIhz4Y,SAAwB,EAAW,EAAM,CAAC,IAAM,EAAIA,EAAO,IAAI,EAAO,CAAC,EAAO,GAAWC,EAAS,EAAK,EAAO,CAAC,EAAK,GAASA,EAAS,IAAI,EAAO,CAAC,EAAS,GAAaA,EAAS,IAAI,EAAO,CAAC,EAAK,GAASA,EAAS,IAAI,EAA82B,OAA52B,OAAe,EAAU,EAAS,CAAC,EAAS,EAAS,SAAkB,IAAA,EAAS,GAAI,CAAC,CAAC,EAAE,MAAc,CAAqb,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,IAAM,EAAG,EAAI,QAAY,KAA6O,OAAnO,EAAQ,EAAG,cAAc,oBAAoB,CAAC,EAAE,EAAY,EAAG,cAAc,kBAAkB,CAAC,EAAE,EAAG,iBAAiB,yBAAyB,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAM,EAAIC,EAAO,EAAE,QAAQ,WAAW,IAAO,GAAI,EAAW,EAAE,CAAG,CAAE,CAAC,EAAS,EAAS,EAAE,EAAY,CAAE,EAAE,IAAA,EAAU,EAAE,CAAC,CAAI,CAAC,EAAsB,EAAMC,EAAI,CAAK,MAAI,UAAU,QAAQ,EAAO,eAAe,IAAI,MAAM,CAAC,MAAM,MAAM,EAAE,yBAAyB,GAAK,SAAS,CAAC,EAAS,EAAe,EAAMC,EAAU,CAAC,SAAS,CAAC,EAAM,KAAK,EAAE,IAAiB,EAAK,OAAO,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC,CAAC,EAAe,EAAK,QAAQ,CAAC,GAAG,aAAa,wBAAwB,CAAC,OAAO,CAAQ,CAAC,CAAC,EAAe,EAAK,QAAQ,CAAC,wBAAwB,CAAC,OAAO,CAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAkB,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,wBAAwB,CAAC,OAAO,GAAQ,EAAK,EAAKC,CAAI,EAAE,yBAAyB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAE,uBALtjD,IAA6C,IAAkL,EAAOA,EAAK;;;;;;;;;;;;;;;;;;;;;;;mBAA0+GH,EAAO,CAAC,EAAQC,EAAI,SCKpzH,SAAwB,EAAW,EAAM,CAAC,IAAM,EAAIG,EAAO,IAAI,EAAO,CAAC,EAAO,GAAWC,EAAS,EAAK,EAAO,CAAC,EAAK,GAASA,EAAS,IAAI,EAAO,CAAC,EAAS,GAAaA,EAAS,IAAI,EAAO,CAAC,EAAK,GAASA,EAAS,IAAI,EAA82B,OAA52B,OAAe,EAAU,EAAS,CAAC,EAAS,EAAS,SAAkB,IAAA,EAAS,GAAI,CAAC,CAAC,EAAE,MAAc,CAAqb,EAAE,CAAC,CAAC,EAAE,MAAc,CAAC,IAAM,EAAG,EAAI,QAAY,KAA6O,OAAnO,EAAQ,EAAG,cAAc,oBAAoB,CAAC,EAAE,EAAY,EAAG,cAAc,kBAAkB,CAAC,EAAE,EAAG,iBAAiB,yBAAyB,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAM,EAAI,EAAO,EAAE,QAAQ,WAAW,IAAO,GAAI,EAAW,EAAE,CAAG,CAAE,CAAC,EAAS,EAAS,EAAE,EAAY,CAAE,EAAE,IAAA,EAAU,EAAE,CAAC,CAAI,CAAC,EAAsB,EAAM,EAAI,CAAK,MAAI,UAAU,iBAAiB,EAAO,eAAe,IAAI,MAAM,CAAC,MAAM,MAAM,EAAE,yBAAyB,GAAK,SAAS,CAAC,EAAM,KAAK,EAAE,IAAiB,EAAK,OAAO,CAAC,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC,CAAC,EAAe,EAAK,QAAQ,CAAC,GAAG,aAAa,wBAAwB,CAAC,OAAO,CAAQ,CAAC,CAAC,EAAe,EAAK,QAAQ,CAAC,GAAG,WAAW,wBAAwB,CAAC,OAAO,CAAG,CAAC,CAAC,EAAe,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,UAAU,EAAE,wBAAwB,CAAC,OAAO,GAAQ,EAAK,EAAK,CAAI,EAAE,yBAAyB,EAAI,CAAC,CAAC,CAAC,CAAC,CAAE,uBALxiD,IAA6C,IAAkL,EAAO,EAAK,uwKAAqzK,EAAO,CAAC,EAAQ,EAAI"}