@charset "UTF-8";@font-face{font-family:valofont;src:url(/assets/Valorax-lg25V-6fGX-RhT.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neu;src:url(/assets/Neue-B6TuYrZz.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:juana;src:url(/assets/juana-DAT4E6uv.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:circuit;src:url(/assets/Circuit-g1PqcNHE.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}h1{font-family:valofont,Neu,Helvetica Neue,sans-serif}p{font-family:juana,serif}.hero-content h1{font-family:valofont,sans-serif;text-transform:uppercase;font-weight:400}.reveal-text h1{font-family:circuit,sans-serif;text-transform:uppercase;font-weight:400}.footer-col a{color:var(--text-secondary);text-decoration:none;font-size:.95rem;opacity:.7;transition:opacity .3s ease;text-transform:uppercase}.showreel-text p{font-family:juana,serif;text-transform:uppercase}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}*{-webkit-tap-highlight-color:transparent}::selection{background-color:var(--accent);color:var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0a0a0a;--bg-secondary: #111;--bg-overlay: #0a0a0a;--bg-card: rgba(255, 255, 255, .03);--bg-hover: rgba(255, 255, 255, .05);--text-primary: #e0e0e0;--text-secondary: #fff;--text-muted: #555;--text-body: #aaa;--border-subtle: rgba(255, 255, 255, .1);--border-medium: rgba(255, 255, 255, .15);--accent: rgba(56, 249, 215, .8);--accent-bg: rgba(56, 249, 215, .08);--accent-border: rgba(56, 249, 215, .3);--transition-bg: #000;--canvas-glow: rgba(255, 255, 255, .2);--skill-hover-bg: #fff;--skill-hover-color: #0a0a0a;--heading-shadow: 0 0 60px rgba(255, 255, 255, .08), 0 4px 20px rgba(0, 0, 0, .6);--heading-shadow-sm: 0 2px 12px rgba(0, 0, 0, .5);--heading-glow: 0 0 80px rgba(56, 249, 215, .06)}body.light-mode{--bg-primary: #f5f5f5;--bg-secondary: #e8e8e8;--bg-overlay: #f0f0f0;--bg-card: rgba(0, 0, 0, .04);--bg-hover: rgba(0, 0, 0, .06);--text-primary: #1a1a1a;--text-secondary: #111;--text-muted: #888;--text-body: #555;--border-subtle: rgba(0, 0, 0, .1);--border-medium: rgba(0, 0, 0, .15);--accent: rgba(20, 180, 160, .9);--accent-bg: rgba(20, 180, 160, .1);--accent-border: rgba(20, 180, 160, .4);--transition-bg: #fff;--canvas-glow: rgba(0, 0, 0, .1);--skill-hover-bg: #111;--skill-hover-color: #fff;--heading-shadow: 0 2px 30px rgba(0, 0, 0, .08), 0 1px 8px rgba(0, 0, 0, .12);--heading-shadow-sm: 0 1px 6px rgba(0, 0, 0, .1);--heading-glow: 0 0 60px rgba(20, 180, 160, .06)}.theme-toggle{background:none;border:1px solid var(--border-subtle);border-radius:30px;padding:6px 12px;cursor:pointer;pointer-events:auto;display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--text-secondary);transition:border-color .3s ease,background-color .3s ease;position:relative;z-index:301;mix-blend-mode:normal}.theme-toggle:hover{border-color:var(--accent);background:var(--accent-bg)}.theme-toggle .theme-icon{font-size:1rem;line-height:1;transition:transform .4s cubic-bezier(.16,1,.3,1)}.theme-toggle .theme-label{font-family:Courier New,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.intro-overlay-top{position:absolute;top:30px;left:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.intro-overlay-bottom{position:absolute;bottom:30px;left:0;right:0;z-index:10;display:flex;flex-direction:column;align-items:center;pointer-events:none}.intro-overlay-line{width:40px;height:2px;background:#fff6;margin-bottom:1rem}.intro-overlay-name{font-family:valofont,sans-serif;font-size:clamp(2rem,5vw,4rem);font-weight:400;color:#fff;letter-spacing:.2em;text-transform:uppercase;margin:0;text-shadow:0 0 40px rgba(255,255,255,.15)}.intro-overlay-counter{display:flex;align-items:baseline;gap:2px;margin-top:.5rem}.intro-overlay-num{font-family:Courier New,monospace;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:#fffc;letter-spacing:.05em;font-variant-numeric:tabular-nums}.intro-overlay-pct{font-family:Courier New,monospace;font-size:clamp(.8rem,1.5vw,1.2rem);color:#ffffff80}.intro-overlay-sub{font-family:Helvetica Neue,Arial,sans-serif;font-size:clamp(.7rem,1.2vw,.9rem);color:#ffffff59;text-transform:uppercase;letter-spacing:.3em;margin-top:.8rem}.intro-overlay-coord{position:absolute;font-family:Courier New,monospace;font-size:.7rem;color:#ffffff40;letter-spacing:.1em;z-index:10}.intro-overlay-coord-tl{top:2rem;left:2rem}.intro-overlay-coord-br{bottom:2rem;right:2rem}body{background:var(--bg-primary);color:var(--text-primary);font-family:valofont,Arial,sans-serif;overflow-x:hidden;min-height:100vh;transition:background-color .4s ease,color .4s ease,background .4s ease}.noise-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;opacity:.03;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;mix-blend-mode:overlay}@media(max-width:768px){.noise-overlay{display:none}}main{padding-bottom:5rem}.custom-cursor{width:20px;height:20px;background:#fff;border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;mix-blend-mode:difference;z-index:9999;transform:translate(-50%,-50%)}.nav{position:fixed;top:0;left:0;width:100%;padding:1.2rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:300;color:var(--text-secondary);pointer-events:none;background:transparent;transition:background .4s ease,box-shadow .4s ease,backdrop-filter .4s ease}body.light-mode .nav{background:#f5f5f5bf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 20px #00000014,0 1px 3px #0000000a;border-bottom:1px solid rgba(0,0,0,.06)}body:not(.light-mode) .nav{background:#0a0a0a99;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 20px #0000004d;border-bottom:1px solid rgba(255,255,255,.05)}.nav-left,.menu-toggle,.nav-right-controls{pointer-events:auto}.nav-right-controls{display:flex;align-items:center;gap:1rem}.menu-toggle{background:none;border:none;cursor:pointer;padding:10px;position:relative;z-index:301}.hamburger-box{width:30px;height:24px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.line{display:block;width:100%;height:2px;background-color:var(--text-secondary);transition:transform .3s ease,opacity .3s ease,background-color .4s ease;transform-origin:center}.menu-toggle.is-active .line-1{transform:translateY(11px) rotate(45deg)}.menu-toggle.is-active .line-2{opacity:0}.menu-toggle.is-active .line-3{transform:translateY(-11px) rotate(-45deg)}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--bg-overlay);z-index:90;display:flex;padding:8rem 8vw;justify-content:space-between;transform:translateY(-100%);will-change:transform;padding-top:100px}.menu-links{display:flex;flex-direction:column;gap:1rem}.menu-item{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:6vw;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;line-height:.9;transition:color .3s ease;opacity:0;transform:translateY(20px)}.menu-item:hover{color:#888;font-style:italic}.menu-num{font-size:1.5rem;font-family:Courier New,monospace;margin-right:2rem;vertical-align:middle;color:var(--text-muted)}.menu-info{display:flex;flex-direction:column;gap:1rem;font-family:Helvetica Neue,sans-serif;padding-top:2rem;opacity:0}.menu-info h3{font-size:.9rem;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.menu-info a{color:var(--text-secondary);text-decoration:none;font-size:1.2rem;transition:opacity .2s,color .4s ease}.menu-info a:hover{opacity:.6}.menu-email{margin-top:4rem}.hero-section{height:100vh;width:100vw;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem;position:relative;z-index:2;overflow:hidden}.hero-section--centered{justify-content:center;align-items:center;text-align:center}.hero-content--centered{text-align:center;display:flex;flex-direction:column;align-items:center;gap:0;visibility:hidden}.hero-name-line{overflow:hidden;line-height:1.1}.hero-line-inner{font-size:clamp(3rem,10vw,10rem);font-weight:400;color:var(--text-secondary);text-shadow:var(--heading-shadow);transition:color .4s ease,text-shadow .4s ease;letter-spacing:-.02em;text-align:center;margin:0}.hero-resume-btn{display:inline-block;margin-top:2.5rem;padding:.9rem 3rem;background:#fff;color:#000;text-decoration:none;font-family:Helvetica Neue,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border:none;cursor:pointer;transition:background .3s ease,transform .3s ease}.hero-resume-btn:hover{background:#ffffffd9;transform:translateY(-2px)}@media(max-width:768px){.hero-resume-btn{margin-top:1.5rem;padding:.7rem 2.2rem;font-size:.75rem}}.hero-content{position:relative;z-index:2}.hero-content h1{font-size:clamp(3rem,10vw,10rem);line-height:1.15;letter-spacing:-.02em;margin-top:2vw;font-weight:400;color:var(--text-secondary);text-shadow:var(--heading-shadow);transition:color .4s ease,text-shadow .4s ease}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:flex-end;z-index:100;transition:color .4s ease}.nav-group{display:flex;gap:3rem}.nav-link{text-decoration:none;color:var(--text-secondary);font-family:Helvetica Neue,sans-serif;font-size:1.1rem;text-transform:uppercase;letter-spacing:.05em;position:relative;transition:opacity .3s ease,color .4s ease;opacity:.7}.nav-link:hover,.nav-link.active{opacity:1;color:var(--text-primary)}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0%;height:1px;background-color:#fff;transition:width .3s ease}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-num{font-size:.7rem;margin-right:5px;opacity:.5;font-family:Courier New,monospace;vertical-align:top}@media(max-width:768px){.nav{padding:1rem 1.5rem;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:#0a0a0aeb!important}body.light-mode .nav{background:#f5f5f5eb!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 1px 8px #0000000f}.brand{font-size:1.4rem}.current-time{display:none}.nav-right-controls{gap:.6rem}.theme-toggle{padding:5px 10px;font-size:.75rem}.theme-toggle .theme-icon{font-size:.85rem}.theme-toggle .theme-label{font-size:.55rem}.hamburger-box{width:24px;height:20px}.menu-overlay{flex-direction:column;padding:5rem 2rem 2rem;gap:2rem;overflow-y:auto}.menu-links{gap:.5rem}.menu-item{font-size:clamp(1.5rem,7vw,3rem);line-height:1}.menu-num{font-size:.75rem;margin-right:1rem}.menu-info{padding-top:1rem}.menu-info h3{font-size:.8rem}.menu-info a{font-size:1rem}.menu-email{margin-top:2rem}.bottom-nav{padding:.8rem .5rem;flex-direction:row;gap:0;align-items:center;justify-content:center;background:#000000eb;border-top:1px solid var(--border-subtle)}.custom-cursor{display:none}.nav-group{gap:0;width:100%;justify-content:space-evenly}.nav-link{font-size:.7rem;letter-spacing:.08em;padding:.4rem .5rem;opacity:.5;touch-action:manipulation}.nav-link.active{opacity:1}.nav-num{display:none}a,button{touch-action:manipulation}}.nav-left{display:flex;flex-direction:column;gap:.5rem}.brand{font-size:1.6rem;text-decoration:none;color:var(--text-secondary);letter-spacing:-.02em;font-weight:700;transition:color .4s ease}.current-time{font-size:.8rem;opacity:.6;font-family:Courier New,monospace}.hero-footer{display:flex;justify-content:space-between;align-items:flex-end;font-size:1rem;font-family:Helvetica Neue,sans-serif;border-top:1px solid var(--border-medium);padding-top:2rem}.read-more{text-decoration:none;color:var(--text-secondary);text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}@media(max-width:768px){.hero-section{padding:3rem 1.5rem;justify-content:center;height:70vh}.hero-content h1{font-size:clamp(2.5rem,13vw,6rem);margin-top:0}.hero-letter{font-size:clamp(2.5rem,13vw,6rem)}.hero-footer{flex-direction:column;align-items:flex-start;gap:1rem}}.about-content,.contact-content,.playground-container{opacity:0;transform:translateY(40px)}.projects-container{padding:2rem 5vw 10vw;max-width:1600px;margin:0 auto}.project-header{margin-bottom:10vh}.project-item{border-top:1px solid var(--border-medium);padding:3rem 1.5rem;display:grid;grid-template-columns:auto minmax(0,200px) 1fr auto;gap:2rem;align-items:center;transition:background-color .4s ease,transform .2s ease;position:relative}.project-item:hover{background-color:var(--bg-hover)}.project-item:hover .project-preview video{transform:scale(1.05)}.project-item:hover .project-arrow{transform:translate(6px);opacity:1}.project-item:hover h2{opacity:.9}.project-item:last-child{border-bottom:1px solid var(--border-medium)}.meta{font-family:Courier New,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);white-space:nowrap}.project-preview{width:200px;height:120px;border-radius:8px;overflow:hidden;background:var(--bg-card);border:1px solid var(--border-subtle);flex-shrink:0}.project-preview video{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease,box-shadow .4s ease}.project-preview-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#38f9d74d}.project-info h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.2rem,2.5vw,2rem);line-height:1.15;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:-.01em;transition:color .3s ease}.project-info p{font-family:Helvetica Neue,sans-serif;font-size:.85rem;line-height:1.6;color:var(--text-muted);max-width:480px}.project-arrow{font-size:1.5rem;color:var(--text-muted);transition:transform .3s ease,color .3s ease}@media(max-width:768px){.project-item{grid-template-columns:1fr;gap:1rem;padding:2rem 1rem}.project-preview{width:100%;height:180px}.project-arrow{display:none}}.reveal-text{overflow:hidden;display:block;line-height:1}.reveal-text span,.reveal-text h1{display:block;transform:translateY(100%)}.page-hero{min-height:50vh;display:flex;flex-direction:column;justify-content:flex-end;padding:8rem 3rem 3rem}.page-hero-content h1{font-size:clamp(2.5rem,9vw,9rem);line-height:1.05;letter-spacing:-.02em;font-weight:400;color:var(--text-secondary);text-shadow:var(--heading-shadow);transition:color .4s ease,text-shadow .4s ease}.page-subtitle{font-family:Helvetica Neue,sans-serif;font-size:1.1rem;opacity:.5;margin-top:1.5rem;padding:0 3rem;letter-spacing:.04em;line-height:1.6}.section-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);font-family:Courier New,monospace;display:block;margin-bottom:1.5rem}.about-content{padding:6rem 3rem}.about-philosophy{border-top:1px solid var(--border-medium);padding-top:4rem;margin-bottom:6rem}.about-statement{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.6rem,3.5vw,3.5rem);line-height:1.2;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:2rem;color:var(--text-secondary);text-shadow:var(--heading-shadow)}.about-statement em{font-style:italic;color:#38f9d7d9;text-shadow:0 0 30px rgba(56,249,215,.15)}.about-bio{font-family:Helvetica Neue,sans-serif;font-size:1.1rem;line-height:1.8;color:var(--text-body);max-width:700px}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:6rem;border-top:1px solid var(--border-medium);padding-top:4rem;margin-bottom:6rem}.about-col p{font-family:Helvetica Neue,sans-serif;font-size:1.1rem;line-height:1.8;opacity:.8}.about-skills{border-top:1px solid var(--border-medium);padding-top:4rem;margin-bottom:6rem}.skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px}.skill-item{padding:2rem;border:1px solid var(--border-subtle);font-family:Helvetica Neue,sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:.05em;transition:background-color .3s ease,color .3s ease}.skill-item:hover{background-color:var(--skill-hover-bg);color:var(--skill-hover-color)}.about-timeline{border-top:1px solid var(--border-medium);padding-top:4rem}.timeline-title{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,3vw,3rem);text-transform:uppercase;line-height:1.1;margin-bottom:4rem;color:var(--text-secondary);text-shadow:var(--heading-shadow);letter-spacing:-.01em}.timeline{position:relative}.timeline-item{display:flex;gap:2rem;margin-bottom:0;padding-bottom:3rem;position:relative}.timeline-marker{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:20px}.timeline-dot{width:14px;height:14px;border-radius:50%;background:#38f9d7cc;border:2px solid rgba(56,249,215,.4);box-shadow:0 0 12px #38f9d74d;z-index:1;flex-shrink:0}.timeline-line{width:2px;flex:1;background:linear-gradient(to bottom,#38f9d766,#38f9d70d);margin-top:4px}.timeline-content{flex:1;padding-bottom:1rem}.timeline-tag{font-family:Courier New,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;color:#38f9d7cc;background:#38f9d714;border:1px solid rgba(56,249,215,.2);padding:.25rem .75rem;border-radius:20px;display:inline-block;margin-bottom:1rem}.timeline-content h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.1rem,2vw,1.6rem);text-transform:uppercase;margin-bottom:.4rem;line-height:1.2;color:var(--text-secondary);text-shadow:var(--heading-shadow-sm)}.timeline-content h4{font-family:Courier New,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:1rem}.timeline-content p{font-family:Helvetica Neue,sans-serif;font-size:.95rem;line-height:1.7;color:var(--text-body);max-width:550px}@media(max-width:768px){.about-intro{grid-template-columns:1fr;gap:2.5rem}.about-col p{font-size:1rem;line-height:1.7}.skills-grid{grid-template-columns:repeat(2,1fr)}.skill-item{padding:1.5rem;font-size:.85rem}.page-hero{min-height:40vh;padding:5rem 1.5rem 2rem}.page-hero-content h1{font-size:12vw}.page-subtitle{padding:0 1.5rem;font-size:.95rem}.about-content,.contact-content,.playground-container{padding:3rem 1.5rem}.about-philosophy{margin-bottom:4rem}.about-statement{font-size:clamp(1.3rem,5vw,2rem)}.about-bio{font-size:.95rem;line-height:1.7}.about-intro,.about-skills{margin-bottom:4rem}.timeline-title{font-size:clamp(1.3rem,5vw,2rem);margin-bottom:2.5rem}.timeline-item{gap:1.2rem;padding-bottom:2rem}.timeline-content h3{font-size:1.1rem}.timeline-content p{font-size:.85rem;line-height:1.6}.timeline-dot{width:12px;height:12px}.timeline-marker{width:16px}}@media(max-width:480px){.about-statement{font-size:clamp(1.1rem,5.5vw,1.6rem)}.about-bio{font-size:.85rem}.timeline-content h3{font-size:1rem}.timeline-content h4{font-size:.7rem}.timeline-content p{font-size:.8rem}.timeline-tag{font-size:.6rem;padding:.2rem .6rem}}.contact-content{padding:6rem 3rem}.contact-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem;border-top:1px solid var(--border-medium);padding-top:4rem}.contact-link-big{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,3vw,3.5rem);color:var(--text-secondary);text-shadow:var(--heading-shadow-sm);text-decoration:none;line-height:1.2;transition:opacity .3s ease}.contact-link-big:hover{opacity:.6}.contact-socials{display:flex;flex-direction:column;gap:1rem}.social-link{font-family:Helvetica Neue,sans-serif;font-size:1.2rem;color:var(--text-secondary);text-decoration:none;transition:opacity .3s ease;opacity:.8}.social-link:hover{opacity:1}.contact-detail{font-family:Helvetica Neue,sans-serif;font-size:1.2rem;line-height:1.6;opacity:.7}.contact-cta{margin-top:8rem;border-top:1px solid var(--border-medium);padding-top:4rem}.contact-cta p{font-family:Helvetica Neue,sans-serif;font-size:1.5rem;opacity:.6;max-width:600px;line-height:1.6}@media(max-width:768px){.contact-grid{grid-template-columns:1fr;gap:2rem}.contact-link-big{font-size:7vw}.social-link,.contact-detail{font-size:1rem}.contact-cta{margin-top:4rem;padding-top:2rem}.contact-cta p{font-size:1.2rem}}.playground-container{padding:3rem 3rem 6rem}.playground-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px}.lab-item{border:1px solid var(--border-subtle);padding:3rem;transition:background-color .4s ease;position:relative}.lab-item:hover{background-color:var(--bg-hover)}.lab-item h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:1.8rem;margin-bottom:1rem;text-transform:uppercase}.lab-item p{font-family:Helvetica Neue,sans-serif;font-size:1rem;line-height:1.6;opacity:.6;margin-bottom:1.5rem}.lab-num{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-muted);margin-bottom:1.5rem}.lab-tag{font-family:Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);border:1px solid var(--border-medium);padding:.3rem .8rem;display:inline-block}@media(max-width:768px){.playground-grid{grid-template-columns:1fr}.lab-item{padding:2rem}.lab-item h3{font-size:1.4rem}.lab-item p{font-size:.9rem}}.page-transition{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--transition-bg);z-index:9999;transform:translateY(100%);will-change:transform}.meta{font-family:Courier New,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.project-item-link{text-decoration:none;color:inherit;display:block}.project-item{position:relative}.project-arrow{position:absolute;right:2rem;top:50%;transform:translateY(-50%) translate(-10px);font-size:2rem;opacity:0;transition:all .4s ease;color:var(--text-secondary)}.project-item-link:hover .project-arrow{opacity:1;transform:translateY(-50%) translate(0)}.project-item-link:hover .project-item{background:var(--bg-card)}.project-info h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.5rem,3vw,3.5rem);line-height:1.1;margin-bottom:1rem;text-transform:uppercase;text-shadow:var(--heading-shadow-sm)}.project-info p{font-family:Helvetica Neue,sans-serif;font-size:1rem;line-height:1.6;opacity:.6;max-width:500px}.pd-back{padding:8rem 4rem 0}.pd-back-link{font-family:Courier New,monospace;font-size:.85rem;color:#38f9d7b3;text-decoration:none;letter-spacing:.05em;transition:color .3s ease}.pd-back-link:hover{color:#38f9d7}.pd-hero{opacity:0;transform:translateY(60px)}.pd-showcase,.pd-readme{opacity:0;transform:translateY(40px)}.pd-hero{padding:3rem 4rem 2rem}.pd-hero-meta{display:flex;gap:2rem;align-items:center;margin-bottom:1.5rem}.pd-hero-meta .section-label{font-family:Courier New,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#38f9d7cc}.pd-date{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-muted)}.pd-hero h1{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,5vw,5rem);text-transform:uppercase;line-height:1.05;text-shadow:var(--heading-shadow);letter-spacing:-.02em}.pd-content{padding:0 4rem 4rem}.pd-showcase{display:flex;gap:3rem;align-items:flex-start;margin-bottom:4rem}.pd-video-area{flex:3;min-width:0}.pd-video-area .video-wrapper{border-radius:12px;overflow:hidden;background:var(--bg-primary);border:1px solid var(--border-subtle)}.pd-video-area .video-wrapper video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.pd-video-area .video-placeholder{aspect-ratio:16/9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:#444;font-family:Courier New,monospace;font-size:.9rem;text-transform:uppercase;letter-spacing:.15em}.pd-video-area .video-placeholder .play-icon{font-size:3rem;color:#38f9d766}.pd-info-side{flex:2;display:flex;flex-direction:column;gap:2.5rem}.pd-description h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:1.2rem;text-transform:uppercase;margin-bottom:1rem;letter-spacing:.05em}.pd-description p{font-family:Helvetica Neue,sans-serif;font-size:1.1rem;line-height:1.8;color:var(--text-body)}.pd-meta-block h4{font-family:Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.8rem}.pd-tags{display:flex;flex-wrap:wrap;gap:.5rem}.pd-tag{font-family:Courier New,monospace;font-size:.75rem;padding:.35rem .8rem;border:1px solid rgba(56,249,215,.3);border-radius:20px;color:#38f9d7cc;text-transform:uppercase;letter-spacing:.05em}.pd-stats{display:flex;gap:1.5rem}.pd-stat{display:flex;flex-direction:column;gap:.2rem}.pd-stat-num{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:1.5rem}.pd-stat-label{font-family:Courier New,monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.pd-link-btn{display:inline-block;font-family:Courier New,monospace;font-size:.85rem;padding:.8rem 1.5rem;border:1px solid var(--border-medium);border-radius:8px;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:.05em;transition:all .3s ease;margin-bottom:.5rem}.pd-link-btn:hover{background:#38f9d71a;border-color:#38f9d780;color:#38f9d7}.pd-link-btn--live{background:#38f9d714;border-color:#38f9d74d}.pd-readme{padding:3rem;background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:12px}.pd-readme h3{font-family:Courier New,monospace;font-size:.8rem;text-transform:uppercase;letter-spacing:.15em;color:#555;margin-bottom:1.5rem}.pd-readme-content{font-family:Helvetica Neue,sans-serif;font-size:.95rem;line-height:1.8;color:#999}.pd-readme-content h2,.pd-readme-content h3,.pd-readme-content h4{font-family:valofont,Neu,Helvetica Neue,sans-serif;color:#eee;margin:1.5rem 0 .8rem;text-transform:uppercase}.pd-readme-content code{font-family:Courier New,monospace;background:#38f9d714;padding:.1em .4em;border-radius:4px;font-size:.85em;color:#38f9d7e6}.pd-readme-content strong{color:#ccc}@media(max-width:768px){.pd-back{padding:5rem 1.5rem 0}.pd-hero{padding:1.5rem 1.5rem 1rem}.pd-hero h1{font-size:clamp(1.8rem,8vw,3rem)}.pd-hero-meta{gap:1rem;flex-wrap:wrap}.pd-content{padding:0 1.5rem 2rem}.pd-showcase{flex-direction:column;gap:2rem}.pd-description p{font-size:1rem;line-height:1.7}.pd-stat-num{font-size:1.3rem}.pd-readme{padding:1.5rem}.pd-readme-content{font-size:.9rem;line-height:1.7}}.showreel-section{display:grid;grid-template-columns:1fr 1fr;gap:3rem;padding:6rem 3rem;align-items:center;position:relative;z-index:2}.showreel-text h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,4.5vw,5rem);line-height:1.08;text-transform:uppercase;margin-bottom:1.5rem;text-shadow:var(--heading-shadow);letter-spacing:-.01em}.showreel-text p{font-family:Helvetica Neue,sans-serif;font-size:1rem;line-height:1.7;opacity:.6;max-width:400px}.showreel-video{position:relative}.video-wrapper{position:relative;width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:var(--bg-secondary);border:1px solid var(--border-subtle)}.video-wrapper video{width:100%;height:100%;object-fit:cover}.video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:linear-gradient(135deg,#111,#1a1a2e);color:#fff;font-family:Courier New,monospace;font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;transition:background .4s ease}.video-placeholder:hover{background:linear-gradient(135deg,#1a1a2e,#16213e)}.play-icon{font-size:2.5rem;opacity:.8}@media(max-width:768px){.showreel-section{grid-template-columns:1fr;padding:3rem 1.5rem;gap:2rem}.showreel-text h2{font-size:8vw}.showreel-text p{font-size:.9rem;line-height:1.6}}.github-section{padding:6rem 3rem;position:relative;z-index:2}.github-header{margin-bottom:2.5rem}.github-header h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,4.5vw,5rem);text-transform:uppercase;margin-bottom:.5rem;text-shadow:var(--heading-shadow);letter-spacing:-.01em}.github-username{font-family:Courier New,monospace;font-size:.9rem;color:#38f9d7cc;text-decoration:none;transition:color .3s ease}.github-username:hover{color:#38f9d7}.github-profile-card{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding:1.5rem 2rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;transition:border-color .3s ease}.gh-avatar{width:72px;height:72px;border-radius:50%;border:2px solid var(--border-medium);object-fit:cover}.gh-profile-info h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:1.3rem;text-transform:uppercase;margin-bottom:.3rem}.gh-profile-info .gh-location{font-family:Helvetica Neue,sans-serif;font-size:.85rem;color:var(--text-muted);margin-top:.3rem}.contribution-board{display:grid;grid-template-columns:repeat(52,1fr);grid-template-rows:repeat(7,1fr);gap:3px;margin-bottom:3rem;overflow-x:auto;padding:1rem 0}.contrib-cell{width:100%;aspect-ratio:1;border-radius:2px;min-width:10px;transition:transform .2s ease,opacity .2s ease}.contrib-cell:hover{transform:scale(1.8);z-index:5}.contrib-0{background-color:var(--bg-hover)}.contrib-1{background-color:#38f9d733}.contrib-2{background-color:#38f9d766}.contrib-3{background-color:#38f9d7a6}.contrib-4{background-color:#38f9d7e6}.github-stats{display:flex;gap:4rem}.stat{display:flex;flex-direction:column;gap:.3rem}.stat-num{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:2.5rem}.stat-label{font-family:Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}@media(max-width:768px){.github-section{padding:3rem 1.5rem}.github-header h2{font-size:8vw}.github-profile-card{padding:1rem 1.2rem;gap:1rem}.gh-avatar{width:52px;height:52px}.gh-profile-info h3{font-size:1.1rem}.contribution-board{gap:2px}.github-stats{gap:2rem;flex-wrap:wrap}.stat-num{font-size:2rem}}.youtube-section{padding:6rem 3rem;position:relative;z-index:2}.youtube-header{margin-bottom:2.5rem}.youtube-header h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,4.5vw,5rem);text-transform:uppercase;margin-bottom:.5rem;text-shadow:var(--heading-shadow);letter-spacing:-.01em}.youtube-profile-card{display:flex;align-items:center;gap:1.5rem;margin-bottom:3rem;padding:1.5rem 2rem;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:12px;text-decoration:none;color:var(--text-secondary);transition:border-color .3s ease,background-color .3s ease}.youtube-profile-card:hover{border-color:var(--border-medium);background-color:var(--bg-hover)}.youtube-profile-card:hover .yt-visit-arrow{transform:translate(6px);opacity:1}.yt-icon{width:56px;height:56px;border-radius:50%;background:#ff00001a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.yt-icon svg{color:red;width:28px;height:28px}.yt-profile-info{flex:1}.yt-profile-info h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:1.3rem;text-transform:uppercase;margin-bottom:.3rem}.yt-handle{font-family:Courier New,monospace;font-size:.9rem;color:var(--text-muted)}.yt-visit-arrow{font-size:1.5rem;opacity:.3;transition:transform .3s ease,opacity .3s ease}.youtube-stats{display:flex;gap:4rem}@media(max-width:768px){.youtube-section{padding:3rem 1.5rem}.youtube-header h2{font-size:8vw}.youtube-profile-card{padding:1rem 1.2rem;gap:1rem}.yt-icon{width:44px;height:44px}.yt-icon svg{width:22px;height:22px}.yt-profile-info h3{font-size:1.1rem}.youtube-stats{gap:2rem;flex-wrap:wrap}}.recent-projects-section{padding:6rem 3rem;position:relative;z-index:2}.recent-header{margin-bottom:4rem}.recent-header h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,4.5vw,5rem);text-transform:uppercase;text-shadow:var(--heading-shadow);letter-spacing:-.01em}.recent-projects-grid{border-top:1px solid var(--border-medium)}.recent-project{display:flex;align-items:center;gap:3rem;padding:2.5rem 0;border-bottom:1px solid var(--border-subtle);text-decoration:none;color:var(--text-secondary);transition:padding-left .4s ease,background-color .3s ease}.recent-project:hover{padding-left:2rem;background-color:var(--bg-card)}.recent-project:hover .rp-arrow{transform:translate(10px);opacity:1}.rp-num{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-muted);min-width:30px}.rp-info{flex:1}.rp-info h3{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(1.3rem,2vw,2.2rem);text-transform:uppercase;margin-bottom:.3rem;text-shadow:var(--heading-shadow-sm);letter-spacing:-.01em}.rp-info p{font-family:Helvetica Neue,sans-serif;font-size:.9rem;opacity:.5}.rp-arrow{font-size:1.5rem;opacity:.3;transition:transform .4s ease,opacity .4s ease}.view-all-link{display:inline-block;margin-top:3rem;font-family:Helvetica Neue,sans-serif;font-size:1rem;color:var(--text-secondary);text-decoration:none;text-transform:uppercase;letter-spacing:.1em;opacity:.6;transition:opacity .3s ease}.view-all-link:hover{opacity:1}@media(max-width:768px){.recent-projects-section{padding:3rem 1.5rem}.recent-header{margin-bottom:2rem}.recent-header h2{font-size:8vw}.recent-project{gap:1.5rem;padding:1.5rem 0}.rp-info h3{font-size:1.2rem}.rp-info p{font-size:.8rem}.rp-arrow{font-size:1.2rem}.view-all-link{margin-top:2rem;font-size:.85rem}}.gallery-section{padding:6rem 3rem;position:relative;z-index:2}.gallery-header{margin-bottom:4rem}.gallery-header h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2rem,4.5vw,5rem);text-transform:uppercase;text-shadow:var(--heading-shadow);letter-spacing:-.01em}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;contain:layout style}.gallery-item{position:relative;overflow:hidden;cursor:pointer;contain:layout style paint}.gallery-item:hover .gallery-img{transform:translateZ(0) scale(1.03)}.gallery-item:hover .gallery-caption{opacity:1;transform:translateY(0)}.gallery-img{width:100%;aspect-ratio:4/3;border-radius:8px;overflow:hidden;transform:translateZ(0);transition:transform .4s ease;backface-visibility:hidden}.gallery-img img{width:100%;height:100%;object-fit:cover;display:block;image-rendering:auto}.gallery-caption{position:absolute;bottom:1.5rem;left:1.5rem;font-family:Helvetica Neue,sans-serif;font-size:.9rem;color:#fff;text-transform:uppercase;letter-spacing:.1em;opacity:0;transform:translateY(10px);transition:opacity .4s ease,transform .4s ease;text-shadow:0 2px 8px rgba(0,0,0,.8)}@media(max-width:768px){.gallery-section{padding:3rem 1.5rem}.gallery-header{margin-bottom:2rem}.gallery-header h2{font-size:8vw}.gallery-grid{grid-template-columns:1fr 1fr;gap:.8rem}.gallery-caption{font-size:.75rem;bottom:.8rem;left:.8rem}}.site-footer{padding:6rem 3rem 2rem;position:relative;z-index:2;border-top:1px solid var(--border-subtle)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-bottom:4rem}.footer-cta h2{font-family:valofont,Neu,Helvetica Neue,sans-serif;font-size:clamp(2.5rem,5vw,6rem);text-transform:uppercase;line-height:1.08;margin-bottom:2rem;text-shadow:var(--heading-shadow);letter-spacing:-.02em}.footer-cta-btn{display:inline-block;padding:1rem 2.5rem;border:1px solid var(--text-secondary);color:var(--text-secondary);text-decoration:none;font-family:Helvetica Neue,sans-serif;font-size:1rem;text-transform:uppercase;letter-spacing:.1em;transition:background-color .3s ease,color .3s ease}.footer-cta-btn:hover{background-color:var(--text-secondary);color:var(--bg-primary)}.footer-links{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2rem}.footer-col{display:flex;flex-direction:column;gap:.8rem}.footer-col h4{font-family:Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:.5rem}.footer-col a{color:var(--text-secondary);text-decoration:none;font-family:Helvetica Neue,sans-serif;font-size:.95rem;opacity:.7;transition:opacity .3s ease;text-transform:uppercase}.footer-col a:hover{opacity:1}.footer-col p{font-family:Helvetica Neue,sans-serif;font-size:.95rem;opacity:.5}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:2rem;border-top:1px solid var(--border-subtle);font-family:Courier New,monospace;font-size:.75rem;color:var(--text-muted);letter-spacing:.05em}@media(max-width:768px){.site-footer{padding:3rem 1.5rem 1.5rem}.footer-top{grid-template-columns:1fr;gap:2rem;margin-bottom:2rem}.footer-cta h2{font-size:10vw}.footer-cta-btn{padding:.8rem 1.5rem;font-size:.85rem}.footer-links{grid-template-columns:1fr 1fr;gap:1.5rem}.footer-bottom{flex-direction:column;gap:.5rem;text-align:center}}@media(max-width:480px){.hero-content h1,.hero-letter{font-size:clamp(2.5rem,13vw,4.5rem)}.menu-item{font-size:clamp(1.3rem,8vw,2.5rem);line-height:1}.menu-num{font-size:.65rem;margin-right:.6rem}.gallery-grid{grid-template-columns:1fr;gap:1rem}.skills-grid,.footer-links{grid-template-columns:1fr}.footer-cta h2{font-size:12vw}.showreel-text h2,.github-header h2,.recent-header h2,.gallery-header h2{font-size:10vw}.github-stats{gap:1.5rem}.stat-num{font-size:1.8rem}.recent-project{gap:1rem}.rp-info h3{font-size:1rem}.loader-text{font-size:2.5rem}.pd-hero h1{font-size:clamp(1.5rem,9vw,2.5rem)}.contact-link-big{font-size:8vw}.page-hero-content h1{font-size:11vw}.bottom-nav{padding:.8rem 1rem}.nav-link{font-size:.75rem}.contact-link-big{word-break:break-all;overflow-wrap:break-word}.menu-email p{word-break:break-all;overflow-wrap:break-word;font-size:.8rem}.contact-cta p{font-size:1rem}.pd-back{padding:5rem 1rem 0}.pd-hero{padding:1.5rem 1rem 1rem}.pd-content{padding:0 1rem 2rem}.pd-link-btn{padding:.7rem 1.2rem;font-size:.75rem;display:block;text-align:center}.pd-readme{padding:1rem}.pd-readme-content{font-size:.85rem}.pd-stats{gap:1rem}.pd-stat-num{font-size:1.1rem}.lab-item{padding:1.5rem}.lab-item h3{font-size:1.2rem}.lab-item p{font-size:.8rem}.lab-tag{font-size:.65rem;padding:.25rem .6rem}.footer-col a,.footer-col p{font-size:.8rem}main{padding-bottom:6rem}}@media(min-width:769px)and (max-width:1024px){.project-item{grid-template-columns:auto 150px 1fr auto;gap:1.5rem;padding:2rem 1rem}.project-preview{width:150px;height:90px}.project-info h2{font-size:clamp(1.2rem,2.2vw,2rem)}.project-info p{font-size:.85rem;max-width:350px}.showreel-section{padding:4rem 2rem;gap:2rem}.github-section{padding:4rem 2rem}.contribution-board{gap:2px}.recent-projects-section,.gallery-section{padding:4rem 2rem}.site-footer{padding:4rem 2rem 2rem}.footer-top{gap:2rem}.footer-cta h2{font-size:clamp(2rem,4vw,4rem)}.about-intro{gap:3rem}.skills-grid{grid-template-columns:repeat(3,1fr)}.contact-grid{grid-template-columns:1fr 1fr;gap:3rem}.lab-item{padding:2rem}.pd-showcase{gap:2rem}.pd-content{padding:0 2.5rem 3rem}.pd-hero{padding:2rem 2.5rem 1.5rem}.pd-back{padding:7rem 2.5rem 0}.page-hero{padding:6rem 2rem 2rem}.about-content,.contact-content{padding:4rem 2rem}.playground-container{padding:2rem 2rem 4rem}.projects-container{padding:10rem 3vw 8vw}}
