@import url(https://fonts.googleapis.com/css2?family=Bebas+Neue&family=DM+Sans:ital,wght@0,300;0,400;0,500;1,300&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0a0a0f;--bg2:#111118;--card:#14141e;--border:#ffffff12;--accent:#e8ff47;--accent2:#ff4d6d;--text:#e8e8f0;--muted:#6b6b80;--font-display:"Bebas Neue",sans-serif;--font-body:"DM Sans",sans-serif}html{scroll-behavior:smooth}body{background-color:#0a0a0f;background-color:var(--bg);color:#e8e8f0;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-weight:300;min-height:100vh;overflow-x:hidden}.project-page{padding:2rem 0 6rem}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");content:"";inset:0;opacity:.5;pointer-events:none;position:fixed;z-index:0}h1,h2,h3,h4{color:#e8e8f0;color:var(--text);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);letter-spacing:.03em}a{color:inherit;text-decoration:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.nav{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a0fcc;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;left:0;padding:1.25rem 3rem;position:fixed;right:0;top:0;z-index:100}.nav ul{display:flex;gap:2.5rem;list-style:none}.nav a{color:#6b6b80;color:var(--muted);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}.nav a:hover{color:#e8e8f0;color:var(--text)}.nav-logo{color:#e8ff47;color:var(--accent);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.08em}.accent-bar{background:linear-gradient(90deg,#e8ff47,#ff4d6d,#0000);background:linear-gradient(90deg,var(--accent),var(--accent2),#0000);height:3px}.about-me{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:800px;padding:8rem 2rem 4rem;text-align:center}.about-me h1{font-size:clamp(3rem,8vw,6rem);line-height:.95}.about-me h2{color:#6b6b80;color:var(--muted);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:1.5rem;font-weight:300;letter-spacing:.04em;margin-top:.5rem}.about-me img{border:2px solid #ffffff12;border:2px solid var(--border);border-radius:50%;height:120px;margin:1.5rem 0;object-fit:cover;width:120px}.about-me p{color:#6b6b80;color:var(--muted);font-size:.9rem;line-height:1.8;margin:1rem 0;text-align:justify}.about-me button{background:#0000;border:1px solid #e8ff47;border:1px solid var(--accent);border-radius:2px;color:#e8ff47;color:var(--accent);cursor:pointer;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.8rem;letter-spacing:.12em;margin-top:1rem;padding:.65rem 1.5rem;text-transform:uppercase;transition:background .2s,color .2s}.about-me button:hover{background:#e8ff471a}.project-page{display:flex;flex-direction:column;gap:5rem;padding:2rem 3rem 6rem;position:relative;z-index:1}.section-header{align-items:baseline;border-bottom:1px solid #ffffff12;border-bottom:1px solid var(--border);display:flex;gap:1.5rem;margin-bottom:2rem;padding:0 3rem}.section-title{color:#e8e8f0;color:var(--text);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);font-size:3rem;letter-spacing:.04em;margin:0}.section-count{color:#6b6b80;color:var(--muted);font-size:.85rem;letter-spacing:.1em}.project-group{padding:0 3rem}.project-carousel-track,.project-group{position:relative}@media (max-width:768px){.project-group{padding:0}}.projects-grid{grid-gap:1.5px;background:#ffffff12;background:var(--border);border:1px solid #ffffff12;border:1px solid var(--border);display:grid;gap:1.5px;grid-template-columns:repeat(3,1fr);text-align:left}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-page{padding:2rem 1.5rem 4rem}}.carousel-arrow{align-items:center;background:#000000a6;border:1px solid #ffffff26;border-radius:2px;color:#e8e8f0;color:var(--text);cursor:pointer;display:flex;font-size:1.75rem;height:2.75rem;justify-content:center;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:background .2s,border-color .2s,color .2s;width:2.75rem;z-index:10}.project-group:hover .carousel-arrow{opacity:1}@media (max-width:768px){.carousel-arrow{display:none}}.carousel-arrow:hover{background:#e8ff471f;border-color:#e8ff47;border-color:var(--accent);color:#e8ff47;color:var(--accent)}.carousel-arrow-prev{left:0}.carousel-arrow-next{right:0}.carousel-dot{background:#ffffff40;border:none;border-radius:50%;cursor:pointer;display:inline-block;height:6px;margin:0 4px;padding:0;transition:background .2s,transform .2s;vertical-align:middle;width:6px}.carousel-dot-active{background:#e8ff47;background:var(--accent);transform:scale(1.35)}.project-tile{animation:fadeUp .6s ease both;background:#14141e;background:var(--card);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:background .3s}.project-tile:hover{background:#18182a}.tile-carousel-wrapper{aspect-ratio:16/9;background:#080810;overflow:hidden;position:relative}.tile-carousel-wrapper .project-carousel{display:block;filter:brightness(.85);height:100%;object-fit:cover;transition:filter .3s,transform .5s;width:100%}.project-tile:hover .project-carousel{filter:brightness(1);transform:scale(1.02)}.tile-carousel-arrow{align-items:center;background:#0009;border:1px solid #ffffff26;border-radius:2px;color:#e8e8f0;color:var(--text);cursor:pointer;display:flex;font-size:1.2rem;height:2rem;justify-content:center;max-height:100%;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s,background .2s,border-color .2s,color .2s;width:2rem;z-index:10}.project-tile:hover .tile-carousel-arrow{opacity:1}.tile-carousel-arrow:hover{background:#e8ff471f;border-color:#e8ff47;border-color:var(--accent);color:#e8ff47;color:var(--accent)}.tile-carousel-arrow-prev{left:.5rem}.tile-carousel-arrow-next{right:.5rem}.tile-dot{background:#ffffff4d;border:none;border-radius:50%;cursor:pointer;display:inline-block;height:5px;margin:0 3px;padding:0;transition:background .2s,transform .2s;width:5px}.tile-dot-active{background:#e8ff47;background:var(--accent);transform:scale(1.4)}.play-hint{align-items:center;background:#0009;border:1px solid #ffffff1f;border-radius:2px;bottom:.75rem;color:#ffffffb3;cursor:pointer;display:flex;font-size:.65rem;gap:.4rem;letter-spacing:.1em;opacity:0;padding:.3rem .65rem;position:absolute;right:.75rem;text-transform:uppercase;transition:opacity .2s,border-color .2s,color .2s;z-index:5}.project-tile:hover .play-hint{opacity:1}.play-hint:hover{border-color:#e8ff47;border-color:var(--accent);color:#e8ff47;color:var(--accent)}.tile-body{display:flex;flex:1 1;flex-direction:column;gap:.75rem;padding:1.25rem 1.5rem 1.5rem}.project-title{color:#e8e8f0;color:var(--text);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);font-size:1.65rem;letter-spacing:.03em;line-height:1;margin:0;text-align:left}.project-description{color:#6b6b80;color:var(--muted);font-size:.82rem;font-weight:300;line-height:1.7;padding:0;text-align:left}.tile-divider{border:none;border-top:1px solid #ffffff12;border-top:1px solid var(--border);margin:0;width:100%}.role-list{display:flex;flex-direction:column;gap:.45rem;list-style:none;margin:0;padding:0}.role-item{align-items:flex-start;color:#6b6b80;color:var(--muted);display:flex;font-size:.8rem;gap:.5rem;line-height:1.5;text-align:left}.role-bullet{color:#e8ff47;color:var(--accent);flex-shrink:0;font-size:.7rem;margin-top:2px}.meta-row{align-items:center;display:flex;gap:.75rem}.meta-label{color:#6b6b80;color:var(--muted);font-size:.62rem;letter-spacing:.12em;margin:0;opacity:.6;text-transform:uppercase;white-space:nowrap}.horizontal-container{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;list-style:none;margin:0;padding:0}.list-item{background:#ffffff08;border:1px solid #ffffff14;border-radius:3px;flex-shrink:0;height:28px;object-fit:contain;padding:3px;transition:border-color .2s;width:28px}.project-tile:hover .list-item{border-color:#e8ff4733}.project-technologies{align-items:center;display:flex;gap:.75rem}.project-technologies h5{color:#6b6b80;color:var(--muted);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.62rem;font-weight:400;letter-spacing:.12em;margin:0;opacity:.6;text-transform:uppercase;white-space:nowrap}.project-links{display:flex;flex-wrap:wrap;gap:.5rem}.link-btn{align-items:center;background:#ffffff08;border:1px solid #ffffff1a;border-radius:2px;color:#6b6b80;color:var(--muted);display:flex;font-size:.7rem;gap:.35rem;letter-spacing:.1em;padding:.35rem .75rem;text-transform:uppercase;transition:border-color .2s,color .2s,background .2s}.link-btn:hover{background:#e8ff470d;border-color:#e8ff4759;color:#e8ff47;color:var(--accent)}.link-btn img{height:20px;object-fit:contain;width:20px}.modal-video{border-radius:2px;max-height:80vh;max-width:100%}.modal-close-btn{align-items:center;background:#0000;border:1px solid #ffffff1f;border-radius:2px;color:#6b6b80;color:var(--muted);cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;position:absolute;right:.75rem;top:.75rem;transition:border-color .2s,color .2s;width:2rem}.modal-close-btn:hover{border-color:#e8ff47;border-color:var(--accent);color:#e8ff47;color:var(--accent)}.tech-tag-label{color:#6b6b80;color:var(--muted);font-size:.62rem;letter-spacing:.12em;margin-bottom:.4rem;opacity:.6;text-transform:uppercase}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tech-tag{background:#ffffff08;border:1px solid #ffffff1a;border-radius:2px;color:#6b6b80;color:var(--muted);font-size:.62rem;font-weight:500;letter-spacing:.1em;padding:.25rem .6rem;text-transform:uppercase;transition:border-color .2s,color .2s,background .2s}.project-tile:hover .tech-tag{background:#e8ff470a;border-color:#e8ff4740;color:#e8ff47cc}.skills-section{display:flex;flex-direction:column;gap:.6rem}.skills-label{color:#6b6b80;color:var(--muted);font-size:.62rem;letter-spacing:.12em;margin:0;opacity:.6;text-transform:uppercase}.skills-row{flex-wrap:wrap;gap:.5rem}.skill-icon-wrap,.skills-row{align-items:center;display:flex}.skill-icon-wrap{background:#ffffff0a;border:1px solid #ffffff17;border-radius:6px;height:36px;justify-content:center;padding:5px;transition:border-color .2s,background .2s,transform .15s;width:36px}.project-tile:hover .skill-icon-wrap{background:#e8ff470a;border-color:#e8ff4738}.skill-icon-wrap:hover{border-color:#e8ff4780!important;transform:translateY(-2px)}.skill-icon{display:block;height:100%;object-fit:contain;width:100%}.home{position:relative;z-index:1}.home-hero{align-items:center;display:flex;gap:3rem;justify-content:space-between;min-height:calc(100vh - 4.5rem);padding:8rem 8rem 3rem 4rem}.home-hero-text{flex:1 1}.home-hero-label{align-items:center;color:#e8ff47;color:var(--accent);display:flex;font-size:.75rem;gap:.75rem;letter-spacing:.2em;margin-bottom:1.25rem;text-transform:uppercase}.home-hero-label:before{background:#e8ff47;background:var(--accent);content:"";display:block;flex-shrink:0;height:1px;width:2rem}.home-hero-heading{color:#e8e8f0;color:var(--text);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);font-size:clamp(5rem,13vw,11rem);letter-spacing:.02em;line-height:.9;margin:0}.home-hero-outline{-webkit-text-stroke:1px #fff3;color:#0000}.home-hero-image-wrap{flex-shrink:0;position:relative}.home-profile-img{animation:fadeUp .8s ease both;border:1px solid #ffffff12;border:1px solid var(--border);border-radius:50%;box-shadow:0 0 0 6px #e8ff470f,0 0 40px #e8ff470f;display:block;height:260px;object-fit:cover;width:260px}.home-about{border-top:1px solid #ffffff12;border-top:1px solid var(--border);padding:4rem 3rem 6rem}.home-about-inner{max-width:680px}.home-about-header{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.home-about-line{background:#e8ff47;background:var(--accent);display:block;flex-shrink:0;height:1px;width:2rem}.home-about-eyebrow{color:#e8ff47;color:var(--accent);font-size:.72rem;letter-spacing:.2em;margin:0;text-transform:uppercase}.home-about-body{align-self:center;color:#6b6b80;color:var(--muted);font-size:.95rem;line-height:1.85;margin-bottom:1rem}.home-cta-row{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}.home-cta-primary{background:#e8ff47;background:var(--accent);border-radius:2px;color:#0a0a0f;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.78rem;font-weight:500;letter-spacing:.12em;padding:.7rem 1.75rem;text-decoration:none;text-transform:uppercase;transition:background .2s,opacity .2s}.home-cta-primary:hover{opacity:.88}.home-cta-secondary{background:#0000;border:1px solid #ffffff12;border:1px solid var(--border);border-radius:2px;color:#e8e8f0;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.78rem;font-weight:400;letter-spacing:.12em;padding:.7rem 1.75rem;text-decoration:none;text-transform:uppercase;transition:border-color .2s,color .2s}.home-cta-secondary:hover{border-color:#ffffff4d;color:#e8e8f0;color:var(--text)}@media (max-width:768px){.home-hero{align-items:flex-start;flex-direction:column-reverse;min-height:0;min-height:auto;padding:7rem 1.5rem 3rem}.home-profile-img{height:120px;width:120px}.home-about{padding:3rem 1.5rem 4rem}}.footer{background:#111118;background:var(--bg2);border-top:1px solid #ffffff12;border-top:1px solid var(--border);position:relative;z-index:1}.footer-inner{align-items:flex-start;display:flex;gap:2rem;justify-content:space-between;padding:3rem 3rem 2rem}.footer-brand{display:flex;flex-direction:column;gap:.4rem}.footer-logo{color:#e8ff47;color:var(--accent);font-family:Bebas Neue,sans-serif;font-family:var(--font-display);font-size:1.5rem;letter-spacing:.08em}.footer-tagline{color:#6b6b80;color:var(--muted);font-size:.75rem;letter-spacing:.08em;margin:0}.footer-contact{align-items:flex-end;display:flex;flex-direction:column;gap:.75rem}.footer-label{color:#6b6b80;color:var(--muted);font-size:.65rem;letter-spacing:.15em;margin:0;text-transform:uppercase}.footer-links{align-items:center;display:flex;gap:1rem}.footer-email{color:#e8e8f0;color:var(--text);font-size:.82rem;letter-spacing:.02em;text-decoration:none;transition:color .2s}main{padding-top:2rem}.footer-email:hover{color:#e8ff47;color:var(--accent)}.footer-linkedin .footer-github{align-items:center;border:1px solid #ffffff12;border:1px solid var(--border);border-radius:2px;color:#6b6b80;color:var(--muted);display:flex;font-size:.78rem;gap:.4rem;letter-spacing:.08em;padding:.4rem .8rem;text-decoration:none;transition:color .2s,border-color .2s}.footer-linkedin:hover .footer-github:hover{border-color:#e8ff474d;color:#e8ff47;color:var(--accent)}.footer-bottom{border-top:1px solid #ffffff12;border-top:1px solid var(--border);color:#6b6b80;color:var(--muted);font-size:.7rem;letter-spacing:.08em;padding:1rem 3rem}@media (max-width:768px){.footer-inner{flex-direction:column;padding:2rem 1.5rem 1.5rem}.footer-contact{align-items:flex-start}.footer-bottom{padding:1rem 1.5rem}}.carousel .control-arrow,.carousel.carousel-slider .control-arrow{background:none;border:0;cursor:pointer;filter:alpha(opacity=40);font-size:32px;opacity:.4;position:absolute;top:20px;transition:all .25s ease-in;z-index:2}.carousel .control-arrow:focus,.carousel .control-arrow:hover{filter:alpha(opacity=100);opacity:1}.carousel .control-arrow:before,.carousel.carousel-slider .control-arrow:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";display:inline-block;margin:0 5px}.carousel .control-disabled.control-arrow{cursor:inherit;display:none;filter:alpha(opacity=0);opacity:0}.carousel .control-prev.control-arrow{left:0}.carousel .control-prev.control-arrow:before{border-right:8px solid #fff}.carousel .control-next.control-arrow{right:0}.carousel .control-next.control-arrow:before{border-left:8px solid #fff}.carousel-root{outline:none}.carousel{position:relative;width:100%}.carousel *{box-sizing:border-box}.carousel img{display:inline-block;pointer-events:none;width:100%}.carousel .carousel{position:relative}.carousel .control-arrow{background:none;border:0;font-size:18px;margin-top:-13px;outline:0;top:50%}.carousel .thumbs-wrapper{margin:20px;overflow:hidden}.carousel .thumbs{list-style:none;position:relative;transform:translateZ(0);transition:all .15s ease-in;white-space:nowrap}.carousel .thumb{border:3px solid #fff;display:inline-block;margin-right:6px;overflow:hidden;padding:2px;transition:border .15s ease-in;white-space:nowrap}.carousel .thumb:focus{border:3px solid #ccc;outline:none}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #333}.carousel .thumb img{vertical-align:top}.carousel.carousel-slider{margin:0;overflow:hidden;position:relative}.carousel.carousel-slider .control-arrow{bottom:0;color:#fff;font-size:26px;margin-top:0;padding:5px;top:0}.carousel.carousel-slider .control-arrow:hover{background:#0003}.carousel .slider-wrapper{margin:auto;overflow:hidden;transition:height .15s ease-in;width:100%}.carousel .slider-wrapper.axis-horizontal .slider{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-horizontal .slider .slide{flex-direction:column;flex-flow:column}.carousel .slider-wrapper.axis-vertical{-ms-box-orient:horizontal;display:-moz-flex;display:flex}.carousel .slider-wrapper.axis-vertical .slider{flex-direction:column}.carousel .slider{list-style:none;margin:0;padding:0;position:relative;width:100%}.carousel .slider.animated{transition:all .35s ease-in-out}.carousel .slide{margin:0;min-width:100%;position:relative;text-align:center}.carousel .slide img{border:0;vertical-align:top;width:100%}.carousel .slide iframe{border:0;display:inline-block;margin:0 40px 40px;width:calc(100% - 80px)}.carousel .slide .legend{background:#000;border-radius:10px;bottom:40px;color:#fff;font-size:12px;left:50%;margin-left:-45%;opacity:.25;padding:10px;position:absolute;text-align:center;transition:all .5s ease-in-out;transition:opacity .35s ease-in-out;width:90%}.carousel .control-dots{bottom:0;margin:10px 0;padding:0;position:absolute;text-align:center;width:100%;z-index:1}@media (min-width:960px){.carousel .control-dots{bottom:0}}.carousel .control-dots .dot{background:#fff;border-radius:50%;box-shadow:1px 1px 2px #000000e6;cursor:pointer;display:inline-block;filter:alpha(opacity=30);height:8px;margin:0 8px;opacity:.3;transition:opacity .25s ease-in;width:8px}.carousel .control-dots .dot.selected,.carousel .control-dots .dot:hover{filter:alpha(opacity=100);opacity:1}.carousel .carousel-status{color:#fff;font-size:10px;padding:5px;position:absolute;right:0;text-shadow:1px 1px 1px #000000e6;top:0}.carousel:hover .slide .legend{opacity:1}table{margin-left:auto;margin-right:auto;text-align:left}h2{text-align:center}