@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap";:root{--color-bg-primary: #0b0c10;--color-bg-secondary: #1a1a1d;--color-bg-tertiary: #2c2c2e;--color-accent-primary: #c5050c;--color-accent-secondary: #7a003c;--color-accent-gradient: linear-gradient(135deg, #c5050c 0%, #7a003c 100%);--color-text-primary: #e8edf4;--color-text-secondary: #a8b2d1;--color-text-muted: #6b7b9e;--color-glass-bg: rgba(26, 26, 29, .7);--color-glass-border: rgba(197, 5, 12, .2);--font-primary: "Inter", sans-serif;--font-heading: "Space Grotesk", sans-serif;--container-max-width: 1200px;--container-padding: 2rem;--nav-height: 80px;--shadow-sm: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-md: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .1);--shadow-glow: 0 0 20px rgba(197, 5, 12, .3)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{text-decoration:none;color:inherit;transition:.3s ease}ul{list-style:none}button{cursor:pointer;border:none;outline:none;font-family:inherit}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-primary)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.section-padding{padding:5rem 0}.text-gradient{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glass{background:var(--color-glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--color-glass-border)}.navbar{position:fixed;top:0;left:0;width:100%;height:80px;z-index:50;transition:all .3s ease;background:transparent}.navbar.scrolled{background:#0b0c10f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-glass-border)}.navbar-container{display:flex;justify-content:space-between;align-items:center;height:100%}.navbar-logo{cursor:pointer;text-decoration:none}.navbar-logo h1{font-size:1.5rem;font-weight:700;display:flex;gap:2px}.nav-menu-desktop{display:flex;gap:2rem;list-style:none}.nav-item{text-transform:capitalize;font-weight:500;cursor:pointer}.nav-link{color:var(--color-text-secondary);transition:color .3s;text-decoration:none}.nav-link:hover,.nav-link.active{color:var(--color-accent-primary)}.mobile-menu-icon{display:none;cursor:pointer;z-index:60;color:#fff}.mobile-menu-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--color-bg-primary);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:49}.mobile-menu-list{display:flex;flex-direction:column;gap:2rem;text-align:center;list-style:none;padding:0}.mobile-nav-item{text-transform:capitalize;font-size:2rem;cursor:pointer}@media(max-width:768px){.nav-menu-desktop{display:none;padding-left:0}.mobile-menu-icon{display:block}}.hero-section{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:80px}.hero-content-wrapper{position:relative;z-index:1;width:100%}.hero-text-container{max-width:800px}.hero-greeting{color:var(--color-accent-primary);font-size:1.1rem;font-weight:500;margin-bottom:1rem}.hero-title{font-size:clamp(3rem,8vw,5rem);margin-bottom:1rem;line-height:1.1;font-weight:700}.hero-subtitle{font-size:clamp(2rem,5vw,3rem);color:var(--color-text-secondary);margin-bottom:2rem;font-weight:700}.hero-description{font-size:1.1rem;color:var(--color-text-muted);max-width:600px;margin-bottom:3rem;line-height:1.8}.university-highlight{color:var(--color-accent-primary);font-weight:600}.hero-actions{display:flex;gap:1rem}.ui-card{padding:2rem;border-radius:16px;background:var(--color-glass-bg);border:1px solid var(--color-glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);height:100%;display:flex;flex-direction:column}.about-heading{font-size:2.5rem;margin-bottom:3rem;display:flex;align-items:center;gap:1rem}.about-number{color:var(--color-accent-primary);font-family:var(--font-primary);font-size:1.5rem;font-weight:400}.about-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:4rem}.about-text{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:1.5rem}.about-text:last-child{margin-bottom:0}.highlight-accent{color:var(--color-accent-primary)}.education-card-pos{position:relative}.mcmaster-logo{position:absolute;top:2rem;right:2rem;width:5rem;height:auto}.education-icon{font-size:3rem;margin-bottom:1rem;color:var(--color-accent-primary)}.education-school{font-size:1.5rem;margin-bottom:.5rem}.education-degree{font-weight:600;color:var(--color-text-primary)}.education-meta{color:var(--color-text-muted);margin-bottom:.25rem}.education-meta-last{color:var(--color-text-muted);margin-bottom:1.5rem}.coursework-container{border-top:1px solid var(--color-glass-border);padding-top:1.5rem}.coursework-title{margin-bottom:1rem;font-size:1.1rem}.coursework-list{margin-left:1rem}.coursework-item{color:var(--color-text-secondary);margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem}.coursework-bullet{color:var(--color-accent-primary);font-size:.8rem}.skills-heading{font-size:2.5rem;margin-bottom:3rem;display:flex;align-items:center;gap:1rem}.skills-number{color:var(--color-accent-primary);font-family:var(--font-primary);font-size:1.5rem;font-weight:400}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.skill-card{text-align:center}.skill-icon{font-size:3rem;margin-bottom:1.5rem;color:var(--color-accent-secondary)}.skill-category-title{font-size:1.5rem;margin-bottom:1.5rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.skill-tag{background:var(--color-bg-secondary);padding:.5rem 1rem;border-radius:6px;font-size:.9rem;color:var(--color-text-primary);border:1px solid var(--color-glass-border);transition:all .3s ease;cursor:default}.skill-tag:hover{border-color:var(--color-accent-primary);background:var(--color-accent-primary);color:#fff}.projects-heading{font-size:2.5rem;margin-bottom:1rem;display:flex;align-items:center;gap:1rem}.projects-number{color:var(--color-accent-primary);font-family:var(--font-primary);font-size:1.5rem;font-weight:400}.projects-intro{color:var(--color-text-secondary);margin-bottom:3rem;font-size:1.1rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.project-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}.project-card-icon{font-size:2.5rem;color:var(--color-text-primary)}.card-github-link{color:var(--color-text-muted);font-size:1.5rem;transition:color .3s}.card-github-link:hover{color:var(--color-accent-primary)}.project-card-title-link{text-decoration:none}.project-card-title{font-size:1.5rem;margin-bottom:1rem;color:var(--color-text-primary);cursor:pointer;transition:color .3s}.project-card-title:hover{color:var(--color-accent-primary)}.project-card-description{color:var(--color-text-secondary);margin-bottom:1.5rem;min-height:80px}.project-card-highlights{margin-bottom:1.5rem;list-style:none;padding:0}.card-highlight-item{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:flex-start;gap:.5rem}.card-highlight-bullet{color:var(--color-accent-primary);margin-top:4px}.project-card-footer{margin-top:auto}.card-tech-stack{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.card-tech-badge{font-size:.8rem;font-family:monospace;color:var(--color-accent-primary);background:var(--color-bg-secondary);padding:2px 8px;border-radius:4px}.card-view-details-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent-primary);font-weight:600;font-size:.9rem;text-decoration:none;transition:gap .3s}.card-view-details-link:hover{gap:.75rem}.contact-section{margin-bottom:4rem}.contact-container{max-width:800px;text-align:center}.contact-heading{font-size:2.5rem;margin-bottom:2rem;display:flex;align-items:center;justify-content:center;gap:1rem}.contact-number{color:var(--color-accent-primary);font-family:var(--font-primary);font-size:1.5rem;font-weight:400}.contact-text{color:var(--color-text-secondary);font-size:1.2rem;margin-bottom:3rem;line-height:1.8}.email-text{color:var(--color-text-secondary);font-size:1.1rem;margin-bottom:2rem;justify-content:center;align-items:center;display:flex;gap:.5rem}.contact-links{display:flex;justify-content:center;gap:2rem;margin-top:3rem}.contact-icon-link{font-size:1.8rem;color:var(--color-text-secondary);padding:1rem;border:1px solid var(--color-glass-border);border-radius:12px;background:var(--color-glass-bg);transition:all .3s ease;display:flex;align-items:center;justify-content:center}.contact-icon-link:hover{color:#fff;background:var(--color-accent-primary);transform:translateY(-5px);border-color:var(--color-accent-primary)}.project-details-page{padding-top:100px;min-height:100vh;padding-bottom:4rem}.error-container{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center}.error-title{font-size:2rem;margin-bottom:1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:2rem;color:var(--color-text-secondary);text-decoration:none;transition:color .3s}.back-link:hover{color:var(--color-accent-primary)}.project-header-motion{margin-bottom:4rem}.project-header-content{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.project-icon{font-size:3rem;color:var(--color-accent-primary)}.project-title{font-size:clamp(2.5rem,5vw,4rem);line-height:1.1;font-weight:700}.meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:4rem;padding:2rem;background:var(--color-bg-secondary);border-radius:16px;border:1px solid var(--color-glass-border)}.meta-label{color:var(--color-text-muted);font-size:.9rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;text-transform:uppercase;letter-spacing:.5px}.meta-value{font-size:1.1rem;font-weight:500}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background:#c5050c1a;color:var(--color-accent-primary);padding:2px 8px;border-radius:4px;font-size:.9rem}.meta-actions{display:flex;align-items:center}.content-layout{display:grid;grid-template-columns:2fr 1fr;gap:4rem;align-items:start}.narrative-column{display:flex;flex-direction:column;gap:3rem}.section-title{font-size:2rem;margin-bottom:1.5rem;color:var(--color-text-primary)}.section-text{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary)}.features-sidebar{background:var(--color-glass-bg);padding:2rem;border-radius:16px;border:1px solid var(--color-glass-border);position:sticky;top:100px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.features-title{font-size:1.5rem;margin-bottom:1.5rem}.features-list{display:flex;flex-direction:column;gap:1rem;list-style:none;padding:0}.feature-item{display:flex;gap:.75rem;align-items:start;color:var(--color-text-secondary)}.feature-bullet{color:var(--color-accent-primary);margin-top:4px}.gallery-placeholder{margin-top:4rem;padding:2rem;background:var(--color-bg-secondary);border-radius:16px;text-align:center;border:1px dashed var(--color-glass-border)}@media(max-width:900px){.content-layout{grid-template-columns:1fr}.features-sidebar{position:static}}.interactive-bg-wrapper{position:fixed;top:0;left:0;width:100vw;height:100vh;overflow:hidden;z-index:0;background:var(--color-bg-primary);pointer-events:none}.blob-base{position:absolute;border-radius:50%}.blob-1{top:-10%;right:-10%;width:600px;height:600px;background:radial-gradient(circle,#c5050c26,#0b0c1000 70%);filter:blur(80px);opacity:.6}.blob-2{bottom:-15%;left:-10%;width:500px;height:500px;background:radial-gradient(circle,#7a003c33,#0b0c1000 70%);filter:blur(90px);opacity:.7}.blob-3{top:30%;left:20%;width:400px;height:400px;background:radial-gradient(circle,#c5050c1a,#0b0c1000 60%);filter:blur(100px)}.mouse-glow{position:absolute;width:500px;height:500px;background:radial-gradient(circle,#c5050c40,#7a003c0d 40%,#0b0c1000 70%);filter:blur(50px);border-radius:50%;z-index:1;mix-blend-mode:screen}
