@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap');
:where(.page){font-family:var(--font);color:var(--white);font-size:16px;line-height:normal;font-weight:400;letter-spacing:normal;-webkit-font-smoothing:antialiased}
.page{--black: #060709;--bg: #060709;--white-50: rgba(255, 255, 255, 0.5);--light-grey: #e8e8e8;--logo-gap: 45.818px;--white: #ffffff;--blue: #4056f4;--grey: #979ea0;--menu-bg: rgba(41, 44, 51, 0.6);--font: "Pretendard", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--gutter: 32px;--gut:max(40px,calc((100vw - var(--sbw,0px) - 1360px) / 2))}
:where(.page) *{box-sizing:revert}
:where(.page) .sm-pin{position:revert}
:where(.page) .ss{align-items:revert;align-self:revert;color:revert;display:revert;flex-flow:revert;grid-column-gap:revert;grid-row-gap:revert;justify-content:revert}
:where(.page) .wb-light{background-color:revert;border-radius:revert;color:revert;display:revert;flex-direction:revert;grid-row-gap:revert;padding:revert}
:where(.page) a{background-color:revert;text-decoration:revert}
:where(.page) a:active{outline:revert}
:where(.page) a:hover{outline:revert}
:where(.page) article{display:revert}
:where(.page) aside{display:revert}
:where(.page) audio{display:revert;vertical-align:revert}
:where(.page) audio:not([controls]){display:revert;height:revert}
:where(.page) b{font-weight:revert}
:where(.page) blockquote{border-left:revert;font-size:revert;line-height:revert;margin:revert;padding:revert}
:where(.page) button{-webkit-appearance:revert;border:revert;color:revert;cursor:revert;font:revert;margin:revert;overflow:revert;text-transform:revert}
:where(.page) button::-moz-focus-inner{border:revert;padding:revert}
:where(.page) canvas{display:revert;vertical-align:revert}
:where(.page) code{font-family:revert;font-size:revert}
:where(.page) details{display:revert}
:where(.page) dfn{font-style:revert}
:where(.page) fieldset{border:revert;margin:revert;padding:revert}
:where(.page) figcaption{display:revert;margin-top:revert;text-align:revert}
:where(.page) figure{display:revert;margin:revert;margin-bottom:revert}
:where(.page) footer{display:revert}
:where(.page) h1{font-family:revert;font-size:revert;font-weight:revert;letter-spacing:revert;line-height:revert;margin:revert;margin-bottom:revert;margin-top:revert}
:where(.page) h2{font-family:revert;font-size:revert;font-weight:revert;letter-spacing:revert;line-height:revert;margin-bottom:revert;margin-top:revert}
:where(.page) h3{font-family:revert;font-size:revert;font-weight:revert;letter-spacing:revert;line-height:revert;margin-bottom:revert;margin-top:revert}
:where(.page) h4{font-family:revert;font-size:revert;font-weight:revert;letter-spacing:revert;line-height:revert;margin-bottom:revert;margin-top:revert}
:where(.page) h5{font-size:revert;font-weight:revert;line-height:revert;margin-bottom:revert;margin-top:revert}
:where(.page) h6{font-size:revert;font-weight:revert;line-height:revert;margin-bottom:revert;margin-top:revert}
:where(.page) header{display:revert}
:where(.page) hgroup{display:revert}
:where(.page) hr{box-sizing:revert;height:revert}
:where(.page) img{border:revert;display:revert;max-width:revert;vertical-align:revert}
:where(.page) input{color:revert;font:revert;line-height:revert;margin:revert}
:where(.page) input::-moz-focus-inner{border:revert;padding:revert}
:where(.page) kbd{font-family:revert;font-size:revert}
:where(.page) label{display:revert;font-weight:revert;margin-bottom:revert}
:where(.page) legend{border:revert;padding:revert}
:where(.page) main{display:revert}
:where(.page) mark{background:revert;color:revert}
:where(.page) menu{display:revert}
:where(.page) nav{display:revert}
:where(.page) ol{font-size:revert;letter-spacing:revert;line-height:revert;margin-bottom:revert;margin-top:revert;padding-left:revert}
:where(.page) optgroup{color:revert;font:revert;font-weight:revert;margin:revert}
:where(.page) p{margin-bottom:revert;margin-top:revert}
:where(.page) pre{font-family:revert;font-size:revert;overflow:revert}
:where(.page) progress{display:revert;vertical-align:revert}
:where(.page) samp{font-family:revert;font-size:revert}
:where(.page) section{display:revert}
:where(.page) select{color:revert;font:revert;margin:revert;text-transform:revert}
:where(.page) small{font-size:revert}
:where(.page) strong{font-weight:revert}
:where(.page) sub{bottom:revert;font-size:revert;line-height:revert;position:revert;vertical-align:revert}
:where(.page) summary{display:revert}
:where(.page) sup{font-size:revert;line-height:revert;position:revert;top:revert;vertical-align:revert}
:where(.page) svg:not(:root){overflow:revert}
:where(.page) table{border-collapse:revert;border-spacing:revert}
:where(.page) td{padding:revert}
:where(.page) template{display:revert}
:where(.page) textarea{color:revert;font:revert;margin:revert;overflow:revert}
:where(.page) th{padding:revert}
:where(.page) ul{margin-bottom:revert;margin-top:revert;padding-left:revert}
:where(.page) video{display:revert;vertical-align:revert}
@media screen and (max-width: 479px){:where(.page) .wb-light{padding-left:revert;padding-right:revert}}
@media screen and (max-width: 767px){:where(.page) .ss{padding-left:revert;padding-right:revert}}
@media screen and (max-width: 767px){:where(.page) .wb-light{border-radius:revert;grid-row-gap:revert;padding-top:revert}}
@media screen and (max-width: 767px){:where(.page) h1{font-size:revert;letter-spacing:revert}}
@media screen and (max-width: 767px){:where(.page) h2{font-size:revert}}
@media screen and (max-width: 767px){:where(.page) h3{font-size:revert;letter-spacing:revert}}
@media screen and (max-width: 991px){:where(.page) .wb-light{padding-left:revert;padding-right:revert}}
.page{color-scheme: dark; --black: #060709; --bg: #060709; --white-50: rgba(255, 255, 255, 0.5); --light-grey: #e8e8e8; --logo-gap: 45.818px; --white: #ffffff; --blue: #4056f4; --grey: #979ea0; --menu-bg: rgba(41, 44, 51, 0.6); --font: "Pretendard", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif; --gutter: 32px;}
.page.page{position: relative; overflow: clip; background: var(--bg);}
@keyframes marquee{to { transform: translateX(-50%); }}
@media (max-width: 900px){.page{--gutter: 24px;}}
@media (max-width: 520px){.page{--gutter: 16px;}.page{--logo-gap: 32px;}}
.page.page{background: #fff;}
@keyframes clr{0% { background-position: 0% 0; } 100% { background-position: 100% 0; }}
.page .w{fill: none; stroke: #a0aac0; stroke-opacity: .2; stroke-width: .6; transition: stroke .5s, stroke-opacity .5s;}
.page .w.bad{stroke: #ff5a70; stroke-opacity: .75;}
.page .pls{fill: none; stroke: #4fb3d3; stroke-opacity: .95; stroke-width: 1.1; stroke-linecap: round; filter: drop-shadow(0 0 3px rgba(79,179,211,.75));}
@keyframes wash{0% { opacity: 0; background-position: 100% 0; } 30% { opacity: .55; background-position: 0 0; } 55% { opacity: .55; background-position: 0 0; } 100% { opacity: 0; background-position: 0 0; }}
@keyframes spin{to { transform: rotate(360deg); }}
@keyframes dotpop{0% { transform: scale(1); animation-timing-function: cubic-bezier(.3, 0, .4, 1); } 22% { transform: scale(1.5); animation-timing-function: cubic-bezier(.33, 0, .2, 1); } 100% { transform: scale(1); }}
.page .orb.in{opacity: 1;}
.page .w{transition: stroke .5s, stroke-opacity .5s, opacity .4s;}
.page .pls.tail{opacity: .7;}
.page .pls.soft{opacity: .35;}
@keyframes trk-creep{to { stroke-dashoffset: -8px; }}
@keyframes alarm-in{to { transform: scale(1); }}
@keyframes alarm{50% { box-shadow: 0 0 8px 1px rgba(244,13,51,.8); }}
@keyframes hl-in{to { transform: scaleX(1); }}
.page{--bg: #060709;}
.page .ghost{position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; pointer-events: none; z-index: 0;}
@keyframes wd-in{to { opacity: 1; transform: none; filter: blur(0); }}
@keyframes ptn-l{to { transform: translateX(-50%); }}
@keyframes ptn-r{from { transform: translateX(-50%); } to { transform: translateX(0); }}
@property --gs{syntax: '<number>'; inherits: false; initial-value: .08;}
@keyframes bl-up{from { opacity: 0; translate: 0 24px; }}
@keyframes hhl-in{to { clip-path: inset(0 0 0 0); }}
.page .tl{position: relative; z-index: 2; height: 500px; box-sizing: border-box; padding: 64px var(--gut) 100px; background: #fff; overflow: hidden; display: flex; align-items: flex-end; justify-content: space-between; color: #060709;}
.page .tl__loop{position: absolute; left: calc(50% + 90px); top: 0; width: 1174px; height: 1174px; pointer-events: none; overflow: visible;}
.page .tl__lbl{position: absolute; right: calc(50% - 358px); top: 120px; width: 0; height: 20px;}
.page .tl__plate{position: absolute; right: 0; top: 0; height: 20px; box-sizing: border-box; padding: 3px 6px 5px; background: #eff0f0; white-space: nowrap; overflow: hidden; font-family: 'IBM Plex Mono', ui-monospace, monospace; font-weight: 600; font-size: 12px; line-height: 12px; letter-spacing: .3px; text-transform: uppercase; color: #4d5051;}
.page .tl__txt{visibility: hidden;}
.page .tl__w{position: absolute; inset: 0; padding: inherit; text-align: center;}
.page .tl__w--sel{background: #060709; color: #fff; clip-path: inset(0 100% 0 0);}
.page .tl__w--new{clip-path: inset(0 100% 0 0);}
.page .tl__intro{position: relative; width: 680px; display: flex; flex-direction: column; gap: 48px;}
.page .tl__tag{display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; text-decoration: none;}
.page .tl__tag img{display: block; width: 16px; height: 16px;}
.page .tl__tag-mark{display: flex; align-items: center; padding: 6px 12px; border-radius: 1000px; background: #eff0f0;}
.page .tl__tag .tl__tag-t{font-family: 'IBM Plex Mono', ui-monospace, monospace; font-weight: 600; font-size: 12px; line-height: 1; letter-spacing: .3px; text-transform: uppercase; color: #4d5051;}
.page .tl__tag .tl__tag-ar{width: 8px; height: 8px; margin-left: -4px; padding-top: 1px;}
.page .tl__main{display: flex; flex-direction: column; gap: 40px;}
.page .tl__h{margin: 0; font-weight: 500; font-size: 108px; line-height: .94; letter-spacing: -3.2px; text-box: trim-both cap alphabetic;}
.page .tl__p{width: 564px; margin: 0; font-weight: 500; font-size: 18px; line-height: 1.4; letter-spacing: -.3px; color: #4d5051; text-box: trim-both cap alphabetic;}
.page .tl__actions{position: relative; display: flex; gap: 8px;}
.page .tl__btn{height: 64px; box-sizing: border-box; padding: 0 40px; border-radius: 32px; display: inline-flex; align-items: center; font-weight: 500; font-size: 18px; line-height: 1.4; letter-spacing: -.3px; text-decoration: none; transition: background-color .2s, border-color .2s;}
.page .tl__btn--primary{background: #4056f4; color: #fff;}
.page .tl__btn--primary:hover{background: #5167f3;}
.page .tl__h .w{display: inline-block; white-space: nowrap; opacity: 0; transform: translateY(14px); filter: blur(10px);}
.page .tl__h.play .w{animation: wd-in .95s cubic-bezier(.25, .1, .25, 1) forwards; animation-delay: calc(var(--i) * .05s);}
.page .tl__h{position: relative; isolation: isolate;}
.page .tl__hl{position: absolute; top: -4px; height: calc(108px * .7 + 8px); z-index: -1; pointer-events: none; background: linear-gradient(90.5deg, rgba(189, 223, 239, .56) 0%, rgba(189, 223, 239, .7) 100%); clip-path: inset(0 100% 0 0);}
.page .tl__h.play .tl__hl{animation: hhl-in 1s cubic-bezier(.65, 0, .25, 1) .8s forwards;}
@media (prefers-reduced-motion: reduce){.page .tl__hl{clip-path: none;}.page .tl__h.play .tl__hl{animation: none;}}
@media (prefers-reduced-motion: reduce){.page .tl__h .w{opacity: 1; transform: none; filter: none;}.page .tl__h.play .w{animation: none;}}
.page.page{background: #060709;}
.page .wb{position: relative; z-index: 2; background: #fff; border-radius: 32px;}
.page .wb .tl{background: transparent;}
.page .wb .tl{border-radius: 0 0 32px 32px;}
@property --accent{syntax: "<color>"; inherits: true; initial-value: #59a9bf;}
@property --agent-line{syntax: "<color>"; inherits: true; initial-value: #2a4f59;}
@property --conn-a{syntax: "<color>"; inherits: true; initial-value: #a0aac0;}
@property --conn-b{syntax: "<color>"; inherits: true; initial-value: #52c2e0;}
@property --frame{syntax: "<color>"; inherits: true; initial-value: rgb(89 169 191 / 0.4);}
@property --frame-glow{syntax: "<color>"; inherits: true; initial-value: rgb(89 169 191 / 0.3);}
@property --chart{syntax: "<color>"; inherits: true; initial-value: #73b8d1;}
@property --chart-point{syntax: "<color>"; inherits: true; initial-value: #55bbd8;}
@property --guard{syntax: "<color>"; inherits: true; initial-value: #9ed1e3;}
.page{--gut: max(40px, calc((100vw - var(--sbw, 0px) - 1360px) / 2));}
@keyframes pv-draw{to { stroke-dashoffset: 0; }}
@keyframes pv-tag{to { opacity: 1; translate: 0 0; filter: blur(0); }}
.page .tl__hl{display: none;}
@keyframes wbn-in{from { opacity: 0; translate: 0 24px; }}
.page .sm .sm__ff{position: absolute; left: 0; top: 0; width: 100%; z-index: 0; pointer-events: none; filter: brightness(1.3); opacity: 0; transition: opacity 1.4s ease; -webkit-mask-image: radial-gradient(ellipse 21.6% 27.6% at 47% 68%, rgba(0, 0, 0, .77) 25%, transparent 100%), radial-gradient(ellipse 43.2% 55.2% at calc(70% + 120px) calc(46% - 100px), #000 25%, transparent 100%), linear-gradient(#000 72%, transparent 96%); mask-image: radial-gradient(ellipse 21.6% 27.6% at 47% 68%, rgba(0, 0, 0, .77) 25%, transparent 100%), radial-gradient(ellipse 43.2% 55.2% at calc(70% + 120px) calc(46% - 100px), #000 25%, transparent 100%), linear-gradient(#000 72%, transparent 96%); -webkit-mask-composite: source-over, source-in; mask-composite: add, intersect;}
.page .sm .sm__ff{transform: scale(-1, -1);}
.page .sm.is-closed .sm__ff{opacity: 1; transition-duration: 2s;}
.page .sm .sm__seam{position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; transform: translate(171px, -36px) rotate(230deg) scale(-1.1, -1.1); box-shadow: 0 0 0 3px #060709, inset 0 0 0 3px #060709;}
.page .sm .sm__fbox{position: absolute; right: calc(var(--gut) - 32px); bottom: 0; width: 1440px; height: 820px; pointer-events: none;}
.page .sm .sm__fbox--l{right: auto; left: calc(var(--gut) - 132px); bottom: -200px;}
@media (min-width: 1441px){.page .sm .sm__fbox--l{-webkit-mask-image: radial-gradient(ellipse 62% 70% at 62% 40%, #000 84%, transparent 100%), radial-gradient(ellipse 58% 60% at 58% 78%, #000 80%, transparent 100%); mask-image: radial-gradient(ellipse 62% 70% at 62% 40%, #000 84%, transparent 100%), radial-gradient(ellipse 58% 60% at 58% 78%, #000 80%, transparent 100%); -webkit-mask-composite: source-over; mask-composite: add;}}
.page .sm .sm__smoke{position: absolute; left: 0; top: 0; width: 100%; z-index: 0; pointer-events: none; filter: brightness(1.55); mix-blend-mode: lighten;    will-change: opacity, filter, scale; transform: translate(171px, -36px) rotate(230deg) scale(-1.1, -1.1); -webkit-mask-image: radial-gradient(ellipse 43.2% 55.2% at calc(70% + 120px) calc(46% - 100px), #000 25%, transparent 100%), linear-gradient(transparent, rgba(0, 0, 0, .12) 50px, rgba(0, 0, 0, .5) 120px, rgba(0, 0, 0, .9) 190px, #000 230px, #000 72%, transparent 96%), linear-gradient(to left, transparent, rgba(0, 0, 0, .1) 60px, rgba(0, 0, 0, .4) 140px, rgba(0, 0, 0, .75) 230px, rgba(0, 0, 0, .95) 310px, #000 360px); mask-image: radial-gradient(ellipse 43.2% 55.2% at calc(70% + 120px) calc(46% - 100px), #000 25%, transparent 100%), linear-gradient(transparent, rgba(0, 0, 0, .12) 50px, rgba(0, 0, 0, .5) 120px, rgba(0, 0, 0, .9) 190px, #000 230px, #000 72%, transparent 96%), linear-gradient(to left, transparent, rgba(0, 0, 0, .1) 60px, rgba(0, 0, 0, .4) 140px, rgba(0, 0, 0, .75) 230px, rgba(0, 0, 0, .95) 310px, #000 360px); -webkit-mask-composite: source-in, source-in; mask-composite: intersect, intersect;}
.page .sg .sg__card--tools{background: rgba(17, 18, 19, .24); border-color: rgba(203, 227, 238, .12);}
.page .sg .sg__card--tools .sg__row{border-color: rgba(203, 227, 238, .12);}
.page .sm:not(.is-scan) .sg__card--tools .sg__row,.page .sg .sg__card--tools .sg__row:not(.sg__row--m){color: rgba(255, 255, 255, .72);}
.page .sg__card--tools .sg__cap img{content: url(https://cdn.prod.website-files.com/691ef0a011466cf6dc334d6a/6aec7f84f4d7f7a198cc5f2f_sim-plus-tools.svg);}
.page .sm__dots{opacity: 0; transition: opacity .9s ease;}
.page .sm.is-scan .sm__dots{opacity: 1;}
.page .sm__shade{position: absolute; inset: 0; z-index: 40; background: #060709; opacity: 0; pointer-events: none;}
.page .wb--sim{--gut: max(32px, calc((100vw - var(--sbw, 0px) - 1376px) / 2)); margin-top: calc(-1 * max(780px * var(--sz, 1), 100vh)); color: #060709;}
.page .ss{padding-left: var(--gut); padding-right: var(--gut);}
.page .ss--p{display: flex; justify-content: space-between; gap: 40px; padding-top: 100px;}
.page .ss__intro{flex: none; width: 332px; display: flex; flex-direction: column; gap: 32px;}
.page .ss__eb{color: #979ea0;}
.page .ss__eb u{flex: none; width: 4px; height: 4px; border-radius: 50%; background: currentColor;}
.page .ss__h{margin: 0; font-weight: 500; font-size: 42px; line-height: 1; letter-spacing: -1.2px; color: #000; text-box: trim-both cap alphabetic;}
.page .ss__over{flex: 0 1 970px; min-width: 0; display: flex; flex-direction: column; gap: 16px;}
.page .ss__hero{position: relative; overflow: hidden; display: flex; flex-direction: column; gap: 80px; padding: 32px; border-radius: 32px; background: #060709;}
.page .ss__glow{position: absolute; left: 50%; top: calc(50% - 308px); width: 1630px; max-width: none; pointer-events: none; opacity: 0; transform-origin: 877px 549px; transform: translate(-50%, -50%) translate(var(--gx, 0px), var(--gy, 0px)) scale(var(--gs)); transition: opacity .7s cubic-bezier(.4, 0, .2, 1), --gs 0s linear .8s;}
.page .ss__hero.is-on .ss__glow{opacity: 1; --gs: 1; transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1) .15s, --gs 2s cubic-bezier(.16, 1, .3, 1) .15s;}
.page .ss__ic{position: relative; display: block; width: 100px; height: 100px;}
.page .ss__sum{position: relative; display: flex; justify-content: space-between; gap: 32px; height: 55px; font-weight: 500;}
.page .ss__big{flex: none; width: 358px; margin: 0; font-size: 30px; line-height: 1.1; letter-spacing: -1.2px; color: #fff; text-box: trim-both cap alphabetic;}
.page .ss__lt{flex: 0 1 412px; margin: 0; font-size: 16px; line-height: 1.4; letter-spacing: -.2px; color: #cbcdcd; text-box: trim-both cap alphabetic;}
.page .ss__two{display: flex; gap: 16px;}
.page .ss__card{flex: 1 1 0; min-width: 0; box-sizing: border-box; height: 220px; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; border-radius: 32px; background: #f7f8f8; font-weight: 500;}
.page .ss__ct{margin: 0; font-size: 24px; line-height: 1.16; letter-spacing: -1px; color: #060709; text-box: trim-both cap alphabetic;}
.page .ss__cp{margin: 0; font-size: 16px; line-height: 1.4; letter-spacing: -.2px; color: #4d5051; text-box: trim-both cap alphabetic;}
.page .ss--s{padding-top: 140px;}
.page .ss__mid{display: flex; flex-direction: column; align-items: center; gap: 32px; text-align: center;}
.page .st{height: 400vh; margin: calc((586px - 100vh) / 2) 0 calc((586px - 100vh) / 2 + 194px);}
.page .st__in{position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; justify-content: center; gap: 72px;}
.page .st__deck{position: relative; height: 440px;}
.page .ss__f{position: absolute; left: 0; right: 0; top: 0; height: 440px; display: flex; align-items: center; gap: 74px;}
.page .ss__fp{opacity: 0; translate: 0 16px; transition: opacity .35s ease, translate .5s ease;}
.page .ss__f.is-past .ss__fp{translate: 0 -16px;}
.page .ss__f.is-0 .ss__fp{opacity: 1; translate: 0 0; transition: opacity .6s ease .35s, translate .8s cubic-bezier(.25, .1, .25, 1) .35s;}
.page .ss__fh .w{display: inline-block; white-space: nowrap; opacity: 0; transform: translateY(14px); filter: blur(10px); transition: opacity .3s ease, transform .3s ease, filter .3s ease;}
.page .ss__f.is-0 .ss__fh .w{opacity: 1; transform: none; filter: blur(0); transition: opacity 1.1s cubic-bezier(.25, .1, .25, 1), transform 1.1s cubic-bezier(.25, .1, .25, 1), filter 1.1s cubic-bezier(.25, .1, .25, 1); transition-delay: calc(.1s + var(--i) * .07s);}
.page .ss__fh{flex: 1 1 0; min-width: 0; margin: 0; font-weight: 500; font-size: 30px; line-height: 1.1; letter-spacing: -1.2px; color: #000; text-box: trim-both cap alphabetic;}
.page .ss__art{flex: 0 1 680px; min-width: 0; height: 440px; position: relative; overflow: hidden; border-radius: 32px; background: #060709; transition: transform 1s cubic-bezier(.33, 0, .2, 1), opacity .7s ease, filter .7s ease;}
.page .ss__f.is-1 .ss__art{transform: translateY(31.2px) scale(.94); opacity: .75; filter: blur(2px);}
.page .ss__f.is-2 .ss__art{transform: translateY(62.4px) scale(.88); opacity: .4; filter: blur(4px);}
.page .ss__f.is-3 .ss__art{transform: translateY(93.6px) scale(.82); opacity: .2; filter: blur(6px);}
.page .ss__f.is-past .ss__art{transform: translateY(48px) scale(1.03); opacity: 0;}
.page .ss__f.is-0 .ss__art{transition-duration: 1s, .5s, .3s;}
.page .ss__art > img{position: absolute; width: 1474.91px; height: 1474.91px; max-width: none; pointer-events: none; opacity: 0; transform: scale(.6);}
.page .ss__art.is-glow > img{opacity: 1; transform: none; transition: opacity 1.2s cubic-bezier(.4, 0, .2, 1) .15s, transform 2s cubic-bezier(.16, 1, .3, 1) .15s;}
.page .ss__fp{flex: 1 1 0; min-width: 0; margin: 0; font-weight: 500; font-size: 16px; line-height: 1.4; letter-spacing: -.2px; color: #4d5051; text-box: trim-both cap alphabetic;}
.page .ss__g{position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; transition: opacity .7s ease;}
.page .ss__g line,.page .ss__g polyline{fill: none;}
.page .ss__gw{stroke: #cbe3ee; stroke-opacity: .12;}
.page .ss__gm{stroke: #59a9bf; stroke-width: 1.1; stroke-linejoin: round;}
.page .ss__gh{stroke: #7fd3ea; stroke-opacity: .85; stroke-width: 1.1; stroke-linejoin: round;}
.page .ss__gt{position: absolute; z-index: 4; transform: translate(-50%, -50%); box-sizing: border-box; height: 28px; padding: 0 9px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(203, 227, 238, .08); border-radius: 100px; background: rgba(17, 18, 19, .5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); box-shadow: inset 0 0 20px rgba(6, 7, 9, .2); font-weight: 500; font-size: 13px; line-height: 1.2; letter-spacing: -.2px; color: #cbcdcd; white-space: nowrap; transition: opacity .7s ease;}
.page .ss__gt--h{border-color: rgba(127, 211, 234, .5); color: #fff; box-shadow: inset 0 0 20px rgba(6, 7, 9, .2), 0 0 16px rgba(89, 169, 191, .22);}
.page .sb{position: absolute; left: 32px; right: 32px; top: 32px; display: flex; flex-direction: column; gap: 28px; transition: opacity .7s ease;}
.page .sb .sb__c{color: rgba(255, 255, 255, .5);}
.page .sb__rows{display: flex; flex-direction: column; gap: 22px; margin-top: 8px;}
.page .sb__r{display: grid; grid-template-columns: 150px minmax(0, 1fr) 44px; align-items: center; gap: 16px; height: 22px; font-weight: 500; font-size: 13px; line-height: 1.2; letter-spacing: -.2px; color: #cbcdcd; white-space: nowrap;}
.page .sb__p{text-align: right; color: rgba(255, 255, 255, .5);}
.page .sb__t{position: relative; height: 1px; background: rgba(203, 227, 238, .12);}
.page .sb__t i{position: absolute; left: 0; top: -.1px; height: 1.2px; width: calc(var(--w) * 100%); background: #7fd3ea;}
.page .sb__t i::after{content: ''; position: absolute; right: -3px; top: -2.4px; width: 6px; height: 6px; border-radius: 50%; background: #fff; box-shadow: 0 0 12px 2px #7fd3ea;}
.page .sb__r--x .sb__n{color: #d97c63;}
.page .sb__r--x .sb__t i{background: #d97c63;}
.page .sb__r--x .sb__t i::after{box-shadow: 0 0 12px 2px rgba(217, 124, 99, .9);}
.page .sb__k{position: absolute; left: calc(var(--w) * 100% + 14px); top: 0; transform: translateY(-50%); box-sizing: border-box; height: 28px; display: flex; align-items: center; padding: 0 9px; border: 1px solid rgba(217, 124, 99, .24); border-radius: 100px; background: rgba(17, 18, 19, .5); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-weight: 500; font-size: 13px; line-height: 1.2; letter-spacing: -.2px; color: #d97c63; white-space: nowrap;}
.page .ss__art.is-wait .sb__t i{width: 0;}
.page .ss__art.is-wait .sb__t i::after{opacity: 0;}
.page .ss__art.is-wait .sb__p,.page .ss__art.is-wait .sb__k{opacity: 0;}
.page .sb__t i{transition: width .9s cubic-bezier(.25, .1, .25, 1) calc(.3s + var(--i) * .16s);}
.page .sb__t i::after{transition: opacity .3s ease calc(.3s + var(--i) * .16s);}
.page .sb__p{transition: opacity .6s ease calc(.7s + var(--i) * .16s);}
.page .sb__k{transition: opacity .7s ease 1.4s;}
.page .tp{position: absolute; inset: 0; transform: translate(35px, -14px); transition: opacity .7s ease;}
.page .tp .sg__kbt i,.page .tp .sg__at i{font-style: normal;}
.page .tp .sg__kb{left: 32px; top: 114px;}
.page .tp .sg__kb,.page .tp .sg__tile{border-color: rgba(203, 227, 238, .12);}
.page .tp .sg__kb{background: rgba(28, 36, 43, .24);}
.page .tp .sg__agent{left: 92px; top: 306px;}
.page .tp .sg__at{width: auto;}
.page .tp .tp__c{position: absolute; left: 328px; top: 56px; width: 250px;}
.page .tp .sm__lf{fill-opacity: .16;}
.page .tp .sm__lf.in{transition: opacity .25s ease;}
.page .tp .sm__lf.on{fill: #7fd3ea; fill-opacity: .85;}
.page .tp .sm__lf.m{fill-opacity: .3;}
.page .tp .sg__verb{position: absolute; color: rgba(255, 255, 255, .6);}
.page .tp .fx__pill{color: rgba(255, 255, 255, .6);}
.page .tp__g,.page .tp__w{fill: none; stroke: #cbe3ee; stroke-opacity: .16;}
.page .tp__w:not(.tp__w--m){stroke: #7fd3ea; stroke-opacity: .85; stroke-width: 1.1;}
.page .tp__w--m{stroke-dasharray: 4 4; stroke-opacity: .3;}
.page .tp .tp__c{border-color: rgba(203, 227, 238, .14); background: rgba(28, 36, 43, .24);}
.page .tp .tp__r{position: relative; overflow: hidden; border-color: rgba(203, 227, 238, .12); background: rgba(203, 227, 238, .08); color: #eff0f0; transition: border-color .6s ease, color .6s ease;}
.page .tp__r > *{position: relative;}
.page .tp .tp__r--m{border: 1px dashed rgba(203, 227, 238, .22); color: #cbcdcd;}
.page .tp__r--m::before{content: ''; position: absolute; inset: 0; pointer-events: none; transition: opacity .7s ease .4s; background: repeating-linear-gradient(131.3deg, rgba(203, 227, 238, .08) 0, transparent 1.2px, rgba(203, 227, 238, .08) 8.3px);}
.page .tp.is-story .sm__lf.on:not(.in),.page .tp.is-story .sm__lf.m:not(.in),.page .tp.is-story .tp__r:not(.in) .fx__pill{opacity: 0;}
.page .tp.is-story .tp__r--m:not(.in){border-style: solid; border-color: rgba(203, 227, 238, .12); color: #eff0f0;}
.page .tp.is-story .tp__r--m:not(.in)::before{opacity: 0;}
.page .tp__r .fx__pill{transition: opacity .6s ease;}
.page .fp{position: absolute; inset: 0; transition: opacity .7s ease;}
.page .fp .fx__card{position: absolute; border-color: rgba(203, 227, 238, .16); background: rgba(28, 36, 43, .24);}
.page .fp__c.fx__card{left: 48px; top: 132px; width: 236px;}
.page .fp__k.fx__card{left: 372px; width: 260px;}
.page .fp .fx__r{color: #eff0f0; border-color: rgba(203, 227, 238, .12); background: rgba(203, 227, 238, .08);}
.page .fp .fx__pill--r{border-color: rgba(217, 124, 99, .64); background: rgba(217, 124, 99, .14); color: #f4ac96;}
.page .fp .fx__head b{color: #eff0f0;}
.page .fp__h{display: flex; align-items: center; gap: 8px; height: 18px;}
.page .fp__h img{display: block; width: 14px; height: 14px;}
.page .fp__h b{font: 500 12px/1 'IBM Plex Mono', ui-monospace, monospace; color: #eff0f0;}
.page .fp__ls{display: flex; flex-direction: column;}
.page .fp__l{position: relative; display: flex; align-items: center; gap: 12px; height: 18px; padding: 0 8px;}
.page .fp__l::before{content: ''; position: absolute; inset: 0; background: rgba(217, 124, 99, .18); opacity: 0; transition: opacity .7s ease;}
.page .fp__l > *{position: relative;}
.page .fp__l i{flex: none; width: 24px; font: 400 11px/1 'IBM Plex Mono', ui-monospace, monospace; color: rgba(255, 255, 255, .4); text-align: right;}
.page .fp__l u{height: 5px; border-radius: 3px; background: rgba(203, 227, 238, .18); text-decoration: none; transition: background-color .7s ease;}
.page .fp__l--on::before{opacity: 1;}
.page .fp__l--on u{background: rgba(238, 154, 130, .8);}
.page .fp__l--on i{color: #f4ac96;}
.page .fp__l:nth-child(2)::before{border-radius: 6px 6px 0 0;}
.page .fp__l:nth-child(3)::before{border-radius: 0 0 6px 6px;}
.page path.fp__w{fill: none; stroke: #ee9a82; stroke-width: 1.1; transition: opacity 1s ease;}
.page .fp .sm__lf{fill: #ee9a82; fill-opacity: 1; transition: opacity 1s ease;}
.page .fp .sm__lf.in{transition: opacity .25s ease;}
.page .fp__r0{fill: none; stroke: #cbe3ee; stroke-opacity: .16;}
.page .fp .sm__lf.fp__rl{fill: #cbe3ee; fill-opacity: .16;}
.page .fp.is-story .sm__lf[data-w]:not(.in){opacity: 0;}
.page .fp.is-story .fp__k:not(.in) .fp__l--on::before{opacity: 0;}
.page .fp.is-story .fp__k:not(.in) .fp__l--on u{background: rgba(203, 227, 238, .18);}
.page .fp.is-story .fp__k:not(.in) .fp__l--on i{color: rgba(255, 255, 255, .4);}
.page .ss__art .sm__eyebrow{color: rgba(255, 255, 255, .5);}
.page .sb__c img,.page .ss__gc img{filter: brightness(0) invert(1); opacity: .5;}
.page .ss__g polyline{transition: opacity 1.2s ease;}
.page .ss__orb{z-index: 5; opacity: 0;}
.page .ss__art.is-play .ss__gt{opacity: 0; translate: 0 6px; transition: opacity .3s ease, translate .3s ease;}
.page .ss__art.is-play .ss__gt.in{opacity: 1; translate: 0 0; transition: opacity .7s ease, translate .9s cubic-bezier(.25, .1, .25, 1);}
.page .ss__gc{position: absolute; left: 32px; bottom: 28px; color: rgba(255, 255, 255, .5); transition: opacity .7s ease;}
.page .ss__f:not(.is-0):not(.is-past) .ss__art :is(.ss__g,.page .ss__gt,.page .ss__gc,.page .cg__d,.page .sb,.page .tp,.page .fp){opacity: 0;}
.page .wb--sim .tl__intro{width: 738px;}
.page .wb--sim .tl__p{width: 680px; max-width: 100%;}
.page .wb--sim .rv:not(.in){opacity: 0; translate: 0 24px;}
.page .wb--sim .rv.in{animation: ss-up 1s cubic-bezier(.25, .1, .25, 1) backwards; animation-delay: var(--d, 0s);}
@keyframes ss-up{from { opacity: 0; translate: 0 24px; }}
@media (prefers-reduced-motion: reduce){.page .ss__fh .w{transition: none; filter: none; transform: none;}.page .ss__glow{opacity: 1; --gs: 1; transition: none;}.page .ss__art > img{opacity: 1; transform: none; transition: none;}.page .wb--sim .rv:not(.in){opacity: 1; translate: none;}.page .wb--sim .rv.in{animation: none;}}
@media (max-width: 1023px){.page .ss__art > img{opacity: 1; transform: none;}.page .wb--sim{margin-top: 0;}.page .ss__sum{height: auto;}.page .st{height: auto; margin: 0 0 80px;}.page .st__in{position: static; height: auto; gap: 64px;}.page .st__deck{height: auto; display: flex; flex-direction: column; gap: 64px;}.page .ss__f{position: static; height: auto; gap: 24px;}.page .ss__f .ss__fp{opacity: 1; translate: none;}.page .ss__f .ss__fh .w{opacity: 1; transform: none; filter: none;}.page .ss__f .ss__art{transform: none !important;}.page .ss__art.is-wait .sb__t i{width: calc(var(--w) * 100%);}.page .ss__art.is-wait .sb__p,.page .ss__art.is-wait .sb__k,.page .ss__art.is-wait .tp .sm__lf.on,.page .ss__art.is-wait .tp .sm__lf.m,.page .ss__art.is-wait .tp__w,.page .ss__art.is-wait .tp__r .fx__pill{opacity: 1;}.page .tp{transform: none;}.page .tp .sg__agent{left: 16px;}.page .tp .tp__c{left: auto; right: 16px;}.page .ss__f .ss__art{opacity: 1 !important; filter: none !important;}.page .ss__f .ss__art > img{opacity: 1 !important;}.page .ss--p,.page .ss__sum,.page .ss__two,.page .ss__f{flex-direction: column; align-items: stretch;}.page .ss__intro,.page .ss__big,.page .ss__lt{width: auto; flex: none;}.page .ss__card{height: auto; gap: 40px;}.page .ss__art{flex: none; width: 100%; height: 320px;}.page .ss__fh,.page .ss__fp{flex: none;}.page .ss--s{padding-top: 80px;}.page .wb--sim .tl__intro{width: auto;}}
.page .sm{--gut: max(32px, calc((100vw - var(--sbw, 0px) - 1376px) / 2));}
.page .sm-pin{position: relative; height: calc(max(780px * var(--sz, 1), 100vh) * 8.5);}
.page .sm{--e: cubic-bezier(.65, 0, .35, 1); position: sticky; top: 0; height: calc(max(780px * var(--sz, 1), 100vh) / var(--sz, 1)); zoom: var(--sz, 1); overflow: hidden; isolation: isolate; color: #fff;}
.page .sm__dots{position: absolute; left: 50%; top: 0; width: 1440px; height: 100%; margin-left: -720px; overflow: hidden; z-index: -1; pointer-events: none; -webkit-mask: url(https://cdn.prod.website-files.com/691ef0a011466cf6dc334d6a/6aec7f88e1888ae16cf469d4_sim-vignette.svg) center / 100% 100% no-repeat; mask: url(https://cdn.prod.website-files.com/691ef0a011466cf6dc334d6a/6aec7f88e1888ae16cf469d4_sim-vignette.svg) center / 100% 100% no-repeat;}
.page .sm__dots img{position: absolute; left: 197.55px; top: 21.25px; width: 1173.03px; height: 1081.5px; max-width: none;}
.page .sm__txt{position: absolute; left: var(--gut); top: calc(50% + 10px); transform: translateY(-50%); width: 564px; max-width: calc(100% - 2 * var(--gut)); display: flex; flex-direction: column; gap: 48px;}
.page .sm__txt{transition: opacity .5s ease, translate .7s var(--e);}
.page .sm.is-scan .sm__txt{opacity: 0; translate: 0 -16px; pointer-events: none;}
.page .sm__txt2{position: absolute; left: var(--gut); top: calc(50% - 14.5px); transform: translateY(-50%); width: 448px; display: flex; flex-direction: column; gap: 48px; pointer-events: none;}
.page .sm__txt2.is-on{pointer-events: auto;}
.page .sm__txt3 .sm__sub{flex-wrap: wrap;}
.page .sm__loop{position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; display: none;}
.page .sm__loop path{fill: none; stroke-width: 1;}
.page .sm__loop-a{stroke: #fff;}
.page .sm__loop-b{opacity: 0; stroke: rgba(203, 227, 238, .4);}
.page .sm__loop .sm__loop-c{stroke: #7fd3ea; stroke-width: 1.4; opacity: 0; transition: opacity .8s ease;}
.page .sm__loop.is-lit .sm__loop-c{opacity: 1;}
.page .sm__loop .sm__loop-e{stroke-opacity: 1;}
.page .sm__loop-glow{filter: drop-shadow(0 0 6px rgba(79, 179, 211, .85)) drop-shadow(0 0 14px rgba(79, 179, 211, .45));}
.page .sm__tag{position: absolute; left: calc(50% + var(--x)); top: calc(50% + 10px + var(--y)); transform: translate(-50%, -50%) rotate(var(--r)); font: 600 12px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; white-space: nowrap; opacity: 0; translate: 0 6px; pointer-events: none; transition: opacity .3s ease, translate .3s ease;}
.page .sm__tag{color: transparent; background: linear-gradient(#fff, #fff); -webkit-background-clip: text; background-clip: text;}
.page .sm.is-closed .sm__tag{opacity: 1; translate: 0 0; transition: opacity .6s ease var(--d), translate .8s cubic-bezier(.25, .1, .25, 1) var(--d);}
.page .sm__end{left: 50%; top: calc(50% + 20px); width: 680px; margin-left: -340px; gap: 40px; align-items: center; text-align: center;}
.page .sm__end.is-on{pointer-events: auto;}
.page .sm__end .sm__main{gap: 32px; align-items: center;}
.page .sm__end .sm__h2{font-size: 56px; line-height: 1; letter-spacing: -2px; max-width: none;}
.page .sm__end .sm__p2{max-width: 332px;}
.page .sm__end .sm__btns{opacity: 0; translate: 0 24px; transition: opacity .3s ease, translate .3s ease;}
.page .sm__quote{align-self: flex-start; box-sizing: border-box; margin: 0; padding: 15px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 8px 16px 16px 16px; background: rgba(17, 18, 19, .6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-weight: 500; font-size: 16px; line-height: 1.4; letter-spacing: -.2px; color: #cbcdcd; white-space: nowrap; text-box: trim-both cap alphabetic;}
.page .sm__h2 .w{display: inline-block; white-space: nowrap; opacity: 0; transform: translateY(14px); filter: blur(10px); transition: opacity .3s ease, transform .3s ease, filter .3s ease;}
.page .sm__txt2.is-on .sm__h2 .w{opacity: 1; transform: none; filter: blur(0); transition: opacity 1.1s cubic-bezier(.25, .1, .25, 1), transform 1.1s cubic-bezier(.25, .1, .25, 1), filter 1.1s cubic-bezier(.25, .1, .25, 1); transition-delay: calc(.4s + var(--i) * .09s);}
.page .sm__p2,.page .sm__sub,.page .sm__quote{opacity: 0; translate: 0 24px; transition: opacity .3s ease, translate .3s ease;}
.page .sm__txt2.is-on .sm__p2,.page .sm__txt2.is-on .sm__sub,.page .sm__txt2.is-on .sm__quote{opacity: 1; translate: 0 0; transition: opacity 1s cubic-bezier(.25, .1, .25, 1) .7s, translate 1s cubic-bezier(.25, .1, .25, 1) .7s;}
.page .sm__quote.sm__stats{display: flex; gap: 8px; padding: 0; border: 0; border-radius: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none;}
.page .sm__stats p{display: flex; align-items: baseline; gap: 8px; box-sizing: border-box; margin: 0; padding: 15px 11px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 8px 16px 16px 16px; background: rgba(17, 18, 19, .6); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);}
.page .sm__stats p.f{border-color: rgba(217, 124, 99, .24); background: rgba(217, 124, 99, .08);}
.page .sm__stats b{font-weight: 400; font-size: 42px; line-height: 1; letter-spacing: -1.2px; color: #fff; text-box: trim-both cap alphabetic;}
.page .sm__stats span{font-weight: 500; font-size: 14px; line-height: 1.2; letter-spacing: -.2px; color: #979ea0; text-box: trim-both cap alphabetic;}
.page .sm__eyebrow span.f{color: #d97c63;}
.page .sm__txt4 .sm__h2{max-width: 400px;}
.page .sm__txt2.is-on .sm__quote{transition-delay: .8s;}
.page .sm__txt2.is-on .sm__sub{transition-delay: .9s;}
.page .sm__end.is-on .sm__h2 .w{transition-delay: calc(1.3s + var(--i) * .09s);}
.page .sm__end.is-on .sm__p2{transition-delay: 1.7s;}
.page .sm__end.is-on .sm__btns{opacity: 1; translate: 0 0; transition: opacity 1s cubic-bezier(.25, .1, .25, 1) 1.9s, translate 1s cubic-bezier(.25, .1, .25, 1) 1.9s;}
.page .sm__main{display: flex; flex-direction: column; gap: 28px;}
.page .sm__sub{flex-wrap: nowrap; padding-top: 24px; border-top: 1px solid rgba(203, 227, 238, .08);}
.page .sm__h2{margin: 0; font-weight: 400; font-size: 42px; line-height: 1; letter-spacing: -1.2px; color: #fff; text-box: trim-both cap alphabetic;}
.page .sm__p2{margin: 0; font-weight: 500; font-size: 16px; line-height: 1.4; letter-spacing: -.2px; color: rgba(255, 255, 255, .5); text-box: trim-both cap alphabetic;}
.page .sm__bar{position: absolute; left: var(--gut); right: var(--gut); bottom: 0; display: flex; gap: 2px; padding-bottom: 24px; opacity: 0; translate: 0 12px; pointer-events: none; transition: opacity .4s ease, translate .6s var(--e);}
.page .sm.is-scan .sm__bar{opacity: 1; translate: 0 0; pointer-events: auto; transition: opacity .7s ease .3s, translate .9s var(--e) .3s;}
.page .sm__step{position: relative; flex: 1 1 0; min-width: 0; padding: 12px 0 0; border: 0; border-top: 1px solid #979ea0; background: none; cursor: pointer; text-align: left; font: 600 12px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: #979ea0; transition: color .3s;}
.page .sm__step:disabled{cursor: default;}
.page .sm__step.is-on{color: #fff;}
.page .sm.is-ring .sm__bar{opacity: 0; pointer-events: none; transition: opacity .3s ease;}
.page .sm.was-ring .sm__bar{transition: opacity .25s ease;}
.page .sm__fill{position: absolute; left: 0; top: -1px; width: 100%; height: 1px; background: #fff; transform: scaleX(var(--p, 0)); transform-origin: 0 0;}
.page .sm__step:focus-visible{outline: 1px solid var(--blue); outline-offset: 2px;}
.page .sm__top{display: flex; flex-direction: column; gap: 40px;}
.page .sm__eyebrow{display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font: 600 12px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: #979ea0; white-space: nowrap;}
.page .sm__eyebrow b{font-weight: inherit; color: #eff0f0;}
.page .sm__eyebrow i{width: 1px; height: 7px; background: #4d5051;}
.page .sm__eyebrow img{display: block; width: 3px; height: 3px;}
.page .sm__copy{display: flex; flex-direction: column; gap: 32px;}
.page .sm__meta{padding-top: 24px; border-top: 1px solid rgba(203, 227, 238, .08);}
.page .sm__h{max-width: 520px; margin: 0; font-weight: 400; font-size: 56px; line-height: 1; letter-spacing: -2px; color: #fff; text-box: trim-both cap alphabetic;}
.page .sm__p{width: 506px; max-width: 100%; margin: 0; font-weight: 500; font-size: 18px; line-height: 1.4; letter-spacing: -.3px; color: #979ea0; text-box: trim-both cap alphabetic;}
.page .sm__btns{display: flex; flex-wrap: wrap; gap: 8px;}
.page .sm__btn{height: 48px; box-sizing: border-box; padding: 0 24px; border: 0; border-radius: 32px; background: #4056f4; color: #fff; cursor: pointer; font: 500 15px/1.2 var(--font); letter-spacing: -.2px; white-space: nowrap; transition: background-color .3s, border-color .3s;}
.page .sm__btn:hover{background: #5167f3;}
.page .sm__btn:focus-visible{outline: 1px solid var(--blue); outline-offset: 2px;}
.page .sg{transition: opacity 1s ease .1s, transform 1.5s var(--e);}
.page .sm.is-s2 .sg{opacity: 0; transform: translateY(-640px); pointer-events: none;}
.page .sm__link{position: absolute; left: 0; top: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; opacity: 0; transition: opacity .6s ease;}
.page .sm__link.on{opacity: 1; transition-duration: .25s;}
.page .sm__lb{fill: none; stroke: #cbe3ee; stroke-opacity: .2;}
.page .sm__lf{fill: #cbe3ee; fill-opacity: .2; transition: fill .35s ease-in-out, fill-opacity .35s ease-in-out;}
.page .sm__lf.lit{fill: #52c1e0; fill-opacity: .9;}
.page .sm__lt{fill: none; stroke: url(#sm-tail); stroke-width: 1.1; stroke-linecap: butt; filter: drop-shadow(0 0 3px rgba(79, 179, 211, .75));}
.page .cg{position: absolute; right: var(--gut); top: calc(50% - 334.5px); width: 854px; height: 640px; opacity: 0; transform: translateY(640px); pointer-events: none; transition: opacity .4s ease, transform 1.5s var(--e);}
.page .sm.is-s2 .cg{opacity: 1; transform: none; pointer-events: auto; transition: opacity .7s ease .15s, transform 1.5s var(--e);}
.page .cg__l{position: absolute; left: 72px; top: 14px; width: 733.85px; height: 549.55px; overflow: visible;}
.page .cg__l #cg-path{filter: drop-shadow(0 0 3px rgba(79, 179, 211, .75));}
.page .cg__l #cg-path.is-out{opacity: 0; transition: opacity .75s ease;}
.page .cg__e{fill: none; stroke: #cbe3ee; stroke-opacity: .12; transition: stroke-opacity 1.2s ease;}
.page .cg.is-lit .cg__e{stroke-opacity: .08; transition-duration: 1.6s;}
.page .cg.is-lit .cg__n:not(.on){color: rgba(203, 205, 205, .5); transition-duration: 1.6s;}
.page .cg.is-lit .cg__d:not(.on){opacity: .6; transition-duration: 1.6s;}
.page .cg__lit,.page .cg__tail{fill: none; stroke-width: 1.1; stroke-linecap: round;}
.page .cg__tail{stroke: url(#cg-tail);}
.page .cg__lit{stroke: #7fd3ea; stroke-opacity: .85; animation: cg-in 1.6s cubic-bezier(.45, 0, .25, 1) backwards;}
@keyframes cg-in{from { stroke-opacity: 0; }}
.page .cg__orb,.page .sm__orb{position: absolute; z-index: 3; box-sizing: border-box; width: 40px; height: 40px; margin: -20px 0 0 -20px; display: flex; align-items: center; justify-content: center; border: .6px solid #59a9bf; border-radius: 50%; background: rgba(28, 36, 43, .08); -webkit-backdrop-filter: blur(4.5px); backdrop-filter: blur(4.5px); box-shadow: inset 0 0 4px rgba(160, 170, 192, .25); opacity: 0; pointer-events: none; will-change: transform;}
.page .cg__orb img,.page .sm__orb img{display: block; width: 17.19px; height: 16px;}
.page .cg__n{transition: border-color .8s ease, color .8s ease, box-shadow .8s ease;}
.page .cg__n.on{transition-duration: .4s; border-color: rgba(127, 211, 234, .5); color: #fff; box-shadow: inset 0 0 20px rgba(6, 7, 9, .2), 0 0 16px rgba(89, 169, 191, .22);}
.page .cg__d{transition: box-shadow .8s ease, transform .8s ease, opacity .8s ease;}
.page .cg__d.on{transition-duration: .4s; transform: scale(1.5); box-shadow: 0 0 12px 2px #7fd3ea;}
.page .cg__d{position: absolute; width: 4px; height: 4px; margin: -2px 0 0 -2px; border-radius: 100px; background: #fff; box-shadow: 0 0 10px #fff;}
.page .cg__n{position: absolute; z-index: 4; box-sizing: border-box; height: 35px; padding: 0 15px; display: flex; align-items: center; justify-content: center; border: 1px solid rgba(203, 227, 238, .08); border-radius: 100px; background: #0c0e10; box-shadow: inset 0 0 20px rgba(6, 7, 9, .2); font-weight: 500; font-size: 13px; line-height: 1.2; letter-spacing: -.2px; color: #cbcdcd; white-space: nowrap;}
.page .sm.is-s3 .cg{opacity: 0; transform: translateY(-640px); pointer-events: none; transition: opacity 1s ease .1s, transform 1.5s var(--e);}
.page .fx{position: absolute; right: var(--gut); top: calc(50% - 334.5px); width: 854px; height: 640px; opacity: 0; transform: translateY(640px); pointer-events: none; transition: opacity .4s ease, transform 1.5s var(--e);}
.page .sm.is-s4 .fx{opacity: 1; transform: none; pointer-events: auto; transition: opacity .7s ease .15s, transform 1.5s var(--e);}
.page .sm.is-s5 .fx{opacity: 0; transform: translateY(-640px); pointer-events: none; transition: opacity 1s ease .1s, transform 1.5s var(--e);}
.page .fx__ln{position: absolute; left: 363px; display: block; width: 130px; height: 56px; max-width: none; transform: scaleX(-1);}
.page .fx__ln--src{top: 347.5px; width: 280px; height: 79px; transition: opacity .5s ease;}
.page .fx__stack{position: absolute; left: 83px; top: 40px; width: 280px; display: flex; flex-direction: column; gap: 8px;}
.page .fx__card{box-sizing: border-box; width: 280px; display: flex; flex-direction: column; gap: 10px; padding: 11px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 16px; background: linear-gradient(rgba(203, 227, 238, .03), rgba(203, 227, 238, .03)), rgba(6, 7, 9, .85);    box-shadow: inset 0 0 20px rgba(6, 7, 9, .2); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);}
.page .fx__card--find{position: absolute; left: 493px; top: 83px;}
.page .fx__card--src{position: absolute; left: 83px; top: 382.43px;}
.page .fx__head{display: flex; align-items: center; justify-content: space-between; height: 18px;}
.page .fx__head img{display: block; width: 18px; height: 18px;}
.page .fx__head p{display: flex; align-items: center; gap: 6px; margin: 0; font: 400 11px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: rgba(255, 255, 255, .5); white-space: nowrap;}
.page .fx__head b{font-weight: 500; color: #cbcdcd;}
.page .fx__head i{font-style: normal;}
.page .fx__rows{display: flex; flex-direction: column; gap: 6px;}
.page .fx__r{box-sizing: border-box; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid rgba(203, 227, 238, .06); border-radius: 10px; background: rgba(203, 227, 238, .04); box-shadow: inset 0 0 20px rgba(6, 7, 9, .1); font-weight: 500; font-size: 12px; line-height: 1.2; color: #cbcdcd; white-space: nowrap;}
.page .fx__r img{display: block; flex: none; width: 14px; height: 14px;}
.page .fx__r span{flex: 1 1 auto; min-width: 0;}
.page .fx__star{flex: none; width: 14px; height: 14px; background: #fff; -webkit-mask: url(https://cdn.prod.website-files.com/691ef0a011466cf6dc334d6a/6aec7f8187588721f66b2529_sim-fx-star.svg) center / contain no-repeat; mask: url(https://cdn.prod.website-files.com/691ef0a011466cf6dc334d6a/6aec7f8187588721f66b2529_sim-fx-star.svg) center / contain no-repeat;}
.page .fx__pill{flex: none; box-sizing: border-box; height: 19px; display: flex; align-items: center; padding: 0 7px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 100px; background: rgba(203, 227, 238, .08); font-style: normal; font-size: 10px; line-height: 1; letter-spacing: .2px; text-transform: uppercase; color: #979ea0;}
.page .fx__pill--r{border-color: rgba(217, 124, 99, .16); background: rgba(217, 124, 99, .1); color: #d97c63;}
.page .fx__ok{display: flex; align-items: center; gap: 7.52px; height: 16.93px; margin: 0; font-weight: 500; font-size: 12px; line-height: 1.2; color: #59a9bf; white-space: nowrap;}
.page .fx__ok img{display: block; width: 13.17px; height: 13.17px;}
.page .fx__w{position: absolute; left: 0; top: 0; width: 854px; height: 640px; overflow: visible; pointer-events: none;}
.page .fx__p{fill: none; stroke: none;}
.page .fx__t{fill: none; stroke-width: 1.1; stroke-dasharray: 0 900; filter: drop-shadow(0 0 3px rgba(79, 179, 211, .75));}
.page .fx__t.is-r{filter: drop-shadow(0 0 3px rgba(217, 124, 99, .75));}
.page .fx__w .sm__lf{fill-opacity: 0;}
.page .fx__w .sm__lf.lit{fill-opacity: .9;}
.page .fx__w .sm__lf.lit.is-r{fill: #d97c63;}
.page .fx__r,.page .fx__r > *,.page .fx__ok{transition: border-color .5s ease, background-color .5s ease, color .5s ease, box-shadow .35s ease, opacity .35s ease, transform .35s cubic-bezier(.16, 1, .3, 1), translate .7s cubic-bezier(.25, .1, .25, 1);}
.page .fx.is-play .fx__r--e:not(.in){border-color: rgba(217, 124, 99, .24); background: rgba(217, 124, 99, .08); color: #d97c63;}
.page .fx.is-play .fx__r--e:not(.in) .fx__star{background: #d97c63;}
.page .fx__r--e.on{box-shadow: inset 0 0 20px rgba(6, 7, 9, .1), 0 0 12px rgba(217, 124, 99, .3);}
.page .fx__r--e.in.on{box-shadow: inset 0 0 20px rgba(6, 7, 9, .1), 0 0 12px rgba(89, 169, 191, .35);}
.page .fx.is-play .fx__r--f:not(.in) > *,.page .fx.is-play .fx__r--s:not(.in) > *{opacity: 0;}
.page .fx__r--f > *{transition: opacity .62s ease-in-out;}
.page .fx.is-play:not(.is-src) .fx__ln--src{opacity: 0;}
.page .fx__card--src{transition: opacity .35s ease, translate .35s ease;}
.page .fx__card--src .fx__head p{transition: opacity .3s ease, transform .3s ease, filter .3s ease;}
.page .fx.is-play .fx__card--src:not(.in){opacity: 0; translate: 0 10px;}
.page .fx.is-play .fx__card--src:not(.in) .fx__head p{opacity: 0; transform: translateY(6px); filter: blur(10px);}
.page .fx__card--src.in{transition: opacity .7s ease, translate 1s cubic-bezier(.25, .1, .25, 1);}
.page .fx__card--src.in .fx__head p{transition: opacity 1.1s cubic-bezier(.25, .1, .25, 1), transform 1.1s cubic-bezier(.25, .1, .25, 1), filter 1.1s cubic-bezier(.25, .1, .25, 1);}
.page .fx.is-play .fx__ok:not(.in){opacity: 0; translate: 0 6px;}
.page .rn{position: absolute; right: var(--gut); top: calc(50% - 334.5px); width: 854px; height: 640px; opacity: 0; transform: translateY(640px); pointer-events: none; transition: opacity .4s ease, transform 1.5s var(--e);}
.page .sm.is-s3 .rn{opacity: 1; transform: none; pointer-events: auto; transition: opacity .7s ease .15s, transform 1.5s var(--e);}
.page .sm.is-s4 .rn{opacity: 0; transform: translateY(-640px); pointer-events: none; transition: opacity 1s ease .1s, transform 1.5s var(--e);}
.page .rn__ln{position: absolute; display: block; max-width: none;}
.page .rn__ln--out{transition: opacity .5s ease;}
.page .rn.is-play:not(.is-done) .rn__ln--out{opacity: 0;}
.page .rn__user{position: absolute; left: 20px; top: 32px; box-sizing: border-box; display: flex; align-items: center; gap: 10px; padding: 9px 19px 9px 9px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 16px; background: #0c0e10; box-shadow: inset 0 0 20px rgba(6, 7, 9, .2);}
.page .rn__user{transition: box-shadow .35s ease, border-color .35s ease;}
.page .rn__user.on{border-color: rgba(127, 211, 234, .4); box-shadow: inset 0 0 20px rgba(6, 7, 9, .2), 0 0 16px rgba(89, 169, 191, .22);}
.page .rn__user .sg__kbt b{font-weight: 500;}
.page .rn__user .sg__kbt i{font-style: normal;}
.page .rn .sg__verb{transition: none;}
.page .rn__tb{position: absolute; left: 186.6px; top: 130.5px; box-sizing: border-box; width: 594px; display: flex; flex-direction: column; gap: 14px; padding: 13px 15px 17.5px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 16px; background: linear-gradient(rgba(203, 227, 238, .03), rgba(203, 227, 238, .03)), rgba(6, 7, 9, .85);    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 0 0 20px rgba(6, 7, 9, .2);}
.page .rn__cap{display: flex; align-items: center; justify-content: space-between; height: 16px;}
.page .rn__cap p{display: flex; align-items: center; margin: 0; font: 400 11px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: rgba(255, 255, 255, .5); white-space: nowrap;}
.page .rn__cap b{font-weight: 500; color: #cbcdcd;}
.page .rn__cap i{font-style: normal; margin: 0 15px 0 6px;}
.page .rn__cap p:last-child i{margin: 0 15px 0 4px;}
.page .rn__cap p:last-child i:last-child{margin-right: 0;}
.page .rn__cap .f{color: #d97c63;}
.page .rn__body{display: flex; gap: 16px;}
.page .rn__rows{flex: none; width: 230px; display: flex; flex-direction: column; gap: 5px;}
.page .rn__w{position: absolute; left: 0; top: 0; width: 854px; height: 640px; overflow: visible; pointer-events: none;}
.page .rn__p{fill: none; stroke: none;}
.page .rn__w .rn__t--r{stroke: url(#rn-tail-r); filter: drop-shadow(0 0 3px rgba(217, 124, 99, .75));}
.page .rn__w .rn__lf--r.lit{fill: #d97c63;}
.page .rn__t.is-fade,.page .fx__t.is-fade{opacity: 0; transition: opacity 1s ease;}
.page .rn__w .sm__lf,.page .fx__w .sm__lf{transition: fill-opacity 1s ease;}
.page .rn__w .sm__lf.lit,.page .fx__w .sm__lf.lit{transition: fill-opacity .35s ease;}
.page .rn__w .sm__lf{fill-opacity: 0;}
.page .rn__w .sm__lf.lit{fill-opacity: .9;}
.page .rn__t{fill: none; stroke: url(#rn-tail); stroke-width: 1.1; stroke-linecap: butt; stroke-dasharray: 0 900; filter: drop-shadow(0 0 3px rgba(79, 179, 211, .75));}
.page .rn__r,.page .rn__c,.page .rn__c img{transition: border-color .35s ease, background-color .35s ease, color .35s ease, opacity .35s ease, transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s ease, translate .7s cubic-bezier(.25, .1, .25, 1);}
.page .rn.is-play .rn__r:not(.in){color: rgba(203, 205, 205, .5);}
.page .rn.is-play .rn__r--f:not(.in){border-color: rgba(203, 227, 238, .06); background: rgba(203, 227, 238, .04);}
.page .rn.is-play .rn__r--f:not(.in) .rn__i > img:first-child{opacity: 1;}
.page .rn__r.on{border-color: rgba(127, 211, 234, .4); background: rgba(127, 211, 234, .06); color: #fff;}
.page .rn__c img{transition: opacity .36s cubic-bezier(.22, .61, .36, 1); will-change: opacity;}
.page .rn.is-play .rn__c:not(.in) img{opacity: 0;}
.page .rn.is-play .rn__c--f:not(.in){border-color: rgba(203, 227, 238, .06); background: rgba(203, 227, 238, .04);}
.page .rn__find{transition: opacity .35s ease, translate .35s ease;}
.page .rn__find p{transition: opacity .3s ease, transform .3s ease, filter .3s ease;}
.page .rn.is-play .rn__find:not(.in){opacity: 0; translate: 0 10px;}
.page .rn.is-play .rn__find:not(.in) p{opacity: 0; transform: translateY(6px); filter: blur(10px);}
.page .rn__find.in{transition: opacity .7s ease, translate 1s cubic-bezier(.25, .1, .25, 1);}
.page .rn__find.in p{transition: opacity 1.1s cubic-bezier(.25, .1, .25, 1), transform 1.1s cubic-bezier(.25, .1, .25, 1), filter 1.1s cubic-bezier(.25, .1, .25, 1);}
.page .rn__find::before{content: ''; position: absolute; inset: -1px; box-sizing: border-box; padding: 1px; border-radius: inherit; background: conic-gradient(from var(--sa), #5e3128, #d97c63, #5e3128); animation: sm-stroke 6s linear -3s infinite; pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;}
.page .rn__r{position: relative; box-sizing: border-box; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid rgba(203, 227, 238, .06); border-radius: 10px; background: rgba(203, 227, 238, .04); box-shadow: inset 0 0 20px rgba(6, 7, 9, .1); font-weight: 500; font-size: 12px; line-height: 1.2; color: #cbcdcd; white-space: nowrap;}
.page .rn__i{position: relative; flex: none; width: 14px; height: 14px;}
.page .rn__i img{position: absolute; left: 0; top: 0; display: block; width: 14px; height: 14px; transition: opacity .35s ease;}
.page .rn__r > span:last-child{text-box: trim-both cap alphabetic;}
.page .rn__r--f{border-color: rgba(217, 124, 99, .24); background: rgba(217, 124, 99, .08); color: #d97c63;}
.page .rn__r--f .rn__i > img:first-child{opacity: 0;}
.page .rn__grid{flex: none; width: 316px; display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); grid-auto-rows: 38px; gap: 5px;}
.page .rn__c{display: flex; align-items: center; justify-content: center; box-sizing: border-box; border: 1px solid rgba(203, 227, 238, .06); border-radius: 10px; background: rgba(203, 227, 238, .04); box-shadow: inset 0 0 20px rgba(6, 7, 9, .1);}
.page .rn__c img{display: block; width: 14.35px; height: 14.35px;}
.page .rn__c--f{border-color: rgba(217, 124, 99, .24); background: rgba(217, 124, 99, .08);}
.page .rn__find{position: absolute; left: 20px; top: 524.5px; box-sizing: border-box; width: 246.6px; display: flex; flex-direction: column; gap: 8px; padding: 11px 11px 15px; border: 1px solid transparent; border-radius: 16px; background: linear-gradient(rgba(217, 124, 99, .08), rgba(217, 124, 99, .08)), rgba(6, 7, 9, .85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);}
.page .rn__find p{display: flex; align-items: center; gap: 8.2px; height: 18.45px; margin: 0; font-weight: 500; font-size: 13px; line-height: 1.2; letter-spacing: -.2px; color: #d97c63; white-space: nowrap;}
.page .rn__find img{display: block; width: 14.35px; height: 14.35px;}
.page .rn__find p:last-child{display: block; height: auto; font-size: 12px; letter-spacing: 0; color: rgba(255, 255, 255, .5); white-space: normal; text-box: trim-both cap alphabetic;}
.page .sg{position: absolute; right: var(--gut); top: calc(50% - 310px); width: 738px; height: 640px;}
.page .sg b,.page .sg i{font-style: normal; font-weight: inherit;}
.page .sg p{margin: 0;}
.page .sg__line,.page .sg__next,.page .sg__sim{position: absolute; display: block; max-width: none; transition: left 1.1s var(--e), top 1.1s var(--e), width 1.1s var(--e), height 1.1s var(--e), opacity .55s ease;}
.page .sg__next{opacity: 0;}
.page .sg__sim{left: 67px; top: 256px; width: 103px; height: 90px; opacity: 0; transform: scaleY(-1); clip-path: inset(-2px -2px -2px 100%);}
.page .sm.is-scan .sg__line{opacity: 0;}
.page .sm.is-scan .sg__next,.page .sm.is-scan .sg__sim{opacity: 1; transition-delay: 0s, 0s, 0s, 0s, .5s;}
.page .sm.is-scan .sg__sim{clip-path: inset(-2px); transition: opacity .2s ease .5s, clip-path .8s var(--e) .5s;}
.page .sm.is-scan .sg__line--calls{left: 305px; top: 287.5px; width: 161px; height: 87px;}
.page .sm.is-scan .sg__line--grounds{left: 41px; top: 92.5px; width: 240px; height: 130px;}
.page .sm.is-scan .sg__line--invokes{left: 127px; top: 288.5px; width: 154px; height: 152px;}
.page .sm.is-scan .sg__line--delegates{left: 301.5px; top: 57px; width: 169px; height: 162px;}
.page .sg__kb,.page .sg__card,.page .sg__agent,.page .sg__verb{transition: translate 1.1s var(--e);}
.page .sm.is-scan .sg__kb{translate: 20px -5.5px;}
.page .sm.is-scan .sg__agent{translate: 30px -25.5px;}
.page .sm.is-scan .sg__card--skill{translate: 20px -45.5px;}
.page .sm.is-scan .sg__card--tools{translate: -10px -95px;}
.page .sm.is-scan .sg__card--sub{translate: -10px -5.5px;}
.page .sm.is-scan .sg__verb--i{translate: 20px -35.5px;}
.page .sm.is-scan .sg__verb--d{translate: 0 -5.5px;}
.page .sm.is-scan .sg__verb--c{translate: 0 -94px;}
.page .sm.is-scan .sg__verb--g{translate: 20px -8.5px;}
.page .sg__twin{position: absolute; left: 0; top: 0; pointer-events: none; opacity: 0; transition: opacity .35s ease;}
.page .sm.is-scan .sg__twin{opacity: 1; transition: opacity .5s ease;}
.page .sg__twin p{position: absolute; left: -82px; top: 23px; margin: 0; font: 500 11px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: #59a9bf; white-space: nowrap;}
.page .sg__dash{position: absolute; left: -116px; top: -11px; width: 854px; height: 630px; box-sizing: border-box; border: 1px dashed rgba(82, 193, 224, .16); border-radius: 20px; background: rgba(82, 193, 224, .03); transition: left 1.2s var(--e), top 1.2s var(--e), width 1.2s var(--e), height 1.2s var(--e);}
.page .sm.is-scan .sg__dash{left: -96px; top: 9px; width: 814px; height: 590px;}
.page .sg__cn{position: absolute; width: 80px; height: 80px; box-sizing: border-box; border-left: 1px solid #59a8bf; border-top: 1px solid #59a8bf; border-top-left-radius: 30px; transition: translate 1.2s var(--e);}
.page .sg__cn--tl{left: -106px; top: -1px; translate: -20px -20px;}
.page .sg__cn--tr{left: 648px; top: -1px; translate: 20px -20px; transform: scaleX(-1);}
.page .sg__cn--bl{left: -106px; top: 529px; translate: -20px 20px; transform: scaleY(-1);}
.page .sg__cn--br{left: 648px; top: 529px; translate: 20px 20px; transform: rotate(180deg);}
.page .sm.is-scan .sg__cn{translate: 0 0;}
.page .sg .sg__kb--h{left: -66px; top: 317px; translate: 0 10px; opacity: 0; transition: opacity .35s ease, translate .35s ease; border-color: transparent; background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 134 58' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%' width='100%' fill='url(%23grad)' opacity='0.12'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-12.504 5.3104 -5.3827 -12.888 128.03 2.6364)'><stop stop-color='rgba(19,42,48,0.02)' offset='0.24173'/><stop stop-color='rgba(38,111,131,0.51)' offset='0.52471'/><stop stop-color='rgba(47,145,173,0.755)' offset='0.6662'/><stop stop-color='rgba(57,180,215,1)' offset='0.80769'/><stop stop-color='rgba(55,131,202,1)' offset='1'/></radialGradient></defs></svg>"), linear-gradient(rgba(28, 36, 43, .24), rgba(28, 36, 43, .24));}
.page .sm.is-scan .sg__kb--h{translate: 0 0; opacity: 1; transition: opacity .7s ease .8s, translate 1s cubic-bezier(.25, .1, .25, 1) .8s;}
.page .sg__kb--h .sg__kbt b,.page .sg__kb--h .sg__kbt i{opacity: 0; transform: translateY(6px); filter: blur(10px); transition: opacity .3s ease, transform .3s ease, filter .3s ease;}
.page .sm.is-scan .sg__kb--h .sg__kbt b,.page .sm.is-scan .sg__kb--h .sg__kbt i{opacity: 1; transform: none; filter: blur(0); transition: opacity 1.1s cubic-bezier(.25, .1, .25, 1), transform 1.1s cubic-bezier(.25, .1, .25, 1), filter 1.1s cubic-bezier(.25, .1, .25, 1); transition-delay: .8s;}
.page .sg__kb--h::before{content: ''; position: absolute; inset: -1px; box-sizing: border-box; padding: 1px; border-radius: inherit; background: conic-gradient(from var(--sa), #2a4f59, #59a9bf, #2a4f59); animation: sm-stroke 6s linear -3s infinite; pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;}
.page .sg .sg__verb--sim{opacity: 0; transition: opacity .4s ease;}
.page .sm.is-scan .sg .sg__verb--sim{translate: 0 0; opacity: 1; transition: opacity .8s ease .6s;}
.page .sg__row{position: relative; overflow: hidden; transition: border-color .6s ease, color .6s ease;}
.page .sg__row::before{content: ''; position: absolute; inset: 0; pointer-events: none; opacity: 0; transition: opacity .6s ease; background: repeating-linear-gradient(131.3deg, rgba(203, 227, 238, .08) 0, transparent 1.2px, rgba(203, 227, 238, .08) 8.3px);}
.page .sm.is-scan .sg__row--m{border: 1px dashed rgba(203, 227, 238, .12); color: #979ea0;}
.page .sm.is-scan .sg__row--m::before{opacity: 1; transition-delay: .35s;}
.page .sg__ic{transition: opacity .6s ease;}
.page .sm.is-scan .sg__row--m .sg__ic{opacity: .7;}
.page .sg__line--calls{left: 285px; top: 313px; width: 191px; height: 157px;}
.page .sg__line--grounds{left: 21px; top: 98px; width: 240px; height: 150px; transform: scaleX(-1);}
.page .sg__line--invokes{left: 107px; top: 314px; width: 154px; height: 172px; transform: rotate(180deg);}
.page .sg__line--delegates{left: 286.5px; top: 57.5px; width: 189px; height: 192px; transform: rotate(90deg);}
.page .sg__wires{position: absolute; left: 0; top: 0; width: 738px; height: 640px; overflow: visible; pointer-events: none;}
.page .sg__w{fill: none; stroke: none;}
.page .sg__flb{fill: #cbe3ee; fill-opacity: .12; opacity: 0; transition: opacity .3s ease;}
.page .sm.is-scan .sg__flb{opacity: 1; transition: opacity .5s ease .9s;}
.page .sg__fl{fill: #52c1e0; fill-opacity: 0; transition: fill-opacity .35s ease-in-out;}
.page .sg__fl.lit{fill-opacity: .9;}
.page .sg__kb::after,.page .sg__card::after,.page .sg__agent::after{content: ''; position: absolute; inset: 0; box-sizing: border-box; padding: 1px; border-radius: inherit; pointer-events: none; opacity: 0; background: linear-gradient(135deg, rgba(127, 211, 234, .55), rgba(89, 169, 191, .12) 45%, rgba(89, 169, 191, .08) 60%, rgba(127, 211, 234, .4)); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; transition: opacity .6s cubic-bezier(.4, 0, .2, 1);}
.page .sg__kb.glo::after,.page .sg__card.glo::after,.page .sg__agent.glo::after{opacity: 1; transition: opacity .12s ease-out;}
.page .sg__kb,.page .sg__card{position: absolute; box-sizing: border-box; border: 1px solid rgba(203, 227, 238, .08); border-radius: 16px; background: linear-gradient(rgba(203, 227, 238, .03), rgba(203, 227, 238, .03)), rgba(6, 7, 9, .85);    -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: inset 0 0 20px rgba(6, 7, 9, .2);}
.page .sg__kb{left: 0; top: 40px; display: flex; align-items: center; gap: 10px; padding: 9px 19px 9px 9px;}
.page .sg__tile{display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 38px; height: 38px; border: 1px solid rgba(203, 227, 238, .06); border-radius: 10px; background: rgba(203, 227, 238, .04); box-shadow: inset 0 0 20px rgba(6, 7, 9, .1);}
.page .sg__tile img{display: block; width: 14px; height: 14px;}
.page .sg__kbt{display: flex; flex-direction: column; gap: 8px; padding-top: 2px; font-weight: 500; line-height: 1.2; letter-spacing: -.2px; white-space: nowrap;}
.page .sg__kbt b{font-size: 13px; color: #eff0f0; text-box: trim-both cap alphabetic;}
.page .sg__kbt i{font-size: 11px; color: rgba(255, 255, 255, .5); text-box: trim-both cap alphabetic;}
.page .sg__agent{position: absolute; left: 140px; top: 248px; box-sizing: border-box; height: 66px; display: flex; align-items: center; gap: 10px; padding: 12px 28px 12px 12px; border-radius: 100px; background: url("data:image/svg+xml;utf8,<svg viewBox='0 0 266.99 66' xmlns='http://www.w3.org/2000/svg' preserveAspectRatio='none'><rect x='0' y='0' height='100%' width='100%' fill='url(%23grad)' opacity='0.12'/><defs><radialGradient id='grad' gradientUnits='userSpaceOnUse' cx='0' cy='0' r='10' gradientTransform='matrix(-24.913 6.0429 -10.725 -14.666 255.09 3)'><stop stop-color='rgba(19,42,48,0.02)' offset='0.24173'/><stop stop-color='rgba(38,111,131,0.51)' offset='0.52471'/><stop stop-color='rgba(47,145,173,0.755)' offset='0.6662'/><stop stop-color='rgba(57,180,215,1)' offset='0.80769'/><stop stop-color='rgba(55,131,202,1)' offset='1'/></radialGradient></defs></svg>"), linear-gradient(rgba(28, 36, 43, .24), rgba(28, 36, 43, .24)), rgba(6, 7, 9, .85); -webkit-backdrop-filter: blur(4.5px); backdrop-filter: blur(4.5px); box-shadow: inset 0 0 4px rgba(160, 170, 192, .25);}
.page .sg__agent::before{content: ''; position: absolute; inset: 0; box-sizing: border-box; padding: 1px; border-radius: inherit; background: conic-gradient(from var(--sa), #2a4f59, #59a9bf, #2a4f59); animation: sm-stroke 6s linear infinite; pointer-events: none; -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude;}
@property --sa{syntax: '<angle>'; inherits: false; initial-value: 270deg;}
@keyframes sm-stroke{to { --sa: 630deg; }}
.page .sg__mark{flex: none; display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: #59a9bf;}
.page .sg__mark img{display: block; width: 21.01px; height: 19.56px;}
.page .sg__kbt b,.page .sg__at b{font-weight: 500;}
.page .sg__at{flex: none; width: 174.99px; display: flex; flex-direction: column; gap: 10px; font-weight: 500; line-height: 1.2; letter-spacing: -.2px; white-space: nowrap;}
.page .sg__at b{font-size: 15px; color: #eff0f0; text-box: trim-both cap alphabetic;}
.page .sg__at i{font-size: 13px; color: rgba(255, 255, 255, .5); text-box: trim-both cap alphabetic;}
.page .sg__card{width: 230px; padding: 11px; display: flex; flex-direction: column; gap: 10px;}
.page .sg__card--skill{left: 0; top: 486px;}
.page .sg__card--tools{left: 476px; top: 340px;}
.page .sg__card--sub{left: 476px; top: 40px;}
.page .sg__cap{display: flex; align-items: center; justify-content: space-between; height: 18px;}
.page .sg__cap p{display: flex; align-items: center; gap: 6px; height: 16px; font: 500 11px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: #cbcdcd; white-space: nowrap;}
.page .sg__cap i{font-weight: 400; color: rgba(255, 255, 255, .5);}
.page .sg__cap img{display: block; width: 18px; height: 18px;}
.page .sg__rows{display: flex; flex-direction: column; gap: 6px;}
.page .sg__row{box-sizing: border-box; height: 38px; display: flex; align-items: center; gap: 8px; padding: 0 11px; border: 1px solid rgba(203, 227, 238, .06); border-radius: 10px; background: rgba(203, 227, 238, .04); box-shadow: inset 0 0 20px rgba(6, 7, 9, .1); font-weight: 500; font-size: 12px; line-height: 1.2; color: #cbcdcd; white-space: nowrap;}
.page .sg__row span{text-box: trim-both cap alphabetic;}
.page .sg__ic{flex: none; display: block; width: 14px; height: 14px;}
.page .sg__ic--bot{width: 13.26px; margin: 0 .37px;}
.page .sg__ic--gear{width: 13.62px; height: 13.62px; margin: .19px;}
.page .sg__verb{position: absolute; transform: translate(-50%, -50%); box-sizing: border-box; padding: 4px 8px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 100px; background: linear-gradient(rgba(203, 227, 238, .03), rgba(203, 227, 238, .03)), rgba(6, 7, 9, .85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font: 500 10px/1 'IBM Plex Mono', ui-monospace, monospace; letter-spacing: .3px; text-transform: uppercase; color: rgba(255, 255, 255, .5); white-space: nowrap;}
.page .sm__code{position: absolute; right: var(--gut); bottom: 32px; z-index: 2; transition: bottom 1.1s var(--e); box-sizing: border-box; width: 332px; display: flex; flex-direction: column; gap: 10px; padding: 11px; border: 1px solid rgba(203, 227, 238, .08); border-radius: 16px; background: linear-gradient(rgba(203, 227, 238, .08), rgba(203, 227, 238, .08)), linear-gradient(rgba(17, 18, 19, .6), rgba(17, 18, 19, .6)), rgba(6, 7, 9, .85); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);}
.page .sm__codetop{box-sizing: border-box; height: 22px; display: flex; justify-content: space-between; padding: 6px 0; font-weight: 500; font-size: 14px; line-height: 1.2; letter-spacing: -.2px; color: #eff0f0; white-space: nowrap;}
.page .sm__codetop p{display: flex; align-items: center; gap: 6px; margin: 0;}
.page .sm__codetop span{opacity: .89; text-box: trim-both cap alphabetic;}
.page .sm__codetop img{display: block; width: 3px; height: 3px;}
.page .sm__codetop .sm__ready{gap: 4px; color: #59a9bf; transition: color .4s ease;}
.page .sm__ready i{flex: none; width: 4px; height: 4px; border-radius: 50%; background: currentColor;}
.page .sm__code[data-status='ready'] .sm__ready i{animation: sm-ready 2.2s ease-in-out infinite;}
.page .sm__code[data-status='running'] .sm__ready span{padding-bottom: 4px; margin-bottom: -4px; background: linear-gradient(90deg, #59a9bf 30%, #b4e2ee 50%, #59a9bf 70%) 0 0 / 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: sm-shimmer 1.8s linear infinite;}
.page .sm__code[data-status='closed'] .sm__ready{color: #979ea0;}
.page .sm__code[data-status='closed'] .sm__ready i{display: none;}
@keyframes sm-ready{0%, 100% { opacity: 1; } 50% { opacity: .25; }}
@keyframes sm-shimmer{from { background-position: 100% 0; } to { background-position: -100% 0; }}
.page .sm.is-scan .sm__code{bottom: 81px;}
.page .sm.is-s5 .sm__code{bottom: 32px;}
.page .sm__prompt{box-sizing: border-box; height: 40px; overflow: hidden; padding: 11px 10px; transition: height .35s ease-out; border: 1px solid rgba(203, 227, 238, .08); border-radius: 10px; background: rgba(203, 227, 238, .04);}
.page .sm__pbody{display: flex; flex-direction: column; gap: 6px;}
.page .sm__c2:empty,.page .sm__c4:empty{display: none;}
.page .sm__cmd{display: flex; align-items: center; gap: 8px; min-height: 16px; transition: gap .4s ease;}
.page .sm.is-scan .sm__cmd{gap: 6px; min-height: 17px;}
.page .sm__c1{font: 400 12px/17px 'IBM Plex Mono', ui-monospace, monospace; color: #59a9bf; white-space: nowrap;}
.page .sm__c1:empty{display: none;}
.page .sm.is-s2 .sm__c1{color: #979ea0;}
.page .sm.is-s2 .sm__cmd:first-child .sm__pi{background: #686d6e;}
.page .sm.is-s2 .sm__c2{display: none;}
.page .sm__next{display: none; flex-direction: column; gap: 4px;}
.page .sm.is-s2 .sm__next{display: flex;}
.page .sm.is-s2 .sm__next--3,.page .sm.is-s2 .sm__next--4{display: none;}
.page .sm.is-s3 .sm__next--3,.page .sm.is-s4 .sm__next--4{display: flex;}
.page .sm.is-s5 .sm__pbody > :not(.sm__c9){display: none;}
.page .sm__c9{margin: 0; font: 400 12px/17px 'IBM Plex Mono', ui-monospace, monospace; color: rgba(255, 255, 255, .5); white-space: pre-wrap;}
.page .sm__c9:empty{display: none;}
.page .sm.is-s4 .sm__next--3 .sm__c3{color: #979ea0;}
.page .sm.is-s4 .sm__next--3 .sm__pi--on{background: #686d6e;}
.page .sm.is-s4 .sm__next--3 .sm__c4{display: none;}
.page .sm.is-s3 .sm__next:not(.sm__next--3):not(.sm__next--4) .sm__c3{color: #979ea0;}
.page .sm.is-s3 .sm__next:not(.sm__next--3):not(.sm__next--4) .sm__pi--on{background: #686d6e;}
.page .sm.is-s3 .sm__next:not(.sm__next--3):not(.sm__next--4) .sm__c4{display: none;}
.page .sm__pi--on,.page .sm.is-s2 .sm__pi--on{background: #fff;}
.page .sm__c3{font: 400 12px/17px 'IBM Plex Mono', ui-monospace, monospace; color: #55bbd8; white-space: nowrap;}
.page .sm__c3:empty{display: none;}
.page .sm__c4{margin: 0; font: 400 12px/17px 'IBM Plex Mono', ui-monospace, monospace; color: #989a9c;}
.page .sm__c2{margin: 0; font: 400 12px/16px 'IBM Plex Mono', ui-monospace, monospace; color: rgba(255, 255, 255, .5); white-space: pre-wrap;}
.page .sm__pi{flex: none; transition: background-color .6s ease; display: flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 6px; background: #cbcdcd;}
.page .sm.is-scan .sm__pi{background: #fff;}
.page .sm__pi img{display: block; width: 8px; height: 6px;}
.page .sm__caret{display: inline-block; flex: none; width: 2px; height: 12px; vertical-align: -2px; margin-left: 1px; background: #cbcdcd; animation: sm-caret 1.06s step-end infinite;}
@keyframes sm-caret{50% { opacity: 0; }}
.page .sm__h .w{display: inline-block; white-space: nowrap; opacity: 0; transform: translateY(14px); filter: blur(10px); animation: sm-wd 1.1s cubic-bezier(.25, .1, .25, 1) forwards; animation-delay: calc(.1s + var(--i) * .09s);}
@keyframes sm-wd{to { opacity: 1; transform: none; filter: blur(0); }}
.page .sm .rv:not(.in){opacity: 0; translate: 0 24px;}
.page .sm .rv.in{animation: sm-up 1s cubic-bezier(.25, .1, .25, 1) backwards; animation-delay: var(--d, 0s);}
@keyframes sm-up{from { opacity: 0; translate: 0 24px; }}
@media (prefers-reduced-motion: reduce){.page .sm__caret,.page .sm__code .sm__ready i,.page .sm__code .sm__ready span,.page .sg__agent::before,.page .sg__kb--h::before,.page .rn__find::before,.page .cg__lit{animation: none;}.page .rn__orb{display: none;}.page .sm__link,.page .sm__orb{display: none;}.page .sm *,.page .sm{transition: none !important;}.page .sm__txt2.is-on .sm__h2 .w{transition-delay: 0s;}.page .sm__h .w{opacity: 1; transform: none; filter: none; animation: none;}.page .sm .rv:not(.in){opacity: 1; translate: none;}.page .sm .rv.in{animation: none;}}
@media (max-width: 1023px){.page .sm-pin{height: auto;}.page .sm{position: relative; zoom: 1; height: auto; min-height: 100vh; box-sizing: border-box; padding: 150px var(--gut) 60px; display: flex; flex-direction: column; align-items: flex-start; gap: 40px;}.page .sm__txt,.page .sg,.page .sm__code{position: relative; left: auto; right: auto; top: auto; bottom: auto;}.page .sm__txt{max-width: 100%; transform: none;}.page .sg{align-self: center;}.page .sm__code{align-self: flex-end; max-width: 100%;}.page .sm__txt2,.page .sm__bar,.page .cg,.page .rn,.page .fx,.page .sm__loop,.page .sm__tag{display: none;}}
@media (max-width: 800px){.page .sg{zoom: .46;}.page .sm__h{font-size: 40px; letter-spacing: -1.2px;}}
/* Mobile adaptation (not in the mockup): Solution illustrations scale to the card width; final section stacks */
@media (max-width:1023px){.page .ss__f .ss__art{flex:none;width:680px;height:440px;transform:scale(var(--az,1))!important;transform-origin:0 0;transition:none;border-radius:calc(32px / var(--az,1));margin:0 calc(680px * (var(--az,1) - 1)) calc(440px * (var(--az,1) - 1)) 0}.page .ss__f .ss__art .ss__g{width:680px;height:440px}.page .ss__f .ss__art .ss__gc{font-size:calc(12px / var(--az,1));max-width:616px}.page .ss__f .ss__art .ss__gc{white-space:normal}.page .ss__f:not(.is-0):not(.is-past) .ss__art :is(.ss__g,.ss__gt,.ss__gc,.cg__d,.sb,.tp,.fp){opacity:1}.page .tl{height:auto;min-height:500px;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:48px}.page .wb--sim .tl__intro{width:100%}.page .tl__h{font-size:80px;letter-spacing:-2.4px}}
@media (max-width:700px){.page .ss__f .ss__art{height:540px;margin-bottom:calc(540px * (var(--az,1) - 1))}.page .tl{min-height:0;padding:56px var(--gut) 64px;gap:40px}.page .tl__intro{gap:32px}.page .tl__main{gap:28px}.page .tl__h{font-size:48px;letter-spacing:-1.6px}.page .tl__p{font-size:16px}.page .tl__btn{height:56px;padding:0 32px;font-size:16px}}
