@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Fraunces;src:url(/assets/fonts/fraunces-latin-wght-italic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Manrope;src:url(/assets/fonts/manrope-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/assets/fonts/jetbrains-mono-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg: #0c0b0e;--bg-2: #121117;--bg-3: #19171f;--ink: #f1edf5;--ink-2: #b9b2c4;--ink-3: #8a8396;--line: #2a2633;--line-2: #1e1b25;--violet: #a78bfa;--violet-2: #c4b5fd;--cyan: #22d3ee;--rec: #ff4d4f;--ok: #4ade80;--amber: #fbbf24;--grad: linear-gradient(135deg, #7c3aed 0%, #06b6d4 100%);--grad-text: linear-gradient(120deg, #f87171 0%, #c084fc 55%, #67e8f9 100%);--serif: "Fraunces", "Iowan Old Style", Georgia, serif;--sans: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--radius: 14px;--radius-lg: 22px;--gutter: clamp(16px, 4vw, 48px);--maxw: 1320px;--sec: clamp(72px, 10vw, 140px);--ease: cubic-bezier(.16, 1, .3, 1);--top-h: 68px}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--top-h) + 16px)}body{background:var(--bg);color:var(--ink);font:400 clamp(16px,.95rem + .15vw,17px)/1.65 var(--sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh}body.is-locked{overflow:hidden}img,svg,video{display:block;max-width:100%}a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}ul,ol{list-style:none}em{font-style:italic}strong{color:var(--ink);font-weight:600}::selection{background:#a78bfa59;color:#fff}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;background-image:url(/assets/img/grain.svg)}.particles{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.particles i{position:absolute;bottom:-12px;width:2px;height:2px;border-radius:50%;background:var(--violet-2);opacity:0}@media(prefers-reduced-motion:no-preference){.particles i{animation:rise linear infinite}}@media(prefers-reduced-motion:reduce){.particles{display:none}}@keyframes rise{0%{opacity:0;transform:translateZ(0) scale(1)}10%{opacity:.6}90%{opacity:.3}to{opacity:0;transform:translate3d(var(--dx, 0px),-105vh,0) scale(.5)}}main,.topbar,.footer{position:relative;z-index:1}.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.muted{color:var(--ink-3)}.ico{width:1.1em;height:1.1em;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;left:16px;top:-60px;z-index:200;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:600;text-decoration:none;transition:top .2s}.skip:focus{top:12px}.topbar{position:sticky;top:0;z-index:50;height:var(--top-h);display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 var(--gutter);padding-top:env(safe-area-inset-top);border-bottom:1px solid transparent;transition:border-color .3s}.topbar:before{content:"";position:absolute;inset:0;z-index:-1;background:#0c0b0eb8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:background .3s}.topbar.is-scrolled{border-bottom-color:var(--line-2)}.topbar.is-scrolled:before{background:#0c0b0edb}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}.brand-mark{width:34px;height:34px;display:grid;place-items:center;flex:none;border:1px solid var(--violet);border-radius:9px;color:var(--violet);font:400 15px/1 var(--serif);letter-spacing:-.02em;transition:background .3s,color .3s}.brand:hover .brand-mark{background:var(--violet);color:var(--bg)}.brand-name{font:400 17px/1 var(--serif);white-space:nowrap}.brand-name em{color:var(--ink-2);font-weight:300}.nav ul{display:flex;gap:clamp(16px,2.2vw,32px)}.nav a{position:relative;text-decoration:none;color:var(--ink-2);font-size:14px;font-weight:500;padding:6px 0;transition:color .2s}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--violet);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav a:hover,.nav a[aria-current=true]{color:var(--ink)}.nav a:hover:after,.nav a[aria-current=true]:after{transform:scaleX(1)}.nav .nav-contact{display:none}.topbar-actions{display:flex;align-items:center;gap:10px}.lang{font:500 12px/1 var(--mono);letter-spacing:.08em;text-decoration:none;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:9px 12px;transition:color .2s,border-color .2s}.lang:hover{color:var(--ink);border-color:var(--ink-3)}.pill{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font:500 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--violet-2);border:1px solid var(--line);border-radius:999px;padding:10px 14px;transition:border-color .2s,background .2s}.pill:hover{border-color:var(--violet);background:#a78bfa14}.rec{width:7px;height:7px;border-radius:50%;background:var(--rec);box-shadow:0 0 10px var(--rec);flex:none}.pill--live .rec{background:var(--ok);box-shadow:0 0 10px var(--ok)}@media(prefers-reduced-motion:no-preference){.rec{animation:blink 1.6s steps(1) infinite}}@keyframes blink{50%{opacity:.25}}.burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;place-items:center}.burger-lines,.burger-lines:before,.burger-lines:after{display:block;width:18px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s var(--ease),opacity .2s}.burger-lines{position:relative}.burger-lines:before,.burger-lines:after{content:"";position:absolute;left:0}.burger-lines:before{top:-6px}.burger-lines:after{top:6px}.burger[aria-expanded=true] .burger-lines{background:transparent}.burger[aria-expanded=true] .burger-lines:before{transform:translateY(6px) rotate(45deg)}.burger[aria-expanded=true] .burger-lines:after{transform:translateY(-6px) rotate(-45deg)}.btn{--by: 0px;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;border-radius:999px;font:600 15px/1 var(--sans);letter-spacing:.005em;text-decoration:none;white-space:nowrap;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background .25s,border-color .25s,color .25s;transform:translateY(var(--by))}.btn small{font:500 10px/1 var(--mono);letter-spacing:.1em;color:var(--ink-3)}.btn--primary{background:linear-gradient(135deg,#ef4444,#a855f7);color:#fff;box-shadow:0 10px 30px -14px #ef444499}.btn--primary:hover{--by: -2px;box-shadow:0 18px 36px -14px #a855f7b3}.btn--ghost{border:1px solid var(--line);color:var(--ink)}.btn--ghost:hover{border-color:var(--cyan);color:var(--cyan);background:#22d3ee0d}.btn--quiet{color:var(--ink-2);padding:0 14px}.btn--quiet:hover{color:var(--ink)}.btn--sm{min-height:40px;padding:0 16px;font-size:13px}.btn--lg{min-height:56px;padding:0 28px;font-size:16px}.btn:active{--by: 1px}.btn .ico{width:18px;height:18px}main{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}.hero{position:relative;min-height:calc(100svh - var(--top-h));display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.8fr);align-items:center;gap:clamp(32px,6vw,88px);padding:clamp(64px,9vh,120px) clamp(0px,2vw,32px) clamp(80px,10vh,120px)}.hero-frame{position:absolute;inset:0;pointer-events:none}.hero-frame i{position:absolute;width:28px;height:28px;border-color:#f1edf547;border-style:solid;border-width:0;pointer-events:none}.hero-frame i:nth-child(1){top:24px;left:0;border-top-width:1px;border-left-width:1px}.hero-frame i:nth-child(2){top:24px;right:0;border-top-width:1px;border-right-width:1px}.hero-frame i:nth-child(3){bottom:24px;left:0;border-bottom-width:1px;border-left-width:1px}.hero-frame i:nth-child(4){bottom:24px;right:0;border-bottom-width:1px;border-right-width:1px}.hud{position:absolute;left:44px;right:44px;display:flex;justify-content:space-between;gap:16px;font:400 11px/1 var(--mono);letter-spacing:.12em;color:var(--ink-3)}.hud--top{top:34px}.hud-rec{display:inline-flex;align-items:center;gap:8px;color:var(--rec)}.hud-tc{font-variant-numeric:tabular-nums;color:var(--ink-2)}.kicker,.sec-tag{display:flex;align-items:center;gap:12px;font:400 11px/1.2 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--violet-2);margin-bottom:24px}.kicker:before{content:"";width:32px;height:1px;background:currentColor}.hero-title{font:300 clamp(56px,10.5vw,148px)/.92 var(--serif);letter-spacing:-.045em;margin-bottom:26px;font-variation-settings:"opsz" 144}.hero-title em,.contact-title em{font-weight:300;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}.hero-roles{margin-bottom:26px}.hero-roles>span[aria-hidden]{display:flex;flex-wrap:wrap;gap:8px}.hero-roles>span[aria-hidden] span{font:500 12px/1 var(--mono);letter-spacing:.06em;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:8px 12px;background:#12111799}.hero-lead{font-size:clamp(17px,1.05rem + .3vw,20px);color:var(--ink-2);max-width:36ch;margin-bottom:36px;text-wrap:pretty}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.idcard{position:relative;background:linear-gradient(180deg,var(--bg-2),rgba(18,17,23,.6));border:1px solid var(--line);border-radius:var(--radius-lg);padding:28px;box-shadow:0 40px 80px -40px #000c,inset 0 1px #ffffff0a}.idcard:before{content:"";position:absolute;top:-1px;left:28px;right:28px;height:1px;background:var(--grad)}.idcard-top{display:flex;justify-content:space-between;gap:12px;font:400 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:26px}.idcard-status{display:inline-flex;align-items:center;gap:6px;color:var(--ok)}.dot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}.idcard-photo{width:104px;height:104px;border-radius:50%;object-fit:cover;margin-bottom:20px;outline:1px dashed var(--line);outline-offset:5px;background:var(--grad)}.idcard-name{font:400 26px/1.1 var(--serif);letter-spacing:-.02em;margin-bottom:4px}.idcard-role{font-size:14px;color:var(--ink-2);margin-bottom:22px}.idcard-facts{display:grid;grid-template-columns:1fr 1fr;gap:16px;border-top:1px solid var(--line);padding-top:18px}.idcard-facts dt{font:400 9.5px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.idcard-facts dd{font-size:14px}.scroll-cue{position:absolute;left:50%;bottom:20px;translate:-50% 0;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);color:var(--ink-3);text-decoration:none}.scroll-cue:hover{color:var(--ink);border-color:var(--ink-3)}@media(prefers-reduced-motion:no-preference){.scroll-cue span{animation:bob 2.4s var(--ease) infinite}}@keyframes bob{50%{transform:translateY(4px)}}@media(prefers-reduced-motion:no-preference){.js .hero-copy>*,.js .idcard{opacity:0;transform:translateY(24px);animation:up .9s var(--ease) forwards}.js .hero-copy>:nth-child(2){animation-delay:.08s}.js .hero-copy>:nth-child(3){animation-delay:.16s}.js .hero-copy>:nth-child(4){animation-delay:.24s}.js .hero-copy>:nth-child(5){animation-delay:.32s}.js .idcard{animation-delay:.4s}}@keyframes up{to{opacity:1;transform:none}}.reel{padding-bottom:var(--sec)}.reel-frame{position:relative;aspect-ratio:16 / 9;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);background:var(--bg-2)}.reel-poster,.reel-frame iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}.reel-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;font-weight:600;background:linear-gradient(0deg,#0000008c,#00000026)}.reel-btn{width:84px;height:84px;border-radius:50%;display:grid;place-items:center;background:#ffffff1f;border:1px solid rgba(255,255,255,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .4s var(--ease)}.reel-btn .ico{width:30px;height:30px;fill:#fff;stroke:none}.reel-play:hover .reel-btn{transform:scale(1.08)}.reel-notice{position:absolute;left:16px;right:16px;bottom:12px;font-size:12px;color:#ffffffbf;text-align:center}.reel-poster.cover{display:block;aspect-ratio:auto}.reel-frame--sheet{margin-bottom:26px;border-radius:var(--radius)}.badge--video{color:var(--ink);border-color:var(--line-2)}.reel-frame.is-playing .reel-notice,.reel-frame.is-playing .reel-play,.reel-frame.is-playing .reel-poster{display:none}.sec{padding:var(--sec) 0 0}.sec-head{margin-bottom:clamp(40px,6vw,72px)}.sec-num{color:var(--ink-3)}.sec-num:after{content:" /";color:var(--line)}.sec-title{font:300 clamp(38px,5.6vw,76px)/1.02 var(--serif);letter-spacing:-.035em;max-width:18ch;text-wrap:balance}.sec-title em{font-weight:300;color:var(--violet-2)}.sec-intro{margin-top:22px;font-size:clamp(17px,1rem + .25vw,19px);color:var(--ink-2);max-width:56ch;text-wrap:pretty}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.js .reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js .reveal{opacity:1;transform:none;transition:none}}.about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,5vw,72px)}.about-text p{color:var(--ink-2);margin-bottom:20px;max-width:62ch;text-wrap:pretty}.stats{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.stat{background:var(--bg);padding:clamp(20px,3vw,30px);display:flex;flex-direction:column-reverse;justify-content:flex-end;gap:8px;transition:background .3s}.stat:hover{background:var(--bg-2)}.stat dd{font:300 clamp(38px,4vw,52px)/1 var(--serif);letter-spacing:-.03em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stat dt{font:400 10px/1.4 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}.awards{margin-top:20px;display:grid;gap:10px}.awards li{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(90deg,rgba(251,191,36,.06),transparent 60%);font-size:14px;color:var(--ink-2)}.award-y{font:500 12px/1.6 var(--mono);color:var(--amber)}.clients{padding:var(--sec) 0 0}.clients-title{font:400 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-bottom:22px}.marquee{display:flex;overflow:hidden;gap:0;border-block:1px solid var(--line-2);padding:22px 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}.marquee-track{display:flex;flex:none;gap:56px;padding-right:56px}.marquee-track li{font:400 clamp(22px,2.6vw,32px)/1 var(--serif);letter-spacing:-.02em;color:var(--ink-2);white-space:nowrap}.marquee-track li:nth-child(2n){font-style:italic;color:var(--ink-3)}@media(prefers-reduced-motion:no-preference){.marquee-track{animation:marquee 48s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}}@media(prefers-reduced-motion:reduce){.marquee{flex-wrap:wrap;justify-content:center}.marquee-track[aria-hidden]{display:none}.marquee-track{flex-wrap:wrap;justify-content:center;row-gap:14px}}@keyframes marquee{to{transform:translate(-100%)}}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}.service{position:relative;background:var(--bg);padding:clamp(24px,3vw,36px);transition:background .35s}.service:hover{background:var(--bg-2)}.service-ico{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--line);color:var(--violet-2);margin-bottom:22px;transition:border-color .3s,color .3s}.service:hover .service-ico{border-color:var(--violet);color:var(--cyan)}.service-ico .ico{width:24px;height:24px}.service-n{position:absolute;top:clamp(24px,3vw,36px);right:clamp(24px,3vw,36px);font:400 11px/1 var(--mono);color:var(--ink-3)}.service h3{font:400 24px/1.15 var(--serif);letter-spacing:-.02em;margin-bottom:10px}.service p{font-size:15px;color:var(--ink-2)}.filters{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 2px 18px;margin:0 -2px 28px;border-bottom:1px solid var(--line-2);scroll-snap-type:x proximity}.filters::-webkit-scrollbar{display:none}.filter{flex:none;scroll-snap-align:start;min-height:40px;font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:0 16px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);transition:color .2s,border-color .2s,background .2s}.filter:hover{color:var(--ink);border-color:var(--ink-3)}.filter[aria-pressed=true]{background:var(--grad);border-color:transparent;color:#fff}.count{opacity:.65;margin-left:4px}.grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(14px,2vw,24px)}.card{grid-column:span 2}.card--featured{grid-column:span 4;grid-row:span 2}.card.is-hidden{display:none}.card-link{height:100%;display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-2);transition:border-color .35s,transform .5s var(--ease),box-shadow .5s var(--ease)}.card-link:hover{border-color:#a78bfa80;transform:translateY(-4px);box-shadow:0 30px 60px -30px #7c3aed73}.cover{position:relative;display:block;aspect-ratio:16 / 9;overflow:hidden;background:radial-gradient(120% 90% at 20% 110%,hsl(var(--h, 265) 85% 55% / .55),transparent 60%),radial-gradient(90% 80% at 100% 0%,hsl(calc(var(--h, 265) + 50) 90% 60% / .4),transparent 60%),linear-gradient(160deg,hsl(var(--h, 265) 30% 14%),hsl(calc(var(--h, 265) + 30) 35% 8%))}.cover:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:overlay}.cover:after{content:"";position:absolute;inset:14px;border:1px solid rgba(255,255,255,.16);border-radius:8px;-webkit-mask:linear-gradient(#000 0 0) top left / 22px 22px no-repeat,linear-gradient(#000 0 0) top right / 22px 22px no-repeat,linear-gradient(#000 0 0) bottom left / 22px 22px no-repeat,linear-gradient(#000 0 0) bottom right / 22px 22px no-repeat;mask:linear-gradient(#000 0 0) top left / 22px 22px no-repeat,linear-gradient(#000 0 0) top right / 22px 22px no-repeat,linear-gradient(#000 0 0) bottom left / 22px 22px no-repeat,linear-gradient(#000 0 0) bottom right / 22px 22px no-repeat}.cover-word{position:absolute;left:22px;right:22px;bottom:6px;font:italic 300 clamp(48px,7vw,96px)/.9 var(--serif);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.28);white-space:nowrap;overflow:hidden;text-overflow:clip;transition:transform .8s var(--ease),-webkit-text-stroke-color .4s}.card--featured .cover-word{font-size:clamp(64px,10vw,150px)}.card-link:hover .cover-word{transform:translate(8px);-webkit-text-stroke-color:rgba(255,255,255,.5)}.cover--wide .cover-word{font-size:clamp(56px,9vw,120px)}.cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.card-link:hover .cover img{transform:scale(1.04)}.cover-hud{position:absolute;left:26px;right:26px;top:24px;display:flex;justify-content:space-between;gap:12px;font:400 10px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;z-index:1}.cover-rec{display:inline-flex;align-items:center;gap:6px;text-align:right}.cover-rec:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--rec);flex:none}.card-body{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.4vw,28px);flex:1}.card-meta{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font:400 11px/1.3 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3)}.badge{color:var(--amber)}.card-title{font:400 clamp(22px,1.6vw + .6rem,28px)/1.12 var(--serif);letter-spacing:-.02em}.card-title em{color:var(--violet-2)}.card--featured .card-title{font-size:clamp(28px,2.6vw + .6rem,44px)}.card-text{font-size:15px;color:var(--ink-2);flex:1}.card-foot{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line-2);padding-top:14px;margin-top:6px;font-size:13px;color:var(--ink-3)}.card-more{display:inline-flex;align-items:center;gap:6px;color:var(--violet-2);white-space:nowrap;font-weight:600}.card-more .ico{transition:transform .35s var(--ease)}.card-link:hover .card-more .ico{transform:translate(4px)}.card--featured .cover{aspect-ratio:auto;flex:1;min-height:260px}.more-work{margin-top:32px;text-align:center}.sheet{margin:auto;width:min(860px,calc(100vw - 24px));max-height:min(92vh,920px);background:var(--bg-2);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:auto;overscroll-behavior:contain;box-shadow:0 60px 120px -40px #000000e6}.sheet::backdrop{background:#050408db}@media(prefers-reduced-motion:no-preference){.sheet[open]{animation:sheet-in .45s var(--ease)}.sheet[open]::backdrop{animation:fade .3s ease}}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px) scale(.98)}}@keyframes fade{0%{opacity:0}}.sheet-inner{padding:clamp(22px,4vw,44px)}.sheet-head{position:relative;padding-right:56px;margin-bottom:24px}.sheet-tag{font:400 11px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}.sheet-title{font:300 clamp(30px,4vw,48px)/1.05 var(--serif);letter-spacing:-.03em;margin-bottom:10px}.sheet-title em{color:var(--violet-2)}.sheet-client{color:var(--ink-3);font-size:14px}.sheet-close{position:absolute;top:-6px;right:-6px;width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;transition:border-color .2s,transform .3s var(--ease)}.sheet-close:hover{border-color:var(--rec);transform:rotate(90deg)}.sheet-close .ico{width:20px;height:20px}.cover--wide{border-radius:var(--radius);margin-bottom:26px;aspect-ratio:21 / 9}.sheet-body p{color:var(--ink-2);margin-bottom:16px;max-width:64ch}.sheet-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding-top:22px;margin-top:8px;border-top:1px solid var(--line)}.sheet-meta dt{font:400 10px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.sheet-tools{grid-column:1 / -1}.sheet-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}.sheet-nav{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-2);font-size:14px;max-width:34%;min-height:44px}.sheet-nav span{display:flex;flex-direction:column;overflow:hidden}.sheet-nav small{font:400 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3)}.sheet-nav--next{text-align:right;justify-content:flex-end}.sheet-nav:hover{color:var(--ink)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chips li{font:400 11.5px/1 var(--mono);letter-spacing:.03em;color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:7px 11px}.chips--main li{color:var(--ink);border-color:#a78bfa73;background:#a78bfa12}.timeline{position:relative;padding-left:34px}.timeline:before{content:"";position:absolute;left:7px;top:12px;bottom:12px;width:1px;background:linear-gradient(180deg,var(--violet),var(--line) 70%,transparent)}.tl{position:relative}.tl:before{content:"";position:absolute;left:-34px;top:28px;width:15px;height:15px;border-radius:50%;background:var(--bg);border:1px solid var(--violet);transition:background .3s}.tl--now:before{background:var(--violet);box-shadow:0 0 0 5px #a78bfa26}.tl details{border-bottom:1px solid var(--line-2)}.tl summary{list-style:none;cursor:pointer;position:relative;display:grid;grid-template-columns:minmax(150px,.32fr) minmax(0,1fr) 44px;gap:4px 24px;align-items:baseline;padding:22px 0}.tl summary::-webkit-details-marker{display:none}.tl-when{font:400 12px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);grid-row:span 2}.live{display:inline-block;margin-top:6px;font-size:9.5px;letter-spacing:.14em;color:var(--ok);border:1px solid rgba(74,222,128,.4);border-radius:999px;padding:3px 8px}.tl-role{font:400 clamp(21px,1.8vw + .4rem,28px)/1.2 var(--serif);letter-spacing:-.02em;transition:color .2s}.tl summary:hover .tl-role{color:var(--violet-2)}.tl-org{grid-column:2;font-size:14px;font-weight:600;color:var(--violet-2)}.tl-toggle{grid-column:3;grid-row:1 / span 2;align-self:center;width:32px;height:32px;border:1px solid var(--line);border-radius:50%;position:relative;justify-self:end;transition:transform .35s var(--ease),border-color .2s}.tl-toggle:before,.tl-toggle:after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;background:var(--ink-2);translate:-50% -50%}.tl-toggle:after{rotate:90deg}.tl details[open] .tl-toggle{transform:rotate(45deg);border-color:var(--violet)}.tl-body{padding:0 0 26px;margin-left:calc(min(150px,30%) + 0px);display:grid;gap:14px}.tl-body p{color:var(--ink-2);max-width:70ch}.toolkit{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px)}.tk{border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:12px;align-content:start;background:#12111780;transition:border-color .3s}.tk:hover{border-color:#22d3ee59}.tk h3{font:400 20px/1.2 var(--serif);letter-spacing:-.01em}.edu-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,72px);margin-top:clamp(48px,6vw,80px)}.sub{font:400 11px/1 var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--violet-2);margin:0 0 18px}.sub:not(:first-child){margin-top:36px}.edu li{display:grid;grid-template-columns:110px 1fr;gap:16px;padding:16px 0;border-top:1px solid var(--line-2);font-size:15px}.edu-y{font:400 12px/1.6 var(--mono);color:var(--ink-3)}.langs li{display:grid;gap:10px;padding:12px 0;font-size:15px}.bar{display:block;height:3px;border-radius:3px;background:var(--line);position:relative;overflow:hidden}.bar:after{content:"";position:absolute;inset:0 auto 0 0;background:var(--grad);border-radius:3px}.bar--100:after{width:100%}.bar--65:after{width:65%}.contact{text-align:center;padding-bottom:var(--sec)}.sec-tag--center{justify-content:center}.contact-title{font:300 clamp(44px,8vw,116px)/.98 var(--serif);letter-spacing:-.045em;margin:0 auto 26px;max-width:14ch;text-wrap:balance}.contact-lead{color:var(--ink-2);max-width:52ch;margin:0 auto 36px;font-size:clamp(17px,1rem + .25vw,19px)}.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:26px}.contact-noscript{font:400 15px/1.5 var(--mono);color:var(--ink-2);margin-bottom:24px}.contact-links{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 10px;margin-bottom:22px}.contact-links a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid var(--line-2);text-decoration:none;color:var(--ink-2);font-size:14px;transition:color .2s,border-color .2s}.contact-links a:hover{color:var(--ink);border-color:var(--ink-3)}.contact-city{display:inline-flex;align-items:center;gap:8px;color:var(--ink-3);font-size:14px}.footer{max-width:var(--maxw);margin:0 auto;padding:28px var(--gutter) calc(28px + env(safe-area-inset-bottom));border-top:1px solid var(--line-2);display:grid;gap:10px}.footer-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;font-size:13px;color:var(--ink-3)}.footer-row--small{font-size:12px}.footer-mono{font-family:var(--mono);letter-spacing:.08em}.footer a{color:var(--ink-2);text-underline-offset:3px}.footer a:hover{color:var(--ink)}.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:300;translate:-50% 20px;opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:12px 18px;border-radius:999px;font-weight:600;font-size:14px;transition:opacity .25s,translate .35s var(--ease)}.toast.is-on{opacity:1;translate:-50% 0}.doc{max-width:820px}.legal{padding:clamp(48px,8vw,96px) 0 var(--sec)}.legal h1{font:300 clamp(40px,6vw,72px)/1 var(--serif);letter-spacing:-.035em;margin-bottom:24px}.legal-lead{font-size:clamp(17px,1rem + .3vw,20px);color:var(--ink-2);margin-bottom:40px;padding:20px 22px;border:1px solid var(--line);border-radius:var(--radius);background:#4ade800a}.legal h2{font:400 clamp(24px,2.4vw,30px)/1.2 var(--serif);letter-spacing:-.02em;margin:44px 0 14px}.legal h3{font-size:17px;font-weight:700;margin:24px 0 8px}.legal p,.legal li{color:var(--ink-2);margin-bottom:12px}.legal ul{list-style:disc;padding-left:22px}.legal a{color:var(--violet-2);text-underline-offset:3px}.legal code{font:400 .9em var(--mono);background:var(--bg-3);padding:2px 6px;border-radius:6px}.legal-date{margin-top:40px;font:400 12px/1 var(--mono)!important;letter-spacing:.08em;color:var(--ink-3)!important}.nf{min-height:70vh;display:grid;place-content:center;text-align:center;gap:20px;padding:60px 0}.nf h1{font:300 clamp(40px,7vw,84px)/1 var(--serif);letter-spacing:-.04em}.nf h1 em{color:var(--violet-2)}.nf p{color:var(--ink-2)}.nf-tc{font:400 14px/1 var(--mono);color:var(--rec);letter-spacing:.2em}@media(max-width:1080px){.hero{grid-template-columns:1fr;align-content:center}.idcard{max-width:520px}.services,.toolkit,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.card--featured{grid-column:span 1;grid-row:auto}.card--featured{grid-column:1 / -1}.card--featured .cover{aspect-ratio:21 / 9;flex:none;min-height:0}}@media(max-width:860px){:root{--top-h: 60px}.pill--live{display:none}.burger{display:grid}.nav{position:fixed;inset:var(--top-h) 0 0 0;z-index:49;background:#0c0b0ef7;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);padding:32px var(--gutter) calc(32px + env(safe-area-inset-bottom));opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .3s,transform .35s var(--ease),visibility 0s .35s;overflow-y:auto}.nav.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .35s var(--ease)}.nav ul{flex-direction:column;gap:4px}.nav .nav-contact{display:block}.nav a{display:block;font:300 34px/1.2 var(--serif);letter-spacing:-.02em;color:var(--ink);padding:10px 0;border-bottom:1px solid var(--line-2)}.nav a:after{display:none}.nav a[aria-current=true]{color:var(--violet-2);font-style:italic}.no-js .nav{position:static;opacity:1;visibility:visible;transform:none;background:none;padding:0}.hud{left:16px;right:16px}.hud-fmt{display:none}.hero{padding:76px 0 96px;min-height:auto}.hero-frame i:nth-child(1),.hero-frame i:nth-child(2){top:18px}.hud--top{top:28px}.hero-cta .btn{flex:1 1 auto}.hero-cta .btn--quiet{flex-basis:100%}.about{grid-template-columns:1fr}.tl summary{grid-template-columns:1fr 40px;padding:18px 0}.tl-when{grid-row:auto;grid-column:1}.tl-role,.tl-org{grid-column:1}.tl-toggle{grid-column:2;grid-row:1 / span 3}.tl-body{margin-left:0}.edu-grid{grid-template-columns:1fr}}@media(max-width:640px){.brand-name{display:none}.services,.toolkit,.grid{grid-template-columns:1fr}.card--featured .cover{aspect-ratio:16 / 9}.sheet{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;border:0;margin:0}.sheet-meta{grid-template-columns:1fr}.sheet-foot{flex-wrap:wrap}.sheet-foot .btn{order:-1;width:100%}.sheet-nav{max-width:48%}.edu li{grid-template-columns:1fr;gap:4px}.contact-actions .btn{width:100%}.footer-row{flex-direction:column}}@media print{@page{margin:16mm}body{background:#fff;color:#111;font-size:11pt}body:before,body:after,.topbar,.hud,.hero-frame,.scroll-cue,.hero-cta,.clients,.filters,.more-work,.contact-actions,.toast,.sheet,.tl-toggle,.reel,.card-more,.cover{display:none!important}.js .reveal,.js .hero-copy>*,.js .idcard{opacity:1!important;transform:none!important;animation:none!important}main{padding:0;max-width:none}.hero{min-height:0;padding:0 0 12pt;grid-template-columns:1fr}.hero-title,.contact-title,.sec-title{color:#111;font-size:28pt}.hero-title em,.contact-title em,.stat dd{background:none;color:#111;-webkit-text-fill-color:#111}.sec{padding-top:18pt;break-inside:avoid-page}.card-link,.tk,.idcard,.stats,.services,.awards li{border-color:#ccc;background:#fff;box-shadow:none}.stat,.service{background:#fff}*{color:#111!important}.tl details>div{display:block!important}a[href^=http]:after{content:" (" attr(href) ")";font-size:8pt}}.reel-poster .cover-word{top:14px;bottom:auto}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s}::view-transition-group(*){animation-duration:.5s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-group(p-cover){animation-duration:.6s}::view-transition-old(p-cover),::view-transition-new(p-cover){height:100%;object-fit:cover}html[data-vt] .sheet[open],html[data-vt] .sheet[open]::backdrop{animation:none}html[data-vt=next]::view-transition-old(sheet){animation:.32s cubic-bezier(.4,0,1,1) both vt-out-l}html[data-vt=next]::view-transition-new(sheet){animation:.45s cubic-bezier(.22,1,.36,1) .08s both vt-in-r}html[data-vt=prev]::view-transition-old(sheet){animation:.32s cubic-bezier(.4,0,1,1) both vt-out-r}html[data-vt=prev]::view-transition-new(sheet){animation:.45s cubic-bezier(.22,1,.36,1) .08s both vt-in-l}html[data-vt=next]::view-transition-group(sheet),html[data-vt=prev]::view-transition-group(sheet){animation:none}.js .sec-head.reveal{filter:blur(10px);transition:opacity .9s var(--ease),transform .9s var(--ease),filter 1.1s var(--ease)}.js .sec-head.reveal.is-in{filter:none}}@keyframes vt-out-l{to{opacity:0;transform:translate(-64px)}}@keyframes vt-out-r{to{opacity:0;transform:translate(64px)}}@keyframes vt-in-r{0%{opacity:0;transform:translate(64px)}}@keyframes vt-in-l{0%{opacity:0;transform:translate(-64px)}}@supports (animation-timeline: view()){@media(prefers-reduced-motion:no-preference){.timeline:before{transform-origin:top;animation:tl-draw linear both;animation-timeline:view();animation-range:entry 0% cover 55%}.card .cover-word{animation:word-drift linear both;animation-timeline:view()}}}@keyframes tl-draw{0%{transform:scaleY(0)}}@keyframes word-drift{0%{translate:5% 0}to{translate:-5% 0}}.process-title{margin-top:clamp(48px,7vw,80px)}.process{list-style:none;padding:0;margin:18px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;counter-reset:step}.process-step{background:var(--bg);padding:clamp(20px,2.6vw,30px);position:relative}.process-step:after{content:"";position:absolute;top:34px;right:-6px;width:11px;height:11px;border-top:1px solid var(--violet);border-right:1px solid var(--violet);transform:rotate(45deg);background:var(--bg);z-index:1}.process-step:last-child:after{display:none}.process-n{display:block;font:400 11px/1 var(--mono);letter-spacing:.14em;color:var(--violet-2);margin-bottom:18px}.process-step h4{font:400 24px/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 10px}.process-step p{margin:0;color:var(--ink-2);font-size:15px;line-height:1.6}@media(max-width:1080px){.process{grid-template-columns:repeat(2,1fr)}.process-step:nth-child(2):after{display:none}}@media(max-width:640px){.process{grid-template-columns:1fr}.process-step:after{display:none}}.badge--case{color:var(--violet-2)}.sheet-case{margin:4px 0 26px}.doc--case{max-width:1040px}.case-back{margin:0 0 28px;font-size:14px}.case-back a{display:inline-flex;align-items:center;gap:8px;color:var(--ink-2);text-decoration:none}.case-back a:hover{color:var(--ink)}.case-back .ico{width:16px;height:16px}.case-head{margin-bottom:clamp(28px,4vw,44px)}.case-title{font:300 clamp(40px,6vw,76px)/1.02 var(--serif);letter-spacing:-.035em;margin:12px 0 18px}.case-title em{color:var(--violet-2)}.case-lead{font-size:clamp(18px,1.4vw + .6rem,22px);line-height:1.5;color:var(--ink-2);max-width:760px;margin:0 0 28px}.case-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:18px 28px;margin:0;padding-top:22px;border-top:1px solid var(--line)}.case-meta dt{font:400 10px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.case-meta dd{margin:0;font-size:15px}.case-hero{margin-bottom:clamp(36px,5vw,64px)}.cover.case-hero{aspect-ratio:21 / 9;border-radius:var(--radius-lg)}.reel-frame--case{border-radius:var(--radius-lg)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,56px)}.case-sec{margin-bottom:clamp(36px,5vw,60px)}.case-sec h2{font:400 11px/1.3 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--violet-2);margin:0 0 16px}.case-sec p{font-size:17px;line-height:1.7;color:var(--ink-2);margin:0 0 14px;max-width:68ch}.case-sec p strong{color:var(--ink);font-weight:600}.case-steps{list-style:none;padding:0;margin:0;display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.case-steps li{display:grid;grid-template-columns:96px 220px 1fr;gap:6px 24px;align-items:baseline;background:var(--bg);padding:22px clamp(18px,2.4vw,28px)}.case-step-n{font:400 11px/1 var(--mono);letter-spacing:.14em;color:var(--rec)}.case-steps h3{font:400 22px/1.2 var(--serif);letter-spacing:-.02em;margin:0}.case-steps p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.6}.case-sec--result p:first-of-type{font:300 clamp(24px,2.4vw,32px)/1.3 var(--serif);letter-spacing:-.02em;color:var(--ink)}.case-cta{text-align:center;padding:clamp(36px,6vw,64px) clamp(20px,4vw,48px);border:1px solid var(--line);border-radius:var(--radius-lg);background:radial-gradient(80% 120% at 50% 120%,rgba(139,92,246,.18),transparent 70%),var(--bg-2);margin:clamp(20px,4vw,40px) 0}.case-cta h2{font:300 clamp(32px,4vw,52px)/1.05 var(--serif);letter-spacing:-.03em;margin:0 0 12px}.case-cta p{color:var(--ink-2);margin:0 auto 26px;max-width:520px}.case-nav{display:flex;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line)}@media(max-width:860px){.case-grid{grid-template-columns:1fr;gap:0}.case-steps li{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){.case-hero{view-transition-name:case-cover}::view-transition-group(case-cover){animation-duration:.6s}}.cover--img:before{z-index:1}.cover--img .cover-hud{z-index:2}.cover--img img+.cover-hud,.cover--img:after{z-index:2}.cover--img{background:var(--bg-3)}.cover--img>img{filter:saturate(1.02)}.cover--img:before{background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 35%,transparent 65%,rgba(0,0,0,.35)),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);mix-blend-mode:normal}.prova{position:fixed;left:12px;bottom:12px;z-index:300;margin:0;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#0c0b0eeb;border:1px solid rgba(255,77,79,.55);color:#ffb4b5;font:400 11px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase;pointer-events:none}@media print{.prova{display:none}}.sheet-keys{margin:14px 0 0;text-align:center;font:400 11px/1.4 var(--mono);letter-spacing:.08em;color:var(--ink-3)}.sheet-keys kbd{display:inline-block;min-width:22px;padding:2px 6px;margin-right:4px;border:1px solid var(--line-2);border-radius:5px;font:inherit;color:var(--ink-2)}@media(pointer:coarse){.sheet-keys{display:none}}@media print{.case-cta,.case-nav,.case-back,.case-hero,.sheet-keys,.prova{display:none!important}.case-steps,.case-steps li{background:none!important;border-color:#ccc!important}.case-step-n{color:#555!important}}.sheet{scrollbar-width:thin;scrollbar-color:rgba(167,139,250,.35) transparent}.sheet::-webkit-scrollbar{width:8px}.sheet::-webkit-scrollbar-track{background:transparent;margin:18px 0}.sheet::-webkit-scrollbar-thumb{background:#a78bfa4d;border-radius:8px;border:2px solid var(--bg-2)}.sheet::-webkit-scrollbar-thumb:hover{background:#a78bfa8c}.sheet-close{transition:transform .35s var(--ease),border-color .25s,color .25s}.sheet-close:hover{transform:rotate(90deg);border-color:var(--violet);color:var(--violet-2)}@property --spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@media(hover:hover)and (prefers-reduced-motion:no-preference){.btn--ghost,.contact-links a,.filter:not([aria-pressed=true]){position:relative;isolation:isolate}.btn--ghost:before,.contact-links a:before,.filter:not([aria-pressed=true]):before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;background:conic-gradient(from var(--spin),transparent 0deg,var(--cyan) 50deg,var(--violet) 110deg,transparent 170deg,transparent 360deg);-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;opacity:0;transition:opacity .3s}.btn--ghost:hover:before,.contact-links a:hover:before,.filter:not([aria-pressed=true]):hover:before{opacity:1;animation:spin-border 1.6s linear infinite}.btn--ghost:hover,.contact-links a:hover{--by: -2px;box-shadow:0 12px 28px -14px #22d3ee8c}@keyframes spin-border{to{--spin: 360deg}}.btn--primary{background-size:200% 100%;background-image:linear-gradient(110deg,#ef4444,#a855f7,#22d3ee);background-position:0% 50%;transition:transform .35s var(--ease),box-shadow .35s var(--ease),background-position .8s var(--ease);position:relative;overflow:hidden;isolation:isolate}.btn--primary:hover{background-position:100% 50%}.btn--primary:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.35) 50%,transparent 65%);transform:translate(-120%);pointer-events:none}.btn--primary:hover:after{transform:translate(120%);transition:transform .75s var(--ease)}.btn .ico{transition:transform .35s var(--ease)}.btn:hover .ico{transform:translate(3px)}.btn--quiet:hover .ico{transform:translateY(-2px)}.card-link{position:relative}.service:hover .service-ico{animation:hop .6s var(--ease)}.service-n{transition:color .3s}.service:hover .service-n{color:var(--cyan)}.process-step{transition:background .35s}.process-step:hover{background:var(--bg-2)}.process-step:hover .process-n{color:var(--cyan)}@keyframes hop{30%{transform:translateY(-6px) rotate(-6deg)}60%{transform:translateY(1px)}}.tl summary{transition:transform .35s var(--ease)}.tl:hover summary{transform:translate(6px)}.tl:hover:before{background:var(--violet)}.brand-mark{position:relative;overflow:hidden;isolation:isolate}.brand-mark:before{content:"";position:absolute;inset:0;z-index:-1;background:var(--violet);transform:translateY(101%);transition:transform .35s cubic-bezier(.77,0,.175,1)}.brand:hover .brand-mark{background:transparent;color:var(--bg)}.brand:hover .brand-mark:before{transform:translateY(0)}.stat dd{transition:transform .4s var(--ease)}.stat:hover dd{transform:translateY(-3px)}.tk{transition:border-color .3s,transform .4s var(--ease)}.tk:hover{border-color:#a78bfa73;transform:translateY(-3px)}.chips li{transition:border-color .25s,color .25s}.chips li:hover{border-color:var(--violet);color:var(--ink)}}@media(prefers-reduced-motion:no-preference){.hero-title em{background-image:linear-gradient(100deg,#f87171,#c084fc 30%,#67e8f9 55%,#c084fc 78%,#f87171);background-size:220% 100%;animation:name-flow 9s ease-in-out infinite alternate}}@keyframes name-flow{0%{background-position:0% 50%}to{background-position:100% 50%}}.cover-word{color:#ffffff29;-webkit-text-stroke:1px rgba(255,255,255,.34);font-weight:400}.card-link:hover .cover-word{color:#ffffff42;-webkit-text-stroke-color:rgba(255,255,255,.6)}html.lq{scrollbar-width:none}html.lq::-webkit-scrollbar{display:none}.lq-track{position:fixed;top:calc(var(--top-h) + 10px);bottom:14px;right:3px;width:18px;z-index:60}.lq-thumb{position:absolute;top:0;right:3px;width:6px;border-radius:6px;background:linear-gradient(180deg,var(--violet-2),var(--cyan));opacity:.55;transform-origin:50% 50%;will-change:transform;transition:width .35s var(--ease),right .35s var(--ease),opacity .3s,border-radius .5s var(--ease);cursor:grab}.lq-track:hover .lq-thumb,.lq-thumb.is-drag{width:12px;right:0;opacity:.9;border-radius:40% 60% 55% 45%/12px 12px 14px 10px;animation:blob 2.4s ease-in-out infinite alternate;box-shadow:0 0 18px #a78bfa73}.lq-thumb.is-drag{cursor:grabbing}@keyframes blob{50%{border-radius:60% 40% 45% 55%/14px 10px 12px 14px}}@media(pointer:coarse),(prefers-reduced-motion:reduce){.lq-track{display:none}}@media print{.lq-track,.particles{display:none}}.ambient{position:fixed;inset:-12vmax;pointer-events:none;z-index:0;will-change:transform}.ambient i{position:absolute;border-radius:50%}.ambient i:first-child{width:70vmax;height:70vmax;right:-12vmax;top:-18vmax;background:radial-gradient(circle,rgba(168,85,247,.2) 0%,transparent 62%)}.ambient i:last-child{width:60vmax;height:60vmax;left:-12vmax;bottom:-16vmax;background:radial-gradient(circle,rgba(45,212,191,.13) 0%,transparent 62%)}@media(prefers-reduced-motion:no-preference){.ambient i:first-child{animation:orb-a 24s ease-in-out infinite alternate}.ambient i:last-child{animation:orb-b 30s ease-in-out infinite alternate}}@keyframes orb-a{to{transform:translate3d(-6vmax,5vmax,0) scale(1.08)}}@keyframes orb-b{to{transform:translate3d(5vmax,-4vmax,0) scale(1.1)}}.btn{transform:translate(var(--mgx, 0px),calc(var(--by) + var(--mgy, 0px)))}@media(hover:hover)and (prefers-reduced-motion:no-preference){.card-link:hover{transform:perspective(1000px) translateY(-4px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg))}.card-link{transition:border-color .35s,transform .25s ease-out,box-shadow .5s var(--ease)}.service:after,.tk:after,.stat:after,.case-steps li:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:radial-gradient(260px circle at var(--sx, 50%) var(--sy, 50%),rgba(167,139,250,.13),transparent 65%);opacity:0;transition:opacity .35s}.service:hover:after,.tk:hover:after,.stat:hover:after,.case-steps li:hover:after{opacity:1}.tk,.stat,.case-steps li{position:relative}}.js .stagger>*{opacity:0;transform:translateY(22px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.js .stagger.is-in>*{opacity:1;transform:none}.js .stagger.is-in>:nth-child(1){transition-delay:.05s}.js .stagger.is-in>:nth-child(2){transition-delay:.11s}.js .stagger.is-in>:nth-child(3){transition-delay:.17s}.js .stagger.is-in>:nth-child(4){transition-delay:.23s}.js .stagger.is-in>:nth-child(5){transition-delay:.29s}.js .stagger.is-in>:nth-child(6){transition-delay:.35s}.js .stagger.is-in>:nth-child(7){transition-delay:.41s}.js .stagger.is-in>:nth-child(8){transition-delay:.47s}.js .stagger.is-in>:nth-child(9){transition-delay:.53s}.js .stagger.is-in>:nth-child(10){transition-delay:.59s}.js .stagger.is-in>:nth-child(11){transition-delay:.65s}.js .stagger.is-in>:nth-child(12){transition-delay:.71s}.js .stagger.is-in>:nth-child(n+13){transition-delay:.75s}.js .stagger.is-in>.card{transition-delay:0s;transition-duration:.6s}@media(prefers-reduced-motion:reduce){.js .stagger>*{opacity:1;transform:none;transition:none}}.idcard-pic{position:relative;display:inline-block}.idcard-photo{outline:none}.idcard-pic:after{content:"";position:absolute;left:-6px;top:-6px;width:116px;height:116px;border-radius:50%;border:1px dashed rgba(167,139,250,.55);pointer-events:none}@media(prefers-reduced-motion:no-preference){.idcard-pic:after{animation:ring 30s linear infinite}}@keyframes ring{to{transform:rotate(360deg)}}@media print{.ambient{display:none}}.hero-title .k{display:inline-block}@media(prefers-reduced-motion:no-preference){.hero-title .k2{animation:name-flow 9s ease-in-out 1.4s infinite alternate}.intro-1 .hero-title .k1{animation:kaleido-g 1.05s cubic-bezier(.22,1,.36,1) both}.intro-1 .hero-title .k2{animation:kaleido 1.15s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.4s infinite alternate}.intro-2 .hero-title .k1{animation:rack 1.1s cubic-bezier(.22,1,.36,1) both}.intro-2 .hero-title .k2{animation:rack 1.2s cubic-bezier(.22,1,.36,1) .15s both,name-flow 9s ease-in-out 1.4s infinite alternate}.intro-3 .hero-title .k1{animation:wipe .9s cubic-bezier(.65,0,.35,1) both}.intro-3 .hero-title .k2{animation:wipe .95s cubic-bezier(.65,0,.35,1) .2s both,name-flow 9s ease-in-out 1.4s infinite alternate}.intro-4 .hero-title .k1{animation:tune .9s steps(1) both}.intro-4 .hero-title .k2{animation:tune .95s steps(1) .1s both,name-flow 9s ease-in-out 1.4s infinite alternate}}@keyframes rack{0%{opacity:0;filter:blur(22px);transform:scale(1.22)}55%{opacity:1;filter:blur(4px);transform:scale(.985)}75%{filter:blur(7px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes wipe{0%{clip-path:inset(-10% 100% -20% 0);transform:translate(-14px);filter:blur(6px)}to{clip-path:inset(-10% -5% -20% 0);transform:none;filter:blur(0)}}@keyframes tune{0%{opacity:0}10%{opacity:1;transform:translate(-6px) skew(-8deg);text-shadow:4px 0 #ef4444,-4px 0 #22d3ee}25%{opacity:.4;transform:translate(5px);text-shadow:-3px 0 #ef4444,3px 0 #22d3ee}40%{opacity:1;transform:translate(-2px) skew(4deg);text-shadow:2px 0 #a855f7,-2px 0 #22d3ee}55%{opacity:.7;transform:none;text-shadow:-1px 0 #ef4444,1px 0 #22d3ee}70%{opacity:1;transform:translate(1px);text-shadow:1px 0 #a855f7,-1px 0 transparent}to{opacity:1;transform:none;text-shadow:none}}@keyframes kaleido-g{0%{opacity:0;filter:blur(14px);transform:scale(1.06) rotate(-2deg);color:#c084fc}45%{opacity:1;filter:blur(3px);color:#67e8f9}75%{color:#f9a8d4}to{opacity:1;filter:blur(0);transform:none;color:var(--ink)}}@keyframes kaleido{0%{opacity:0;filter:blur(14px) hue-rotate(0deg);transform:scale(1.06) rotate(2deg)}50%{opacity:1;filter:blur(3px) hue-rotate(200deg)}to{opacity:1;filter:blur(0) hue-rotate(360deg);transform:none}}.critter{position:fixed;left:0;top:0;z-index:90;pointer-events:none;opacity:0;transition:opacity .3s;mix-blend-mode:screen}.critter.is-on{opacity:1}@property --draw{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.card-link,.service,.tk,.process-step,.edu li{--c1: #ef4444;--c2: #a855f7;--c3: #22d3ee}.service{--c1: var(--c, #a855f7);--c2: #a855f7;--c3: #22d3ee}.card-link:after,.service:before,.tk:before,.process-step:before{content:"";position:absolute;inset:0;z-index:4;border-radius:inherit;padding:1.5px;pointer-events:none;background:conic-gradient(from 0deg,var(--c1) 0deg,var(--c2) calc(var(--draw) * .5),var(--c3) var(--draw),transparent var(--draw));-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:--draw .9s cubic-bezier(.22,1,.36,1)}@media(hover:hover){.card-link:hover:after,.service:hover:before,.tk:hover:before,.process-step:hover:before{--draw: 360deg}}.service.play:before{--draw: 360deg}@media(prefers-reduced-motion:reduce){.card-link:after,.service:before,.tk:before,.process-step:before{transition:none}}.service{transition:background .4s}.service>:not(.service-n){transition:transform .55s cubic-bezier(.34,1.56,.64,1)}.service-ico{width:64px;height:64px;border-radius:16px;color:var(--c, var(--violet-2));border-color:color-mix(in srgb,var(--c, #a78bfa) 35%,transparent);background:color-mix(in srgb,var(--c, #a78bfa) 8%,transparent)}.service-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:7px}.service-list li{position:relative;padding-left:16px;font-size:14px;line-height:1.5;color:var(--ink-2)}.service-list li:before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:2px;background:var(--c, var(--violet));opacity:.85}@media(hover:hover)and (prefers-reduced-motion:no-preference){.service:hover{background:color-mix(in srgb,var(--c, #a78bfa) 7%,var(--bg))}.service:hover>:not(.service-n){transform:translateY(-5px) scale(1.012)}.service:hover .service-ico{animation:none;transform:translateY(-6px) scale(1.08)}.service:hover .service-n{color:var(--c, var(--cyan))}}@media(prefers-reduced-motion:no-preference){.service:is(:hover,.play) .l2{animation-delay:.15s}.service:is(:hover,.play) .l3{animation-delay:.3s}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.tl:before{transition:background .3s,transform .4s cubic-bezier(.34,1.56,.64,1),border-color .3s}.tl:hover:before{transform:scale(1.35);background:var(--cyan);border-color:var(--cyan);animation:dot-pulse 1.2s ease-out infinite}}@keyframes dot-pulse{0%{box-shadow:0 0 #22d3ee8c}to{box-shadow:0 0 0 12px #22d3ee00}}.edu li{position:relative;transition:background .35s,padding-left .35s cubic-bezier(.34,1.56,.64,1);border-radius:10px}.edu li:after{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;border-radius:2px;background:var(--grad);transform:scaleY(0);transition:transform .4s var(--ease)}.edu-y{transition:color .3s}.langs li .bar:after{transition:filter .3s}@media(hover:hover)and (prefers-reduced-motion:no-preference){.edu li:hover{background:#a78bfa0f;padding-left:12px}.edu li:hover:after{transform:none}.edu li:hover .edu-y{color:var(--cyan)}.langs li:hover .bar:after{animation:shine 1.2s ease-in-out infinite}}@keyframes shine{50%{filter:brightness(1.6) saturate(1.3)}}.ai-block{position:relative;margin-top:clamp(48px,7vw,80px);padding:clamp(24px,4vw,44px);border-radius:var(--radius-lg);border:1px solid rgba(52,211,153,.28);background:radial-gradient(90% 120% at 100% 0%,rgba(52,211,153,.12),transparent 60%),radial-gradient(70% 100% at 0% 100%,rgba(139,92,246,.14),transparent 60%),var(--bg-2);overflow:hidden}.ai-head{display:flex;gap:20px;align-items:flex-start;margin-bottom:clamp(24px,3vw,36px)}.ai-badge{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:16px;font:600 18px/1 var(--mono);letter-spacing:.04em;color:#0c0b0e;background:linear-gradient(135deg,#34d399,#22d3ee 50%,#a78bfa);box-shadow:0 10px 30px -10px #34d39999}.ai-title{font:300 clamp(30px,3.6vw,46px)/1.05 var(--serif);letter-spacing:-.03em;margin:0 0 8px}.ai-intro{color:var(--ink-2);max-width:62ch;margin:0}.ai-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.ai-group{background:var(--bg);padding:20px;position:relative;transition:background .35s}.ai-k{display:flex;align-items:baseline;gap:10px;font:400 22px/1.1 var(--serif);letter-spacing:-.02em;margin:0 0 14px}.ai-k span{font:400 11px/1 var(--mono);letter-spacing:.12em;color:#34d399}.ai-group ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.ai-group li{font-size:14px;line-height:1.45;color:var(--ink-2);padding-left:14px;position:relative}.ai-group li:before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:#34d399}.ai-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:clamp(20px,3vw,28px) 0 0}.ai-tools>span:first-child{font:400 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);margin-right:6px}.ai-tool{display:inline-flex;align-items:center;min-height:34px;padding:0 14px;border-radius:999px;border:1px solid rgba(52,211,153,.35);font-size:14px;color:var(--ink);background:#34d3990f;transition:border-color .25s,background .25s,transform .35s cubic-bezier(.34,1.56,.64,1)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.ai-group:hover{background:color-mix(in srgb,#34d399 7%,var(--bg))}.ai-tool:hover{border-color:#34d399;background:#34d39924;transform:translateY(-3px)}}@media(max-width:1080px){.ai-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ai-groups{grid-template-columns:1fr}.ai-head{flex-direction:column}}.critter{mix-blend-mode:normal}@property --ga{syntax: "<angle>"; inherits: false; initial-value: 135deg;}.btn--primary,.filter[aria-pressed=true],.ai-badge{background-image:linear-gradient(var(--ga),#ef4444 0%,#a855f7 50%,#22d3ee 100%);background-size:100% 100%}@media(prefers-reduced-motion:no-preference){.btn--primary,.filter[aria-pressed=true],.ai-badge{animation:ga-spin 7s linear infinite}}@keyframes ga-spin{to{--ga: 495deg}}@media(hover:hover)and (prefers-reduced-motion:no-preference){.btn--primary:hover{background-position:0 0}}.sec-title em,.contact-title em,.case-title em,.ai-title em,.case-cta h2 em{background-image:linear-gradient(100deg,#f87171,#c084fc 30%,#67e8f9 55%,#c084fc 78%,#f87171);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}@media(prefers-reduced-motion:no-preference){.sec-title em,.contact-title em,.case-title em,.ai-title em,.case-cta h2 em{animation:name-flow 9s ease-in-out infinite alternate}}.grid.is-fading>.card:not(.is-hidden){animation:card-in .45s cubic-bezier(.22,1,.36,1) both}.grid.is-fading>.card:nth-child(2){animation-delay:.04s}.grid.is-fading>.card:nth-child(3){animation-delay:.08s}.grid.is-fading>.card:nth-child(4){animation-delay:.12s}.grid.is-fading>.card:nth-child(n+5){animation-delay:.16s}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.98)}}@media(hover:none),(pointer:coarse){.topbar:before{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0c0b0ef0}body:before,.particles{display:none}.ambient i{animation:none!important}.timeline:before,.card .cover-word{animation:none!important}.sec-title em,.case-title em,.ai-title em,.case-cta h2 em{animation:none!important}.card-link:hover{transform:none;box-shadow:none;border-color:var(--line)}.btn--ghost:hover,.contact-links a:hover{--by: 0px;box-shadow:none}.btn--primary:hover{--by: 0px}.btn,.card-link,.filter,.contact-links a,.sheet-nav,.lang,.pill{-webkit-tap-highlight-color:transparent;transition:transform .22s cubic-bezier(.22,1,.36,1),background .25s,border-color .25s,color .25s}.btn:active,.filter:active,.contact-links a:active,.lang:active,.pill:active{transform:scale(.95)}.card-link:active{transform:scale(.98)}.sheet[open]{animation:sheet-up .42s cubic-bezier(.22,1,.36,1)}}@keyframes sheet-up{0%{transform:translateY(40px);opacity:0}}@media(prefers-reduced-motion:no-preference){.intro-5 .hero-title .k1{animation:from-far 1s cubic-bezier(.34,1.4,.64,1) both}.intro-5 .hero-title .k2{animation:from-far 1.05s cubic-bezier(.34,1.4,.64,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-6 .hero-title .k1{animation:drop-in .9s cubic-bezier(.34,1.56,.64,1) both}.intro-6 .hero-title .k2{animation:drop-in .95s cubic-bezier(.34,1.56,.64,1) .14s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-7 .hero-title .k1{animation:shutter .8s cubic-bezier(.65,0,.35,1) both}.intro-7 .hero-title .k2{animation:shutter .85s cubic-bezier(.65,0,.35,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-8 .hero-title .k1{animation:flip-in 1s cubic-bezier(.22,1,.36,1) both}.intro-8 .hero-title .k2{animation:flip-in 1s cubic-bezier(.22,1,.36,1) .15s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-9 .hero-title .k1{animation:typewriter .8s steps(8) both}.intro-9 .hero-title .k2{animation:typewriter .7s steps(7) .55s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-10 .hero-title .k1{animation:film-flash 1s ease-out both}.intro-10 .hero-title .k2{animation:film-flash 1s ease-out .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-11 .hero-title .k1{animation:from-left .9s cubic-bezier(.22,1,.36,1) both}.intro-11 .hero-title .k2{animation:from-right .9s cubic-bezier(.22,1,.36,1) .05s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-12 .hero-title .k1{animation:swipe .85s cubic-bezier(.22,1,.36,1) both}.intro-12 .hero-title .k2{animation:swipe .85s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-13 .hero-title .k1{animation:rise-up .9s cubic-bezier(.22,1,.36,1) both}.intro-13 .hero-title .k2{animation:rise-up .9s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-14 .hero-title .k1{animation:rubber 1.1s ease both}.intro-14 .hero-title .k2{animation:rubber 1.1s ease .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}}.intro-8 .hero-title{perspective:900px}@keyframes from-far{0%{opacity:0;transform:scale(.3);filter:blur(12px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes drop-in{0%{opacity:0;transform:translateY(-60px) rotate(-4deg)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes shutter{0%{clip-path:inset(50% -5% 50% -5%);opacity:.4}to{clip-path:inset(-15% -5% -25% -5%);opacity:1}}@keyframes flip-in{0%{opacity:0;transform:rotateX(-95deg);transform-origin:50% 100%}to{opacity:1;transform:none;transform-origin:50% 100%}}@keyframes typewriter{0%{clip-path:inset(-15% 100% -25% 0)}to{clip-path:inset(-15% -5% -25% 0)}}@keyframes film-flash{0%{opacity:0;filter:brightness(4) blur(10px)}30%{opacity:1;filter:brightness(2.2) blur(3px)}to{opacity:1;filter:none}}@keyframes from-left{0%{opacity:0;transform:translate(-80px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes from-right{0%{opacity:0;transform:translate(80px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes swipe{0%{opacity:0;transform:translate(40px) skew(-18deg)}70%{transform:translate(-4px) skew(3deg)}to{opacity:1;transform:none}}@keyframes rise-up{0%{opacity:0;transform:translateY(35%) scaleY(.4);transform-origin:50% 100%}to{opacity:1;transform:none;transform-origin:50% 100%}}@keyframes rubber{0%{opacity:0;transform:scale3d(.6,.6,1)}30%{opacity:1;transform:scale3d(1.18,.82,1)}45%{transform:scale3d(.9,1.1,1)}60%{transform:scale3d(1.05,.95,1)}75%{transform:scale3d(.98,1.02,1)}to{opacity:1;transform:none}}background: radial-gradient(circle at 35% 30%,rgba(255,255,255,.6),rgba(196,181,253,.55) 40%,rgba(34,211,238,0) 72%); } .process-step::after{display:none!important}.process-step>*{transition:transform .55s cubic-bezier(.34,1.56,.64,1)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.process-step:hover>*{transform:translateY(-6px)}.process-step:hover .process-n{transform:translateY(-6px) scale(1.25)}}.is-off,.is-off *,.is-off *:before,.is-off *:after{animation-play-state:paused!important}@media(prefers-reduced-motion:no-preference){.intro-15 .hero-title .k1{animation:in-slices .9s steps(1) both}.intro-15 .hero-title .k2{animation:in-slices .9s steps(1) .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-16 .hero-title .k1{animation:neon 1.2s linear both}.intro-16 .hero-title .k2{animation:neon 1.2s linear .15s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-17 .hero-title .k1{animation:spiral 1s cubic-bezier(.22,1,.36,1) both}.intro-17 .hero-title .k2{animation:spiral 1.05s cubic-bezier(.22,1,.36,1) .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-18 .hero-title .k1{animation:bounce-up .95s cubic-bezier(.34,1.56,.64,1) both}.intro-18 .hero-title .k2{animation:bounce-up .95s cubic-bezier(.34,1.56,.64,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-19 .hero-title .k1{animation:curtain .9s cubic-bezier(.22,1,.36,1) both}.intro-19 .hero-title .k2{animation:curtain .9s cubic-bezier(.22,1,.36,1) .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-20 .hero-title .k1{animation:swing 1.1s cubic-bezier(.22,1,.36,1) both}.intro-20 .hero-title .k2{animation:swing 1.1s cubic-bezier(.22,1,.36,1) .15s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-21 .hero-title .k1{animation:skew-down .85s cubic-bezier(.22,1,.36,1) both}.intro-21 .hero-title .k2{animation:skew-down .85s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-22 .hero-title .k1{animation:pop .6s cubic-bezier(.34,1.56,.64,1) both}.intro-22 .hero-title .k2{animation:pop .6s cubic-bezier(.34,1.56,.64,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-23 .hero-title .k1{animation:smoke 1.3s cubic-bezier(.22,1,.36,1) both}.intro-23 .hero-title .k2{animation:smoke 1.3s cubic-bezier(.22,1,.36,1) .15s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-24 .hero-title .k1{animation:chroma-zoom 1s cubic-bezier(.22,1,.36,1) both}.intro-24 .hero-title .k2{animation:chroma-zoom 1s cubic-bezier(.22,1,.36,1) .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-25 .hero-title .k1{animation:mirror .9s cubic-bezier(.22,1,.36,1) both}.intro-25 .hero-title .k2{animation:mirror .9s cubic-bezier(.22,1,.36,1) .15s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-26 .hero-title .k1{animation:mask-up .8s cubic-bezier(.22,1,.36,1) both}.intro-26 .hero-title .k2{animation:mask-up .8s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-27 .hero-title .k1{animation:heartbeat 1.1s ease-out both}.intro-27 .hero-title .k2{animation:heartbeat 1.1s ease-out .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-28 .hero-title .k1{animation:diag .9s cubic-bezier(.22,1,.36,1) both}.intro-28 .hero-title .k2{animation:diag .9s cubic-bezier(.22,1,.36,1) .12s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-29 .hero-title .k1{animation:jello 1s ease both}.intro-29 .hero-title .k2{animation:jello 1s ease .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}.intro-30 .hero-title .k1{animation:vhs 1s steps(1) both}.intro-30 .hero-title .k2{animation:vhs 1s steps(1) .1s both,name-flow 9s ease-in-out 1.6s infinite alternate}}.intro-20 .hero-title,.intro-17 .hero-title{perspective:900px}@keyframes in-slices{0%{opacity:0}8%{opacity:1;clip-path:inset(0 0 70% 0);transform:translate(-10px)}20%{clip-path:inset(40% 0 20% 0);transform:translate(8px)}35%{clip-path:inset(10% 0 45% 0);transform:translate(-4px)}50%{clip-path:inset(60% 0 0 0);transform:translate(3px)}65%{clip-path:inset(0 0 30% 0);transform:none}80%,to{opacity:1;clip-path:inset(-15% -5% -25% -5%);transform:none}}@keyframes neon{0%{opacity:0}10%{opacity:.8}14%{opacity:.1}22%{opacity:1}26%{opacity:.3}34%{opacity:1;filter:drop-shadow(0 0 14px rgba(196,181,253,.9))}to{opacity:1;filter:drop-shadow(0 0 0 transparent)}}@keyframes spiral{0%{opacity:0;transform:rotate(-200deg) scale(0)}to{opacity:1;transform:none}}@keyframes bounce-up{0%{opacity:0;transform:translateY(70px)}60%{opacity:1}to{opacity:1;transform:none}}@keyframes curtain{0%{clip-path:inset(-15% 50% -25% 50%);opacity:.3}to{clip-path:inset(-15% -5% -25% -5%);opacity:1}}@keyframes swing{0%{opacity:0;transform:rotateY(85deg);transform-origin:0 50%}to{opacity:1;transform:none;transform-origin:0 50%}}@keyframes skew-down{0%{opacity:0;transform:translateY(-50px) skewY(-8deg)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:none}}@keyframes smoke{0%{opacity:0;transform:translateY(25px) scale(1.1);filter:blur(22px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes chroma-zoom{0%{opacity:0;transform:scale(1.7);filter:blur(10px) hue-rotate(180deg) saturate(3)}to{opacity:1;transform:none;filter:none}}@keyframes mirror{0%{opacity:0;transform:scaleX(-1)}50%{opacity:1;transform:scaleX(.05)}to{opacity:1;transform:none}}@keyframes mask-up{0%{clip-path:inset(100% -5% -25% -5%);transform:translateY(40%)}to{clip-path:inset(-15% -5% -25% -5%);transform:none}}@keyframes heartbeat{0%{opacity:0;transform:scale(.6)}25%{opacity:1;transform:scale(1.12)}40%{transform:scale(.96)}55%{transform:scale(1.06)}to{opacity:1;transform:none}}@keyframes diag{0%{clip-path:polygon(0 0,0 0,0 0,0 0)}to{clip-path:polygon(-10% -20%,140% -20%,140% 130%,-10% 130%)}}@keyframes jello{0%{opacity:0;transform:none}15%{opacity:1;transform:skew(-14deg) skewY(-4deg)}30%{transform:skew(10deg) skewY(3deg)}45%{transform:skew(-6deg)}60%{transform:skew(3deg)}75%{transform:skew(-1deg)}to{opacity:1;transform:none}}@keyframes vhs{0%{opacity:0}10%{opacity:1;transform:translate(-8px,2px);filter:saturate(3) hue-rotate(40deg) blur(1px)}25%{transform:translate(6px,-1px);filter:saturate(2) hue-rotate(-30deg)}40%{transform:translate(-3px);filter:contrast(1.6)}55%{transform:translate(2px,1px);filter:blur(1px)}70%,to{opacity:1;transform:none;filter:none}}.service-ico{display:block;width:100%;max-width:260px;height:auto;aspect-ratio:3 / 2;padding:10px 12px;border-radius:16px;margin-bottom:22px}@media(hover:hover)and (prefers-reduced-motion:no-preference){.service:hover .service-ico{transform:translateY(-4px) scale(1.02)}}.sc{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.sc *{transform-box:view-box}.sc .fb{transform-box:fill-box;transform-origin:center}.sc text{fill:currentColor;stroke:none;font:700 5.2px/1 var(--mono);letter-spacing:.06em;text-anchor:middle}.lv-finger,.lv-rectxt,.lv-tvpic{opacity:0}.sc .lv-rectxt{text-anchor:start}.lv-w{opacity:.3;transform-origin:88px 34px}.vp-floor{fill:#a78bfa1a}.vp-wl,.vp-wr{fill:#a78bfa0d}.vp-wl{transform-origin:39px 36px}.vp-wr{transform-origin:81px 36px}.vp-grid{stroke-opacity:.35;stroke-dasharray:1;stroke-dashoffset:0}.vp-s{opacity:0;transform-origin:60px 55px}.vp-s1{opacity:1}.vp-beam{stroke:#22d3ee;stroke-dasharray:3 2}.vp-spark,.vp-flash{fill:#fde047;stroke:#fde047;opacity:0}.vp-flame{fill:#fb923c;stroke:#fb923c}.vp-fire{fill:#f97316;stroke:#f97316;fill-opacity:.7}.vp-check{fill:currentColor}.vp-stars{stroke-width:2.4}.mc-torso{fill:#22d3ee33;stroke:none;opacity:0;transform:scale(.4);transform-origin:60px 32px}.mc-cape{fill:#ef4444;stroke:#ef4444;stroke-width:1;opacity:0;transform-origin:60px 27px}.mc-city{stroke-opacity:.35}.mc-speed,.p-sh{opacity:0}.p-armr{transform-origin:68px 26px}.p-arml{transform-origin:52px 26px}.p-legl,.p-legr{transform-origin:60px 44px}.p-head{transform-origin:60px 15px}.p-body{transform-origin:60px 32px}.mc-hero{transform-origin:60px 44px}.ev-van{transform-origin:66px 66px}.ev-dish{transform-origin:20px 38px}.ev-mast{transform-origin:46px 38px}.ev-cam{transform-origin:102px 71px}.ev-wheel{transform-origin:18px 61px}.ev-wheel.w2{transform-origin:67px 61px}.ev-stripe{stroke:#ef4444}.ev-van text{font-size:5px}.ev-beam{fill:#f472b633;stroke:none;opacity:0}.ev-beam.b1{transform-origin:82px 8px}.ev-beam.b2{transform-origin:112px 8px}.ev-lamp{fill:currentColor}.ev-cable{stroke-dasharray:1;stroke-dashoffset:0}.ev-road{opacity:.45}.ev-tally{fill:#ef4444;stroke:none;opacity:0}@media(prefers-reduced-motion:no-preference){.service:is(:hover,.play) .lv-finger{animation:sc-press 1.3s cubic-bezier(.34,1.56,.64,1) both}.service:is(:hover,.play) .lv-btn{animation:sc-btn 1.3s both}.service:is(:hover,.play) .lv-rec{animation:sc-blinkred 1s steps(1) .75s infinite}.service:is(:hover,.play) .lv-rectxt{animation:sc-in .3s .75s forwards}.service:is(:hover,.play) .lv-onair rect{animation:sc-onair 1.4s ease-in-out .9s infinite alternate}.service:is(:hover,.play) .lv-onair text{animation:sc-onair-t 1.4s ease-in-out .9s infinite alternate}.service:is(:hover,.play) .lv-w{animation:sc-wave 1.3s ease-out 1.1s infinite}.service:is(:hover,.play) .lv-w.w2{animation-delay:1.3s}.service:is(:hover,.play) .lv-w.w3{animation-delay:1.5s}.service:is(:hover,.play) .lv-tvpic{animation:sc-in .4s 1.6s forwards,sc-tv 2.2s steps(1) 2s infinite}.service:is(:hover,.play) .vp-wl{animation:sc-wl .7s cubic-bezier(.34,1.56,.64,1) both}.service:is(:hover,.play) .vp-wr{animation:sc-wr .7s cubic-bezier(.34,1.56,.64,1) .15s both}.service:is(:hover,.play) .vp-floor{animation:sc-rise .6s cubic-bezier(.22,1,.36,1) .3s both}.service:is(:hover,.play) .vp-grid{animation:sc-draw .8s ease .7s both}.service:is(:hover,.play) .vp-s{animation:sc-scene 10s 1.2s infinite both}.service:is(:hover,.play) .vp-s2{animation-delay:3.2s}.service:is(:hover,.play) .vp-s3{animation-delay:5.2s}.service:is(:hover,.play) .vp-s4{animation-delay:7.2s}.service:is(:hover,.play) .vp-s5{animation-delay:9.2s}.service:is(:hover,.play) .vp-beam{animation:sc-flick .25s steps(2) infinite}.service:is(:hover,.play) .vp-spark{animation:sc-spark .3s ease-in-out infinite alternate}.service:is(:hover,.play) .vp-flash{animation:sc-flash .8s steps(1) infinite}.service:is(:hover,.play) .vp-flash.f2{animation-delay:.4s}.service:is(:hover,.play) .vp-rocket{animation:sc-rocket 1s ease-in-out infinite alternate}.service:is(:hover,.play) .vp-flame,.service:is(:hover,.play) .vp-fire{animation:sc-flame .16s steps(2) infinite alternate}.service:is(:hover,.play) .vp-car{animation:sc-car 2s ease-in-out infinite}.service:is(:hover,.play) .vp-speed{animation:sc-flick .3s steps(2) infinite}.service:is(:hover,.play) .p-head{animation:sc-pc-head .7s cubic-bezier(.34,1.56,.64,1) both}.service:is(:hover,.play) .p-body{animation:sc-pc-body .7s cubic-bezier(.34,1.56,.64,1) .05s both,sc-muscle .4s ease .9s forwards}.service:is(:hover,.play) .p-sh{animation:sc-in .3s .9s forwards,sc-muscle .4s ease .9s forwards}.service:is(:hover,.play) .p-arml{animation:sc-pc-arml .7s cubic-bezier(.34,1.56,.64,1) .1s both,sc-muscle .4s ease .9s forwards,sc-arml .4s ease 1.9s forwards}.service:is(:hover,.play) .p-armr{animation:sc-pc-armr .7s cubic-bezier(.34,1.56,.64,1) .1s both,sc-muscle .4s ease .9s forwards,sc-fist .5s cubic-bezier(.34,1.56,.64,1) 1.75s forwards}.service:is(:hover,.play) .p-legl{animation:sc-pc-legl .7s cubic-bezier(.34,1.56,.64,1) .15s both,sc-muscle .4s ease .9s forwards,sc-legl .4s ease 1.9s forwards}.service:is(:hover,.play) .p-legr{animation:sc-pc-legr .7s cubic-bezier(.34,1.56,.64,1) .15s both,sc-muscle .4s ease .9s forwards,sc-legr .4s ease 1.9s forwards}.service:is(:hover,.play) .mc-torso{animation:sc-pop .45s cubic-bezier(.34,1.56,.64,1) .95s forwards}.service:is(:hover,.play) .mc-cape{animation:sc-cape-in .45s cubic-bezier(.34,1.56,.64,1) 1.3s forwards,sc-cape .45s ease-in-out 1.9s infinite alternate}.service:is(:hover,.play) .mc-hero{animation:sc-crouch .3s ease 1.6s,sc-fly .7s cubic-bezier(.5,0,.3,1.4) 1.95s forwards,sc-hover 1.4s ease-in-out 2.65s infinite alternate}.service:is(:hover,.play) .mc-city{animation:sc-city 1.2s ease-in 2s forwards}.service:is(:hover,.play) .mc-speed{animation:sc-speed .5s ease 2.2s infinite alternate}.service:is(:hover,.play) .ev-van{animation:sc-van 1.1s cubic-bezier(.15,.6,.3,1) both,sc-brake .4s ease-out 1.05s}.service:is(:hover,.play) .ev-wheel{animation:sc-wheel .35s linear 3 both}.service:is(:hover,.play) .ev-road{animation:sc-road .35s linear 3}.service:is(:hover,.play) .ev-dish{animation:sc-popup .45s cubic-bezier(.34,1.56,.64,1) 1.35s both,sc-dish 2s ease-in-out 1.9s infinite alternate}.service:is(:hover,.play) .ev-mast{animation:sc-popup .45s cubic-bezier(.34,1.56,.64,1) 1.5s both}.service:is(:hover,.play) .ev-cable{animation:sc-draw .6s ease 1.65s both}.service:is(:hover,.play) .ev-cam{animation:sc-popup .45s cubic-bezier(.34,1.56,.64,1) 2s both}.service:is(:hover,.play) .ev-tally{animation:sc-blinkon 1s steps(1) 2.4s infinite}.service:is(:hover,.play) .ev-beam{animation:sc-beams 1.6s ease-in-out 2.4s infinite alternate}.service:is(:hover,.play) .ev-beam.b2{animation-delay:2.7s}}@keyframes sc-in{to{opacity:1}}@keyframes sc-out{to{opacity:0}}@keyframes sc-pop{to{opacity:1;transform:none}}@keyframes sc-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes sc-rise{0%{opacity:0;transform:translateY(14px)}}@keyframes sc-fill{to{fill-opacity:1}}@keyframes sc-fill-sky{to{fill-opacity:.9}}@keyframes sc-press{0%{opacity:0;transform:translateY(-10px)}35%{opacity:1;transform:translateY(-3px)}55%{opacity:1;transform:translateY(1.5px)}80%,to{opacity:0;transform:translateY(-10px)}}@keyframes sc-btn{50%{transform:scaleY(.4)}60%,to{transform:none;fill:#ef4444;stroke:#ef4444}}@keyframes sc-blinkred{0%{fill:#ef4444;stroke:#ef4444}50%{fill:transparent}}@keyframes sc-blinkon{0%{opacity:1}50%{opacity:0}}@keyframes sc-onair{to{fill:#ef4444d9;stroke:#ef4444}}@keyframes sc-onair-t{to{fill:#fff}}@keyframes sc-wave{0%{opacity:0;transform:scale(.6)}30%{opacity:1}to{opacity:0;transform:scale(1.15)}}@keyframes sc-tv{0%,90%{opacity:1}93%{opacity:.2}96%{opacity:1}}@keyframes sc-tap{0%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes sc-raise{to{transform:rotate(-125deg)}}@keyframes sc-keys{50%{stroke:#fff}}@keyframes sc-led{50%{fill:currentColor}}@keyframes sc-nod{50%{transform:rotate(-7deg)}}@keyframes sc-flow{to{stroke-dashoffset:-.1}}@keyframes sc-grade{0%,15%{filter:none}25%,40%{filter:hue-rotate(110deg) saturate(1.4)}50%,65%{filter:grayscale(1) contrast(1.2)}75%,90%{filter:sepia(.6) hue-rotate(-20deg)}to{filter:none}}@keyframes sc-wl{0%{opacity:0;transform:translate(-26px,-10px) rotate(-10deg)}}@keyframes sc-wr{0%{opacity:0;transform:translate(26px,-10px) rotate(10deg)}}@keyframes sc-scene{0%{opacity:0;transform:translateY(5px) scale(.96)}3%{opacity:1;transform:none}18%{opacity:1;transform:none}21%,to{opacity:0;transform:translateY(-3px)}}@keyframes sc-flick{50%{opacity:.2}}@keyframes sc-spark{0%{opacity:.3;transform:scale(.6)}to{opacity:1;transform:scale(1.3)}}@keyframes sc-flash{0%{opacity:1}15%,to{opacity:0}}@keyframes sc-rocket{to{transform:translateY(-6px)}}@keyframes sc-flame{to{transform:scaleY(.6)}}@keyframes sc-car{0%{transform:translate(-10px)}to{transform:translate(40px)}}@keyframes sc-pc-head{0%{opacity:0;transform:translate(-14px,-10px) rotate(-40deg)}}@keyframes sc-pc-body{0%{opacity:0;transform:translate(12px,-12px) rotate(35deg)}}@keyframes sc-pc-arml{0%{opacity:0;transform:translate(-16px,6px) rotate(-70deg)}}@keyframes sc-pc-armr{0%{opacity:0;transform:translate(16px,-4px) rotate(80deg)}}@keyframes sc-pc-legl{0%{opacity:0;transform:translate(-12px,12px) rotate(50deg)}}@keyframes sc-pc-legr{0%{opacity:0;transform:translate(12px,10px) rotate(-50deg)}}@keyframes sc-muscle{to{stroke-width:3.4}}@keyframes sc-cape-in{0%{opacity:0;transform:scaleY(.1)}to{opacity:1;transform:none}}@keyframes sc-cape{to{transform:skew(-8deg) scaleY(.88)}}@keyframes sc-fist{to{transform:rotate(-158deg)}}@keyframes sc-arml{to{transform:rotate(-10deg)}}@keyframes sc-legl{to{transform:rotate(-16deg)}}@keyframes sc-legr{to{transform:rotate(16deg)}}@keyframes sc-crouch{50%{transform:translateY(2px) scaleY(.9)}}@keyframes sc-fly{to{transform:translateY(-9px)}}@keyframes sc-hover{0%{transform:translateY(-9px)}to{transform:translateY(-12px)}}@keyframes sc-city{to{transform:translateY(14px);opacity:.15}}@keyframes sc-speed{0%{opacity:.2;transform:translateY(-2px)}to{opacity:.9;transform:translateY(3px)}}@keyframes sc-van{0%{transform:translate(-75px)}}@keyframes sc-brake{35%{transform:rotate(3.5deg)}70%{transform:rotate(-1.2deg)}to{transform:none}}@keyframes sc-wheel{to{transform:rotate(360deg)}}@keyframes sc-road{to{transform:translate(-18px)}}@keyframes sc-popup{0%{opacity:0;transform:scaleY(0)}to{opacity:1;transform:none}}@keyframes sc-dish{to{transform:rotate(-14deg)}}@keyframes sc-beams{0%{opacity:.25;transform:rotate(-8deg)}to{opacity:1;transform:rotate(8deg)}}.service-ico{overflow:hidden}.apps{margin-top:clamp(56px,8vw,96px)}.apps-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 16px}.apps-title{font:300 clamp(30px,3.6vw,46px)/1.05 var(--serif);letter-spacing:-.03em;margin:0}.apps-draft{font:400 10px/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#ffb4b5;border:1px dashed rgba(255,77,79,.6);border-radius:999px;padding:4px 10px}.apps-intro{color:var(--ink-2);max-width:62ch;margin:10px 0 clamp(22px,3vw,32px)}.app-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.app{position:relative;padding:20px;border-radius:var(--radius);border:1px solid var(--line);background:linear-gradient(160deg,hsl(var(--h, 265) 60% 20% / .35),transparent 60%),var(--bg-2);transition:transform .5s cubic-bezier(.34,1.56,.64,1),border-color .3s}.app-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:16px;color:hsl(var(--h, 265) 85% 72%);background:hsl(var(--h, 265) 80% 60% / .12);border:1px solid hsl(var(--h, 265) 80% 60% / .35)}.app-ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.app h4{font:400 21px/1.15 var(--serif);letter-spacing:-.02em;margin:0 0 8px}.app p{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0 0 14px}.app-tags{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.app-tags li{font:400 11px/1 var(--mono);letter-spacing:.06em;padding:6px 9px;border-radius:999px;border:1px solid var(--line-2);color:var(--ink-2)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.app:hover{transform:translateY(-6px);border-color:hsl(var(--h, 265) 80% 60% / .6)}}@keyframes app-hop{40%{transform:translateY(-6px) rotate(-8deg)}}.critter{position:fixed;left:0;top:0;z-index:90;pointer-events:none;overflow:visible;opacity:0;transition:opacity .35s;will-change:transform}.critter.is-on{opacity:.85}.blob-body{fill:url(#blob-g);fill-opacity:.82}.blob-glow{fill:none;stroke:url(#blob-g);stroke-width:12;stroke-opacity:.14;stroke-linejoin:round}.blob-drops circle{fill:url(#blob-g);fill-opacity:.8}.blob-shine{fill:#ffffff8c}.critter.is-big .blob-body{fill-opacity:.22;stroke:url(#blob-g);stroke-width:1.6}.critter.is-big .blob-shine{opacity:.4}@media(pointer:coarse),(prefers-reduced-motion:reduce){.critter{display:none}}@media print{.critter{display:none}}.ai-happy,.ai-bubble,.ai-up{opacity:0}.ai-bubble{transform:scale(0)}.ai-bubble rect{fill:#34d39926}.ai-code{stroke-dasharray:1;stroke-dashoffset:0}.ai-rhead{transform-origin:76px 28px}.ai-up{transform-origin:86px 36px}.ai-palm{fill:#34d39933}.ai-f{transform-box:fill-box}.pp-sky{fill:#0f172a;fill-opacity:0;stroke:none}.pp-m1{fill:#8b5cf6;fill-opacity:0}.pp-m2{fill:#2dd4bf;fill-opacity:0}.pp-crown{fill:#22c55e;fill-opacity:0}.pp-sun{fill:#fbbf24;fill-opacity:0}.pp-rail{stroke-opacity:.4}.pp-fad,.pp-knob{fill:var(--bg-2)}.pp-dial.n1{transform-origin:84px 62px}.pp-dial.n2{transform-origin:96px 62px}.pp-led{stroke-dasharray:2 2;stroke-opacity:.5}@media(prefers-reduced-motion:no-preference){.service:is(:hover,.play) .ai-f{animation:sc-finger .18s ease-in-out 16 alternate}.service:is(:hover,.play) .ai-f.f2{animation-delay:.09s}.service:is(:hover,.play) .ai-f.f3{animation-delay:.05s}.service:is(:hover,.play) .ai-f.f4{animation-delay:.13s}.service:is(:hover,.play) .ai-hl{animation:sc-hand .36s ease-in-out 8 alternate}.service:is(:hover,.play) .ai-hr{animation:sc-hand .36s ease-in-out .18s 8 alternate both,sc-out .2s 3s forwards}.service:is(:hover,.play) .ai-keys{animation:sc-keys .18s steps(1) 16}.service:is(:hover,.play) .ai-code{animation:sc-draw .55s linear both}.service:is(:hover,.play) .ai-code.c2{animation-delay:.65s}.service:is(:hover,.play) .ai-code.c3{animation-delay:1.3s}.service:is(:hover,.play) .ai-code.c4{animation-delay:1.95s}.service:is(:hover,.play) .ai-led{animation:sc-led .36s steps(1) 8}.service:is(:hover,.play) .ai-up{animation:sc-armup .7s cubic-bezier(.34,1.56,.64,1) 3s forwards}.service:is(:hover,.play) .ai-ring{animation:sc-ok .5s cubic-bezier(.34,1.56,.64,1) 3.5s both}.service:is(:hover,.play) .ai-eyes{animation:sc-out .2s 3.4s forwards}.service:is(:hover,.play) .ai-happy{animation:sc-in .2s 3.4s forwards}.service:is(:hover,.play) .ai-bubble{animation:sc-pop .5s cubic-bezier(.34,1.56,.64,1) 3.7s forwards}.service:is(:hover,.play) .ai-rhead{animation:sc-nod .45s ease-in-out 3.5s 2}.service:is(:hover,.play) .pp-fad.k1{animation:sc-fader 1.6s ease-in-out infinite alternate}.service:is(:hover,.play) .pp-fad.k2{animation:sc-fader2 1.3s ease-in-out .2s infinite alternate}.service:is(:hover,.play) .pp-fad.k3{animation:sc-fader 1.9s ease-in-out .4s infinite alternate-reverse}.service:is(:hover,.play) .pp-fad.k4{animation:sc-fader2 1.5s ease-in-out .1s infinite alternate}.service:is(:hover,.play) .pp-fad.k5{animation:sc-fader 1.7s ease-in-out .3s infinite alternate-reverse}.service:is(:hover,.play) .pp-fad.k6{animation:sc-fader2 1.2s ease-in-out .5s infinite alternate}.service:is(:hover,.play) .pp-dial.n1{animation:sc-dial 2.4s ease-in-out infinite alternate}.service:is(:hover,.play) .pp-dial.n2{animation:sc-dial 2s ease-in-out .6s infinite alternate-reverse}.service:is(:hover,.play) .pp-led{animation:sc-flow2 .6s linear infinite}.service:is(:hover,.play) .pp-m1{animation:sc-appear 1.1s cubic-bezier(.22,1,.36,1) .4s both,sc-fill 1.4s ease 4s forwards}.service:is(:hover,.play) .pp-m2{animation:sc-appear 1.1s cubic-bezier(.22,1,.36,1) 1.4s both,sc-fill 1.4s ease 4.3s forwards}.service:is(:hover,.play) .pp-tree{animation:sc-appear 1.1s cubic-bezier(.22,1,.36,1) 2.4s both}.service:is(:hover,.play) .pp-crown{animation:sc-fill 1.4s ease 4.6s forwards}.service:is(:hover,.play) .pp-sun{animation:sc-appear 1.1s cubic-bezier(.22,1,.36,1) 3.2s both,sc-fill 1.4s ease 4.9s forwards}.service:is(:hover,.play) .pp-sky{animation:sc-fill-sky 1.6s ease 4s forwards}}@keyframes sc-finger{to{transform:translateY(-2.6px)}}@keyframes sc-hand{to{transform:translateY(-1.6px)}}@keyframes sc-armup{0%{opacity:0;transform:rotate(95deg)}30%{opacity:1}to{opacity:1;transform:none}}@keyframes sc-ok{0%{transform:scale(.2)}to{transform:none}}@keyframes sc-fader{0%{transform:translateY(-5px)}to{transform:translateY(3px)}}@keyframes sc-fader2{0%{transform:translateY(4px)}to{transform:translateY(-4px)}}@keyframes sc-dial{0%{transform:rotate(-120deg)}to{transform:rotate(120deg)}}@keyframes sc-flow2{to{stroke-dashoffset:-4}}@keyframes sc-appear{0%{opacity:0;transform:translateY(10px) scale(.96);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}.ai-ring{transform-box:fill-box;transform-origin:center}.app-ico svg{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}@media(hover:hover)and (prefers-reduced-motion:no-preference){.app--chat:hover .app-ico svg{animation:app-chat .7s ease}.app--chip:hover .app-ico{animation:app-pulse 1.2s ease-out infinite}.app--power:hover .app-ico svg{animation:app-power .8s cubic-bezier(.34,1.56,.64,1)}.app--wallet:hover .app-ico svg{animation:app-shake .6s ease}.app--plane:hover .app-ico svg{animation:app-plane .9s ease-in-out}.app--file:hover .app-ico svg{animation:app-flip .8s ease}.app--cube:hover .app-ico svg{animation:app-cube 1s cubic-bezier(.34,1.56,.64,1)}.app:hover .app-ico{border-color:hsl(var(--h, 265) 85% 65% / .8)}}@keyframes app-chat{25%{transform:rotate(-12deg) scale(1.15)}55%{transform:rotate(9deg) scale(1.05)}80%{transform:rotate(-4deg)}}@keyframes app-pulse{0%{box-shadow:0 0 hsl(var(--h, 265) 85% 60% / .55)}to{box-shadow:0 0 0 12px hsl(var(--h, 265) 85% 60% / 0)}}@keyframes app-power{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes app-shake{20%{transform:translate(-3px) rotate(-6deg)}40%{transform:translate(3px) rotate(6deg)}60%{transform:translate(-2px)}80%{transform:translate(2px)}}@keyframes app-plane{45%{transform:translate(14px,-14px);opacity:0}46%{transform:translate(-14px,14px);opacity:0}to{transform:none;opacity:1}}@keyframes app-flip{50%{transform:scaleX(-1)}}@keyframes app-cube{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.app-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}.app h4{font-size:19px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-art{display:block;aspect-ratio:2 / 1;margin:-4px -4px 16px;padding:8px 10px;border-radius:12px;overflow:hidden;color:hsl(var(--h, 265) 85% 72%);background:hsl(var(--h, 265) 70% 55% / .1);border:1px solid hsl(var(--h, 265) 80% 60% / .28)}.ap{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ap *{transform-box:view-box}.ap text{fill:currentColor;stroke:none;font:700 5px/1 var(--mono);text-anchor:middle}.ap-txt,.ap-boot,.ap-trend,.ap-route{stroke-dasharray:1;stroke-dashoffset:0}.ap-wink{opacity:0}.ap-eyer{transform-origin:69px 19px}.ap-finger,.ap-sig{opacity:0}.ap-screen{fill:hsl(var(--h, 200) 80% 60% / 0)}.ap-led{fill:transparent}.ap-bar{fill:hsl(var(--h, 40) 85% 60% / .25);transform-origin:0 52px}.ap-coin{fill:hsl(var(--h, 40) 90% 60% / .4)}.ap-plane{fill:currentColor;offset-path:path("M16 42c10-4 14-18 26-16s16 14 30-8");offset-distance:0%;offset-rotate:auto;opacity:0}.ap-key{transform-origin:20px 30px}.ap-f{opacity:.35}.ap-cube{transform-origin:28px 31px}.ap-lens{transform-origin:58px 27px}.ap-in,.ap-out{opacity:.5}@media(prefers-reduced-motion:no-preference){.app .app-art{transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.app:is(:hover,.play) .ap-txt{animation:sc-draw .6s linear both}.app:is(:hover,.play) .ap-txt.t2{animation-delay:.6s}.app:is(:hover,.play) .ap-txt.t3{animation-delay:1.4s}.app:is(:hover,.play) .ap-dot{animation:ap-dot .6s ease-in-out infinite}.app:is(:hover,.play) .ap-dot.d2{animation-delay:.15s}.app:is(:hover,.play) .ap-dot.d3{animation-delay:.3s}.app:is(:hover,.play) .ap-b1{animation:sc-appear .5s cubic-bezier(.34,1.56,.64,1) both}.app:is(:hover,.play) .ap-b2{animation:sc-appear .5s cubic-bezier(.34,1.56,.64,1) .4s both}.app:is(:hover,.play) .ap-b3{animation:sc-appear .5s cubic-bezier(.34,1.56,.64,1) 1.1s both}.app:is(:hover,.play) .ap-eyer{animation:ap-wink 2.4s ease-in-out .4s infinite}.app:is(:hover,.play) .ap-wink{animation:ap-winkline 2.4s ease-in-out .4s infinite}.app:is(:hover,.play) .ap-smile{animation:ap-smile 2.4s ease-in-out .4s infinite}.app:is(:hover,.play) .ap-spark{animation:sc-spark .6s ease-in-out infinite alternate}.app:is(:hover,.play) .ap-spark.s2{animation-delay:.3s}.app:is(:hover,.play) .ap-finger{animation:ap-tap 1.1s cubic-bezier(.34,1.56,.64,1) both}.app:is(:hover,.play) .ap-btn{animation:ap-btn 1.1s both}.app:is(:hover,.play) .ap-sig{animation:sc-wave 1s ease-out .7s infinite;transform-origin:38px 30px}.app:is(:hover,.play) .ap-sig.s2{animation-delay:.85s}.app:is(:hover,.play) .ap-sig.s3{animation-delay:1s}.app:is(:hover,.play) .ap-screen{animation:ap-on .6s ease 1.3s forwards}.app:is(:hover,.play) .ap-led{animation:ap-led .3s 1.2s forwards}.app:is(:hover,.play) .ap-boot{animation:sc-draw 1s ease 1.6s both}.app:is(:hover,.play) .ap-bar{animation:ap-grow .7s cubic-bezier(.34,1.56,.64,1) both}.app:is(:hover,.play) .ap-bar.b2{animation-delay:.15s}.app:is(:hover,.play) .ap-bar.b3{animation-delay:.3s}.app:is(:hover,.play) .ap-bar.b4{animation-delay:.45s}.app:is(:hover,.play) .ap-trend{animation:sc-draw .9s ease .6s both}.app:is(:hover,.play) .ap-coin{animation:ap-coin 1.2s cubic-bezier(.5,0,.8,.5) .8s infinite}.app:is(:hover,.play) .ap-route{animation:sc-draw 1.6s ease both}.app:is(:hover,.play) .ap-plane{animation:ap-fly 1.6s ease both}.app:is(:hover,.play) .ap-pin{animation:sc-appear .4s cubic-bezier(.34,1.56,.64,1) 1.5s both}.app:is(:hover,.play) .ap-off{animation:sc-flick .8s steps(2) infinite}.app:is(:hover,.play) .ap-key{animation:ap-key .9s cubic-bezier(.34,1.56,.64,1) both}.app:is(:hover,.play) .ap-lock{animation:ap-unlock .4s ease .8s forwards}.app:is(:hover,.play) .ap-f{animation:ap-file .5s cubic-bezier(.34,1.56,.64,1) both}.app:is(:hover,.play) .ap-f.f1{animation-delay:1s}.app:is(:hover,.play) .ap-f.f2{animation-delay:1.2s}.app:is(:hover,.play) .ap-f.f3{animation-delay:1.4s}.app:is(:hover,.play) .ap-cube{animation:ap-spin 3s linear infinite}.app:is(:hover,.play) .ap-in{animation:ap-in 1.4s ease-in-out infinite}.app:is(:hover,.play) .ap-out{animation:ap-out 1.4s ease-in-out .7s infinite}.app:is(:hover,.play) .ap-lens{animation:ap-search 2.4s ease-in-out infinite}.app:is(:hover,.play) .ap-disk.k2{animation:ap-found 2.4s ease-in-out infinite}}@keyframes ap-dot{50%{transform:translateY(-2px)}}@keyframes ap-wink{0%,40%,60%,to{transform:none}45%,55%{transform:scaleY(.1)}}@keyframes ap-winkline{0%,42%,58%,to{opacity:0}45%,55%{opacity:1}}@keyframes ap-smile{45%,55%{transform:translate(1px) rotate(-3deg)}}@keyframes ap-tap{0%{opacity:0;transform:translateY(14px)}40%{opacity:1;transform:translateY(-2px)}60%{opacity:1;transform:translateY(1px)}to{opacity:1;transform:translateY(2px)}}@keyframes ap-btn{50%{transform:scale(.92)}60%,to{fill:hsl(var(--h, 200) 80% 60% / .35)}}@keyframes ap-on{to{fill:hsl(var(--h, 200) 80% 60% / .3)}}@keyframes ap-led{to{fill:#4ade80;stroke:#4ade80}}@keyframes ap-grow{0%{transform:scaleY(0)}}@keyframes ap-coin{0%{transform:translateY(-6px);opacity:0}20%{opacity:1}80%{transform:translateY(22px);opacity:1}to{transform:translateY(24px);opacity:0}}@keyframes ap-fly{0%{offset-distance:0%;opacity:1}to{offset-distance:100%;opacity:1}}@keyframes ap-key{0%{transform:translate(-14px)}60%{transform:translate(0)}to{transform:rotate(90deg)}}@keyframes ap-unlock{to{transform:translateY(-3px)}}@keyframes ap-file{0%{opacity:.35;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes ap-spin{0%{transform:rotate(0)}25%{transform:rotate(0) scaleX(.6)}50%{transform:rotate(0) scaleX(1)}75%{transform:rotate(0) scaleX(.6)}to{transform:rotate(0)}}@keyframes ap-in{0%{opacity:0;transform:translate(-8px)}50%{opacity:1}to{opacity:0;transform:translate(8px)}}@keyframes ap-out{0%{opacity:0;transform:translate(-8px)}50%{opacity:1}to{opacity:0;transform:translate(8px)}}@keyframes ap-search{0%,to{transform:translate(-10px,-10px)}50%{transform:translate(0)}}@keyframes ap-found{45%,60%{stroke:#fde047}}.card--metabolismo{--h:265}.card--evs{--h:190}.card--explain{--h:300}.card--bluetto{--h:205}.card--ttrt{--h:160}.card--pegaso{--h:220}.card--teenacademy{--h:25}.card--firenzeacque{--h:195}.card--salone500{--h:40}.card--oper{--h:340}.card--fashion{--h:320}.card--smartlife{--h:10}.particles i:nth-child(1){left:56.1vw;width:2.5px;height:2.5px;background:#c4b5fd;animation-duration:8.9s;animation-delay:-3.4s;--dx:-3px}.particles i:nth-child(2){left:7.9vw;width:2.5px;height:2.5px;background:#67e8f9;animation-duration:15s;animation-delay:-8.3s;--dx:-5px}.particles i:nth-child(3){left:78.1vw;width:1.9px;height:1.9px;background:#f9a8d4;animation-duration:13.3s;animation-delay:-1.1s;--dx:0px}.particles i:nth-child(4){left:67.2vw;width:1.7px;height:1.7px;background:#a78bfa;animation-duration:9.3s;animation-delay:-7.8s;--dx:-1px}.particles i:nth-child(5){left:5vw;width:1.5px;height:1.5px;background:#5eead4;animation-duration:15.5s;animation-delay:-13.6s;--dx:-23px}.particles i:nth-child(6){left:95.6vw;width:2.3px;height:2.3px;background:#c4b5fd;animation-duration:9.5s;animation-delay:-5.9s;--dx:3px}.particles i:nth-child(7){left:28.1vw;width:3px;height:3px;background:#67e8f9;animation-duration:9.4s;animation-delay:-13.8s;--dx:-3px}.particles i:nth-child(8){left:54.7vw;width:1.7px;height:1.7px;background:#f9a8d4;animation-duration:10.6s;animation-delay:-2.2s;--dx:16px}.particles i:nth-child(9){left:35vw;width:2.1px;height:2.1px;background:#a78bfa;animation-duration:8.6s;animation-delay:-13s;--dx:-16px}.particles i:nth-child(10){left:47.1vw;width:3.7px;height:3.7px;background:#5eead4;animation-duration:9.9s;animation-delay:-8.4s;--dx:-6px}.particles i:nth-child(11){left:65.3vw;width:3.3px;height:3.3px;background:#c4b5fd;animation-duration:9.1s;animation-delay:-3.1s;--dx:-3px}.particles i:nth-child(12){left:4.8vw;width:1.3px;height:1.3px;background:#67e8f9;animation-duration:11.3s;animation-delay:-9.5s;--dx:9px}.particles i:nth-child(13){left:32.5vw;width:3.9px;height:3.9px;background:#f9a8d4;animation-duration:11.5s;animation-delay:-6.9s;--dx:-4px}.particles i:nth-child(14){left:45.1vw;width:3.5px;height:3.5px;background:#a78bfa;animation-duration:11.5s;animation-delay:-3.7s;--dx:-16px}.particles i:nth-child(15){left:13.2vw;width:3.2px;height:3.2px;background:#5eead4;animation-duration:10.2s;animation-delay:-10.7s;--dx:22px}.particles i:nth-child(16){left:92.7vw;width:3.9px;height:3.9px;background:#c4b5fd;animation-duration:14.9s;animation-delay:-10.5s;--dx:8px}.particles i:nth-child(17){left:2.4vw;width:2.7px;height:2.7px;background:#67e8f9;animation-duration:10.6s;animation-delay:-5s;--dx:-17px}.particles i:nth-child(18){left:68.6vw;width:2.2px;height:2.2px;background:#f9a8d4;animation-duration:13.9s;animation-delay:-3.7s;--dx:27px}.service--live{--c:#f87171}.service--ai{--c:#34d399}.service--post{--c:#fbbf24}.service--virtual{--c:#a78bfa}.service--mocap{--c:#22d3ee}.service--events{--c:#f472b6}.app--chat{--h:160}.app--chip{--h:265}.app--power{--h:200}.app--disk{--h:150}.app--wallet{--h:40}.app--plane{--h:330}.app--file{--h:20}.app--cube{--h:190}
