.magnetic{display:inline-block;transition:transform .7s var(--ease-out);will-change:transform}.btn{position:relative;display:inline-flex;align-items:center;gap:.9rem;isolation:isolate;overflow:hidden;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;line-height:1;padding:1.15rem 1.5rem 1.15rem 1.7rem;border-radius:999px;white-space:nowrap;transition:color .5s var(--ease-out),border-color .5s var(--ease-out)}.btn__label{position:relative;z-index:1}.btn__fill{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;border-radius:inherit;transform:translate3d(0,101%,0);transition:transform .6s var(--ease-out)}.btn:hover .btn__fill,.btn:focus-visible .btn__fill{transform:none}.btn__icon{position:relative;z-index:1;width:14px;height:14px;overflow:hidden}.btn__icon .arrow{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform .6s var(--ease-out)}.btn__icon .arrow:last-child{transform:translate(-130%,130%)}.btn:hover .btn__icon .arrow:first-child{transform:translate(130%,-130%)}.btn:hover .btn__icon .arrow:last-child{transform:none}.btn--solid{background:var(--accent);color:var(--accent-ink)}.btn--solid .btn__fill{background:var(--ink)}.btn--solid:hover{color:var(--bg)}.btn--ghost{color:var(--ink);border:1px solid var(--line-2)}.btn--ghost .btn__fill{background:var(--ink)}.btn--ghost:hover{color:var(--bg);border-color:var(--ink)}.btn--link{padding:.4rem 0;border-radius:0;overflow:visible;color:var(--ink)}.btn--link .btn__fill{inset:auto 0 0 0;height:1px;background:currentColor;transform:scaleX(.35);transform-origin:0 50%;border-radius:0}.btn--link:hover .btn__fill{transform:scaleX(1)}.btn--link:hover{color:var(--accent)}.btn[disabled]{opacity:.5;pointer-events:none}.nav{position:fixed;inset:0 0 auto 0;z-index:100;padding-block:1.1rem}.nav:before{content:"";position:absolute;top:0;right:0;bottom:-2.5rem;left:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 75%,transparent) 55%,transparent 100%);opacity:0;transition:opacity .6s var(--ease-out)}.nav.is-scrolled:before{opacity:1}.nav.is-open:before{opacity:0}.nav__inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{--p: 0;position:relative;z-index:2;display:inline-flex;align-items:center;height:44px;color:var(--ink)}.brand__chev{position:relative;width:44px;height:44px;flex:none}.brand__chev svg{width:100%;height:100%;overflow:visible}.brand__track,.brand__ring{fill:none;stroke-width:1.2;transition:opacity .6s var(--ease-out);opacity:0}.brand__track{stroke:var(--line-2)}.brand__ring{stroke:var(--accent);stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:calc(1 - var(--p));transform:rotate(-90deg);transform-origin:22px 22px}.brand__arrow{fill:none;stroke:var(--accent);stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round;transform-origin:22px 22px;transition:stroke-width .6s var(--ease-out),transform .6s var(--ease-out)}.brand__word{display:inline-flex;overflow:hidden;margin-left:-13px;font-family:var(--f-sans);font-weight:500;font-size:2rem;letter-spacing:.01em;line-height:1;max-width:6ch;padding-bottom:.12em;transition:max-width .7s var(--ease-in-out),margin-left .7s var(--ease-in-out)}.brand__word span{display:inline-block;transition:transform .6s var(--ease-out),opacity .4s;transition-delay:calc(var(--i) * .04s)}.brand.is-compass .brand__word{max-width:0;margin-left:0}.brand.is-compass .brand__word span{transform:translateY(-110%);opacity:0;transition-delay:calc((4 - var(--i)) * 35ms)}.brand.is-compass .brand__track,.brand.is-compass .brand__ring{opacity:1}.brand.is-compass .brand__arrow{stroke-width:2.6;transform:scale(.62) rotate(calc(var(--p) * 90deg));transition:stroke-width .6s var(--ease-out),transform .15s linear}.brand.is-compass:hover .brand__arrow{transform:scale(.62) rotate(90deg) translate(-2px);transition-duration:.5s}.nav__ctx{flex:1;min-width:0;margin-left:.4rem;height:1.3em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--ink-2);opacity:0;transition:opacity .5s var(--ease-out);pointer-events:none}.nav.is-scrolled .nav__ctx{opacity:1}.nav__ctx-t{display:inline-block;animation:ctxIn .7s var(--ease-out) both}.nav__ctx-t:before{content:"";display:inline-block;width:6px;height:6px;margin-right:.6rem;border-radius:50%;background:var(--accent);vertical-align:.1em;box-shadow:0 0 0 3px var(--accent-soft)}@keyframes ctxIn{0%{transform:translateY(110%);opacity:0}}.nav__links{display:flex;align-items:center;gap:.25rem;transition:opacity .5s var(--ease-out)}.nav__link{position:relative;display:inline-flex;align-items:center;gap:.4rem;padding:.55rem .8rem;font-size:.95rem;color:var(--ink-2);transition:color .3s}.nav__link.is-active{color:var(--ink)}.nav__link.is-active:before{content:"";position:absolute;left:50%;bottom:.15rem;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--accent)}.roll{display:inline-flex}.roll__c{display:inline-block;overflow:hidden;height:1.25em;line-height:1.25;vertical-align:top}.roll__in{position:relative;display:block;transition:transform .5s var(--ease-out);transition-delay:calc(var(--i) * 22ms)}.roll__in:after{content:attr(data-c);position:absolute;left:0;top:100%;color:var(--accent)}.nav__link:hover .roll__in,.nav__link:focus-visible .roll__in{transform:translateY(-100%)}.nav__link svg{transition:transform .4s var(--ease-out)}.nav__dd.is-open .nav__link svg{transform:rotate(180deg)}@media (max-width: 1100px){.nav__ctx{display:none}}.nav__dd{position:relative}.nav__menu{position:absolute;top:100%;left:-.4rem;min-width:250px;padding:.5rem;margin-top:.4rem;background:var(--bg-2);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .35s var(--ease-out),transform .45s var(--ease-out),visibility .35s}.nav__menu:before{content:"";position:absolute;inset:-.8rem 0 auto;height:.8rem}.nav__dd.is-open .nav__menu{opacity:1;visibility:visible;transform:none}.nav__menu-item{display:flex;gap:.9rem;align-items:baseline;padding:.75rem .85rem;border-radius:9px;color:var(--ink-2);transition:background-color .3s,color .3s,padding .4s var(--ease-out)}.nav__menu-item:hover{background:var(--accent-soft);color:var(--ink);padding-left:1.1rem}.nav__menu-item.active{color:var(--accent)}.nav__actions{display:flex;align-items:center;gap:.9rem;position:relative;z-index:2}.nav__cta{display:inline-block;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:.8rem 1.15rem;border-radius:999px;border:1px solid var(--line-2);transition:background-color .4s,color .4s,border-color .4s}.nav__cta:hover{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.nav__burger{display:none;width:44px;height:44px;position:relative}.nav__burger span{position:absolute;left:11px;right:11px;height:1.5px;background:var(--ink);transition:transform .6s var(--ease-out),top .6s var(--ease-out)}.nav__burger span:first-child{top:17px}.nav__burger span:last-child{top:26px}.nav.is-open .nav__burger span:first-child{top:21.5px;transform:rotate(45deg)}.nav.is-open .nav__burger span:last-child{top:21.5px;transform:rotate(-45deg)}.mmenu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;background:var(--bg);clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease-in-out);overflow-y:auto}.mmenu.is-open{clip-path:inset(0 0 0 0)}.mmenu__inner{min-height:100%;display:flex;flex-direction:column;justify-content:space-between;padding-top:6.5rem;padding-bottom:2rem}.mmenu__list{list-style:none;padding:0;margin:0}.mmenu__list li{border-bottom:1px solid var(--line);opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out),transform .8s var(--ease-out)}.mmenu.is-open .mmenu__list li{opacity:1;transform:none;transition-delay:calc(.25s + var(--i) * .06s)}.mmenu__link{display:flex;align-items:baseline;gap:1rem;padding:.9rem 0;font-size:clamp(2.2rem,9vw,3.4rem);letter-spacing:-.01em;line-height:1;font-weight:380}.mmenu__link.active{font-family:var(--f-serif);font-style:normal;color:var(--accent);letter-spacing:-.01em}.mmenu__n{color:var(--ink-3);font-size:.7rem}.mmenu__sub{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem;padding:0 0 1rem 2.4rem}.mmenu__sublink{color:var(--ink-2);font-size:.95rem}.mmenu__sublink.active{color:var(--accent)}.mmenu__foot{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;color:var(--ink-2)}@media (max-width: 960px){.nav__links,.nav__cta-wrap{display:none}.nav__burger{display:block}}.footer{position:relative;overflow:hidden;background:var(--bg-2);border-top:1px solid var(--line);padding-top:var(--section)}.footer__cta{display:grid;grid-template-columns:1.6fr 1fr;gap:var(--gutter);align-items:end;padding-bottom:clamp(3rem,8vw,7rem);border-bottom:1px solid var(--line)}.footer__title{font-size:var(--t-3xl);font-weight:380;letter-spacing:-.01em;line-height:.95}.footer__cta-side{display:grid;gap:1.6rem;justify-items:start}.footer__cta-side p{max-width:32ch}.footer__cols{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gutter);padding-block:clamp(2.5rem,5vw,4rem)}.footer__cols>div{display:grid;align-content:start;gap:.5rem}.footer__cols .label{margin-bottom:.6rem}.footer__link{color:var(--ink-2);width:fit-content;transition:color .3s,transform .4s var(--ease-out)}.footer__link:hover{color:var(--accent);transform:translate(4px)}.footer__base{position:relative;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.4rem;border-top:1px solid var(--line);margin-top:0;flex-wrap:wrap}.footer__logo{height:24px;width:auto}.footer__legal{display:flex;gap:1.4rem;font-size:.9rem;color:var(--ink-2)}.footer__legal a:hover{color:var(--accent)}@media (max-width: 860px){.footer__cta{grid-template-columns:1fr}.footer__cols{grid-template-columns:1fr 1fr}.footer__base{flex-direction:column;text-align:center}}.wa{position:fixed;z-index:80;right:max(var(--gutter),env(safe-area-inset-right));bottom:max(var(--gutter),calc(env(safe-area-inset-bottom) + .75rem))}.menu-open .wa{opacity:0;pointer-events:none}.wa__bubble{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);box-shadow:0 10px 40px -8px var(--glow);animation:waIn .8s var(--ease-out) both;transition:transform .5s var(--ease-out)}.wa__bubble:hover{transform:scale(1.08) rotate(-6deg)}.wa__bubble:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;border:1px solid var(--accent);animation:waPing 2.6s var(--ease-out) infinite}.wa__box{width:min(330px,calc(100vw - 2 * var(--gutter)));padding:1.3rem;border-radius:var(--radius-lg);background:var(--bg-2);border:1px solid var(--line);box-shadow:var(--shadow);animation:waIn .6s var(--ease-out) both}.wa__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.8rem}.wa__title{font-size:1.05rem;font-weight:500;display:flex;align-items:center;gap:.55rem}.wa__dot{width:8px;height:8px;border-radius:50%;background:#25d366;box-shadow:0 0 0 4px #25d3662e}.wa__close{color:var(--ink-2);padding:.3rem}.wa__close:hover{color:var(--ink)}.wa__msg{color:var(--ink-2);font-size:.95rem;margin-bottom:1.1rem}.wa__start{width:100%;display:flex;justify-content:center;align-items:center;gap:.6rem;padding:.9rem;border-radius:999px;background:#25d366;color:#04210f;font-weight:500;transition:filter .3s}.wa__start:hover{filter:brightness(1.08)}@keyframes waIn{0%{opacity:0;transform:translateY(16px) scale(.92)}}@keyframes waPing{0%{transform:scale(1);opacity:.7}to{transform:scale(1.6);opacity:0}}.eyebrow-row{display:flex;align-items:center;gap:.9rem;color:var(--ink-2)}.eyebrow-n{font-family:var(--f-serif);font-style:normal;font-size:1.1rem;color:var(--accent);letter-spacing:0}.eyebrow-line{width:clamp(2rem,5vw,4.5rem);height:1px;background:var(--line-2)}.marquee{overflow:hidden;border-block:1px solid var(--line);padding-block:clamp(.8rem,1.4vw,1.2rem);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;width:max-content;animation:marquee var(--speed) linear infinite}.marquee--rev .marquee__track{animation-direction:reverse}.marquee:hover .marquee__track{animation-play-state:paused}.marquee__row{display:flex;flex-shrink:0}.marquee__item{display:inline-flex;align-items:center;gap:clamp(1rem,2vw,2rem);padding-right:clamp(1rem,2vw,2rem);font-size:clamp(1.15rem,.9rem + 1vw,1.75rem);font-weight:350;letter-spacing:-.01em;line-height:1;white-space:nowrap}.marquee__item:nth-child(2n){font-family:var(--f-serif);font-style:normal;letter-spacing:-.01em;color:var(--ink-2)}.marquee__mark{color:var(--accent);width:.55em;height:.55em}@keyframes marquee{to{transform:translate3d(-50%,0,0)}}.tilt{--rx: 0deg;--ry: 0deg;--gx: 50%;--gy: 50%;position:relative;transform:perspective(1100px) rotateX(var(--rx)) rotateY(var(--ry));transition:transform .8s var(--ease-out);transform-style:preserve-3d;will-change:transform}.tilt.is-tilting{transition:transform .15s linear}.tilt__glare{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(circle at var(--gx) var(--gy),rgba(255,255,255,.18),transparent 45%);opacity:0;transition:opacity .5s var(--ease-out);mix-blend-mode:soft-light}.tilt.is-tilting .tilt__glare{opacity:1}.index-item{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;padding-block:1.6rem;border-top:1px solid var(--line)}.index-item__n{color:var(--accent);padding-top:.35rem}.index-item__t{font-size:var(--t-lg);font-weight:450;letter-spacing:-.015em;line-height:1.25}.index-item__b{margin-top:.5rem;max-width:56ch}.grain{position:fixed;top:-10%;right:-10%;bottom:-10%;left:-10%;z-index:90;pointer-events:none;width:120%;height:120%;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 0 0.5 0 0 0 1 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 1s steps(6) infinite}:root[data-theme=light] .grain{opacity:.11;mix-blend-mode:multiply}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(4%,3%)}to{transform:translate(0)}}.has-cursor,.has-cursor *{cursor:none!important}.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;z-index:9999;pointer-events:none;will-change:transform}.cursor-dot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--accent)}.cursor-ring{width:38px;height:38px;margin:-19px 0 0 -19px;border-radius:50%;border:1px solid var(--line-2);display:grid;place-items:center;transition:width .5s var(--ease-out),height .5s var(--ease-out),margin .5s var(--ease-out),background-color .4s var(--ease-out),border-color .4s var(--ease-out),opacity .3s}.cursor-ring.is-hover{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:var(--accent);background:var(--accent-soft)}.cursor-ring.is-text{width:4px;height:30px;margin:-15px 0 0 -2px;border-radius:2px;background:var(--accent);border-color:transparent}.cursor-ring.is-down{width:30px;height:30px;margin:-15px 0 0 -15px}.cursor-ring.has-label{width:96px;height:96px;margin:-48px 0 0 -48px;background:var(--accent);border-color:var(--accent)}.cursor-label{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent-ink);opacity:0;transition:opacity .3s}.cursor-ring.has-label .cursor-label{opacity:1}.cursor-hidden .cursor-dot,.cursor-hidden .cursor-ring{opacity:0}.curtain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.curtain__a,.curtain__b{position:absolute;top:0;right:0;bottom:0;left:0}.curtain__a{background:var(--accent);animation:curtainUp 1s var(--ease-in-out) forwards}.curtain__b{background:var(--bg-2);display:grid;place-items:center;color:var(--accent);animation:curtainUp 1s var(--ease-in-out) .12s forwards}.curtain__b svg{animation:curtainMark .7s var(--ease-out) both}@keyframes curtainUp{0%{transform:translateZ(0)}35%{transform:translateZ(0)}to{transform:translate3d(0,-100%,0)}}@keyframes curtainMark{0%{opacity:0;transform:translate(14px)}}.preloader{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none;display:grid;place-items:center;background:var(--bg);animation:preOut .45s var(--ease-in-out) .85s forwards}.preloader__chev{position:relative;width:clamp(30px,4vw,46px);aspect-ratio:40 / 60}.preloader__chev svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.preloader__chev path{stroke:var(--accent);stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.preloader__main{animation:preIn .25s ease-out both,preNudge .5s var(--ease-out) .75s both}.preloader__echo{opacity:0;animation:preEcho .75s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(.2s + (3 - var(--n)) * .09s)}@keyframes preIn{0%{opacity:0}}@keyframes preEcho{0%{opacity:0;transform:translate(0)}25%{opacity:calc(.75 - var(--n) * .15)}to{opacity:0;transform:translate(calc(var(--n) * -70%))}}@keyframes preNudge{0%,to{transform:translate(0)}40%{transform:translate(-22%)}}@keyframes preOut{to{opacity:0}}.dev-browser{border-radius:14px;overflow:hidden;background:color-mix(in srgb,var(--bg-3) 85%,transparent);border:1px solid var(--line-2);box-shadow:var(--shadow),0 0 0 1px #ffffff05 inset;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dev-browser__bar{display:flex;align-items:center;gap:1rem;padding:.7rem .9rem;border-bottom:1px solid var(--line)}.dev-dots{display:flex;gap:6px}.dev-dots i{width:9px;height:9px;border-radius:50%;background:var(--line-2)}.dev-dots i:first-child{background:var(--accent)}.dev-browser__url{flex:1;text-align:center;font-size:.66rem;color:var(--ink-3);text-transform:none;letter-spacing:.02em;padding:.3rem .8rem;border-radius:999px;background:var(--card);max-width:260px;margin-inline:auto}.dev-browser__title{font-size:.66rem;color:var(--ink-3);text-transform:none;letter-spacing:.02em}.dev-browser__body{position:relative}.dev-code{display:grid;grid-template-columns:auto 1fr;gap:1rem;padding:1.1rem 1.2rem 1.3rem;font-family:var(--f-code);font-size:clamp(.66rem,.6rem + .25vw,.8rem);line-height:1.9}.dev-code__nums{display:grid;color:var(--ink-3);text-align:right;-webkit-user-select:none;user-select:none}.dev-code__line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dev-code__line--keyword{color:var(--ink)}.dev-code__line--comment{color:var(--accent);opacity:.85}.is-in .dev-code__line{animation:codeIn .8s var(--ease-out) both;animation-delay:calc(.4s + var(--i) * .08s)}@keyframes codeIn{0%{opacity:0;transform:translate(-10px);clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.dev-phone{container-type:inline-size;aspect-ratio:9 / 19;border-radius:15%/7.1%;padding:1.4%;background:linear-gradient(145deg,var(--bg-3),var(--bg));border:1px solid var(--line-2);box-shadow:var(--shadow)}.dev-phone__screen{position:relative;height:100%;border-radius:13.6cqw;overflow:hidden;background:var(--bg-2)}.dev-phone__screen img{width:100%;height:100%;object-fit:cover;object-position:top}.dev-phone__island{position:absolute;z-index:2;top:3.5cqw;left:50%;width:30%;height:7.5cqw;border-radius:999px;background:#000;transform:translate(-50%)}.dev-tablet{container-type:inline-size;aspect-ratio:4 / 3;border-radius:5.5%/7.3%;padding:1%;background:linear-gradient(145deg,var(--bg-3),var(--bg));border:1px solid var(--line-2);box-shadow:var(--shadow)}.dev-tablet__screen{height:100%;border-radius:4.5cqw;overflow:hidden;background:var(--bg-2)}.dev-tablet__screen img{width:100%;height:100%;object-fit:cover;object-position:top}.dev-chip{display:inline-flex;align-items:center;gap:.45rem;padding:.45rem .75rem;border-radius:999px;font-family:var(--f-mono);font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);background:color-mix(in srgb,var(--bg-2) 80%,transparent);border:1px solid var(--line-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.dev-chip span{font-size:.85rem}.hero{position:relative;min-height:100svh;overflow:hidden;display:grid;grid-template-rows:1fr auto;padding-top:7rem}.hero__art{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;transform-origin:70% 50%}.hero__vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 60% 70% at 72% 50%,var(--glow),transparent 70%),linear-gradient(90deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 70%,transparent) 38%,transparent 62%),linear-gradient(0deg,var(--bg) 0%,transparent 22%);opacity:.9}:root[data-theme=light] .hero__vignette{opacity:.75}.hero__content{position:relative;z-index:2;align-self:center;display:grid;gap:clamp(1.5rem,3vw,2.5rem)}.hero__title{font-weight:380;line-height:1;letter-spacing:-.01em;margin-top:1rem}.hero__line{display:block;overflow:hidden;padding:.14em 0 .08em;margin:-.14em 0 -.08em}.hero__line--custom{font-size:var(--t-mega)}.hero__custom{display:inline-block;font-size:1em;animation:heroRise 1.4s var(--ease-out) .15s both}.hero__rot{position:relative;height:1.1em;margin-top:.02em;font-size:clamp(3rem,1rem + 7.4vw,8.6rem)}.hero__word{position:absolute;left:0;top:0;white-space:nowrap;letter-spacing:-.02em;line-height:1;transform:translate3d(0,105%,0);opacity:0;transition:transform 1.1s var(--ease-out),opacity .6s var(--ease-out)}.hero__word.is-on{transform:none;opacity:1}.hero__word.is-off{transform:translate3d(0,-105%,0);opacity:0}@keyframes heroRise{0%{transform:translate3d(0,105%,0) rotate(3deg)}}.hero__foot{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2rem 3.5rem}.hero__foot .lede{max-width:30ch}.hero__meta{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:1rem;padding-bottom:1.6rem;padding-top:2rem}.hero__legend{display:flex;gap:1.1rem;flex-wrap:wrap}.hero__legend span:before{content:"◦ ";color:var(--accent)}.hero__caption{grid-column:3;justify-self:end;display:grid;justify-items:end;gap:.15rem;text-align:right}.hero__caption .serif{font-size:1.25rem}.hero__scroll{grid-column:2;grid-row:1;display:grid;justify-items:center;gap:.7rem}.hero__scroll i{width:1px;height:46px;background:var(--line-2);position:relative;overflow:hidden}.hero__scroll i:after{content:"";position:absolute;left:0;top:0;width:1px;height:40%;background:var(--accent);animation:scrollLine 2.2s var(--ease-in-out) infinite}@keyframes scrollLine{0%{transform:translateY(-100%)}to{transform:translateY(260%)}}@media (max-width: 760px){.hero{padding-top:6rem}.hero__vignette{background:radial-gradient(ellipse 90% 50% at 50% 50%,var(--glow),transparent 70%),linear-gradient(0deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 55%,transparent) 60%,var(--bg) 100%)}.hero__meta{grid-template-columns:1fr}.hero__caption,.hero__scroll{display:none}}.plate{padding-block:clamp(3rem,6vw,6rem) var(--section)}.plate--flush{padding-top:0}.plate__frame{display:block;position:relative;overflow:hidden;border-radius:18px;aspect-ratio:16 / 9;background:transparent}.plate__frame img{width:100%;height:100%;object-fit:cover;transform:scale(1.35);transform-origin:50% 50%;will-change:transform}.plate__caption{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem 1.2rem;padding-top:1.1rem;border-bottom:1px solid var(--line);padding-bottom:1.1rem}.plate__caption .serif{font-size:1.35rem}.plate__link{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;color:var(--accent)}.exhibit{padding-block:var(--section);position:relative;overflow:hidden}.exhibit--alt{background:var(--bg-2)}.exhibit--alt:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M34 18 22 28l12 10' fill='none' stroke='%2300aff0' stroke-opacity='0.08' stroke-width='1.2'/%3E%3C/svg%3E");-webkit-mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000,transparent);mask-image:radial-gradient(ellipse 70% 70% at 70% 50%,#000,transparent)}.exhibit__grid{display:grid;grid-template-columns:5fr 7fr;gap:clamp(2rem,6vw,7rem);align-items:center;position:relative}.exhibit--flip .exhibit__text{order:2}.exhibit__text{display:grid;gap:1.8rem;align-content:center}.exhibit__title{font-weight:380;letter-spacing:-.01em}.exhibit__title em{letter-spacing:-.02em}.exhibit__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1.5rem 2rem;margin-top:.6rem}.exhibit__tagline{display:inline-flex;align-items:center;gap:.5rem}.exhibit__art{position:relative;will-change:transform}@media (max-width: 960px){.exhibit__grid{grid-template-columns:1fr}.exhibit--flip .exhibit__text{order:0}}.comp{position:relative;aspect-ratio:7 / 6}.comp:before{content:"";position:absolute;top:8%;right:6%;bottom:8%;left:6%;border-radius:50%;background:radial-gradient(circle,var(--glow),transparent 65%);filter:blur(30px);opacity:.55}.comp>*{position:absolute;transition:transform 1.4s var(--ease-out),opacity 1.2s var(--ease-out)}.comp:not(.is-in)>*{opacity:0}.comp__chips{left:0;right:0;bottom:-.5rem;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.comp.is-in .comp__chips{transition-delay:.6s}.comp--web .comp__main{left:0;top:6%;width:78%;z-index:1}.comp--web .comp__tablet{right:0;top:32%;width:44%;z-index:2}.comp--web .comp__phone{left:46%;top:44%;width:19%;z-index:3}.comp--web:not(.is-in) .comp__main{transform:translateY(40px)}.comp--web:not(.is-in) .comp__tablet{transform:translate(40px,30px) rotate(3deg)}.comp--web:not(.is-in) .comp__phone{transform:translateY(80px)}.comp--web.is-in .comp__tablet{transition-delay:.15s;transform:rotate(-2deg)}.comp--web.is-in .comp__phone{transition-delay:.3s;transform:rotate(3deg)}.comp--data .comp__main{left:0;top:4%;width:80%;z-index:1}.comp--data .comp__report{right:0;top:46%;width:42%;z-index:2;padding:1rem 1.1rem;border-radius:14px;background:var(--bg-3);border:1px solid var(--line-2);box-shadow:var(--shadow);display:grid;grid-template-columns:1fr auto;gap:.8rem;align-items:end}.comp--data .comp__report .viz__head{grid-column:1 / -1}.comp--data:not(.is-in) .comp__main{transform:translateY(40px)}.comp--data:not(.is-in) .comp__report{transform:translate(30px,40px)}.comp--data.is-in .comp__report{transition-delay:.2s;transform:rotate(1.5deg)}.viz{padding:1rem 1.2rem 1.2rem;display:grid;gap:.8rem}.viz__head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.85rem;font-weight:500}.viz__head .mono{font-size:.62rem}.viz__chart{width:100%;height:auto;overflow:visible}.viz__grid{stroke:var(--line);stroke-width:1}.viz__line{fill:none;stroke:var(--accent);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1}.viz__area{opacity:0;transition:opacity 1.2s var(--ease-out) 1.2s}.viz__pt{fill:var(--bg-3);stroke:var(--accent);stroke-width:1.6;opacity:0;transform-box:fill-box;transform-origin:center;transform:scale(0)}.is-in .viz__line{animation:draw 1.8s var(--ease-in-out) .4s forwards}.is-in .viz__area{opacity:1}.is-in .viz__pt{animation:pop .6s var(--ease-out) forwards;animation-delay:calc(.5s + var(--i) * .18s)}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{to{opacity:1;transform:scale(1)}}.viz__kpis{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.viz__kpi{padding:.7rem .8rem;border-radius:10px;background:var(--card);border:1px solid var(--line);display:grid}.viz__kpi b{font-size:clamp(1rem,.8rem + .8vw,1.5rem);font-weight:450;letter-spacing:-.01em}.viz__kpi span{font-size:.72rem;color:var(--ink-2)}.viz__kpi em{font-style:normal;font-family:var(--f-mono);font-size:.66rem;color:var(--accent)}.viz__bars{display:flex;align-items:flex-end;gap:.5rem;height:90px}.viz__bar{flex:1;height:100%;display:grid;grid-template-rows:1fr auto;gap:.3rem;text-align:center}.viz__bar i{align-self:end;height:var(--h);border-radius:4px 4px 0 0;background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 35%,transparent));transform-origin:bottom;transform:scaleY(0)}.viz__bar span{font-size:.58rem;color:var(--ink-3)}.is-in .viz__bar i{animation:grow 1s var(--ease-out) forwards;animation-delay:calc(.6s + var(--i) * .1s)}@keyframes grow{to{transform:scaleY(1)}}.viz__pie{width:64px;height:64px}.viz__pie circle{fill:none;stroke-width:9}.viz__pie-bg{stroke:var(--line)}.viz__pie-fg{stroke:var(--accent);stroke-dasharray:0 100;transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray 1.6s var(--ease-out) .8s}.is-in .viz__pie-fg{stroke-dasharray:70 100}.viz__pie text{fill:var(--ink);font-size:11px;font-weight:500;font-family:var(--f-sans)}.comp--mobile .comp__center{left:50%;top:0;width:40%;z-index:2;transform:translate(-50%)}.comp--mobile .comp__side{top:14%;width:30%;z-index:1;opacity:.9}.comp--mobile .comp__side--l{left:2%;transform:rotate(-8deg)}.comp--mobile .comp__side--r{right:2%;transform:rotate(8deg)}.comp--mobile:not(.is-in) .comp__center{transform:translate(-50%,60px)}.comp--mobile:not(.is-in) .comp__side--l{transform:translate(60px,30px) rotate(0)}.comp--mobile:not(.is-in) .comp__side--r{transform:translate(-60px,30px) rotate(0)}.comp--mobile.is-in .comp__side{transition-delay:.2s}.comp--mobile .comp__chips{bottom:-1.5rem}.comp__editor{height:100%;padding-top:14cqw;background:var(--bg-2)}.comp__editor-bar{display:flex;align-items:center;justify-content:space-between;padding:.4rem .8rem;border-bottom:1px solid var(--line)}.comp__editor-bar .mono{font-size:.6rem;color:var(--ink-3);text-transform:none}.comp__editor .dev-code{grid-template-columns:auto 1fr;gap:.5rem;padding:.7rem .6rem;font-size:clamp(.48rem,.4rem + .25vw,.64rem);line-height:2}.comp__editor .dev-code__line{white-space:normal}@media (max-width: 560px){.comp{aspect-ratio:1 / 1.05}.comp--mobile{aspect-ratio:1 / 1.25}.comp--data .comp__report{width:58%;top:56%}.comp__chips{display:none}}@media (prefers-reduced-motion: reduce){.plate__frame img{transform:none}}@font-face{font-family:Jost;src:url(/assets/Jost-VariableFont_wght-BgZVHdM1.ttf) format("truetype");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Jost;src:url(/assets/Jost-Italic-VariableFont_wght-CXETpRd7.ttf) format("truetype");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:LeHavre;src:url(/fonts/LeHavre.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:LeHavre;src:url(/fonts/LeHavreBold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--f-display: "LeHavre", "Jost", ui-sans-serif, system-ui, sans-serif;--f-sans: "Jost", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--f-serif: var(--f-display);--f-mono: var(--f-display);--f-code: "Monaco", "Menlo", "Ubuntu Mono", monospace;--t-xs: .72rem;--t-sm: .875rem;--t-base: 1.0625rem;--t-lg: clamp(1.15rem, .9rem + .6vw, 1.4rem);--t-xl: clamp(1.5rem, 1.1rem + 1.4vw, 2.25rem);--t-2xl: clamp(2.2rem, 1.4rem + 3vw, 4rem);--t-3xl: clamp(2.8rem, 1.6rem + 5.2vw, 6.5rem);--t-mega: clamp(3.4rem, 1rem + 10vw, 11.5rem);--gutter: clamp(1rem, .5rem + 2.5vw, 3rem);--max: 1440px;--section: clamp(5rem, 3rem + 8vw, 11rem);--radius: 4px;--radius-lg: 18px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur: .9s;--brand: #00aff0}:root,:root[data-theme=dark]{color-scheme:dark;--bg: #06090f;--bg-2: #0b111b;--bg-3: #111a28;--ink: #ece8e1;--ink-2: rgba(236, 232, 225, .64);--ink-3: rgba(236, 232, 225, .38);--line: rgba(236, 232, 225, .12);--line-2: rgba(236, 232, 225, .22);--accent: #00aff0;--accent-ink: #001017;--accent-soft: rgba(0, 175, 240, .14);--glow: rgba(0, 175, 240, .35);--card: rgba(255, 255, 255, .025);--shadow: 0 40px 80px -30px rgba(0, 0, 0, .7)}:root[data-theme=light]{color-scheme:light;--bg: #f3f0ea;--bg-2: #ebe7df;--bg-3: #e1dcd2;--ink: #0b0f16;--ink-2: rgba(11, 15, 22, .66);--ink-3: rgba(11, 15, 22, .42);--line: rgba(11, 15, 22, .12);--line-2: rgba(11, 15, 22, .22);--accent: #0090c8;--accent-ink: #ffffff;--accent-soft: rgba(0, 144, 200, .1);--glow: rgba(0, 144, 200, .22);--card: rgba(255, 255, 255, .55);--shadow: 0 40px 80px -40px rgba(30, 25, 15, .35)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-display);font-size:var(--t-base);font-weight:380;line-height:1.6;overflow-x:hidden;transition:background-color .6s var(--ease-out),color .6s var(--ease-out)}img,svg,video,canvas{display:block;max-width:100%}img{height:auto}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--f-display);font-weight:700}p,li,input,textarea,select,.lede,.body,.prose{font-family:var(--f-sans)}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{list-style:none;padding:0}::selection{background:var(--accent);color:var(--accent-ink)}:focus-visible{outline:1.5px solid var(--accent);outline-offset:4px;border-radius:2px}.grecaptcha-badge{visibility:hidden!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:1000;padding:.7rem 1rem;background:var(--accent);color:var(--accent-ink);font-family:var(--f-mono);font-size:var(--t-xs)}.skip-link:focus{top:1rem}.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:var(--section);position:relative}.rule{height:1px;background:var(--line);border:0;margin:0}.grid-12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter)}.display,.h1,.h2,.h3{font-family:var(--f-display);font-weight:700;letter-spacing:-.01em;line-height:1.04}.display{font-size:var(--t-mega);letter-spacing:-.02em;line-height:.95}.h1{font-size:var(--t-3xl)}.h2{font-size:var(--t-2xl);line-height:1.02}.h3{font-size:var(--t-xl);line-height:1.1;letter-spacing:-.02em}.serif,em.serif{font-family:var(--f-serif);font-style:normal;font-weight:inherit;letter-spacing:inherit}.accent{color:var(--accent)}.lede{font-size:var(--t-lg);line-height:1.5;color:var(--ink-2);max-width:38ch;font-weight:350}.body{color:var(--ink-2);max-width:62ch}.mono,.eyebrow,.label{font-family:var(--f-mono);font-size:var(--t-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:400}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.prose{color:var(--ink-2);max-width:70ch}.prose h2{font-family:var(--f-display);color:var(--ink);font-size:var(--t-xl);font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:3.5rem 0 1rem}.prose h3{color:var(--ink);font-size:var(--t-lg);font-weight:500;margin:2rem 0 .6rem}.prose p+p{margin-top:1rem}.prose ul,.prose ol{padding-left:1.2rem;margin:1rem 0}.prose li{margin:.4rem 0}.prose li::marker{color:var(--accent)}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose strong{color:var(--ink);font-weight:500}.rv{opacity:0;transform:translate3d(0,var(--rv-y, 40px),0);transition:opacity 1.1s var(--ease-out) var(--rv-d, 0s),transform 1.3s var(--ease-out) var(--rv-d, 0s)}.rv.is-in{opacity:1;transform:none}.sw{display:inline-block;overflow:hidden;vertical-align:top;padding:.16em .04em .1em;margin:-.16em -.04em -.1em}.sw>span{display:inline-block;transform:translate3d(0,105%,0) rotate(4deg);transform-origin:0 100%;transition:transform 1.2s var(--ease-out);transition-delay:calc(var(--rv-d, 0s) + var(--i) * 45ms)}.is-in .sw>span,.sw.is-in>span{transform:none}.img-reveal{position:relative;overflow:hidden}.img-reveal img{transform:scale(1.18);transition:transform 1.8s var(--ease-out)}.img-reveal:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-2);transform-origin:50% 0%;transition:transform 1.2s var(--ease-in-out) var(--rv-d, 0s)}.img-reveal.is-in img{transform:scale(1)}.img-reveal.is-in:after{transform:scaleY(0)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0s!important}.rv,.sw>span,.img-reveal img{opacity:1!important;transform:none!important}.img-reveal:after{display:none}}
