:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#05020a;--glow:#2a0a4a;--surface:#120b1c;--surface-raised:#38333f;--line:#c084fc2e;--outline-word:#cbbee029;--purple-600:#7c3aed;--purple-400:#c084fc;--magenta:#f0409c;--blue:#4f7cff;--orange:#ffae7a;--text:#f6f2fb;--text-muted:#b9aecb;--danger:#ff8fa3;--font-display:"Michroma", "Orbitron", sans-serif;--font-body:"Montserrat", system-ui, sans-serif;--text-xs:.75rem;--text-sm:.875rem;--text-md:clamp(1rem, .96rem + .2vw, 1.125rem);--text-lg:clamp(1.25rem, 1.1rem + .7vw, 1.75rem);--text-xl:clamp(1.5rem, 1.2rem + 1.4vw, 2.5rem);--text-hero:clamp(2.5rem, 6.4vw, 6rem);--text-outline:clamp(2.75rem, 10.5vw, 12rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--space-section:clamp(5rem, 12vw, 10rem);--gutter:clamp(1rem, 6vw, 6rem);--glass-light:#1e142c8c;--glass-dark:#0e0816b8;--glass-edge:#ffffff24;--glass-edge-lit:#ffffff52;--glass-field-edge:#ffffff6b;--glass-blur:22px;--radius-sm:.5rem;--radius-md:1rem;--radius-pill:999px;--shadow-raised:0 12px 32px #00000073;--duration-fast:.15s;--duration-base:.3s;--duration-spin:14s;--duration-reveal:.9s;--duration-glow:24s;--ease-out:cubic-bezier(.16, 1, .3, 1);--nav-height:3.5rem;--content-width:76rem;--measure:68ch}@font-face{font-family:Michroma;src:url(/fonts/michroma-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/fonts/montserrat-latin-wght-normal.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}*,:before,:after{box-sizing:border-box}*{margin:0}ul,ol{padding:0;list-style:none}svg,canvas{display:block}[hidden]{display:none}input,textarea,button{font:inherit;color:inherit}a{color:inherit}html{background:var(--bg);scrollbar-color:var(--purple-600) var(--bg);scroll-padding-top:calc(var(--nav-height) + var(--space-5))}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:radial-gradient(60vw 50vw at 85% 12%, var(--glow), transparent 70%), radial-gradient(55vw 45vw at 8% 45%, var(--glow), transparent 70%), radial-gradient(60vw 50vw at 90% 85%, var(--glow), transparent 70%), var(--bg);min-height:100svh;color:var(--text);font-family:var(--font-body);font-size:var(--text-md);-webkit-font-smoothing:antialiased;line-height:1.7;overflow-x:clip}h1,h2,h3{text-wrap:balance;line-height:1.15}::selection{background:var(--magenta);color:var(--bg)}input,textarea{caret-color:var(--magenta)}:focus-visible{outline:2px solid var(--purple-400);outline-offset:3px;border-radius:var(--radius-sm)}.skip-link{top:var(--space-2);left:var(--space-2);z-index:100;padding:var(--space-2) var(--space-4);background:var(--text);color:var(--bg);border-radius:var(--radius-sm);position:fixed;transform:translateY(-200%)}.skip-link:focus{transform:none}.section{isolation:isolate;padding:var(--space-section) var(--gutter);position:relative;overflow-x:clip}.section__inner{max-width:var(--content-width);margin-inline:auto}.section__title{margin-bottom:var(--space-6);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;font-weight:400}.hero{min-height:100svh;padding-top:calc(var(--nav-height) + var(--space-7));padding-bottom:var(--space-6);grid-template-rows:1fr auto;display:grid}.hero__content{width:100%;max-width:var(--content-width);align-self:center;margin-inline:auto}.hero__intro{font-family:var(--font-display);font-size:var(--text-lg)}.hero__name{text-shadow:0 2px 24px #05020a8c;margin-bottom:var(--space-4);font-family:var(--font-display);font-size:var(--text-hero);font-weight:400}.hero__tagline{max-width:34ch;margin-bottom:var(--space-6);color:var(--text-muted)}.hero__actions{gap:var(--space-4);flex-wrap:wrap;display:flex}.hero__footer{width:100%;max-width:var(--content-width);grid-template-columns:1fr auto 1fr;align-items:center;margin-inline:auto;display:grid}.about__grid{gap:var(--space-8);grid-template-columns:minmax(0,5fr) minmax(0,6fr);align-items:center;padding-left:11vw;display:grid}.portrait{aspect-ratio:5/6;touch-action:pan-y;width:100%;max-width:24rem;margin-inline:auto}.about__text{max-width:var(--measure);margin-bottom:var(--space-6)}.about__age{min-height:1lh;margin-bottom:var(--space-6);font-family:var(--font-display);font-size:var(--text-sm);color:var(--purple-400);font-variant-numeric:tabular-nums}.skills__grid{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skills__heading{margin-bottom:var(--space-5);font-size:var(--text-lg);font-weight:600}.projects__grid{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));display:grid}.guestbook__grid{gap:var(--space-8);grid-template-columns:minmax(0,2fr) minmax(0,3fr);display:grid}.contact__list{max-width:40rem}.footer{justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--gutter);border-top:1px solid var(--line);color:var(--text-muted);font-size:var(--text-sm);flex-wrap:wrap;display:flex}@media (max-width:60rem){.about__grid{padding-left:0}.about__grid,.skills__grid,.guestbook__grid{gap:var(--space-7);grid-template-columns:minmax(0,1fr)}}@media (max-width:40rem){.hero__content{padding-bottom:var(--space-5);align-self:end}.hero__footer{grid-template-columns:1fr auto}}.nav{top:var(--space-4);z-index:50;justify-content:space-between;align-items:center;gap:var(--space-5);width:min(100% - 2rem,68rem);height:var(--nav-height);padding-inline:var(--space-5);border:1px solid var(--line);border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#282232b3;display:flex;position:fixed;left:50%;transform:translate(-50%)}.nav__logo{align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--text-sm);text-decoration:none;display:flex}.nav__logo-mark{border:3px solid var(--magenta);border-radius:50%;width:.9rem;height:.9rem}.nav__links{gap:var(--space-5);width:auto;height:auto;color:inherit;background:0 0;border:0;padding:0;display:flex;position:static;overflow:visible}.nav__link{padding-block:var(--space-2);font-size:var(--text-sm);font-weight:500;text-decoration:none;display:block;position:relative}.nav__link:after{content:"";background:var(--magenta);height:2px;transition:transform var(--duration-base) var(--ease-out);position:absolute;inset:auto 0 0;transform:scaleX(0)}.nav__link:hover:after,.nav__link[aria-current]:after{transform:scaleX(1)}.nav__tools{align-items:center;gap:var(--space-2);display:flex}.nav__lang{min-height:2.75rem;padding:var(--space-1) var(--space-3);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--text-xs);cursor:pointer;background:0 0;font-weight:600}.nav__lang span{color:var(--text-muted)}html[lang=en] .nav__lang-en,html[lang=pt-BR] .nav__lang-pt{color:var(--text)}.nav__toggle{cursor:pointer;background:0 0;border:0;place-items:center;width:2.75rem;height:2.75rem;display:none}@media (max-width:60rem){.nav__toggle{display:grid}.nav__links{inset:calc(var(--nav-height) + var(--space-6)) var(--space-4) auto;padding:var(--space-5);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);margin:0;display:none;position:fixed}.nav__links:popover-open{gap:var(--space-2);display:grid}.nav__links .nav__link{padding-block:var(--space-3);width:-moz-fit-content;width:fit-content;font-size:var(--text-md)}}.rail{top:50%;right:var(--space-5);z-index:40;position:fixed;transform:translateY(-50%)}.rail__link{padding:var(--space-2);color:var(--text-muted);font-family:var(--font-display);font-size:var(--text-xs);text-align:right;transition:color var(--duration-fast);text-decoration:none;display:block}.rail__link:hover,.rail__link[aria-current]{color:var(--text)}.rail__link[aria-current]{text-decoration:underline;-webkit-text-decoration-color:var(--magenta);text-decoration-color:var(--magenta);text-underline-offset:.4em}.rail__name{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (max-width:75rem){.rail{display:none}}.icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.pill{align-items:center;gap:var(--space-4);min-height:3rem;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-5);background:var(--surface-raised);border-radius:var(--radius-pill);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-base) var(--ease-out);border:0;font-weight:600;text-decoration:none;display:inline-flex}.pill__icon{background:var(--text);width:2.5rem;height:2.5rem;color:var(--bg);transition:transform var(--duration-base) var(--ease-out);border-radius:50%;place-items:center;display:grid}.pill:hover{background:var(--purple-600)}.pill:hover .pill__icon{transform:translate(3px)}.pill:disabled{background:var(--surface);color:var(--text-muted);cursor:not-allowed}.pill:disabled .pill__icon{background:var(--text-muted);transform:none}.outline-word{top:calc(var(--space-section) - var(--text-outline) * .7);left:var(--gutter);z-index:-1;color:#0000;font-family:var(--font-display);font-size:var(--text-outline);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-text-stroke:1px var(--outline-word);line-height:1;position:absolute}.outline-word--end{right:var(--gutter);left:auto}.blob-fallback{z-index:-1;aspect-ratio:1;background:radial-gradient(circle at 70% 75%, var(--orange), transparent 32%), radial-gradient(circle at 30% 30%, var(--magenta), transparent 55%), radial-gradient(circle at 65% 40%, var(--blue), transparent 60%), var(--purple-600);border-radius:58% 42% 55% 45%/46% 60% 40% 54%;position:absolute;box-shadow:0 40px 120px #7c3aed73}.blob-fallback--hero{width:clamp(16rem,42vw,40rem);top:14%;right:4%}.blob-fallback--about{opacity:.8;width:30vw;top:22%;left:-14vw}@media (max-width:40rem){.blob-fallback--hero{top:calc(var(--nav-height) + var(--space-6));width:72vw;right:-12%}.blob-fallback--about{top:var(--space-6);width:60vw;left:-30vw}}.socials{gap:var(--space-2);display:flex}.socials a{width:2.75rem;height:2.75rem;transition:color var(--duration-fast);border-radius:50%;place-items:center;display:grid}.socials a:hover{color:var(--purple-400)}.scroll-cue{place-items:center;width:6rem;height:6rem;display:grid;position:relative}.scroll-cue__ring{fill:var(--text-muted);letter-spacing:.08em;font-size:8.4px;font-weight:600;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.scroll-cue__ring{animation:spin var(--duration-spin) linear infinite}}@keyframes spin{to{transform:rotate(1turn)}}.facts{column-gap:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.facts li{padding-block:var(--space-2);border-top:1px solid var(--line);font-size:var(--text-sm)}.tags{gap:var(--space-3);flex-wrap:wrap;display:flex}.tags li{padding:var(--space-2) var(--space-4);border:1px solid var(--line);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:500}.areas li{padding-block:var(--space-4);border-top:1px solid var(--line);font-size:var(--text-lg)}.field{margin-bottom:var(--space-5)}.field__head{margin-bottom:var(--space-2);font-size:var(--text-sm);justify-content:space-between;font-weight:600;display:flex}.field__count{color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:400}.field__input{width:100%;padding:var(--space-3) var(--space-4);border-color:var(--glass-field-edge);transition:border-color var(--duration-fast);display:block}.field__input:hover{border-color:var(--purple-400)}.field__input::placeholder{color:var(--text-muted)}textarea.field__input{resize:vertical;min-height:7rem}.captcha-slot{min-height:65px;margin-bottom:var(--space-5)}.guestbook__empty{padding-block:var(--space-5);border-block:1px solid var(--line);color:var(--text-muted)}.contact__item{align-items:center;gap:var(--space-4);padding-block:var(--space-4);border-top:1px solid var(--line);display:flex}.contact__link{align-items:center;gap:var(--space-4);overflow-wrap:anywhere;min-width:0;transition:color var(--duration-fast);flex:1;text-decoration:none;display:flex}.contact__link:hover{color:var(--purple-400)}.contact__copy{min-height:2.75rem;padding:var(--space-2) var(--space-4);background:var(--surface-raised);border-radius:var(--radius-pill);font-size:var(--text-xs);cursor:pointer;border:0;font-weight:600}.field--trap{position:absolute;left:-9999px}.guestbook__status{min-height:1lh;margin-top:var(--space-4);color:var(--purple-400);font-size:var(--text-sm)}.guestbook__status--error{color:var(--danger)}.guestbook__list{border-top:1px solid var(--line);max-height:30rem;overflow-y:auto}.guestbook__entry{padding-block:var(--space-3);border-bottom:1px solid var(--line);font-size:var(--text-sm);overflow-wrap:anywhere}.guestbook__date{color:var(--text-muted);font-variant-numeric:tabular-nums}.glass{background:linear-gradient(135deg, var(--glass-light), var(--glass-dark));border:1px solid var(--glass-edge);border-top-color:var(--glass-edge-lit);border-radius:var(--radius-md);box-shadow:var(--shadow-raised), inset 0 1px 0 var(--glass-edge);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(140%);backdrop-filter:blur(var(--glass-blur)) saturate(140%)}.section--orbs:before,.section--orbs:after{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(circle at 32% 28%, var(--purple-400), var(--purple-600) 42%, var(--glow) 100%);border-radius:50%;position:absolute;box-shadow:0 30px 80px #7c3aed4d}.section--orbs:before{top:var(--orb-a-top);left:var(--orb-a-left);width:var(--orb-a-size)}.section--orbs:after{top:var(--orb-b-top);left:var(--orb-b-left);width:var(--orb-b-size)}#skills{--orb-a-top:30%;--orb-a-left:4%;--orb-a-size:clamp(7rem, 16vw, 15rem);--orb-b-top:58%;--orb-b-left:38%;--orb-b-size:clamp(5rem, 9vw, 9rem)}#projects{--orb-a-top:26%;--orb-a-left:62%;--orb-a-size:clamp(8rem, 20vw, 19rem);--orb-b-top:48%;--orb-b-left:12%;--orb-b-size:clamp(6rem, 12vw, 11rem)}#guestbook{--orb-a-top:24%;--orb-a-left:26%;--orb-a-size:clamp(7rem, 15vw, 14rem);--orb-b-top:58%;--orb-b-left:2%;--orb-b-size:clamp(6rem, 11vw, 10rem)}.skills__panel{padding:var(--space-6)}.skeleton{height:11rem}.project-card{gap:var(--space-3);padding:var(--space-5);flex-direction:column;display:flex}.project-card__name{font-size:var(--text-lg);overflow-wrap:anywhere;font-weight:600}.project-card__description{color:var(--text-muted);font-size:var(--text-sm);flex:1}.project-card__tech{color:var(--purple-400);font-size:var(--text-xs);font-weight:600}.project-card__link{width:-moz-fit-content;width:fit-content;padding-block:var(--space-2);font-size:var(--text-sm);-webkit-text-decoration-color:var(--magenta);text-decoration-color:var(--magenta);text-underline-offset:.3em;font-weight:600}body:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(35% 30% at 30% 35%,#7c3aed29,#0000 70%),radial-gradient(30% 28% at 72% 65%,#f0409c17,#0000 70%);position:fixed;inset:-20%}@media (prefers-reduced-motion:no-preference){body:before{animation:glow-drift var(--duration-glow) ease-in-out infinite alternate}}@keyframes glow-drift{to{transform:translate(8%,-6%)scale(1.1)}}.blob-canvas{z-index:0;opacity:0;pointer-events:none;width:100%;height:100%;transition:opacity var(--duration-reveal) var(--ease-out);position:fixed;inset:0}main,.footer{z-index:1;position:relative}.blobs-ready .blob-canvas{opacity:1}.blobs-ready .blob-fallback{visibility:hidden}
