@import url(https://fonts.googleapis.com/css2?family=Rubik+Mono+One&family=Ledger&family=Inter:wght@300;400;500;600&display=swap);:root{--vh:1vh;--bg-primary:#050505;--bg-card:#141414cc;--surface-color:#121212;--primary-color:#de2e2e;--primary-glow:#de2e2e80;--text-primary:#fff;--text-secondary:#a1a1aa;--accent-gradient:linear-gradient(135deg,#de2e2e,#ff6b6b);--border-light:#ffffff1a;--border-hover:#de2e2e80;--font-heading:"Rubik Mono One",sans-serif;--font-body:"Ledger",serif;--font-ui:"Inter",sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body,html{overflow-x:hidden}body{background-color:#050505;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);font-family:Ledger,serif;font-family:var(--font-body);line-height:1.6;touch-action:manipulation}h1,h2,h3,h4,h5,h6{font-family:Rubik Mono One,sans-serif;font-family:var(--font-heading);font-weight:400;margin-bottom:2rem;text-transform:uppercase}a{color:inherit;text-decoration:none;transition:all .3s ease}section{padding:8rem 0;position:relative}#hero{padding:4rem 0 0}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#050505;background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:#333;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#de2e2e;background:var(--primary-color)}::selection{background:#de2e2e;background:var(--primary-color);color:#fff}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.highlight{color:#de2e2e;color:var(--primary-color)}.btn{border:none;border-radius:50px;cursor:pointer;display:inline-block;font-family:Inter,sans-serif;font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.05em;padding:.8rem 2rem;text-transform:uppercase;transition:all .3s ease}.btn-primary{background:#de2e2e;background:var(--primary-color);box-shadow:0 4px 15px #de2e2e80;box-shadow:0 4px 15px var(--primary-glow);color:#fff}.btn-primary:hover{box-shadow:0 8px 25px #de2e2e80;box-shadow:0 8px 25px var(--primary-glow);transform:translateY(-2px)}.btn-outline{background:#0000;border:1px solid #ffffff1a;border:1px solid var(--border-light);color:#fff}.btn-outline:hover{border-color:#de2e2e;border-color:var(--primary-color);color:#de2e2e;color:var(--primary-color)}@media (max-width:768px){section{padding:4rem 0}.container{padding:0 1.5rem}h2{font-size:2rem!important;margin-bottom:2rem!important}}@media (max-width:430px){section{padding:3rem 0}.container{padding:0 1rem}h2{font-size:1.5rem!important;margin-bottom:1.5rem!important}.btn{font-size:.85rem;padding:.65rem 1.25rem}}.navbar{align-items:center;background:#0000;display:flex;justify-content:space-between;left:0;padding:1.5rem 2rem;position:fixed;top:0;transition:all .3s ease;width:100%;z-index:1000}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050505e6;border-bottom:1px solid var(--border-light);padding:1rem 2rem}.logo,.nav-logo{color:#fff;font-family:var(--font-heading);font-size:1.5rem;letter-spacing:-.05em}.logo span,.nav-logo span{color:var(--primary-color)}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:var(--text-secondary);font-family:var(--font-ui);font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.nav-links a.active,.nav-links a:hover{color:#fff}.hamburger,.nav-close-wrap{display:none}.hamburger{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;cursor:pointer;flex-direction:column;gap:5px;justify-content:center;min-height:44px;min-width:44px;padding:12px;touch-action:manipulation}.hamburger .bar{background:#fff;border-radius:1px;display:block;height:2px;transition:transform .3s ease,opacity .3s ease;width:22px}.hamburger.open .bar:first-child{transform:translateY(7px) rotate(45deg)}.hamburger.open .bar:nth-child(2){opacity:0}.hamburger.open .bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}@media (max-width:768px){.hamburger{display:flex}.nav-links{-webkit-tap-highlight-color:transparent;-webkit-overflow-scrolling:touch;align-items:center;background:var(--bg-primary);contain:layout style paint;flex-direction:column;height:100vh;height:calc(var(--vh, 1vh)*100);height:100dvh;justify-content:center;max-height:100vh;max-height:100dvh;overflow-y:auto;position:fixed;right:0;top:0;transform:translate3d(100%,0,0);transition:transform .4s cubic-bezier(.16,1,.3,1);width:100%}.nav-links.open{transform:translateZ(0)}.nav-close-wrap{display:list-item;list-style:none;position:absolute;right:0;top:0}.nav-close{-webkit-tap-highlight-color:transparent;align-items:center;background:#0000;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.5rem;height:44px;justify-content:center;position:absolute;right:1rem;top:1rem;touch-action:manipulation;width:44px;z-index:10}.nav-close:hover{color:var(--primary-color)}.nav-links{gap:0;padding:2rem 1rem}.nav-links li{text-align:center;width:100%}.nav-links a{color:#fff;display:block;font-family:var(--font-heading);font-size:clamp(1.25rem,5vw,2rem);padding:.75rem .5rem;width:100%}.nav-links a.active,.nav-links a:hover{color:var(--primary-color)}}@media (max-width:430px){.navbar{padding:1rem}.nav-close{font-size:1.35rem;height:40px;right:.75rem;top:.75rem;width:40px}.nav-logo{font-size:1.25rem}.hamburger .bar{height:2px;width:20px}.hamburger.open .bar:first-child{transform:translateY(6px) rotate(45deg)}.hamburger.open .bar:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.nav-links a{font-size:clamp(1rem,4.5vw,1.5rem);padding:.65rem .5rem}}.hero-section{background:var(--bg-primary);display:flex;flex-direction:column;justify-content:center;min-height:100vh;min-height:calc(var(--vh, 1vh)*100);min-height:100dvh;overflow:hidden;padding-top:4rem;position:relative}.hero-3d-layer{height:100%;left:0;mask-image:linear-gradient(180deg,#000 80%,#0000);-webkit-mask-image:linear-gradient(180deg,#000 80%,#0000);opacity:.6;pointer-events:all;position:absolute;top:0;width:100%;z-index:0}.hero-content{display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;max-width:1400px;padding:0 5vw;pointer-events:none;width:100%;z-index:2}.hero-footer-row,.hero-line,.scroll-indicator{pointer-events:auto}.hero-text-stack{align-items:flex-start;display:flex;flex-direction:column;line-height:.85;margin-bottom:4rem}.hero-line{font-family:var(--font-heading);font-size:8vw;letter-spacing:-.02em;text-shadow:0 10px 30px #00000080;text-transform:uppercase;transition:all .5s ease;white-space:nowrap}.solid-text{color:var(--text-primary)}.outline-text{-webkit-text-stroke:1px #ffffff4d;color:#0000}.hero-line:hover{-webkit-text-stroke:0;color:var(--primary-color);transform:translateX(20px)}.hero-footer-row{align-items:flex-end;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;padding-top:2rem}.hero-subtitle{color:var(--text-secondary);font-family:var(--font-body);font-size:1.2rem;max-width:400px}.scroll-indicator{animation:bounce 2s infinite;color:var(--text-primary);font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.1em}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}@media (max-width:768px){.hero-line{font-size:14vw}.hero-footer-row{align-items:flex-start;flex-direction:column;gap:2rem}}@media (max-width:430px){.hero-content{padding:0 1rem}.hero-line{font-size:clamp(1.1rem,7vw,1.5rem);white-space:normal}.hero-text-stack{margin-bottom:2rem}.hero-footer-row{gap:1.25rem;padding-top:1.5rem}.hero-subtitle{font-size:1rem}.scroll-indicator{font-size:.8rem}}#about h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4rem;text-align:center}.about-content{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1.5fr 1fr;margin:0 auto;max-width:1000px}.about-text p{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:1.5rem}.about-image{border-radius:20px;box-shadow:0 20px 40px -10px #00000080;overflow:hidden;position:relative}.about-image img{border-radius:20px;display:block;transition:transform .5s ease;width:100%}.about-image:hover img{transform:scale(1.05)}.resume-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.resume-download-btn{align-items:center;background:var(--primary-color);border:1px solid var(--primary-color);border-radius:50px;box-shadow:0 4px 15px var(--primary-glow);color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.05em;padding:.8rem 2rem;text-transform:uppercase;transition:all .3s ease}.resume-download-btn:hover{box-shadow:0 8px 25px var(--primary-glow);transform:translateY(-2px)}.resume-download-btn.outline{background:#0000;border-color:var(--border-light);box-shadow:none;color:var(--text-secondary)}.resume-download-btn.outline:hover{background:#de2e2e1a;border-color:var(--primary-color);color:#fff}.pdf-modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#000000e6}.pdf-modal-content{background:var(--bg-card);border-radius:16px;overflow:hidden}.pdf-modal-close{align-items:center;background:#00000080;border-radius:50%;display:flex;height:40px;justify-content:center;right:1rem;top:1rem;width:40px}@media (max-width:768px){.about-content{gap:2rem;grid-template-columns:1fr}}@media (max-width:430px){#about h2{font-size:1.75rem!important;margin-bottom:2rem!important}.about-content{gap:1.5rem}.about-text p{font-size:1rem}.resume-buttons{align-items:center;flex-direction:column;gap:.75rem;margin-top:1.5rem}.resume-download-btn{font-size:.85rem;padding:.65rem 1.5rem}.pdf-modal-content{height:85vh;width:95vw}.pdf-modal-close{height:36px;right:.5rem;top:.5rem;width:36px}}#projects h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:5rem;text-align:center}.projects-container{display:flex;flex-direction:column;gap:6rem;margin:0 auto;max-width:1400px;padding:0 2rem}.project-row{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr}.project-row.reverse .project-visual{order:2}.project-row.reverse .project-info{order:1}.project-visual{border-radius:4px;cursor:pointer;overflow:hidden;position:relative}.project-visual img{display:block;filter:brightness(.9);height:auto;transition:transform .6s cubic-bezier(.16,1,.3,1);width:100%}.project-visual:hover img{filter:brightness(1.1);transform:scale(1.03)}.project-info{display:flex;flex-direction:column;justify-content:center}.project-type{color:var(--primary-color);font-family:var(--font-ui);font-size:.8rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-transform:uppercase}.project-title{color:#fff;font-family:var(--font-heading);font-size:2.5rem;line-height:1.1;margin-bottom:1.5rem}.project-desc{color:var(--text-secondary);font-family:var(--font-body);font-size:1.1rem;line-height:1.7;margin-bottom:2rem;max-width:90%}.project-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:2.5rem}.project-tag{border-bottom:1px solid #fff3;color:var(--text-secondary);font-family:var(--font-ui);font-size:.85rem;padding:.2rem 0}.project-actions{display:flex;gap:1.5rem;justify-content:center}.btn-text{background:none;border:none;border-bottom:2px solid var(--primary-color);color:#fff;cursor:pointer;font-family:var(--font-ui);font-weight:600;letter-spacing:.05em;padding-bottom:5px;text-transform:uppercase;transition:all .3s ease}.btn-text:hover{color:var(--primary-color);padding-bottom:8px}.pdf-modal-overlay{align-items:center;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.pdf-modal-content{background:#111;height:90vh;position:relative;width:90vw}.pdf-modal-close{background:none;border:none;color:#fff;cursor:pointer;font-size:2rem;position:absolute;right:20px;top:20px;z-index:10}@media (max-width:768px){.project-row{gap:2rem;grid-template-columns:1fr;margin-bottom:4rem}.project-row.reverse .project-info,.project-row.reverse .project-visual{order:0}.project-title{font-size:2rem}}@media (max-width:430px){#projects h2{font-size:1.75rem!important;margin-bottom:2.5rem!important}.projects-container{gap:4rem;padding:0 1rem}.project-row{gap:1.5rem;margin-bottom:3rem}.project-type{font-size:.75rem}.project-title{font-size:clamp(1.25rem,6vw,1.75rem)}.project-desc{font-size:1rem;max-width:100%}.project-tags{gap:.5rem}.project-tag{font-size:.75rem}.project-actions{align-items:center;flex-direction:column;gap:.75rem}.pdf-modal-content{height:80vh;width:95vw}.pdf-modal-close{font-size:1.5rem;right:.75rem;top:.75rem}}#experience h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4rem;text-align:center}.experience-container{display:flex;flex-direction:column;gap:3rem;margin:0 auto;max-width:900px}.experience-tabs{border-bottom:1px solid var(--border-light);display:flex;gap:3rem;justify-content:center;padding-bottom:0}.experience-tabs button{background:#0000;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-ui);font-size:1.1rem;font-weight:500;padding:1rem 0;position:relative;transition:color .3s ease}.experience-tabs button:hover{color:#fff}.experience-tabs button.active{color:var(--primary-color)}.experience-tabs button.active:after{background:var(--primary-color);bottom:-1px;box-shadow:0 0 10px var(--primary-color);content:"";height:2px;left:0;position:absolute;width:100%}.experience-content{animation:fadeIn .4s ease}.experience-header{margin-bottom:2rem}.experience-header h3{font-size:1.8rem;font-weight:600;margin-bottom:.5rem}.experience-header .company,.experience-link-btn{color:var(--primary-color)}.experience-link-btn{background:#0000;border:1px solid var(--primary-color);border-radius:50px;display:inline-block;font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.05em;margin-top:1rem;padding:.5rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.experience-link-btn:hover{background:var(--primary-color);color:#fff}.experience-header .range{color:var(--text-secondary);font-family:var(--font-ui);font-size:.9rem}.experience-content ul{display:flex;flex-direction:column;gap:1rem;list-style:none}.experience-content ul li{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;padding-left:1.5rem;position:relative}.experience-content ul li:before{color:var(--primary-color);content:"▹";left:0;position:absolute}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.experience-tabs{align-items:flex-start;border-bottom:none;border-left:2px solid var(--border-light);flex-direction:column;gap:0;margin-bottom:2rem;padding-left:0}.experience-tabs button{border-left:2px solid #0000;margin-left:-2px;padding:.8rem 1.5rem;text-align:left;width:100%}.experience-tabs button.active:after{display:none}.experience-tabs button.active{background:#ffffff05;border-left-color:var(--primary-color)}}@media (max-width:430px){#experience h2{font-size:1.75rem!important;margin-bottom:2rem!important}.experience-container{gap:2rem}.experience-tabs button{font-size:.95rem;padding:.65rem 1rem}.experience-header h3{font-size:1.4rem}.experience-content ul li{font-size:.95rem;padding-left:1.25rem}}#skills h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4rem;text-align:center}.skills-container{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin:0 auto;max-width:1000px}.skill-category{padding:0;transition:transform .3s ease}.skill-category h3{border-bottom:2px solid var(--border-light);color:var(--primary-color);display:inline-block;font-family:var(--font-heading);font-size:1.1rem;letter-spacing:.05em;margin-bottom:1.5rem;padding-bottom:.5rem;text-transform:uppercase}.skill-category ul{display:flex;flex-direction:column;gap:.8rem;list-style:none}.skill-category ul li{align-items:center;color:var(--text-secondary);cursor:pointer;display:flex;font-family:var(--font-body);font-size:1.1rem;gap:10px;position:relative;transition:all .3s ease}.skill-category ul li:before{background:var(--text-secondary);border-radius:50%;content:"";height:6px;opacity:.5;transition:all .3s ease;width:6px}.skill-category ul li:hover{color:#fff;transform:translateX(5px)}.skill-category ul li:hover:before{background:var(--primary-color);opacity:1}.skill-tooltip{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a0a0af2;border:1px solid var(--primary-color);border-radius:8px;box-shadow:0 10px 30px #00000080;max-width:300px;opacity:0;padding:1rem;pointer-events:none;position:fixed;transform:scale(.95);transition:opacity .2s ease,transform .2s ease;z-index:9999}.skill-tooltip.visible{opacity:1;transform:scale(1)}.tooltip-title{color:var(--primary-color);font-family:var(--font-heading);font-size:.9rem;margin-bottom:.5rem;text-transform:uppercase}.tooltip-context{color:#fff;font-family:var(--font-body);font-size:.9rem;line-height:1.5}@media (max-width:768px){.skill-tooltip{display:none}}@media (max-width:430px){#skills h2{font-size:1.75rem!important;margin-bottom:2rem!important}.skills-container{gap:2.5rem;grid-template-columns:1fr;padding:0 1rem}.skill-category h3,.skill-category ul li{font-size:1rem}}.honours-section h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:4rem;text-align:center}.honours-timeline-grid{display:flex;flex-direction:column;margin:0 auto;max-width:900px}.honour-timeline-card{grid-gap:2rem;align-items:flex-start;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:none;border-bottom:1px solid var(--border-light);border-radius:0;display:grid;gap:2rem;grid-template-columns:1fr 2fr;padding:2rem 0;transition:all .3s ease}.honour-timeline-card:hover{border-bottom-color:var(--primary-color);transform:translateX(10px)}.honour-timeline-card:last-child{border-bottom:none}.honour-badge-row{align-items:flex-start;display:flex;gap:1rem}.honour-badge{font-size:1.2rem;margin-top:2px}.honour-title{color:#fff;font-family:var(--font-heading);font-size:1.1rem;letter-spacing:.02em;line-height:1.4;text-transform:uppercase}.honour-description{border:none;color:var(--text-secondary);font-family:var(--font-body);font-size:1.05rem;line-height:1.7;margin:0;padding:0}@media (max-width:768px){.honour-timeline-card{gap:1rem;grid-template-columns:1fr}}@media (max-width:430px){.honours-section h2{font-size:1.75rem!important;margin-bottom:2rem!important}.honour-timeline-card{gap:.75rem;padding:1.5rem 0}.honour-badge,.honour-title{font-size:1rem}.honour-description{font-size:.95rem}}.contact-section{overflow:hidden;padding:10rem 0;position:relative}.contact-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:900px;padding:0 2rem;text-align:center}.contact-subtitle{color:var(--primary-color);display:block;font-family:var(--font-ui);font-size:.9rem;font-weight:600;letter-spacing:.2em;margin-bottom:2rem;text-transform:uppercase}.contact-title{color:#fff;font-size:4.5rem;font-weight:700;line-height:1.1;margin-bottom:3rem;text-transform:uppercase}.contact-text{color:var(--text-secondary);font-family:var(--font-body);font-size:1.2rem;line-height:1.8;margin-bottom:4rem;max-width:600px}.email-link{align-items:center;border-bottom:2px solid var(--border-light);color:#fff;display:inline-flex;font-family:var(--font-heading);font-size:2rem;gap:1rem;padding-bottom:10px;text-decoration:none;transition:all .3s cubic-bezier(.16,1,.3,1)}.email-link:hover{border-color:var(--primary-color);color:var(--primary-color);padding-bottom:15px}.arrow-icon{font-size:1.5rem;transform:rotate(-45deg);transition:transform .3s ease}.email-link:hover .arrow-icon{transform:rotate(0deg) translateX(5px)}.contact-status{align-items:center;background:#ffffff08;border:1px solid var(--border-light);border-radius:50px;display:inline-flex;gap:.8rem;margin-top:4rem;padding:.8rem 1.5rem}.status-dot{animation:pulse 2s infinite;background:#4ade80;border-radius:50%;box-shadow:0 0 10px #4ade80;height:10px;width:10px}.contact-status span:last-child{color:var(--text-secondary);font-family:var(--font-ui);font-size:.9rem;font-weight:500}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-width:768px){.contact-title{font-size:2.5rem}.email-link{flex-wrap:wrap;font-size:1.2rem;justify-content:center}.contact-section{padding:6rem 0}}@media (max-width:430px){.contact-section{padding:4rem 0}.contact-container{padding:0 1rem}.contact-subtitle{font-size:.8rem;letter-spacing:.15em}.contact-title{font-size:clamp(1.5rem,8vw,2rem);margin-bottom:2rem}.contact-text{font-size:1rem;margin-bottom:2.5rem}.email-link{font-size:clamp(.95rem,4vw,1.1rem);gap:.5rem;padding-bottom:8px}.contact-status{flex-direction:column;gap:.5rem;padding:.65rem 1rem;text-align:center}.contact-status span:last-child{font-size:.85rem}}.site-footer{background:#000;border-top:1px solid var(--border-light);color:#fff;padding:6rem 2rem 2rem}.footer-content{align-items:flex-start;display:flex;flex-wrap:wrap;gap:4rem;justify-content:space-between;margin:0 auto 4rem;max-width:1200px}.footer-brand .footer-logo{font-family:var(--font-heading);font-size:2rem;font-weight:700}.footer-brand p{color:var(--text-secondary);font-size:.9rem;margin-top:1rem;max-width:200px}.footer-links{display:flex;gap:2rem}.footer-links a{color:var(--text-secondary);font-family:var(--font-ui);font-size:.85rem;letter-spacing:.05em;text-decoration:none;text-transform:uppercase;transition:color .3s ease}.footer-links a:hover{color:#fff}.footer-socials{display:flex;gap:1.5rem}.footer-socials a{color:#fff;font-size:1.5rem;transition:transform .3s ease,color .3s ease}.footer-socials a:hover{color:var(--primary-color);transform:translateY(-3px)}.footer-bottom{border-top:1px solid #ffffff1a;color:var(--text-tertiary);font-size:.8rem;padding-top:2rem;text-align:center}@media (max-width:768px){.footer-content{align-items:center;flex-direction:column;gap:2rem;text-align:center}.footer-links{flex-direction:column;gap:1rem}}@media (max-width:430px){.site-footer{padding:4rem 1rem 1.5rem}.footer-content{gap:1.5rem;margin-bottom:2.5rem}.footer-brand .footer-logo{font-size:1.5rem}.footer-brand p{font-size:.85rem}.footer-links a{font-size:.8rem}.footer-socials{gap:1rem}.footer-socials a{font-size:1.25rem}.footer-bottom{font-size:.75rem;padding-top:1.5rem}}.scroll-to-top{align-items:center;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#000;border:1px solid var(--border-light);border-radius:4px;bottom:2rem;color:#fff;contain:layout style paint;cursor:pointer;display:flex;font-size:1.2rem;height:50px;justify-content:center;opacity:0;pointer-events:none;position:fixed;right:2rem;transform:translate3d(0,20px,0);transition:opacity .3s ease,transform .3s ease;width:50px;z-index:1000}.scroll-to-top.visible{opacity:1;pointer-events:all;transform:translateZ(0)}.scroll-to-top:hover{background:var(--primary-color);border-color:var(--primary-color);transform:translate3d(0,-5px,0)}@media (max-width:430px){.scroll-to-top{bottom:1.25rem;font-size:1rem;height:44px;right:1.25rem;width:44px}}.grid-background-container{background-color:initial;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%;z-index:-1}.grid-pattern{background-image:linear-gradient(90deg,#ffffff0d 1px,#0000 0),linear-gradient(180deg,#ffffff0d 1px,#0000 0);background-size:50px 50px;mask-image:linear-gradient(180deg,#0000,#000 10%,#000 90%,#0000);-webkit-mask-image:linear-gradient(180deg,#0000,#000 10%,#000 90%,#0000)}.grid-glow,.grid-pattern{inset:0;position:absolute}.grid-glow{z-index:1}.oss-section{padding:8rem 0}.oss-container{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:1000px;padding:0 2rem}.oss-header{margin-bottom:4rem;text-align:center}.oss-header h2{font-size:3rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1rem}.oss-header p{color:var(--text-secondary);font-family:var(--font-body);font-size:1.1rem}.oss-grid-advanced{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));justify-content:center;margin-bottom:4rem;width:100%}.oss-stat-card{align-items:center;background:#ffffff08;border:1px solid var(--border-light);border-radius:16px;display:flex;flex-direction:column;justify-content:center;padding:2rem 1.5rem;transition:all .3s ease}.oss-stat-card:hover{background:#de2e2e0d;border-color:var(--primary-color);transform:translateY(-5px)}.oss-icon{color:var(--text-secondary);font-size:2rem;margin-bottom:1rem;transition:color .3s ease}.oss-stat-card:hover .oss-icon{color:var(--primary-color)}.oss-number{color:#fff;font-family:var(--font-heading);font-size:2.5rem;font-weight:700;line-height:1;margin-bottom:.5rem}.oss-label{color:var(--text-secondary);font-family:var(--font-ui);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.oss-contributions{margin-bottom:3rem;width:100%}.oss-contributions h3{color:var(--text-secondary);font-family:var(--font-ui);font-size:1rem;letter-spacing:.1em;margin-bottom:2rem;text-align:center;text-transform:uppercase}.contributions-list{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:700px}.contribution-item{background:#ffffff08;border:1px solid var(--border-light);border-radius:12px;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.5rem;transition:all .3s ease}.contribution-item:hover{background:#ffffff0d;border-color:var(--primary-color);transform:translateX(5px)}.contribution-repo{color:#fff;justify-content:space-between;text-decoration:none;width:100%}.contribution-repo,.repo-icon{align-items:center;display:flex}.repo-icon{color:var(--text-secondary);font-size:1.2rem}.repo-name{color:#e0e0e0;flex-grow:1;font-family:var(--font-mono);font-size:.95rem;margin-left:1rem}.repo-arrow{color:var(--primary-color);font-size:.8rem;opacity:0;transform:translateX(-5px);transition:all .3s ease}.contribution-item:hover .repo-arrow{opacity:1;transform:translateX(0)}.contribution-info{border-top:1px solid #ffffff0d;display:flex;flex-direction:column;gap:.6rem;padding-left:2.2rem;padding-top:.5rem}.contribution-pr{align-items:center;color:var(--text-secondary);display:flex;font-size:.9rem;gap:.75rem;padding:.4rem 0;text-decoration:none;transition:color .3s ease}.contribution-pr:hover{color:#fff}.contribution-pr:not(:last-child){border-bottom:1px solid #ffffff08;padding-bottom:.6rem}.pr-state{align-items:center;border-radius:6px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.4rem;letter-spacing:.05em;padding:.25rem .6rem;text-transform:uppercase}.pr-state.merged{background:#2ea04326;border:1px solid #2ea0434d;color:#2ea043}.pr-state.open{background:#2188ff26;border:1px solid #2188ff4d;color:#2188ff}.pr-title{color:var(--text-secondary);flex:1 1;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease;white-space:nowrap}.contribution-pr:hover .pr-title{color:#fff}.oss-cta{margin-top:2rem;text-align:center}.github-btn{align-items:center;background:#0000;border:1px solid var(--border-light);border-radius:50px;color:#fff;display:inline-flex;font-family:var(--font-ui);font-weight:600;gap:.8rem;letter-spacing:.05em;padding:1rem 2.5rem;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.github-btn:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 5px 20px #de2e2e4d;transform:translateY(-2px)}.no-contributions{color:var(--text-secondary);font-style:italic;text-align:center}@media (max-width:768px){.oss-header h2{font-size:2.5rem}.oss-grid-advanced{grid-template-columns:1fr 1fr}}@media (max-width:430px){.oss-section{padding:4rem 0}.oss-container{padding:0 1rem}.oss-header{margin-bottom:2.5rem}.oss-header h2{font-size:1.75rem!important}.oss-header p{font-size:1rem}.oss-grid-advanced{gap:1rem;grid-template-columns:1fr;margin-bottom:2.5rem}.oss-stat-card{padding:1.25rem 1rem}.oss-number{font-size:2rem}.oss-label{font-size:.7rem}.oss-contributions h3{font-size:.9rem;margin-bottom:1.5rem}.contribution-item{padding:.85rem 1rem}.contribution-info{padding-left:1.5rem}.contribution-pr{font-size:.85rem}.pr-state{font-size:.7rem;padding:.2rem .5rem}.pr-title{white-space:normal}.github-btn{font-size:.9rem;padding:.8rem 1.5rem}}.hobby-container{grid-gap:4rem;align-items:center;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1100px}.hobby-text-side h2{font-size:3rem;margin-bottom:2rem}.hobby-desc{color:var(--text-secondary);font-size:1.1rem;line-height:1.8;margin-bottom:2rem}.hobby-stats{display:flex;gap:2rem;margin-bottom:3rem}.stat{align-items:center;background:#de2e2e1a;border-radius:50px;color:var(--primary-color);display:flex;font-family:var(--font-heading);font-size:.9rem;gap:.5rem;padding:.5rem 1rem}.insta-btn-large{align-items:center;background:var(--surface-color);border:1px solid var(--border-light);border-radius:50px;color:#fff;display:inline-flex;font-family:var(--font-ui);font-weight:600;gap:.8rem;padding:1rem 2rem;transition:all .3s ease}.insta-btn-large:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 10px 30px var(--primary-glow);transform:translateY(-3px)}.hobby-visual-side{display:flex;justify-content:center;perspective:1000px}.vinyl-wrapper{height:350px;position:relative;width:350px}.vinyl-record,.vinyl-wrapper{align-items:center;display:flex}.vinyl-record{background:#111;border-radius:50%;box-shadow:0 10px 40px #000c;height:300px;justify-content:center;position:absolute;right:0;transition:transform .5s ease;width:300px;z-index:0}.vinyl-record.spinning{animation:spin 6s linear infinite}.vinyl-grooves{background:repeating-radial-gradient(#111,#111 2px,#1a1a1a 3px,#111 4px);border:2px solid #222;border-radius:50%;height:280px;position:absolute;width:280px}.vinyl-label{align-items:center;background:var(--accent-gradient);border-radius:50%;box-shadow:0 0 0 5px #000;display:flex;height:100px;justify-content:center;position:relative;width:100px;z-index:2}.vinyl-logo{color:#fff;font-family:var(--font-heading);font-size:2rem}.vinyl-sleeve{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#141414e6;border:1px solid var(--border-light);border-radius:20px;box-shadow:10px 20px 50px #00000080;display:flex;flex-direction:column;height:350px;justify-content:flex-end;left:0;padding:2rem;position:absolute;transition:transform .3s ease;width:240px;z-index:5}.vinyl-wrapper:hover .vinyl-record{transform:translateX(60px) rotate(20deg)}.vinyl-wrapper:hover .vinyl-sleeve{transform:rotateY(-10deg)}.track-info{margin-bottom:2rem}.track-info .label{color:var(--primary-color);display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem}.track-info h3{font-size:1.5rem;line-height:1.2;margin-bottom:.5rem}.track-info p{color:var(--text-secondary);font-family:var(--font-ui);font-size:.9rem}.player-controls{gap:1.5rem}.play-btn,.player-controls{align-items:center;display:flex}.play-btn{background:#fff;border:none;border-radius:50%;color:#000;cursor:pointer;font-size:1.2rem;height:50px;justify-content:center;transition:transform .2s;width:50px}.play-btn:hover{transform:scale(1.1)}.waveform{align-items:center;display:flex;flex-grow:1;gap:3px;height:30px}.bar{background:var(--primary-color);border-radius:2px;flex:1 1;height:20%}.bar.animating{animation:wave 1s ease-in-out infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wave{0%,to{height:20%}50%{height:100%}}@media (max-width:768px){.hobby-container{grid-template-columns:1fr;text-align:center}.hobby-stats{justify-content:center}.vinyl-wrapper{height:300px;margin:0 auto;width:300px}.vinyl-wrapper:hover .vinyl-record{transform:translateX(40px)}}@media (max-width:430px){.hobby-container{gap:2rem;padding:0 1rem}.hobby-text-side h2{font-size:1.75rem!important;margin-bottom:1.5rem}.hobby-desc{font-size:1rem;margin-bottom:1.5rem}.hobby-stats{flex-wrap:wrap;gap:.75rem;justify-content:center;margin-bottom:2rem}.stat{font-size:.8rem;padding:.4rem .8rem}.insta-btn-large{font-size:.9rem;padding:.8rem 1.5rem}.vinyl-wrapper{height:260px;width:260px}.vinyl-record{height:220px;width:220px}.vinyl-grooves{height:200px;width:200px}.vinyl-sleeve{height:260px;padding:1.25rem;width:180px}.track-info h3{font-size:1.25rem}.track-info p{font-size:.85rem}.play-btn{font-size:1rem;height:44px;width:44px}.vinyl-wrapper:hover .vinyl-record{transform:translateX(30px)}}.terminal-loader{align-items:center;background-color:#0c0c0c;display:flex;font-family:Courier New,Courier,monospace;height:100vh;height:calc(var(--vh, 1vh)*100);height:100dvh;justify-content:center;left:0;position:fixed;top:0;transition:transform .8s cubic-bezier(.7,0,.3,1);width:100vw;width:100dvw;z-index:9999}.terminal-loader.closing{transform:translateY(-100%)}.terminal-window{background-color:#1e1e1e;border:1px solid #333;border-radius:8px;box-shadow:0 20px 60px #00000080;display:flex;flex-direction:column;height:60vh;max-width:800px;overflow:hidden;width:80%}.terminal-header{align-items:center;background-color:#2d2d2d;border-bottom:1px solid #333;display:flex;gap:8px;padding:10px 15px}.terminal-button{border-radius:50%;height:12px;width:12px}.terminal-button.red{background-color:#ff5f56}.terminal-button.yellow{background-color:#ffbd2e}.terminal-button.green{background-color:#27c93f}.terminal-title{color:#999;font-size:.8rem;margin-left:10px}.terminal-body{color:#d4d4d4;flex-grow:1;font-size:1rem;line-height:1.5;overflow-y:auto;padding:20px}.terminal-line{color:#a9b7c6;margin-bottom:8px}.terminal-input-line{align-items:center;display:flex;flex-wrap:wrap}.prompt{color:#61afef;font-weight:700;margin-right:10px}.hidden-input{height:0;left:0;opacity:0;position:absolute;top:0;width:0}.typed-text{color:#d4d4d4;white-space:pre}.cursor{animation:blink 1s step-end infinite;color:#d4d4d4;display:inline-block;margin-left:2px}.terminal-success-msg{color:#98c379}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@media (max-width:768px){.terminal-window{height:50vh;width:95%}}
/*# sourceMappingURL=main.ac1971ed.css.map*/