:root{--bg:#070b1f;--bg-2:#0d1640;--text:#eef2ff;--muted:#a9b4d6;--line:#8caaff47;--line-strong:#96b9ff8c;--glass:#1e2d6e52;--glass-hover:#283c8c6b;--brand:#3d6bff;--brand-2:#7aa2ff;--warm:#ff9a5c;--warm-2:#ffc46b;--radius:22px;--radius-sm:14px;--max:1200px;--font:var(--font-latin), system-ui, sans-serif;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.7;overflow-x:hidden}.sky{z-index:-1;background:radial-gradient(ellipse 60% 45% at 85% 8%, #506eff47, transparent 70%), radial-gradient(ellipse 50% 40% at 10% 35%, #3c5ae638, transparent 70%), radial-gradient(ellipse 55% 35% at 70% 95%, #ff8c4629, transparent 70%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 55%, var(--bg) 100%);position:fixed;inset:0}.sky:before{content:"";opacity:.7;background-image:radial-gradient(1px 1px at 20% 30%,#fff9,#0000),radial-gradient(1px 1px at 70% 15%,#fffb,#0000),radial-gradient(1.5px 1.5px at 40% 70%,#fff8,#0000),radial-gradient(1px 1px at 85% 60%,#fff9,#0000),radial-gradient(1px 1px at 55% 45%,#fff6,#0000),radial-gradient(1.5px 1.5px at 10% 85%,#fff7,#0000);background-size:420px 420px;position:absolute;inset:0}a{color:var(--brand-2);text-decoration:none}a:hover{color:#fff}img{max-width:100%;height:auto;display:block}h1,h2,h3{letter-spacing:.01em;margin:0;line-height:1.25}.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 24px}.muted{color:var(--muted)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grad,.hero h1 em{background:linear-gradient(100deg, #9cc0ff, var(--brand) 60%, #8f7bff);color:#0000;-webkit-background-clip:text;background-clip:text;font-style:normal}.hero h1 em.warm{background-image:linear-gradient(100deg, var(--warm-2), var(--warm) 60%, #ff7a59)}.glass{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(16px)saturate(140%);background:linear-gradient(160deg,#4664dc38,#141e5061);position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff1f,0 0 0 1px #5078ff0f,0 18px 50px #00001473,0 0 40px #3c64ff1f}a.glass{color:inherit;transition:border-color .2s,transform .2s,box-shadow .2s}a.glass:hover{border-color:var(--line-strong);transform:translateY(-3px);box-shadow:inset 0 1px #ffffff29,0 22px 60px #00001480,0 0 50px #466eff40}.btn{color:#fff;background:linear-gradient(#5a85ff,#2f5bea);border:1px solid #a0beff99;border-radius:999px;align-items:center;gap:8px;padding:12px 24px;font-size:16px;font-weight:700;transition:transform .15s,box-shadow .15s;display:inline-flex;box-shadow:0 0 24px #3c64ff80,inset 0 1px #ffffff4d}.btn:hover{color:#fff;transform:translateY(-1px);box-shadow:0 0 34px #4673ffb3,inset 0 1px #ffffff4d}.btn--glass{border-color:var(--line-strong);backdrop-filter:blur(12px);background:#1e2d6e59;box-shadow:inset 0 1px #ffffff1f}.btn--lg{padding:16px 30px;font-size:18px}.actions{flex-wrap:wrap;gap:14px;display:flex}.text-link{color:var(--brand-2);align-items:center;gap:6px;font-weight:600;display:inline-flex}.chip{border:1px solid var(--line-strong);background:#141e5080;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:14px;font-weight:600;display:inline-flex}.chip .icon{color:var(--warm)}.site-header{z-index:20;backdrop-filter:blur(14px);background:#070b1f99;border-bottom:1px solid #8caaff1f;position:sticky;top:0}.has-overlay .site-header{backdrop-filter:none;background:linear-gradient(#070b1fb3,#0000);border-bottom-color:#0000;position:fixed;inset:0 0 auto}.has-overlay.scrolled .site-header{backdrop-filter:blur(14px);background:#070b1fbf}.site-header .wrap{align-items:center;gap:28px;height:72px;display:flex}.brand{color:#fff;letter-spacing:.16em;align-items:center;gap:8px;font-size:22px;font-weight:300;display:flex}.brand img{width:40px;height:40px}.site-nav{gap:30px;margin-left:auto;font-size:15px;display:flex}.site-nav a{color:var(--text);opacity:.85}.site-nav a:hover,.site-nav a[aria-current=page]{opacity:1;color:#fff;text-shadow:0 0 14px #78a0ffcc}.menu-toggle{color:#fff;cursor:pointer;background:0 0;border:0;padding:6px;display:none}.hero{align-items:center;min-height:min(92vh,820px);padding:120px 0 80px;display:flex;position:relative;overflow:hidden}.hero__art{object-fit:cover;object-position:70% 40%;z-index:-1;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 70%,#0000);mask-image:linear-gradient(#000 70%,#0000)}@media (width>=1001px){.hero:before{content:"";z-index:-1;filter:blur(60px)saturate(1.1);opacity:.55;background:url(/art/hero.webp) 85% 45%/cover no-repeat;position:absolute;inset:-80px;-webkit-mask-image:linear-gradient(#000 55%,#0000 90%);mask-image:linear-gradient(#000 55%,#0000 90%)}.hero__art{object-position:55% 45%;--fade-x:linear-gradient(90deg, transparent 0%, #00000014 10%, #00000059 22%, #000000bf 34%, #000 46%);--fade-y:linear-gradient(180deg, #000 68%, transparent);width:78%;mask-image:var(--fade-x), var(--fade-y);-webkit-mask-image:var(--fade-x), var(--fade-y);-webkit-mask-composite:source-in;left:auto;mask-composite:intersect}}.hero__inner{position:relative}.hero__inner:before{content:"";z-index:-1;background:radial-gradient(closest-side,#070b1fb3,#070b1f59 55%,#0000);width:1200px;position:absolute;inset:-120px auto -120px -320px}.hero h1{--h1-shadow:drop-shadow(0 2px 3px #00001459) drop-shadow(0 6px 20px #00001e66);max-width:700px;filter:var(--h1-shadow);font-size:clamp(36px,4.6vw,60px);font-weight:900;line-height:1.2}[data-locale=en] .hero h1{font-weight:800}.hero__text{color:#d6defa;max-width:30em;margin:22px 0 34px;font-size:19px}.section{padding:48px 0}.section-tight{margin:36px 0}.section-head{align-items:center;gap:24px;margin-bottom:24px;display:flex}.section-head h2{white-space:nowrap;font-size:clamp(26px,3vw,32px);font-weight:800}.section-head:after{content:"";background:linear-gradient(90deg, var(--line-strong), transparent);flex:1;order:1;height:1px}.section-head p,.section-head .text-link{max-width:34em;color:var(--muted);text-align:right;order:2;margin:0;font-size:14px}.section-head .text-link{color:var(--brand-2);white-space:nowrap}.grid-2,.grid-3,.grid-4{gap:22px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.service{padding:30px}.service__head{align-items:center;gap:22px;display:flex}.service h3{margin-bottom:4px;font-size:22px}.service__head p{color:var(--muted);margin:0;font-size:15px}.orb{color:#cfe0ff;border:1px solid var(--line-strong);background:radial-gradient(circle at 35% 30%,#78a0ff99,#2846c84d 70%);border-radius:22px;flex:none;place-items:center;width:76px;height:76px;display:grid;box-shadow:0 0 30px #466eff73,inset 0 1px #ffffff4d}.orb--sm{border-radius:16px;width:54px;height:54px}.service--warm .orb{color:#ffe2c9;background:radial-gradient(circle at 35% 30%,#ffaa64b3,#c85a284d 70%);border-color:#ffbe8c99;box-shadow:0 0 30px #ff8c4673,inset 0 1px #ffffff4d}.service__items{text-align:center;color:#d6defa;grid-template-columns:repeat(4,1fr);gap:10px;margin:28px 0 0;padding:0;font-size:14px;list-style:none;display:grid}.service__items li{flex-direction:column;align-items:center;gap:8px;display:flex}.service__items .icon{color:var(--brand-2)}.service--warm .service__items .icon{color:var(--warm)}.works-row{grid-template-columns:2.4fr 1fr;gap:22px;display:grid}.work-feature{background:radial-gradient(at 90%,#506eff40,#0000 60%),linear-gradient(160deg,#4664dc38,#141e5061);align-items:center;gap:28px;padding:32px;display:flex}.app-icon{width:120px;height:120px;box-shadow:0 0 40px #5078ff73, 0 0 0 1px var(--line-strong);border-radius:28px;flex:none;display:block;overflow:hidden}.app-icon img{object-fit:cover;width:100%;height:100%}.app-icon--lg{border-radius:32px;width:140px;height:140px;margin-bottom:24px}.work-feature h3{font-size:30px}.work-feature .muted{margin:2px 0 14px}.work-feature .excerpt{color:#d6defa;margin:14px 0;font-size:15px}.work-teaser{flex-direction:column;min-height:260px;display:flex}.work-teaser img{object-fit:cover;width:100%;height:150px;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.work-teaser div{padding:4px 22px 22px}.work-teaser h3{font-size:19px}.work-teaser p{color:var(--muted);margin:4px 0 0;font-size:14px}.work-small{padding:24px}.round-arrow{border:1px solid var(--line-strong);color:#fff;background:#ffffff0a;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.work-card{height:100%;color:var(--text);flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s;display:flex}.work-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.work-card__cover{aspect-ratio:1200/630;border-bottom:1px solid var(--line);display:block;overflow:hidden}.work-card__cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.work-card:hover .work-card__cover img{transform:scale(1.04)}.work-card__body{flex:1;align-items:center;gap:14px;padding:16px 18px 18px;display:flex}.work-card__icon{width:56px;height:56px;box-shadow:0 6px 20px #00001480, 0 0 0 1px var(--line-strong);border-radius:14px;flex:none;margin-top:-40px;overflow:hidden}.work-card__icon img{object-fit:cover;width:100%;height:100%}.work-card__text{flex:1;gap:2px;min-width:0;display:grid}.work-card h3{color:#fff;font-size:18px}.work-card__text span{color:var(--muted);font-size:14px}.works-more{justify-content:center;margin-top:28px;display:flex}.works-intro{margin:8px 0 12px}.works-intro h1{font-size:clamp(36px,5vw,56px);font-weight:900}.works-intro .lead{color:#d6defa;max-width:40em;margin:10px 0 0;font-size:18px}.work-meta{flex-wrap:wrap;gap:10px;margin:0 0 18px;display:flex}.value{gap:18px;padding:26px;display:flex}.value>.icon{color:var(--brand-2);filter:drop-shadow(0 0 10px #5078ffb3);flex:none}.value h3{margin-bottom:6px;font-size:19px}.value p{color:var(--muted);margin:0;font-size:15px}.contact{justify-content:space-between;align-items:center;gap:24px;min-height:200px;padding:48px 48px 48px 34%;display:flex}.contact>img{object-fit:cover;object-position:0% 60%;z-index:-1;opacity:.85;width:100%;height:100%;position:absolute;inset:0}.contact:after{content:"";z-index:-1;background:linear-gradient(90deg,#0000 22%,#070b1fb3 40%,#070b1f8c 75%,#070b1f4d);position:absolute;inset:0}.contact--compact:after{display:none}.contact__body{position:relative}.contact>.btn{white-space:nowrap;flex:none}.contact h2{margin-bottom:8px;font-size:clamp(24px,2.6vw,32px);font-weight:800}.contact p{color:#d6defa;margin:0}.contact--compact{margin-top:48px;padding:36px 40px}.contact-page .contact{margin-top:28px}.contact-topic{height:100%;color:var(--text);flex-direction:column;gap:14px;padding:28px;transition:border-color .2s,transform .2s;display:flex}.contact-topic:hover{border-color:var(--line-strong);transform:translateY(-3px)}.contact-topic h3{color:#fff;font-size:20px}.contact-topic p{color:var(--muted);flex:1;margin:0;font-size:15px}.contact-topic__cta{color:#cfe0ff;align-items:center;gap:8px;font-size:15px;font-weight:600;display:inline-flex}.site-footer{color:var(--muted);border-top:1px solid #8caaff24;margin-top:40px;padding:28px 0 40px;font-size:14px}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;display:flex}.footer-links{gap:18px;display:flex}.footer-links a{color:var(--text);align-items:center;gap:6px;display:inline-flex}.page{padding-top:28px;padding-bottom:20px}.crumbs{color:var(--muted);flex-wrap:wrap;gap:10px;margin-bottom:18px;font-size:14px;display:flex}.crumbs a{color:var(--text)}.empty{text-align:center;color:var(--muted);padding:48px}.empty--big h1{margin:8px 0}.big-num{margin:0;font-size:96px;font-weight:900;line-height:1}.post{--col:720px}.post-hero{background:radial-gradient(ellipse 60% 90% at 85% 50%, color-mix(in srgb, var(--cat,var(--brand)) 40%, transparent), transparent 70%), linear-gradient(160deg, #4664dc38, #141e5061);align-items:center;gap:32px;padding:52px 56px;display:flex}.post-hero__text{flex:1}.post-hero h1{margin:18px 0 14px;font-size:clamp(30px,4.4vw,50px);font-weight:900}.post-hero .excerpt{color:#d6defa;max-width:36em;margin:0 0 16px;font-size:18px}.prose{max-width:var(--col,720px);color:#dfe5fb;margin:48px auto 0;font-size:18px;line-height:1.95}.prose--wide{max-width:820px}.prose>:first-child{margin-top:0}.prose p{margin:0 0 1.4em}.prose h2{color:#fff;margin:2em 0 .8em;font-size:28px}.prose h3{color:#fff;margin:1.8em 0 .6em;font-size:22px}.prose a{text-underline-offset:3px;text-decoration:underline}.prose strong{color:#fff}.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.4em}.prose li{margin:.3em 0}.prose blockquote{border-radius:var(--radius);border:1px solid var(--line-strong);background:radial-gradient(ellipse at 0% 0%, color-mix(in srgb, var(--cat,var(--warm)) 30%, transparent), transparent 60%), #1e2d6e59;backdrop-filter:blur(12px);color:#fff;margin:2em -40px;padding:28px 40px;font-size:22px;font-weight:700}.prose blockquote p:last-child{margin:0}.prose img,.prose figure{border-radius:var(--radius-sm);margin:2em 0}.prose figcaption{color:var(--muted);text-align:center;margin-top:8px;font-size:14px}.prose code{background:#ffffff14;border-radius:6px;padding:2px 6px;font-family:ui-monospace,JetBrains Mono,monospace;font-size:.88em}.prose pre{border-radius:var(--radius-sm);border:1px solid var(--line);background:#04081ab3;margin:1.6em 0;padding:20px 24px;font-size:15px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose hr{background:linear-gradient(90deg, transparent, var(--line-strong), transparent);border:0;height:1px;margin:3em 0}.work-hero{grid-template-columns:1fr 1fr;align-items:center;gap:40px;padding:24px 0 20px;display:grid}.work-hero h1{font-size:clamp(40px,5vw,60px);font-weight:900}.work-hero .lead{color:#d6defa;margin:6px 0 16px;font-size:20px}.work-hero .excerpt{color:var(--muted);max-width:32em;margin:18px 0 26px}.work-hero__art{border-radius:var(--radius);border:1px solid var(--line);aspect-ratio:1200/630;overflow:hidden;box-shadow:0 0 60px #3c64ff40}.work-hero__art img{object-fit:cover;object-position:62% 40%;width:100%;height:100%}.feature{padding:26px 22px}.feature h3{margin:18px 0 6px;font-size:18px}.feature p{color:var(--muted);margin:0;font-size:14px}.steps{padding:36px 40px}.steps h2,.faq h2{margin-bottom:26px;font-size:24px}.steps ol{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:32px;margin:0;padding:0;list-style:none;display:grid}.steps li{position:relative}.steps li:not(:last-child):after{content:"";background:linear-gradient(90deg, var(--line-strong), transparent);height:1px;position:absolute;top:22px;left:60px;right:-20px}.step-num{color:#fff;background:linear-gradient(#5a85ff,#2f5bea);border-radius:50%;place-items:center;width:44px;height:44px;font-weight:800;display:grid;box-shadow:0 0 20px #3c64ff99}.steps h3{margin:16px 0 6px;font-size:18px}.steps p{color:var(--muted);margin:0;font-size:15px}.faq{margin-top:36px;padding:36px 40px}.faq details{border-top:1px solid var(--line)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;font-weight:700;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary .icon{color:var(--brand-2);flex:none;transition:rotate .2s}.faq details[open] summary .icon{rotate:45deg}.faq details p{color:var(--muted);margin:0 0 18px}.work .steps,.work .prose{margin-top:36px}@media (width<=1000px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.works-row{grid-template-columns:1fr}.contact{flex-direction:column;align-items:flex-start;padding-left:48px}.contact>img{opacity:.45}}@media (width<=760px){body{font-size:16px}.wrap{padding:0 16px}.site-header .wrap{gap:14px;height:62px}.menu-toggle{margin-left:auto;display:block}.site-nav{border-bottom:1px solid var(--line);background:#070b1ff5;flex-direction:column;gap:0;padding:8px 16px 16px;display:none;position:absolute;top:62px;left:0;right:0}.site-nav.open{display:flex}.site-nav a{padding:12px 0;font-size:17px}.hero{min-height:0;padding:100px 0 56px}.hero__art{object-position:72% 30%;opacity:.6}.hero h1{font-size:34px}.grid-2,.grid-3,.grid-4,.service__items{grid-template-columns:1fr 1fr}.grid-3,.grid-2{grid-template-columns:1fr}.section-head{flex-wrap:wrap;gap:6px 16px}.section-head:after{display:none}.section-head p{text-align:left;flex-basis:100%}.service,.value{padding:22px}.work-feature{flex-direction:column;align-items:flex-start;padding:24px}.post-hero{padding:30px 22px}.prose{font-size:17px}.prose blockquote{margin:2em 0;padding:22px;font-size:19px}.contact{padding:30px 22px}.contact .btn--lg{padding:14px 20px;font-size:15px}.work-hero{grid-template-columns:1fr}.steps,.faq{padding:26px 22px}.steps ol{grid-template-columns:1fr;gap:22px}.steps li:after{display:none}}@media (prefers-reduced-motion:no-preference){.js [data-reveal]{opacity:0;filter:blur(6px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1),filter .9s;transition-delay:var(--d,0s);transform:translateY(36px)}.js [data-reveal=left]{transform:translate(-60px)}.js [data-reveal=right]{transform:translate(60px)}.js [data-reveal=zoom]{transform:scale(.92)}.js [data-reveal].in{opacity:1;filter:none;transform:none}.js .hero h1[data-reveal]{filter:blur(6px) var(--h1-shadow)}.js .hero h1[data-reveal].in{filter:blur(0) var(--h1-shadow)}.js a.glass[data-reveal].in:hover{transform:translateY(-3px)}.hero__art{translate:0 var(--parallax,0px);animation:2.2s cubic-bezier(.2,.7,.2,1) both hero-in}@keyframes hero-in{0%{opacity:0;scale:1.12}to{opacity:1;scale:1}}.hero h1 em{background-size:200%;animation:6s ease-in-out infinite alternate grad-flow}@keyframes grad-flow{to{background-position:100%}}.hero .btn:not(.btn--glass){animation:3s ease-in-out infinite glow}@keyframes glow{50%{box-shadow:0 0 40px #507dffd9,inset 0 1px #ffffff4d}}}.shine:after{content:"";pointer-events:none;background:linear-gradient(115deg,#0000 35%,#ffffff1f 50%,#0000 65%);position:absolute;inset:0;transform:translate(-100%)}.shine:hover:after{transition:transform .9s;transform:translate(100%)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}.works-featured{margin-top:22px}
