body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.loading-screen{align-items:center;background:#0b0b0f;display:flex;flex-direction:column;inset:0;justify-content:center;position:fixed;z-index:99999}.loading-logo{animation:fadeIn 1s ease forwards;color:#fff;font-size:2rem;letter-spacing:4px;margin-bottom:2rem;width:100px}.loading-bar{animation:spin 1s linear infinite;border-right:5px solid #fff0;border-top:5px solid #fff0;border-color:#5227ff #5227ff #fff0 #fff0;border-radius:50%;border-style:solid;border-width:5px;height:50px;margin:20px auto;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}html{scroll-behavior:smooth}.App{background-color:#000;display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;position:relative;-webkit-user-select:none;user-select:none}main{flex:1 1}header{background:#282c34;color:#fff;display:flex;gap:1rem;padding:20px}.header--scrolled{background:#0006!important;border-bottom:1px solid #ffffff26}.scroll-top-btn{align-items:center;background:none;border:none;bottom:4rem;color:#555;cursor:pointer;display:flex;font-size:1.5rem;height:50px;justify-content:center;position:fixed;right:1rem;transition:border-color .08s ease,color .08s ease;width:50px;z-index:9999}.scroll-top-btn:hover{border-color:#fff;color:#fff}.scroll-down{animation:scrollAnim 2.5s ease-in-out infinite;bottom:2rem;display:flex;justify-content:center;position:absolute;width:100%}@keyframes scrollAnim{0%{opacity:1;transform:translateY(0)}50%{opacity:.5;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.background{background:url(https://source.unsplash.com/1920x1080?tech) 50%/cover no-repeat;height:100%;left:0;position:fixed;top:0;width:100%;z-index:0}.hero{height:100vh;margin-bottom:3rem;overflow:hidden;position:relative;width:100%;z-index:1}.purple-ball{background:#7f00ff;border-radius:50%;filter:blur(100px);height:400px;opacity:.4;position:absolute;width:400px;z-index:0}.name{bottom:3rem;color:#fff;font-size:9vw;font-weight:900;left:0;letter-spacing:-8px;margin:0 0 0 4rem;position:absolute;text-transform:uppercase;transform:scaleY(1.5);width:100vw;z-index:1}.content{background:#fff;color:#333;padding:50px 20px;position:relative;z-index:1}.section-label{align-items:center;color:#7b7b7b;display:flex;font-size:.7rem;font-weight:700;gap:1.2rem;letter-spacing:.25em;margin-bottom:2.5rem;opacity:0;text-transform:uppercase;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.section-label--visible{opacity:1;transform:translateY(0)}.section-label span:first-child{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.section-line{background:linear-gradient(90deg,#0000,#2a2a2a,#0000);height:1px;margin-bottom:4rem;transition:width 1.2s cubic-bezier(.16,1,.3,1);width:0}.section-line--bottom{margin-bottom:0;margin-top:4rem;transition-delay:.2s}.section-line--visible{width:100%}.section-title{color:#fff;display:flex;flex-direction:column;font-size:clamp(2.8rem,5vw,5rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0 0 2rem}.section-title span{display:block;opacity:0;transform:translateY(40px) skewY(3deg);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.section-title--visible span:first-child{opacity:1;transform:none;transition-delay:.1s}.section-title--visible span:nth-child(2){opacity:1;transform:none;transition-delay:.22s}.section-title--visible span:nth-child(3){opacity:1;transform:none;transition-delay:.34s}.text-outline{-webkit-text-stroke:1.5px #fff;color:#0000!important}.pill{border:1px solid #2a2a2a;border-radius:999px;color:#777;cursor:default;display:inline-block;font-size:.75rem;font-weight:500;letter-spacing:.12em;opacity:0;padding:.4rem 1rem;text-transform:uppercase;transform:translateY(16px) scale(.95);transition:opacity .5s ease,transform .5s cubic-bezier(.16,1,.3,1),background-color .2s ease,color .2s ease,border-color .2s ease}.pill--visible{opacity:1;transform:translateY(0) scale(1)}.pill:hover{background:#fff;border-color:#fff;color:#000}.container{overflow-y:scroll;scrollbar-width:none}.container::-webkit-scrollbar{display:none}.header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0000;display:flex;justify-content:space-between;left:0;padding:1rem 4rem;position:fixed;right:0;top:0;z-index:1000}.logo{color:#fff;font-size:20px;font-weight:600;letter-spacing:2px}.header-right{align-items:center;display:flex;gap:40px}.header-right a{color:#fff;display:inline-block;font-weight:400;position:relative;text-decoration:none;transition:.3s}.header-right a:after{background-color:#fff;bottom:-5px;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .3s ease;width:100%}.header-right a.active:after,.header-right a:hover:after{transform:scaleX(1)}.header-right a:hover{color:#ffffffa1}.headerDivider{background-color:#ffffff26;height:31px;width:1px}.header-right button{background-color:#fff;border:none;border-radius:.5rem;cursor:pointer;font-size:1rem;font-weight:600;height:2.5rem;padding:0 2rem;transition:.3s;transition:.3s ease}.header-right button:hover{background-color:#ffffffb6}.text-type{display:inline-block;white-space:pre-wrap}.text-type__cursor{display:inline-block;margin-left:.25rem;opacity:1}.text-type__cursor--hidden{display:none}.hero-container{align-items:center;display:flex;justify-content:center;margin:22vh 4rem 0;position:relative;z-index:100}.hero-info{align-items:flex-start;display:flex;flex:2 1;flex-direction:column}.hero-info h3{background-color:#b9a7ff;border-radius:10rem;font-size:.7rem;padding:.5rem 1.5rem;text-transform:uppercase}.hero-info h1{color:#fff;font-size:5rem;margin:0}.hero-info p{color:#ddd;font-weight:600;line-height:1.8rem;margin-top:1rem}.hero-info button{background:#0000;border:2px solid #fff6;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;height:2.8rem;margin-top:2rem;padding:0 2rem;transition:.3s ease}.hero-info button:hover{background:#fff;color:#000}.hero-avatar{align-items:center;aspect-ratio:1/1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#00000080;background:linear-gradient(#00000080,#00000080) padding-box,linear-gradient(135deg,#140027,#5900ac) border-box;border:2px solid #0000;border-radius:50%;display:flex;justify-content:center;padding:2rem}.hero-avatar img{filter:drop-shadow(0 0 20px #000000);height:80%}.projects-container{overflow:hidden;padding:5rem 6vw}.projects-header{margin-bottom:3rem}.projects-list{display:flex;flex-direction:column}.project-item{grid-gap:2rem;align-items:center;border-bottom:1px solid #1a1a1a;color:inherit;cursor:pointer;display:grid;gap:2rem;grid-template-columns:4rem 1fr 2rem;opacity:0;padding:2rem 0;text-decoration:none;transform:translateY(30px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,1,.3,1),background-color .25s ease}.project-item--visible{opacity:1;transform:translateY(0)}.project-item:first-child{border-top:1px solid #1a1a1a}.project-item:hover{background:#0d0d0d;transform:translateY(-10px)}.project-item:hover .project-arrow{color:#fff;transform:translate(4px,-4px)}.project-number{font-feature-settings:"tnum";align-self:flex-start;color:#444;font-size:.72rem;font-variant-numeric:tabular-nums;letter-spacing:.15em;padding-top:.25rem}.project-info{display:flex;flex-direction:column;gap:.6rem}.project-top{display:flex;gap:1rem}.project-title{color:#e0e0e0;font-size:1.4rem;font-weight:600;letter-spacing:-.02em;margin:0;transition:color .2s ease}.project-status{background-color:#5900ac2e;border:1px solid #5900ac;border-radius:20px;color:#5900ac;display:inline-block;font-size:.75rem;font-weight:600;margin-bottom:8px;padding:4px 10px;width:-webkit-fit-content;width:fit-content}.project-item:hover .project-title{color:#fff}.project-description{color:#777;font-size:.9rem;font-weight:500;line-height:1.6;margin:0;max-width:560px}.project-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.4rem}.project-tags .pill{font-size:.68rem;opacity:1;padding:.25rem .7rem;transform:none}.project-arrow{align-self:flex-start;color:#444;padding-top:.25rem;transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s ease}@media (max-width:768px){.projects-container{padding:5rem 5vw}.project-item{gap:1rem;grid-template-columns:2.5rem 1fr 1.5rem}.project-title{font-size:1.1rem}}.ticker-line{font-size:clamp(3rem,10vw,3rem);font-weight:900;line-height:1;margin:0;overflow:hidden;text-transform:uppercase;white-space:nowrap}.text-solid{-webkit-text-stroke:0;color:#fff}.text-outline{-webkit-text-stroke:2px #ffffffc2;color:#0000}.about-container{overflow:hidden;padding:5rem 6vw}.about-inner{grid-gap:6rem;align-items:start;display:grid;gap:6rem;grid-template-columns:1fr 1fr}.about-left{position:-webkit-sticky;position:sticky;top:8rem}.about-stats{border-left:1px solid #2a2a2a;display:flex;flex-direction:column;gap:1.5rem;margin-top:3rem;padding-left:1.5rem}.about-stat{opacity:0;transform:translateX(-20px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,1,.3,1)}.about-stat--visible{opacity:1;transform:translateX(0)}.about-stat-value{color:#fff;display:block;font-size:1.8rem;font-weight:700;letter-spacing:-.03em;line-height:1}.about-stat-label{color:#777;display:block;font-size:.72rem;font-weight:500;letter-spacing:.12em;margin-top:.3rem;text-transform:uppercase}.about-right{display:flex;flex-direction:column;margin:auto;padding-top:.5rem}.about-text{color:#999;font-size:1.05rem;line-height:1.85;margin:0 0 1.6rem;opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.about-text--visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.about-container{padding:5rem 5vw}.about-inner{gap:3rem;grid-template-columns:1fr}.about-left{position:static}}.contact-container{overflow:hidden;padding:5rem 6vw}.contact-inner{grid-gap:6rem;align-items:start;display:grid;gap:6rem;grid-template-columns:1fr 1fr}.contact-left{position:-webkit-sticky;position:sticky;top:8rem}.contact-text{color:#888;font-size:1.05rem;line-height:1.85;margin:0;max-width:400px;opacity:0;transform:translateY(20px);transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1)}.contact-text--visible{opacity:1;transform:translateY(0)}.contact-right{display:flex;flex-direction:column;padding-top:.5rem}.contact-link{align-items:center;border-bottom:1px solid #1a1a1a;color:inherit;display:flex;justify-content:space-between;opacity:0;padding:1.6rem 0;text-decoration:none;transform:translateX(20px);transition:opacity .6s ease,transform .6s cubic-bezier(.16,1,.3,1),background .2s ease}.contact-link:first-child{border-top:1px solid #1a1a1a}.contact-link--visible{opacity:1;transform:translateX(0)}.contact-link:hover{background:#0d0d0d;transform:translateY(-5px)}.contact-link:hover .contact-link-arrow{color:#fff;transform:translate(4px,-4px)}.contact-link-inner{display:flex;flex-direction:column;gap:.25rem}.contact-link-label{color:#555;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.contact-link-value{color:#ccc;font-size:1.1rem;font-weight:500;transition:color .2s ease}.contact-link:hover .contact-link-value{color:#fff}.contact-link-arrow{color:#444;transition:transform .3s cubic-bezier(.16,1,.3,1),color .3s ease}@media (max-width:768px){.contact-container{padding:5rem 5vw}.contact-inner{gap:3rem;grid-template-columns:1fr}.contact-left{position:static}}.glare-hover{border:2px solid #0000;border-radius:17px;display:grid;overflow:hidden;place-items:center;position:relative;transition:border-color .3s ease;z-index:10}.glare-hover:before{background:linear-gradient(var(--gh-angle),#0000 60%,var(--gh-rgba) 70%,#0000,#0000 100%);background-position:-100% -100%,0 0;background-repeat:no-repeat;background-size:var(--gh-size) var(--gh-size),100% 100%;content:"";inset:0;position:absolute;transition:var(--gh-duration) ease}.glare-hover:hover{border-color:#7f00ff;box-shadow:0 0 16px 4px rgba(128,0,255,.322);cursor:pointer}.glare-hover:hover:before{background-position:100% 100%,0 0}.glare-hover--play-once:before{transition:none}.glare-hover--play-once:hover:before{background-position:100% 100%,0 0;transition:var(--gh-duration) ease}.skills-container{overflow:hidden;padding:5rem 6vw}.skills-header{align-items:flex-end;display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;margin-bottom:4rem}.skills-subtitle{color:#888;font-size:.95rem;line-height:4.7;margin:0 0 .6rem;opacity:0;transform:translateY(20px);transition:opacity .7s ease .45s,transform .7s cubic-bezier(.16,1,.3,1) .45s}.skills-subtitle--visible{opacity:1;transform:translateY(0)}.cards-container{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.skill-card{align-items:center;background:#0a0a0a;border:1px solid #222;border-radius:8px;cursor:default;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center;padding:2rem 1rem;transition:border-color .3s ease,background .3s ease;width:100%}.skill-card:hover{background:#111;border-color:#555}.skill-card h3{color:#888;font-size:.78rem;font-weight:500;letter-spacing:.08em;margin:0;text-transform:uppercase;transition:color .3s ease}.skill-card:hover h3{color:#ccc}.skill-card svg{color:#666;transition:color .3s ease}.skill-card:hover svg{color:#fff}@media (max-width:768px){.skills-container{padding:5rem 5vw}.skills-header{align-items:flex-start;flex-direction:column}.cards-container{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}
/*# sourceMappingURL=main.147bfd07.css.map*/