@font-face{font-family:Montserrat;font-style:normal;font-weight:300 700;font-display:swap;src:url(../assets/fonts/montserrat-latin-wght-normal.woff2) format("woff2-variations"),url(../assets/fonts/montserrat-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Montserrat Fallback;src:local("Arial"),local("Helvetica Neue"),local("Liberation Sans");size-adjust:109.54%;ascent-override:88.37%;descent-override:22.91%;line-gap-override:0%}:root{--lime: #b8f13a;--lime-hover: #c6f65a;--lime-edge: #7fb81c;--lime-text: #c6f542;--navy-900: #040a2c;--navy-800: #070f3a;--navy-700: #0a1546;--blue-matte: #14235f;--blue-matte-2: #1b2d73;--slate: #9aa9cf;--slate-2: #6b7ba8;--cyan: #62e4ef;--cyan-deep: #35c9d8;--ice: #cfe0ff;--text: #eef2ff;--glass: linear-gradient(160deg, rgba(40, 62, 140, .36), rgba(14, 26, 82, .46));--hair: rgba(190, 210, 255, .12);--shadow: 0 28px 50px -28px rgba(0, 0, 0, .7), 0 2px 6px -2px rgba(0, 0, 0, .35);--r-card: 28px;--r-inner: 20px;--r-field: 16px;--font: "Montserrat", "Montserrat Fallback", system-ui, -apple-system, "Segoe UI", sans-serif;--ease: cubic-bezier(.2, .7, .2, 1);--top-h: 64px;--gutter: 20px;--blue-ui: #0041fc;--ink: #010736;--ink-2: #4b5683;--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--top-h) + 12px);background:var(--navy-900)}body{margin:0;font-family:var(--font);font-weight:400;font-size:1.0625rem;line-height:1.65;color:var(--text);background:var(--navy-900);-webkit-font-smoothing:antialiased;overflow-x:hidden;-webkit-tap-highlight-color:transparent}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ul,ol,dl,dd{margin:0;padding:0;list-style:none}h1,h2,h3,p,figure{margin:0}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:10px}.skip-link{position:absolute;left:12px;top:-70px;z-index:200;background:var(--cyan);color:var(--navy-900);padding:10px 16px;border-radius:999px;font-weight:600}.skip-link:focus{top:12px}.wrap{width:min(1200px,100% - var(--gutter) * 2);margin-inline:auto;position:relative;z-index:1}.ambient{position:absolute;z-index:0;pointer-events:none;border-radius:50%}.a3{width:420px;height:420px;right:-220px;top:10%;background:radial-gradient(circle,rgba(40,80,220,.26),transparent 70%)}.a5{width:420px;height:420px;left:-220px;top:8%;background:radial-gradient(circle,rgba(40,80,220,.26),transparent 70%)}.a6{width:520px;height:520px;right:-260px;bottom:-80px;background:radial-gradient(circle,rgba(53,201,216,.16),transparent 70%)}.card{position:relative;isolation:isolate;border-radius:var(--r-card);background:var(--glass);-webkit-backdrop-filter:blur(12px) saturate(140%);backdrop-filter:blur(12px) saturate(140%);box-shadow:var(--shadow),inset 0 1px #ffffff17;transition:transform .45s var(--ease),box-shadow .45s var(--ease)}.card:before{content:"";position:absolute;inset:0;z-index:2;padding:1px;border-radius:inherit;pointer-events:none;opacity:.75;transition:opacity .45s;background:linear-gradient(150deg,#96f0fa8c,#ffffff12 30%,#ffffff08 68%,#62e4ef4d);-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 exclude,linear-gradient(#000 0 0)}.card:after{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%),rgba(98,228,239,.14),transparent 62%)}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 28px;border:0;border-radius:999px;font:600 .98rem/1 var(--font);cursor:pointer;transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .2s;--edge: 3px;--edge-c: #15b8ca}.btn-sm{min-height:42px;padding:0 20px;font-size:.88rem;--edge: 2px}.btn-block{width:100%}.btn-glass{color:var(--text);background:#ffffff12;box-shadow:inset 0 0 0 1px #ffffff24,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.btn[disabled]{opacity:.65;cursor:progress}.top{position:fixed;z-index:60;inset:0 0 auto;height:var(--top-h);background:#ffffffc7;-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);box-shadow:0 1px #01073614;transition:box-shadow .3s,background .3s}.top :focus-visible{outline-color:var(--blue-ui)}.top.scrolled{box-shadow:0 10px 26px -18px #01073659,0 1px #01073614}.top-in{width:min(1200px,100% - var(--gutter) * 2);height:100%;margin-inline:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{height:20px;width:auto}.app-icon{display:grid;place-items:center;width:52px;height:52px;flex:none;border-radius:16px;background:linear-gradient(150deg,#2a438f,#182a6c);box-shadow:0 8px 16px -8px #0009,inset 0 1px #ffffff38,inset 0 -1px #00000040}.app-icon svg{width:26px;height:26px;fill:none;stroke:#bff1f6;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.menu-btn{position:relative;width:44px;height:44px;margin-right:-10px;border:0;border-radius:12px;background:transparent;cursor:pointer}.menu-btn span{position:absolute;left:11px;right:11px;height:2.5px;border-radius:2px;background:var(--ink);transition:transform .35s var(--ease),opacity .2s,top .35s var(--ease)}.menu-btn span:nth-child(1){top:14px}.menu-btn span:nth-child(2){top:21px}.menu-btn span:nth-child(3){top:28px}.menu-btn[aria-expanded=true] span:nth-child(1){top:21px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:nth-child(2){opacity:0}.menu-btn[aria-expanded=true] span:nth-child(3){top:21px;transform:rotate(-45deg)}.scrim{position:fixed;inset:0;z-index:58;background:#01073638;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}body.menu-open .scrim{opacity:1;visibility:visible}.top-nav{position:absolute;z-index:59;top:calc(100% + 8px);right:12px;width:min(calc(100% - 24px),320px);max-height:calc(100svh - var(--top-h) - 24px);display:flex;flex-direction:column;gap:18px;padding:6px 20px 20px;overflow-y:auto;background:#fff;border-radius:26px;box-shadow:0 34px 60px -22px #01073680,0 0 0 1px #0107360f;opacity:0;visibility:hidden;transform:translate(28px) scale(.97);transform-origin:top right;transition:opacity .25s,transform .35s var(--ease),visibility .25s}.top-nav.open{opacity:1;visibility:visible;transform:none}.top-nav li+li{border-top:1px solid rgba(1,7,54,.08)}.top-nav li a{display:block;padding:15px 0;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;line-height:1.1;color:var(--ink);transition:color .2s}.top-nav li a.active{color:var(--blue-ui)}.menu-cta{width:100%}.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:100svh;padding:calc(var(--top-h) + 28px) 0 calc(48px + var(--safe-bottom));background:#fff;color:var(--ink)}.hero :focus-visible{outline-color:var(--blue-ui)}.hero-arcs{position:absolute;inset:0;z-index:0;width:100%;height:100%;stroke-width:1.5;pointer-events:none}.hero-arcs path{vector-effect:non-scaling-stroke}.hero-center{display:flex;flex-direction:column;align-items:center;text-align:center}.hero h1{max-width:19ch;font-size:clamp(2.05rem,8.2vw,3.9rem);line-height:1.06;font-weight:700;letter-spacing:-.035em;color:var(--ink)}.hero h1 strong{font-weight:700}.hero .lead{max-width:42ch;margin-top:14px;color:var(--ink-2);font-size:1.02rem}.stage{position:relative;width:min(100%,900px);height:clamp(270px,42vh,470px);margin-top:6px}.stage:before{content:"";position:absolute;inset:4% 8% 0;background:radial-gradient(closest-side,rgba(0,65,252,.08),rgba(4,215,236,.04) 55%,transparent 100%)}.stage canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1s var(--ease)}.stage.webgl canvas{opacity:1}.fallback{position:absolute;inset:0;width:100%;height:100%;opacity:0}.stage.no-webgl .fallback,html:not(.js) .fallback{opacity:1}.stage.webgl .fallback{display:none}.fb-float{animation:fbFloat 6s ease-in-out infinite}@keyframes fbFloat{50%{transform:translateY(-8px)}}.actions{margin-top:10px;width:min(100%,440px);display:grid;grid-template-columns:1fr 1fr;gap:10px}.actions .btn{padding:0 10px;font-size:.88rem;white-space:nowrap}.hl{color:var(--cyan)}.sec-head .hl,.contact h2 .hl{color:var(--lime-text)}.hero .hl{color:var(--blue-ui)}.sec{position:relative;overflow:hidden;padding-block:clamp(72px,14vw,128px)}.sec.alt{background:linear-gradient(180deg,var(--navy-800),var(--navy-900))}h2{font-size:clamp(2rem,7.6vw,3.3rem);line-height:1.07;font-weight:700;letter-spacing:-.03em}h3{font-size:1.2rem;line-height:1.3;font-weight:700;letter-spacing:-.01em}.sec-head{margin-bottom:32px}.sec-head p{margin-top:14px;max-width:38ch;color:var(--slate)}.services{display:grid;gap:8px}.group{padding:4px 0}.row+.row{border-top:1px solid var(--hair)}.row summary{list-style:none;display:grid;grid-template-columns:auto 1fr 20px;align-items:center;gap:16px;padding:18px 20px;cursor:pointer;transition:background .3s;border-radius:var(--r-inner)}.row summary::-webkit-details-marker{display:none}.row summary:hover{background:#62e4ef0d}.row-text{display:grid;gap:2px}.row-title{font-size:1.12rem;font-weight:700;letter-spacing:-.01em;line-height:1.25}.row-desc{font-size:.9rem;line-height:1.45;color:var(--slate)}.chev{width:9px;height:9px;justify-self:end;border-top:2.5px solid var(--slate-2);border-right:2.5px solid var(--slate-2);border-radius:1px;transform:rotate(45deg);transition:transform .35s var(--ease),border-color .3s}.row[open] .chev{transform:rotate(135deg);border-color:var(--cyan)}.row-body{padding:4px 20px 24px;animation:rowIn .4s var(--ease)}@keyframes rowIn{0%{opacity:0;transform:translateY(-6px)}}.row-body>p{color:var(--text);font-size:1rem;max-width:56ch}.plain{margin:18px 0 22px;border-radius:var(--r-inner);background:#ffffff0a;box-shadow:inset 0 0 0 1px var(--hair)}.plain li{padding:12px 18px;font-size:.95rem}.plain li+li{border-top:1px solid var(--hair)}.sec-head.wide{margin-bottom:24px}.works{display:grid;gap:18px}.work{padding:10px;display:flex;flex-direction:column}.shot-wrap{border-radius:var(--r-inner);overflow:hidden;background:radial-gradient(90% 100% at 20% 0%,rgba(40,80,220,.35),transparent 70%),#091340;box-shadow:inset 0 0 0 1px var(--hair)}.shot{width:100%;height:auto;aspect-ratio:10 / 7;object-fit:cover;stroke:#bed2ff80}.shot .hl{stroke:var(--cyan)}.work-body{padding:18px 14px 14px}.cap-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.tag{padding:4px 12px;font-size:.74rem;font-weight:500;color:var(--cyan);border-radius:999px;background:#62e4ef1a;box-shadow:inset 0 0 0 1px #62e4ef4d;white-space:nowrap}.work-body p{margin-top:10px;color:var(--slate);font-size:.96rem}.works-end{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:26px}.works-end-text{font-size:clamp(1.4rem,5vw,2rem);font-weight:700;letter-spacing:-.025em;line-height:1.2;max-width:28ch}.about{display:grid;gap:24px}.statement{font-size:clamp(1.6rem,6vw,2.8rem);font-weight:700;line-height:1.22;letter-spacing:-.025em;max-width:26ch;margin-bottom:8px}.profile{overflow:hidden}.profile .photo{width:100%;height:auto;aspect-ratio:4 / 4.2;object-fit:cover;object-position:50% 18%;background:#0a1248}.profile-id{position:absolute;left:14px;right:14px;bottom:14px;z-index:3;display:grid;gap:1px;padding:14px 18px;border-radius:var(--r-inner);background:#08103c9e;-webkit-backdrop-filter:blur(18px) saturate(150%);backdrop-filter:blur(18px) saturate(150%);box-shadow:inset 0 0 0 1px #bed7ff29}.profile-id b{font-weight:700}.profile-id span{font-size:.84rem;color:var(--slate)}.about-text>p{max-width:54ch;color:var(--text)}.about-text h3{margin:32px 0 14px;font-size:1.05rem;color:var(--slate);font-weight:700}.stack-list{padding:4px 0}.stack-list>div{display:grid;grid-template-columns:104px 1fr;gap:16px;padding:14px 20px}.stack-list>div+div{border-top:1px solid var(--hair)}.stack-list dt{font-weight:700}.stack-list dd{color:var(--slate)}.process{padding:26px 22px 28px}.process h3{margin-bottom:26px}.timeline{position:relative;display:grid;gap:26px;padding-left:34px}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(180deg,var(--cyan),rgba(98,228,239,.15));transform-origin:top;transform:scaleY(0);transition:transform 1.3s var(--ease)}.timeline.in:before{transform:scaleY(1)}.timeline li{position:relative}.timeline li:before{content:"";position:absolute;left:-34px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--cyan);box-shadow:0 0 0 4px #62e4ef29,0 0 10px #62e4ef73}.timeline b{display:block;font-weight:700}.timeline span{display:block;margin-top:3px;max-width:34ch;color:var(--slate);font-size:.95rem;line-height:1.5}.contact{display:grid;gap:36px;padding:28px 22px;background:radial-gradient(70% 60% at 100% 0%,rgba(40,80,220,.3),transparent 70%),radial-gradient(60% 60% at 0% 100%,rgba(53,201,216,.14),transparent 70%),var(--glass)}.contact h2{font-size:clamp(2.1rem,9vw,3.6rem);line-height:1.04}.contact-intro>p{margin-top:14px;max-width:34ch;color:var(--slate)}.channels{margin-top:30px;border-radius:var(--r-inner);background:#ffffff0a;box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden}.channels li+li{border-top:1px solid var(--hair)}.channels a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 18px;transition:background .3s}.channels a:hover{background:#62e4ef0f}.ch-text b{display:block;font-weight:700;line-height:1.2}.ch-text small{color:var(--slate);font-size:.84rem}.form{display:grid;gap:18px;align-content:start}.hp{position:absolute;left:-9999px}.field{display:grid;gap:7px}.field label{font-size:.84rem;font-weight:500;color:var(--ice)}.field input,.field select,.field textarea{width:100%;min-height:54px;padding:14px 18px;font:400 1rem var(--font);color:var(--text);border:0;border-radius:var(--r-field);background:#ffffff0f;box-shadow:inset 0 0 0 1px #bed7ff24;-webkit-appearance:none;appearance:none;transition:box-shadow .3s,background .3s}.field textarea{resize:vertical;min-height:112px}.field select{padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa9cf' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px}.field select option{color:#040a2c}.field input:hover,.field select:hover,.field textarea:hover{box-shadow:inset 0 0 0 1px #62e4ef59}.field input:focus,.field select:focus,.field textarea:focus{outline:none;background-color:#ffffff17;box-shadow:inset 0 0 0 1.5px var(--cyan),0 0 0 4px #62e4ef24}.field.invalid input,.field.invalid select,.field.invalid textarea{box-shadow:inset 0 0 0 1.5px #ff9db0,0 0 0 4px #ff9db01f}.err{font-size:.84rem;color:#ffb3c1}.err:empty{display:none}@keyframes spin{to{transform:rotate(360deg)}}.form-status{font-size:.95rem;font-weight:500;color:var(--cyan)}.form-status:empty{display:none}.foot{background:var(--navy-900);border-top:1px solid var(--hair);padding-top:56px}.foot-grid{display:grid;gap:36px;padding-bottom:44px}.foot-logo{width:min(300px,100%);height:auto}.foot li+li{margin-top:8px}.foot li a{color:var(--slate);font-size:.96rem;transition:color .2s}.foot li a:hover{color:var(--cyan)}.foot-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px;padding-block:22px calc(32px + var(--safe-bottom));border-top:1px solid var(--hair);font-size:.86rem;color:var(--slate-2)}@media(hover:hover){.card:hover:after{opacity:1}.card:hover:before{opacity:1}.work:hover,.works-end:hover{transform:translateY(-4px);box-shadow:0 34px 56px -28px #000000bf,0 0 0 1px #62e4ef0f,inset 0 1px #ffffff1f}}@media(min-width:900px){:root{--top-h: 72px;--gutter: 40px}.menu-btn,.scrim{display:none}.top-nav{position:static;z-index:auto;width:auto;max-height:none;flex-direction:row;align-items:center;justify-content:flex-end;gap:12px;padding:0;overflow:visible;background:none;border-radius:0;box-shadow:none;opacity:1;visibility:visible;transform:none;margin-left:auto}.top-nav ul{display:flex;gap:6px}.top-nav li+li{border:0}.only-mobile{display:none!important}.menu-cta{width:auto;min-height:42px;padding:0 20px;font-size:.88rem}.hero{padding:calc(var(--top-h) + 20px) 0 48px}.hero h1{font-size:clamp(2.9rem,4.4vw,4.4rem);max-width:20ch}.hero .lead{font-size:1.12rem}.stage{height:clamp(340px,46vh,500px)}.actions{display:flex;justify-content:center;width:auto}.actions .btn{padding:0 32px;font-size:1rem}.top-nav li a{position:relative;display:block;padding:10px 14px;font-size:.94rem;font-weight:500;letter-spacing:0;color:#2c3763;transition:color .2s}.top-nav li a:after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;border-radius:2px;background:var(--blue-ui);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}.top-nav li a:hover,.top-nav li a.active{color:var(--ink)}.top-nav li a.active:after{transform:scaleX(1)}.services{grid-template-columns:4fr 8fr;gap:72px;align-items:start}.services .sec-head{position:sticky;top:calc(var(--top-h) + 40px);margin-bottom:0}.row summary{padding:22px 28px}.row-body{padding:4px 28px 30px 96px}.works{grid-template-columns:repeat(12,1fr);gap:28px;align-items:start}.works.is-filtered .work{grid-column:1 / 9;margin-top:0}.works.is-filtered .w2 .shot{aspect-ratio:10 / 7}.w1{grid-column:1 / 8}.w2{grid-column:8 / 13;margin-top:120px}.w2 .shot{aspect-ratio:4 / 4.4}.w3{grid-column:3 / 10}.works-end{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding:30px 36px}.about{grid-template-columns:repeat(12,1fr);column-gap:28px;row-gap:28px;align-items:start}.statement{grid-column:1 / -1;max-width:24ch;margin-bottom:28px}.profile{grid-column:1 / 6}.profile .photo{aspect-ratio:4 / 4.9}.about-text{grid-column:7 / 13;padding-top:8px}.process{grid-column:1 / -1;padding:36px 40px 40px}.timeline{grid-template-columns:repeat(4,1fr);gap:32px;padding:34px 0 0}.timeline:before{inset:5px 0 auto;width:auto;height:2px;transform-origin:left;transform:scaleX(0);background:linear-gradient(90deg,var(--cyan),rgba(98,228,239,.15))}.timeline.in:before{transform:scaleX(1)}.timeline li:before{left:0;top:-34px}.contact{grid-template-columns:5fr 6fr;gap:64px;padding:52px;align-items:start}.foot-grid{grid-template-columns:1.6fr 1fr 1fr;align-items:start}}.btn-cta{--edge-c: var(--lime-edge);color:var(--ink);background:linear-gradient(180deg,#c4f553,var(--lime));box-shadow:0 var(--edge) 0 var(--edge-c),0 calc(var(--edge) + 6px) 12px -6px #01073638,inset 0 1px #ffffff80}.btn-ghost{--edge-c: rgba(1, 7, 54, .1);color:var(--ink);background:#fff;box-shadow:inset 0 0 0 1.5px #0107362e,0 var(--edge) 0 var(--edge-c),0 calc(var(--edge) + 6px) 12px -8px #01073626}.btn-glass{--edge-c: rgba(0, 0, 0, .28);box-shadow:inset 0 0 0 1px #ffffff29,inset 0 1px #ffffff1a,0 var(--edge) 0 var(--edge-c),0 calc(var(--edge) + 6px) 12px -8px #00000059}@media(hover:hover){.btn-cta:hover{transform:translateY(-1px);background:linear-gradient(180deg,#d0f86b,var(--lime-hover));box-shadow:0 calc(var(--edge) + 1px) 0 var(--edge-c),0 calc(var(--edge) + 8px) 14px -6px #0107363d,inset 0 1px #fff9}.btn-ghost:hover{transform:translateY(-1px);background:#f4f7ff;box-shadow:inset 0 0 0 1.5px #0041fc73,0 calc(var(--edge) + 1px) 0 var(--edge-c),0 calc(var(--edge) + 8px) 14px -8px #01073629}.btn-glass:hover{transform:translateY(-1px);background:#ffffff1f}}.btn-cta:active{transform:translateY(calc(var(--edge) - 1px));box-shadow:0 1px 0 var(--edge-c),0 3px 6px -3px #01073659,inset 0 1px #ffffff73}.btn-ghost:active{transform:translateY(calc(var(--edge) - 1px));box-shadow:inset 0 0 0 1.5px #01073640,0 1px 0 var(--edge-c)}.btn-glass:active{transform:translateY(calc(var(--edge) - 1px));box-shadow:inset 0 0 0 1px #ffffff29,0 1px 0 var(--edge-c)}.btn[disabled]{transform:translateY(1px);box-shadow:0 2px 0 var(--edge-c)}.stage canvas{cursor:grab;touch-action:pan-y}.stage.dragging canvas{cursor:grabbing}.stage .hint{position:absolute;left:50%;bottom:2px;transform:translate(-50%);padding:5px 13px;font-size:.78rem;font-weight:500;color:var(--ink-2);border-radius:999px;background:#ffffffd9;box-shadow:inset 0 0 0 1px #0107361a;opacity:0;pointer-events:none;transition:opacity .5s;white-space:nowrap}.stage.webgl .hint{opacity:1}.stage.dragged .hint{opacity:0}.filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.chip-btn{min-height:40px;padding:0 18px;border:0;border-radius:999px;background:#ffffff0f;color:var(--ice);font:600 .86rem var(--font);cursor:pointer;box-shadow:inset 0 0 0 1px #bed7ff2e;transition:background .2s,color .2s,box-shadow .2s}.chip-btn:hover{background:#ffffff1c}.chip-btn[aria-pressed=true]{background:#04d7ec;color:var(--ink);box-shadow:none}.work[hidden]{display:none}.work.show-anim{animation:workIn .5s var(--ease)}@keyframes workIn{0%{opacity:0;transform:translateY(12px) scale(.98)}}.work .shot-wrap{transform:perspective(800px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg));transition:transform .25s var(--ease);will-change:transform}.choice{border:0;padding:0;margin:0;min-width:0}.choice legend{padding:0;margin-bottom:10px;font-size:.84rem;font-weight:500;color:var(--ice)}.chip-group{display:flex;flex-wrap:wrap;gap:8px}.field .chip{position:relative;display:block;font-size:inherit;color:inherit}.field .chip input{position:absolute;inset:0;width:100%;height:100%;min-height:0;padding:0;margin:0;opacity:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:999px;background:#ffffff0f;box-shadow:inset 0 0 0 1px #bed7ff2e;font-size:.9rem;font-weight:500;color:var(--text);transition:background .2s,color .2s,box-shadow .2s}.chip:hover span{box-shadow:inset 0 0 0 1px #62e4ef8c}.chip input:checked+span{background:#04d7ec;color:var(--ink);font-weight:600;box-shadow:none}.chip input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:3px}.choice.invalid .chip span{box-shadow:inset 0 0 0 1.5px #ff9db0}#projetos{background:#fff;color:var(--ink)}#projetos :focus-visible{outline-color:var(--blue-ui)}.sec-arc{position:absolute;z-index:0;width:min(46vw,400px);height:auto;pointer-events:none}.sec-arc path{stroke-width:1.5;vector-effect:non-scaling-stroke}.arc-tl{top:-56px;left:0}.arc-br{right:0;bottom:0}#projetos h2{color:var(--ink)}#projetos .hl{color:var(--blue-ui)}#projetos .sec-head p{color:var(--ink-2)}#projetos .chip-btn{background:#f1f4fc;color:var(--ink-2);box-shadow:inset 0 0 0 1px #01073624}#projetos .chip-btn:hover{background:#e7ecf9}#projetos .chip-btn[aria-pressed=true]{background:#04d7ec;color:var(--ink);box-shadow:none}#projetos .card{background:linear-gradient(160deg,#17297a,#0b1750);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:0 30px 52px -28px #01073699,inset 0 1px #ffffff1a}#projetos .card{color:var(--text)}#projetos .card .hl{color:var(--cyan)}#projetos .work-body h3{color:#fff;font-size:1.3rem}.work-body{display:flex;flex-direction:column}.brand-desc{margin-top:10px;color:var(--slate);font-size:.96rem;max-width:52ch}.techs{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.techs li{padding:5px 13px;font-size:.8rem;font-weight:500;color:var(--ice);border-radius:999px;background:#ffffff12;box-shadow:inset 0 0 0 1px #bed7ff33}.work-btn{align-self:flex-start;margin-top:22px}#projetos .card.works-end{background:#fff;color:var(--ink);box-shadow:0 0 0 1px #0107361a,0 26px 50px -30px #01073659}#projetos .card.works-end:before{opacity:0}#projetos .card.works-end:after{background:radial-gradient(380px circle at var(--mx, 50%) var(--my, 0%),rgba(0,65,252,.06),transparent 62%)}#projetos .works-end .works-end-text{color:var(--ink)}#projetos .works-end .hl{color:var(--blue-ui)}#projetos .works-end .btn-glass{--edge-c: rgba(1, 7, 54, .1);color:var(--ink);background:#fff;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1.5px #0107362e,0 var(--edge) 0 var(--edge-c)}#projetos .card.works-end:hover{box-shadow:0 0 0 1px #0041fc33,0 30px 54px -30px #01073666}.js [data-anim]{opacity:0;transform:translate3d(0,34px,0);transition:opacity .8s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--d, 0) * 90ms)}.js [data-anim=left]{transform:translate3d(-46px,0,0)}.js [data-anim=right]{transform:translate3d(46px,0,0)}.js [data-anim=zoom]{transform:translate3d(0,24px,0) scale(.94)}.js [data-anim].in{opacity:1;transform:none}.js [data-anim].done{transition:transform .45s var(--ease),box-shadow .45s var(--ease),opacity .3s;transition-delay:0s}.js [data-anim=words]{opacity:1;transform:none}.w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.2em;margin-bottom:-.2em}.w>span{display:inline-block;transform:translateY(118%);transition:transform .85s var(--ease);transition-delay:calc(var(--wi, 0) * 55ms + 80ms)}.in .w>span{transform:none}.js .hero-arcs{animation:fadeIn 1.6s var(--ease) .3s both}@keyframes fadeIn{0%{opacity:0}}.js .hero h1,.js .hero .lead{animation:riseIn .7s var(--ease) both}.js .hero .actions{animation:riseIn .9s var(--ease) .15s both}@keyframes riseIn{0%{transform:translateY(26px)}}.socials{display:flex;gap:10px;margin-top:18px}.foot .socials li+li{margin-top:0}.foot .socials a{display:grid;place-items:center;width:44px;height:44px;color:var(--ice);border-radius:50%;background:#ffffff0f;box-shadow:inset 0 0 0 1px #bed7ff33;transition:color .2s,background .2s,box-shadow .2s,transform .2s var(--ease)}.foot .socials a:hover{color:var(--ink);background:#04d7ec;box-shadow:none;transform:translateY(-2px)}.socials svg{width:21px;height:21px}.foot-legal{display:flex;flex-wrap:wrap;gap:4px 20px}.foot .foot-legal li+li{margin-top:0}.foot-legal a{color:var(--slate);font-size:.86rem;text-decoration:underline;text-underline-offset:4px;transition:color .2s}.foot-legal a:hover{color:var(--cyan)}.form-note{font-size:.82rem;line-height:1.5;color:var(--slate)}.form-note a{color:var(--ice);text-decoration:underline;text-underline-offset:3px}.form-note a:hover{color:var(--cyan)}h1,h2,.lead{text-wrap:balance}.hero .lead{max-width:52ch}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.doc-page{background:#fff;color:var(--ink)}.doc-page .top{background:#ffffffeb}.doc-back{margin-left:auto;font-size:.92rem;font-weight:500;color:var(--ink-2);text-decoration:underline;text-underline-offset:4px}.doc-back:hover{color:var(--blue-ui)}.doc{width:min(760px,100% - var(--gutter) * 2);margin:0 auto;padding:calc(var(--top-h) + 48px) 0 72px}.crumbs{margin-bottom:18px;font-size:.86rem;color:var(--ink-2)}.crumbs ol{display:flex;flex-wrap:wrap;gap:4px 8px}.crumbs li+li:before{content:"/";margin-right:8px;color:#8c96bb}.crumbs a{text-decoration:underline;text-underline-offset:3px}.crumbs a:hover{color:var(--blue-ui)}.doc h1{font-size:clamp(2rem,7vw,3rem);line-height:1.08;font-weight:700;letter-spacing:-.03em;color:var(--ink)}.doc .doc-date{margin-top:10px;font-size:.88rem;color:var(--ink-2)}.doc h2{margin:34px 0 6px;font-size:1.2rem;line-height:1.3;letter-spacing:-.01em;color:var(--ink)}.doc p{margin-top:8px;color:#3b4672;line-height:1.7}.doc a{color:var(--blue-ui);text-decoration:underline;text-underline-offset:3px}.doc :focus-visible{outline-color:var(--blue-ui)}.doc-foot{border-top:1px solid rgba(1,7,54,.1);padding:22px 0 32px;font-size:.88rem;color:var(--ink-2)}.doc-foot-in{width:min(760px,100% - var(--gutter) * 2);margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 24px}.doc-foot a{text-decoration:underline;text-underline-offset:3px}.err404{min-height:100svh;display:grid;place-items:center;padding:calc(var(--top-h) + 24px) var(--gutter) 48px;text-align:center}.err404 p.code{font-size:clamp(5rem,22vw,9rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#04d7ec}.err404 h1{margin-top:8px;font-size:clamp(1.6rem,5vw,2.4rem)}.err404 p{margin:12px auto 0;max-width:40ch;color:var(--ink-2)}.err404 .actions{justify-content:center;margin-top:26px}.inline-link{color:var(--cyan);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.inline-link:hover{color:var(--white)}.js.no-anim [data-anim]{opacity:1;transform:none;transition:none}.js.no-anim .w>span{transform:none;transition:none}.hero .hl,#projetos h2 .hl,#projetos .works-end .hl{background-image:linear-gradient(transparent 66%,var(--lime) 66% 94%,transparent 94%);background-repeat:no-repeat;padding:0 .05em;margin:0 -.05em;-webkit-box-decoration-break:clone;box-decoration-break:clone}.form-status{color:var(--lime-text)}.form-status.fail{color:#ffb3c1}.foot .socials a:hover{background:var(--lime)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}.stage canvas{transition:none}.work .shot-wrap{transform:none!important}.js [data-anim]{opacity:1;transform:none}.w>span{transform:none}.timeline:before{transform:none!important}}
