@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:ital@1&display=swap);@import url(https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;700&display=swap);.profile{align-items:center;background-color:#000;color:gold;flex-direction:column;font-family:Playfair Display,cursive;height:100vh;justify-content:center;left:0;overflow-y:auto;padding:2rem 1rem;position:fixed;top:0;transition:transform .4s ease;width:250px;z-index:999}@keyframes sidebar-slide-in{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.sidebar-animate-in{animation:sidebar-slide-in .8s ease-out}@media screen and (max-width:768px){.profile{-webkit-overflow-scrolling:touch;max-height:100vh;overflow-y:auto;transform:translateX(-100%);transition:transform .4s ease;width:150px}.profile.active{transform:translateX(0)}.profile-image{border-radius:50%;height:110px;width:110px}.mobile-nav-toggle{display:block}}@media screen and (min-width:769px){.profile{transform:translateX(0);width:250px}.mobile-nav-toggle{display:none!important}}.sidebar-wrapper{background-color:#0006;height:100vh;left:0;opacity:0;pointer-events:none;position:fixed;top:0;transition:opacity .3s ease;width:100vw;z-index:998}.sidebar-wrapper.active{opacity:1;pointer-events:auto}.mobile-nav-toggle{cursor:pointer;display:block;position:absolute;right:1rem;top:2rem;z-index:1000}.mobile-nav-toggle .bar{background:gold;height:3px;margin:5px auto;transition:all .4s ease-in-out;width:25px}.mobile-nav-toggle.is-active .bar:first-child{transform:translateY(8px) rotate(45deg)}.mobile-nav-toggle.is-active .bar:nth-child(2){opacity:0}.mobile-nav-toggle.is-active .bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.profile-header{align-items:center;display:flex;flex-direction:column;margin-bottom:2rem;margin-top:2rem}.profile-image{border:2px solid gold;border-radius:50%;box-shadow:0 0 10px #ffd70080;height:130px;margin-bottom:1rem;object-fit:cover;width:130px}.profile-name{color:gold;font-family:Playfair Display,cursive;font-size:1.4rem;font-weight:700;padding:0 1rem;text-align:center}.social-icons{display:flex;gap:1.5rem;justify-content:center;margin:1rem 0}.social-icons a{color:gold;font-size:1.3rem;transition:transform .3s ease,color .3s ease}.social-icons a:hover{color:#fff;transform:scale(1.2)}.nav-menu{display:flex;flex-direction:column;gap:1.75rem;list-style:none;padding:0 1rem 2rem}.nav-link{color:gold;cursor:pointer;font-size:1.3rem;position:relative;text-decoration:none;transition:all .3s ease;z-index:1}.nav-link:hover{color:#fff8dc}.nav-link.active{background:radial-gradient(circle,#ffd70044,#0000);border:1px solid #ffd70055;border-radius:12px;box-shadow:0 0 12px #ffd70088;color:gold;padding:.4rem .8rem;transition:all .3s ease}.nav-link:after{background:gold;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link:hover:after{width:100%}.github-toggle{position:relative}.github-submenu{list-style:none;margin:0;max-height:0;opacity:0;overflow:hidden;padding-left:.3rem;pointer-events:none;transition:max-height .4s ease,opacity .3s ease}.github-toggle:hover .github-submenu{max-height:80px;opacity:1;padding-bottom:.4rem;pointer-events:auto}.github-submenu li{margin-top:1rem}.github-submenu .nav-link{color:gold;display:inline-block;font-size:.95rem;padding-bottom:.2rem;padding-left:1.2rem;position:relative;text-decoration:none;transition:all .3s ease}.github-submenu .nav-link:after{background:gold;bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.github-submenu .nav-link:hover:after{width:100%}.github-toggle .arrow{transition:transform .3s ease}.github-toggle:hover .arrow{transform:rotate(180deg)}.home-container{align-items:flex-start;background-attachment:fixed!important;background-image:url(/static/media/cover.0ed67c80e8d0ceee4da5.jpg);background-position:0;background-repeat:no-repeat;background-size:cover;display:flex;height:100vh;justify-content:center;position:relative;width:100vw}.top-right-button-group{display:flex;flex-direction:column;gap:1rem;opacity:0;position:fixed;right:1.5rem;top:1.5rem;transition:opacity .6s ease,transform .6s ease;z-index:1000}.top-right-button-group.buttons-animate-in{opacity:1}.home-button{background:linear-gradient(90deg,gold,#e6c200);border:2px solid #bfa600;border-radius:10px;box-shadow:0 4px 10px #ffd70040;color:#111;cursor:pointer;font-family:Ubuntu,sans-serif;font-size:1.1rem;font-weight:700;padding:.7rem 1.5rem;text-align:center;text-decoration:none;transition:all .3s ease;width:20vh}.home-button:hover{background:linear-gradient(90deg,#ffe066,gold);box-shadow:0 6px 15px #ffd70066;transform:translateY(-2px)}.vt-news-slide-container{pointer-events:auto;position:relative;width:-webkit-fit-content;width:fit-content}.vt-news-video-slide{background-color:#111;border-radius:0 0 12px 12px;box-shadow:0 10px 20px #ffd70033;left:0;max-height:0;overflow:hidden;position:fixed;top:0;transition:max-height .5s ease;width:100vw;z-index:999}.vt-news-slide-container:hover .vt-news-video-slide{max-height:80vh}.vt-news-video-slide iframe{border:none;border-radius:0 0 12px 12px;display:block;height:80vh;width:100%}.home-content-wrapper{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;width:105%}.background-video{height:100%;object-fit:cover;z-index:-1}.background-video,.overlay{left:0;position:absolute;top:0;width:100%}.overlay{align-items:center;background-color:#00000080;display:flex;height:101%;justify-content:center}.home-content{left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:2}.home-title{color:gold;font-size:3rem;font-weight:700}.home-subtitle,.home-title{font-family:Playfair Display,cursive}.home-subtitle{color:#fff8dc;font-size:1.9rem;margin-top:0;max-width:80vw;min-height:2.2em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.blinking-cursor{animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fancyAppearDesktop{0%{filter:blur(3px);opacity:0;transform:translateY(40px) scale(.98)}50%{filter:blur(1px);opacity:.5;transform:translateY(15px) scale(1.01)}to{filter:blur(0);opacity:1;transform:translateY(0) scale(1)}}@keyframes fancyAppearMobile{0%{opacity:0}to{opacity:1}}.fancy-fade-in{animation:fancyAppearMobile 1s ease-out both}@media screen and (min-width:769px){.home-container{background-attachment:fixed}.fancy-fade-in{animation:fancyAppearDesktop 1.8s ease-out both}}@media screen and (max-width:768px){.home-container{background-attachment:scroll;left:50%;right:50%;text-align:center;top:50%;transform:translate(-48%,-50%);width:100%}.home-content{display:block;font-size:90%;left:50%;position:absolute;right:50%;width:60%}.home-title{display:block;font-size:2.2rem;margin-bottom:.5rem}.home-subtitle{display:block;font-size:1.4rem;margin-top:.5rem;position:center;white-space:normal}.top-right-button-group{left:50%;right:auto;transform:translateX(-50%)}}.about-container{background-color:#111;color:gold;font-family:Playfair Display,cursive;margin:0;min-height:70vh;padding:4rem 2rem;scroll-margin-top:80px;scroll-snap-align:start;width:100vw}.about-container,.about-inner{align-items:center;display:flex;justify-content:center}.about-inner{flex-wrap:wrap;gap:3rem;left:50%;max-width:1000px;opacity:0;right:50%;transform:translateY(30px);transition:all 1.2s ease}.about-inner.animate{opacity:1;transform:translateY(0)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.about-image{border:3px solid gold;border-radius:50%;box-shadow:0 0 20px #ffd7004d;height:220px;overflow:hidden;width:220px}.about-image img{height:100%;object-fit:cover;transform:scale(1.2);transform-origin:center center;width:100%}.about-text{flex:1 1;font-family:Ubuntu,sans-serif;min-width:300px}.about-title{font-family:Playfair Display,cursive}.impact-line{color:gold;font-size:1.2rem;font-weight:700;margin-top:1.5rem;text-align:center}.about-title{display:inline-block;font-size:2.5rem;margin-bottom:1.2rem;position:relative}.about-title:after{background:gold;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:60%}.about-description p{color:#e8e8e8;font-size:1.2rem;line-height:1.8;margin-bottom:.7rem}.highlight{color:gold;font-weight:700}@media screen and (max-width:768px){.about-container{box-sizing:border-box;display:flex;margin:0;min-height:145vh;padding:18rem 2rem 0;scroll-margin-top:120px;scroll-snap-align:start;width:100vw}.about-container,.about-inner{align-items:center;flex-direction:column;justify-content:center}.about-inner{gap:1rem;height:auto;text-align:center;transition:all 1.2s ease}.about-inner.animate{opacity:1;transform:translateY(0)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.about-text{text-align:center}.about-title{font-size:2.2rem;margin:0}.about-description p{font-size:1.1rem}.about-image{margin-bottom:1.5rem}}.resume-container{box-sizing:border-box;font-family:Playfair Display,cursive;height:auto;opacity:0;scroll-margin-top:120px;scroll-snap-align:start;transform:translateX(-60px);transition:opacity 1s ease,transform 1s ease;width:100vw}.resume-container.animate{opacity:1;transform:translateX(0)}.resume-title{color:gold;font-family:Playfair Display,cursive;font-size:3rem;margin-bottom:.5rem;padding:9rem 0 0 18rem;position:relative;text-align:left}.resume-title:after{background-color:gold;border-radius:2px;content:"";display:block;height:3px;margin-left:0;margin-top:10px;width:80px}.resume-download-icons{display:flex;flex-wrap:wrap;gap:5rem;justify-content:center;margin-top:3rem;padding-left:10rem}.download-block{align-items:center;color:gold;display:flex;flex-direction:column;font-size:.9rem;text-align:center}.download-icon{color:gold;font-size:2rem;margin-bottom:.3rem;transition:transform .2s ease,color .2s ease}.download-icon:hover{color:#fff;transform:scale(1.2)}.download-block span{font-family:Ubuntu,sans-serif;font-size:.85rem;margin-top:.2rem}.resume-wrapper{background:linear-gradient(180deg,#0a0a0a,#1a1a1a);display:flex;margin-left:230px;min-height:100vh;width:calc(100vw - 250px)}.resume-left,.resume-right{overflow-y:auto;padding:4rem;width:calc(50% - 1px)}.slide-in-left{animation:slideFromLeft 1s ease forwards}.slide-in-right{animation:slideFromRight 1s ease forwards}@keyframes slideFromLeft{0%{opacity:0;transform:translateX(-80px)}to{opacity:1;transform:translateX(0)}}@keyframes slideFromRight{0%{opacity:0;transform:translateX(80px)}to{opacity:1;transform:translateX(0)}}.resume-divider{background-color:gold;border-radius:1px;height:auto;margin-top:6rem;min-height:100%;opacity:.8;width:2px}.resume-project{color:gold;font-size:2.3rem;margin-bottom:2rem;margin-left:-1rem;position:relative;text-align:left}.resume-project:after{background:gold;border-radius:2px;content:"";display:block;height:3px;margin-top:10px;width:60px}.project-entry{animation:fadeUp .8s ease forwards;background-color:#ffffff0d;border-radius:15px;box-shadow:0 0 10px #ffd70033;margin-bottom:2rem;opacity:0;padding:2rem;transform:translateY(30px);transition:all .4s ease}.project-entry:hover{box-shadow:0 0 20px #ffd70080;transform:translateY(-5px) scale(1.02)}.project-title{color:gold;font-size:1.8rem;margin-bottom:.5rem}.project-tech{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.2;font-style:italic;margin-bottom:.8rem}.project-description{color:#ddd;font-family:Ubuntu,sans-serif;font-size:1.2rem;margin-bottom:1rem}.project-highlights{color:#eee;font-family:Ubuntu,sans-serif;font-size:.95rem;list-style-type:square;margin-left:1.5rem}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.resume-container{align-items:center;box-sizing:border-box;display:flex;flex-direction:column;height:110vh;margin-top:-100px;padding:0 2rem 2rem;scroll-snap-align:start}.resume-download-icons{gap:2rem;margin-bottom:3rem;padding:0}.download-icon{font-size:1.6rem}.download-block span{font-size:.8rem}.resume-wrapper{display:flex;flex-direction:column;margin-left:0;width:100%}.resume-left,.resume-right{box-sizing:border-box;padding:1rem;width:100%}.resume-spacer{background:#0a0a0a;height:5rem;width:100%}.resume-divider{background-color:gold;border-radius:1px;margin-top:0;min-height:3px;min-width:360px;opacity:.8}.resume-title{font-size:2.2rem;padding:7rem 0 2rem;text-align:center}.resume-title:after{margin-left:auto;margin-right:auto}.resume-project{font-size:1.8rem;margin-bottom:1.5rem;padding-bottom:1rem;text-align:center}.resume-project:after{margin-left:auto;margin-right:auto}.project-entry{animation:fadeUp .8s ease forwards;opacity:0;transform:translateY(30px)}.project-title{font-family:Ubuntu,sans-serif;font-size:1.4rem}.project-highlights,.project-tech{font-size:.95rem}}.contact-section{color:gold;font-family:Playfair Display,cursive;height:100vh;padding:2rem 4rem;scroll-margin-top:80px;scroll-snap-align:start;text-align:center;transition:all .6s ease;width:100%}.contact-section:before{animation:shimmer 12s ease-in-out infinite;background:radial-gradient(ellipse at center,#ffd70011 0,#0000 70%);content:"";height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:0}@keyframes shimmer{0%,to{opacity:.05}50%{opacity:.2}}.vanta-container{height:auto;min-height:100%;position:relative;width:100%}.vanta-bg{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.contact-inner{color:gold;position:relative;z-index:1}.contact-title{font-size:3.5rem;letter-spacing:1px;margin-bottom:4rem;position:relative;text-shadow:0 0 10px #ffd70055}.contact-title:after{background:gold;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);width:18%}.contact-wrapper{align-items:stretch;display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:auto;max-width:1100px;padding:1rem}.contact-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:2px solid #ffd70033;border-radius:16px;box-shadow:0 0 15px #ffd7001a;flex:1 1 400px;padding:2.5rem;transition:transform .3s ease}.contact-card:hover{transform:translateY(-5px)}.form-group{margin-bottom:2rem;margin-top:2rem;position:relative}.form-group input,.form-group textarea{background:#0000;border:none;border-bottom:2px solid #ffd70099;color:gold;font-family:Courier New,monospace;font-size:1.3rem;outline:none;padding:2rem 1rem 1rem;transition:all .3s ease;width:90%}.form-group label{bottom:2rem;color:#ffd70099;font-family:Ubuntu,sans-serif;font-size:2rem;left:1rem;pointer-events:none;position:absolute;top:1rem;transition:.3s ease}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{bottom:1rem;color:#fff8dc;font-size:1.3rem;left:.8rem;top:-.6rem}.contact-card button,.contact-form button{background:gold;border:none;border-radius:25px;color:#111;cursor:pointer;font-size:1rem;font-weight:700;padding:.8rem 2rem;transition:all .3s ease}.contact-card button:hover,.contact-form button:hover{background:#fff8dc}.info-card p{align-items:center;display:flex;font-family:Ubuntu,sans-serif;font-size:1.5rem;gap:.8rem;justify-content:center;margin:1rem 0}.map-container{border-radius:12px;box-shadow:0 0 10px #ffd70055;margin-top:2rem;overflow:hidden}.end-phrase{font-family:Ubuntu,sans-serif;padding-top:1rem}.contact-section.animate .contact-wrapper{animation:fadeSlideIn 1.2s ease forwards}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(80px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.contact-section{min-height:145vh;padding:2rem 0 4rem}.contact-title{font-size:2.2rem;margin-bottom:5rem}.contact-title:after{height:2px;width:40%}.contact-wrapper{flex-direction:column;gap:2rem;padding:0}.contact-card{flex:1 1 auto;padding:1.5rem}.form-group input,.form-group textarea{font-size:1rem;padding:1rem .8rem .5rem;width:100%}.form-group label{font-size:1.1rem;left:.8rem;top:.8rem}.form-group input:focus+label,.form-group input:not(:placeholder-shown)+label,.form-group textarea:focus+label,.form-group textarea:not(:placeholder-shown)+label{font-size:.9rem;top:-.6rem}.contact-card button,.contact-form button{font-size:1rem;width:100%}.info-card p{flex-direction:column;font-size:1.1rem;gap:.4rem;text-align:center}.map-container iframe{height:250px}.end-phrase{font-size:.9rem;padding:1rem}}.footer-container{background-color:#111;border-top:1px solid #333;color:gold;font-family:Playfair Display,cursive;height:100%;padding:3rem 7rem;width:100%}.footer-inner{margin:0 auto;max-width:1000px;text-align:center}.footer-links{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;margin-bottom:1.2rem}.footer-link{align-items:center;background-color:#222;border-radius:40px;box-shadow:0 0 10px #ffd70026;color:gold;cursor:pointer;display:flex;gap:.5rem;padding:.6rem 1rem;text-decoration:none;transition:all .3s ease}.footer-link:hover{background-color:#333;box-shadow:0 0 15px #ffd70080;color:#fff8dc}.footer-icon{font-size:1.2rem}.footer-dropdown{display:inline-block;padding-bottom:10px;position:relative}.dropdown-menu{background-color:#222;border-radius:8px;box-shadow:0 0 10px #ffd70033;display:none;left:0;margin-top:0;min-width:140px;position:absolute;top:100%;z-index:10}.dropdown-menu a{align-items:center;color:gold;display:flex;font-size:.95rem;gap:.5rem;padding:.5rem 1rem;text-decoration:none;transition:background .3s}.dropdown-menu a:hover{background-color:#333;color:#fff8dc}.footer-dropdown:hover .dropdown-menu{display:block}.footer-copy{font-size:1rem;opacity:.6}@media (max-width:768px){.footer-container{height:35vh;margin-left:-1rem;margin-top:2rem;padding:0;text-align:center;width:100vw}.footer-inner{margin-top:1.3rem}.footer-inner,.footer-links{align-items:center;display:flex;flex-direction:column}.footer-links{gap:2rem;width:80%}.footer-link{border-radius:30px;font-size:1rem;justify-content:center;padding:0;width:100%}.footer-dropdown{position:relative;width:100%}.footer-link.nav-link{align-items:center;cursor:pointer;display:flex;justify-content:center;margin-top:.6rem;width:100%}.dropdown-menu{background-color:#222;border-radius:12px;margin-top:.5rem;max-height:0;opacity:0;overflow:hidden;pointer-events:none;transition:max-height .3s ease,opacity .3s ease;width:100%}.dropdown-menu.open{max-height:200px;opacity:1;pointer-events:auto}.dropdown-menu a{color:gold;display:block;padding:.7rem 1rem;text-align:center;text-decoration:none;transition:background-color .3s}.dropdown-menu a:hover{background-color:#333;color:#fff8dc}.footer-copy{font-size:.9rem;opacity:.6;padding-top:0}}.flip-card-face .project-card{align-items:center;background-color:#1a1a1a;border-radius:16px;box-shadow:0 0 20px #ffd7001a;box-sizing:border-box;color:#fff;display:flex;flex-direction:row-reverse;font-family:Playfair Display,cursive;gap:2rem;height:100%;margin:1rem auto;max-width:1100px;min-height:500px;padding:3rem;width:100%}.project-card:hover{box-shadow:0 0 30px #ffd70033;transform:scale(1.02)}.project-card.reverse{flex-direction:row-reverse}.project-card-link{color:inherit;text-decoration:none}.project-image img{border-radius:12px;box-shadow:0 4px 20px #0009;max-width:100%;transform:translateX(5px);width:350px}.project-content{flex:1 1}.project-content h2{color:gold;font-size:2rem;margin-bottom:1rem}.project-content p{font-size:1.1rem;line-height:1.6}.project-content p,.project-tags{font-family:Ubuntu,sans-serif;margin-bottom:1rem}.project-tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background-color:gold;border-radius:999px;color:#111;font-size:.9rem;font-weight:700;padding:.3rem .7rem}.project-buttons a{align-items:center;background-color:#222;border-radius:8px;color:gold;display:inline-flex;font-weight:700;gap:.5rem;margin-right:1rem;padding:.6rem 1rem;text-decoration:none;transition:background .3s,color .3s}.project-buttons a:hover{background-color:gold;color:#111}.project-buttons a:nth-child(4){background-color:red;color:#fff}.project-buttons a:nth-child(4):hover{background-color:#c00;color:#fff}.vtcro-button{align-items:center;background-color:#333;border-radius:8px;color:gold;display:inline-flex;font-weight:700;padding:.6rem 1rem;text-decoration:none;transform:translateY(10px);transition:background .3s,color .3s}.vtcro-button:hover{background-color:gold;color:#111}.vtcro-icon{height:35px;object-fit:contain;width:100px}.flip-card-wrapper{perspective:1000px;position:relative;width:100%}.flip-card-container{display:flex;height:400px;justify-content:center;margin:4rem 0;perspective:1000px;width:100%}.flip-card.flipped{transform:rotateX(180deg)}.flip-card{height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s ease;width:100%}.flip-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100%;left:0;position:absolute;top:0;transform-origin:center center;width:100%}.flip-card-front{transform:rotateX(0deg);z-index:2}.flip-card-back{transform:rotateX(180deg);z-index:1}.loading-message{color:gold;font-family:Playfair Display,cursive;font-size:1.8rem;text-align:center;width:100%}@media (max-width:768px){.flip-card{height:auto;margin:-2rem auto;max-width:90vw;position:relative;transform-style:preserve-3d;transition:transform .8s ease}.flip-card.flipped{transform:rotateY(180deg)}.flip-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:auto;position:relative}.flip-card-front{height:auto;position:relative;transform:rotateY(0deg);z-index:2}.flip-card-back{height:auto;position:relative;transform:rotateY(180deg);z-index:1}.project-card,.project-card.reverse{flex-direction:column;height:auto;padding:2rem 1.5rem;text-align:center}.project-image img{margin-bottom:1rem;max-width:70vw;width:100%}.project-buttons{flex-wrap:wrap;justify-content:center}.project-content{margin-top:-1.5rem}.project-content h2{font-size:1.6rem}.project-content p{font-size:1rem}}.portfolio-container{color:gold;min-height:215vh;opacity:1;overflow:hidden;padding:1rem 6rem;transform:translateY(40px);transition:all 1s ease;width:100%}.portfolio-container.animate{opacity:1;transform:translateY(0)}.portfolio-title{font-family:Playfair Display,cursive;font-size:3rem;margin-bottom:1rem;margin-top:3rem;text-align:center}.portfolio-title:after{background-color:gold;border-radius:2px;content:"";display:block;height:4px;margin:.5rem 45% 0;width:125px}.portfolio-grid{align-items:center;display:flex;flex-direction:column;gap:4rem}.background-particles{background-color:#0a0a0a;height:200vh;left:0;pointer-events:none;position:fixed;top:0;width:100vw}.particle{animation:moveInDirection 20s linear infinite;animation:moveInDirection var(--duration,20s) linear infinite;background-color:gold;border-radius:50%;opacity:.6;position:absolute;transform:rotate(var(--angle))}@keyframes moveInDirection{0%{transform:rotate(var(--angle)) translate(0)}to{transform:rotate(var(--angle)) translate(100px)}}.grid-pulse-background{z-index:0}.background-particles{z-index:1}.portfolio-container{position:relative;z-index:2}.footer-section{background-color:#111;height:1vh;min-height:20vh;position:relative;z-index:1}.reveal{transition:opacity .8s ease-out,transform .8s ease-out}.project-card-wrapper{display:flex;justify-content:center;transition:all .8s ease-out;width:100%}.project-card-wrapper.reveal{opacity:0;transform:translateY(40px)}.project-card-wrapper.reveal.visible{opacity:1;transform:translateY(0)}@media (max-width:768px){.portfolio-container{height:auto;padding:1rem 0;width:100%}.portfolio-title{font-size:2.2rem;margin-top:2rem}.portfolio-title:after{margin:.5rem auto 0}.particle{height:8px!important;opacity:.4;width:8px!important}.flip-card-wrapper{height:auto;margin-bottom:4rem;perspective:1000px;width:100%}.flip-card{height:auto;position:relative;transform-style:preserve-3d;transition:transform .8s ease;width:100%}.flip-card.flipped{transform:rotateY(180deg)}.flip-card-face{-webkit-backface-visibility:hidden;backface-visibility:hidden;height:100vh;left:0;position:absolute;top:0;width:100%}.flip-card-front{transform:rotateY(0deg);z-index:2}.flip-card-back{transform:rotateY(180deg)}.footer-section{padding:2rem 1rem}.project-card-wrapper{height:auto;margin-bottom:22rem;margin-top:3rem;perspective:1000px;width:90vw}}.carousel-container{gap:3rem;margin:0 auto;max-width:1400px;padding:2rem;position:relative}.carousel-container,.step-list{display:flex;flex-direction:column}.step-list{gap:14px;left:0;position:absolute;top:50%;transform:translateY(-50%);z-index:10}.step-tab{background-color:#555;border-radius:10px;cursor:pointer;height:50px;margin-left:3rem;position:relative;transition:background-color .3s,transform .3s;width:12px}.step-tab.active,.step-tab:hover{background-color:gold;box-shadow:0 0 10px #ffd70099;transform:scale(1.1)}.gallery-row{grid-gap:4rem;align-items:start;animation:fadeIn .6s ease-in-out;background:linear-gradient(135deg,#1a1a1a,#212121);border-radius:24px;box-shadow:0 0 30px #ffd70033;display:grid;gap:4rem;grid-template-columns:1fr auto;height:350px;margin-left:80px;padding:5rem 3rem;position:relative}.gallery-text{animation:fadeInText 1s ease forwards;display:flex;flex-direction:column;justify-content:flex-start}.step-title{color:gold;font-size:1.8rem;margin-bottom:1rem}.step-description{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.2rem;line-height:1.6;max-width:600px}.step-description strong{color:gold}.gallery-media-grid{grid-gap:25px;align-content:start;direction:rtl;display:grid;gap:25px;grid-template-columns:repeat(3,180px);isolation:isolate;margin-top:-4rem;max-height:650px;overflow:visible;position:relative}.media-thumb-wrapper{height:100%;overflow:visible;position:relative;width:100%}.media-thumb{border-radius:8px;cursor:pointer;direction:ltr;overflow:hidden;position:relative;transform-origin:center;transition:transform .3s ease,z-index .3s ease;z-index:1}.media-thumb:hover{box-shadow:0 0 20px #ffd700aa;transform:scale(1.8);z-index:10}.media-thumb-wrapper.placeholder{background:#0000;pointer-events:none}.media-thumb img,.media-thumb video{border-radius:10px;height:100%;object-fit:cover;pointer-events:none;width:100%}@keyframes fadeInTitle{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInText{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInGrid{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.carousel-container{gap:2rem;padding:1.5rem 1rem}.step-list{flex-direction:row;gap:10px;justify-content:center;margin-bottom:1rem;position:static;transform:none}.step-tab{height:35px;margin-left:0;width:10px}.gallery-row{border-radius:16px;gap:2rem;grid-template-columns:1fr;height:auto;margin-left:0;padding:2rem 1.2rem}.gallery-text{text-align:center}.step-title{font-size:1.5rem}.step-description{font-size:1rem;max-width:100%;padding:0 .5rem}.gallery-media-grid{gap:12px;grid-template-columns:repeat(3,1fr);justify-content:center;margin-top:0;padding:0 .5rem}.media-thumb-wrapper{height:auto;width:100%}.media-thumb{box-shadow:none!important;transform:none!important}.media-thumb:hover{box-shadow:none;transform:none}.media-thumb img,.media-thumb video{aspect-ratio:1/1;height:auto}}.model-viewer-container{background-color:gray;border-radius:16px;box-shadow:0 0 25px #ffd70055;height:700px;margin-left:1.9rem;overflow:hidden;position:relative;width:155vh}.disassemble-button{background:gold;border:none;border-radius:10px;color:#111;cursor:pointer;font-family:Ubuntu,sans-serif;font-size:1rem;font-weight:600;left:10px;padding:8px 16px;position:absolute;top:10px;transition:transform .2s ease,box-shadow .3s ease;z-index:10}.disassemble-button:hover{box-shadow:0 0 12px #ffd700aa;transform:scale(1.05)}@media (max-width:768px){.model-viewer-container{border-radius:12px;box-shadow:0 0 15px #ffd70033;height:400px;margin:2rem auto;width:80vw}.disassemble-button{font-size:.9rem;left:8px;padding:6px 12px;top:8px}}.code-section{background-color:#111;border-radius:16px;box-shadow:0 0 25px #ffd70033;color:#fff8dc;font-family:Ubuntu,sans-serif;margin:2rem 15rem 5rem;padding:2rem;width:77vw}.section-title{color:gold;position:relative}.section-title:after{background:gold;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:10%}.code-intro,.code-tech-stack,.code-usecase{font-size:1.1rem;margin-bottom:1rem}.code-features{list-style:none;margin-bottom:1rem;padding-left:0}.code-features li{margin:.5rem 0;padding-left:1.5rem;position:relative}.code-features li:before{color:gold;content:"✔";left:0;position:absolute}.code-credit{font-family:Ubuntu,sans-serif;font-size:1.3rem;line-height:1.6;max-width:73vw}.code-credit strong{color:gold}.github-link-button{align-content:center;background-color:gold;border-radius:8px;color:#111;display:inline-block;font-weight:700;margin:1.5rem 0;padding:.7rem 1.5rem;text-decoration:none;transition:transform .2s ease}.github-link-button:hover{background-color:#e6c200;transform:scale(1.05)}.repo-tree-preview{background-color:#1a1a1a;border-radius:12px;box-shadow:0 0 12px #ffd70055;color:#fff8dc;margin-top:2rem;overflow-x:auto;padding:1.5rem}.tree-heading{color:gold;font-size:1.3rem;margin-bottom:1rem}.tree-code{font-family:Courier New,monospace;font-size:1rem;line-height:1.5;white-space:pre-wrap}@media (max-width:768px){.code-section{border-radius:12px;margin:2rem 1rem;padding:1rem;width:85%}.section-title{font-size:2rem;margin-bottom:1rem;text-align:center}.section-title:after{left:50%;transform:translateX(-50%);width:30%}.code-credit,.code-intro,.code-tech-stack,.code-usecase{font-size:1rem;padding:0 .5rem;text-align:left}.code-credit{max-width:100%}.code-features{margin-bottom:1.5rem;padding-left:1rem}.code-features li{font-size:1rem;padding-left:1.2rem}.github-link-button{display:block;font-size:1rem;margin:1rem auto;padding:.6rem 1.2rem;text-align:center}.repo-tree-preview{font-size:.95rem;margin-top:1.5rem;padding:1rem}.tree-heading{font-size:1.1rem;text-align:center}.tree-code{font-size:.9rem;word-break:break-word}}.croquest-page{background:linear-gradient(180deg,#0a0a0a,#1a1a1a);color:gold;font-family:Playfair Display,cursive;height:100%;padding:1rem 5rem;width:100%}.hero{border-bottom:1px solid #333;margin-bottom:3rem;padding-bottom:2rem;text-align:center}.title{font-size:3rem}.subtitle{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.3rem}.overview-container{align-items:flex-start;display:flex;flex-wrap:wrap;gap:5rem;justify-content:center;margin:3rem auto;max-width:70vw;padding:0 1rem}.overview-left{flex:1 1 400px;text-align:center}.overview-image{border-radius:16px;box-shadow:0 0 15px #ffd70055;height:85vh;margin-left:2rem;margin-top:8rem;max-width:579px}.overview-right{flex:1 1 530px}.overview-title{color:gold;font-family:Playfair Display,cursive;font-size:2.3rem;margin-bottom:1rem}.overview-description{margin-bottom:1rem}.overview-description,.overview-role{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.3rem;line-height:1.6}.overview-role{margin-top:1rem}.overview-role strong{color:gold}.overview-role role{color:#ccc;font-weight:1000}.overview-credit{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.3rem;line-height:1.6;max-width:73vw}.overview-credit strong{color:gold}.overview-video iframe{border-radius:12px;box-shadow:0 0 12px #ffd70033;height:40vh;margin-top:1rem;width:67vh}.lessons-side h2{color:gold;font-family:Playfair Display,cursive;font-size:2.3rem}.lessons-side{font-size:1.3rem;height:25vh;line-height:1.6;padding:2rem;width:77vw}.gallery-section,.lessons-side{background-color:#111;border-radius:16px;box-shadow:0 0 25px #ffd70033;color:#fff8dc;font-family:Ubuntu,sans-serif;margin:5rem 15rem}.gallery-section{height:105vh;width:80vw}.gallery-main-title{animation:fadeInTitle 1s ease;color:gold;display:inline-block;font-family:Playfair Display,cursive;font-size:3rem;margin-bottom:4rem;margin-left:2rem;margin-top:3rem;position:relative;text-align:left}.gallery-main-title:after{background:gold;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:60%}.gallery-description{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.3rem;line-height:1.6;margin:0 3rem 3rem;max-width:73vw}.model-title{animation:fadeInTitle 1s ease;color:gold;display:inline-block;font-family:Playfair Display,cursive;font-size:3rem;margin-bottom:4rem;margin-left:2rem;margin-top:3rem;position:relative;text-align:left}.model-title:after{background:gold;bottom:-8px;content:"";height:3px;left:0;position:absolute;width:60%}.model-section{background-color:#111;border-radius:16px;box-shadow:0 0 25px #ffd70033;color:#fff8dc;font-family:Ubuntu,sans-serif;height:118vh;margin:2rem 15rem;width:80vw}.model-credit,.model-description{color:#ccc;font-family:Ubuntu,sans-serif;font-size:1.3rem;line-height:1.6;margin:0 3rem 3rem;max-width:73vw}.model-credit strong{color:gold}.reveal{transition:opacity 1s ease-out,transform 1s ease-out}.reveal.visible{transform:none}.reveal{transform:translateY(30px)}.reveal-left{transform:translate(-60px,30px)}.reveal-right{transform:translate(60px,30px)}.reveal-fade{transform:scale(.95)}.reveal.visible.reveal-fade,.reveal.visible.reveal-left,.reveal.visible.reveal-right{transform:none}@media screen and (max-width:768px){.croquest-page{padding:1.5rem 0}.hero{margin-bottom:2rem;padding-bottom:1rem}.title{font-size:2.1rem}.subtitle{font-size:1rem;padding:0 .5rem}.overview-container{align-items:center;flex-direction:column;gap:2rem;margin:2rem 0;max-width:100%;padding:0 1rem}.overview-image{height:auto;margin:1rem 0;width:100%}.overview-title{font-size:1.8rem;text-align:center}.overview-credit,.overview-description,.overview-role{font-size:1.1rem;max-width:100%;padding:0 1rem;text-align:left}.overview-video iframe{height:200px;margin:1rem 0;width:100%}.lessons-side{font-size:1.1rem;height:auto;margin:2rem 0;padding:1.5rem;width:100%}.lessons-side h2{font-size:1.8rem;text-align:center}.gallery-section{height:auto;margin:2rem 1rem;padding:1rem;width:85%}.gallery-main-title{font-size:2rem;margin-left:0;text-align:center}.gallery-main-title:after{left:50%;transform:translateX(-50%);width:40%}.gallery-description{font-size:1.1rem;margin:1rem;max-width:100%}.model-section{height:auto;margin:2rem 1rem;padding:1rem;width:85%}.model-title{font-size:2rem;margin-left:.5rem;text-align:center}.model-credit,.model-description{font-size:1.1rem;margin:1rem;max-width:100%;text-align:left}.lessons-side{margin:2rem 1rem;padding:1rem;width:85%}}.carousel-wrapper{height:120px;margin-bottom:2rem;margin-top:2rem;overflow:hidden;position:relative;width:100%}.carousel-track{animation:scroll 40s linear infinite;display:flex;width:-webkit-fit-content;width:fit-content}.tech-icon{justify-content:center;margin:0 2rem;opacity:.85}.tech-icon .icon{font-size:2.5rem}.tech-icon .label{margin-top:.3rem}.tech-icon:hover{opacity:1;transform:scale(1.15)}@keyframes scroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}.carousel-wrapper:after,.carousel-wrapper:before{content:"";height:100%;pointer-events:none;position:absolute;top:0;width:80px;z-index:2}.carousel-wrapper:before{background:linear-gradient(90deg,#000 0,#0000);left:0}.carousel-wrapper:after{background:linear-gradient(270deg,#000 0,#0000);right:0}.myportfolio-page{background:linear-gradient(180deg,#0a0a0a,#1a1a1a);color:gold;font-family:Playfair Display,cursive;height:100%;padding:1rem 5rem;width:100%}.reveal{opacity:0;transform:translateY(40px);transition:all .9s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{transform:translateX(-40px)}.reveal-left.visible{transform:translateX(0)}.reveal-fade{opacity:0;transition:opacity 1s ease}.reveal-fade.visible{opacity:1}.hero-section{border-bottom:1px solid #333;text-align:center}.hero .title{color:gold;font-size:3.5rem;font-weight:700;margin-bottom:1rem}.hero .subtitle{color:#fff8dc;font-family:Ubuntu,sans-serif;font-size:1.4rem}.section-title{border-bottom:3px solid gold;display:inline-block;font-size:2.5rem;margin-bottom:1rem;padding-bottom:.4rem}.code-snippet-section,.design-section,.dev-section,.goals-section,.lessons-section,.overview-section,.structure-section,.tech-section,.workflow-section{background-color:#111;border-radius:16px;box-shadow:0 0 25px #ffd70033;color:#fff8dc;font-family:Ubuntu,sans-serif;margin:3rem 14rem;padding:2rem;width:77vw}.goals-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1rem}.goal-card{background-color:#1a1a1a;border-radius:12px;box-shadow:0 0 15px #ffd70022;padding:1.2rem;text-align:center;transition:transform .3s ease}.goal-card:hover{transform:translateY(-5px)}.goal-card h3{color:gold;margin-bottom:.5rem}.goal-card p{font-size:.95rem}.goals-carousel-wrapper{display:none}.tech-icons{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.tech-icon{align-items:center;color:gold;display:flex;flex-direction:column;font-family:Ubuntu,sans-serif;text-align:center;transition:transform .3s ease}.tech-icon .icon{font-size:3.5rem;transition:transform .3s ease,color .3s ease}.tech-icon:hover .icon{color:#fff8dc;transform:scale(1.15)}.tech-icon .label{font-size:.9rem;margin-top:.5rem}.structure-grid{grid-gap:4rem;align-items:start;display:grid;flex-direction:row-reverse;gap:4rem;grid-template-columns:1fr 1fr}.structure-left,.structure-right{font-family:Ubuntu,sans-serif}.major-section-title{color:gold;font-family:Playfair Display,cursive;font-size:2.7rem;margin-bottom:2rem;position:relative;text-align:center}.major-section-title:after{background-color:gold;content:"";display:block;height:3px;margin:.5rem auto 0;width:80px}.code-block{background-color:#1a1a1a;border-radius:12px;box-shadow:0 0 10px #ffd70022;color:gold;font-family:Courier New,monospace;font-size:.9rem;margin-bottom:2rem;overflow-x:auto;padding:1rem;white-space:pre}.code-container.reveal-stair{opacity:0;transform:translateY(40px);transition:all 1.2s ease;transition-delay:.3s}.code-container.reveal-stair.visible{opacity:1;transform:translateY(0)}.code-snippet-inner pre.code-block{background-color:#000;border-radius:10px;color:#fff8dc;font-family:Courier New,Courier,monospace;overflow-x:auto;padding:1rem}.workflow-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin-top:2rem}.workflow-step{background-color:#1a1a1a;border-radius:12px;box-shadow:0 0 10px #ffd70033;padding:1.5rem;text-align:center;transition:transform .3s ease;width:260px}.workflow-step:hover{transform:translateY(-5px)}.workflow-step h3{color:#fff8dc;margin-bottom:.5rem}.workflow-step p{font-size:.95rem}@media (max-width:768px){.myportfolio-page{padding:1.5rem 0}.hero .title{font-size:2.3rem;padding-bottom:1rem}.hero .subtitle{font-size:1rem;padding:0 .5rem}.section-title{font-size:1.8rem;text-align:center}.code-snippet-section,.design-section,.dev-section,.goals-section,.lessons-section,.overview-section,.structure-section,.tech-section,.workflow-section{align-items:center;flex-direction:column;gap:2rem;height:auto;margin:3rem 1rem;max-width:100%;padding:1rem;width:85%}.tech-icons{align-items:center;flex-direction:column;gap:1rem}.tech-icon .icon{font-size:2.2rem;padding-top:1rem}.tech-icon .label{font-size:.85rem}.goals-grid{display:none}.goals-carousel-wrapper{display:block;overflow:hidden;position:relative;width:100%}.goals-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;transition:transform .5s ease-in-out;will-change:transform}.goal-card{background-color:#1a1a1a;border-radius:12px;box-shadow:0 0 15px #ffd70022;box-sizing:border-box;flex-shrink:0;min-width:100%;padding:1.5rem 1rem;scroll-snap-align:center;text-align:center}.goal-card h3{color:gold;margin-bottom:.5rem}.goal-card p{font-size:.95rem}.structure-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;width:100%}.structure-left,.structure-right{width:81%}.major-section-title{font-size:2.2rem}.code-snippet-inner{gap:1.5rem;grid-template-columns:1fr;width:100%}.code-block{font-size:.8rem;padding:.8rem}.workflow-step{width:100%}}html{scroll-behavior:smooth}body,html{background-color:#000;font-family:Courier New,Courier,monospace;margin:0;overflow-x:hidden;overflow-y:auto;padding:0}.app-container,body,html{height:100%;width:100%}main{flex-grow:1;margin:0;overflow-y:visible;scroll-snap-type:y proximity}section{background:linear-gradient(180deg,#0a0a0a,#1a1a1a);display:flex;flex-direction:column;justify-content:center;margin:0;padding:0 3rem 0 2rem}.about-section{scroll-margin-top:80px}.resume-section{background:#0a0a0a;scroll-margin-top:-65px}.contact-section{background:#000;scroll-margin-top:-40px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-thumb{background-color:gold;border-radius:4px}::-webkit-scrollbar-track{background-color:#111}@media screen and (max-width:768px){main{padding-left:0}section{margin:0;padding:0 1rem 1rem 0}.about-section{scroll-margin-top:15px}.resume-section{background:#0a0a0a;min-height:170vh;scroll-margin-top:-300px}.contact-section{background:#000;scroll-margin-top:-10px}}
/*# sourceMappingURL=main.1d281048.css.map*/