#root{height:100%;width:100vw;overflow-x:hidden}.appContainer{display:flex;flex-direction:column;width:100%;max-width:100vw;overflow-x:hidden}.navbar{display:flex;position:fixed;top:0;left:0;right:0;width:100%;height:5rem;justify-content:space-between;align-items:center;padding:0 2.5rem;background:transparent;z-index:1000;transition:background .4s ease,border-color .4s ease,backdrop-filter .4s ease;border-bottom:1px solid transparent}.navbar.scrolled{background:rgba(10,10,10,.82);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:var(--border)}[data-theme=light] .navbar.scrolled{background:rgba(248,246,242,.85)}.navbar__logo{text-decoration:none;display:flex;align-items:center;transition:opacity .2s ease}.navbar__logo:hover{opacity:.75}.navbar__logo-img{height:36px;width:auto;display:block}.navbar__right{display:flex;align-items:center;gap:.25rem}.navbar__links{display:flex;align-items:center;gap:.1rem}.navbar__link{font-family:MoonLight,sans-serif;font-size:.75rem;font-weight:400;text-decoration:none;color:var(--text-dim);padding:.5rem 1rem;text-transform:uppercase;letter-spacing:.15em;position:relative;transition:color .25s ease}.navbar__link:after{content:"";position:absolute;bottom:.25rem;left:1rem;right:1rem;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.23,1,.32,1)}.navbar__link:hover,.navbar__link.active{color:var(--text)}.navbar__link:hover:after,.navbar__link.active:after{transform:scaleX(1)}.navbar__theme-toggle{width:2rem;height:2rem;border-radius:50%;border:1px solid var(--border2);background:transparent;color:var(--text-dim);display:flex;align-items:center;justify-content:center;cursor:none;margin-left:1rem;transition:border-color .25s ease,color .25s ease,transform .3s ease}.navbar__theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:rotate(20deg)}@media screen and (max-width: 768px){.navbar{padding:0 1.25rem}.navbar__links{display:none}.navbar__logo{font-size:1.4rem}}.hero{background:var(--bg);color:var(--text);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.hero__orb{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(ellipse,var(--accent-glow) 0%,transparent 70%);pointer-events:none;top:50%;left:50%;transform:translate(-50%,-50%);transition:transform .15s linear;will-change:transform}.hero__container{flex:1;display:flex;align-items:center;justify-content:space-between;gap:4rem;padding:8rem 6rem 4rem;max-width:1400px;width:100%;margin:0 auto;position:relative;z-index:1}.hero__left{flex:1;display:flex;flex-direction:column;gap:2rem}.hero__label{font-family:MoonLight,sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:.75rem}.hero__label:before{content:"";display:inline-block;width:2rem;height:1px;background:var(--accent);flex-shrink:0}.hero__title{margin:0;line-height:1.05}.hero__greeting{display:block;font-family:MoonLight,sans-serif;font-size:clamp(2.8rem,5vw,5rem);color:var(--text-muted);letter-spacing:.02em}.hero__name{display:block;font-family:MoonBold,sans-serif;font-size:clamp(3.5rem,7vw,7rem);color:var(--text);letter-spacing:-.01em}.hero__tagline{font-family:MoonLight,sans-serif;font-size:clamp(.9rem,1.5vw,1.1rem);color:var(--text-dim);letter-spacing:.05em;line-height:1.6;max-width:480px;margin:0}.hero__ctas{display:flex;gap:1rem;flex-wrap:wrap}.hero__resume-link{display:inline-flex;align-items:center;gap:.4rem;font-family:MoonLight,sans-serif;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;padding:.5rem 0;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;align-self:center}.hero__resume-link:hover{color:var(--accent);border-bottom-color:var(--accent)}.hero__right{flex-shrink:0;position:relative}.hero__image-wrap{position:relative;display:inline-block}.hero__image-wrap:after{content:"";position:absolute;top:16px;left:16px;right:-16px;bottom:-16px;border:2px solid var(--accent);z-index:0;transition:transform .45s cubic-bezier(.23,1,.32,1)}.hero__image-wrap:hover:after{transform:translate(8px,10px)}#image{position:relative;z-index:1;width:300px;height:380px;object-fit:cover;object-position:center center;display:block;transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .45s ease}.hero__image-wrap:hover #image{transform:translate(-8px,-10px);box-shadow:12px 16px 40px #0006}.about{background:var(--bg2);border-top:1px solid var(--border);padding:6rem;position:relative;z-index:1}.about__inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:240px 1fr;gap:5rem;align-items:start}.about__label-col{position:sticky;top:6rem}.about__label-col .section-label{margin-bottom:1.5rem}.about__index{font-family:MoonLight,sans-serif;font-size:5rem;line-height:1;color:var(--border2);letter-spacing:-.02em;-webkit-user-select:none;user-select:none}.about__text-col{display:flex;flex-direction:column;gap:2rem}.about__paragraph{font-family:MoonLight,sans-serif;font-size:1rem;line-height:1.8;color:var(--text-dim)}.about__paragraph:first-child{font-family:MoonRegular,sans-serif;font-size:1.1rem;color:var(--text)}@media screen and (max-width: 1024px){.hero__container{padding:7rem 3rem 4rem;gap:3rem}#image{width:240px;height:310px}}@media screen and (max-width: 768px){.hero__container{flex-direction:column-reverse;padding:6rem 1.5rem 3rem;align-items:flex-start;gap:2.5rem}.hero__right{align-self:center}#image{width:200px;height:250px}.hero__image-wrap:after{top:10px;left:10px;right:-10px;bottom:-10px}.about{padding:4rem 1.5rem}.about__inner{grid-template-columns:1fr;gap:2.5rem}.about__label-col{position:static}.about__index{font-size:3rem}}.magnetic-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 2.4rem;border-radius:100px;font-family:MoonRegular,sans-serif;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;cursor:none;border:2px solid transparent;position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.23,1,.32,1),background .25s ease,color .25s ease,border-color .25s ease;white-space:nowrap}.magnetic-btn--filled{background:var(--accent);color:#fff;border-color:var(--accent)}.magnetic-btn--filled:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-warm);opacity:0;transition:opacity .3s ease;border-radius:inherit}.magnetic-btn--filled:hover:before{opacity:1}.magnetic-btn--filled span,.magnetic-btn--filled svg{position:relative;z-index:1}.magnetic-btn--ghost{background:transparent;color:var(--text);border-color:var(--border2)}.magnetic-btn--ghost:hover{border-color:var(--accent);color:var(--accent)}.magnetic-btn .btn-icon{display:inline-flex;font-size:1rem;transition:transform .3s ease}.magnetic-btn:hover .btn-icon{transform:translate(2px,-2px)}.technologies{background:var(--bg2);color:var(--text);padding:7rem 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4rem;overflow:hidden}.tech__header{max-width:1400px;width:100%;padding:0 6rem;display:flex;align-items:flex-start;justify-content:space-between;gap:4rem}.tech__header-left{display:flex;flex-direction:column;gap:1.5rem}.tech__title{font-family:MoonBold,sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);margin:0;letter-spacing:-.01em;line-height:1.05;color:var(--text)}.tech__title em{font-style:normal;color:var(--accent)}.tech__subtitle{font-family:MoonLight,sans-serif;font-size:clamp(.9rem,1.5vw,1.1rem);color:var(--text-dim);max-width:420px;line-height:1.7}.chips-container{width:100%;overflow:hidden;position:relative;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.chips-container:before,.chips-container:after{content:"";position:absolute;top:0;bottom:0;width:120px;z-index:2;pointer-events:none}.chips-container:before{left:0;background:linear-gradient(to right,var(--bg2),transparent)}.chips-container:after{right:0;background:linear-gradient(to left,var(--bg2),transparent)}.chips-scroll{white-space:nowrap;overflow:hidden;width:100%}.chips-content{display:inline-block;font-family:MoonLight,sans-serif;font-size:.85rem;letter-spacing:.15rem;text-transform:uppercase;color:var(--text-dim);animation:scrollChips 45s linear infinite;padding:1.1rem 0;white-space:nowrap;transition:animation-play-state .3s}.chips-container:hover .chips-content{animation-play-state:paused}.chips-content .chip-dot{color:var(--accent);margin:0 .4em}@keyframes scrollChips{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech__footer{max-width:1400px;width:100%;padding:0 6rem}.tech__categories{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--border);border-left:1px solid var(--border)}.tech__category{padding:2.5rem 2rem;border-right:1px solid var(--border);border-bottom:1px solid var(--border);transition:background .25s ease}.tech__category:hover{background:var(--accent-glow)}.tech__category-label{font-family:MoonLight,sans-serif;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);display:block;margin-bottom:1.25rem}.tech__category-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.tech__category-list li{font-family:MoonLight,sans-serif;font-size:.85rem;color:var(--text-dim);letter-spacing:.04em;transition:color .2s ease,transform .2s ease;cursor:default}.tech__category:hover .tech__category-list li{color:var(--text)}@media screen and (max-width: 1024px){.tech__header{padding:0 3rem;flex-direction:column;gap:2rem}.tech__footer{padding:0 3rem}.tech__categories{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width: 768px){.technologies{padding:4rem 0;gap:3rem}.tech__header,.tech__footer{padding:0 1.5rem}.tech__categories{grid-template-columns:repeat(2,1fr)}.tech__category{padding:1.75rem 1.25rem}.chips-container:before,.chips-container:after{width:60px}}.projects{background:var(--bg);padding:7rem 6rem;position:relative}.projects__header{max-width:1400px;margin:0 auto 3rem;display:flex;align-items:center;justify-content:space-between}.projects__count{font-family:MoonLight,sans-serif;font-size:.72rem;letter-spacing:.15em;color:var(--text-muted)}.projects__list{max-width:1400px;margin:0 auto;border-top:1px solid var(--border)}.project-row{display:grid;grid-template-columns:3rem 1fr auto auto;align-items:center;gap:2rem;padding:2.2rem 0;border-bottom:1px solid var(--border);text-decoration:none;color:inherit;position:relative;transition:background .2s ease}.project-row:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--accent-glow);opacity:0;transition:opacity .3s ease;pointer-events:none}.project-row:hover:before{opacity:1}.project-row__number{font-family:MoonLight,sans-serif;font-size:.78rem;color:var(--text-muted);letter-spacing:.08em;transition:color .3s ease;-webkit-user-select:none;user-select:none}.project-row:hover .project-row__number{color:var(--accent)}.project-row__title-wrap{position:relative;overflow:hidden;padding-bottom:2px}.project-row__title-wrap:after{content:"";position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--accent);transition:width .45s cubic-bezier(.23,1,.32,1)}.project-row:hover .project-row__title-wrap:after{width:100%}.project-row__title{font-family:MoonBold,sans-serif;font-size:clamp(1.4rem,2.5vw,2rem);color:var(--text-muted);letter-spacing:.01em;display:block;transition:color .3s ease,transform .3s ease}.project-row:hover .project-row__title{color:var(--text);transform:translate(6px)}.project-row__tags{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end;opacity:0;transform:translate(-8px);transition:opacity .35s ease,transform .35s ease}.project-row:hover .project-row__tags{opacity:1;transform:translate(0)}.project-row__tag{font-family:MoonLight,sans-serif;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);padding:.2rem .55rem;border:1px solid var(--border2);white-space:nowrap;transition:border-color .25s,color .25s}.project-row:hover .project-row__tag{border-color:var(--accent);color:var(--text-dim)}.project-row__links{display:flex;align-items:center;gap:1rem;flex-shrink:0}.project-row__github{font-family:MoonLight,sans-serif;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);text-decoration:none;padding:.3rem .7rem;border:1px solid var(--border2);transition:border-color .25s,color .25s;position:relative;z-index:2}.project-row__github:hover{border-color:var(--accent);color:var(--accent)}.project-row__arrow{font-size:1.2rem;color:var(--text-muted);transition:color .3s ease,transform .35s cubic-bezier(.23,1,.32,1);display:inline-block}.project-row:hover .project-row__arrow{color:var(--accent);transform:translate(3px,-3px) rotate(-45deg)}.project-preview{position:fixed;pointer-events:none;z-index:500;width:360px;overflow:hidden;opacity:0;transform:scale(.88) rotate(-1.5deg);transition:opacity .3s ease,transform .3s cubic-bezier(.23,1,.32,1);border:1px solid var(--border2);box-shadow:0 24px 64px #00000080}.project-preview.visible{opacity:1;transform:scale(1) rotate(-.5deg)}.project-preview img{width:100%;height:220px;object-fit:cover;display:block}.project-preview__caption{background:var(--surface);padding:.75rem 1rem;border-top:1px solid var(--border)}.project-preview__caption span{font-family:MoonLight,sans-serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted)}.project-preview__caption strong{display:block;font-family:MoonRegular,sans-serif;font-size:.85rem;color:var(--text);margin-top:.15rem}@media screen and (max-width: 1024px){.projects{padding:5rem 3rem}.project-row{grid-template-columns:2.5rem 1fr auto;gap:1.5rem}.project-row__tags{display:none}}@media screen and (max-width: 768px){.projects{padding:4rem 1.5rem}.project-row{grid-template-columns:2.5rem 1fr auto;gap:1rem;padding:1.75rem 0}.project-row__title{font-size:clamp(1.1rem,5vw,1.5rem)}.project-row__tags,.project-preview{display:none}}.contact{background:var(--bg);color:var(--text);border-top:1px solid var(--border);position:relative;padding:0}.contact__cta__section{text-align:center;padding:9rem 2rem 6rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.contact__cta__section:before{content:"";position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);width:600px;height:400px;background:radial-gradient(ellipse,var(--accent-glow) 0%,transparent 70%);pointer-events:none}.contact__main__title{font-family:MoonBold,sans-serif;font-size:clamp(3.5rem,8vw,8rem);font-weight:900;margin:0;letter-spacing:.04em;text-transform:uppercase;line-height:.95;color:var(--text);position:relative;z-index:1}.contact__sub__title{font-family:MoonBold,sans-serif;font-size:clamp(2.5rem,6vw,6rem);font-weight:900;margin:.5rem 0 0;letter-spacing:.04em;text-transform:uppercase;line-height:.95;color:var(--accent);position:relative;z-index:1}.falling-letter{display:inline-block;opacity:0;transform:translateY(-80px)}.falling-letter.space{width:.28em}.falling-letter.animate{opacity:1;transform:translateY(0);animation:letterFall .7s cubic-bezier(.23,1,.32,1) forwards}@keyframes letterFall{0%{opacity:0;transform:translateY(-80px)}to{opacity:1;transform:translateY(0)}}.contact__description{font-family:MoonLight,sans-serif;font-size:clamp(.9rem,1.5vw,1.1rem);line-height:1.7;max-width:520px;margin:3rem auto 0;color:var(--text-dim);position:relative;z-index:1}.contact__details__section{padding:6rem}.contact__info__grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:4rem}.contact__column__title{font-family:MoonLight,sans-serif;font-size:.68rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;margin-bottom:2rem;color:var(--text-muted);border-bottom:1px solid var(--border);padding-bottom:.75rem;display:flex;align-items:center;gap:.75rem}.contact__column__title:before{content:"";display:inline-block;width:1.5rem;height:1px;background:var(--accent);flex-shrink:0}.contact__item{display:flex;align-items:center;gap:.85rem;margin-bottom:1.25rem;font-family:MoonLight,sans-serif;font-size:.95rem;color:var(--text-dim)}.contact__detail__icon{color:var(--accent)!important;font-size:1.1rem!important}.contact__social__links{display:flex;flex-direction:column;gap:1.25rem}.contact__social__link{display:flex;align-items:center;gap:.85rem;text-decoration:none;color:var(--text-dim);font-family:MoonLight,sans-serif;font-size:.9rem;text-transform:uppercase;letter-spacing:.12em;padding:.3rem 0;transition:color .25s ease,transform .25s ease}.contact__social__link:hover{color:var(--accent);transform:translate(8px)}.contact__social__icon{font-size:1.1rem!important;color:inherit!important}.contact__location{display:flex;flex-direction:column;gap:.25rem}.contact__city,.contact__country{font-family:MoonLight,sans-serif;font-size:.95rem;color:var(--text-dim)}.contact__city{color:var(--text);font-family:MoonRegular,sans-serif}.contact__footer__bottom{border-top:1px solid var(--border);padding:2rem 6rem}.contact__footer__content{max-width:1400px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.contact__logo-img{height:30px;width:auto;display:block}.contact__copyright{font-family:MoonLight,sans-serif;font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.15em}.contact__nav__links{display:flex;gap:2rem}.contact__nav__link{font-family:MoonLight,sans-serif;color:var(--text-muted);text-decoration:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;transition:color .25s ease}.contact__nav__link:hover{color:var(--accent)}.back__to__top__button{display:none;position:fixed;bottom:2.5rem;right:2.5rem;width:3rem;height:3rem;background:var(--accent);color:#fff;border-radius:50%;align-items:center;justify-content:center;text-decoration:none;z-index:1000;transition:background .25s ease,transform .25s ease}.back__to__top__button.show{display:flex}.back__to__top__button:hover{background:var(--accent-warm);transform:translateY(-3px)}@media screen and (max-width: 1024px){.contact__details__section{padding:5rem 3rem}.contact__footer__bottom{padding:2rem 3rem}}@media screen and (max-width: 768px){.contact__cta__section{padding:6rem 1.5rem 4rem}.contact__main__title{font-size:clamp(2.5rem,10vw,5rem);letter-spacing:.02em}.contact__sub__title{font-size:clamp(2rem,8vw,4rem)}.contact__details__section{padding:4rem 1.5rem}.contact__info__grid{grid-template-columns:1fr;gap:3rem}.contact__footer__bottom{padding:1.5rem}.contact__footer__content{flex-direction:column;gap:1rem;text-align:center}.contact__nav__links{gap:1.25rem}.back__to__top__button{bottom:1.5rem;right:1.5rem}}:root{--bg: #0A0A0A;--bg2: #111111;--surface: #161616;--border: #1E1E1E;--border2: #2A2A2A;--accent: #FF5C2B;--accent-warm: #FFAA47;--accent-glow: rgba(255, 92, 43, .12);--text: #F0EFEB;--text-muted: #55554E;--text-dim: #888880;--transition: .3s ease;line-height:1.5;color-scheme:dark;color:var(--text);overflow-x:hidden;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[data-theme=light]{--bg: #F8F6F2;--bg2: #EEECEA;--surface: #E6E2DC;--border: #DDDAD4;--border2: #C8C4BE;--accent: #E0451A;--accent-warm: #F7931E;--accent-glow: rgba(224, 69, 26, .08);--text: #0A0A0A;--text-muted: #5A5952;--text-dim: #3E3D38;color-scheme:light}@font-face{font-family:Azonix;src:url(/Azonix.otf) format("opentype")}@font-face{font-family:MoonBold;src:url(/Moon2.0-Bold.otf) format("opentype")}@font-face{font-family:MoonLight;src:url(/Moon2.0-Light.otf) format("opentype")}@font-face{font-family:MoonRegular;src:url(/Moon2.0-Regular.otf) format("opentype")}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:4rem;overflow-x:hidden;width:100%}body{font-family:MoonRegular,sans-serif;margin:0;background:var(--bg);color:var(--text);overflow-x:hidden;width:100%;transition:background var(--transition),color var(--transition)}@media (hover: none){body{cursor:auto}}@media (hover: hover){body{cursor:none}}.cursor-dot{position:fixed;top:0;left:0;width:8px;height:8px;margin-left:-4px;margin-top:-4px;background:var(--accent);border-radius:50%;pointer-events:none;z-index:9999;transition:width .2s,height .2s,margin .2s,opacity .2s}.cursor-ring{position:fixed;top:0;left:0;width:36px;height:36px;margin-left:-18px;margin-top:-18px;border:1.5px solid var(--accent);border-radius:50%;pointer-events:none;z-index:9998;opacity:.5;transition:width .3s cubic-bezier(.23,1,.32,1),height .3s cubic-bezier(.23,1,.32,1),margin .3s cubic-bezier(.23,1,.32,1),opacity .3s,border-color .3s}.cursor-ring.hovered{width:58px;height:58px;margin-left:-29px;margin-top:-29px;opacity:.3;border-color:var(--accent-warm)}.cursor-dot.hovered{width:4px;height:4px;margin-left:-2px;margin-top:-2px;opacity:.7}@media (hover: none){.cursor-dot,.cursor-ring{display:none}}.reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.section-label{font-family:MoonLight,sans-serif;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);display:flex;align-items:center;gap:.75rem}.section-label:before{content:"";display:inline-block;width:2rem;height:1px;background:var(--accent)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
