@charset "UTF-8";@keyframes blink{50%{opacity:0}}@keyframes floor{0%{transform:rotateX(68deg) translateY(0)}to{transform:rotateX(68deg) translateY(56px)}}@keyframes nudge{50%{transform:translateY(4px)}}@keyframes bob{50%{transform:translateY(-10px)}}@keyframes reel{to{transform:translateX(-50%)}}@keyframes ttyline{to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@font-face{font-family:"JetBrains Mono";font-style:normal;font-weight:100 800;font-display:swap;src:url(../fonts/jetbrains-mono-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:100 700;font-display:swap;src:url(../fonts/ibm-plex-sans-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/montserrat-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"Inter";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"Space Grotesk";font-style:normal;font-weight:300 700;font-display:swap;src:url(../fonts/space-grotesk-latin-wght-normal.woff2)format("woff2")}@font-face{font-family:"Baloo 2";font-style:normal;font-weight:800;font-display:swap;src:url(../fonts/baloo-2-latin-800-normal.woff2)format("woff2")}:root{--void:#0a0e0d;--deep:#0f1513;--deep-2:#141c19;--panel:rgba(255, 255, 255, .025);--panel-2:rgba(255, 255, 255, .055);--line:rgba(255, 255, 255, .08);--line-2:rgba(255, 255, 255, .16);--text:#e7ece9;--text-2:#9ca8a2;--text-3:#85918b;--aurora:#3ddc84;--ion:#67c6ff;--alert:#ff6b81;--signal:#3ddc84;--glow:0 10px 30px -12px rgba(61, 220, 132, .5);--mono:"JetBrains Mono", ui-monospace, "SFMono-Regular", "Cascadia Code", Consolas, monospace;--body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--display:var(--mono);--shell:1240px;--gutter:clamp(1rem, 4.4vw, 3.5rem);--bar:64px;--ease:cubic-bezier(.2, .7, .2, 1);--radius:8px}*,::after,::before{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--bar) + 24px);-webkit-text-size-adjust:100%;color-scheme:dark}body{background:var(--void);color:var(--text);font-family:var(--body);font-size:1rem;font-weight:400;line-height:1.7;overflow-x:hidden;-webkit-font-smoothing:antialiased;font-variant-ligatures:contextual}canvas,img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ol,ul{list-style:none}button,input{font:inherit;color:inherit;background:0 0;border:0}button{cursor:pointer}::selection{background:var(--aurora);color:var(--void)}:focus-visible{outline:2px solid var(--aurora);outline-offset:3px;border-radius:4px}h1,h2,h3,h4{font-weight:600;line-height:1.2}.abilities__in,.btn,.carousel__note,.cert__h,.cert__year,.chips,.device__bar,.dial b,.editor,.entry span,.facts dt,.figures,.float,.head__cmd,.lab__list dt,.lang,.mark,.meter,.post__when,.project__kind,.project__label,.role,.skill,.status,.term,h1,h2,h3,h4{font-family:var(--mono)}.wrap{position:relative;z-index:2;width:min(100% - var(--gutter)*2,var(--shell));margin-inline:auto}.skip{position:absolute;top:-100px;left:1rem;z-index:400;padding:.6rem 1rem;background:var(--aurora);color:var(--void);font-weight:600;transition:top .3s var(--ease)}.skip:focus{top:.75rem}.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.cursor,.progress i{background:var(--aurora)}.cursor{display:inline-block;width:.6em;height:1.1em;margin-inline-start:.15em;vertical-align:-.18em;animation:blink 1.05s steps(1) infinite}.btn svg,.dial svg,.dock svg,.float svg{stroke-width:1.7}.abilities svg,.btn svg,.carousel__btn svg,.dial svg,.dock svg,.float svg,.hero__next svg,.up svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.carousel__btn svg,.hero__next svg,.up svg{stroke-width:1.7}svg.fill{fill:currentColor;stroke:none}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:50px;padding:.75rem 1.4rem;border:1px solid var(--line-2);border-radius:var(--radius);background:rgba(10,14,13,.7);font-size:.86rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;transition:background .2s,color .2s,box-shadow .25s,border-color .2s,transform .2s}.btn svg{width:17px;height:17px;flex:none}.btn:hover{transform:translateY(-1px)}.btn--solid{border-color:var(--aurora);background:var(--aurora);color:#05140b;box-shadow:var(--glow)}.btn--solid:hover{background:#5fe59c}.btn--line{color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.btn--line:hover{border-color:var(--text-3);background:var(--panel-2)}.btn--sm{min-height:38px;padding:.35rem .8rem;font-size:.82rem}.btn--sm svg{width:15px;height:15px}.btn--brand{border-color:var(--brand);background:0 0;color:var(--brand)}.btn--brand:hover{background:var(--brand);color:var(--brand-ink, #fff)}.layer{position:fixed;inset:0;pointer-events:none}.layer--rain{display:none}.layer--wash{z-index:-2;background:radial-gradient(900px 560px at 85% -10%,rgba(61,220,132,.07),transparent 70%),radial-gradient(800px 600px at 0 60%,rgba(103,198,255,.035),transparent 70%)}.layer--scan{z-index:-1;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:24px 24px;-webkit-mask-image:linear-gradient(180deg,#000,transparent 80%);mask-image:linear-gradient(180deg,#000,transparent 80%)}.progress,.top{position:fixed;inset:0 0 auto}.progress{z-index:120;height:2px}.progress i{display:block;width:0;height:100%}.top{z-index:100;border-block-end:1px solid transparent;transition:background .3s,border-color .3s}.top.stuck{background:rgba(10,14,13,.82);border-block-end-color:var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mark,.top .wrap{display:flex;align-items:center}.top .wrap{justify-content:space-between;gap:1.5rem;height:var(--bar)}.mark{font-size:.95rem;font-weight:600;white-space:nowrap}.mark__user,.menu a:hover{color:var(--text)}.mark__host{color:var(--text-2)}.mark__at{color:var(--text-3)}.mark__path{color:var(--aurora)}.mark .cursor{width:.55em;height:1em}.menu,.tools{display:flex;align-items:center;gap:.1rem}.lang a,.menu a{transition:color .2s,background .2s}.menu a{padding:.4rem .75rem;border-radius:6px;font-size:.92rem;color:var(--text-2)}.menu a:hover{background:var(--panel-2)}.menu a.is-here{background:var(--panel-2);box-shadow:inset 0-2px 0 var(--aurora)}.tools{gap:.8rem}.lang{display:flex;padding:3px;border:1px solid var(--line);border-radius:6px;font-size:.75rem}.lang a{padding:.1rem .5rem;border-radius:4px;color:var(--text-3)}.lang a:hover,.menu a.is-here{color:var(--text)}.lang a[aria-current=true]{color:var(--text);background:var(--panel-2)}.burger{display:none;width:42px;height:42px;border:1px solid var(--line-2);border-radius:var(--radius)}.burger span:not(.sr){display:block;width:18px;height:2px;margin:5px auto;background:var(--text);transition:transform .3s var(--ease)}.burger[aria-expanded=true] span:nth-of-type(2){transform:translateY(3.5px) rotate(45deg)}.burger[aria-expanded=true] span:nth-of-type(3){transform:translateY(-3.5px) rotate(-45deg)}.hero{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding-block:calc(var(--bar) + 40px) 90px;overflow:hidden;overflow:clip}.horizon{position:absolute;inset:auto 0 0;z-index:0;height:44%;perspective:420px;perspective-origin:50%0;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 35%,#000 70%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 35%,#000 70%,transparent 100%)}.horizon::before{content:"";position:absolute;inset:0-10%auto;height:1px;background:linear-gradient(90deg,transparent,rgba(61,220,132,.45),transparent)}.horizon__floor{position:absolute;inset:-60px -50% -40%;will-change:transform;transform:rotateX(68deg);transform-origin:50%0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:56px 56px;animation:floor 2.6s linear infinite}.stage{position:absolute;inset-block-start:50%;inset-inline-end:-4%;z-index:0;width:min(760px,62vw);aspect-ratio:1;transform:translateY(-50%);opacity:.38;pointer-events:none}.stage__globe{width:100%;height:100%}.hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}.status{display:inline-flex;align-items:center;gap:.6rem;margin-block-end:1.6rem;padding:.25rem .7rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:.76rem;color:var(--text-2)}.status small{margin-inline-start:-.3rem;font-size:inherit}.status i{width:7px;height:7px;border-radius:50%;background:var(--aurora);box-shadow:0 0 0 3px rgba(61,220,132,.18)}.figures dd,.hero__title{font-weight:700;color:var(--text)}.hero__title{max-width:12ch;margin-block-end:1.4rem;font-size:clamp(2.3rem,5.2vw,4.2rem);line-height:1.04;letter-spacing:-.045em}.hero__title::after{content:"";display:inline-block;width:.5em;height:.82em;margin-inline-start:.12em;vertical-align:-.04em;background:var(--aurora);animation:blink 1.05s steps(1) infinite}.hero__claim{max-width:42ch;margin-block-end:1rem;font-size:clamp(1.05rem,1.5vw,1.2rem);line-height:1.6;color:var(--text-2)}.role{min-height:1.7em;margin-block-end:2rem;font-size:.86rem;color:var(--aurora)}.role span{transition:opacity .5s}.js .tty.reveal .tty__out p,.role span.fade{opacity:0}.role::before{content:"> ";color:var(--text-3)}.cta{display:flex;flex-wrap:wrap;gap:.7rem;margin-block-end:2.4rem}.figures{display:grid;grid-template-columns:repeat(3,max-content);gap:.6rem 2rem}.figures div{display:flex;flex-direction:column-reverse}.figures dd{font-size:1.5rem;line-height:1.1}.figures dt{font-size:.78rem;color:var(--text-3)}.cmp figcaption::before,.figures dt::before,.tty figcaption::before{content:"// ";color:var(--aurora)}.hero .scene--term{grid-area:auto;--brand:var(--aurora);--brand-soft:rgba(61, 220, 132, .12);--rx0:4deg;--ry0:-10deg;aspect-ratio:5/4}.device--term{width:100%;height:92%;border-radius:10px;background:rgba(8,12,11,.94);border-color:var(--line-2)}.device--term .device__bar{background:#0d1311}.term{position:absolute;inset:30px 0 0;display:flex;flex-direction:column;padding:.9rem 1.1rem;font-size:clamp(.68rem,1vw,.82rem);line-height:1.6;color:var(--text);cursor:text}.term__out{flex:1;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.term__out p{white-space:pre-wrap;overflow-wrap:anywhere}.term__out .ok{color:var(--aurora)}.term__out .dim{color:var(--text-3)}.term__out .err{color:var(--alert)}.editor__tabs button:hover,.term__out .cmd{color:var(--text)}.cform__f label b,.head__cmd b,.term__out .cmd b{color:var(--aurora);font-weight:600}.term__out a{color:var(--ion);text-decoration:underline;text-underline-offset:3px}.term__out a:hover{color:#fff}.term__out .art{color:var(--aurora);line-height:1.15}.term__line{display:flex;align-items:center;gap:.6ch;padding-block-start:.3rem}.term__ps{color:var(--aurora);font-weight:600;white-space:nowrap}.term__line input{flex:1;min-width:0;padding:0;caret-color:var(--aurora);color:var(--text);outline:0}.term__line input::placeholder{color:var(--text-3);opacity:.6}.term__line:focus-within{box-shadow:inset 0-1px 0 var(--line-2)}.hero__next{position:absolute;inset-block-end:22px;inset-inline-start:50%;z-index:3;display:flex;align-items:center;gap:.5rem;transform:translateX(-50%);font-size:.8rem;color:var(--text-3);transition:color .2s}.foot a:hover,.hero__next:hover{color:var(--aurora)}.hero__next svg{width:15px;height:15px;animation:nudge 2s var(--ease) infinite}.band{position:relative;z-index:2;padding-block:clamp(64px,8vw,112px)}.head{max-width:820px;margin-block-end:clamp(2.4rem,5vw,3.8rem)}.head--center{margin-inline:auto;text-align:center}.head__cmd{margin-block-end:.9rem;font-size:.8rem;color:var(--text-3)}.head__cmd span{color:var(--text-2)}.head__title{font-size:clamp(1.6rem,3.3vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-.045em;color:var(--text);text-wrap:balance}.head__sub{max-width:62ch;margin-block-start:1rem;color:var(--text-2);font-size:1.05rem}.head--center .head__sub{margin-inline:auto}.project,.projects{display:grid;gap:clamp(4rem,9vw,7.5rem)}.project{--brand:var(--aurora);--brand-soft:rgba(61, 220, 132, .16);grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);grid-template-areas:"scene body";gap:clamp(2rem,5vw,5rem);align-items:center}.project:nth-child(even){grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);grid-template-areas:"body scene"}.project:nth-child(even) .scene{--ry0:16deg}.project--redvivienda{--brand:#2fb0f0;--brand-soft:rgba(47, 176, 240, .24);--brand-ink:#031018}.project--gumit{--brand:#ff6fb5;--brand-soft:rgba(255, 111, 181, .24);--brand-ink:#2b0418}.project--dalencon{--brand:#4c9dff;--brand-soft:rgba(59, 130, 246, .26);--brand-ink:#04101f}.project--tesela{--brand:#7d8cff;--brand-soft:rgba(125, 140, 255, .24);--brand-ink:#0b1230}.scene{--rx0:8deg;--ry0:-16deg;grid-area:scene;position:relative;aspect-ratio:4/3;perspective:1400px;-webkit-user-select:none;user-select:none}.scene::before{content:"";position:absolute;inset:18% 8%0;border-radius:50%;background:radial-gradient(closest-side,var(--brand-soft),transparent);filter:blur(30px);transform:translateY(14%)}.scene::after{content:"";position:absolute;inset:auto 4% -4%;height:34%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:26px 26px;transform:perspective(500px) rotateX(70deg);transform-origin:50% 100%;-webkit-mask-image:radial-gradient(closest-side,#000,transparent);mask-image:radial-gradient(closest-side,#000,transparent);z-index:-1}.scene__rig{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx, var(--rx0))) rotateY(var(--ry, var(--ry0)));transition:transform .9s var(--ease)}.scene.live .scene__rig{transition:transform .12s linear}.device{position:absolute;inset-block-start:50%;inset-inline-start:50%;overflow:hidden;background:var(--deep);border:1px solid rgba(255,255,255,.1);box-shadow:0 50px 90px -30px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.4),0 0 50px -18px var(--brand);transform:translate(-50%,-50%) translateZ(0)}.device--browser{width:86%;aspect-ratio:16/10.5;border-radius:10px}.device--phone{width:38%;aspect-ratio:9/18.5;border:6px solid #111a15;border-radius:28px;outline:1px solid rgba(255,255,255,.12)}.device__bar{display:flex;align-items:center;gap:6px;height:30px;padding-inline:12px;background:#0d1311;border-block-end:1px solid rgba(255,255,255,.06)}.device__bar i{width:9px;height:9px;border-radius:50%;background:#1f3328}.device__bar i:nth-child(1){background:#ff5f57}.device__bar i:nth-child(2){background:#febc2e}.device__bar i:nth-child(3){background:#28c840}.device__bar span{flex:1;max-width:70%;margin-inline:auto;font-size:.66rem;color:var(--text-3);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.float,.mock{position:absolute}.mock{inset:30px 0 0;overflow:hidden}.device--phone .mock{inset:0;border-radius:22px}.float{display:flex;align-items:center;gap:.7rem;padding:.6rem .85rem;border:1px solid var(--line-2);border-radius:var(--radius);background:rgba(12,17,15,.9);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 24px 44px -18px rgba(0,0,0,.9);font-size:.7rem;line-height:1.4;color:var(--text-2);white-space:nowrap}.float b{display:block;font-size:.76rem;font-weight:600;color:var(--text)}.float svg{width:28px;height:28px;padding:5px;border-radius:3px;background:var(--brand-soft);color:var(--brand);flex:none}.float--a{inset-block-end:6%;inset-inline-start:-2%;transform:translateZ(90px)}.float--b{inset-block-start:6%;inset-inline-end:0;padding:.5rem;transform:translateZ(140px)}.float--b svg{width:34px;height:34px;padding:7px}.project:nth-child(even) .float--a{inset-inline-start:auto;inset-inline-end:-2%}.project:nth-child(even) .float--b{inset-inline-end:auto;inset-inline-start:2%}.scene__glare{position:absolute;inset:0;background:radial-gradient(380px circle at var(--gx, 50%) var(--gy, 30%),rgba(255,255,255,.05),transparent 60%);opacity:0;transition:opacity .5s;pointer-events:none;-webkit-mask-image:radial-gradient(closest-side,#000 55%,transparent);mask-image:radial-gradient(closest-side,#000 55%,transparent)}.scene.live .scene__glare{opacity:1}.project__body{grid-area:body}.project__kind{margin-block-end:.6rem;font-size:.82rem;color:var(--brand)}.project__body h3{margin-block-end:1rem;font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;letter-spacing:-.05em}.project__body>p:not(.project__kind):not(.project__label){max-width:54ch;color:var(--text-2)}.project__label,.project__status{font-size:.8rem;color:var(--text-3)}.project__status{margin-block-start:.9rem;font-family:var(--mono)}.project__label{margin-block-start:1.3rem}.project__label::before{content:"// "}.project__facts{display:grid;gap:.35rem;margin-block:.5rem 1.4rem}.project__facts li{position:relative;padding-inline-start:1.6rem;font-size:.97rem}.project__facts li::before{content:"";position:absolute;inset-inline-start:0;top:.5em;width:9px;height:9px;border-radius:2px;background:var(--brand-soft);box-shadow:inset 0 0 0 1px var(--brand)}.chips,.project__links{display:flex;flex-wrap:wrap}.chips{gap:.4rem;margin-block-end:1.6rem}.chips li{padding:.1rem .55rem;border:1px solid var(--line);border-radius:4px;font-size:.72rem;color:var(--text-2)}.project__links{gap:.7rem}.mock--rv{background:#f3f7fb;color:#12324a;font-size:9px}.rv__nav{display:flex;align-items:center;gap:8px;height:26px;padding-inline:12px;background:#fff;border-block-end:1px solid #e3ebf2}.rv__nav b{margin-inline-end:auto;font-size:10px;color:#1b7cad;letter-spacing:-.02em}.rv__nav span{width:26px;height:5px;border-radius:3px;background:#d5e2ec}.rv__hero{padding:14px 14px 16px;background:linear-gradient(120deg,#1b7cad,#2aa6d9 60%,#6fd0f0);color:#fff}.rv__hero p{margin-block-end:8px;font-size:13px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.rv__tabs{display:flex;gap:4px;margin-block-end:6px}.rv__tabs em,.rv__tabs span{padding:2px 7px;border-radius:5px;font-style:normal;background:rgba(255,255,255,.2)}.rv__tabs em,.ts__body aside span.on{background:#fff;color:#1b7cad;font-weight:600}.rv__list div,.rv__search{border-radius:6px;background:#fff}.rv__search{display:flex;align-items:center;justify-content:space-between;height:22px;padding-inline:8px 3px;color:#7d93a6}.rv__search i{width:16px;height:16px;border-radius:4px;background:#1b7cad}.rv__list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 7px;padding:10px 12px}.rv__list div{overflow:hidden;box-shadow:0 2px 6px rgba(18,50,74,.08)}.rv__list b{display:block;padding:4px 6px 1px;font-size:9px}.rv__list span{display:block;width:60%;height:4px;margin:2px 6px 6px;border-radius:2px;background:#dbe6ef}.ph{display:block;height:46px}.ph--a{background:linear-gradient(160deg,#9fd3ef,#3d8fc0 70%,#275f86)}.ph--b{background:linear-gradient(160deg,#f5d6a8,#d8935a 70%,#8a5a3a)}.ph--c{background:linear-gradient(160deg,#b9f0dc,#4cb99a 70%,#2b7f69)}.mock--gum{background:linear-gradient(180deg,#4da1e0 0,#7cbdeb 60%,#b9dcf5 100%)}.gum__score{position:absolute;inset-block-start:9%;inset-inline:0;z-index:3;font-family:var(--display);font-size:1.9rem;font-weight:600;color:#fff;text-align:center;text-shadow:0 3px 0#1d3557;-webkit-text-stroke:1px #1d3557}.gum__bubble,.gum__trail{position:absolute;animation:bob 2.6s ease-in-out infinite}.gum__bubble{inset-block-start:44%;inset-inline-start:30%;z-index:3;width:22%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 34% 30%,#fff 0 8%,#ffc2df 14%,#ff6fb5 58%,#e04490 100%);box-shadow:0 0 24px rgba(255,111,181,.8),inset -3px -4px 8px rgba(160,20,90,.35)}.gum__trail{inset-block-start:52%;inset-inline-start:6%;z-index:2;width:26%;height:3px;border-radius:3px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.7))}.gum__city{align-items:flex-end}.gum__city,.gum__top{position:absolute;inset-inline:0;display:flex;justify-content:space-between;gap:5%;padding-inline:4%}.gum__city{inset-block-end:0;height:100%}.gum__top{inset-block-start:0;height:100%;align-items:flex-start}.gum__city i,.gum__top i{flex:1;height:var(--h);background:repeating-linear-gradient(180deg,transparent 0 7px,rgba(255,255,255,.55) 7px 9px) 30%0/22% 100%no-repeat,repeating-linear-gradient(180deg,transparent 0 7px,rgba(255,255,255,.4) 7px 9px) 72%0/22% 100%no-repeat,#6f9fcc;border-radius:3px 3px 0 0}.gum__top i{border-radius:0 0 3px 3px;background:#5d8cba}.mock--dl{display:flex;background:#060a13;color:#d9dfeb;font-size:9px}.dl__side,.ts__body aside{display:flex;flex-direction:column}.dl__side{align-items:center;gap:9px;width:34px;padding-block:10px;background:#0a101d;border-inline-end:1px solid rgba(59,130,246,.15)}.dl__side b{margin-block-end:6px;font-size:9px;color:#3b82f6;letter-spacing:.04em}.dl__side span{width:14px;height:14px;border-radius:4px;background:#1a2236}.dl__side span.on{background:#3b82f6;box-shadow:0 0 10px rgba(59,130,246,.6)}.dl__main{flex:1;padding:12px 14px}.dl__h{margin-block-end:8px;font-size:12px;font-weight:600;letter-spacing:-.01em}.dl__kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-block-end:10px}.dl__kpis span{padding:6px 8px;border:1px solid rgba(59,130,246,.18);border-radius:6px;background:#0a101d;color:#8792a8}.dl__kpis b{font-size:14px;color:#e7eef8}.dl__rows p,.ts__rows p{justify-content:space-between}.dl__rows p{display:flex;align-items:center;gap:10px;padding:6px 0;border-block-end:1px solid rgba(255,255,255,.05)}.dl__rows span{width:55%;height:5px;border-radius:3px;background:#1d263b}.dl__rows em,.ts__rows em{padding:1px 7px;border-radius:999px;font-style:normal;font-size:8px}.dl__rows .ok{background:rgba(71,209,140,.14);color:#6fe0a6}.dl__rows .run{background:rgba(59,130,246,.16);color:#8ab8ff}.dl__rows .wait{background:rgba(108,155,255,.14);color:#9dbbff}.device--monitor{width:88%;aspect-ratio:16/10;border:7px solid #10131f;border-radius:12px;outline:1px solid rgba(255,255,255,.1)}.device--monitor .mock{inset:0}.mock--ts{background:#070b1a url(../img/tesela/fondo.jpg)60% 50%/cover no-repeat;color:#1b2140;font-family:"Noto Sans",var(--body);font-size:9px}.dl__kpis b,.mock--ts img{display:block}.ts__win{position:absolute;inset:9% 42% 22% 5%;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:7px;background:rgba(98,128,222,.35);box-shadow:0 16px 36px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.6)}.ts__bar{display:flex;align-items:center;gap:4px;height:19px;padding-inline:6px 4px;background:linear-gradient(#7d9ae8,#6280de 55%,#5875d6);color:#fff}.ts__bar img{width:11px;height:11px}.ts__bar b{margin-inline-end:auto;font-size:8px;font-weight:600}.ts__bar i{width:15px;height:10px;border-radius:3px;background:rgba(255,255,255,.28);border:1px solid rgba(255,255,255,.45)}.ts__bar i.x{background:linear-gradient(#ef7b6e,#c9433a)}.ts__body{display:flex;height:calc(100% - 19px);background:#f6f7fd}.ts__body aside{gap:3px;width:36%;padding:7px 5px;background:#e8ecfc;border-inline-end:1px solid #cdd3ec}.ts__body aside span{padding:2px 5px;border-radius:4px;font-size:7.5px;color:#5d6486}.ts__body aside span.on{color:#4e63dd;box-shadow:0 0 0 1px #c3ccf6}.ts__rows{flex:1;padding:8px 9px}.ts__rows p{gap:6px;padding:4px 0;border-block-end:1px solid #e3e7f6;font-size:7.5px}.ts__rows em{flex:none;padding:0 5px;border-radius:6px;background:#e3f5e6;color:#2e8b2e;font-size:7px}.ts__rows p,.ts__start-l span,.ts__task{display:flex;align-items:center}.ts__task{position:absolute;inset:auto 0 0;gap:6px;height:24px;padding-inline:5px 8px;background:linear-gradient(rgba(40,60,140,.55),rgba(12,20,52,.82));border-block-start:1px solid rgba(255,255,255,.35);color:#fff}.ts__orb{display:grid;place-items:center;flex:none;width:22px;height:22px;margin-block-start:-5px;border:1px solid rgba(255,255,255,.75);border-radius:50%;background:linear-gradient(#e9f3ff,#8fb3ee 48%,#5f7fdc 52%,#3c56c4);box-shadow:0 0 10px rgba(191,225,255,.8)}.ts__orb img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}.ts__search{padding:2px 9px;border:1px solid rgba(255,255,255,.28);border-radius:999px;background:rgba(31,51,128,.5);font-size:7px;color:rgba(255,255,255,.88)}.ts__app{display:grid;place-items:center;width:24px;height:18px;border-radius:4px}.ts__app.on{background:rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}.ts__app img,.ts__orb img{width:13px;height:13px}.ts__clock{margin-inline-start:auto;font-size:7.5px;opacity:.92}.ts__start{position:absolute;inset:auto auto 24px 4px;display:grid;grid-template-columns:1.15fr 1fr;width:50%;height:72%;overflow:hidden;border:1px solid rgba(255,255,255,.35);border-radius:8px 8px 0 0;background:linear-gradient(rgba(102,140,234,.88),rgba(77,94,204,.92));box-shadow:0 12px 34px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.45)}.ts__start-l{display:flex;flex-direction:column;gap:2px;margin:6px 0 6px 6px;padding:6px;border:1px solid #e3e7f6;border-radius:5px;background:rgba(255,255,255,.96)}.ts__start-l span{gap:5px;padding:3px 5px;border-radius:4px;font-size:7.5px;color:#1b2140}.ts__start-l span img{width:12px;height:12px}.ts__start-l span:first-child{background:#e8ecff;box-shadow:0 0 0 1px #cfd7fa}.ts__start-l .all{margin-block-start:auto;border-block-start:1px solid #e3e7f6;border-radius:0;color:#4e63dd;font-weight:600}.ts__start-l .ts__search2{margin-block-start:3px;border:1px solid #c9cfe6;border-radius:999px;color:#8a90ad}.ts__start-r{display:flex;flex-direction:column;gap:3px;padding:8px 8px 6px;color:#fff}.ts__start-r span{padding:2px 4px;border-radius:3px;font-size:7.5px;font-weight:600}.ts__start-r span:nth-child(3){background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}.ts__avatar{width:24px;height:24px;margin:-2px auto 4px;border:2px solid rgba(255,255,255,.85);border-radius:5px;background:#0b1230 url(../img/tesela/logo.svg)center/70%no-repeat}.ts__off{margin-block-start:auto;align-self:flex-end;padding:2px 8px!important;border:1px solid rgba(255,255,255,.5);border-radius:999px!important;background:linear-gradient(#ffb36b,#ff9f43 50%,#e8822a)}.float img{width:34px;height:34px;padding:6px;border-radius:6px;background:rgba(255,255,255,.06)}.lab{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(2rem,5vw,4.5rem);align-items:center;margin-block-end:clamp(3.5rem,7vw,6rem)}.scene--code{grid-area:auto;--brand:var(--aurora);--brand-soft:rgba(61, 220, 132, .12);--rx0:6deg;--ry0:-12deg;aspect-ratio:16/12}.device--editor{width:96%;height:88%;border-radius:10px;background:#080c0b;border-color:var(--line-2)}.abilities li,.editor{display:flex;flex-direction:column}.editor{position:absolute;inset:30px 0 0}.editor__tabs{display:flex;gap:2px;padding:6px 8px 0;background:#0d1311;border-block-end:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.editor__tabs button,.skill p small{color:var(--text-3);white-space:nowrap}.editor__tabs button{padding:.35rem .8rem;font-size:.74rem;transition:color .2s,background .2s}.editor__tabs button[aria-selected=true]{background:#080c0b;color:var(--aurora);box-shadow:inset 0 2px 0 var(--aurora)}.editor__code{flex:1;margin:0;padding:14px 16px 16px 0;overflow:auto;font-family:var(--mono);font-size:clamp(.62rem,1vw,.78rem);line-height:1.65;color:#d3dbd7;counter-reset:ln;scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}.editor__code[hidden]{display:none}.editor__code .ln{display:block;min-height:1.65em;padding-inline-start:3.4em;position:relative;white-space:pre}.editor__code .ln::before{counter-increment:ln;content:counter(ln);position:absolute;inset-inline-start:0;width:2.4em;text-align:right;color:#3a4541}.tk-k{color:#ff79c6}.tk-t{color:#8be9fd}.tk-f{color:#3ddc84}.tk-s{color:#f1fa8c}.tk-a{color:#ffb86c}.tk-v{color:#ff9e7a}.tk-n{color:#bd93f9}.tk-c{color:#4a6b57;font-style:italic}.scene--code .float--a{inset-block-end:2%;inset-inline-start:auto;inset-inline-end:-3%}.abilities h4,.lab__text h3{margin-block-end:.7rem;font-size:1.15rem;font-weight:700;letter-spacing:-.03em}.lab__text>p{margin-block-end:1.4rem;color:var(--text-2)}.lab__list div{padding-block:.65rem;border-block-start:1px solid var(--line)}.lab__list dt{color:var(--text);font-weight:600;font-size:.86rem}.abilities p,.lab__list dd{color:var(--text-2);font-size:.95rem}.subhead{margin-block:clamp(3.5rem,7vw,5rem) 1.4rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;letter-spacing:-.03em}.abilities,.skills article{border:1px solid var(--line);border-radius:12px}.abilities,.skills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.abilities{gap:1px;overflow:hidden;background:var(--line)}.abilities li{position:relative;padding:clamp(1.2rem,2.2vw,1.7rem);background:var(--void);transition:background .3s}.abilities li:hover{background:var(--deep)}.abilities svg{width:26px;height:26px;margin-block-end:1rem;color:var(--aurora);stroke-width:1.5}.abilities h4{margin-block-end:.45rem;font-size:.92rem;letter-spacing:-.02em;line-height:1.35;transition:color .2s}.abilities p{font-size:.94rem;line-height:1.6}.abilities .abilities__in{margin-block-start:auto;padding-block-start:.9rem;font-size:.74rem;color:var(--text-2)}.abilities .abilities__in::before,.post li::before,.skills h3::before{content:"-> ";color:var(--aurora)}.abilities__in a{color:var(--aurora);text-decoration:underline;text-underline-offset:3px}.skills{grid-auto-flow:dense;gap:1rem}.skills__wide{grid-column:span 2}.skills__cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.8rem}.skills article{min-width:0;padding:1.3rem 1.2rem;background:var(--panel)}.skills h3{margin-block-end:1.1rem;padding-block-end:.6rem;border-block-end:1px solid var(--line);font-size:.9rem;font-weight:700}.skills h3::before{content:"./";font-weight:400}.skill+.skill{margin-block-start:.85rem}.skill p{display:flex;justify-content:space-between;gap:.6rem;font-size:.82rem}.skill em{font-style:normal;font-size:.72rem;color:var(--text-3)}.skill p small{font-size:.9em}.meter{min-height:1.4em;font-size:.76rem;letter-spacing:-.02em;color:var(--aurora);white-space:nowrap;overflow:hidden}.meter .off{color:#8e9a94}.meter .pct{margin-inline-start:.5ch;color:var(--text-2)}.profile{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.7fr);gap:clamp(2rem,5vw,4.5rem);margin-block-end:clamp(3rem,6vw,4.5rem)}.profile__text p{max-width:66ch;margin-block-end:1.1rem}.profile__text .profile__lead{color:var(--text);font-size:1.2rem;line-height:1.55}.facts{align-self:start;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.facts div{display:grid;padding:.8rem 1.1rem}.facts div+div{border-block-start:1px solid var(--line)}.facts dt{font-size:.74rem;color:var(--text-3)}.facts dt::after{content:":"}.dial b,.facts dd,.skills h3{color:var(--text)}.post,.track{position:relative}.track{display:grid;gap:1rem;padding-inline-start:2.2rem}.track::after,.track::before{content:"";position:absolute;inset-inline-start:6px;width:2px}.track::before{inset-block:10px;background:var(--line)}.track::after{inset-block-start:10px;height:calc(var(--fill, 0)*1%);max-height:calc(100% - 20px);background:var(--aurora)}.post{padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.post::before{content:"";position:absolute;inset-block-start:1.6rem;inset-inline-start:calc(-2.2rem + 1px);width:12px;height:12px;border-radius:50%;background:var(--void);border:2px solid var(--aurora)}.entry span,.post__when{font-size:.76rem;color:var(--aurora)}.cert h4,.entry h3,.post h3{font-weight:700;letter-spacing:-.02em}.post h3{margin-block:.3rem .15rem;font-size:1.05rem}.post__where{margin-block-end:.8rem;color:var(--text-2);font-size:.95rem}.post ul,.school{display:grid;gap:.3rem}.entry p,.post li,.profile__text p{color:var(--text-2)}.post li{position:relative;padding-inline-start:1.3rem;font-size:.97rem}.post li::before{content:"+";position:absolute;inset-inline-start:0}.school{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-block-end:clamp(3rem,6vw,4.5rem)}.entry{padding:1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.cert h4,.entry h3{margin-block-end:.5rem;font-size:.92rem;line-height:1.35}.entry p{font-size:.94rem}.entry span{display:inline-block;margin-block-start:.7rem;padding:0 .5rem;border-radius:4px;background:rgba(61,220,132,.1);font-size:.72rem}.carousel{position:relative}.carousel__note{margin-block-end:1rem;text-align:center;font-size:.82rem;color:var(--text-3)}.carousel__stage{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 10%,#000 90%,transparent 100%);perspective:1600px;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none}.carousel__stage:active{cursor:grabbing}.carousel__track{position:absolute;inset:0;transform-style:preserve-3d}.carousel__dots button::before,.carousel__item{position:absolute;inset-block-start:50%;inset-inline-start:50%}.carousel__item{backface-visibility:hidden;will-change:transform,opacity}.carousel__item.eased{transition:transform .9s var(--ease),opacity .7s var(--ease)}.cert{position:relative;display:flex;flex-direction:column;height:100%;padding:1.4rem 1.3rem;border:1px solid var(--line);border-radius:12px;background:linear-gradient(160deg,var(--deep-2),var(--deep) 60%);overflow:hidden}.cert::before,.contact__panel::before{content:"";position:absolute;opacity:.5}.cert::before{inset:0 0 auto;height:2px;background:var(--aurora)}.carousel__item.here .cert{border-color:var(--line-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.9)}.cert__h{position:absolute;inset-block-start:1.2rem;inset-inline-end:1.2rem;padding:0 .45rem;border-radius:4px;background:var(--panel-2);color:var(--text-2);font-size:.7rem}.cert__year{margin-block-end:1.4rem;font-size:1.25rem;font-weight:700;color:var(--aurora)}.cert h4{font-size:.9rem;line-height:1.4}.cert__by{margin-block-start:auto;color:var(--text-2);font-size:.88rem}.carousel__nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-block-start:1.8rem}.carousel__btn{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;color:var(--text-2);transition:border-color .2s,color .2s,box-shadow .2s}.carousel__btn:hover{border-color:var(--aurora);color:var(--aurora)}.carousel__btn svg{width:16px;height:16px}.carousel__dots{display:flex;flex-wrap:wrap;justify-content:center;gap:0;max-width:360px}.carousel__dots button{position:relative;width:24px;height:24px;transition:width .3s}.carousel__dots button::before{content:"";width:7px;height:7px;border-radius:4px;background:var(--line-2);transform:translate(-50%,-50%);transition:background .3s,width .3s}.carousel__dots button[aria-current=true]{width:34px}.carousel__dots button[aria-current=true]::before{width:22px;background:var(--aurora)}.contact__panel{padding:clamp(2.4rem,6vw,4.5rem) clamp(1.2rem,5vw,4rem);border:1px solid var(--line);border-radius:18px;background:radial-gradient(600px 300px at 50% 0%,rgba(61,220,132,.09),transparent 70%),var(--deep);overflow:hidden}.contact__panel::before{inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:radial-gradient(ellipse at 50%0,#000,transparent 70%);mask-image:radial-gradient(ellipse at 50%0,#000,transparent 70%);pointer-events:none}.contact__panel,.contact__panel>*{position:relative}.contact__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:720px;margin-inline:auto}.dial{display:flex;align-items:center;gap:1rem;height:100%;padding:1.1rem 1.2rem;border:1px solid var(--line-2);border-radius:12px;background:rgba(10,14,13,.8);transition:border-color .2s,box-shadow .25s,background .2s}.dial svg,.dial:hover{background:var(--panel-2)}.dial:hover{border-color:var(--text-3)}.dial svg{width:42px;height:42px;padding:10px;flex:none;border-radius:8px;color:var(--aurora)}.dial span{min-width:0;color:var(--text-2);font-size:.9rem;overflow-wrap:anywhere}.dial b{display:block;font-size:.9rem;font-weight:600}.dial--main{border-color:var(--aurora);background:var(--aurora);box-shadow:var(--glow)}.dial--main b,.dial--main span{color:#05140b}.dial--main svg{background:rgba(5,20,11,.12);color:#05140b}.dial--main:hover{border-color:transparent;background:#5fe59c}.foot,.tmux{border-block-start:1px solid var(--line)}.foot{position:relative;z-index:2;padding-block:2.2rem 2.6rem;color:var(--text-3);font-size:.8rem}.foot .wrap,.foot nav{display:flex;flex-wrap:wrap}.foot .wrap{align-items:center;justify-content:space-between;gap:1rem}.foot nav{gap:.4rem 1.4rem}.foot a{transition:color .2s}.tmux{display:none!important;position:fixed;inset:auto 0 0;z-index:110;display:flex;align-items:stretch;height:26px;background:#06140c;font-size:.72rem;line-height:26px;color:var(--text-2)}.tmux>span{padding-inline:.8rem;white-space:nowrap}.tmux__mode{background:var(--aurora);color:var(--void);font-weight:700}.tmux__path{background:var(--deep-2);color:var(--aurora)}.tmux__fill{flex:1}.tmux>span:not(.tmux__mode):not(.tmux__path):not(.tmux__fill){border-inline-start:1px solid var(--line)}.case-figs dt,.up{color:var(--text-2)}.up{position:fixed;inset-block-end:24px;inset-inline-end:20px;z-index:90;display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:rgba(10,14,13,.9);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s var(--ease),color .2s,border-color .2s}.up.on{opacity:1;transform:none;pointer-events:auto}.up:hover{color:var(--aurora);border-color:var(--aurora)}.up svg{width:17px;height:17px}.dock{display:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}.js .reveal.in{opacity:1;transform:none}.case-hero{min-height:auto;padding-block:calc(var(--bar) + 28px) clamp(48px,7vw,88px)}.case-back,.case-lema{font-family:var(--mono)}.case-back{display:inline-flex;align-items:center;gap:.4rem;margin-block-end:2rem;font-size:.8rem;color:var(--text-3);transition:color .2s}.case-back:hover,.goals h3::before{color:var(--aurora)}.case-back svg,.case-more svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.case-lema{margin-block:-.6rem 1.2rem;font-size:.95rem;color:#5cb8ff}.scene--os .device--monitor{width:96%}.case-figs,.goals{display:grid;border:1px solid var(--line);border-radius:12px}.case-figs{grid-template-columns:repeat(4,minmax(0,1fr));margin-block-start:clamp(2.4rem,5vw,4rem);background:var(--panel)}.case-figs div{display:flex;flex-direction:column-reverse;padding:1.1rem 1.3rem}.case-figs div+div{border-inline-start:1px solid var(--line)}.case-figs dd{font-family:var(--mono);font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:700;letter-spacing:-.04em;color:var(--text)}.case-figs dt{font-size:.86rem}.goals{grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;background:var(--line)}.goals li{padding:clamp(1.2rem,2.2vw,1.7rem);background:var(--void)}.goals h3{margin-block-end:.45rem;font-size:.95rem;letter-spacing:-.02em}.goals h3::before{content:"> "}.challenge dd,.goals p,.versions__why p{color:var(--text-2);font-size:.95rem}.versions{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr);gap:clamp(1.6rem,4vw,3rem);align-items:start}.versions__table{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.versions table{width:100%;border-collapse:collapse;font-size:.92rem}.versions td,.versions th{padding:.8rem 1rem;text-align:start;vertical-align:top;border-block-end:1px solid var(--line)}.versions tbody tr:last-child td,.versions tbody tr:last-child th{border-block-end:0}.versions thead th{font-family:var(--mono);font-size:.9rem;color:var(--text)}.versions thead th small{display:block;font-size:.74rem;font-weight:400;color:var(--text-3)}.versions thead th:last-child{color:var(--aurora)}.versions tbody th{font-family:var(--mono);font-size:.78rem;font-weight:500;color:var(--text-3);white-space:nowrap}.versions td{color:var(--text-2)}.versions td:last-child{color:var(--text)}.versions__why{padding:1.4rem;border:1px solid rgba(92,184,255,.3);border-radius:12px;background:rgba(92,184,255,.05)}.versions__why h3{margin-block-end:.6rem;font-size:.95rem;color:#5cb8ff}.build{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(2rem,4vw,3.5rem);align-items:center}.flow,.flow li{position:relative;display:grid}.flow{gap:.55rem;counter-reset:none}.flow li{grid-template-columns:auto 1fr;column-gap:.9rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.flow li+li::before{content:"";position:absolute;inset-block-start:-.6rem;inset-inline-start:1.65rem;width:1px;height:.6rem;background:var(--aurora);opacity:.6}.flow__n{grid-row:span 2;font-family:var(--mono);font-size:.8rem;color:var(--aurora);padding-block-start:.1rem}.flow h4{font-size:.88rem;letter-spacing:-.01em}.flow p{color:var(--text-2);font-size:.9rem}.build .scene--build{grid-area:auto;--brand:var(--aurora);--brand-soft:rgba(61, 220, 132, .12);--rx0:5deg;--ry0:-12deg;aspect-ratio:16/11}.scene--build .device--term{height:86%}.term--static{cursor:default;font-size:clamp(.62rem,.95vw,.8rem)}.term--static .term__out{overflow:hidden}.term--static p{white-space:pre}.challenge dt,.legend{font-family:var(--mono)}.feat p,.legend{color:var(--text-2)}.legend{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;margin-block-end:1rem;font-size:.76rem}.legend span::before{content:"";display:inline-block;width:8px;height:8px;margin-inline-end:.45rem;border-radius:50%;background:var(--st)}.feat--ok{--st:#3ddc84}.feat--built{--st:#67c6ff}.feat--hw{--st:#e3b341}.feats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.feat{position:relative;padding:1.3rem 1.3rem 1.4rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.feat::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;border-radius:12px 0 0 12px;background:var(--st);opacity:.8}.feat__st{display:inline-block;margin-block-end:.7rem;padding:.05rem .5rem;border-radius:4px;background:color-mix(in srgb,var(--st) 14%,transparent);color:var(--st);font-family:var(--mono);font-size:.7rem}.feat h3{margin-block-end:.4rem;font-size:.95rem;letter-spacing:-.02em}.feat p{font-size:.93rem}.challenges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.challenge{padding:1.5rem 1.6rem;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.challenge h3{margin-block-end:1rem;font-size:1.05rem;letter-spacing:-.03em}.challenge dl,.stack div{display:grid;gap:.8rem}.challenge dt{font-size:.72rem;color:var(--text-3)}.challenge dt::before{content:"// "}.challenge__result{padding:.7rem .9rem;border-radius:8px;background:rgba(61,220,132,.07)}.challenge__result dt{color:var(--aurora)}.challenge__result dd,.stack dt{color:var(--text);font-family:var(--mono);font-size:.86rem}.stack{border:1px solid var(--line);border-radius:12px;background:var(--panel)}.stack div{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:1rem;padding:.9rem 1.3rem}.stack div+div{border-block-start:1px solid var(--line)}.stack dt{font-size:.82rem;color:var(--aurora)}.case-others a:hover,.stack dd{color:var(--text)}.case-more{margin-block-start:2rem;text-align:center}@media (max-width:980px){.build,.case-hero__grid,.versions{grid-template-columns:minmax(0,1fr)}.build .scene--build,.hero .scene--os{width:min(680px,100%);justify-self:center}.case-figs,.feats,.goals{grid-template-columns:repeat(2,minmax(0,1fr))}.case-figs div:nth-child(3){border-inline-start:0}.case-figs div:nth-child(n+3){border-block-start:1px solid var(--line)}.challenges{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.feats,.goals,.stack div{grid-template-columns:minmax(0,1fr)}.hero .scene--os{aspect-ratio:16/12}.build .scene--build{aspect-ratio:auto;height:300px}.scene--build .device--term{height:100%}.build .term--static{font-size:.52rem;padding:.7rem .8rem}.stack div{gap:.2rem}.versions__table{overflow:visible}.versions table,.versions tbody,.versions td,.versions th,.versions tr{display:block}.versions thead{display:none}.versions tr{padding:.8rem 1rem;border-block-end:1px solid var(--line)}.versions tbody tr:last-child{border-block-end:0}.versions td,.versions th{padding:.15rem 0;border:0}.versions tbody th{margin-block-end:.3rem}.versions td::before{content:attr(data-label)": ";font-family:var(--mono);font-size:.72rem;color:var(--text-3)}}.page-ts{--void:#070b1a;--deep:#0c1330;--deep-2:#121b44;--panel:rgba(150, 165, 255, .055);--panel-2:rgba(150, 165, 255, .11);--line:rgba(170, 185, 255, .15);--line-2:rgba(170, 185, 255, .3);--text:#eef1ff;--text-2:#aab3db;--text-3:#727ba8;--aurora:#8b98ff;--ion:#4a97ff;--signal:#8b98ff;--glow:0 10px 30px -12px rgba(110, 130, 255, .6);--ts:"Montserrat", var(--body);--cubo:linear-gradient(90deg, #1fe0d8, #4a97ff 35%, #b366f9 70%, #fe7a3b)}.page-ts .layer--scan{display:none}.page-ts .layer--wash{background:radial-gradient(1100px 700px at 80%0,rgba(60,86,196,.22),transparent 70%),radial-gradient(900px 700px at 0 100%,rgba(122,63,230,.12),transparent 70%)}.page-ts .btn,.page-ts .case-back,.page-ts .case-figs dd,.page-ts .case-lema,.page-ts .challenge dt,.page-ts .challenge__result dd,.page-ts .feat__st,.page-ts .flow__n,.page-ts .legend,.page-ts .post__when,.page-ts .stack dt,.page-ts .status,.page-ts .versions tbody th,.page-ts .versions thead th,.page-ts h1,.page-ts h2,.page-ts h3,.page-ts h4{font-family:var(--ts)}.page-ts .head__title{font-weight:700;letter-spacing:-.03em}.page-ts .case-hero{min-height:min(92svh,860px);justify-content:center}.page-ts .case-bg{position:absolute;inset:0;z-index:0;background:linear-gradient(90deg,rgba(7,11,26,.95) 0%,rgba(7,11,26,.8) 38%,rgba(7,11,26,.1) 75%),linear-gradient(0deg,var(--void) 0%,transparent 30%),url(../img/tesela/fondo-grande.jpg)72% 45%/cover no-repeat}.case-hero__copy{max-width:620px}.page-ts .goals h3,.ts-word{display:flex;align-items:center}.ts-word{gap:.3em;max-width:none;font-weight:600;letter-spacing:-.02em}.ts-word img{width:.95em;height:.95em;flex:none;filter:drop-shadow(0 6px 24px rgba(74,151,255,.45))}.ts-word span{display:flex;flex-direction:column;line-height:1}.ts-word small{margin-block-start:.35em;font-size:.17em;font-weight:500;letter-spacing:.42em;text-transform:uppercase;color:var(--text-2)}.page-ts .challenge dt::before,.page-ts .goals h3::before,.page-ts .hero__title::after{content:none}.page-ts .float,.ts-word{font-family:var(--ts)}.page-ts .case-figs dd,.page-ts .case-lema{background:var(--cubo);-webkit-background-clip:text;background-clip:text;color:transparent}.page-ts .case-lema{display:inline-block;margin-block:0 1.2rem;font-size:1rem;font-weight:600}.page-ts .status{border-color:rgba(255,255,255,.18);background:rgba(12,19,48,.55);color:var(--text-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.page-ts .status i{background:#1fe0d8;box-shadow:0 0 0 3px rgba(31,224,216,.2)}.page-ts .btn{border-radius:999px;font-weight:600;letter-spacing:0}.page-ts .btn--solid{border-color:rgba(255,255,255,.6);background:linear-gradient(#8fb3ee,#6b8de6 48%,#5f7fdc 52%,#3c56c4);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.25);box-shadow:0 10px 26px -10px rgba(95,127,220,.9),inset 0 1px 0 rgba(255,255,255,.6)}.page-ts .btn--solid:hover{background:linear-gradient(#a6c4f3,#7d9ae8 48%,#6b89e0 52%,#4a63cc)}.page-ts .btn--line{border-color:rgba(255,255,255,.25);background:rgba(12,19,48,.5)}.page-ts .case-figs,.page-ts .challenge,.page-ts .contact__panel,.page-ts .feat,.page-ts .flow li,.page-ts .goals,.page-ts .post,.page-ts .stack,.page-ts .versions__table{border-color:var(--line);border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-ts .case-figs{background:rgba(12,19,48,.6)}.page-ts .case-figs dd{font-weight:700}.page-ts .goals li{background:#0a1027}.page-ts .goals h3{gap:.55rem}.page-ts .goals h3::after{content:"";order:-1;flex:none;width:10px;height:10px;border-radius:3px;background:var(--c, #4a97ff);transform:rotate(45deg)}.page-ts .goals li:nth-child(4n+1){--c:#4a97ff}.page-ts .goals li:nth-child(4n+2){--c:#1fe0d8}.page-ts .goals li:nth-child(4n+3){--c:#fe7a3b}.page-ts .goals li:nth-child(4n+4){--c:#b366f9}.versions--layers td:last-child{white-space:nowrap;color:inherit}.page-ts .origin{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-family:var(--ts);font-size:.75rem;font-weight:600}.page-ts .layer-own .origin{background:rgba(31,224,216,.14);color:#5ef0e8}.page-ts .layer-adapted .origin{background:rgba(74,151,255,.16);color:#8bb8ff}.page-ts .layer-base .origin{background:rgba(170,185,255,.1);color:var(--text-2)}.versions--layers tbody tr{box-shadow:inset 3px 0 0 var(--lc, transparent)}.page-ts .versions--layers .layer-own{--lc:#1fe0d8}.page-ts .versions--layers .layer-adapted{--lc:#4a97ff}.page-ts .versions--layers .layer-base{--lc:#727ba8}@media (max-width:640px){.versions--layers td::before{content:none}.versions--layers td:last-child{padding-block-start:.4rem}}.desk__grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(2rem,5vw,4.5rem);align-items:center}.desk__list{display:grid;gap:.8rem;margin-block-start:1.6rem}.desk__list li{padding-inline-start:1.2rem;border-inline-start:2px solid var(--line-2);color:var(--text-2)}.desk__list b{display:block;font-family:var(--ts);color:var(--text)}.desk .scene--os{grid-area:auto;--brand:#4a97ff;--brand-soft:rgba(74, 151, 255, .22);--rx0:6deg;--ry0:-14deg;aspect-ratio:16/11}.desk .scene--os .device--monitor{width:96%}.desk .scene--os .float--a{inset-block-end:2%;inset-inline-start:auto;inset-inline-end:-3%}.page-ts .feat--ok{--st:#1fe0d8}.page-ts .feat--built{--st:#4a97ff}.page-ts .feat--hw{--st:#ffb347}.page-ts .challenge__result{background:rgba(125,140,255,.1)}.page-ts .challenge__result dt,.page-ts .stack dt{color:#b9c2ff}.page-ts .versions thead th:last-child{color:#8bb8ff}.page-ts .versions__why{border-color:rgba(74,151,255,.35);background:rgba(74,151,255,.07)}.page-ts .flow__n,.page-ts .versions__why h3{color:#8bb8ff}.page-ts .flow li+li::before{background:var(--line-2)}.page-ts .track::after{background:linear-gradient(#1fe0d8,#4a97ff,#b366f9)}.page-ts .post::before{border-color:#8b98ff}.page-ts .post li::before{color:#8b98ff}.page-ts .contact__panel{background:radial-gradient(600px 300px at 50%0,rgba(74,151,255,.16),transparent 70%),rgba(12,19,48,.7)}.page-ts .dial{border-radius:999px}.page-ts .dial svg{border-radius:50%}.page-ts .dial--main{border-color:rgba(255,255,255,.6);background:linear-gradient(#8fb3ee,#6b8de6 48%,#5f7fdc 52%,#3c56c4)}.page-ts .dial--main b,.page-ts .dial--main span{color:#fff}.page-ts .dial--main svg{background:rgba(255,255,255,.18);color:#fff}.page-ts .dial--main:hover{background:linear-gradient(#a6c4f3,#7d9ae8 48%,#6b89e0 52%,#4a63cc)}.page-ts .dock a:first-child{background:linear-gradient(#8fb3ee,#5f7fdc 52%,#3c56c4);color:#fff}.page-ts ::selection{background:#4a97ff;color:#fff}@media (max-width:980px){.desk__grid{grid-template-columns:minmax(0,1fr)}.desk .scene--os{width:min(680px,100%);justify-self:center}.page-ts .case-bg{background:linear-gradient(180deg,rgba(7,11,26,.55) 0%,rgba(7,11,26,.92) 60%,var(--void) 100%),url(../img/tesela/fondo-grande.jpg)75% 20%/cover no-repeat}}@media (max-width:640px){.case-hero{min-height:auto}.ts-word{font-size:3rem}}.page-brand .challenge dt::before,.page-brand .goals h3::before,.page-case .hero__title::after{content:none}.case-hero__grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(2rem,4vw,4rem);align-items:center}.case-hero__grid .case-hero__copy{max-width:600px}.hero .scene--case{grid-area:auto;--rx0:5deg;--ry0:-13deg;aspect-ratio:16/12}.scene--case .device--browser{width:94%}.scene--flow .device--browser{width:92%}.mock--shot{background:#fff}.mock--shot img{width:100%;height:100%;object-fit:cover;object-position:top}.device--side{width:26%;inset-block-start:60%;inset-inline-start:88%;border-width:5px;border-radius:24px;transform:translate(-50%,-50%) translateZ(110px)}.scene--case .device--mini{width:42%;inset-block-start:80%;inset-inline-start:74%;transform:translate(-50%,-50%) translateZ(120px)}.device--mini .device__bar{height:22px}.device--mini .mock{inset-block-start:22px}.scene--case .float--a{inset-block:2%auto;inset-inline:auto -3%;transform:translateZ(150px)}.scene--flow .float--a{inset-block:auto 4%;inset-inline:-3%auto}.brand-word{display:flex;align-items:center;gap:.32em;max-width:none;line-height:1}.brand-word>span:last-child{display:flex;flex-direction:column}.brand-word small{margin-block-start:.55em;font-size:.19em;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2);-webkit-text-stroke:0;text-shadow:none}.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.2rem,2.6vw,2rem);align-items:start}.shots--3:not(:has(.shot--phone)){grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}.shots--3:not(:has(.shot--phone)) .shot:first-child{grid-row:span 2}.shots:has(.shot--phone){grid-template-columns:minmax(0,1.55fr) minmax(0,.75fr);grid-auto-flow:dense}.shots:has(.shot--phone) .shot--phone{grid-column:2;grid-row:span 2}.shot__frame{overflow:hidden;border:1px solid var(--line-2);border-radius:12px;background:var(--deep);box-shadow:0 30px 60px -34px rgba(0,0,0,.55);transition:transform .4s var(--ease),box-shadow .4s}.shot__frame img,.shot__phone img{width:100%;object-fit:cover;object-position:top}.shot__frame img{height:auto;aspect-ratio:16/10}.shot__phone{overflow:hidden;width:min(290px,100%);margin-inline:auto;aspect-ratio:9/19.5;border:7px solid #111;border-radius:34px;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);transition:transform .4s var(--ease)}.shot__phone img{height:100%}.shot:hover .shot__frame,.shot:hover .shot__phone{transform:translateY(-4px)}.shot h3{margin-block:1.1rem .35rem;font-size:1.05rem;letter-spacing:-.02em}.shot--phone h3,.shot--phone p{max-width:290px;margin-inline:auto}.shot p{color:var(--text-2);font-size:.95rem}.page-brand .origin{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;font-weight:600}.page-brand .layer-own .origin{background:var(--accent-soft);color:var(--accent-text)}.page-brand .layer-ext .origin{background:var(--panel-2);color:var(--text-2)}.page-brand .versions--layers .layer-own{--lc:var(--accent)}.page-brand .versions--layers .layer-ext{--lc:var(--line-2)}.live{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.4rem 2.4rem;margin-block-end:clamp(2rem,4vw,3rem);padding:clamp(1.6rem,4vw,2.6rem) clamp(1.4rem,4vw,3rem);border-radius:18px;background:var(--accent);color:#fff}.live>div{flex:1 1 380px}.live__t{font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.03em;color:#fff}.live p{max-width:60ch;margin-block-start:.4rem;color:rgba(255,255,255,.9)}.page-brand .live .btn--visit{border-color:#fff;background:#fff;color:var(--live-ink, var(--accent));box-shadow:0 14px 30px -14px rgba(0,0,0,.45)}.page-brand .live .btn--visit:hover{background:rgba(255,255,255,.9)}.contact__list--3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1000px}.case-others{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem 1.2rem;margin-block-start:1.4rem;font-size:.9rem;color:var(--text-3)}.case-others a{color:var(--text-2);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:4px;transition:color .2s}.page-brand{--aurora:var(--accent);--signal:var(--accent);--glow:0 12px 30px -12px var(--accent)}.page-brand .layer--scan{display:none}.page-brand .case-figs dd,.page-brand h1,.page-brand h2,.page-brand h3,.page-brand h4{font-family:var(--display)}.page-brand,.page-brand .btn,.page-brand .case-back,.page-brand .challenge dt,.page-brand .challenge__result dd,.page-brand .dial b,.page-brand .feat__st,.page-brand .float,.page-brand .flow__n,.page-brand .legend,.page-brand .stack dt,.page-brand .status,.page-brand .versions tbody th,.page-brand .versions thead th{font-family:var(--body)}.page-brand .btn{letter-spacing:0}.page-brand .btn--solid{border-color:var(--accent);background:var(--accent);color:var(--accent-ink)}.page-brand .btn--solid:hover{background:var(--accent-hi)}.page-brand .case-lema{margin-block:0 1.2rem;font-family:var(--body);font-weight:600;color:var(--accent-text)}.page-brand .case-back:hover,.page-brand .challenge__result dt,.page-brand .flow__n,.page-brand .foot a:hover,.page-brand .stack dt,.page-brand .versions thead th:last-child,.page-brand .versions__why h3{color:var(--accent-text)}.page-brand .flow li+li::before{background:var(--accent)}.page-brand .versions__why{border-color:var(--accent-line, var(--line-2))}.page-brand .challenge__result,.page-brand .versions__why{background:var(--accent-soft)}.page-brand .dial svg{color:var(--accent-text)}.page-brand .dial--main{border-color:var(--accent);background:var(--accent);box-shadow:var(--glow)}.page-brand .dial--main b,.page-brand .dial--main span,.page-brand .dial--main svg{color:var(--accent-ink)}.page-brand .dial--main svg{background:rgba(255,255,255,.18)}.page-brand .dial--main:hover{background:var(--accent-hi)}.page-brand .dock a:first-child{background:var(--accent);color:var(--accent-ink)}.page-brand ::selection{background:var(--accent);color:var(--accent-ink)}.page-brand .status i{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.page-brand .head__title{letter-spacing:-.035em}.page-rv{--void:#ffffff;--deep:#f6f8f9;--deep-2:#eef2f5;--panel:#ffffff;--panel-2:#f0f8fd;--line:#e3e9ee;--line-2:#cbd5dd;--text:#14181b;--text-2:#4a5560;--text-3:#6f7c87;--accent:#1b7cad;--accent-hi:#14658f;--accent-ink:#ffffff;--accent-text:#1b7cad;--accent-soft:#f0f8fd;--accent-line:#aedbf0;--brand:#1b7cad;--brand-soft:rgba(46, 149, 200, .28);--display:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}.page-rv .layer--wash{background:radial-gradient(1000px 520px at 92% -8%,#dceef9,transparent 70%),radial-gradient(700px 520px at -10% 45%,#f0f8fd,transparent 70%)}.page-rv .case-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(520px 360px at 82% 18%,rgba(134,214,232,.35),transparent 70%),radial-gradient(640px 420px at 70% 90%,rgba(195,230,247,.55),transparent 70%),linear-gradient(180deg,#f0f8fd 0,#fff 100%)}.page-rv h1,.page-rv h2,.page-rv h3{font-weight:800}.page-rv .brand-word span{font-weight:800;letter-spacing:-.05em;color:#14181b}.page-rv .brand-word b,.rv-mark{font-weight:800;color:#1b7cad}.page-rv .brand-word small{letter-spacing:.14em}.rv-mark{display:grid;place-items:center;flex:none;border-radius:.2em;background:#1b7cad;color:#fff;box-shadow:0 .18em .4em -.12em rgba(14,79,116,.55);font-size:.42em;width:2.45em;height:2.45em;letter-spacing:-.06em}.page-rv .top.stuck{background:rgba(255,255,255,.9)}.page-rv .btn,.page-rv .dial:not(.dial--main),.page-rv .up{background:#fff}.page-rv .btn{border-radius:10px}.page-rv .btn--solid{background:var(--accent)}.page-rv .float{border-color:#e3e9ee;background:rgba(255,255,255,.96);color:var(--text-2);box-shadow:0 22px 40px -18px rgba(14,79,116,.45)}.page-rv .float svg{background:#dceef9;color:#1b7cad}.page-rv .device{border-color:rgba(14,79,116,.14);box-shadow:0 50px 90px -40px rgba(14,79,116,.55),0 0 0 1px rgba(14,79,116,.05)}.page-rv .device__bar{background:#f6f8f9;border-color:#e3e9ee}.page-rv .device__bar span{color:#6f7c87}.page-rv .shot__frame{box-shadow:0 30px 60px -34px rgba(14,79,116,.5)}.page-rv .case-figs,.page-rv .challenge,.page-rv .feat,.page-rv .flow li,.page-rv .goals li,.page-rv .stack,.page-rv .versions__table{background:#fff}.page-rv .case-figs,.page-rv .challenge,.page-rv .feat,.page-rv .stack,.page-rv .versions__table{box-shadow:0 18px 40px -30px rgba(14,79,116,.35)}.page-rv .case-figs dd{color:#1b7cad;font-weight:800;letter-spacing:-.03em}.page-rv .feat--ok{--st:#1b7cad}.page-rv .feat--star{--st:#d6533c}.page-rv .contact__panel{background:radial-gradient(600px 300px at 50%0,#dceef9,transparent 70%),#fff}.page-rv .live{background:linear-gradient(120deg,#14658f,#1b7cad 45%,#2e95c8)}.page-rv .dock{background:rgba(255,255,255,.97)}.page-gum{--navy:#1d3557;--void:#e6f3fd;--deep:#ffffff;--deep-2:#eaf5ff;--panel:#ffffff;--panel-2:#eaf5ff;--line:rgba(29, 53, 87, .14);--line-2:rgba(29, 53, 87, .3);--text:#1d3557;--text-2:#3b5274;--text-3:#5b6f8d;--accent:#ff6fae;--accent-hi:#ff86bc;--accent-ink:#ffffff;--accent-text:#d03a80;--accent-soft:#fff0f7;--accent-line:#ffb3d4;--live-ink:#1d3557;--brand:#ff6fae;--brand-soft:rgba(255, 255, 255, .55);--display:"Baloo 2", system-ui, -apple-system, "Segoe UI", sans-serif;--body:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--stroke:2.5px solid var(--navy);color-scheme:light}.page-gum .layer--wash{background:0 0}.page-gum .case-figs dd,.page-gum h1,.page-gum h2,.page-gum h3,.page-gum h4{font-weight:800;letter-spacing:0}.page-gum .head__title{letter-spacing:0;line-height:1.1}.page-gum .case-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(90px 34px at 12% 22%,#fff 98%,transparent),radial-gradient(60px 30px at 16% 18%,#fff 98%,transparent),radial-gradient(110px 40px at 58% 12%,rgba(255,255,255,.9) 98%,transparent),radial-gradient(70px 30px at 62% 8%,rgba(255,255,255,.9) 98%,transparent),radial-gradient(100px 36px at 92% 30%,rgba(255,255,255,.85) 98%,transparent),linear-gradient(180deg,#4da1e0 0%,#7cbdeb 55%,#b9dcf5 82%,var(--void) 100%)}.page-gum .case-bg::after{content:"";position:absolute;inset:auto 0 0;height:110px;background:linear-gradient(#a8cdea,#a8cdea) 2% 100%/5% 70%no-repeat,linear-gradient(#97c2e4,#97c2e4) 8% 100%/4% 45%no-repeat,linear-gradient(#a8cdea,#a8cdea) 14% 100%/6% 85%no-repeat,linear-gradient(#97c2e4,#97c2e4) 22% 100%/4% 55%no-repeat,linear-gradient(#a8cdea,#a8cdea) 30% 100%/5% 65%no-repeat,linear-gradient(#97c2e4,#97c2e4) 40% 100%/6% 40%no-repeat,linear-gradient(#a8cdea,#a8cdea) 52% 100%/4% 75%no-repeat,linear-gradient(#97c2e4,#97c2e4) 60% 100%/6% 50%no-repeat,linear-gradient(#a8cdea,#a8cdea) 70% 100%/5% 90%no-repeat,linear-gradient(#97c2e4,#97c2e4) 78% 100%/4% 60%no-repeat,linear-gradient(#a8cdea,#a8cdea) 88% 100%/6% 72%no-repeat,linear-gradient(#97c2e4,#97c2e4) 97% 100%/5% 48%no-repeat;opacity:.7;-webkit-mask-image:linear-gradient(180deg,#000 40%,transparent);mask-image:linear-gradient(180deg,#000 40%,transparent)}.brand-word--gum{font-size:clamp(3.2rem,7vw,5.6rem)}.brand-word--gum img{width:1.05em;height:1.05em;flex:none;border:4px solid #fff;border-radius:23%;box-shadow:0 6px 0 var(--navy),0 0 0 2.5px var(--navy)}.brand-word--gum>span{color:#ff6fae;-webkit-text-stroke:.05em var(--navy);paint-order:stroke fill;text-shadow:0 .07em 0 var(--navy)}.brand-word--gum small{margin-block-start:.5em;font-family:var(--body);font-size:.16em;color:var(--navy);letter-spacing:.12em}.page-gum .case-lema{display:inline-block;padding:.65rem 1.1rem;border:var(--stroke);border-radius:18px;background:#fff;color:var(--navy);box-shadow:0 4px 0 var(--navy)}.page-gum .hero__claim{color:#14284a;font-weight:500}.page-gum .status{border:var(--stroke);background:#fff;color:var(--navy);font-weight:700}.page-gum .btn,.page-gum .case-back{color:var(--navy);font-weight:600}.page-gum .btn{border:var(--stroke);border-radius:999px;background:#fff;font-family:var(--display);font-size:1rem;font-weight:800;box-shadow:0 5px 0 var(--navy)}.page-gum .btn:hover{transform:translateY(2px);box-shadow:0 3px 0 var(--navy);background:#fff}.page-gum .btn--solid{border-color:var(--navy);background:var(--accent);color:#fff;text-shadow:0 1px 0 rgba(29,53,87,.5)}.page-gum .btn--solid:hover,.page-gum .dial--main:hover{background:var(--accent-hi)}.page-gum .case-figs,.page-gum .challenge,.page-gum .contact__panel,.page-gum .feat,.page-gum .flow li,.page-gum .goals li,.page-gum .stack,.page-gum .versions__table{border:var(--stroke);border-radius:22px;background:#fff;box-shadow:0 6px 0 var(--navy)}.page-gum .shot__frame{border:var(--stroke);background:#fff;box-shadow:0 6px 0 var(--navy)}.page-gum .versions__why{border-radius:22px;box-shadow:0 6px 0 var(--navy)}.page-gum .dial,.page-gum .float,.page-gum .versions__why{border:var(--stroke);background:#fff}.page-gum .goals{gap:1rem;overflow:visible;border:0;background:0 0}.page-gum .feat::before{inset-block:18px;border-radius:0 3px 3px 0}.page-gum .flow li+li::before{background:var(--navy)}.page-gum .float svg,.page-gum .versions__why{background:var(--accent-soft)}.page-gum .challenge__result{border-radius:14px}.page-gum .case-figs dd{color:var(--accent);-webkit-text-stroke:1px var(--navy);font-size:clamp(1.6rem,2.8vw,2.2rem)}.page-gum .feat--ok{--st:#2a7fc4}.page-gum .feat--test{--st:#d03a80}.page-gum .float{color:var(--text-2);border-radius:16px;box-shadow:0 5px 0 var(--navy)}.page-gum .float svg{color:var(--accent-text)}.page-gum .device{border:var(--stroke);box-shadow:0 8px 0 var(--navy),0 40px 70px -30px rgba(29,53,87,.6)}.page-gum .device--phone{border:5px solid var(--navy);outline:0}.page-gum .device__bar{background:#fff;border-color:var(--line)}.page-gum .shot__frame{border-radius:18px}.page-gum .shot__phone{border-color:var(--navy);box-shadow:0 8px 0 var(--navy)}.page-gum .scene::after{opacity:.6}.page-gum .live{border:var(--stroke);background:var(--accent);box-shadow:0 6px 0 var(--navy)}.page-gum .live__t{-webkit-text-stroke:1px var(--navy);paint-order:stroke fill;text-shadow:0 2px 0 var(--navy)}.page-gum .live p{color:#fff;text-shadow:0 1px 0 rgba(29,53,87,.55);font-weight:600}.page-gum .contact__panel::before{content:none}.page-gum .dial{border-radius:18px;box-shadow:0 4px 0 var(--navy)}.page-gum .dial--main{border-color:var(--navy);background:var(--accent)}.page-gum .dial--main b,.page-gum .dial--main span{color:#fff}.page-gum .dock,.page-gum .foot,.page-gum .menu,.page-gum .top{--text:#ffffff;--text-2:#d5e1f2;--text-3:#a9bad3;--line:rgba(255, 255, 255, .16);--line-2:rgba(255, 255, 255, .32);--panel-2:rgba(255, 255, 255, .1);--accent-text:#ff8fc0}.page-gum .top,.page-gum .top.stuck{background:var(--navy);border-block-end:0}.page-gum .top .btn{border-color:#fff;background:0 0;color:#fff;box-shadow:none}.page-gum .mark__path{color:#ff8fc0}.page-gum .foot{background:var(--navy);border:0}.page-gum .dock{background:rgba(29,53,87,.97)}.page-gum .dock a:first-child{border:2px solid #fff}.page-gum .up{border:var(--stroke);background:#fff;color:var(--navy)}.page-dl{--void:#060a13;--deep:#0a101d;--deep-2:#0e1626;--panel:rgba(14, 22, 38, .78);--panel-2:#131d31;--line:rgba(76, 157, 255, .13);--line-2:rgba(76, 157, 255, .26);--text:#e7eef8;--text-2:#a9b6ca;--text-3:#7a8aa3;--accent:#3b82f6;--accent-hi:#4c9dff;--accent-ink:#ffffff;--accent-text:#4c9dff;--accent-soft:rgba(39, 107, 190, .16);--accent-line:rgba(76, 157, 255, .35);--live-ink:#1a4f99;--grad:linear-gradient(135deg, #276bbe, #3b82f6 45%, #22d3ee);--brand:#4c9dff;--brand-soft:rgba(34, 211, 238, .2);--display:"Space Grotesk", "Inter", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif}.page-dl .layer--wash{background:radial-gradient(1000px 620px at 85% -10%,rgba(39,107,190,.3),transparent 70%),radial-gradient(800px 600px at 0 85%,rgba(34,211,238,.08),transparent 70%)}.page-dl .layer--scan{display:block;background-image:linear-gradient(rgba(76,157,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(76,157,255,.05) 1px,transparent 1px);background-size:64px 64px}.page-dl .case-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(700px 480px at 78% 40%,rgba(34,211,238,.12),transparent 70%)}.page-dl h1,.page-dl h2,.page-dl h3{font-weight:600}.brand-word--dl{gap:.4em;font-size:clamp(2.1rem,4.4vw,3.6rem);font-weight:600;letter-spacing:-.03em}.brand-word--dl img{width:1.15em;height:1.15em;flex:none;padding-inline-end:.35em;border-inline-end:1px solid var(--line-2);box-sizing:content-box}.brand-word--dl small{font-family:var(--mono);font-size:.25em;font-weight:400;letter-spacing:.08em;text-transform:none;color:var(--text-2)}.page-dl .btn{border-radius:12px}.page-dl .btn--solid{border-color:transparent;background:var(--grad);box-shadow:0 14px 34px -14px rgba(59,130,246,.8)}.page-dl .btn--solid:hover{background:var(--grad);filter:brightness(1.1)}.page-dl .case-figs,.page-dl .challenge,.page-dl .contact__panel,.page-dl .feat,.page-dl .float,.page-dl .flow li,.page-dl .goals,.page-dl .shot__frame,.page-dl .stack,.page-dl .versions__table{border-radius:18px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.page-dl .goals li{background:#0a101d}.page-dl .case-figs dd{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.page-dl .feat--ok{--st:#22d3ee}.page-dl .feat--priv{--st:#4c9dff}.page-dl .float{background:rgba(14,22,38,.92)}.page-dl .float svg{background:rgba(39,107,190,.25);color:#4c9dff}.page-dl .device{border-color:rgba(76,157,255,.2);box-shadow:0 50px 90px -30px rgba(0,0,0,.9),0 0 50px -18px rgba(59,130,246,.6)}.page-dl .device__bar{background:#0a101d}.page-dl .mock--shot{background:#060a13}.page-dl .live,.page-dl .progress i,.page-dl .track::after{background:var(--grad)}.page-dl .dial--main,.page-dl .dock a:first-child{border-color:transparent;background:var(--grad)}.page-dl .contact__panel{background:radial-gradient(600px 300px at 50% 0%,rgba(59,130,246,.16),transparent 70%),var(--deep)}.page-dl .top.stuck{background:rgba(6,10,19,.85)}@media (max-width:980px){.page-rv .menu{background:rgba(255,255,255,.98)}.page-gum .menu{background:var(--navy)}.case-hero__grid{grid-template-columns:minmax(0,1fr)}.hero .scene--case{width:min(640px,100%);justify-self:center}.shots,.shots--3:not(:has(.shot--phone)),.shots:has(.shot--phone){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.shots--3:not(:has(.shot--phone)) .shot:first-child{grid-column:1/-1;grid-row:auto}.shots:has(.shot--phone) .shot--phone{grid-column:auto;grid-row:span 2}.live{text-align:start}}@media (max-width:640px){.shots,.shots--3:not(:has(.shot--phone)),.shots:has(.shot--phone){grid-template-columns:minmax(0,1fr)}.shots:has(.shot--phone) .shot--phone{grid-row:auto}.shot__phone{width:min(240px,72%)}.hero .scene--case{aspect-ratio:4/3.4}.device--side{width:30%;inset-inline-start:84%}.brand-word--gum{font-size:3.1rem}.page-gum .top__call{font-size:0}.brand-word--dl{font-size:1.9rem}.brand-word--rv{font-size:2.6rem}.live .btn--visit{width:100%}.scene--case .float--a{inset-inline-end:0}}.hero-phone{width:21%;inset-block-start:68%;inset-inline-start:100%;border-width:5px;border-radius:24px;transform:translate(-50%,-50%) translateZ(110px) rotate(4deg);box-shadow:0 40px 70px -24px rgba(0,0,0,.9),0 0 40px -14px rgba(255,111,181,.55)}.float--hero{inset-block:-5%auto;inset-inline:auto 6%;transform:translateZ(140px)}.float--hero svg{background:rgba(61,220,132,.14);color:var(--aurora)}.project .device--browser .mock--shot img{object-position:top}.device--duo{width:25%;inset-block-start:60%;inset-inline-start:90%;border-width:5px;border-radius:22px;transform:translate(-50%,-50%) translateZ(120px)}.project:nth-child(even) .device--duo{inset-inline-start:10%}.project .scene .float--a{z-index:2}.device--miniterm{width:52%;height:34%;inset-block-start:78%;inset-inline-start:22%;border-radius:9px;background:rgba(8,12,11,.96);border-color:var(--line-2);transform:translate(-50%,-50%) translateZ(120px)}.device--miniterm .device__bar{height:22px;background:#0d1311}.device--miniterm .device__bar i{width:7px;height:7px}.device--miniterm .term{inset-block-start:22px;padding:.45rem .6rem;font-size:clamp(.42rem,.6vw,.56rem);line-height:1.5}.band--reel{overflow:hidden}.reel{display:grid;gap:clamp(1rem,2vw,1.6rem);-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);outline-offset:-4px}.reel__row{display:flex;width:max-content}.reel__track{display:flex;gap:clamp(1rem,2vw,1.6rem);padding-inline-end:clamp(1rem,2vw,1.6rem);align-items:center}.reel__row--phones{animation:reel 70s linear infinite}.reel__row--webs{animation:reel 90s linear infinite reverse}.reel:focus .reel__row,.reel:focus-within .reel__row,.reel:hover .reel__row{animation-play-state:paused}.reel__phone,.reel__web{flex:none;overflow:hidden;box-shadow:0 30px 50px -28px rgba(0,0,0,.9)}.reel__phone{width:clamp(150px,15vw,210px);aspect-ratio:9/19.5;border:6px solid #111a15;border-radius:26px;background:#000;outline:1px solid rgba(255,255,255,.12)}.reel__phone img,.reel__web img{width:100%;height:100%;object-fit:cover;object-position:top}.reel__web{width:clamp(300px,30vw,440px);border:1px solid var(--line-2);border-radius:10px;background:var(--deep)}.reel__web .device__bar{height:26px}.reel__web img{height:auto;aspect-ratio:16/10}.reel--rv{--tint:#2fb0f0}.reel--gum{--tint:#ff6fb5}.reel--dl{--tint:#4c9dff}.reel__phone,.reel__web{box-shadow:0 30px 50px -28px rgba(0,0,0,.9),0 0 0 1px color-mix(in srgb,var(--tint) 25%,transparent)}.ttys{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem);align-items:start;perspective:1600px}.tty{margin:0}.tty>.device__bar,.tty__out{border:1px solid var(--line-2)}.tty>.device__bar{border-block-end:0;border-radius:10px 10px 0 0}.tty__out{min-height:230px;padding:1rem 1.1rem 1.2rem;border-radius:0 0 10px 10px;background:rgba(8,12,11,.94);box-shadow:0 40px 70px -40px rgba(0,0,0,.9),0 0 50px -30px rgba(61,220,132,.35);font-family:var(--mono);font-size:clamp(.62rem,.78vw,.72rem);line-height:1.7;color:var(--text-2);overflow-x:auto;scrollbar-width:thin}.tty__out p{white-space:pre-wrap;overflow-wrap:anywhere;padding-inline-start:2ch;text-indent:-2ch}.tty__out .build{white-space:pre;padding:0;text-indent:0}.tty__out .cmd{color:var(--text)}.tty__out .ok{color:var(--aurora)}.tty__out .hl{color:#9be8bc}.tty figcaption,.tty__out .dim{color:var(--text-3)}.tty__d{color:var(--ion)}.tty figcaption{margin-block-start:.8rem;font-family:var(--mono);font-size:.76rem}.tty:first-child{transform:rotateY(8deg);transform-origin:right center}.tty:last-child{transform:rotateY(-8deg);transform-origin:left center}.tty--mid{transform:translateY(-14px)}.js .tty.reveal.in .tty__out p{animation:ttyline .01s steps(1) forwards;animation-delay:calc(var(--i, 0)*110ms + 250ms)}@media (max-width:1120px){.ttys{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.tty:last-child{grid-column:1/-1;transform:none}}@media (max-width:980px){.float--hero,.hero-phone{display:none}}@media (max-width:760px){.ttys{grid-template-columns:minmax(0,1fr);perspective:none}.tty--mid,.tty:first-child,.tty:last-child{transform:none}.tty__out{min-height:0;font-size:.64rem}}@media (prefers-reduced-motion:reduce){.reel{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.reel__row{animation:none}.reel__track[aria-hidden=true]{display:none}.js .tty.reveal .tty__out p{opacity:1;animation:none}}.phones{display:flex;justify-content:center;align-items:flex-end;gap:clamp(1rem,4vw,3.5rem);perspective:1600px;padding-block:1rem 2rem}.phone{margin:0;width:clamp(170px,22vw,270px);aspect-ratio:9/19.5;overflow:hidden;border:8px solid #0c0f14;border-radius:38px;background:#000;outline:1px solid rgba(255,255,255,.14);box-shadow:0 50px 80px -40px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.3);transition:transform .5s var(--ease)}.phone img{width:100%;height:100%;object-fit:cover;object-position:top}.phones--3 .phone:nth-child(1){transform:rotateY(18deg) translateY(24px)}.phones--3 .phone:nth-child(2){transform:translateY(-12px) scale(1.06);z-index:1}.phones--3 .phone:nth-child(3){transform:rotateY(-18deg) translateY(24px)}.phones--2 .phone:nth-child(1){transform:rotateY(12deg)}.phones--2 .phone:nth-child(2){transform:rotateY(-12deg) translateY(30px)}.js .phone.reveal{opacity:0}.js .phone.reveal.in{opacity:1}.page-gum .phone{border-color:var(--navy);box-shadow:0 8px 0 var(--navy),0 50px 80px -40px rgba(29,53,87,.6);outline:0}.page-rv .phone{box-shadow:0 50px 80px -40px rgba(14,79,116,.55)}.page-dl .phone{box-shadow:0 50px 80px -30px rgba(0,0,0,.9),0 0 60px -24px rgba(59,130,246,.7)}.stack-term{margin:0}.stack-term>.device__bar{border:1px solid rgba(255,255,255,.12);border-block-end:0;border-radius:12px 12px 0 0;background:#0d1311}.stack-term>.device__bar span{color:#7b8a84;font-family:var(--mono)}.stack-term__body{padding:1.1rem 1.3rem 1.3rem;border:1px solid rgba(255,255,255,.12);border-radius:0 0 12px 12px;background:#080c0b;box-shadow:0 40px 70px -40px rgba(0,0,0,.7);font-family:var(--mono)}.stack-term__cmd{margin-block-end:.6rem;font-size:.82rem;color:#e7ece9}.page-case .stack-term .stack{border:0;border-radius:0;background:0 0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.page-case .stack-term .stack div{padding:.35rem 0;border:0}.page-case .stack-term .stack dt{font-family:var(--mono);font-size:.8rem;color:#3ddc84}.page-case .stack-term .stack dt::after{content:":";color:#67736d}.page-case .stack-term .stack dd{font-family:var(--mono);font-size:.82rem;color:#e7ece9}.page-gum .stack-term>.device__bar,.page-gum .stack-term__body{border:var(--stroke)}.page-gum .stack-term__body{border-block-start:0;box-shadow:0 6px 0 var(--navy)}.page-gum .stack-term>.device__bar{border-block-end:0}.page-dl .stack-term .stack dt{color:#22d3ee}.page-rv .stack-term .stack dt{color:#5fb2dc}.page-ts .stack-term .stack dt{color:#8bb8ff}.boot-seq{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2.4vw,2rem);counter-reset:none}.boot-seq li,.screen{position:relative}.boot-seq li+li::before{content:"";position:absolute;inset-block-start:28%;inset-inline-start:calc(-1*clamp(1rem,2.4vw,2rem));width:clamp(1rem,2.4vw,2rem);height:2px;background:var(--cubo, var(--aurora))}.boot-seq p{margin-block-start:.9rem;font-family:var(--ts, var(--mono));font-weight:600;color:var(--text)}.boot-seq p span{margin-inline-end:.6rem;color:var(--text-3);font-weight:500}.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:16/10;overflow:hidden;border:8px solid #10131c;border-radius:12px;box-shadow:0 40px 70px -36px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08);font-family:var(--ts, var(--body));color:#fff}.screen--boot{gap:.5rem;background:#000}.screen--boot img{width:26%}.screen--boot b{font-size:clamp(.9rem,1.6vw,1.3rem);font-weight:600;letter-spacing:-.01em}.spin{width:16px;height:16px;margin-block-start:.6rem;border:2px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.screen--login{gap:.35rem;background:url(../img/tesela/inicio-sesion.jpg)center/cover;color:#1a2150}.login__clock{position:absolute;inset-block-start:8%;font-size:clamp(1rem,2.2vw,1.7rem);font-weight:300;color:#fff;text-shadow:0 2px 10px rgba(30,40,120,.35)}.login__avatar{width:18%;aspect-ratio:1;margin-block-start:8%;border:3px solid rgba(255,255,255,.85);border-radius:50%;background:linear-gradient(135deg,#8fb3ee,#3c56c4);box-shadow:0 8px 20px -8px rgba(30,40,120,.6)}.screen--login b{font-size:clamp(.7rem,1.1vw,.9rem);color:#fff;text-shadow:0 1px 6px rgba(30,40,120,.4)}.login__pass{width:46%;padding:.25rem .6rem;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(255,255,255,.55);font-size:clamp(.5rem,.8vw,.65rem);color:#4a5590;text-align:start}.screen--desk{background:url(../img/tesela/fondo.jpg)70% 40%/cover;justify-content:flex-start}.desk__win{position:absolute;inset:12% 30% 26% 10%;border:1px solid rgba(255,255,255,.7);border-radius:6px;background:linear-gradient(#7d9ae8 0 9%,rgba(246,248,255,.94) 9%);box-shadow:0 16px 30px -12px rgba(20,30,90,.55)}.desk__bar{position:absolute;inset:auto 0 0;display:flex;align-items:center;gap:5%;height:11%;padding-inline:2%;background:linear-gradient(rgba(125,154,232,.85),rgba(88,117,214,.9))}.desk__bar img{height:80%}.desk__bar i{width:7%;height:60%;border-radius:3px;background:rgba(255,255,255,.35)}.desk__bar em{margin-inline-start:auto;font-style:normal;font-size:clamp(.45rem,.7vw,.6rem);color:#fff}@media (max-width:760px){.phones{justify-content:flex-start;gap:1rem;margin-inline:calc(var(--gutter)*-1);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.phones>.phone:nth-child(n){flex:none;width:64%;transform:none;scroll-snap-align:center}.boot-seq,.page-case .stack-term .stack div{grid-template-columns:minmax(0,1fr)}.boot-seq li+li::before{display:none}}.fpanel header,.pstrip{display:flex;flex-wrap:wrap}.pstrip{gap:.35rem;margin-block:-.3rem 1.2rem;font-family:var(--mono);font-size:.74rem;color:var(--text-2)}.cmp,.pstrip span{border:1px solid var(--line);background:var(--panel)}.pstrip span{padding:.2rem .55rem;border-radius:4px}.pstrip b{color:var(--brand, var(--aurora));font-weight:700}.cmp{margin:0 0 clamp(2rem,4vw,3rem);padding:clamp(1.2rem,3vw,2rem);border-radius:14px}.cmp figcaption,.cmp__bars b{font-family:var(--mono);color:var(--text)}.cmp figcaption{margin-block-end:1.2rem;font-size:.86rem;font-weight:600}.cmp__bars{display:grid;gap:.7rem}.cmp__bars li{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr) auto;gap:1rem;align-items:center;font-size:.9rem}.cmp__bars span,.cmp__src a{color:var(--text-2)}.cmp__bars i{position:relative;height:14px;border-radius:3px;background:var(--panel-2);overflow:hidden}.cmp__bars i::before,.parts i::before{content:"";position:absolute;inset:0 auto 0 0;width:var(--w);border-radius:3px}.cmp__bars i::before{min-width:3px;background:var(--c, var(--aurora));transform-origin:left}.js .cmp.reveal i::before,.js .reveal .cmp__bars i::before{transform:scaleX(0);transition:transform 1.1s var(--ease)}.js .cmp.reveal.in i::before,.js .reveal.in .cmp__bars i::before{transform:none}.cmp__bars b{min-width:9.5rem;font-size:.82rem;text-align:end;white-space:nowrap}.cmp__bars b small{display:block;font-size:.72rem;font-weight:400;color:var(--c, var(--aurora))}.cmp--redvivienda{--c:#2fb0f0}.cmp--gumit{--c:#ff6fb5}.cmp--dalenconlancaster{--c:#4c9dff}.cmp--me{--c:#3ddc84}.cmp--median{--c:#6b7470}.cmp--median b,.cmp--median span,.fkpis dd small{color:var(--text-3)}.cmp__src,.fkpis dt{margin-block-start:1.1rem;font-size:.78rem;color:var(--text-3)}.cmp__src a{text-decoration:underline;text-underline-offset:3px}.fpanels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.fpanel{position:relative;padding:clamp(1.2rem,2.6vw,1.8rem);border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden}.fpanel::before{content:"";position:absolute;inset:0 0 auto;height:2px;background:var(--c, var(--aurora))}.fpanel--redvivienda{--c:#2fb0f0}.fpanel--gumit{--c:#ff6fb5}.fpanel--dalenconlancaster{--c:#4c9dff}.fpanel--tesela{--c:#8b98ff}.fpanel header{align-items:baseline;justify-content:space-between;gap:.3rem 1rem;margin-block-end:1.2rem}.fme h3,.fpanel h3{font-size:1.15rem;letter-spacing:-.03em}.fpanel h3 a:hover,a.fpanel__url:hover{color:var(--c)}.fpanel__url{font-family:var(--mono);font-size:.74rem;color:var(--text-3)}.fkpis,.wbar{overflow:hidden}.fkpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-block-end:1.3rem;border:1px solid var(--line);border-radius:10px;background:var(--line)}.fkpis div{display:flex;flex-direction:column-reverse;padding:.8rem .9rem;background:var(--void)}.fkpis dd{font-size:clamp(1.15rem,2vw,1.5rem);font-weight:700;letter-spacing:-.04em;color:var(--text);line-height:1.1}.fkpis dd small{margin-inline-start:.2rem;font-size:.55em;font-weight:500}.fkpis dt{margin-block-start:.3rem;font-size:.72rem;line-height:1.3}.wbar{display:flex;gap:2px;height:12px;margin-block-end:.7rem;border-radius:4px}.wbar i{flex-basis:0;min-width:3px}.fkpis dd,.wlegend{font-family:var(--mono)}.wlegend{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;margin-block-end:1.2rem;font-size:.72rem;color:var(--text-2)}.wlegend li{display:flex;align-items:center;gap:.4rem}.wlegend li::before{content:"";width:9px;height:9px;border-radius:2px;background:var(--seg)}.wlegend b{color:var(--text);font-weight:600}.wb--html{--seg:#e7ece9}.wbar .wb--html{background:#e7ece9}.wb--css{--seg:#67c6ff}.wbar .wb--css{background:#67c6ff}.wb--js{--seg:#f1fa8c}.wbar .wb--js{background:#f1fa8c}.wb--font{--seg:#bd93f9}.wbar .wb--font{background:#bd93f9}.wb--img{--seg:#3ddc84}.wbar .wb--img{background:#3ddc84}.lb--0{--seg:#44a3e3}.wbar .lb--0{background:#44a3e3}.lb--1{--seg:#89e051}.wbar .lb--1{background:#89e051}.lb--2{--seg:#ffd343}.wbar .lb--2{background:#ffd343}.lb--3{--seg:#f1e05a}.wbar .lb--3{background:#e8a33d}.lb--4{--seg:#6b7470}.wbar .lb--4{background:#6b7470}.fchecks,.fme p{color:var(--text-2)}.fchecks{display:grid;gap:.45rem;font-size:.88rem}.fchecks li{position:relative;padding-inline-start:1.6rem;line-height:1.5}.fchecks li::before{content:"";position:absolute;inset-inline-start:0;top:.2em;width:1rem;height:1rem;border-radius:50%;background:color-mix(in srgb,var(--c, var(--aurora)) 18%,transparent)}.fchecks li::after{content:"";position:absolute;inset-inline-start:.34rem;top:.42em;width:.3rem;height:.52rem;border:solid var(--c, var(--aurora));border-width:0 2px 2px 0;transform:rotate(45deg)}.parts{display:grid;gap:.65rem;margin-block-start:.2rem}.fme,.parts li{display:grid;align-items:center}.parts li{grid-template-columns:minmax(0,13rem) minmax(0,1fr) 4.2rem;gap:.9rem;font-size:.86rem}.parts span{display:flex;flex-direction:column;color:var(--text);line-height:1.3}.parts b,.parts small{font-family:var(--mono)}.parts small{font-size:.66rem;color:var(--text-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.parts i{height:8px;border-radius:3px;background:var(--panel-2);position:relative;overflow:hidden}.parts i::before{background:linear-gradient(90deg,#1fe0d8,#4a97ff,#b366f9)}.parts b{font-size:.8rem;color:var(--text);text-align:end}.fme{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem;margin-block-start:1rem;padding:clamp(1.2rem,2.6vw,1.8rem);border:1px solid var(--line);border-radius:14px;background:var(--panel)}.fme p{margin-block-start:.35rem;font-size:.9rem}.rings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.ring{position:relative;display:grid;justify-items:center;gap:.5rem;margin:0}.ring svg{width:min(92px,100%);aspect-ratio:1;transform:rotate(-90deg)}.ring circle{fill:none;stroke:var(--panel-2);stroke-width:6}.ring .ring__v{stroke:var(--rc);stroke-linecap:round;transition:stroke-dashoffset 1.4s var(--ease)}.js .fme.reveal:not(.in) .ring__v{stroke-dashoffset:213.6!important}.ring b{position:absolute;top:0;display:grid;place-items:center;width:min(92px,100%);aspect-ratio:1;font-family:var(--mono);font-size:1.4rem;color:var(--rc)}.ring figcaption{font-size:.76rem;color:var(--text-2);text-align:center}.ring--ok{--rc:#3ddc84}.ring--mid{--rc:#ffb347}.ring--bad{--rc:#ff6b81}.fcase{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:1.2rem;align-items:start}.fpanel--wide{background:var(--panel)}.cmp__bars--mini{margin-block-start:1.4rem}.fchecks--big{padding:clamp(1.2rem,2.6vw,1.8rem);border:1px solid var(--line);border-radius:14px;background:var(--panel);font-size:.92rem}.hterm{margin-block-start:1.2rem}.hterm .stack-term__body p{font-family:var(--mono);font-size:.76rem;line-height:1.7;color:#c9d4ce;white-space:pre-wrap;overflow-wrap:anywhere}.hterm .stack-term__body .k{color:#3ddc84}.hterm .stack-term__body .ok{color:#9be8bc}.hterm figcaption{margin-block-start:.7rem;font-family:var(--mono);font-size:.74rem;color:var(--text-3)}.page-case .fpanel{--c:var(--accent, #8b98ff)}.page-case .fkpis div{background:var(--deep)}.page-gum .fkpis div,.page-rv .fkpis div{background:#fff}.page-rv .fchecks--big,.page-rv .fpanel{background:#fff;box-shadow:0 18px 40px -30px rgba(14,79,116,.35)}.page-gum .fchecks--big,.page-gum .fpanel{border:var(--stroke);border-radius:22px;background:#fff;box-shadow:0 6px 0 var(--navy)}.page-gum .fkpis{border-color:rgba(29,53,87,.2);background:rgba(29,53,87,.2)}.page-gum .wb--html,.page-rv .wb--html{--seg:#14181b}.page-gum .wbar .wb--html,.page-rv .wbar .wb--html{background:#14181b}.page-gum .wb--js,.page-rv .wb--js{--seg:#d6a700}.page-gum .wbar .wb--js,.page-rv .wbar .wb--js{background:#d6a700}.page-gum .wb--img,.page-rv .wb--img{--seg:#1fae6a}.page-gum .wbar .wb--img,.page-rv .wbar .wb--img{background:#1fae6a}.page-case .cmp__bars b small{color:var(--accent-text, var(--c))}.page-ts .fpanel{background:rgba(12,19,48,.6);border-radius:16px}.page-ts .fkpis dd{font-family:var(--ts)}@media (max-width:980px){.fcase,.fme,.fpanels{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.fkpis,.rings{grid-template-columns:repeat(2,minmax(0,1fr))}.cmp__bars li{grid-template-columns:minmax(0,1fr) auto;gap:.3rem .8rem}.cmp__bars i,.parts i{grid-column:1/-1;grid-row:2}.cmp__bars b{min-width:0}.parts li{grid-template-columns:minmax(0,1fr) 4rem}}@media (max-width:1120px){.menu a{padding-inline:.45rem;font-size:.8rem}.abilities,.skills{grid-template-columns:repeat(2,minmax(0,1fr))}.abilities li:last-child:nth-child(odd){grid-column:1/-1}}@media (max-width:980px){.burger{display:block}.menu,.menu a{border-block-end:1px solid var(--line)}.menu{position:fixed;inset:var(--bar)0 auto;flex-direction:column;align-items:stretch;gap:0;padding:.6rem var(--gutter) 1.2rem;background:rgba(10,14,13,.97);transform:translateY(-8px);opacity:0;visibility:hidden;transition:opacity .25s,transform .25s var(--ease),visibility 0s .25s}.menu.open{opacity:1;transform:none;visibility:visible;transition:opacity .25s,transform .25s var(--ease)}.menu a{padding:.8rem .3rem;font-size:1.02rem;border-radius:0}.menu a.is-here{box-shadow:none;background:0 0;color:var(--aurora)}.hero__grid{grid-template-columns:minmax(0,1fr);gap:2.4rem}.stage{inset-inline-end:-30%;width:120vw;opacity:.3}.scene--term{width:min(640px,100%);justify-self:center}.hero__next{display:none}.project,.project:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-areas:"scene""body";gap:1.6rem}.scene{width:min(620px,100%);justify-self:center}.lab{grid-template-columns:minmax(0,1fr)}.scene--code{width:min(720px,100%);justify-self:center}.contact__list,.profile,.school{grid-template-columns:minmax(0,1fr)}.contact__list{max-width:520px}.layer--scan,.tmux{display:none}.up{inset-block-end:20px}}@media (max-width:640px){:root{--bar:58px}body{font-size:1rem;padding-block-end:76px}.mark{font-size:.8rem}.mark__at,.mark__host{display:none}.top__call{width:40px;min-height:40px;padding:0;font-size:0;gap:0}.top__call svg{width:17px;height:17px}.lang,.status small{display:none}.hero{padding-block-start:calc(var(--bar) + 28px)}.hero__title{font-size:clamp(2.1rem,11vw,2.8rem)}.cta .btn{flex:1 1 100%}.figures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.figures dd{font-size:1.3rem}.figures dt{line-height:1.3}.scene--term{aspect-ratio:auto;height:360px}.scene--term .scene__rig{transform:rotateX(3deg) rotateY(var(--ry, -4deg))}.device--term{height:100%}.term{font-size:.72rem}.abilities,.skills{grid-template-columns:minmax(0,1fr)}.skills__wide{grid-column:auto}.skills__cols{grid-template-columns:minmax(0,1fr)}.scene--code{aspect-ratio:auto;height:400px}.scene--code .scene__rig{transform:rotateX(4deg) rotateY(var(--ry, -6deg))}.device--editor{width:100%;height:100%}.scene{aspect-ratio:1/.9}.float{font-size:.64rem;padding:.45rem .6rem}.figures dt,.float b{font-size:.68rem}.float svg{width:22px;height:22px;padding:4px}.float--b{display:none}.float--a,.project:nth-child(even) .float--a{inset-inline:3%auto;max-width:70%}.project .btn--brand{width:100%;white-space:normal;text-align:center}.track{padding-inline-start:1.7rem}.post{padding:1.1rem 1rem}.post::before{inset-inline-start:calc(-1.7rem + 1px)}.up{display:none}.dock{position:fixed;inset:auto 10px calc(10px + env(safe-area-inset-bottom));z-index:95;display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:6px;border:1px solid var(--line-2);border-radius:14px;background:rgba(10,14,13,.94);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 20px 40px -10px rgba(0,0,0,.9);transform:translateY(140%);transition:transform .4s var(--ease)}.dock.on{transform:none}.dock a{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;border-radius:10px;font-weight:600}.dock a:first-child{background:var(--aurora);color:#05140b}.dock a:last-child{border:1px solid var(--line-2);color:var(--text)}.dock svg{width:17px;height:17px}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}.layer--rain{display:none}}@media print{.carousel,.dock,.hero__next,.horizon,.layer,.progress,.scene,.stage,.tmux,.top,.up{display:none!important}body{background:#fff;color:#000;padding:0}.hero__title{color:#000;text-shadow:none}.hero__title::after{display:none}.band{padding-block:1.5rem}.hero__grid,.lab,.project,.project:nth-child(even){grid-template-columns:1fr;grid-template-areas:"body"}.abilities p,.head__sub,.lab__list dd,.post li,.profile__text p,.project__body>p{color:#222}}.cform{max-width:780px;margin:0 auto 2.4rem;border:1px solid var(--line-2);border-radius:12px;background:var(--deep);text-align:left;overflow:hidden;box-shadow:0 30px 60px -40px rgba(0,0,0,.6)}.cform__bar{display:flex;align-items:center;gap:.45rem;padding:.65rem 1rem;border-bottom:1px solid var(--line);background:var(--panel-2);font:.75rem var(--mono);color:var(--text-3)}.cform__bar i{width:10px;height:10px;border-radius:50%;background:#ff5f57}.cform__bar i:nth-child(2){background:#febc2e}.cform__bar i:nth-child(3){background:#28c840}.cform__bar span{margin-left:.6rem;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cform__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem 1.2rem;padding:clamp(1.2rem,3.4vw,2rem)}.cform__f{display:flex;flex-direction:column;gap:.45rem;min-width:0}.cform__check,.cform__f--wide,.cform__foot,.cform__legal{grid-column:1/-1}.cform__f label{font:600 .8rem var(--mono);letter-spacing:.02em;color:var(--text-2)}.cform__f label small{font-weight:400;color:var(--text-3)}.cform input[type=email],.cform input[type=text],.cform textarea{width:100%;padding:.8rem .95rem;border:1px solid var(--line-2);border-radius:8px;background:var(--panel);color:var(--text);font:1rem/1.5 var(--body);transition:border-color .2s,box-shadow .2s,background-color .2s}.cform textarea{min-height:160px;resize:vertical}.cform ::placeholder{color:var(--text-3);opacity:1}.cform input:hover,.cform textarea:hover{border-color:var(--text-3)}.cform input:focus-visible,.cform textarea:focus-visible{outline:0;border-color:var(--aurora);background:var(--panel-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--aurora) 22%,transparent)}.cform input:user-invalid,.cform textarea:user-invalid{border-color:var(--alert)}.cform__check{display:flex;align-items:flex-start;gap:.75rem;color:var(--text-2);font-size:.93rem;cursor:pointer}.cform__check input{flex:none;width:20px;height:20px;margin:.12rem 0 0;accent-color:var(--aurora);cursor:pointer}.cform__legal{margin:-.3rem 0 0;color:var(--text-3);font-size:.78rem;line-height:1.6}.cform__legal a{color:inherit;text-decoration:underline;text-underline-offset:2px}.cform__foot{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem}.cform__foot .btn{cursor:pointer;font-size:.95rem}.cform__foot .btn:disabled{opacity:.65;cursor:progress}.cform__status{flex:1 1 260px;margin:0;min-height:1.4em;font:.88rem/1.5 var(--mono);color:var(--text-2)}.cform__status.is-ok{color:var(--aurora)}.cform__status.is-ok::before{content:"✓ "}.cform__status.is-err{color:var(--alert)}.cform__hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.cform.is-sent .cform__bar span::after{content:"  ✓ 250 OK";color:var(--aurora)}.contact__or{margin:0 0 1.1rem;text-align:center;color:var(--text-3);font-size:.9rem}@media (max-width:640px){.cform__body{grid-template-columns:minmax(0,1fr)}.cform__foot .btn{width:100%}}.page-brand .cform__f label,.page-brand .cform__status{font-family:var(--body);letter-spacing:0}.page-brand .cform__bar{display:none}.page-brand .cform__f label b,.page-brand .cform__status.is-ok{color:var(--accent-text)}.page-gum .cform__status.is-err,.page-rv .cform__status.is-err{color:#c0263d}.page-gum .cform input:user-invalid,.page-gum .cform textarea:user-invalid,.page-rv .cform input:user-invalid,.page-rv .cform textarea:user-invalid{border-color:#c0263d}.page-gum .cform{border:2px solid var(--navy);border-radius:18px;box-shadow:0 5px 0 var(--navy)}.page-gum .cform input[type=email],.page-gum .cform input[type=text],.page-gum .cform textarea{border-radius:12px}.page-ts .cform{border-radius:14px;background:rgba(12,19,48,.75)}.page-ts .cform__f label,.page-ts .cform__status{font-family:var(--body);letter-spacing:0}.cform{scroll-margin-top:calc(var(--bar) + 1.5rem)}