@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;650;700;750;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#f6f6f6;background:#0a0a0a;font-synthesis:none;--muted:#999;--border:#272727}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:112px}body{margin:0}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a,button{transition:background .2s,color .2s,border-color .2s,transform .2s}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3,.brand{font-family:Manrope,sans-serif}svg{flex-shrink:0}::selection{background:#fff;color:#111}.container{width:min(1200px,calc(100% - 96px));margin:auto}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:20px;top:-80px;background:#fff;color:#000;z-index:100;padding:15px}.skip-link:focus{top:10px}.header{position:sticky;top:0;z-index:30;background:#0a0a0ae8;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;height:92px;border-bottom:1px solid #232323}.brand{font-size:27px;letter-spacing:-1.6px;font-weight:800;display:flex}.brand-mark{display:none}.brand-dot{color:#777}.nav-links{display:flex;gap:23px;color:#999;font-size:12px}.nav-links a{position:relative;padding:20px 0}.nav-links a:hover,.nav-links a[aria-current]{color:#fff}.nav-links a[aria-current]:after{content:"";position:absolute;bottom:9px;left:0;right:0;height:1px;background:#fff}.nav-cta{display:flex;align-items:center;gap:12px;padding:12px 15px;border:1px solid #3a3a3a;border-radius:7px;font-size:11px}.nav-cta:hover{background:#fff;color:#111}.menu-toggle{display:none;background:none;color:#fff;border:0;padding:8px}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:45px;padding-top:78px;padding-bottom:35px;align-items:center}.hero-topline{font-size:11px;color:#aaa;display:flex;align-items:center;gap:9px;margin-bottom:30px}.identity-dot{height:6px;width:6px;background:#ddd;border-radius:50%;box-shadow:0 0 0 4px #ffffff0d}.hero h1{font-size:clamp(42px,5.5vw,76px);letter-spacing:-3.8px;line-height:1.13;font-weight:750}.outline-word{color:#969696}.hero-content>p{max-width:405px;font-size:14px;line-height:1.85;color:#aaa;margin-top:24px}.hero-actions{display:flex;align-items:center;gap:25px;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:24px;border-radius:7px;padding:15px 20px;font-size:12px;font-weight:600}.primary{background:#f3f3f3;color:#111;border:1px solid #f3f3f3}.primary:hover{background:#ccc;transform:translateY(-2px)}.hero-contact{font-size:12px;display:flex;gap:10px;align-items:center}.hero-contact:hover{color:#999}.hero-github{display:inline-flex;align-items:center;gap:8px;color:#818181;font:10px Consolas,monospace;margin-top:28px}.hero-github:hover{color:#eee}.hero-showcase{min-width:0;position:relative;border:1px solid #343434;border-radius:16px;background:#141414;padding:18px;box-shadow:0 25px 65px #0005;transform:rotate(2deg);animation:showcase-enter .7s ease both}.hero-showcase:hover{transform:rotate(0);transition:transform .35s}.showcase-top{display:flex;justify-content:space-between;color:#aaa;font:8px Consolas,monospace;letter-spacing:1px;padding:3px 1px 16px}.showcase-link{display:block}.showcase-image{overflow:hidden;aspect-ratio:1.55;background:#1b1b1b;border:1px solid #303030;border-radius:8px;animation:fade-in .35s ease both}.showcase-image img{display:block;object-fit:cover;width:100%;height:100%;filter:grayscale(1);transition:transform .5s}.showcase-link:hover img{transform:scale(1.035)}.showcase-caption{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 2px 8px}.showcase-caption small{color:#999;font:8px Consolas,monospace;letter-spacing:1px}.showcase-caption h2{font-size:21px;font-weight:600;letter-spacing:-.6px;margin-top:8px}.round-arrow{display:grid;place-content:center;width:43px;height:43px;border:1px solid #4a4a4a;border-radius:50%}.showcase-link:hover .round-arrow{background:#fff;color:#111}.showcase-controls{display:flex;gap:7px;padding:12px 0 0}.showcase-controls button{height:24px;width:37px;display:grid;place-items:center;background:none;border:0;padding:0}.showcase-controls button span{height:3px;width:100%;background:#464646;border-radius:2px}.showcase-controls button[aria-pressed=true] span{background:#eee}.hero-bottom{grid-column:1/-1;border-top:1px solid #292929;margin-top:23px;padding-top:25px;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:#8a8a8a}.hero-bottom>a{display:flex;align-items:center;gap:11px}.hero-bottom>div{display:flex;gap:23px;font:10px Consolas,monospace}.section{padding:75px 0}.eyebrow{font:9px Consolas,monospace;letter-spacing:1.4px;color:#aaa;display:flex;align-items:center;gap:13px}.eyebrow>span:first-child{color:#777}.section-heading h2{font-size:39px;letter-spacing:-1.5px;line-height:1.25;font-weight:650;margin-top:15px}.section-heading>p{font-size:13px;color:#999;line-height:1.85;max-width:540px;margin-top:15px}.projects-section{background:#0e0e0e;border-top:1px solid #202020;border-bottom:1px solid #222}.projects-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0 25px}.filters{display:flex;gap:7px}.filters button{background:none;border:1px solid #303030;color:#aaa;border-radius:6px;font-size:11px;padding:9px 15px}.filters button[aria-pressed=true]{background:#eee;border-color:#eee;color:#111}.filters button:hover{border-color:#888}.project-count{font:9px Consolas,monospace;color:#888}.projects-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:27px}.project-card{border:1px solid #292929;border-radius:12px;overflow:hidden;background:#141414;transition:transform .25s,border-color .25s;animation:card-enter .4s both}.project-card:hover{transform:translateY(-5px);border-color:#626262}.project-image{position:relative;aspect-ratio:1.85;overflow:hidden;background:#191919;border-bottom:1px solid #292929}.project-image img{width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1);transition:transform .5s}.project-card:hover .project-image img{transform:scale(1.04)}.preview-badge{position:absolute;top:16px;left:17px;background:#121212db;border:1px solid #545454;color:#ccc;border-radius:4px;padding:5px 8px;font:8px Consolas,monospace;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.project-body{padding:25px}.micro-label{font:8px Consolas,monospace;letter-spacing:.8px;color:#888}.project-body>.micro-label{display:none}.project-body h3{font-size:23px;font-weight:600;letter-spacing:-.6px}.project-body p{font-size:12px;line-height:1.85;color:#999;max-width:470px;margin-top:12px;min-height:45px}.tech-tags{display:flex;flex-wrap:wrap;gap:6px;margin:19px 0}.tech-tags>span{background:#202020;border:1px solid #333;color:#bbb;padding:5px 7px;font:8px Consolas,monospace;border-radius:4px}.project-links{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #2b2b2b;padding-top:17px;font-size:10px;color:#aaa}.project-links>a,.project-links>span{display:flex;align-items:center;gap:8px}.project-links>a:hover{color:#fff}.about-layout{display:grid;grid-template-columns:1fr 1.7fr;gap:70px;margin-top:35px}.about-monogram{align-self:start;border:1px solid #303030;border-radius:10px;background:#131313;padding:25px;font:10px/1.8 Consolas,monospace;color:#999}.about-monogram>span{display:block;color:#ddd;font-size:9px;letter-spacing:1px;margin-bottom:20px}.about-monogram small{font:inherit;display:block;padding:13px 0;border-top:1px solid #2a2a2a}.about-copy>p{font-size:13px;line-height:1.9;color:#999;margin-bottom:16px}.about-copy>.lead{font-size:23px;color:#eee;line-height:1.5;letter-spacing:-.5px;margin-bottom:23px}.lead>span{color:#999}.about-foot{display:flex;justify-content:space-between;gap:20px;padding-top:21px;border-top:1px solid #292929;margin-top:24px;font-size:10px}.about-foot>a,.about-foot>span{display:flex;align-items:center;gap:8px}.about-foot>span{color:#999}.skills-section{background:#101010;border-top:1px solid #252525;border-bottom:1px solid #252525}.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-top:33px}.skill-card{padding:22px;background:#171717;border:1px solid #303030;border-radius:9px;transition:border-color .2s,transform .2s}.skill-card:hover{border-color:#666;transform:translateY(-3px)}.skill-top{display:flex;align-items:center;min-height:80px;margin-bottom:20px}.tech-logo{display:block;width:64px;height:64px;object-fit:contain;filter:grayscale(1) brightness(1.7);transition:transform .3s ease}.skill-card:hover .tech-logo{transform:translateY(-3px) rotate(-4deg)}.skill-card h3{font-size:17px;font-weight:600;margin-bottom:8px}.skill-card p{font-size:11px;line-height:1.8;color:#999;margin-top:13px}.skill-card .micro-label{font-size:8px}.learning-note{font-size:10px;color:#888;margin-top:23px}.status-dot{display:none}.section-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:25px}.text-link{display:flex;align-items:center;gap:13px;font-size:11px;white-space:nowrap}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:33px}.service-card{padding:25px;background:#131313;border:1px solid #2a2a2a;border-radius:9px;transition:background .2s,border-color .2s}.service-card:hover{background:#1b1b1b;border-color:#555}.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;color:#bbb}.service-top>span{font:9px Consolas,monospace;color:#777}.service-card h3{font-size:17px;font-weight:600;letter-spacing:-.4px}.service-card p{font-size:12px;line-height:1.85;color:#999;margin:13px 0 22px;min-height:66px}.service-card>.micro-label{font-size:7px}#contato{padding-top:30px}.contact-panel{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;padding:45px;background:#ebebeb;border-radius:13px;color:#101010}.contact-content .eyebrow{color:#666}.contact-content h2{font-size:45px;font-weight:650;line-height:1.2;letter-spacing:-1.8px;margin:23px 0 20px}.contact-content h2>span{color:#777}.contact-content p{font-size:12px;line-height:1.85;color:#5c5c5c;max-width:350px}.contact-links{align-self:center}.contact-link{display:flex;align-items:center;gap:15px;padding:17px 0;border:0;border-bottom:1px solid #bdbdbd;background:none;width:100%;color:#222;text-align:left}.contact-link:hover{color:#777}.contact-link>span:not(.sr-only){flex:1;min-width:0}.contact-link small{font:8px Consolas,monospace;letter-spacing:1px;display:block;color:#666;margin-bottom:6px}.contact-link strong{font-size:14px;font-weight:500;overflow-wrap:anywhere}.contact-link>svg{width:20px}.copy-status{font-size:9px;color:#666;padding-top:7px;min-height:20px}.email-pending{opacity:.65}.pending-dot{display:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:27px 0 35px;border-top:1px solid #252525}.footer>.brand{font-size:22px}.footer>span{font-size:9px;color:#888}.back-top{display:flex;align-items:center;gap:10px;font-size:10px}.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.hero-content{animation:card-enter .65s ease both}@keyframes card-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes showcase-enter{0%{opacity:0;transform:rotate(0) translateY(20px)}to{opacity:1;transform:rotate(2deg) translateY(0)}}@keyframes fade-in{0%{opacity:.2}to{opacity:1}}@media(max-width:1100px){.container{width:calc(100% - 64px)}.nav-links{gap:17px}.nav-cta{display:none}.hero{gap:30px;padding-top:58px}.hero h1{font-size:58px;letter-spacing:-3px}.hero-content>p{font-size:13px}.hero-showcase{padding:14px}.showcase-caption h2{font-size:19px}.contact-panel{gap:35px;padding:35px}.contact-content h2{font-size:39px}.section-heading h2{font-size:35px}.service-card{padding:22px}}@media(max-width:800px){.container{width:calc(100% - 48px)}.nav-inner{height:78px}.nav-links{gap:15px;font-size:11px}.hero{grid-template-columns:1fr;gap:38px;padding-top:50px}.hero h1{font-size:70px;letter-spacing:-3.5px}.hero-content>p{max-width:470px}.hero-showcase{width:min(510px,92%);justify-self:center}.showcase-image{aspect-ratio:1.85}.hero-bottom{margin-top:5px}.section{padding:60px 0}.projects-grid{gap:18px}.project-body{padding:21px}.project-body h3{font-size:20px}.project-body p{min-height:66px;font-size:11px}.about-layout{grid-template-columns:.9fr 1.5fr;gap:30px}.about-foot{flex-wrap:wrap;gap:13px}.about-copy>.lead{font-size:20px}.skills-grid,.services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-panel{grid-template-columns:1fr;gap:25px}.contact-links{max-width:550px;width:100%}.contact-content h2{font-size:46px}.footer{flex-wrap:wrap}.footer>span{order:3;width:100%}}@media(max-width:600px){.container{width:calc(100% - 40px)}.nav-inner{height:70px}.brand{font-size:25px}.menu-toggle{display:flex}.nav-links{display:none;position:absolute;left:20px;right:20px;top:69px;border:1px solid #383838;border-radius:8px;background:#141414;padding:15px 20px;box-shadow:0 20px 40px #000a}.nav-links.open{display:flex;flex-direction:column;gap:0}.nav-links a{padding:13px 0;font-size:14px}.nav-links a[aria-current]:after{right:auto;width:20px;bottom:9px}.hero{padding-top:39px;padding-bottom:27px;gap:34px}.hero-topline{font-size:10px;margin-bottom:25px}.hero h1{font-size:clamp(38px,10.3vw,59px);letter-spacing:-2px;line-height:1.15}.hero-content>p{font-size:12px;margin-top:21px;line-height:1.85}.hero-actions{gap:22px;margin-top:25px}.button{font-size:11px;padding:14px 15px;gap:15px}.hero-contact{font-size:11px;gap:8px}.hero-github{font-size:9px;margin-top:23px}.hero-showcase{width:96%;padding:13px;border-radius:11px}.showcase-top{font-size:7px;padding-bottom:12px}.showcase-caption{padding:17px 1px 4px}.showcase-caption h2{font-size:18px}.showcase-caption small{font-size:7px}.round-arrow{width:36px;height:36px}.showcase-controls{padding-top:8px}.hero-bottom{gap:20px;align-items:flex-start;flex-direction:column;font-size:9px;margin-top:2px;padding-top:21px}.hero-bottom>div{font-size:9px;gap:15px}.hero-bottom>div span+span:before{margin-right:15px}.section{padding:49px 0}.section-heading h2{font-size:30px;letter-spacing:-1px}.section-heading>p{font-size:12px;line-height:1.8}.eyebrow{font-size:8px;letter-spacing:1px}.projects-toolbar{margin:24px 0 20px}.filters{gap:5px}.filters button{padding:8px 13px;font-size:10px}.project-count{font-size:8px}.projects-grid{grid-template-columns:1fr;gap:22px}.project-image{aspect-ratio:1.7}.project-body{padding:22px}.project-body h3{font-size:22px}.project-body p{min-height:0;font-size:12px}.about-layout{grid-template-columns:1fr;gap:25px;margin-top:26px}.about-monogram{padding:23px}.about-monogram small{padding:9px 0}.about-copy>.lead{font-size:21px}.about-copy>p{font-size:12px}.skills-grid{gap:10px;margin-top:25px}.skill-card{padding:18px 14px}.skill-card h3{font-size:16px}.skill-card .micro-label{font-size:7px;letter-spacing:.3px}.skill-card p{font-size:10px}.skill-top{min-height:68px;margin-bottom:20px}.tech-logo{width:54px;height:54px}.section-intro{align-items:flex-start;flex-direction:column;gap:22px}.services-grid{grid-template-columns:1fr;margin-top:25px;gap:12px}.service-card{padding:23px}.service-top{margin-bottom:19px}.service-card h3{font-size:19px}.service-card p{min-height:0}.service-card>.micro-label{font-size:7px}.contact-panel{padding:28px 24px;border-radius:10px}.contact-content h2{font-size:36px;letter-spacing:-1.3px;margin-top:20px}.contact-content p{font-size:12px}.contact-link strong{font-size:13px}.footer{padding:25px 0;gap:20px}.footer>span{font-size:8px}.back-top{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.hero-showcase{transform:none}}.showcase-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:8px}.showcase-bottom .showcase-controls{padding:0}.autoplay-toggle{display:flex;align-items:center;gap:6px;font-size:9px;color:#aaa;border:1px solid #3a3a3a;background:#191919;border-radius:5px;padding:6px 9px}.autoplay-toggle:hover{color:#fff;border-color:#888}.showcase-controls button span{position:relative;overflow:hidden}.showcase-controls[data-playing=true] button[aria-pressed=true] span{background:#555}.showcase-controls[data-playing=true] button[aria-pressed=true] span:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#eee;transform-origin:left;animation:slide-progress 6s linear both}.project-status{display:inline-flex;align-items:center;gap:6px;border:1px solid #444;background:#222;color:#c7c7c7;font-size:9px;padding:5px 8px;border-radius:4px;margin-top:11px}.project-status>span{height:5px;width:5px;border-radius:50%;background:#888}@keyframes slide-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media(prefers-reduced-motion:reduce){.showcase-controls[data-playing=true] button[aria-pressed=true] span:after{animation:none}}.profile-avatar{display:block;width:44px;height:44px;object-fit:cover;border-radius:50%;border:1px solid #555;flex-shrink:0}.hero-topline{gap:12px}.hero-topline>div{display:flex;flex-direction:column;gap:5px}.hero-topline strong{font-size:13px;font-weight:600;color:#eee}.hero-topline>div>span{font-size:10px;color:#999}.contact-profile{display:flex;gap:13px;align-items:center;margin-bottom:10px;padding-bottom:15px;border-bottom:1px solid #bdbdbd}.contact-profile .profile-avatar{width:56px;height:56px;border-color:#aaa}.contact-profile>div{display:flex;flex-direction:column;gap:5px}.contact-profile strong{font-size:16px;font-weight:600}.contact-profile>div>span{font-size:11px;color:#666}.hero{position:relative;isolation:isolate;overflow:clip}.hero:before{content:"";position:absolute;z-index:-1;pointer-events:none;width:540px;height:540px;right:-170px;top:-120px;border-radius:50%;background:radial-gradient(circle,#ffffff0a,transparent 66%);animation:ambient-drift 13s ease-in-out infinite alternate}.hero h1{animation:headline-arrive .9s cubic-bezier(.2,.7,.3,1) both}.outline-word{background:linear-gradient(110deg,#777 20%,#dedede,#888 60%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:title-light 9s ease-in-out infinite}.hero-showcase{animation:showcase-enter .7s ease both,showcase-float 6s ease-in-out .7s infinite}.hero-showcase:hover,.hero-showcase:focus-within{animation-play-state:paused}.hero-bottom>a>svg{animation:scroll-nudge 2.5s ease-in-out infinite}.hero-bottom>.technology-ticker{display:block;width:420px;max-width:100%;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.ticker-track{display:flex;width:max-content;animation:technology-slide 24s linear infinite}.technology-ticker:hover .ticker-track{animation-play-state:paused}.ticker-group{display:flex;gap:0;flex-shrink:0}.ticker-group>span{display:flex;align-items:center;gap:22px;padding-right:22px;white-space:nowrap;font:10px Consolas,monospace;color:#aaa}.ticker-group b{font-size:10px;font-weight:400;color:#666}.reveal{transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.3,1) var(--reveal-delay,0ms)}.skill-card.reveal.is-visible:hover{transform:translateY(-6px)}.service-card.reveal.is-visible:hover{transform:translateY(-5px)}.project-card{position:relative;transition:transform .35s cubic-bezier(.2,.7,.3,1),border-color .3s,box-shadow .35s}.project-card:hover{box-shadow:0 14px 35px #0008;transform:translateY(-7px)}.project-links>a svg:last-of-type,.text-link svg,.hero-contact svg{transition:transform .25s}.project-links>a:hover svg:last-of-type,.text-link:hover svg,.hero-contact:hover svg{transform:translate(3px,-3px)}.primary{position:relative;overflow:hidden}.primary:after{content:"";pointer-events:none;position:absolute;top:-50%;bottom:-50%;left:-70%;width:40%;transform:skew(-20deg);background:linear-gradient(90deg,transparent,#ffffffa0,transparent)}.primary:hover:after{animation:button-sheen .65s ease}.contact-profile .profile-avatar{transition:transform .35s ease,box-shadow .35s ease}.contact-profile:hover .profile-avatar{transform:scale(1.07);box-shadow:0 0 0 4px #00000010}@keyframes ambient-drift{to{transform:translate(-100px,90px) scale(1.25)}}@keyframes headline-arrive{0%{opacity:0;transform:translateY(20px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes title-light{0%,to{background-position:0 50%}50%{background-position:100% 50%}}@keyframes showcase-float{0%,to{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-9px) rotate(.5deg)}}@keyframes scroll-nudge{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@keyframes technology-slide{to{transform:translate(-50%)}}@keyframes button-sheen{to{left:140%}}@media(max-width:600px){.hero-bottom>.technology-ticker{width:100%}.ticker-group>span{font-size:9px}.hero:before{width:350px;height:350px}}@media(prefers-reduced-motion:reduce){.hero:before,.hero h1,.outline-word,.hero-showcase,.hero-bottom>a>svg,.ticker-track,.primary:hover:after{animation:none!important}.outline-word{background:none;color:#aaa}.hero-showcase{transform:none}.reveal{opacity:1;transform:none;transition:none}.project-card:hover,.skill-card.reveal.is-visible:hover,.service-card.reveal.is-visible:hover{transform:none}}
