@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/space-grotesk-latin-400-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:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/space-grotesk-latin-500-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:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/space-grotesk-latin-600-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:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/space-grotesk-latin-700-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/jetbrains-mono-latin-400-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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/jetbrains-mono-latin-500-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:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/jetbrains-mono-latin-700-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}:root{--bg: #04050d;--bg-2: #080b19;--panel: rgba(13, 16, 36, .84);--panel-solid: #0c1024;--panel-2: rgba(255, 255, 255, .035);--line: rgba(136, 152, 255, .14);--line-2: rgba(136, 152, 255, .24);--text: #e8eaf6;--muted: #9aa0c2;--dim: #646a8f;--cyan: #22d3ee;--violet: #8b5cf6;--pink: #ec4899;--green: #34d399;--amber: #fbbf24;--red: #f87171;--grad: linear-gradient(120deg, #22d3ee 0%, #8b5cf6 55%, #ec4899 100%);--grad-soft: linear-gradient(120deg, rgba(34, 211, 238, .18), rgba(139, 92, 246, .18) 55%, rgba(236, 72, 153, .14));--font: "Space Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius: 18px;--radius-sm: 12px;--nav-h: 72px;--container: 1200px;--ease: cubic-bezier(.22, 1, .36, 1);--shadow: 0 30px 80px -20px rgba(0, 0, 0, .7);--mx: 50vw;--my: 30vh}*,*:before,*:after{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#05060f}::-webkit-scrollbar-thumb{border-radius:10px;border:2px solid #05060f;background:linear-gradient(180deg,#22d3ee,#8b5cf6 55%,#ec4899)}::-webkit-scrollbar-thumb:hover{border-width:1px;background:linear-gradient(180deg,#67e8f9,#a78bfa 55%,#f472b6)}::-webkit-scrollbar-corner{background:#05060f}@supports not selector(::-webkit-scrollbar){html{scrollbar-width:thin;scrollbar-color:#8b5cf6 #05060f}}html.protegido body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.protegido img,html.protegido svg,html.protegido a{-webkit-user-drag:none}html.protegido input,html.protegido textarea,html.protegido select,html.protegido [contenteditable],html.protegido [data-copiavel]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.protect-toast{position:fixed;left:50%;bottom:26px;z-index:400;transform:translate(-50%,16px);opacity:0;pointer-events:none;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#0a0d1ef2;border:1px solid var(--line-2);color:var(--text);font-family:var(--mono);font-size:13px;box-shadow:0 16px 40px -14px #000c;transition:opacity .3s,transform .3s var(--ease)}.protect-toast.is-on{opacity:1;transform:translate(-50%)}.protect-toast .ico{width:15px;height:15px;color:var(--violet)}html{touch-action:manipulation;overflow-x:clip;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:var(--font);font-size:17px;line-height:1.65;overflow-x:hidden;overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}a{color:var(--cyan);text-decoration:none}a:hover{color:#67e8f9}button{font:inherit;color:inherit}::selection{background:#8b5cf673;color:#fff}:focus-visible{outline:2px solid var(--cyan);outline-offset:3px;border-radius:6px}[hidden]{display:none!important}.skip-link{position:fixed;left:16px;top:-60px;z-index:200;background:var(--cyan);color:#000;padding:10px 16px;border-radius:10px;font-weight:600}.skip-link:focus{top:16px}.container{width:min(var(--container),100% - 40px);margin-inline:auto;position:relative}.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.ico{width:1.15em;height:1.15em;flex:none}.fx{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}#fx-code{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.9}.fx-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(120,140,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(120,140,255,.05) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 30%,#000 30%,transparent 75%)}.fx-glow{position:absolute;border-radius:50%;opacity:.45;will-change:transform}.fx-glow--a{width:520px;height:520px;left:-160px;top:-120px;background:radial-gradient(circle,rgba(34,211,238,.3),rgba(34,211,238,.08) 45%,transparent 70%);animation:glowA 22s ease-in-out infinite alternate}.fx-glow--b{width:620px;height:620px;right:-200px;top:30vh;background:radial-gradient(circle,rgba(139,92,246,.3),rgba(139,92,246,.08) 45%,transparent 70%);animation:glowB 26s ease-in-out infinite alternate}@keyframes glowA{to{transform:translate(18vw,40vh) scale(1.2)}}@keyframes glowB{to{transform:translate(-22vw,30vh) scale(.9)}}.fx-noise{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");opacity:.035}#fx-windows{position:absolute;top:0;right:0;bottom:0;left:0}.float-win{position:absolute;width:230px;border-radius:12px;background:linear-gradient(160deg,#141936c7,#0a0d1ec7);border:1px solid rgba(140,160,255,.16);box-shadow:0 20px 50px -20px #0009,inset 0 1px #ffffff0f;font-family:var(--mono);font-size:10.5px;line-height:1.6;color:#c8d2ff8c;opacity:0;animation:winIn 1.6s var(--ease) forwards,drift var(--dur, 40s) ease-in-out infinite alternate;will-change:transform}.float-win .fw-bar{display:flex;align-items:center;gap:5px;padding:7px 10px;border-bottom:1px solid rgba(140,160,255,.1)}.float-win .fw-bar i{width:7px;height:7px;border-radius:50%;background:#ffffff2e}.float-win .fw-bar i:nth-child(1){background:#f8717199}.float-win .fw-bar i:nth-child(2){background:#fbbf2499}.float-win .fw-bar i:nth-child(3){background:#34d39999}.float-win .fw-bar b{margin-left:6px;font-weight:500;color:#c8d2ff73}.float-win pre{margin:0;padding:10px 12px 12px;white-space:pre;overflow:hidden}@keyframes winIn{to{opacity:var(--op, .7)}}@keyframes drift{0%{transform:translateZ(0) rotate(var(--r0, -2deg))}50%{transform:translate3d(var(--dx, 40px),var(--dy, -30px),0) rotate(var(--r1, 1deg))}to{transform:translate3d(calc(var(--dx, 40px) * -.6),calc(var(--dy, -30px) * 1.3),0) rotate(var(--r0, -2deg))}}.spotlight{position:fixed;left:0;top:0;z-index:0;pointer-events:none;width:1200px;height:1200px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.08),transparent 50%);transform:translate3d(-9999px,-9999px,0);will-change:transform}.progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:120}.progress span{display:block;height:100%;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--grad);box-shadow:0 0 12px #22d3eeb3}.nav{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-h);transition:background .4s,border-color .4s,backdrop-filter .4s;border-bottom:1px solid transparent}.nav.is-scrolled{background:#050712b8;backdrop-filter:blur(16px) saturate(160%);-webkit-backdrop-filter:blur(16px) saturate(160%);border-bottom-color:var(--line)}.nav-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{display:inline-flex;align-items:center;gap:10px;color:var(--text);font-family:var(--mono);font-weight:700;font-size:15px;letter-spacing:-.02em}.logo:hover{color:var(--text)}.logo-mark{display:block;flex:none;width:38px;height:38px;border-radius:27%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='6' y1='4' x2='58' y2='60' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%232ee6f5'/%3E%3Cstop offset='.52' stop-color='%238b5cf6'/%3E%3Cstop offset='1' stop-color='%23ec4899'/%3E%3C/linearGradient%3E%3CradialGradient id='l' cx='18' cy='10' r='40' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23fff' stop-opacity='.38'/%3E%3Cstop offset='1' stop-color='%23fff' stop-opacity='0'/%3E%3C/radialGradient%3E%3ClinearGradient id='s' x1='0' y1='0' x2='0' y2='1'%3E%3Cstop offset='0' stop-color='%23fff'/%3E%3Cstop offset='1' stop-color='%23e9ddff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Crect width='64' height='64' rx='17' fill='url(%23g)'/%3E%3Crect width='64' height='64' rx='17' fill='url(%23l)'/%3E%3Crect x='.75' y='.75' width='62.5' height='62.5' rx='16.25' fill='none' stroke='%23fff' stroke-opacity='.3' stroke-width='1.5'/%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='5' transform='translate(0 1.4)' stroke='%231b0b3a' stroke-opacity='.28'%3E%3Cpath d='M23.5 21.5 13 32l10.5 10.5M40.5 21.5 51 32 40.5 42.5M35.6 17.5 28.4 46.5'/%3E%3C/g%3E%3Cg fill='none' stroke-linecap='round' stroke-linejoin='round' stroke-width='5'%3E%3Cpath d='M23.5 21.5 13 32l10.5 10.5M40.5 21.5 51 32 40.5 42.5' stroke='%230a0b1e'/%3E%3Cpath d='M35.6 17.5 28.4 46.5' stroke='url(%23s)'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;box-shadow:0 8px 24px -8px #8b5cf6d9}.logo-text span{color:var(--cyan)}.logo-text em{font-style:normal;color:var(--dim);font-weight:500}.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{position:relative;display:block;padding:8px 12px;border-radius:10px;color:var(--muted);font-size:14.5px;font-weight:500;transition:color .25s,background .25s}.nav-links a:before{content:"#";color:var(--violet);opacity:0;margin-right:2px;transition:opacity .25s;font-family:var(--mono)}.nav-links li[hidden],.mobile-menu li[hidden],.nav--compact .nav-links,.nav--compact .nav-actions .nav-cta{display:none}.nav--compact .nav-toggle{display:inline-grid}.nav-links a:hover,.nav-links a.is-active{color:var(--text);background:#ffffff0a}.nav-links a:hover:before,.nav-links a.is-active:before{opacity:1}.nav-actions{display:flex;align-items:center;gap:8px}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:#ffffff08;color:var(--muted);cursor:pointer;transition:color .2s,border-color .2s,background .2s,transform .2s}.icon-btn:hover{color:var(--cyan);border-color:#22d3ee73;background:#22d3ee0f}.nav-toggle{display:none}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99;display:flex;flex-direction:column;padding:calc(var(--nav-h) + 12px) 24px calc(24px + env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:#04050df5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}.mobile-menu.is-open{opacity:1;visibility:visible}.mobile-menu ol{list-style:none;margin:auto 0 0;padding:0;counter-reset:m}.mobile-menu li{counter-increment:m;opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease),transform .4s var(--ease);border-bottom:1px solid rgba(140,160,255,.08)}.mobile-menu.is-open li{opacity:1;transform:none}.mobile-menu.is-open li:nth-child(2){transition-delay:.04s}.mobile-menu.is-open li:nth-child(3){transition-delay:.08s}.mobile-menu.is-open li:nth-child(4){transition-delay:.12s}.mobile-menu.is-open li:nth-child(5){transition-delay:.16s}.mobile-menu.is-open li:nth-child(6){transition-delay:.2s}.mobile-menu.is-open li:nth-child(7){transition-delay:.24s}.mobile-menu ol a{display:flex;align-items:baseline;gap:14px;padding:clamp(8px,1.6vh,14px) 0;font-size:clamp(24px,min(8vw,5vh),38px);font-weight:600;color:var(--text);letter-spacing:-.02em}.mobile-menu ol a:before{content:attr(data-num);min-width:2.2em;font-family:var(--mono);font-size:13px;color:var(--cyan)}.mobile-menu ol a.is-active{color:var(--cyan)}.mobile-menu .mm-foot{margin:26px 0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;opacity:0;transform:translateY(14px);transition:opacity .4s var(--ease) .28s,transform .4s var(--ease) .28s}.mobile-menu.is-open .mm-foot{opacity:1;transform:none}.mobile-menu .mm-foot .btn{width:100%;min-height:52px;padding:0 16px;font-size:15.5px}.btn{--b: var(--line-2);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 22px;border-radius:14px;border:1px solid var(--b);background:#ffffff08;color:var(--text);font-weight:600;font-size:15.5px;letter-spacing:.005em;cursor:pointer;white-space:nowrap;transition:transform .25s var(--ease),border-color .25s,background .25s,box-shadow .25s,color .25s;overflow:hidden;isolation:isolate}.btn:hover{color:var(--text);transform:translateY(-2px);border-color:#22d3ee80;background:#22d3ee0f}.btn:active{transform:translateY(0)}.btn--primary{border:0;color:#05060f;background:var(--grad);box-shadow:0 12px 32px -12px #8b5cf6e6,0 0 0 1px #ffffff1a inset}.btn--primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-120%);transition:transform .8s var(--ease)}.btn--primary:hover{color:#05060f;background:var(--grad);box-shadow:0 18px 40px -12px #8b5cf6}.btn--primary:hover:after{transform:translate(120%)}.btn--sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:11px}.btn[disabled]{opacity:.6;pointer-events:none}.btn .spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.hero{position:relative;min-height:92vh;min-height:92svh;display:flex;align-items:center;padding:calc(var(--nav-h) + 40px) 0 48px}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}.term-line{font-family:var(--mono);font-size:14px;color:var(--muted);margin-bottom:22px;display:flex;flex-wrap:wrap;gap:2px}.t-user{color:var(--green)}.t-path{color:var(--violet)}.t-sep{color:var(--dim);margin-right:4px}.t-sep:first-of-type{margin-right:0}.t-cmd{color:var(--text);margin-left:6px}.hero-greet{margin:0 0 6px;font-family:var(--mono);color:var(--cyan);font-size:15px}.hero-name{margin:0;font-size:clamp(48px,8.4vw,112px);line-height:.95;font-weight:700;letter-spacing:-.045em;display:flex;flex-wrap:wrap;column-gap:.25em}.hero-first{position:relative;color:var(--text)}.hero-last{padding-bottom:.08em}.glitch:before,.glitch:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}.glitch:before{color:var(--cyan);animation:glitchA 6s infinite steps(1)}.glitch:after{color:var(--pink);animation:glitchB 6s infinite steps(1)}@keyframes glitchA{0%,91%,to{opacity:0;transform:none;-webkit-clip-path:none;clip-path:none}92%{opacity:.8;transform:translate(-4px,2px);-webkit-clip-path:inset(10% 0 55% 0);clip-path:inset(10% 0 55% 0)}94%{opacity:.8;transform:translate(3px,-2px);-webkit-clip-path:inset(60% 0 8% 0);clip-path:inset(60% 0 8% 0)}96%{opacity:.8;transform:translate(-2px,1px);-webkit-clip-path:inset(30% 0 40% 0);clip-path:inset(30% 0 40% 0)}}@keyframes glitchB{0%,91%,to{opacity:0;transform:none;-webkit-clip-path:none;clip-path:none}92.5%{opacity:.8;transform:translate(4px,-1px);-webkit-clip-path:inset(50% 0 20% 0);clip-path:inset(50% 0 20% 0)}95%{opacity:.8;transform:translate(-3px,2px);-webkit-clip-path:inset(5% 0 70% 0);clip-path:inset(5% 0 70% 0)}}.hero-role{margin:22px 0 18px;font-family:var(--mono);font-size:clamp(17px,2.1vw,22px);color:var(--text);display:flex;align-items:center;min-height:1.6em;white-space:nowrap}.hero-role-arrow{flex:none}.hero-role-arrow{color:var(--pink);margin-right:10px}.caret{display:inline-block;width:.6em;height:1.15em;margin-left:3px;background:var(--cyan);animation:blink 1s steps(1) infinite;vertical-align:middle;box-shadow:0 0 10px #22d3eecc}@keyframes blink{50%{opacity:0}}.hero-desc{margin:0 0 32px;max-width:34em;color:var(--muted);font-size:clamp(16.5px,1.4vw,19px)}.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:34px}.hero-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:#0c1024db;font-size:13.5px;color:var(--muted)}.chip b{color:var(--text);font-weight:600}.chip .ico{color:var(--cyan);width:15px;height:15px}.dot{width:8px;height:8px;border-radius:50%;background:var(--dim);flex:none}.dot--green{background:var(--green);box-shadow:0 0 #34d399b3;animation:pulse 2s infinite}@keyframes pulse{70%{box-shadow:0 0 0 9px #34d39900}to{box-shadow:0 0 #34d39900}}.hero-visual{position:relative;display:flex;justify-content:center}.avatar-stage{--px: 0;--py: 0;position:relative;width:min(100%,520px);aspect-ratio:1 / 1.12;display:grid;place-items:end center;perspective:1000px}.halo{position:absolute;left:50%;top:44%;width:78%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 50% 50%,rgba(139,92,246,.4),rgba(34,211,238,.15) 45%,transparent 70%);will-change:transform;animation:breathe 6s ease-in-out infinite}@keyframes breathe{50%{transform:translate(-50%,-50%) scale(1.08);opacity:.8}}.ring{position:absolute;left:50%;top:44%;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ring--1{width:80%;aspect-ratio:1;padding:1.5px;background:conic-gradient(from 0deg,transparent 0 20%,var(--cyan) 35%,transparent 50% 70%,var(--violet) 85%,transparent);-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);animation:spinRing 9s linear infinite}.ring--2{width:92%;aspect-ratio:1;border:1px dashed rgba(139,92,246,.28);animation:spinRing 40s linear infinite reverse}.ring--3{width:64%;aspect-ratio:1;border:1px solid rgba(34,211,238,.12)}@keyframes spinRing{to{transform:translate(-50%,-50%) rotate(360deg)}}.orbit{position:absolute;z-index:1;left:50%;top:44%;width:92%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}@keyframes orbitSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.orbit-ring{position:absolute;top:0;right:0;bottom:0;left:0;animation:orbitSpin var(--dur, 50s) linear infinite;will-change:transform}.orbit-ring--rev{animation-direction:reverse}.orbit-item{--sz: 46px;position:absolute;left:50%;top:50%;width:var(--sz);height:var(--sz);margin:calc(var(--sz) / -2);transform:rotate(var(--a)) translate(calc(var(--rad) * 1px)) rotate(calc(var(--a) * -1))}.orbit-item>span{display:grid;place-items:center;width:100%;height:100%;border-radius:14px;background:#0c1024e6;border:1px solid var(--line-2);box-shadow:0 10px 30px -10px #000c;font-family:var(--mono);font-size:14px;font-weight:700;color:var(--cyan);animation:orbitSpin var(--dur, 50s) linear infinite reverse;transform-origin:center}.orbit-ring--rev .orbit-item>span{animation-direction:normal}.orbit-ring--b .orbit-item{--sz: 38px}.orbit-ring--b .orbit-item>span{border-radius:11px}.orbit-ring--b .orbit-item .tech-ico{width:21px;height:21px}.orbit-item .tech-ico{width:26px;height:26px;padding:0;background:none;border:0;border-radius:0}.avatar-wrap{position:relative;z-index:2;width:82%;height:100%;display:flex;align-items:flex-end;justify-content:center;transform:translate3d(calc(var(--px) * 14px),calc(var(--py) * 10px),0) rotateY(calc(var(--px) * 6deg)) rotateX(calc(var(--py) * -4deg));transition:transform .6s var(--ease);animation:float 7s ease-in-out infinite;will-change:transform}@keyframes float{50%{translate:0 -16px}}.avatar-glow{position:absolute;left:-90px;right:-90px;top:-90px;bottom:0;padding:90px 90px 0;opacity:0;transition:opacity .5s ease;display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(0 0 22px rgba(139,92,246,.45)) drop-shadow(0 22px 30px rgba(0,0,0,.45));-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 98%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 98%)}.avatar-glow.is-ready{opacity:1}.avatar-img{width:auto;max-width:100%;max-height:100%;object-fit:contain;object-position:bottom}.avatar-scan{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3;background:linear-gradient(to bottom,transparent,rgba(34,211,238,.22) 50%,transparent);height:14%;animation:scan 5s ease-in-out infinite;mix-blend-mode:screen;opacity:.7;-webkit-mask-image:var(--mask);mask-image:var(--mask);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:bottom;mask-position:bottom}@keyframes scan{0%{top:-10%}60%,to{top:100%}}.avatar-floor{position:absolute;bottom:2%;left:50%;width:62%;height:9%;transform:translate(-50%);background:radial-gradient(ellipse at center,rgba(34,211,238,.32),rgba(139,92,246,.14) 45%,transparent 70%);will-change:transform;animation:floorPulse 7s ease-in-out infinite}@keyframes floorPulse{50%{transform:translate(-50%) scale(.85);opacity:.6}}.monolith{position:relative;width:74%;aspect-ratio:.78;margin-bottom:9%;border-radius:28px;overflow:hidden;background:linear-gradient(160deg,#22d3ee1f,#8b5cf61a 50%,#ec489914);border:1px solid rgba(160,175,255,.25);box-shadow:inset 0 1px #ffffff1f,0 40px 80px -30px #8b5cf699;background-color:#0b0f24;display:grid;place-items:center}.monolith pre{position:absolute;top:0;right:0;bottom:0;left:0;margin:0;padding:22px;font-family:var(--mono);font-size:11px;line-height:1.7;color:#b4c3ff47;white-space:pre-wrap;overflow:hidden;animation:codeScroll 30s linear infinite}@keyframes codeScroll{to{transform:translateY(-50%)}}.monolith strong{position:relative;font-family:var(--mono);font-size:clamp(56px,9vw,96px);letter-spacing:-.06em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 30px rgba(139,92,246,.6))}.monolith:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.1) 48%,transparent 60%);animation:sheen 6s ease-in-out infinite}@keyframes sheen{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.glass-chip{position:absolute;z-index:4;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:12px;font-family:var(--mono);font-size:12px;color:var(--text);background:#0e122899;border:1px solid rgba(160,175,255,.22);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 40px -16px #000c,inset 0 1px #ffffff12;transform:translate3d(calc(var(--px) * var(--depth, 20px)),calc(var(--py) * var(--depth, 20px)),0);transition:transform .6s var(--ease);white-space:nowrap}.glass-chip code{font-family:inherit}.glass-chip--a{top:12%;right:-2%;--depth: -26px;animation:bob 6s ease-in-out infinite}.glass-chip--b{bottom:20%;left:-8%;--depth: 30px;animation:bob 7s ease-in-out -2s infinite}.glass-chip--c{top:46%;right:-6%;--depth: 40px;animation:bob 8s ease-in-out -4s infinite}@keyframes bob{50%{translate:0 -10px}}.tk-k{color:var(--violet)}.tk-v{color:var(--cyan)}.tk-b{color:var(--amber)}.tk-s{color:var(--green)}.tk-n{color:var(--amber)}.tk-c{color:var(--dim);font-style:italic}.tk-p{color:var(--pink)}.tk-f{color:#60a5fa}.section{position:relative;padding:clamp(48px,6vw,84px) 0}#contato{padding-bottom:clamp(40px,5vw,64px)}.section-head{max-width:760px;margin-bottom:clamp(36px,5vw,60px)}.eyebrow{margin:0 0 14px;font-family:var(--mono);font-size:14px;color:var(--cyan);display:flex;align-items:center;gap:10px}.eyebrow span{color:var(--pink)}.eyebrow:after{content:"";width:60px;height:1px;background:linear-gradient(90deg,var(--line-2),transparent)}.section-title{margin:0;font-size:clamp(32px,4.6vw,56px);line-height:1.06;letter-spacing:-.035em;font-weight:700}.section-sub{margin:18px 0 0;color:var(--muted);font-size:clamp(16.5px,1.35vw,18.5px);max-width:44em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.16s}.reveal-d3{transition-delay:.24s}.window{position:relative;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow),inset 0 1px #ffffff0d;overflow:hidden}.window-bar{display:flex;align-items:center;gap:7px;padding:13px 16px;border-bottom:1px solid var(--line);background:#ffffff05}.window-bar>span{width:11px;height:11px;border-radius:50%;background:#f87171}.window-bar>span:nth-child(2){background:#fbbf24}.window-bar>span:nth-child(3){background:#34d399}.window-bar b{margin-left:10px;font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--dim)}.window-body{padding:clamp(18px,3vw,28px)}.about-grid>*,.contact-grid>*,.hero-grid>*{min-width:0}.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}.about-text p{margin:0 0 18px;color:var(--muted)}.about-text p strong{color:var(--text)}.about-facts{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fact{padding:16px 18px;border-radius:14px;border:1px solid var(--line);background:var(--panel-2)}.fact small{display:flex;align-items:center;gap:7px;font-family:var(--mono);font-size:12px;color:var(--dim);text-transform:lowercase}.fact small .ico{width:14px;height:14px;color:var(--violet)}.fact strong{display:block;margin-top:4px;font-size:17px;font-weight:600;color:var(--text);line-height:1.35}.course-bar{grid-column:1 / -1}.cb-status{display:block;margin-top:2px;color:var(--muted);font-size:14.5px}.course-bar.is-done .bar i{background:linear-gradient(90deg,#34d399,#22d3ee);box-shadow:0 0 14px #34d3998c}.course-bar.is-done small .ico{color:#34d399}.bar{height:8px;border-radius:99px;background:#ffffff0f;overflow:hidden;margin-top:10px}.bar i{display:block;height:100%;width:0;border-radius:inherit;background:var(--grad);box-shadow:0 0 14px #22d3ee99;transition:width 1.6s var(--ease)}.in .bar i{width:var(--w)}.code{margin:0;font-family:var(--mono);font-size:clamp(12.5px,1.1vw,14px);line-height:1.85;counter-reset:ln;overflow-x:auto}.code .ln{display:block;padding-left:3.4em;position:relative;white-space:pre}.code .ln:before{counter-increment:ln;content:counter(ln);position:absolute;left:0;width:2.2em;text-align:right;color:#8c96c84d}.code .ln.is-hl{background:#8b5cf617;box-shadow:inset 2px 0 var(--violet)}.code-foot{display:flex;justify-content:space-between;gap:12px;padding:10px 16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11.5px;color:var(--dim)}.code-foot span:first-child{color:var(--green)}.stack-group{margin-bottom:36px}.stack-group h3{margin:0 0 16px;font-family:var(--mono);font-size:14px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:10px}.stack-group h3:before{content:">";color:var(--pink)}.stack-group h3 small{color:var(--dim)}.tech-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}.tech-grid>.tech{flex:0 0 196px}.tech-row{position:relative;padding:6px 0;margin:-6px 0}.tech-track{display:flex;justify-content:center;gap:14px}.tech-track>.tech{flex:0 0 196px}.tech-row.is-carousel{overflow:hidden}.tech-row.is-carousel:before,.tech-row.is-carousel:after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:9%;pointer-events:none}.tech-row.is-carousel:before{left:0;background:linear-gradient(90deg,var(--bg),rgba(4,5,13,0))}.tech-row.is-carousel:after{right:0;background:linear-gradient(270deg,var(--bg),rgba(4,5,13,0))}.tech-row.is-carousel .tech-track{justify-content:flex-start;width:max-content;padding-right:14px;-webkit-animation:techSlide var(--dur, 30s) linear infinite;animation:techSlide var(--dur, 30s) linear infinite}.tech-row.is-carousel:hover .tech-track,.tech-row.is-carousel:active .tech-track{animation-play-state:paused}@-webkit-keyframes techSlide{0%{-webkit-transform:translate3d(0,0,0);transform:translateZ(0)}to{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}}@keyframes techSlide{0%{transform:translateZ(0)}to{transform:translate3d(-50%,0,0)}}.stack-group h3{justify-content:center}.tech{--gx: 50%;--gy: 50%;position:relative;display:flex;align-items:center;gap:14px;padding:16px;border-radius:16px;border:1px solid var(--line);background:var(--panel);overflow:hidden;transition:transform .35s var(--ease),border-color .35s}.tech:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .35s;background:radial-gradient(220px circle at var(--gx) var(--gy),rgba(34,211,238,.14),transparent 60%)}.tech:hover{transform:translateY(-4px);border-color:#22d3ee66}.tech:hover:before{opacity:1}.tech-ico{position:relative;display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:12px;background:#ffffff0d;border:1px solid var(--line);padding:8px}.tech-ico img,.tech-ico svg{width:100%;height:100%;object-fit:contain}.tech-ico--dark img{filter:invert(1) brightness(1.4)}.tech-ico--txt{font-family:var(--mono);font-weight:700;font-size:14px;color:var(--cyan)}.tech-name{position:relative;min-width:0}.tech-name b{display:block;font-size:15.5px;font-weight:600;line-height:1.25}.badge{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-family:var(--mono);font-size:11px;color:var(--green)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.badge--study{color:var(--amber)}.badge--study:before{animation:blink 1.4s steps(1) infinite}.pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:10px}.pillar{padding:22px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2)}.pillar .ico{width:26px;height:26px;color:var(--cyan);margin-bottom:14px}.pillar b{display:block;font-size:16.5px;margin-bottom:6px}.pillar p{margin:0;color:var(--muted);font-size:14.5px;line-height:1.55}.marquee{position:relative;margin-top:42px;overflow:hidden}.marquee:before,.marquee:after{content:"";position:absolute;top:0;bottom:0;z-index:2;width:12%;pointer-events:none}.marquee:before{left:0;background:linear-gradient(90deg,var(--bg),rgba(4,5,13,0))}.marquee:after{right:0;background:linear-gradient(270deg,var(--bg),rgba(4,5,13,0))}.marquee-track{display:flex;gap:40px;width:max-content;animation:marquee 40s linear infinite;font-family:var(--mono);font-size:14px;color:var(--dim)}.marquee-track span{display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.marquee-track span:after{content:"//";color:var(--violet);margin-left:30px}@keyframes marquee{to{transform:translate(-50%)}}.project-filters{display:flex;flex-wrap:wrap;gap:8px;margin:-24px 0 34px}.filter{padding:8px 15px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--muted);font-family:var(--mono);font-size:13px;cursor:pointer;transition:.25s}.filter:hover{color:var(--text);border-color:var(--line-2)}.filter.is-active{color:#05060f;background:var(--cyan);border-color:var(--cyan)}.projects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.project{position:relative;display:flex;flex-direction:column;border-radius:22px;border:1px solid var(--line);background:linear-gradient(180deg,#14183499,#0a0d1e99);overflow:hidden;transition:border-color .4s,transform .4s var(--ease),box-shadow .4s}.project:hover{border-color:#8b5cf673;box-shadow:0 30px 70px -30px #8b5cf680}.project-stage{position:relative;padding:26px 18px 6px;background:radial-gradient(ellipse at 50% 40%,rgba(139,92,246,.16),transparent 65%);cursor:pointer}.project-body{padding:4px 26px 26px;display:flex;flex-direction:column;gap:10px;flex:1}.project-meta{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--mono);font-size:12px}.tag{padding:3px 9px;border-radius:7px;background:#22d3ee14;color:var(--cyan);border:1px solid rgba(34,211,238,.18)}.tag--year{background:#ffffff0a;color:var(--muted);border-color:var(--line)}.project h3{margin:0;font-size:23px;letter-spacing:-.02em;line-height:1.2}.project p{margin:0;color:var(--muted);font-size:15.5px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px}.project--featured{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:center}.project--featured .project-stage{padding:40px 24px 20px}.project--featured .project-body{padding:36px 40px 36px 10px}.project--featured h3{font-size:clamp(26px,3vw,36px)}.project--featured p{-webkit-line-clamp:6;font-size:16.5px}.featured-flag{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:var(--amber)}.featured-flag .ico{width:14px;height:14px}.project--skeleton{pointer-events:none}.project--skeleton .fake-ui{display:none}.project--skeleton .screen{background:linear-gradient(110deg,#0b0e1d 30%,#151a33,#0b0e1d 70%);background-size:200% 100%;animation:skel 1.6s linear infinite}.sk{display:block;height:14px;width:70%;border-radius:7px;background:linear-gradient(110deg,#ffffff0d 30%,#ffffff1c,#ffffff0d 70%);background-size:200% 100%;animation:skel 1.6s linear infinite}.sk--s{width:30%;height:10px}.sk--l{width:55%;height:22px}@keyframes skel{to{background-position:-200% 0}}.empty-projects{display:grid;place-items:center;text-align:center;padding:60px 24px;border-radius:22px;border:1px dashed var(--line-2);background:var(--panel-2)}.empty-projects pre{margin:0 0 16px;font-family:var(--mono);font-size:13.5px;color:var(--muted);text-align:left;white-space:pre-wrap}.empty-projects p{margin:0;color:var(--muted)}.scene{--rx: 9deg;--ry: -16deg;--rz: 1deg;position:relative;width:100%;aspect-ratio:16 / 10.4;perspective:1700px;perspective-origin:50% 30%}.rig{position:absolute;top:0;right:0;bottom:0;left:0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) rotate(var(--rz));transition:transform .9s var(--ease)}.dev{position:absolute;transform-style:preserve-3d}.screen{position:absolute;overflow:hidden;background:#0b0e1d;transform:translateZ(0)}.screen .shot{position:absolute;top:0;right:0;bottom:0;left:0;transition:transform 7s cubic-bezier(.45,0,.55,1);will-change:transform}.screen .shot img{display:block;width:100%;height:auto;min-height:100%;object-fit:cover;object-position:50% 0;transition:transform 7s cubic-bezier(.45,0,.55,1)}.scene:hover .screen .shot,.scene.is-active .screen .shot{transform:translateY(100%)}.scene:hover .screen .shot img,.scene.is-active .screen .shot img{transform:translateY(-100%)}.screen:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;background:linear-gradient(125deg,rgba(255,255,255,.1) 0%,rgba(255,255,255,.02) 30%,transparent 42%)}.laptop{left:12%;top:3%;width:72%;transform:translateZ(0)}.laptop .lid{position:relative;aspect-ratio:16 / 10.4;padding:1.7% 1.6% 2.3%;border-radius:3.4% 3.4% 1.1% 1.1%/5.3% 5.3% 1.7% 1.7%;background:#07080b;box-shadow:0 0 0 1.5px #c4c7cf,0 0 0 2.6px #62666f,inset 0 0 0 1px #ffffff0f,0 34px 60px -22px #000000f2}.laptop .lid:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translateZ(-8px);border-radius:inherit;background:linear-gradient(160deg,#b9bcc4,#6c7079)}.laptop .screen{top:1.7%;right:1.6%;bottom:2.3%;left:1.6%;border-radius:1.6% 1.6% .4% .4%/2.5% 2.5% .6% .6%}.laptop .notch{position:absolute;z-index:3;top:1.7%;left:50%;width:9%;height:3%;transform:translate(-50%);background:#07080b;border-radius:0 0 22% 22%/0 0 55% 55%}.laptop .notch:after{content:"";position:absolute;left:50%;top:32%;width:9%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#3b4a6b,#0c0f16 70%)}.laptop .base{position:relative;width:117%;margin-left:-8.5%;height:0;padding-bottom:2.7%;border-radius:.6% .6% 14% 14%/6% 6% 100% 100%;background:linear-gradient(180deg,#eceef2,#cfd2d8 30%,#9a9ea8 72%,#63676f);box-shadow:0 1px #ffffffb3 inset,0 20px 34px -10px #000000d9}.laptop .base:before{content:"";position:absolute;left:50%;top:0;width:15%;height:42%;transform:translate(-50%);border-radius:0 0 12px 12px/0 0 100% 100%;background:linear-gradient(180deg,#8e929b,#c3c6cd)}.laptop .base:after{content:"";position:absolute;left:7.5%;right:7.5%;top:0;height:18%;background:linear-gradient(180deg,#2a2d33,#2a2d3300)}.tablet{right:3%;bottom:7%;width:25%;transform:translateZ(70px)}.tablet .body{position:relative;aspect-ratio:3 / 4.25;padding:4.4%;border-radius:8%/5.7%;background:#07080b;box-shadow:0 0 0 1.6px #b3b6bf,0 0 0 2.8px #5b5f68,inset 0 0 0 1px #ffffff12,0 26px 44px -14px #000000f2}.tablet .screen{top:4.4%;right:4.4%;bottom:4.4%;left:4.4%;border-radius:4.4%/3.1%}.tablet .cam{position:absolute;z-index:3;top:1.6%;left:50%;width:2.2%;aspect-ratio:1;transform:translate(-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#3b4a6b,#0c0f16 70%)}.phone{left:7%;bottom:3%;width:14.5%;transform:translateZ(130px)}.phone .body{position:relative;aspect-ratio:9 / 19.5;padding:4.3%;border-radius:19%/8.8%;background:#040507;box-shadow:0 0 0 2px #9fa2aa,0 0 0 3.2px #50535b,inset 0 0 0 1px #ffffff14,0 26px 44px -10px #000000f2}.phone .screen{top:4.3%;right:4.3%;bottom:4.3%;left:4.3%;border-radius:15.5%/7.2%}.phone .island{position:absolute;z-index:3;top:6.2%;left:50%;width:32%;height:3.5%;transform:translate(-50%);border-radius:99px;background:#000}.phone .island:after{content:"";position:absolute;right:12%;top:50%;height:46%;aspect-ratio:1;transform:translateY(-50%);border-radius:50%;background:radial-gradient(circle at 35% 35%,#33415f,#05070b 70%)}.phone .btn-side{position:absolute;width:3.2%;border-radius:2px;background:linear-gradient(90deg,#6d7078,#c3c6cd);box-shadow:0 0 0 .5px #0006}.phone .b-action{left:-6%;top:17%;height:4%}.phone .b-vol1{left:-6%;top:24%;height:7.5%}.phone .b-vol2{left:-6%;top:33%;height:7.5%}.phone .b-power{right:-6%;top:26%;height:11%;background:linear-gradient(270deg,#6d7078,#c3c6cd)}.floor-shadow{position:absolute;left:8%;right:8%;bottom:-4%;height:14%;background:radial-gradient(ellipse at center,rgba(0,0,0,.65),rgba(0,0,0,.25) 45%,transparent 72%)}.scene--single .rig>.dev{display:none}.scene--single[data-show=desktop] .laptop,.scene--single[data-show=tablet] .tablet,.scene--single[data-show=mobile] .phone{display:block}.scene--single[data-show=desktop] .laptop{left:10%;top:6%;width:80%;transform:none}.scene--single[data-show=tablet] .tablet{left:50%;right:auto;top:2%;bottom:auto;width:38%;transform:translate(-50%)}.scene--single[data-show=mobile] .phone{left:50%;top:1%;bottom:auto;width:22%;transform:translate(-50%)}.fake-ui{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:linear-gradient(160deg,#111633,#0a0d1f);font-family:var(--font)}.fake-ui .fu-nav{display:flex;align-items:center;justify-content:space-between;padding:5% 6%}.fake-ui .fu-logo{width:18%;height:6px;border-radius:4px;background:var(--grad)}.fake-ui .fu-links{display:flex;gap:6%;width:40%;justify-content:flex-end}.fake-ui .fu-links i{width:18%;height:4px;border-radius:3px;background:#fff3}.fake-ui .fu-hero{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 8%;gap:8%}.fake-ui .fu-title{color:#fff;font-weight:700;font-size:clamp(8px,1.6vw,22px);line-height:1.1;letter-spacing:-.02em}.fake-ui .fu-line{height:5px;border-radius:3px;background:#ffffff24;width:70%}.fake-ui .fu-line+.fu-line{width:50%}.fake-ui .fu-btn{width:26%;height:12%;max-height:18px;border-radius:6px;background:var(--grad)}.phone .fake-ui .fu-title,.tablet .fake-ui .fu-title{font-size:clamp(6px,1vw,13px)}.phone .fake-ui .fu-links{display:none}.services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service{--gx: 50%;--gy: 50%;position:relative;padding:30px 28px;border-radius:20px;border:1px solid var(--line);background:var(--panel);overflow:hidden;transition:transform .4s var(--ease),border-color .4s}.service:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;padding:1px;opacity:0;transition:opacity .4s;background:radial-gradient(300px circle at var(--gx) var(--gy),var(--cyan),var(--violet) 40%,transparent 70%);-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)}.service:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity .4s;background:radial-gradient(400px circle at var(--gx) var(--gy),rgba(139,92,246,.1),transparent 60%);pointer-events:none}.service:hover{transform:translateY(-6px)}.service:hover:before,.service:hover:after{opacity:1}.service-ico{display:grid;place-items:center;width:54px;height:54px;border-radius:15px;margin-bottom:22px;background:var(--grad-soft);border:1px solid var(--line-2);color:var(--cyan)}.service-ico .ico{width:26px;height:26px}.service h3{margin:0 0 10px;font-size:20.5px;letter-spacing:-.015em}.service p{margin:0;color:var(--muted);font-size:15.5px}.service-num{position:absolute;top:24px;right:26px;font-family:var(--mono);font-size:13px;color:var(--dim)}.gitlog{list-style:none;margin:0;padding:0;position:relative;max-width:860px}.gitlog:before{content:"";position:absolute;left:11px;top:10px;bottom:10px;width:2px;background:linear-gradient(180deg,var(--cyan),var(--violet) 60%,transparent);opacity:.5}.commit{position:relative;padding:0 0 34px 48px}.commit:before{content:"";position:absolute;left:3px;top:6px;width:18px;height:18px;border-radius:50%;background:var(--bg);border:2px solid var(--cyan);box-shadow:0 0 0 4px #22d3ee1a,0 0 18px #22d3ee80}.commit:first-child:before{background:var(--cyan)}.commit-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-family:var(--mono);font-size:13px}.commit-hash{color:var(--amber)}.commit-ref{color:var(--cyan)}.commit-ref b{color:var(--green);font-weight:500}.commit-period{padding:2px 9px;border-radius:7px;border:1px solid var(--line-2);color:var(--text)}.commit h3{margin:8px 0 6px;font-size:21px;letter-spacing:-.015em}.commit p{margin:0;color:var(--muted);font-size:15.5px}.blog-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:40px}.blog-head .section-head{margin-bottom:0}.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.post-card{display:flex;flex-direction:column;border-radius:20px;border:1px solid var(--line);background:var(--panel);overflow:hidden;color:var(--text);transition:transform .4s var(--ease),border-color .4s}.post-card:hover{color:var(--text);transform:translateY(-5px);border-color:#22d3ee66}.post-cover{aspect-ratio:16 / 9;background:var(--grad-soft);overflow:hidden;position:relative}.post-cover img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.post-card:hover .post-cover img{transform:scale(1.05)}.post-cover--empty{display:grid;place-items:center;font-family:var(--mono);color:var(--cyan);font-size:28px}.post-info{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1}.post-info small{font-family:var(--mono);font-size:12px;color:var(--dim)}.post-info h3{margin:0;font-size:19.5px;line-height:1.3;letter-spacing:-.01em}.post-info p{margin:0;color:var(--muted);font-size:15px}.blog-banner{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;padding:clamp(24px,4vw,40px);border-radius:24px;border:1px solid var(--line-2);background:linear-gradient(120deg,#22d3ee14,#8b5cf61a,#ec48990f)}.blog-banner .tech-ico{width:64px;height:64px;border-radius:18px;padding:0;overflow:hidden;border:0}.blog-banner h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}.blog-banner p{margin:0;color:var(--muted)}.contact-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,70px);align-items:start}.contact-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:12px}.contact-item{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);transition:.3s var(--ease)}.contact-item:hover{color:var(--text);border-color:#22d3ee73;transform:translate(6px);background:#22d3ee0d}.contact-item .ci-ico{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--grad-soft);color:var(--cyan);flex:none}.contact-item small{display:block;font-family:var(--mono);font-size:12px;color:var(--dim)}.contact-item b{font-weight:600;font-size:15.5px;word-break:break-word}.contact-item .arrow{margin-left:auto;color:var(--dim);transition:.3s}.contact-item:hover .arrow{color:var(--cyan);transform:translate(3px)}.contact-status{display:inline-flex;align-items:center;gap:10px;margin-top:24px;font-family:var(--mono);font-size:13px;color:var(--green)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{display:block;margin-bottom:14px}.field>span{display:block;margin-bottom:7px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.field>span:before{content:"$ ";color:var(--violet)}.field i{color:var(--pink);font-style:normal}.field input,.field textarea,.field select{width:100%;padding:13px 15px;border-radius:12px;border:1px solid var(--line-2);background:#04061099;color:var(--text);font:inherit;font-size:15.5px;transition:border-color .2s,box-shadow .2s,background .2s}.field textarea{resize:vertical;min-height:130px;line-height:1.55}.field input::placeholder,.field textarea::placeholder{color:#5a6084}.field input:focus,.field textarea:focus,.field select:focus{outline:0;border-color:var(--cyan);box-shadow:0 0 0 4px #22d3ee1f;background:#040610d9}.field.has-error input,.field.has-error textarea{border-color:var(--red)}.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}.form-note{margin:2px 0 18px;font-size:13px;color:var(--dim)}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px}.form-status{margin:0;font-family:var(--mono);font-size:13.5px}.form-status.is-ok{color:var(--green)}.form-status.is-error{color:var(--red)}.form-done{text-align:center;padding:40px 10px}.form-done .check{display:grid;place-items:center;width:72px;height:72px;margin:0 auto 18px;border-radius:50%;background:#34d3991f;color:var(--green);border:1px solid rgba(52,211,153,.4);animation:pop .6s var(--ease)}.form-done .check .ico{width:34px;height:34px}.form-done h3{margin:0 0 8px;font-size:24px}.form-done p{margin:0 0 20px;color:var(--muted)}@keyframes pop{0%{transform:scale(.4);opacity:0}}.numbers-strip{position:relative;padding:0 0 clamp(24px,4vw,40px);margin-top:-30px}.numbers{display:grid;grid-template-columns:repeat(var(--n, 4),minmax(0,1fr));border-radius:20px;border:1px solid var(--line);background:var(--panel);overflow:hidden}.number{position:relative;padding:24px 20px;text-align:center}.number+.number:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:1px;background:var(--line-2)}.number b{display:block;font-size:clamp(30px,3.6vw,44px);font-weight:700;letter-spacing:-.03em;line-height:1.05;font-variant-numeric:tabular-nums}.number>span{display:block;margin-top:6px;color:var(--muted);font-size:14px}.section-head--center{margin-inline:auto;text-align:center}.section-head--center .eyebrow{justify-content:center}.section-head--center .eyebrow:after{display:none}.section-head--center .section-sub{margin-inline:auto}.tech-track>.dep{flex:0 0 min(360px,82vw)}.dep{position:relative;margin:0;padding:26px 24px 22px;border-radius:20px;border:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;gap:14px;transition:border-color .3s,transform .3s var(--ease)}.dep:hover{border-color:#8b5cf673;transform:translateY(-3px)}.dep-quote{position:absolute;top:18px;right:20px;color:#8b5cf659}.dep-quote .ico{width:34px;height:34px}.dep blockquote{margin:0;color:var(--text);font-size:15.5px;line-height:1.65;flex:1}.dep figcaption{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid var(--line)}.dep figcaption b{display:block;font-size:15px}.dep figcaption small{display:block;color:var(--muted);font-size:13px}.dep-av{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;overflow:hidden;background:var(--grad);color:#05060f;font-weight:700;font-size:15px}.dep-av img{width:100%;height:100%;object-fit:cover}.stars{display:inline-flex;gap:2px}.stars span{color:#ffffff26}.stars span.on{color:var(--amber)}.stars .ico{width:17px;height:17px;fill:currentColor}.dep-cta{margin:28px 0 0;text-align:center}.chips{border:0;padding:0;margin:0 0 16px;min-width:0}.chips legend{padding:0;margin-bottom:8px;font-family:var(--mono);font-size:12.5px;color:var(--muted)}.chips legend:before{content:"$ ";color:var(--violet)}.chips-row{display:flex;flex-wrap:wrap;gap:8px}.chip-opt{position:relative;cursor:pointer}.chip-opt input{position:absolute;opacity:0;pointer-events:none}.chip-opt span{display:inline-block;padding:8px 13px;border-radius:10px;border:1px solid var(--line-2);background:#04061099;color:var(--muted);font-size:14px;transition:.2s}.chip-opt:hover span{color:var(--text);border-color:#22d3ee66}.chip-opt input:checked+span{color:#05060f;background:var(--cyan);border-color:var(--cyan);font-weight:600}.chip-opt input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px}.captcha:not(:empty){margin:4px 0 14px}.dep-page{max-width:820px}.rate{display:inline-flex;flex-direction:row-reverse;gap:4px}.rate label{cursor:pointer}.rate input{position:absolute;opacity:0;pointer-events:none}.rate span{display:block;color:#ffffff2e;transition:color .15s,transform .15s}.rate .ico{width:32px;height:32px;fill:currentColor}.rate label:hover span,.rate label:hover~label span,.rate input:checked+span,.rate label:has(input:checked)~label span{color:var(--amber)}.rate label:hover span{transform:scale(1.12)}.rate input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:2px;border-radius:6px}.field .count{display:block;text-align:right;margin-top:6px;font-family:var(--mono);font-size:12px;color:var(--dim)}.consent{display:flex;gap:12px;align-items:flex-start;margin:4px 0 16px;font-size:14px;color:var(--muted);cursor:pointer}.consent input{margin-top:3px;width:18px;height:18px;accent-color:#8b5cf6;flex:none}.case{max-width:1100px}.case-head{max-width:820px}.case-head h1{margin:14px 0 12px;font-size:clamp(36px,5.6vw,64px);line-height:1.04;letter-spacing:-.04em}.case-lead{margin:0 0 22px;color:var(--muted);font-size:clamp(16.5px,1.5vw,19px)}.case-stage{margin:36px 0 6px;padding:40px clamp(8px,4vw,60px) 20px;border-radius:24px;border:1px solid var(--line);background:radial-gradient(ellipse at 50% 40%,rgba(139,92,246,.2),transparent 65%),var(--panel)}.case-stage .scene{max-width:900px;margin:0 auto}.case .pm-tabs{padding:16px 0 0}.case-blocks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:46px}.case-block{position:relative;padding:28px 26px;border-radius:20px;border:1px solid var(--line);background:var(--panel)}.case-block h2{margin:0 0 10px;font-size:21px;letter-spacing:-.015em}.case-block p{margin:0 0 10px;color:var(--muted);font-size:15.5px}.case-num{position:absolute;top:22px;right:24px;font-family:var(--mono);font-size:13px;color:var(--dim)}.case-ico{display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;border-radius:14px;background:var(--grad-soft);border:1px solid var(--line-2);color:var(--cyan)}.case-ico .ico{width:24px;height:24px}.case-cta{margin:46px 0 0;padding:clamp(28px,4vw,44px);border-radius:24px;text-align:center;border:1px solid var(--line-2);background:linear-gradient(120deg,#22d3ee14,#8b5cf61a,#ec48990f)}.case-cta h2{margin:0 0 6px;font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}.case-cta p{margin:0 0 20px;color:var(--muted)}.case-nav{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}.case-nav a{padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--panel-2);color:var(--text);transition:border-color .2s}.case-nav a:last-child{text-align:right}.case-nav a:hover{border-color:#22d3ee66;color:var(--text)}.case-nav small{display:block;font-family:var(--mono);font-size:12px;color:var(--dim)}.case-nav b{font-size:16px}@media (max-width: 720px){.numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.number:nth-child(odd):before{display:none}.number:nth-child(n+3){border-top:1px solid var(--line)}.number{padding:18px 12px}.case-nav{grid-template-columns:1fr}.case-nav a:last-child{text-align:left}}.footer{position:relative;margin-top:0;overflow:hidden;background:linear-gradient(180deg,#080a1833,#04050df5 40%)}.footer:before{content:"";position:absolute;left:50%;top:0;width:min(900px,90%);height:1px;transform:translate(-50%);background:linear-gradient(90deg,transparent,var(--cyan),var(--violet),var(--pink),transparent);box-shadow:0 0 18px #8b5cf699}.footer-glow{position:absolute;left:50%;top:-260px;width:760px;height:460px;transform:translate(-50%);border-radius:50%;background:radial-gradient(ellipse at center,rgba(139,92,246,.16),rgba(34,211,238,.06) 45%,transparent 70%);pointer-events:none}.footer-inner{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:52px 0 0}.footer-logo{font-size:17px;gap:12px}.footer-logo .logo-mark{width:46px;height:46px}.footer-tagline{margin:14px 0 22px;max-width:30em;color:var(--muted);font-size:15.5px}.socials{display:flex;flex-wrap:wrap;gap:8px}.footer-socials{justify-content:center;gap:10px}.footer-socials .icon-btn{width:46px;height:46px;border-radius:14px;background:#ffffff08;transition:transform .3s var(--ease),color .3s,border-color .3s,background .3s}.footer-socials .icon-btn:hover{transform:translateY(-3px);color:#05060f;border-color:transparent;background:var(--grad)}.footer-bottom{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;width:100%;margin-top:36px;padding:22px 0 30px;border-top:1px solid var(--line);font-size:13.5px;color:var(--dim)}.footer-bottom p{margin:0}.footer-bottom a{color:var(--muted)}.footer-bottom a:hover{color:var(--cyan)}.scr-on{position:relative}.scr-on .scr-ghost{visibility:hidden}.scr-on .scr-live{position:absolute;left:0;top:0;right:0}.to-top{position:fixed;right:22px;bottom:22px;z-index:90;opacity:0;transform:translateY(16px);pointer-events:none;transition:.4s var(--ease);background:#0a0d1eeb}.to-top.is-visible{opacity:1;transform:none;pointer-events:auto}.has-wa .to-top{bottom:82px}.wa-float{position:fixed;right:20px;bottom:20px;z-index:91;display:grid;place-items:center;width:50px;height:50px;border-radius:16px;color:#25d366;background:#0a0d1eeb;border:1px solid rgba(37,211,102,.35);box-shadow:0 10px 28px -12px #25d36680;transition:transform .3s var(--ease),background .3s,color .3s,border-color .3s}.wa-float:hover{color:#fff;background:#25d366;border-color:#25d366;transform:translateY(-2px)}.wa-float svg{width:24px;height:24px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:grid;place-items:center;padding:20px}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#02030ac7;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:fadeIn .3s}.modal-card{position:relative;width:min(1080px,100%);max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);overflow:auto;border-radius:24px;border:1px solid var(--line-2);background:linear-gradient(180deg,#0d1128,#070915);box-shadow:0 40px 120px -20px #000000e6;animation:modalIn .5s var(--ease)}@keyframes fadeIn{0%{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(30px) scale(.97)}}.modal-close{position:absolute;top:14px;right:14px;z-index:3;width:42px;height:42px;border-radius:12px;border:1px solid var(--line-2);background:#05060fb3;cursor:pointer}.modal-close:before,.modal-close:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;margin:-1px -8px;background:var(--text);transform:rotate(45deg)}.modal-close:after{transform:rotate(-45deg)}.pm-stage{padding:50px 30px 20px;background:radial-gradient(ellipse at 50% 40%,rgba(139,92,246,.2),transparent 65%)}.pm-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:0 20px 6px}.pm-tabs button{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:14px;cursor:pointer}.pm-tabs button.is-active{color:var(--text);border-color:var(--cyan);background:#22d3ee14}.pm-tabs .ico{width:16px;height:16px}.pm-info{padding:22px clamp(20px,4vw,44px) 40px}.pm-info h2{margin:10px 0 12px;font-size:clamp(26px,3.4vw,38px);letter-spacing:-.025em}.pm-info p{color:var(--muted);white-space:pre-line;margin:0 0 22px;max-width:48em}.privacy-modal{z-index:170}.privacy-card{width:min(820px,100%);display:flex;flex-direction:column;overflow:hidden}.privacy-card .modal-close{top:16px;right:16px}.privacy-in{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:clamp(26px,4vw,44px) clamp(20px,4vw,44px) 30px;scrollbar-width:thin;scrollbar-color:rgba(139,92,246,.5) transparent}.privacy-in::-webkit-scrollbar{width:8px}.privacy-in::-webkit-scrollbar-thumb{background:#8b5cf673;border-radius:8px;border:2px solid transparent;background-clip:padding-box}.privacy-in h2{margin:0 52px 6px 0;font-size:clamp(26px,3.6vw,38px);letter-spacing:-.03em;line-height:1.1}.privacy-date{margin:0 0 18px;color:var(--muted);font-size:14px}.privacy-in .prose{font-size:16px}.privacy-in .prose h2{font-size:21px;margin-top:1.6em}.privacy-foot{position:sticky;bottom:-30px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin:24px -4px -30px;padding:26px 4px 30px;background:linear-gradient(180deg,#07091500,#070915 20px)}.privacy-page{color:var(--muted);font-size:14px;text-decoration:underline;text-underline-offset:3px}.terminal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:160;display:grid;place-items:center;padding:16px}.terminal .modal-backdrop{animation:fadeIn .25s}.term-win{position:relative;width:min(760px,100%);height:min(500px,calc(100dvh - 32px));display:flex;flex-direction:column;animation:modalIn .4s var(--ease);background:#060814eb}.term-out{flex:1;overflow:auto;padding:16px 18px;font-family:var(--mono);font-size:13.5px;line-height:1.7;color:#cdd3f5}.term-out .t-line{white-space:pre-wrap;word-break:break-word}.term-out a{color:var(--cyan);text-decoration:underline}.term-in{display:flex;align-items:center;gap:8px;padding:12px 18px 16px;font-family:var(--mono);font-size:13.5px;border-top:1px solid var(--line)}.term-in input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--text);font:inherit;caret-color:var(--cyan)}.term-close{margin-left:auto;background:none;border:0;color:var(--dim);cursor:pointer;font-family:var(--mono);font-size:12px}.boot{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;background:var(--bg);transition:opacity .6s,visibility .6s}.boot.is-done{opacity:0;visibility:hidden}.boot pre{margin:0;font-family:var(--mono);font-size:13.5px;line-height:1.8;color:var(--muted);min-width:min(380px,86vw)}.boot pre b{color:var(--green);font-weight:500}.page{padding:calc(var(--nav-h) + 60px) 0 80px;min-height:70vh}.page-head{max-width:820px;margin-bottom:40px}.page-head h1{margin:0;font-size:clamp(36px,5.4vw,60px);letter-spacing:-.04em;line-height:1.04}.page-head p{color:var(--muted);margin:16px 0 0}.breadcrumb{font-family:var(--mono);font-size:13px;color:var(--dim);margin-bottom:18px}.breadcrumb a{color:var(--muted)}.prose{max-width:760px;font-size:17.5px}.prose h2{margin:2em 0 .6em;font-size:26px;letter-spacing:-.02em}.prose h2:before{content:"# ";color:var(--violet);font-family:var(--mono);font-size:.8em}.prose h3{margin:1.8em 0 .5em;font-size:21px}.prose h4{margin:1.6em 0 .4em;font-size:18px}.prose p,.prose li{color:#c4c8e2}.prose p{margin:0 0 1.1em}.prose ul,.prose ol{padding-left:1.3em;margin:0 0 1.2em}.prose li{margin-bottom:.4em}.prose li::marker{color:var(--cyan)}.prose strong{color:var(--text)}.prose a{text-decoration:underline;text-underline-offset:3px}.prose img{border-radius:14px;margin:1.6em auto;border:1px solid var(--line)}.prose blockquote{margin:1.5em 0;padding:4px 22px;border-left:3px solid var(--violet);background:#8b5cf60f;border-radius:0 12px 12px 0}.prose code{font-family:var(--mono);font-size:.86em;padding:2px 7px;border-radius:6px;background:#8b5cf624;color:#d8ccff}.prose .code-block{margin:1.5em 0;padding:18px 20px;border-radius:14px;background:#070917;border:1px solid var(--line);overflow-x:auto;position:relative}.prose .code-block[data-lang]:before{content:attr(data-lang);position:absolute;top:8px;right:12px;font-family:var(--mono);font-size:11px;color:var(--dim)}.prose .code-block code{padding:0;background:none;color:#d1d6f5;font-size:14px;line-height:1.7}.prose hr{border:0;height:1px;background:var(--line-2);margin:2.5em 0}.post-hero{max-width:860px}.post-hero .post-cover{border-radius:22px;margin:34px 0 40px;border:1px solid var(--line)}.post-meta{display:flex;flex-wrap:wrap;gap:14px;font-family:var(--mono);font-size:13px;color:var(--dim);margin-top:18px}.post-meta span{display:inline-flex;align-items:center;gap:6px}.post-meta .ico{width:14px;height:14px}.notice{padding:40px;border-radius:20px;border:1px dashed var(--line-2);text-align:center;color:var(--muted)}.redirect-card{max-width:560px;margin:0 auto;text-align:center}.redirect-card .window-body{padding:40px 30px}.redirect-card h1{font-size:clamp(28px,4vw,36px);margin:0 0 10px;letter-spacing:-.02em}.redirect-card p{color:var(--muted);margin:0 0 24px}.redirect-card .actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.big-404{font-family:var(--mono);font-size:clamp(90px,20vw,200px);font-weight:700;line-height:1;letter-spacing:-.06em;margin:0}.noscript{position:fixed;bottom:0;left:0;right:0;padding:12px;text-align:center;background:var(--amber);color:#000;margin:0;z-index:400}@media (max-width: 1100px){.nav-links a{padding:8px 9px;font-size:14px}.services,.pillars{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 960px){:root{--nav-h: 66px}.nav-links,.nav-actions .nav-cta{display:none}.nav-toggle{display:inline-grid}.hero{padding-top:calc(var(--nav-h) + 24px);min-height:auto}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-visual{order:-1}.avatar-stage{width:min(100%,400px)}.hero-text{text-align:left}.about-grid,.contact-grid,.project--featured{grid-template-columns:1fr}.project--featured .project-body{padding:4px 26px 28px}.posts{grid-template-columns:repeat(2,minmax(0,1fr))}.blog-banner{grid-template-columns:auto 1fr}.blog-banner .btn{grid-column:1 / -1;justify-self:start}}@media (max-width: 720px){body{font-size:16px}.projects,.services,.posts{grid-template-columns:1fr}.field-row{grid-template-columns:1fr;gap:0}.glass-chip--b{left:0}.glass-chip--c{right:0}.glass-chip--a{right:2%}.float-win{display:none}.float-win:nth-child(-n+2){display:block}.hero-cta .btn{flex:1 1 auto}.scene{--rx: 6deg;--ry: -9deg;--rz: 0deg}.footer-bottom{padding-bottom:92px;flex-direction:column;gap:6px}.footer-dot{display:none}.project-stage{padding:22px 16px 4px}#fx-windows{opacity:.55}.glass-chip{backdrop-filter:none;-webkit-backdrop-filter:none;background:#0e1228e6}}@media (max-width: 460px){.container{width:calc(100% - 32px)}.hero-name{font-size:clamp(44px,15vw,64px)}.about-facts,.pillars{grid-template-columns:1fr}.glass-chip{font-size:10.5px;padding:7px 10px}.glass-chip--c{display:none}.tech-grid{gap:10px}.tech-grid>.tech{flex-basis:calc(50% - 5px);max-width:196px}.tech-track{gap:10px}.tech-row.is-carousel .tech-track{padding-right:10px}.tech{padding:12px;gap:10px}.tech-ico{width:36px;height:36px;padding:6px}.tech-name b{font-size:14px}.blog-banner{grid-template-columns:1fr;text-align:left}.project-body{padding:4px 20px 22px}.pm-stage{padding:54px 8px 10px}}@media (hover: none){.spotlight{display:none}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.reveal{opacity:1;transform:none}.tech-row.is-carousel{overflow-x:auto}.tech-row.is-carousel .tech-track{animation:none!important}.float-win{opacity:var(--op, .6)}}.cv-wrap{max-width:1000px}.cv-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.cv-prompt{margin:0;font-family:var(--mono);font-size:14px;color:var(--text)}.cv-bar .actions{display:flex;flex-wrap:wrap;gap:10px}.cv-sheet{border-radius:22px;border:1px solid var(--line-2);background:linear-gradient(180deg,#0d1128,#080a18);padding:clamp(22px,4vw,48px);box-shadow:0 40px 120px -40px #000000e6}.cv-head{display:grid;grid-template-columns:1fr auto;gap:18px 26px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--line-2)}.cv-head.has-photo{grid-template-columns:auto 1fr auto}.cv-photo{width:92px;height:92px;border-radius:50%;overflow:hidden;border:2px solid var(--violet);background:#0b0e1d}.cv-photo img{width:100%;height:165%;object-fit:cover;object-position:top}.cv-photo--real img{height:100%;object-position:center}.cv-head h1{margin:0;font-size:clamp(28px,4vw,42px);letter-spacing:-.03em;line-height:1.05}.cv-role{margin:6px 0 0;font-family:var(--mono);color:var(--cyan);font-size:15px}.cv-sub{margin:3px 0 0;color:var(--muted);font-size:14px}.cv-sub strong{color:var(--text);font-weight:600}.cv-contacts{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:14px}.cv-contacts li{display:flex;align-items:center;gap:9px;min-width:0}.cv-contacts .ico{width:15px;height:15px;flex:none;color:var(--violet)}.cv-contacts span{min-width:0;overflow-wrap:anywhere}.cv-contacts a{color:var(--text)}.cv-cols{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:34px;margin-top:24px}.cv-sec+.cv-sec{margin-top:26px}.cv-sec h2{display:flex;align-items:center;gap:9px;margin:0 0 12px;font-family:var(--mono);font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--cyan)}.cv-sec h2 .ico{width:16px;height:16px;color:var(--pink)}.cv-sec p,.cv-md p,.cv-bullets,.cv-md ul,.cv-md ol{margin:0 0 6px;color:#c4c8e2;font-size:15px}.cv-md>:last-child{margin-bottom:0}.cv-md ul,.cv-md ol,.cv-bullets{padding-left:1.2em}.cv-bullets li,.cv-md li{margin-bottom:2px}.cv-bullets li::marker,.cv-md li::marker{color:var(--cyan)}.cv-sec strong{color:var(--text)}.cv-item+.cv-item{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line)}.cv-item--sm+.cv-item--sm{margin-top:9px;padding-top:9px}.cv-item-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;align-items:baseline}.cv-item-head b,.cv-item--sm>b{font-size:16px}.cv-item--sm>b a{color:var(--text);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.cv-item .cv-sub{margin-bottom:5px}.cv-when{font-family:var(--mono);font-size:12.5px;color:var(--dim)}.cv-techs{font-family:var(--mono);font-size:12.5px!important;color:var(--violet)!important}.cv-link{font-family:var(--mono);font-size:12.5px!important}.cv-skill+.cv-skill{margin-top:12px}.cv-skill small{display:block;margin-bottom:6px;color:var(--dim);font-size:12.5px}.cv-tags{display:flex;flex-wrap:wrap;gap:6px}.cv-tag{padding:3px 9px;border-radius:7px;border:1px solid var(--line-2);font-size:13.5px}.cv-tag em{font-style:normal;font-size:11px;color:var(--amber)}.cv-langs{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:15px}.cv-langs li{display:flex;justify-content:space-between;gap:10px}.cv-langs span{color:var(--muted)}.cv-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 18px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--dim)}.cv-hint{margin:14px 0 0;font-size:13.5px;text-align:center}@media (max-width: 520px){.cv-bar .actions{width:100%}.cv-bar .btn{flex:1 1 auto;padding:10px 12px;font-size:14px}}@media (max-width: 760px){.cv-head,.cv-head.has-photo{grid-template-columns:1fr}.cv-cols{grid-template-columns:1fr;gap:26px}}.is-paper .cv-stage{position:relative}.is-paper .cv-sheet{width:210mm;height:297mm;padding:12mm 13mm 9mm;box-sizing:border-box;overflow:hidden;margin:0 auto;border:0;border-radius:3px;background:#fff;color:#15182b;transform:scale(var(--k, 1));transform-origin:0 0;box-shadow:0 30px 90px -20px #000000d9;font-size:12.5px;line-height:1.45}.is-paper .cv-fit{width:calc(100% / var(--s, 1));display:flex;flex-direction:column;transform:scale(var(--s, 1));transform-origin:0 0}.is-paper .cv-cols{margin-bottom:12px}.is-paper .cv-foot{margin-top:auto}.is-paper .cv-head{gap:10px 18px;padding-bottom:calc(12px + var(--sp, 0px) * .4);border-color:#dfe2f1}.is-paper .cv-head,.is-paper .cv-head.has-photo{grid-template-columns:1fr auto}.is-paper .cv-head.has-photo{grid-template-columns:auto 1fr auto}.is-paper .cv-photo{width:74px;height:74px;border-color:#7c3aed;background:#f1f2f9}.is-paper .cv-head h1{font-size:29px;color:#0b0d1c}.is-paper .cv-role{font-size:13px;color:#6d28d9;margin-top:3px}.is-paper .cv-sub,.is-paper .cv-when,.is-paper .cv-skill small,.is-paper .cv-langs span{color:#5b6080}.is-paper .cv-sub{font-size:12px}.is-paper .cv-sub strong,.is-paper .cv-sec strong{color:#15182b}.is-paper .cv-contacts{font-size:11.5px;gap:3px}.is-paper .cv-contacts .ico{width:12px;height:12px;color:#6d28d9}.is-paper .cv-contacts a,.is-paper .cv-item-head b,.is-paper .cv-sec a,.is-paper .cv-item--sm>b a{color:#15182b;text-decoration:none}.is-paper .cv-cols{gap:22px;margin-top:calc(14px + var(--sp, 0px) * .6);grid-template-columns:minmax(0,1.7fr) minmax(0,1fr)}.is-paper .cv-sec+.cv-sec{margin-top:calc(13px + var(--sp, 0px))}.is-paper .cv-sec h2{margin-bottom:6px;padding-bottom:3px;border-bottom:1.5px solid #e4e6f3;font-size:10.5px;color:#0e7490;letter-spacing:.1em}.is-paper .cv-sec h2 .ico{width:12px;height:12px;color:#6d28d9}.is-paper .cv-sec p,.is-paper .cv-md p,.is-paper .cv-bullets,.is-paper .cv-md ul,.is-paper .cv-md ol,.is-paper .cv-langs{font-size:12px;color:#2a2e45;margin-bottom:3px}.is-paper .cv-bullets li::marker,.is-paper .cv-md li::marker{color:#0e7490}.is-paper .cv-item+.cv-item{margin-top:calc(8px + var(--sp, 0px) * .5);padding-top:calc(8px + var(--sp, 0px) * .5);border-color:#e8e9f4}.is-paper .cv-item--sm+.cv-item--sm{margin-top:5px;padding-top:5px}.is-paper .cv-item-head b,.is-paper .cv-item--sm>b{font-size:13px}.is-paper .cv-item .cv-sub{margin-bottom:3px}.is-paper .cv-when{font-size:10.5px}.is-paper .cv-techs,.is-paper .cv-link{font-size:10.5px!important}.is-paper .cv-techs{color:#6d28d9!important}.is-paper .cv-link a{color:#0e7490}.is-paper .cv-skill+.cv-skill{margin-top:7px}.is-paper .cv-skill small{font-size:10.5px;margin-bottom:3px}.is-paper .cv-tags{gap:4px}.is-paper .cv-tag{font-size:11px;padding:1px 6px;border-color:#d4d7ea;border-radius:5px;color:#15182b}.is-paper .cv-tag em{color:#b45309;font-size:9.5px}.is-paper .cv-langs{gap:2px}.is-paper .cv-foot{margin-top:auto;padding-top:7px;font-size:10px;color:#8a8fac;border-color:#e8e9f4}.is-paper .cv-item,.is-paper .cv-skill{break-inside:avoid}.cv-foot.has-qr{justify-content:flex-start;align-items:center;gap:12px;text-align:left}.cv-foot.has-qr>span:last-child{margin-left:auto}.cv-qr{flex:none;width:76px;height:76px}.cv-qr svg{display:block;width:100%;height:100%}.cv-qr-txt b{display:block;color:var(--text);font-weight:600;font-size:13px}.cv-qr-txt span{font-family:var(--mono);color:var(--cyan)}.is-paper .cv-qr{width:23mm;height:23mm;margin:-2mm 0 -2mm -2.5mm}.is-paper .cv-qr-txt b{color:#15182b;font-size:10.5px}.is-paper .cv-qr-txt span{color:#0e7490;font-size:9.5px}.cv-lang{display:inline-flex;padding:3px;border-radius:12px;border:1px solid var(--line-2);background:#05060f99}.cv-lang[hidden]{display:none}.cv-lang button{min-width:44px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-family:var(--mono);font-size:13.5px;cursor:pointer}.cv-lang button.is-on{background:#22d3ee24;color:var(--cyan)}html.cv-embed body{background:transparent;min-height:0}html.cv-embed .fx,html.cv-embed .spotlight,html.cv-embed .progress,html.cv-embed .nav,html.cv-embed .footer,html.cv-embed .wa-float,html.cv-embed .to-top,html.cv-embed .cv-bar,html.cv-embed .cv-hint,html.cv-embed .skip-link,html.cv-embed .boot,html.cv-embed .mobile-menu{display:none!important}html.cv-embed .page{padding:0;min-height:0}html.cv-embed .cv-wrap{width:100%;max-width:none;zoom:1}html.cv-embed .cv-sheet{box-shadow:0 10px 40px -12px #000000b3}@media print{.fx,.spotlight,.nav,.footer,.wa-float,.to-top,.progress,.skip-link,.mobile-menu,.terminal,.privacy-modal,.boot{display:none!important}html{color-scheme:light}html,body{background:#fff!important;color:#000}.prose p,.prose li{color:#222}.reveal{opacity:1!important;transform:none!important}}#cv-print,#cv-print-curto{position:fixed;left:-10000px;top:0;visibility:hidden;pointer-events:none}#cv-print .cv-sheet{width:210mm;height:296mm}#cv-print-curto .cv-sheet{width:190mm;height:250mm;padding:9mm 10mm 7mm}@media print{@page{size:A4;margin:0}html.cv-has-print,html.cv-has-print body{width:auto;height:auto;min-height:0;overflow:visible;margin:0;padding:0;background:#fff!important}html.cv-has-print body>*:not(.cv-print-copy){display:none!important}html.cv-has-print #cv-print,html.cv-has-print #cv-print-curto{display:none;position:static;left:auto;visibility:visible}html.cv-has-print #cv-print-curto{display:block}.cv-print-copy .cv-stage{height:auto!important}.cv-print-copy .cv-sheet{transform:none!important;box-shadow:none!important;border-radius:0!important;margin:0 auto!important;break-inside:avoid;page-break-inside:avoid}}@media print and (min-height: 292mm) and (min-width: 206mm){html.cv-has-print #cv-print-curto{display:none}html.cv-has-print #cv-print{display:block}}@media (hover: none),(max-width: 720px){input,textarea,select,.field input,.field textarea,.field select,.term-in input{font-size:16px!important}}@media (min-width: 600px) and (max-width: 960px){.nav-actions .nav-cta{display:inline-flex}}@media (min-width: 961px) and (max-width: 1100px) and (orientation: portrait){.hero{padding-top:calc(var(--nav-h) + 24px);min-height:auto}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-visual{order:-1}.avatar-stage{width:min(100%,460px)}}@media (min-width: 2100px) and (min-height: 860px){:root{--z: 1.15}}@media (min-width: 2400px) and (min-height: 960px){:root{--z: 1.3}}@media (min-width: 2800px) and (min-height: 1120px){:root{--z: 1.45}}@media (min-width: 3200px) and (min-height: 1280px){:root{--z: 1.6}}.container,.modal-card,.term-win,.wa-float,.to-top{zoom:var(--z, 1)}
