/* One typeface across every application surface. */
:root{--sans:'DM Sans',sans-serif;--heading:var(--sans);--serif:var(--sans);--mono:var(--sans)}
body,button,input,select,textarea,pre,code,kbd,svg text{font-family:'DM Sans',sans-serif}
em,.brand-tile>span{font-style:normal}.hero h1 em{font-size:inherit;line-height:inherit;letter-spacing:inherit;font-weight:500}.topic-track em{font-size:18px;font-weight:400}.desk-intro h2 em,.atlas-heading h2 em{font-weight:500;letter-spacing:-.06em}.brand-tile>span{font-weight:500}.opening-replay{display:inline-flex;gap:18px;align-items:center;padding:0 0 7px;margin-top:27px;border:0;border-bottom:1px solid #a077cc55;background:none;color:#c6abe7;font-size:11px}.opening-replay:hover{color:#fff;border-color:#c6abe7}.hero-chips{margin-top:19px}
.trace-opening{max-width:none;max-height:none;width:100%;height:100%;height:100dvh;margin:0;padding:0;border:0;background:#0b0810;color:#f4ecff;overflow:hidden}.trace-opening::backdrop{background:#0b0810}.opening-shell{height:100%;display:flex;flex-direction:column;position:relative;isolation:isolate}.opening-landscape{position:absolute;inset:0;width:100%;height:100%;z-index:-1;opacity:.65}.opening-top,.opening-bottom{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:30px 5vw}.opening-brand{font-size:18px;letter-spacing:-.7px}.opening-top button{border:1px solid #ab84d644;background:#271b3340;border-radius:30px;padding:10px 18px;color:#e0d0ef;font-size:11px;display:flex;gap:26px}.opening-top button:focus-visible{outline:2px solid #dfb9ff;outline-offset:4px}.opening-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0;padding:15px 24px;text-align:center}.opening-kicker{font-size:9px;letter-spacing:2px;color:#b393cf;margin:0 0 22px}.opening-content h2{font-size:clamp(40px,6.6vw,86px);font-weight:500;line-height:1.02;letter-spacing:-.065em;margin:0;background:linear-gradient(120deg,#fff,#d1aff2);background-clip:text;color:transparent}.opening-content>p:not(.opening-kicker){color:#b2a0c0;font-size:14px;margin:23px 0 0}.opening-diagram{position:relative;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:80px;width:min(800px,100%);height:210px;margin-top:26px}.opening-connectors{position:absolute;inset:0;width:100%;height:100%;z-index:-1;overflow:visible}.opening-connectors path{fill:none;stroke:#9b70c8;stroke-width:1.3;stroke-dasharray:1;stroke-dashoffset:1}.opening-pulse{fill:#ebceff;opacity:0}.opening-node{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:20px 10px;border:1px solid #9a6ec53d;border-radius:18px;background:linear-gradient(135deg,#24182f,#130e1b);box-shadow:inset 0 1px #ffffff08,0 15px 40px #0003;min-height:125px}.opening-node i{font-style:normal;color:#c596f4;font-size:24px;line-height:1}.opening-node span{font-size:8px;letter-spacing:1px;color:#b18bcf}.opening-node b{font-size:11px;font-weight:400;color:#e4d4ee}.opening-copies{display:grid;gap:12px}.opening-copies .opening-node{padding:12px;min-height:85px;gap:5px}.opening-copies i{font-size:18px}.opening-proof{border-color:#c79aee66;background:linear-gradient(135deg,#46305d,#21142f)}.opening-proof svg{width:32px;height:32px;stroke:#ddbbff;stroke-width:2;fill:none}.opening-proof path{stroke-dasharray:1;stroke-dashoffset:1}.opening-caption{position:relative;width:100%;height:25px;margin-top:15px;font-size:12px;letter-spacing:.3px;color:#d7b5ef}.opening-caption span{position:absolute;inset:0;opacity:0}.opening-bottom{font-size:8px;letter-spacing:1.7px;color:#a88bbb;padding-bottom:32px}.opening-timeline{height:2px;flex:1;max-width:320px;background:#a27ac222;overflow:hidden}.opening-timeline i{display:block;height:100%;background:#c596f4;transform:scaleX(0);transform-origin:left}
.opening-play .opening-content h2,.opening-play .opening-kicker{animation:opening-rise 1s cubic-bezier(.16,1,.3,1) both}.opening-play .opening-source{animation:opening-rise .8s .2s both}.opening-play .opening-vector{animation:opening-rise .8s .55s both}.opening-play .opening-cache{animation:opening-rise .8s .75s both}.opening-play .opening-proof{animation:opening-rise .9s 1.5s both}.opening-play .opening-connectors path{animation:opening-draw 1.8s .6s ease both}.opening-play .opening-proof path{animation:opening-draw .7s 2.2s ease forwards}.opening-play .opening-pulse{animation:opening-pulse 1s .7s ease both}.opening-play .caption-one{animation:opening-caption 1.3s .3s both}.opening-play .caption-two{animation:opening-caption 1.3s 1.5s both}.opening-play .caption-three{animation:opening-rise .6s 2.8s both}.opening-play .opening-timeline i{animation:opening-progress 4s linear forwards}.opening-play .opening-landscape{animation:opening-drift 4.4s ease both}.trace-opening.opening-leave{animation:opening-exit .42s cubic-bezier(.7,0,.3,1) forwards}
@keyframes opening-rise{from{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:none}}@keyframes opening-draw{to{stroke-dashoffset:0}}@keyframes opening-pulse{0%{opacity:0;transform:translateX(-150px)}50%{opacity:1}100%{opacity:0;transform:translateX(250px)}}@keyframes opening-caption{0%,100%{opacity:0;transform:translateY(8px)}20%,80%{opacity:1;transform:none}}@keyframes opening-progress{to{transform:scaleX(1)}}@keyframes opening-drift{from{transform:scale(1.12);opacity:.25}to{transform:scale(1);opacity:.65}}@keyframes opening-exit{to{opacity:0;transform:translateY(-28px) scale(1.025)}}
@media(max-width:600px){.opening-top{padding:22px}.opening-brand{font-size:15px}.opening-top button{gap:10px;padding:8px 12px}.opening-kicker{font-size:7px;letter-spacing:1.2px}.opening-content{padding:10px 20px}.opening-content h2{font-size:clamp(42px,11vw,64px)}.opening-content>p:not(.opening-kicker){font-size:11px}.opening-diagram{gap:12px;height:190px;margin-top:25px}.opening-node{padding:14px 6px;min-height:105px;border-radius:12px}.opening-node b{font-size:9px;line-height:1.3}.opening-node span{font-size:6px;letter-spacing:.4px}.opening-copies .opening-node{padding:10px 5px;min-height:78px}.opening-bottom{padding:22px;gap:15px;font-size:6px;letter-spacing:1px}.opening-timeline{max-width:80px}.opening-caption{font-size:10px}.opening-connectors{opacity:.45}}
@media(max-height:580px){.opening-content h2{font-size:38px}.opening-kicker{margin-bottom:12px}.opening-content>p:not(.opening-kicker){margin-top:10px}.opening-diagram{height:150px;margin-top:10px}.opening-node{min-height:90px}.opening-copies .opening-node{min-height:65px;padding:6px}.opening-top,.opening-bottom{padding-block:15px}.opening-caption{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.trace-opening *, .trace-opening.opening-leave{animation:none!important}.opening-connectors path,.opening-proof path{stroke-dashoffset:0}.opening-caption .caption-three{opacity:1}.opening-timeline i{transform:scaleX(1)}}
.motion-off .opening-connectors path,.motion-off .opening-proof path{stroke-dashoffset:0}.motion-off .opening-caption .caption-three{opacity:1}
