:root{--accent-color: var(--color-darkest);--background-color: var(--color-lightest);--color-dark: #404040;--color-darkest: #0D0D0D;--color-light: #D9D9D9;--color-lightest: #F2F2F2;--color-medium: #8C8C8C;--font-family: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-display: "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--nav-height: 80px;--primary-color: var(--color-lightest);--surface-color: var(--color-light);--text-primary: var(--color-darkest);--text-secondary: var(--color-dark);--transition: all .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#fff;color:var(--color-darkest);font-family:var(--font-family);font-weight:400;letter-spacing:-.01em;line-height:1.6}#app{display:flex;flex-direction:column;min-height:100vh}.nav{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);height:var(--nav-height);position:fixed;top:0;transition:var(--transition);width:100%;z-index:1000}.nav .nav-container{align-items:center;display:flex;height:100%;justify-content:space-between;margin:0 auto;max-width:1200px;padding:1rem 2rem}.nav .nav-brand{-webkit-transform:translateZ(0);color:var(--accent-color);font-family:var(--font-family-display);font-size:1.5rem;font-weight:700;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges;image-rendering:pixelated;image-rendering:auto;letter-spacing:-.02em;shape-rendering:geometricPrecision;transform:translateZ(0)}.nav .nav-menu{display:flex;gap:2rem;list-style:none}.nav .nav-menu .nav-link{color:var(--text-secondary);font-size:.95rem;font-weight:500;letter-spacing:-.01em;position:relative;text-decoration:none;transition:var(--transition)}.nav .nav-menu .nav-link:after{background:var(--color-dark);bottom:-5px;content:"";height:1px;left:0;position:absolute;transition:var(--transition);width:0}.nav .nav-menu .nav-link.active{color:var(--accent-color)}.nav .nav-menu .nav-link.active:after{width:100%}.nav-on-black{background-color:transparent!important;color:#fff!important}.nav-on-black .nav-link{color:#fff!important}.nav-on-black .nav-link:hover{color:#ccc!important}.nav-on-black .nav-link.active{color:#fff!important}.nav-on-white{background-color:transparent}.nav-on-white .nav-brand{filter:brightness(0)}.milky-way-canvas{background:#000;height:100%;left:0;opacity:.8;position:fixed;top:0;width:100%;z-index:-1}#milkyWay,#cometCanvas{-webkit-transform:translate3d(0,0,0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px;image-rendering:-webkit-optimize-contrast;image-rendering:optimize-contrast;-ms-interpolation-mode:nearest-neighbor;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;will-change:transform,opacity;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@supports (-webkit-touch-callout: none){.milky-way-header,#contact.section{-webkit-transform:translateZ(0);transform:translateZ(0);isolation:isolate}#milkyWay,#cometCanvas{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;pointer-events:none}}.milky-way-header{align-items:center;background-color:#000;display:flex;justify-content:center;min-height:65vh;position:relative}.milky-way-header .header-content-container{line-height:1.2;max-width:1000px;padding:2rem;position:relative;text-align:center;width:100%;z-index:10}.milky-way-header div.header-title{color:#fff;font-family:var(--font-family-display);font-size:70px;font-weight:600;letter-spacing:-.02em;margin-bottom:1rem;text-shadow:0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,1)}.milky-way-header div.header-title.intro-title{margin-bottom:0}.milky-way-header div.header-title.second-title{font-size:45px;font-weight:300;letter-spacing:.5px;margin-bottom:0}.milky-way-header div.header-title:last-of-type{margin-bottom:1.5rem}.milky-way-header div.sub-title{color:#fff;font-family:var(--font-family-display);font-size:20px;font-weight:200;letter-spacing:2px;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,1)}.milky-way-header #milkyWay{height:100%!important;left:0;opacity:.95;position:absolute;top:0;width:100%!important;z-index:1}.service-rotation{color:#fbbf24;display:inline-block;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.8),0 4px 8px rgba(0,0,0,.6),0 8px 16px rgba(0,0,0,.4),0 1px 2px rgba(0,0,0,1);transition:opacity .6s ease-in-out,transform .6s ease-in-out}.main{position:relative;z-index:1}.section{align-items:center;display:flex;opacity:0;padding:100px 0;scroll-margin-top:var(--nav-height);transform:translateY(10px);transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94);visibility:hidden}.section.section-active{opacity:1;transform:translateY(0);visibility:visible}.section .container>*{opacity:0;transform:translateY(8px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.46,.45,.94);transition-delay:.05s}.section.section-active .container>*{opacity:1;transform:translateY(0)}.section.section-active .container>*:nth-child(1){transition-delay:.02s}.section.section-active .container>*:nth-child(2){transition-delay:.05s}.section.section-active .container>*:nth-child(3){transition-delay:.08s}.section.section-active .container>*:nth-child(4){transition-delay:.11s}#contact.section{background:var(--color-darkest);overflow:hidden;padding:75px 0 100px;position:relative}#contact.section .section-title{margin-bottom:1rem;text-shadow:1px 3px 4px rgba(0,0,0,.2),0 5px 5px rgba(0,0,0,.6),0 1px 10px rgba(0,0,0,.4),1px 3px 4px rgba(0,0,0,1)}#cometCanvas{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}#contact.section:after{background:linear-gradient(to top,var(--color-darkest) 0%,transparent 100%);bottom:0;content:"";height:25%;left:0;position:absolute;width:100%;z-index:2}#contact .container{position:relative;z-index:3}#contact .section-title,#contact .contact-description{color:#fff}#contact .contact-link{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;transition:all .3s ease}#contact .contact-link:hover{border-color:#fff;color:#fff;transform:translateY(-3px)}#contact .contact-icon svg{fill:currentColor}.bio-content>*{opacity:0;transform:translateY(8px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.46,.45,.94)}.section-active .bio-content>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.05s}.section-active .bio-content>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.08s}.section-active .bio-content>*:nth-child(3){opacity:1;transform:translateY(0);transition-delay:.11s}.section-active .bio-content>*:nth-child(4){opacity:1;transform:translateY(0);transition-delay:.14s}.skills-grid .skill-card{opacity:0;transform:translateY(10px) scale(.99);transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94)}.skills-grid .skill-card.skill-card-visible,.section-active .skills-grid .skill-card{opacity:1;transform:translateY(0) scale(1)}.section-active .skills-grid .skill-card:nth-child(1){transition-delay:.02s}.section-active .skills-grid .skill-card:nth-child(2){transition-delay:.05s}.section-active .skills-grid .skill-card:nth-child(3){transition-delay:.08s}.section-active .skills-grid .skill-card:nth-child(4){transition-delay:.11s}.section-active .skills-grid .skill-card:nth-child(5){transition-delay:.14s}.section-active .skills-grid .skill-card:nth-child(6){transition-delay:.17s}.section-active .skills-grid .skill-card:nth-child(7){transition-delay:.2s}.section-active .skills-grid .skill-card:nth-child(8){transition-delay:.23s}.section-active .skills-grid .skill-card:nth-child(9){transition-delay:.26s}.contact-content>*{opacity:0;transform:translateY(8px);transition:opacity .3s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.46,.45,.94)}.section-active .contact-content>*:nth-child(1){opacity:1;transform:translateY(0);transition-delay:.05s}.section-active .contact-content>*:nth-child(2){opacity:1;transform:translateY(0);transition-delay:.08s}.contact-links .contact-link{opacity:0;transform:translate(-10px);transition:all .3s cubic-bezier(.25,.46,.45,.94)}.section-active .contact-links .contact-link:nth-child(1){opacity:1;transform:translate(0);transition-delay:.2s}.section-active .contact-links .contact-link:nth-child(2){opacity:1;transform:translate(0);transition-delay:.25s}.section-active .contact-links .contact-link:nth-child(3){opacity:1;transform:translate(0);transition-delay:.3s}.section:not(.section-active){transition:all .4s cubic-bezier(.55,.085,.68,.53)}.section:not(.section-active) .container>*,.section:not(.section-active) .bio-content>*,.section:not(.section-active) .skills-grid .skill-card,.section:not(.section-active) .contact-content>*,.section:not(.section-active) .contact-links .contact-link{transition-delay:0s;opacity:0;transform:translateY(8px)}.container{margin:0 auto;max-width:1000px;padding:0 2rem;width:100%}.section-title{color:var(--accent-color);font-family:var(--font-family-display);font-size:2.5rem;font-weight:300;letter-spacing:-.02em;line-height:1.2;margin-bottom:3rem;text-align:center}.bio-content{margin:0 auto;max-width:700px;text-align:center}.bio-content .profile-image-container{display:flex;justify-content:center;margin-bottom:1rem}.bio-content .profile-image-container img{-moz-box-shadow:2px 10px 21px 0px rgba(0,0,0,.69);-webkit-box-shadow:2px 10px 21px 0px rgba(0,0,0,.69);border:4px solid #fff;border-radius:50%;box-shadow:2px 10px 21px #000000b0;object-fit:cover;object-position:center;transition:all .3s ease;width:200px}.bio-content .profile-image-container img:hover{box-shadow:2px 13px 31px #0000007d;transform:translateY(-5px) scale(1.02)}.bio-content .profile-image-container .image-container{transform:translateY(0) scale(1);transition:all .3s ease}.bio-content .profile-image-container .image-container:hover{transform:translateY(-5px) scale(1.2)}.bio-content .bio-title{color:var(--accent-color);font-family:var(--font-family-display);font-size:4rem;font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:5px}.bio-content .bio-subtitle{color:var(--text-secondary);font-family:var(--font-family-display);font-size:1.5rem;font-weight:300;letter-spacing:-.01em;margin-bottom:2.5rem}.bio-content .bio-subtitle span{font-weight:500}.bio-content .bio-text{color:var(--text-secondary);font-size:1rem;font-weight:300;line-height:1.6;margin:0 auto;max-width:600px}.bio-content .bio-text p{margin-bottom:1.5rem}.bio-content .bio-text p:last-child{margin-bottom:0}#skills.section{padding:75px 0 100px}.skills-grid{border-radius:8px;display:flex;flex-wrap:wrap;margin:0 auto;max-width:1000px;overflow:hidden}.skills-grid .skill-card{align-items:center;background:transparent;border:none;border-bottom:1px solid var(--color-darkest);border-right:1px solid var(--color-darkest);display:flex;flex:0 0 calc(33.333% - 2px);flex-direction:column;justify-content:center;padding:2.5em 1rem;position:relative;text-align:center;transition:var(--transition)}.skills-grid .skill-card:nth-child(3n){border-right:none}.skills-grid .skill-card.no-border{border-bottom:none}.skills-grid .skill-card:hover{transform:none}.skills-grid .skill-card:hover .skill-icon{transform:translateY(-5px) scale(1.05)}.skills-grid .skill-card .skill-icon{color:var(--color-darkest);fill:var(--color-darkest);height:60px;margin:0 auto 10px;transition:transform .3s ease;width:60px}.skills-grid .skill-card .skill-name{color:var(--color-darkest);font-family:var(--font-family-display);font-size:12px;font-weight:300;letter-spacing:1px;margin-bottom:.5rem;text-transform:uppercase}.skills-grid .skill-card .skill-level{color:var(--color-dark);font-size:.8rem;font-weight:400}.comet{animation:fall 3s linear infinite;background:linear-gradient(to bottom,#fff,#fff0);box-shadow:0 0 10px #fffc;height:20px;position:absolute;width:3px}@keyframes fall{0%{opacity:1;transform:translate(0) rotate(45deg)}to{opacity:0;transform:translate(-100vw,100vh) rotate(45deg)}}.footer-section{opacity:1!important;padding:25px 0;transform:none!important;visibility:visible!important}.footer{opacity:1!important;text-align:center;transform:translateY(0);transition:opacity .3s cubic-bezier(.25,.46,.45,.94)}.footer p{color:var(--text-secondary);font-size:12px;font-weight:400;letter-spacing:1px;opacity:1!important}.footer .project-line{font-size:.85rem;margin-bottom:0}.footer .project-line a{color:var(--accent-color);text-decoration:none;transition:var(--transition)}.footer .project-line a:hover{color:var(--text-primary)}@media (max-width: 768px){#skills.section{padding:50px 0}.skills-grid{max-width:100%}.skills-grid .skill-card{border-bottom:1px solid #c7c7c7;border-right:none;flex:1 1 calc(50% - 1px);min-height:120px;padding:2.5rem 1rem;width:70%}.skills-grid .skill-card:nth-child(odd){border-right:1px solid #c7c7c7}.skills-grid .skill-card:nth-last-child(-n+2){border-bottom:none}.skills-grid .skill-card .skill-icon{height:45px;margin-bottom:5px;width:45px}.skills-grid .skill-card .skill-name{font-size:.9rem;margin-bottom:0}}.contact-content{margin:0 auto;max-width:600px;text-align:center}.contact-content .contact-description{color:var(--text-secondary);font-size:1rem;font-weight:300;line-height:1.6;margin-bottom:3rem}.contact-content .contact-links{align-items:center;display:flex;gap:.5rem;justify-content:center}.contact-content .contact-links .contact-link{align-items:center;border-radius:8px;color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:1.1rem;font-weight:500;letter-spacing:-.01em;padding:1rem;text-decoration:none;transition:all .3s ease}.contact-content .contact-links .contact-link:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-2px)}.contact-content .contact-links .contact-link .contact-icon{font-size:1.2rem}@media (max-width: 768px){:root{--nav-height: 70px}.nav .nav-container{padding:1rem}.nav .nav-menu{gap:1rem}.nav .nav-link:after{transition:width .2s ease-out}.nav .nav-link:hover:after{width:0}.nav .nav-link.active:after{width:100%}.bio-content .profile-image-container{margin-bottom:1.5rem}.bio-content .profile-image-container img{border-width:3px;height:150px;width:150px}.bio-content .bio-title{font-size:2.5rem;margin-bottom:5px}.bio-content .bio-subtitle{font-size:1.3rem;line-height:1.2;max-width:80%;margin:10px auto 2rem}.bio-content .bio-text{font-size:.8rem;line-height:1.7;padding:0 2rem}.bio-content .bio-text p{font-weight:300}.section{padding:50px 0}.section-title{font-size:2rem}.skills-grid{align-items:center;flex-direction:row}.contact-content .contact-links{align-items:stretch}.container{padding:1rem}.milky-way-header{height:60vh;min-height:60vh}.milky-way-header .header-content-container{padding:1.5rem}.milky-way-header div.header-title{font-size:45px;margin-bottom:.75rem}.milky-way-header div.header-title.intro-title{margin-bottom:.25rem}.milky-way-header div.header-title.second-title{font-size:30px;font-weight:300;margin-bottom:.5rem}.milky-way-header div.header-title:last-of-type{margin-bottom:1rem}.milky-way-header div.sub-title{font-size:13px}.service-rotation{display:inline-block}#contact .container{padding:1rem}.footer{border-color:#333;color:#9ca3af;transform:translateY(0)!important}.section.footer-section{padding:25px 0}.section.footer-section .container{margin:0 auto;padding:0}}@media (max-width: 480px){.milky-way-header .header-content-container{padding:1rem}.bio-content .profile-image-container img{height:120px;width:120px}}.profile-image-container img{animation:fadeInImage .8s ease-out .5s forwards;opacity:0}@keyframes fadeInImage{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}.service-rotation{transition:none!important}.profile-image-container img{animation:none!important;opacity:1!important;transform:none!important}.profile-image-container img:hover{transform:none!important}}@media (prefers-color-scheme: dark){body{background-color:#fff;color:var(--color-darkest)}.card{background:#1f1f1f;border-color:#333}.card h2{color:#fff}.card code{background:#333;color:#fbbf24}}.form-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:2000;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.form-container.form-active{opacity:1;visibility:visible}.form-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#fffc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:2rem}.form-content{background:#fff;border-radius:12px;padding:2rem;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;position:relative;transform:translateY(20px);transition:transform .3s ease}.form-container.form-active .form-content{transform:translateY(0)}.form-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:var(--text-secondary);transition:color .3s ease;padding:.5rem;line-height:1}.form-close:hover{color:var(--accent-color)}.form-content h3{font-family:var(--font-family-display);font-size:1.8rem;font-weight:300;margin-bottom:1.5rem;color:var(--accent-color);text-align:center}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:300;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--color-light);border-radius:6px;font-family:var(--font-family);font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color)}.form-group textarea{resize:vertical;min-height:120px}.form-content button[type=submit]{width:100%;padding:1rem;background:var(--accent-color);color:#fff;border:none;border-radius:6px;font-family:var(--font-family);font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.form-content button[type=submit]:hover:not(:disabled){background:var(--color-dark)}.form-content button[type=submit]:disabled{opacity:.7;cursor:not-allowed}.contact-trigger{cursor:pointer}.contact-trigger .contact-icon{transition:transform .3s ease}.contact-trigger:hover .contact-icon{transform:scale(1.1)}
