@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/b886574ba42c3409-s.0s8rfyfnf3ili.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Sora;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/c41ca59f1c34ba31-s.p.2moef4a_pkre2.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Sora Fallback;src:local(Arial);ascent-override:85.29%;descent-override:25.5%;line-gap-override:0.0%;size-adjust:113.73%}.sora_4e38e8f2-module__jjpb1q__className{font-family:Sora,Sora Fallback;font-style:normal}.sora_4e38e8f2-module__jjpb1q__variable{--font-display:"Sora", "Sora Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.1ypl14jhz9yyw.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.2g9li78_0_it5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.00u3xrku2lqty.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.2vepgg3wcdr2q.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.2ttjmmx-9gnz1.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.3259ncl47-hqj.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_11808252-module__BynXhq__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_11808252-module__BynXhq__variable{--font-body:"Manrope", "Manrope Fallback"}
:root{--night:#050b1e;--night-2:#0b1430;--night-3:#131e42;--ink:#e6ecff;--ink-dim:#8290c2;--volt:#22e4ff;--volt-2:#3d5afe;--glow:#22e4ff66;--volt-soft:#22e4ff14;--line:#8290c238;--danger:#ff6b6b;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-hero:clamp(2.6rem, 6.5vw, 5.6rem);--t-title:clamp(1.8rem, 3.4vw, 3rem);--t-lead:clamp(1rem, 1.15vw, 1.15rem);--nav-h:60px;--bar-h:64px;--gutter:clamp(1.25rem, 5vw, 4.5rem);--content:1180px}html[data-theme=light]{--night:#eef1fb;--night-2:#fff;--night-3:#e4e9fa;--ink:#0a1233;--ink-dim:#58628f;--volt:#0b78c8;--volt-2:#3149e0;--glow:#0b78c838;--volt-soft:#0b78c81a;--line:#0a123329;--danger:#c22c2c}*{box-sizing:border-box;-webkit-tap-highlight-color:#0000;margin:0;padding:0;list-style:none}html,body,a,button,input,textarea,.navbar,.barra,.navActions,.skillsSelector,.skillChip,.card,.card__shot,.card__description,.boltLink,.form-group label,.form__counter,.form__feedback,.contact__directTitle,.deckBar,.rail__step,.rail__track,.rail__progress,.credit,.hero__role,.hero__description,.hero__cue,.notFound__code,.notFound__text,.legal__back,.legal__updated,.legal__intro,.legal__section p{transition:background-color .3s,color .3s,border-color .3s}html{background:var(--night);color:var(--ink);overscroll-behavior:none;height:100%;overflow:hidden}body{height:100%;font-family:var(--font-body),system-ui,sans-serif;font-size:1rem;line-height:1.6}h1,h2,h3{font-family:var(--font-display),system-ui,sans-serif;letter-spacing:-.03em;font-weight:700;line-height:1.05}a{color:inherit;cursor:pointer;-webkit-user-drag:none;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}img{max-width:100%}::selection{background:var(--volt);color:var(--night)}:focus-visible{outline:2px solid var(--volt);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.deck{height:calc(100dvh - var(--nav-h) - var(--bar-h));display:flex;overflow:hidden}.panel{height:100%;transform:translateX(calc(var(--deck-step,0) * -100%));padding-inline:var(--gutter);flex:0 0 100%;align-items:flex-start;transition:transform .55s cubic-bezier(.65,0,.35,1);display:flex;overflow:hidden}.panel:focus{outline:none}.panel--projects{flex-direction:column;justify-content:center;padding-inline:0}.panel--projects .panel__inner{padding-inline:var(--gutter);margin:0 auto}.panel--projects .marquee{min-height:0}.panel__inner{width:100%;max-width:var(--content);margin:auto;padding-block:clamp(1.5rem,4vh,3rem)}.panel__title{font-size:var(--t-title);margin-bottom:clamp(1.5rem,3.5vw,2.5rem)}.navbar{z-index:10;height:var(--nav-h);padding-inline:var(--gutter);border-bottom:1px solid var(--line);align-items:center;gap:clamp(.75rem,2.5vw,2rem);display:flex;position:relative}.navbar .logo{font-family:var(--font-display),system-ui,sans-serif;letter-spacing:-.02em;flex-shrink:0;font-size:1.02rem;font-weight:700}.navbar .logo span{color:var(--volt)}.barra{align-items:center;gap:clamp(.5rem,2vw,1.75rem);margin-left:auto;display:flex}.barra a{color:var(--ink-dim);padding:.3em 0;font-size:.95rem;font-weight:600;transition:color .2s}.barra a:hover{color:var(--ink)}.barra a.is-active{color:var(--volt)}.navActions{flex-shrink:0;align-items:center;gap:.3rem;display:flex}.navActions a,.navActions button{color:var(--ink-dim);border-radius:6px;padding:.5rem .6rem;font-size:.82rem;font-weight:600;line-height:1;transition:color .2s,background-color .2s}.navActions a:hover,.navActions button:hover{color:var(--volt);background:var(--night-3)}.panel--hero{position:relative}.waveField{pointer-events:none;width:100%;height:78%;position:absolute;inset:auto 0 -8%}.waveField path{fill:none;stroke:var(--volt);stroke-width:1px;vector-effect:non-scaling-stroke;transform-box:view-box;transform-origin:0 0;animation:26s linear infinite waveDrift}@keyframes waveDrift{to{transform:translate(-500px)}}.hero{z-index:1;max-width:46rem;position:relative}.hero__name{font-size:var(--t-hero);margin-bottom:.6rem}.hero__name span{background:linear-gradient(100deg, var(--volt), var(--volt-2));color:#0000;-webkit-background-clip:text;background-clip:text}.hero__role{color:var(--volt);margin-bottom:1.5rem;font-size:clamp(1.05rem,1.6vw,1.35rem);font-weight:600}.hero__description{font-size:var(--t-lead);color:var(--ink-dim);text-wrap:pretty}.hero__cue{color:var(--volt);align-items:center;gap:.6rem;margin-top:clamp(1.5rem,4vh,2.5rem);font-weight:600;display:inline-flex}.hero__cue span{transition:transform .25s}.hero__cue:hover span{transform:translate(5px)}.skillsSelector{flex-wrap:wrap;gap:.5rem;margin-bottom:clamp(1.5rem,3vw,2.25rem);display:flex}.skillsSelector button{color:var(--ink-dim);border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;font-size:.9rem;font-weight:600;transition:color .2s,border-color .2s,background-color .2s}.skillsSelector button:hover{color:var(--ink)}.skillsSelector button.active{color:var(--volt);border-color:var(--volt);background:var(--night-3)}.skillFlow{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem;display:grid}.skillChip{background:var(--night-2);border:1px solid var(--line);border-radius:10px;align-items:center;gap:.7rem;padding:.85rem 1rem;font-weight:600;transition:opacity .35s,border-color .25s,box-shadow .25s,transform .25s;display:flex}.skillChip img{object-fit:contain;flex-shrink:0;width:24px;height:24px}.skillChip:hover{border-color:var(--volt);box-shadow:0 0 0 1px var(--volt),0 6px 24px -8px var(--glow);transform:translateY(-2px)}.skillChip--dim{opacity:.2;pointer-events:none}.marquee{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y;padding-block:.5rem 1.5rem;overflow:hidden}.marquee:active{cursor:grabbing}.marquee__track{will-change:transform;align-items:stretch;width:max-content;height:100%;display:flex}.cardSet{align-items:stretch;gap:clamp(1rem,2vw,1.75rem);padding-right:clamp(1rem,2vw,1.75rem);display:flex}.card{background:var(--night-2);border:1px solid var(--line);border-radius:14px;flex-direction:column;width:340px;height:100%;transition:border-color .25s,box-shadow .25s,transform .25s;display:flex;overflow:hidden}.card:hover{border-color:var(--volt);box-shadow:0 14px 40px -18px var(--glow);transform:translateY(-4px)}.card__shot{aspect-ratio:16/10;background:var(--night-3);flex-shrink:0;position:relative;overflow:hidden}.card__shot img{object-fit:cover;-webkit-user-select:none;user-select:none}.card__body{flex-direction:column;flex:1;gap:.75rem;min-height:0;padding:1.25rem;display:flex}.card__title{font-size:1.2rem}.card__description{color:var(--ink-dim);scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;font-size:.92rem;overflow-y:auto}.card__description::-webkit-scrollbar{width:0;height:0}.card__tech{align-items:center;gap:.6rem;display:flex}.card__tech img{object-fit:contain;opacity:.6;width:20px;height:20px}.card__links{flex-wrap:wrap;gap:.5rem;display:flex}.boltLink{border:1px solid var(--line);border-radius:8px;justify-content:center;align-items:center;padding:.6rem 1.15rem;font-size:.88rem;font-weight:700;transition:color .2s,border-color .2s,box-shadow .2s,opacity .2s;display:inline-flex}.boltLink:hover:not(:disabled):not([aria-disabled=true]){color:var(--volt);border-color:var(--volt)}.boltLink--solid{color:var(--night);background:linear-gradient(100deg, var(--volt), var(--volt-2));border-color:#0000}.boltLink--solid:hover:not(:disabled):not([aria-disabled=true]){color:var(--night);box-shadow:0 6px 22px -8px var(--glow)}.boltLink:disabled,.boltLink[aria-disabled=true]{opacity:.55;cursor:progress}html[data-theme=light] .boltLink--solid{color:#fff}.contact{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:clamp(1.5rem,4vw,3.5rem);display:grid}.form{flex-direction:column;gap:1.1rem;display:flex}.form__row{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.1rem;display:grid}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group label{color:var(--ink-dim);font-size:.85rem;font-weight:600}.form-group input,.form-group textarea{box-sizing:border-box;width:100%;color:var(--ink);background:var(--night-2);border:1px solid var(--line);border-radius:8px;padding:.75rem .9rem;font-family:inherit;font-size:.98rem;transition:border-color .2s,box-shadow .2s}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--ink-dim);opacity:.65}.form-group input:focus,.form-group textarea:focus{border-color:var(--volt);box-shadow:0 0 0 3px var(--glow);outline:none}.form-group textarea{resize:none;height:120px}.form__field{position:relative}.form__counter{font-family:var(--font-mono),monospace;color:var(--ink-dim);pointer-events:none;font-size:.72rem;position:absolute;bottom:.6rem;right:.75rem}.form__counter--full{color:var(--danger)}.form__feedback{color:var(--volt);font-size:.92rem;font-weight:600}.form__feedback--error{color:var(--danger)}.contact__direct{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.contact__directTitle{color:var(--ink-dim);margin-bottom:.25rem;font-size:.85rem;font-weight:600}.deckBar{height:var(--bar-h);padding-inline:var(--gutter);border-top:1px solid var(--line);align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.rail{flex:1;align-items:center;gap:clamp(1rem,2.5vw,2rem);min-width:0;display:flex}.rail__steps{align-items:center;gap:clamp(.75rem,2vw,1.75rem);display:flex}.rail__step{color:var(--ink-dim);align-items:baseline;gap:.5rem;transition:color .2s;display:flex}.rail__step:hover{color:var(--ink)}.rail__step--active{color:var(--volt)}.rail__index{font-family:var(--font-mono),monospace;opacity:.75;font-size:.72rem}.rail__label{font-size:.88rem;font-weight:600}.rail__track{background:var(--line);border-radius:2px;flex:1;min-width:60px;height:2px;overflow:hidden}.rail__progress{background:linear-gradient(90deg, var(--volt-2), var(--volt));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.credit{color:var(--ink-dim);flex-shrink:0;font-size:.78rem}.credit a{color:var(--ink)}.credit a:hover{color:var(--volt)}html.has-cursorTrail,html.has-cursorTrail *{cursor:none}html.has-cursorTrail input,html.has-cursorTrail textarea{cursor:text}.cursorTrail{z-index:9999;pointer-events:none;position:fixed;inset:0}.cursorTrail__dot,.cursorTrail__ring{will-change:translate,transform;transition:transform .18s,opacity .18s,border-color .18s;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.cursorTrail__dot{background:var(--volt);width:6px;height:6px;box-shadow:0 0 12px var(--glow);border-radius:2px}.cursorTrail__ring{border:1px solid var(--volt);opacity:.45;border-radius:50%;width:30px;height:30px}.cursorTrail--interactive .cursorTrail__ring{opacity:.9;background:var(--volt-soft);transform:translate(-50%,-50%)scale(1.5)}.cursorTrail--interactive .cursorTrail__dot{transform:translate(-50%,-50%)scale(0)}.cursorTrail--draggable .cursorTrail__ring{opacity:.75;transform:translate(-50%,-50%)scale(1.7,.6)}.cursorTrail--pressed .cursorTrail__ring{transform:translate(-50%,-50%)scale(.8)}.cursorTrail--pressed.cursorTrail--interactive .cursorTrail__ring{transform:translate(-50%,-50%)scale(1.2)}.cursorTrail--pressed.cursorTrail--draggable .cursorTrail__ring{transform:translate(-50%,-50%)scale(1.4,.5)}.cursorTrail--away .cursorTrail__dot,.cursorTrail--away .cursorTrail__ring{opacity:0}html[data-theme=light] .cursorTrail__ring{opacity:.6}.logo--onLight,html[data-theme=light] .logo--onDark{filter:invert()}html[data-theme=light] .logo--onLight{filter:none}@media (forced-colors:active){.form-group input:focus,.form-group textarea:focus{outline-offset:2px;outline:2px solid}html.has-cursorTrail,html.has-cursorTrail *{cursor:auto}}.logo--plate{background:#00758f;border-radius:4px;padding:2px}.notFound{height:100dvh;padding-inline:var(--gutter);align-items:center;display:flex;position:relative;overflow:hidden}.notFound__inner{z-index:1;width:100%;max-width:40rem;margin-inline:auto;position:relative}.notFound__code{font-family:var(--font-mono),monospace;color:var(--volt);margin-bottom:.8rem;font-size:clamp(3rem,9vw,5.5rem);font-weight:700;line-height:1}.notFound__code span{color:var(--ink-dim)}.notFound__title{font-size:var(--t-title);margin-bottom:.9rem}.notFound__text{font-size:var(--t-lead);color:var(--ink-dim);text-wrap:pretty;max-width:34rem;margin-bottom:1.9rem}.legal{height:100dvh;padding-inline:var(--gutter);overflow-y:auto}.legal__inner{counter-reset:legal;max-width:46rem;margin-inline:auto;padding-block:clamp(2.5rem,8vh,5rem)}.legal__back{color:var(--ink-dim);align-items:center;gap:.45rem;margin-bottom:2.6rem;font-size:.85rem;font-weight:600;display:inline-flex}.legal__back:hover{color:var(--volt)}.legal__title{font-size:var(--t-title);margin-bottom:.5rem}.legal__updated{font-family:var(--font-mono),monospace;color:var(--ink-dim);margin-bottom:1.7rem;font-size:.78rem}.legal__intro{font-size:var(--t-lead);color:var(--ink-dim);text-wrap:pretty;border-bottom:1px solid var(--line);padding-bottom:2rem}.legal__section{padding-top:2.2rem}.legal__section h2{counter-increment:legal;margin-bottom:.9rem;font-size:1.15rem}.legal__section h2:before{content:counter(legal) ". ";font-family:var(--font-mono),monospace;color:var(--volt);font-size:.9em}.legal__section p{color:var(--ink-dim);text-wrap:pretty}.legal__section p+p{margin-top:.85rem}@media (max-width:899px){html{overscroll-behavior:auto;height:auto;overflow:visible}body{height:auto}.notFound{height:auto;min-height:100dvh}.legal{height:auto;overflow:visible}.deck{height:auto;display:block;overflow:visible}.panel{height:auto;scroll-margin-top:var(--nav-h);padding-block:clamp(3rem,9vw,5rem);transition:none;overflow:visible;transform:none}.panel--hero{min-height:78dvh}.navbar{background:var(--night);flex-wrap:wrap;row-gap:.4rem;height:auto;padding-block:.6rem;position:sticky;top:0}.barra{order:10;justify-content:space-between;width:100%;margin-left:0}.navActions{margin-left:auto}.rail__steps,.rail__track{display:none}.deckBar{justify-content:center;height:auto;padding-block:1.25rem}.contact{grid-template-columns:1fr}}@media (min-width:900px) and (max-width:1150px){.rail__label{display:none}}@media (min-width:900px) and (max-height:760px){:root{--nav-h:52px;--bar-h:52px}.panel__inner{padding-block:.75rem}.panel__title,.skillsSelector{margin-bottom:1rem}.form,.form__row{gap:.8rem}.form-group textarea{height:90px}}@media (max-width:560px){.skillFlow{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.card{width:270px}}@media (prefers-reduced-motion:reduce){.waveField path{animation:none}.panel,.card,.skillChip,.hero__cue span,.cursorTrail__dot,.cursorTrail__ring{transition:none}}
