html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.w-nav-overlay{visibility:hidden}.ap-hero-meta{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;opacity:0;transform:translateY(1rem);font-family:Neuemontreal,sans-serif}.ap-hero-meta span{font-size:.8125rem;letter-spacing:.02em;color:#fff9;font-family:Neuemontreal,sans-serif}.ap-hero-meta span.ap-tag{color:#ffffffd9;border:1px solid rgba(255,255,255,.25);padding:.4rem .875rem;border-radius:1.5rem}.ap-breadcrumb{display:flex;align-items:center;gap:.75rem;list-style:none;margin:0;padding:0}.ap-breadcrumb li{display:flex;align-items:center;font-size:.8125rem;letter-spacing:.02em;color:#ffffff80;font-family:Neuemontreal,sans-serif}.ap-breadcrumb li:not(:last-child):after{content:"/";color:#ffffff40}.ap-breadcrumb a{color:#ffffff80;text-decoration:none;transition:color .2s ease}.ap-breadcrumb a:hover{color:#ffffffd9}.ap-breadcrumb li.ap-tag{color:#ffffffd9;border:1px solid rgba(255,255,255,.25);padding:.4rem .875rem;border-radius:1.5rem}.ap-hero h1{font-size:clamp(2.25rem,4.5vw,4.5rem);font-weight:400;line-height:1.05;color:#fff;margin:0 0 1.5rem;font-family:Neuemontreal,sans-serif;max-width:28ch}.ap-hero .heading_line{overflow:hidden}.ap-hero-subtitle{font-size:1.125rem;color:#ffffff73;font-family:Neuemontreal,sans-serif;font-weight:400;margin:0;opacity:0;transform:translateY(1rem);max-width:50ch}.ap-body{background:#fff;padding-top:0;padding-bottom:10rem}.ap-body-inner{max-width:90rem;margin:0 auto;padding:7rem 4.75rem 0;display:grid;grid-template-columns:14rem 1fr 14rem;column-gap:4rem}.ap-sidebar-left{grid-column:1;position:sticky;top:6rem;align-self:start}.ap-sidebar-left-label{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:#aaa;margin-bottom:.75rem;font-family:Neuemontreal,sans-serif}.ap-sidebar-left a{display:block;font-size:.875rem;color:#000;text-decoration:none;line-height:1.6;margin-bottom:.25rem;opacity:.5;transition:opacity .2s;font-family:Neuemontreal,sans-serif}.ap-sidebar-left a:hover{opacity:1}.ap-section-link{display:block;font-size:.8125rem;color:#666;text-decoration:none;line-height:1.5;margin-bottom:.375rem;opacity:.6;transition:opacity .2s,color .2s;font-family:Neuemontreal,sans-serif;padding-left:.5rem;border-left:2px solid transparent}.ap-section-link:hover{opacity:1;color:#000;border-left-color:#000}.ap-section-link.is-active{opacity:1;color:#c924d7;border-left-color:transparent;background:linear-gradient(90deg,#f0060d,#c924d7,#7904fd);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;border-left:2px solid #c924d7}.ap-sidebar-right{grid-column:3;position:sticky;top:6rem;align-self:start}.ap-sidebar-share-label{font-size:.625rem;letter-spacing:.3em;text-transform:uppercase;color:#aaa;margin-bottom:.875rem;font-family:Neuemontreal,sans-serif;display:block}.ap-share-links{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.ap-share-links .text-button{display:flex!important;align-items:center;width:100%}.ap-content{grid-column:2;min-width:0}.ap-lead{font-size:1.25rem;line-height:1.75;color:#111;margin:0 0 2rem;font-family:Neuemontreal,sans-serif;font-weight:400}.ap-p{font-size:1rem;line-height:1.85;color:#3a3a3a;margin:0 0 1.5rem;font-family:Neuemontreal,sans-serif}.ap-h2{font-size:1.75rem;font-weight:400;color:#000;margin:4rem 0 1.25rem;font-family:Neuemontreal,sans-serif;line-height:1.2}.ap-h3{font-size:1.125rem;font-weight:500;color:#000;margin:2.5rem 0 .875rem;font-family:Neuemontreal,sans-serif;letter-spacing:.01em}.ap-callout{border-left:2px solid;border-image:linear-gradient(180deg,#f0060d,#c924d7,#7904fd) 1;margin:3rem 0;padding:.25rem 0 .25rem 2rem;font-size:1.125rem;line-height:1.6;color:#111;font-family:Neuemontreal,sans-serif;font-style:normal;font-weight:400}.ap-code-wrap{margin:1.75rem 0;border-radius:.75rem;overflow:hidden;border:1px solid #1e1e2e}.ap-code-bar{background:#161625;padding:.6rem 1.25rem;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06)}.ap-code-lang{font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#ffffff4d;font-family:monospace}.ap-code-wrap pre{margin:0;padding:1.5rem 1.25rem;overflow-x:auto;background:#1a1a2e!important;font-size:.8125rem;line-height:1.75}.ap-code-wrap pre code{font-family:JetBrains Mono,Fira Code,monospace;background:transparent!important;padding:0!important}.hljs{background:#1a1a2e;color:#adbac7}.ap-list{list-style:none;margin:2rem 0;padding:0;display:flex;flex-direction:column}.ap-list-item{padding:1.25rem 0;border-bottom:1px solid #f0f0f0;font-size:1rem;line-height:1.7;color:#3a3a3a;font-family:Neuemontreal,sans-serif}.ap-list-item:first-child{border-top:1px solid #f0f0f0}.ap-list-label{font-weight:500;color:#000;display:block;margin-bottom:.2rem;font-size:.9375rem}.ap-animate{opacity:0;transform:translate3d(0,1.5rem,0);transition:opacity .7s cubic-bezier(.215,.61,.355,1),transform .7s cubic-bezier(.215,.61,.355,1)}.ap-animate.ap-visible{opacity:1;transform:translateZ(0)}@media screen and (max-width: 1200px){.ap-body-inner{grid-template-columns:0 1fr 0;column-gap:0}.ap-sidebar-left,.ap-sidebar-right{display:none}.ap-content{grid-column:2}}@media screen and (max-width: 991px){.ap-body-inner{padding-left:3rem;padding-right:3rem}}@media screen and (max-width: 767px){.ap-body-inner{padding-left:2.25rem;padding-right:2.25rem}}@media screen and (max-width: 380px){.ap-body-inner{padding-left:1.5rem;padding-right:1.5rem}}@media screen and (max-width: 320px){.ap-body-inner{padding-left:1rem;padding-right:1rem}}@media screen and (max-width: 767px){.ap-body-inner{padding-left:2.25rem;padding-right:2.25rem}.ap-body{padding-bottom:6rem}.ap-h2{font-size:1.5rem}}@media screen and (max-width: 479px){.ap-body-inner{padding-left:1rem;padding-right:1rem}}@media screen and (min-width: 1600px) and (max-width: 1920px){.ap-hero h1{font-size:clamp(2rem,3vw,3.5rem)}.ap-body-inner{padding:5rem 5rem 0}}@media screen and (min-width: 1024px) and (max-width: 1599px){.ap-hero h1{font-size:clamp(1.75rem,2.5vw,2.75rem)}.ap-body-inner{padding:4rem 4.75rem 0;column-gap:3rem}.ap-lead{font-size:1.125rem}}@media screen and (min-width: 1024px) and (max-width: 1200px){.ap-body-inner{column-gap:0}}@media screen and (max-width: 1023px){.ap-body-inner{padding-top:2rem}}@media screen and (max-width: 480px){.ap-body-inner{padding-top:1.5rem}}
