@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{margin:0}html{background-color:#0f172a;scroll-behavior:smooth}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#1e293b}::-webkit-scrollbar-thumb{background:#3b82f6;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#2563eb}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-overflow-scrolling:touch;background-color:#0f172a;color:#e2e8f0;font-family:Inter,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden;scroll-behavior:smooth;text-rendering:optimizeLegibility}.container{margin:0 auto;max-width:1200px;padding:0 40px}.navbar{background:#0f172af2;border-bottom:1px solid #94a3b81a;box-shadow:0 4px 30px #0000004d;padding:1rem 0;position:fixed;top:0;transform:translateZ(0);transition:all .3s ease;width:100%;will-change:auto;z-index:1000}.navbar:before{background:linear-gradient(90deg,#0000,#3b82f6,#60a5fa,#3b82f6,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;right:0}.nav-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 40px}.nav-container,.nav-right{align-items:center;display:flex}.nav-right{gap:2rem}.nav-logo h2{color:#f1f5f9;font-size:1.8rem;font-weight:700;letter-spacing:-.025em}.nav-menu{display:flex;gap:2.5rem;list-style:none}.nav-menu a{color:#94a3b8;font-size:.95rem;font-weight:500;letter-spacing:.025em;position:relative;text-decoration:none;transition:all .3s ease}.nav-menu a.active,.nav-menu a:hover{color:#60a5fa}.nav-menu a:after{background:linear-gradient(90deg,#60a5fa,#3b82f6);bottom:-5px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-menu a.active:after,.nav-menu a:hover:after{width:100%}.three-dot-menu{align-items:center;background:none;border:none;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;font-size:1.2rem;height:40px;justify-content:center;padding:.5rem;transition:all .3s ease;width:40px}.three-dot-menu:hover{background:#3b82f61a;color:#60a5fa;transform:scale(1.1)}.dropdown-container{position:relative}.dropdown-menu{animation:dropdownFadeIn .2s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0f172af2;border:1px solid #94a3b833;border-radius:12px;box-shadow:0 8px 25px #0000004d;margin-top:.5rem;min-width:200px;position:absolute;right:0;top:100%;z-index:1000}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{align-items:center;background:none;border:none;border-radius:8px;color:#e2e8f0;cursor:pointer;display:flex;font-size:.95rem;font-weight:500;justify-content:center;margin:.25rem;padding:1rem 1.5rem;text-align:center;transition:all .2s ease;width:100%}.dropdown-item:hover{background:#3b82f61a;color:#60a5fa}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.hero{align-items:center;color:#f1f5f9;contain:layout style paint;display:flex;height:100vh;justify-content:flex-start;margin-top:10px;overflow:hidden;padding:0 40px;position:relative;will-change:auto}.hero-video,.hero-video-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-video{contain:layout style paint;object-fit:cover;will-change:transform}.hero-video.frozen{animation-play-state:paused}.hero-overlay{background:linear-gradient(135deg,#0f172ab3,#1e293b99 50%,#33415580);height:100%;left:0;position:absolute;top:0;width:100%;z-index:3}.hero:after{background:radial-gradient(circle at 20% 20%,#3b82f60d 0,#0000 50%);will-change:auto}.hero:after,.hero:before{bottom:0;content:"";left:0;opacity:.8;position:absolute;right:0;top:0;transform:translateZ(0)}.hero:before{background:radial-gradient(circle at 80% 80%,#8b5cf60d 0,#0000 50%)}.hero-content{max-width:800px;padding:0 40px;position:relative;text-align:left;z-index:4}.hero-buttons,.hero-name,.hero-tagline,.hero-title{transition:opacity 1s ease-out,transform 1s ease-out}.animate-on-scroll,.hero-buttons,.hero-name,.hero-tagline,.hero-title{contain:layout style;opacity:0;transform:translateY(20px);will-change:opacity,transform}.animate-on-scroll{transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.show,.hero-buttons.show,.hero-name.show,.hero-tagline.show,.hero-title.show{opacity:1;transform:translateY(0)}.cert-item.animate-on-scroll,.contact-item.animate-on-scroll,.education-item.animate-on-scroll,.project-card.animate-on-scroll,.skills-category.animate-on-scroll,.timeline-item.animate-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease-out,transform .6s ease-out;will-change:opacity,transform}.cert-item.animate-on-scroll.show,.contact-item.animate-on-scroll.show,.education-item.animate-on-scroll.show,.project-card.animate-on-scroll.show,.skills-category.animate-on-scroll.show,.timeline-item.animate-on-scroll.show{opacity:1;transform:translateY(0) translateZ(0)}.animate-delay-1,.animate-delay-2,.animate-delay-3,.animate-delay-4,.animate-delay-5,.animate-delay-6{transition-delay:0s}.project-card.animate-on-scroll,.skills-category.animate-on-scroll{opacity:0!important;transform:translateY(20px) translateZ(0)!important;transition:opacity .6s ease-out,transform .6s ease-out!important}.project-card.animate-on-scroll.show,.skills-category.animate-on-scroll.show{opacity:1!important;transform:translateY(0) translateZ(0)!important}.hero-name{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;background-clip:text;font-size:4.5rem;font-weight:800;letter-spacing:-.05em;line-height:.9;margin-bottom:1rem}.hero-title{color:#94a3b8;font-size:2.2rem;font-weight:300;letter-spacing:.025em;margin-bottom:1.5rem}.hero-tagline{color:#cbd5e1;font-size:1.3rem;line-height:1.7;margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1.5rem}.scroll-arrow-container{animation:fadeInUp .8s ease-out forwards;bottom:30px;height:60px;left:0;margin:0 auto;opacity:0;position:absolute;right:0;width:60px;z-index:5}.scroll-arrow,.scroll-arrow-container{align-items:center;display:flex;justify-content:center}.scroll-arrow{cursor:pointer;height:100%;transition:all .3s ease;width:100%}.scroll-arrow:hover{transform:translateY(-3px)}.scroll-arrow-circle{align-items:center;animation:pulse 2s infinite;background:#3b82f61a;border:2px solid #3b82f64d;border-radius:50%;display:flex;height:60px;justify-content:center;transition:all .3s ease;width:60px}.scroll-arrow:hover .scroll-arrow-circle{background:#3b82f633;border-color:#3b82f680;transform:scale(1.1)}.scroll-arrow-icon{color:#60a5fa;height:24px;transition:color .3s ease;width:24px}.scroll-arrow:hover .scroll-arrow-icon{color:#3b82f6}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #3b82f666}50%{box-shadow:0 0 0 10px #3b82f600}}.btn{border:none;border-radius:50px;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;letter-spacing:.025em;padding:14px 32px;text-align:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;will-change:transform}.btn-primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 15px #3b82f64d;color:#fff;overflow:hidden;position:relative}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-2px)}.btn-secondary{background:#0000;border:2px solid #94a3b84d;color:#f1f5f9}.btn-secondary:hover{background:#3b82f61a;border-color:#3b82f6;color:#60a5fa;transform:translateY(-2px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.about{background:#0f172a;contain:layout style paint;padding:60px 0;position:relative;transform:translateZ(0)}.about:before{background:linear-gradient(180deg,#0000,#3b82f60d),radial-gradient(circle at 20% 20%,#3b82f614 0,#0000 50%),radial-gradient(circle at 80% 80%,#8b5cf614 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.about h2{color:#f1f5f9;font-size:3.2rem;font-weight:700;letter-spacing:-.025em;margin-bottom:3rem;text-align:center}.about h2,.about-content{position:relative;z-index:2}.about-content{contain-intrinsic-size:300px;content-visibility:auto}.about-text{-webkit-hyphens:auto;hyphens:auto;position:relative;text-align:justify;word-spacing:.1em}.about-text p{color:#cbd5e1;font-size:1.1rem;line-height:1.5;margin-bottom:1.2rem;text-align:justify;text-justify:inter-word}.about-image{float:right;margin:0 0 .2rem 2rem;shape-outside:circle(50%)}.profile-placeholder{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);border:3px solid #3b82f633;border-radius:20px;box-shadow:0 15px 30px #0003;display:flex;height:220px;justify-content:center;overflow:hidden;position:relative;shape-outside:circle(50%);width:220px}.profile-placeholder:before{animation:shimmer 3s infinite;background:linear-gradient(45deg,#0000,#3b82f61a,#0000);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}.profile-icon{font-size:5.5rem;position:relative;z-index:2}.profile-placeholder img{border-radius:20px;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%;z-index:3}.profile-icon-fallback{align-items:center;display:flex;font-size:5.5rem;height:100%;justify-content:center;position:relative;width:100%;z-index:2}@keyframes shimmer{0%{transform:translateX(-100%) translateY(-100%) rotate(45deg)}to{transform:translateX(100%) translateY(100%) rotate(45deg)}}.projects{background:#1e293b;contain:layout style paint;padding:80px 0;position:relative;transform:translateZ(0)}.projects h2{color:#f1f5f9;font-size:3.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:4rem;text-align:center}.projects-grid{grid-gap:2.5rem;contain:layout;contain-intrinsic-size:300px;content-visibility:auto;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));min-height:400px}.project-card{background:#0f172ae6;border:1px solid #94a3b81a;border-radius:20px;box-shadow:0 8px 25px #0003;contain:layout style paint;cursor:pointer;min-height:400px;opacity:0;overflow:hidden;position:relative;transform:translateZ(0);transform:translateY(20px) translateZ(0);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;visibility:visible;will-change:transform}.project-card.animate-on-scroll{contain:layout style paint;opacity:0!important;transform:translateY(20px) translateZ(0)!important;transition:opacity .6s ease-out,transform .6s ease-out!important;will-change:opacity,transform}.project-card:hover{border-color:#3b82f64d;box-shadow:0 15px 35px #0000004d;transform:translateY(-5px) translateZ(0)}.project-click-hint{background:#3b82f61a;border:1px solid #3b82f633;border-radius:15px;bottom:15px;color:#60a5fa;font-size:.8rem;font-weight:500;opacity:0;padding:.5rem 1rem;position:absolute;right:15px;transition:all .3s ease}.project-card:hover .project-click-hint{opacity:1;transform:translateY(-2px)}.project-image{align-items:center;background:linear-gradient(135deg,#1e293b,#334155);display:flex;height:220px;justify-content:center;overflow:hidden;position:relative}.project-image:before{background:linear-gradient(45deg,#3b82f61a,#8b5cf61a);bottom:0;content:"";left:0;position:absolute;right:0;top:0;will-change:auto;z-index:1}.project-placeholder{will-change:auto}.project-icon-fallback,.project-placeholder{align-items:center;display:flex;font-size:4.5rem;height:100%;justify-content:center;position:relative;width:100%;z-index:2}.project-placeholder img{border-radius:20px 20px 0 0;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%;z-index:3}.project-card:hover .project-placeholder img{transform:scale(1.05)}.project-content{padding:2.5rem}.project-content h3{color:#f1f5f9;font-size:1.6rem;font-weight:600;line-height:1.4;margin-bottom:1.2rem}.project-content p{color:#cbd5e1;font-size:1.05rem;line-height:1.7;margin-bottom:1.8rem}.project-tech{align-items:center;display:flex;flex-wrap:wrap;gap:.8rem}.project-tech span{align-items:center;background:#3b82f6;border-radius:25px;color:#fff;display:flex;font-size:.85rem;font-weight:500;justify-content:center;letter-spacing:.025em;padding:.5rem 1rem;will-change:auto}.tech-ellipsis{background:#94a3b84d!important;border:1px solid #94a3b833!important;color:#94a3b8!important;font-size:.9rem!important;font-weight:600!important;padding:.5rem .8rem!important}.skills{background:#0f172a;contain:layout style paint;padding:80px 0;position:relative;transform:translateZ(0)}.skills h2{color:#f1f5f9;font-size:3.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:4rem;text-align:center}.skills-content{grid-gap:3.5rem;grid-gap:1.5rem;contain:layout;display:grid;gap:3.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.skills-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b99;border:1px solid #94a3b81a;border-radius:12px;contain:layout style paint;opacity:0;padding:1.5rem;transform:translateZ(0);transform:translateY(20px) translateZ(0);transition:all .3s ease;will-change:transform}.skills-category:hover{background:#1e293bcc;border-color:#3b82f633;box-shadow:0 10px 25px #3b82f61a;transform:translateY(-5px) translateZ(0)}.skills-category h3{border-bottom:2px solid #3b82f64d;color:#f1f5f9;font-size:1.3rem;font-weight:600;letter-spacing:.025em;margin-bottom:1.5rem;padding-bottom:.5rem;text-align:left}.skill-item{align-items:center;display:flex;gap:1rem;margin-bottom:1.2rem}.skill-item:last-child{margin-bottom:0}.skill-item span{color:#e2e8f0;flex:0 0 120px;font-size:.95rem;font-weight:500;overflow:hidden;text-align:right;text-overflow:ellipsis;white-space:nowrap}.skill-bar{background:#0f172acc;border:1px solid #94a3b81a;border-radius:3px;flex:1 1;height:6px}.skill-bar,.skill-progress{overflow:hidden;position:relative}.skill-progress{background:linear-gradient(90deg,#3b82f6,#1e40af);border-radius:3px;height:100%;transition:width 1.2s cubic-bezier(.4,0,.2,1);will-change:width}.skill-progress:after{animation:progress-shimmer 2s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes progress-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.resume{background:#1e293b;padding:80px 0 100px;position:relative}.resume:after{background:linear-gradient(90deg,#0000,#3b82f680,#0000);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.resume h2{color:#f1f5f9;font-size:3.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:4rem;text-align:center}.resume-content{contain:layout;margin:0 auto;max-width:900px}.resume-section{margin-bottom:2rem}.resume-section h3{border-bottom:3px solid #3b82f6;color:#f1f5f9;font-size:2.2rem;font-weight:600;letter-spacing:.025em;margin-bottom:2.5rem;padding-bottom:1rem}.timeline{padding-left:2.5rem;position:relative}.timeline:before{display:none}.timeline-item{margin-bottom:3rem;padding-left:2.5rem;position:relative}.timeline-item:before{background:#3b82f6;border:4px solid #1e293b;border-radius:50%;box-shadow:0 0 0 4px #3b82f6;content:"";height:16px;left:.5rem;position:absolute;top:.8rem;transform:translateX(-50%);width:16px;z-index:2}.timeline-date{color:#60a5fa;font-size:1.1rem;font-weight:600;letter-spacing:.025em;margin-bottom:.8rem}.timeline-content h4{color:#f1f5f9;font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.timeline-content h5{color:#94a3b8;font-size:1.1rem;font-weight:500;margin-bottom:.8rem}.timeline-content p{color:#cbd5e1;font-size:1.05rem;line-height:1.7}.experience-timeline{display:flex;flex-direction:column;gap:2rem}.company-group{background:#1e293b4d;border:1px solid #3b82f61a;border-radius:12px;padding:1.5rem;transition:all .3s ease}.company-group:hover{background:#1e293b80;border-color:#3b82f633;transform:translateY(-2px)}.company-header{align-items:flex-start;border-bottom:1px solid #94a3b81a;display:flex;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem}.company-logo{align-items:center;background:#3b82f61a;border-radius:8px;display:flex;flex-shrink:0;height:48px;justify-content:center;overflow:hidden;width:48px}.company-logo img{height:100%;object-fit:cover;width:100%}.company-logo-placeholder{align-items:center;background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:8px;color:#fff;display:flex;font-size:1.2rem;font-weight:700;height:100%;justify-content:center;width:100%}.company-info{flex:1 1}.company-name{color:#f1f5f9;font-size:1.3rem;font-weight:700;margin:0 0 .5rem}.company-meta{align-items:center;display:flex;gap:.5rem;margin-bottom:.25rem}.employment-type{color:#60a5fa;font-size:.9rem;font-weight:600}.company-location,.duration{color:#94a3b8;font-size:.9rem}.positions-container{padding-left:1.5rem;position:relative}.positions-container:before{background:linear-gradient(180deg,#3b82f6,#1e40af);bottom:0;content:"";left:0;position:absolute;top:0;width:2px}.position-item{margin-bottom:1.5rem;padding-left:1.5rem;position:relative}.position-item:last-child{margin-bottom:0}.position-timeline{align-items:center;display:flex;flex-direction:column;left:-1.5rem;position:absolute;top:0}.timeline-dot{background:#3b82f6;border:3px solid #1e293b;border-radius:50%;height:12px;position:relative;transform:translateX(-45%);width:12px;z-index:2}.timeline-line{background:linear-gradient(180deg,#3b82f6,#1e40af);height:calc(100% + 1.5rem);margin-top:12px;width:2px}.position-content{background:#0f172a4d;border:1px solid #3b82f60d;border-radius:8px;padding:1rem}.position-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.position-title{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin:0}.position-dates{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.position-period{color:#60a5fa;font-size:.9rem;font-weight:600}.position-duration{color:#94a3b8;font-size:.85rem}.position-description{color:#cbd5e1;line-height:1.6;margin:0 0 1rem}.description-list{display:flex;flex-direction:column;gap:.5rem}.description-item{align-items:flex-start;display:flex;gap:.5rem;margin-bottom:.5rem}.description-item:last-child{margin-bottom:0}.bullet-point{color:#3b82f6;flex-shrink:0;font-size:1.1rem;font-weight:700;line-height:1.4;margin-top:.1rem}.description-text{flex:1 1;line-height:1.5}.description-expanded{display:flex;flex-direction:column;gap:.5rem;max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.description-expanded.show{max-height:500px}.description-toggle{align-self:flex-start;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:6px;color:#60a5fa;cursor:pointer;font-size:.85rem;font-weight:500;margin-top:.25rem;padding:.5rem 1rem;transition:all .2s ease}.description-toggle:hover{background:#3b82f633;border-color:#3b82f680;color:#93c5fd}.position-skills{align-items:flex-start;display:flex;gap:.5rem}.skills-icon{flex-shrink:0;font-size:1rem;margin-top:.1rem}.skills-container{flex:1 1}.skills-list{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.skills-expanded{margin-top:.5rem;max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.skills-expanded.show{max-height:200px}.skills-list-expanded{display:flex;flex-wrap:wrap;gap:.5rem}.skill-more-button{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:12px;color:#60a5fa;cursor:pointer;display:flex;font-size:.8rem;font-weight:500;justify-content:center;min-height:28px;padding:.25rem .5rem;transition:all .2s ease}.skill-more-button:hover{background:#3b82f633;border-color:#3b82f680;color:#93c5fd}.skill-tag{background:#3b82f61a;border:1px solid #3b82f633;border-radius:12px;color:#60a5fa;font-size:.8rem;font-weight:500;padding:.25rem .5rem}.education-item{background:#0f172ae6;border:1px solid #94a3b81a;border-radius:15px;margin-bottom:2.5rem;padding:2rem;transition:transform .2s ease;will-change:transform}.education-item:hover{transform:translateX(5px)}.education-item h4{color:#f1f5f9;font-size:1.4rem;font-weight:600;margin-bottom:.5rem}.education-item h5{color:#94a3b8;font-size:1.1rem;font-weight:500;margin-bottom:.8rem}.education-item p{color:#cbd5e1;font-size:1.05rem}.certifications{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:0}.cert-item{background:#3b82f6;border-radius:15px;color:#fff;font-size:1.05rem;font-weight:500;letter-spacing:.025em;padding:1.5rem;text-align:center;transition:transform .2s ease;will-change:transform}.cert-item:hover{transform:translateY(-3px)}.section-divider{background:#0f172a;padding:40px 0 20px;position:relative}.divider-content{align-items:center;display:flex;gap:2rem;justify-content:center}.divider-line{background:linear-gradient(90deg,#0000,#3b82f64d,#3b82f699,#3b82f64d,#0000);flex:1 1;height:2px;max-width:200px}.divider-title{color:#94a3b8;font-size:1.2rem;font-weight:500;letter-spacing:.1em;margin:0;text-transform:uppercase;white-space:nowrap}.extracurricular{background:#0f172a;padding:20px 0 80px}.extracurricular-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;grid-template-columns:1fr 1fr 1fr;margin-top:3rem;width:100%}.extracurricular-column{display:flex;flex-direction:column;gap:1.5rem;min-width:0;width:100%}.extracurricular-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#1e293b99;border:1px solid #94a3b81a;border-radius:15px;box-sizing:border-box;height:-webkit-fit-content;height:fit-content;min-width:0;padding:2rem;transition:all .3s ease;width:100%}.extracurricular-item:hover{background:#1e293bcc;border-color:#3b82f633;box-shadow:0 10px 25px #3b82f61a;transform:translateY(-5px)}.extracurricular-header{border-bottom:2px solid #3b82f64d;margin-bottom:1.5rem;padding-bottom:1rem}.extracurricular-header h3{color:#f1f5f9;font-size:1.4rem;font-weight:600;margin:0 0 .5rem}.extracurricular-meta{align-items:center;display:flex;gap:1rem}.extracurricular-role{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#60a5fa;font-size:.9rem;font-weight:600;padding:.25rem .5rem}.extracurricular-period{color:#94a3b8;font-size:.9rem}.extracurricular-description{color:#cbd5e1;font-size:1rem;line-height:1.6;margin-bottom:1.5rem}.extracurricular-achievements h4{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.extracurricular-achievements ul{list-style:none;margin:0;padding:0}.extracurricular-achievements li{color:#cbd5e1;line-height:1.6;margin-bottom:.5rem;padding-left:1.5rem;position:relative}.extracurricular-achievements li:before{color:#3b82f6;content:"•";font-weight:700;left:0;position:absolute}.achievements-expanded{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.achievements-expanded.show{max-height:500px}.achievements-toggle{background:#3b82f61a;border:1px solid #3b82f633;border-radius:6px;color:#60a5fa;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;transition:all .3s ease}.achievements-toggle:hover{background:#3b82f633;border-color:#3b82f64d;color:#93c5fd;transform:translateY(-1px)}.extracurricular-details{max-height:0;overflow:hidden;transition:max-height .3s ease-in-out}.extracurricular-details.show{max-height:1000px}.extracurricular-toggle{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:#60a5fa;cursor:pointer;font-size:.9rem;font-weight:500;margin-top:1rem;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.extracurricular-toggle:hover{background:#3b82f633;border-color:#3b82f64d;box-shadow:0 4px 12px #3b82f626;color:#93c5fd;transform:translateY(-2px)}.extracurricular-gallery{border-top:1px solid #94a3b81a;margin-top:1.5rem;padding-top:1.5rem}.extracurricular-gallery h4{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.gallery-preview{margin-bottom:1rem}.gallery-thumbnails-preview{flex-direction:row;gap:.5rem;padding-bottom:.25rem}.gallery-thumbnails-preview::-webkit-scrollbar-track{background:#94a3b81a}.gallery-thumbnails-preview::-webkit-scrollbar-thumb{background:#3b82f64d}.gallery-thumbnails-preview::-webkit-scrollbar-thumb:hover{background:#3b82f680}.gallery-thumbnail-preview{flex-basis:auto;flex-grow:0;transition:transform .2s ease}.gallery-thumbnail-preview:hover{transform:scale(1.1)}.gallery-thumbnail-image-preview{transition:opacity .2s ease}.gallery-thumbnail-image-preview video{height:100%;object-fit:cover;transition:opacity .2s ease;width:100%}.gallery-thumbnail-preview:hover .gallery-thumbnail-image-preview,.gallery-thumbnail-preview:hover .gallery-thumbnail-image-preview video{opacity:.8}.gallery-icon-fallback{align-items:center;background:#1e293bcc;color:#94a3b8;display:none;font-size:1.5rem;height:100%;justify-content:center;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:100%}.gallery-more-button{background:#3b82f61a;border:1px solid #3b82f633;position:relative;transition:all .2s ease}.gallery-more-button:hover{background:#3b82f633;border-color:#3b82f64d;transform:scale(1.1)}.gallery-more-text{color:#60a5fa;font-size:.9rem;font-weight:600}.gallery-view-button{background:#3b82f61a;border:1px solid #3b82f633;border-radius:8px;color:#60a5fa;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease;width:100%}.gallery-view-button:hover{background:#3b82f633;border-color:#3b82f64d;box-shadow:0 4px 12px #3b82f626;color:#93c5fd;transform:translateY(-2px)}.contact{background:linear-gradient(135deg,#1e293b,#0f172a);border-top:1px solid #3b82f633;color:#f1f5f9;contain:layout style paint;padding:50px 0;position:relative;transform:translateZ(0);will-change:auto}.contact h2{font-size:2.5rem;font-weight:700;letter-spacing:-.025em;margin-bottom:2rem;text-align:center}.contact-content{align-items:center;contain:layout;display:flex;justify-content:center}.contact-card{background:#1e293b66;border:1px solid #94a3b826;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;flex-direction:column;gap:1.5rem;margin:0 auto;max-width:600px;padding:2rem}.contact-info{text-align:center}.contact-info h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700;letter-spacing:.025em;margin-bottom:.5rem}.contact-info p{color:#cbd5e1;font-size:.95rem;line-height:1.5;margin-bottom:0;max-width:100%}.contact-details{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.contact-item{align-items:center;border-radius:8px;color:#e2e8f0;display:flex;font-size:.95rem;margin-bottom:0;padding:.75rem;transition:background-color .2s ease}.contact-item:hover{background:#3b82f61a}.contact-icon{align-items:center;background:#3b82f61a;border-radius:50%;flex-shrink:0;font-size:1.2rem;height:32px;margin-right:.75rem;width:32px}.contact-icon,.social-links{display:flex;justify-content:center}.social-links{flex-wrap:wrap;gap:1rem;margin-top:1rem}.social-link{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:25px;color:#f1f5f9;display:inline-block;font-size:.9rem;font-weight:500;letter-spacing:.025em;min-width:80px;padding:.6rem 1.2rem;text-align:center;text-decoration:none;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.social-link:hover{background:#3b82f633;border-color:#3b82f6;color:#60a5fa}.footer{background:#0f172a;border-top:1px solid #94a3b81a;color:#94a3b8;padding:3rem 0;text-align:center}.footer p{font-size:1.1rem;letter-spacing:.025em}@media (max-width:768px){.nav-menu{display:none}.nav-right{gap:1rem}.three-dot-menu{font-size:1.1rem;height:36px;width:36px}.dropdown-menu{min-width:180px;right:-10px}.dropdown-item{font-size:.9rem;padding:.875rem 1.25rem}.hero{padding:120px 40px 60px}.hero-name{font-size:3rem}.hero-title{font-size:1.8rem}.hero-buttons{flex-wrap:wrap;justify-content:center}.scroll-arrow-container{bottom:20px}.scroll-arrow-circle{height:50px;width:50px}.scroll-arrow-icon{height:20px;width:20px}.about-content,.about-text{text-align:left}.about-image{display:block;float:none;margin:2rem auto}.profile-placeholder{border-radius:15px;height:180px;width:180px}.profile-icon{font-size:4.5rem}.skills-content{grid-template-columns:1fr}.contact-card{padding:1.5rem}.contact-details{flex-direction:column;gap:1rem}.social-links{margin-top:1.5rem}.projects-grid{grid-template-columns:1fr}.timeline,.timeline-item{padding-left:2rem}.timeline-item:before{left:.5rem;transform:translateX(-50%)}.timeline:before{display:none}.skills-content{gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skills-category{padding:1.25rem}.skills-category h3{font-size:1.2rem;margin-bottom:1.25rem}.skill-item{gap:.75rem;margin-bottom:1rem}.skill-item span{flex:0 0 100px;font-size:.9rem}.skill-bar{height:5px}.description-item{gap:.4rem}.bullet-point{font-size:1rem}.description-text{font-size:.9rem}.description-toggle{font-size:.8rem;margin-top:.2rem;padding:.4rem .8rem}.skill-more-button{font-size:.75rem;min-height:24px;padding:.2rem .4rem}.company-group{padding:1rem}.company-header{gap:.75rem;margin-bottom:1rem}.company-logo{height:40px;width:40px}.company-name{font-size:1.1rem}.position-item,.positions-container{padding-left:1rem}.position-timeline{left:-1rem}.timeline-dot{transform:translateX(-45%)}.position-content{padding:.75rem}.position-header{flex-direction:column;gap:.5rem}.position-dates,.position-header{align-items:flex-start}.hero-name{font-size:2.5rem}.hero-title{font-size:1.5rem}.btn{font-size:.95rem;padding:12px 24px}}@media (max-width:480px){.container,.nav-container{padding:0 20px}.hero{padding:120px 20px 60px}.hero-content{padding:0 20px}.hero-name{font-size:2.2rem}.hero-title{font-size:1.3rem}.timeline,.timeline-item{padding-left:1.5rem}.timeline-item{margin-bottom:2rem}.timeline-item:before{height:12px;left:.5rem;top:.6rem;width:12px}.timeline:before{display:none}.skills-content{gap:1rem;grid-template-columns:1fr}.skills-category{padding:1rem}.skills-category h3{font-size:1.1rem;margin-bottom:1rem}.skill-item{gap:.5rem;margin-bottom:.8rem}.skill-item span{flex:0 0 90px;font-size:.85rem}.skill-bar{height:4px}.description-item{gap:.3rem}.bullet-point{font-size:.9rem}.description-text{font-size:.85rem}.description-toggle{font-size:.75rem;margin-top:.2rem;padding:.3rem .6rem}.skill-more-button{font-size:.7rem;min-height:22px;padding:.15rem .3rem}.description-expanded.show{max-height:300px}.section-divider{padding:30px 0 15px}.divider-content{gap:1rem}.divider-title{font-size:1rem}.divider-line{max-width:100px}.extracurricular-content{gap:1.5rem;grid-template-columns:1fr}.extracurricular-column{gap:1rem}.extracurricular-item{border-radius:15px;padding:1.5rem}.extracurricular-header h3{font-size:1.2rem}.extracurricular-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.extracurricular-role{font-size:.8rem;padding:.2rem .4rem}.extracurricular-period{font-size:.8rem}.extracurricular-description{font-size:.9rem}.extracurricular-achievements h4{font-size:1rem}.extracurricular-achievements li{font-size:.9rem;padding-left:1.2rem}.extracurricular-gallery{margin-top:1rem;padding-top:1rem}.extracurricular-gallery h4{font-size:1rem;margin-bottom:.75rem}.gallery-thumbnails-preview{gap:.4rem}.gallery-more-button,.gallery-thumbnail-preview{height:50px;width:50px}.gallery-view-button{font-size:.85rem;padding:.6rem 1rem}.gallery-more-text{font-size:.8rem}.gallery-icon-fallback{font-size:1.2rem}.extracurricular-details.show{max-height:800px}.extracurricular-toggle{font-size:.85rem;padding:.6rem 1rem}.company-group{padding:.75rem}.company-header{gap:.5rem;margin-bottom:.75rem}.company-logo{height:36px;width:36px}.company-name{font-size:1rem}.company-meta{align-items:flex-start;flex-direction:column;gap:.25rem}.position-item,.positions-container{padding-left:.75rem}.position-item{margin-bottom:1rem}.position-timeline{left:-.75rem}.timeline-dot{height:10px;transform:translateX(-45%);width:10px}.position-content{padding:.5rem}.position-title{font-size:1rem}.position-dates{gap:.125rem}.position-period{font-size:.8rem}.position-duration{font-size:.75rem}.position-description{font-size:.9rem;margin-bottom:.75rem}.skills-list{gap:.25rem}.skill-tag{font-size:.7rem;padding:.2rem .4rem}.btn{font-size:.9rem;padding:10px 20px}}@media (max-width:320px){.container,.nav-container{padding:0 10px}.hero-name{font-size:2rem}.hero-title{font-size:1.2rem}.about h2,.contact h2,.projects h2,.resume h2,.skills h2{font-size:2rem}.timeline,.timeline-item{padding-left:1rem}.timeline-item:before{height:10px;left:.5rem;width:10px}.timeline:before{display:none}}.modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000c;bottom:0;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;will-change:auto;z-index:1000}.modal-content,.modal-overlay{display:flex;transform:translateZ(0)}.modal-content{animation:slideUp .3s ease-out;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#1e293b;border:1px solid #3b82f633;border-radius:20px;box-shadow:0 25px 50px #00000080;flex-direction:column;isolation:isolate;max-height:90vh;max-width:800px;position:relative;width:100%}.modal-scroll-container{-webkit-overflow-scrolling:touch;contain:layout style paint;flex:1 1;overflow-y:auto;overscroll-behavior:contain;scroll-behavior:smooth;transform:translateZ(0);will-change:scroll-position}.modal-scroll-container::-webkit-scrollbar{width:8px}.modal-scroll-container::-webkit-scrollbar-track{background:#94a3b81a;border-radius:4px}.modal-scroll-container::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:4px;-webkit-transition:background .3s ease;transition:background .3s ease}.modal-scroll-container::-webkit-scrollbar-thumb:hover{background:#3b82f680}.modal-scroll-container{scrollbar-color:#3b82f64d #94a3b81a;scrollbar-width:thin}.modal-close{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:10}.modal-close:hover{background:#3b82f633;color:#60a5fa;transform:scale(1.1)}.modal-header{border-bottom:1px solid #94a3b81a;flex-shrink:0;padding:20px 40px 15px;text-align:center}.modal-icon{font-size:2.5rem;margin-bottom:.5rem}.modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.modal-role{color:#60a5fa;font-size:1rem;font-weight:500;margin:0}.modal-body{backface-visibility:hidden;-webkit-backface-visibility:hidden;contain:layout style;padding:30px 40px 20px;transform:translateZ(0);will-change:transform}.modal-section{contain-intrinsic-size:200px;content-visibility:auto;margin-bottom:2rem}.modal-section:last-child{margin-bottom:0}.modal-section h3{color:#f1f5f9;font-size:1.5rem;font-weight:600;margin-bottom:1rem;position:relative}.modal-section h3:after{background:linear-gradient(90deg,#60a5fa,#3b82f6);border-radius:1px;bottom:-5px;content:"";height:2px;left:0;position:absolute;width:50px}.modal-description{margin-bottom:0}.modal-description,.modal-paragraph{color:#cbd5e1;font-size:1.1rem;line-height:1.7}.modal-paragraph{margin-bottom:1rem}.modal-paragraph:last-child{margin-bottom:0}.modal-grid,.modal-grid-two-column{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.modal-grid-two-column{align-items:start}.modal-column{display:flex;flex-direction:column;gap:2rem;min-height:0}.modal-column:first-child{max-height:350px;overflow-y:auto;padding-right:5px;scrollbar-color:#3b82f64d #0000;scrollbar-width:thin}.no-gallery .modal-column:first-child{max-height:175px}.modal-column:first-child::-webkit-scrollbar{width:6px}.modal-column:first-child::-webkit-scrollbar-track{background:#0000}.modal-column:first-child::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.modal-column:first-child::-webkit-scrollbar-thumb:hover{background:#3b82f680}.modal-section-scrollable{display:flex;flex:1 1;flex-direction:column;max-height:400px;min-height:0;overflow-y:auto;padding-right:6px}.modal-section-scrollable::-webkit-scrollbar{width:6px}.modal-section-scrollable::-webkit-scrollbar-track{background:#0000}.modal-section-scrollable::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px}.modal-section-scrollable::-webkit-scrollbar-thumb:hover{background:#3b82f680}.tech-tags{-webkit-overflow-scrolling:touch;display:flex;flex-wrap:wrap;gap:.5rem;max-height:380px;overflow-y:auto;padding-right:6px}.tech-tag{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:20px;color:#60a5fa;font-size:.9rem;font-weight:500;padding:.5rem 1rem;transform:translateZ(0);transition:transform .2s ease;will-change:transform}.tech-tag:hover{background:#3b82f633;transform:translateY(-2px)}.project-details{display:flex;flex-direction:column;gap:1rem}.detail-item{align-items:center;border-bottom:1px solid #94a3b81a;display:flex;justify-content:space-between;padding:.75rem 0}.detail-label{color:#94a3b8;font-weight:600}.detail-value{color:#f1f5f9;font-weight:500}.challenges-solutions{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.challenges-solutions-paired{display:flex;flex-direction:column;gap:2rem}.challenge-solution-pair{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr;position:relative}.challenge-solution-pair:not(:last-child):after{background:linear-gradient(90deg,#0000,#94a3b833,#0000);bottom:-1rem;content:"";height:1px;left:0;position:absolute;right:0}.challenge-item,.solution-item{align-items:flex-start;display:flex;gap:1rem}.challenge-icon,.solution-icon{flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.challenge-content,.solution-content{flex:1 1}.challenge-content h4,.solution-content h4{color:#f1f5f9;font-size:1.1rem;font-weight:600;margin:0 0 .5rem}.challenge-content p,.solution-content p{color:#cbd5e1;font-size:1rem;line-height:1.6;margin:0}.challenges h4,.solutions h4{color:#f1f5f9;font-size:1.2rem;font-weight:600;margin-bottom:1rem}.challenges ul,.solutions ul{list-style:none;margin:0;padding:0}.challenges li,.solutions li{color:#cbd5e1;padding:.5rem 0 .5rem 1.5rem;position:relative}.challenges li:before{content:"⚠️";left:0;position:absolute;top:.5rem}.solutions li:before{content:"💡";left:0;position:absolute;top:.5rem}.results-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.result-item{align-items:center;background:#3b82f60d;border:1px solid #3b82f61a;border-radius:10px;display:flex;gap:1rem;padding:1rem;transform:translateZ(0);transition:transform .2s ease;will-change:transform}.result-item:hover{background:#3b82f61a;transform:translateY(-2px)}.result-icon{align-items:center;background:#10b981;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:700;height:24px;justify-content:center;width:24px}.result-text{color:#f1f5f9;font-weight:500}.modal-footer{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(180deg,#1e293bcc,#1e293b);border-top:1px solid #94a3b81a;bottom:0;display:flex;justify-content:center;left:0;padding:20px 40px;position:-webkit-sticky;position:sticky;right:0;z-index:10}.cad-viewer-button{align-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 15px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;overflow:hidden;padding:12px 24px;position:relative;transition:all .3s ease}.cad-viewer-button:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.cad-viewer-button:hover:before{left:100%}.cad-viewer-button:hover{background:linear-gradient(135deg,#2563eb,#1e40af);box-shadow:0 8px 25px #3b82f666;transform:translateY(-2px)}.cad-viewer-button:active{box-shadow:0 4px 15px #3b82f64d;transform:translateY(0)}.cad-viewer-button svg{transition:transform .3s ease}.cad-viewer-button:hover svg{transform:rotate(5deg) scale(1.1)}.gallery-preview{display:flex;flex-direction:column;gap:1rem}.gallery-thumbnails-preview{align-items:center;display:flex;flex-wrap:nowrap;gap:.75rem;overflow-x:auto;padding:5px 0 8px;scrollbar-color:#3b82f61a #0000;scrollbar-width:thin}.gallery-thumbnails-preview::-webkit-scrollbar{height:4px}.gallery-thumbnails-preview::-webkit-scrollbar-track{background:#94a3b80d;border-radius:2px}.gallery-thumbnails-preview::-webkit-scrollbar-thumb{background:#3b82f61a;border-radius:2px;-webkit-transition:background .3s ease;transition:background .3s ease}.gallery-thumbnails-preview::-webkit-scrollbar-thumb:hover{background:#3b82f64d}.gallery-thumbnails-preview::-webkit-scrollbar-thumb:not(:hover){background:#3b82f60d}.gallery-thumbnail-preview{border:2px solid #3b82f633;border-radius:8px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;position:relative;transition:all .3s ease;width:60px}.gallery-thumbnail-preview:hover{border-color:#3b82f680;box-shadow:0 4px 15px #3b82f633}.gallery-thumbnail-image-preview{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-thumbnail-preview:hover .gallery-thumbnail-image-preview{transform:scale(1.1)}.gallery-more-button{align-items:center;background:linear-gradient(135deg,#3b82f61a,#1d4ed81a);border:2px dashed #3b82f64d;border-radius:8px;color:#60a5fa;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;font-weight:600;height:60px;justify-content:center;transition:all .3s ease;width:60px}.gallery-more-button:hover{background:linear-gradient(135deg,#3b82f633,#1d4ed833);border-color:#3b82f680;box-shadow:0 4px 15px #3b82f633}.gallery-more-text{font-size:1.1rem;font-weight:700}@media (max-width:768px){.modal-content{margin:10px;max-height:95vh}.modal-header{padding:15px 20px 10px}.modal-body{padding:20px 20px 15px}.modal-title{font-size:1.5rem}.modal-grid,.modal-grid-two-column{gap:1.5rem;grid-template-columns:1fr}.modal-column{gap:1.5rem;height:auto}.modal-column:first-child{flex:none;max-height:none;min-height:auto;overflow-y:visible}.modal-section-scrollable{flex:none;min-height:auto}.challenge-solution-pair,.challenges-solutions{gap:1.5rem;grid-template-columns:1fr}.challenge-item,.solution-item{gap:.75rem}.results-grid{grid-template-columns:1fr}.modal-footer{padding:15px 20px}.cad-viewer-button{font-size:.9rem;padding:10px 20px}.gallery-more-button,.gallery-thumbnail-preview{height:55px;width:55px}}@media (max-width:480px){.modal-overlay{padding:10px}.modal-title{font-size:1.4rem}.modal-icon{font-size:2rem}.modal-footer{padding:10px 15px}.cad-viewer-button{font-size:.85rem;gap:.5rem;padding:8px 16px}.cad-viewer-button svg{height:16px;width:16px}.gallery-more-button,.gallery-thumbnail-preview{height:50px;width:50px}}.cad-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000e6;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.cad-modal-content{animation:slideUp .3s ease-out;background:#1e293b;border:1px solid #3b82f633;border-radius:20px;box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;height:100%;max-height:90vh;max-width:90vw;overflow:hidden;position:relative;width:100%}.cad-modal-header{border-bottom:1px solid #94a3b81a;flex-shrink:0;padding:20px 30px 15px;position:relative;text-align:center}.cad-modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.cad-modal-subtitle{color:#60a5fa;font-size:1rem;font-weight:500;margin:0}.cad-modal-close{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:10}.cad-modal-close:hover{background:#3b82f633;color:#60a5fa;transform:scale(1.1)}.cad-viewer-container{background:#0f172a;border-radius:0 0 20px 20px;flex:1 1;overflow:hidden;position:relative}.cad-viewer-container canvas{height:100%!important;width:100%!important}.cad-loader{color:#f1f5f9;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:100}.cad-spinner{animation:spin 1s linear infinite;border:3px solid #3b82f64d;border-radius:50%;border-top-color:#60a5fa;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.cad-error{background:#ef44441a;border:1px solid #ef44444d;border-radius:10px;color:#f1f5f9;left:50%;max-width:400px;padding:2rem;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:100}.cad-error-icon{font-size:3rem;margin-bottom:1rem}.cad-error h3{color:#fca5a5;margin-bottom:1rem}.cad-error p{color:#cbd5e1;line-height:1.6;margin-bottom:1.5rem}.cad-error button{background:#3b82f61a;border:1px solid #3b82f64d;border-radius:8px;color:#60a5fa;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .3s ease}.cad-error button:hover{background:#3b82f633;transform:translateY(-2px)}.cad-webgl-unsupported{color:#94a3b8;font-size:1.1rem;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:100}.cad-modal-footer{background:#0f172a80;border-top:1px solid #94a3b81a;flex-shrink:0;padding:15px 30px}.cad-controls-info{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.cad-controls-info p{align-items:center;color:#94a3b8;display:flex;font-size:.9rem;gap:.5rem;margin:0}@media (max-width:768px){.cad-modal-content{margin:10px;max-height:95vh}.cad-modal-header{padding:15px 20px 10px}.cad-modal-title{font-size:1.5rem}.cad-controls-info{align-items:center;flex-direction:column;gap:1rem}.cad-controls-info p{font-size:.8rem}}@media (max-width:480px){.cad-modal-overlay{padding:10px}.cad-modal-title{font-size:1.4rem}.cad-modal-close{height:35px;right:15px;top:15px;width:35px}}.gallery-modal-overlay{align-items:center;animation:fadeIn .3s ease-out;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:2000}.gallery-modal-content{animation:slideUp .3s ease-out;background:#1e293b;border:1px solid #3b82f633;border-radius:20px;box-shadow:0 25px 50px #00000080;display:flex;flex-direction:column;height:100%;max-height:95vh;max-width:95vw;min-height:0;overflow:hidden;position:relative;width:100%}.gallery-modal-header{border-bottom:1px solid #94a3b81a;flex-shrink:0;padding:20px 30px 15px;position:relative;text-align:center}.gallery-modal-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f1f5f9,#60a5fa);-webkit-background-clip:text;background-clip:text;color:#f1f5f9;font-size:1.8rem;font-weight:700;margin-bottom:.25rem}.gallery-modal-subtitle{color:#60a5fa;font-size:1rem;font-weight:500;margin:0}.gallery-modal-close{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:50%;color:#94a3b8;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:40px;z-index:10}.gallery-modal-close:hover{background:#3b82f633;color:#60a5fa;transform:scale(1.1)}.gallery-main-container{background:#0f172a;flex:1 1;overflow:hidden;padding:20px}.gallery-main-container,.gallery-main-image-container{align-items:center;display:flex;justify-content:center;min-height:0;position:relative}.gallery-main-image-container{height:100%;width:100%}.gallery-main-image,.gallery-main-image video{border-radius:10px;box-shadow:0 10px 30px #0000004d;height:auto;max-height:100%;max-width:100%;object-fit:contain;transition:transform .3s ease;width:auto}.gallery-main-image:hover{transform:scale(1.02)}.gallery-image-counter{background:#000000b3;border-radius:15px;color:#fff;font-size:.9rem;font-weight:500;padding:5px 10px;position:absolute;right:10px;top:10px}.gallery-nav-button{align-items:center;background:#3b82f61a;border:1px solid #3b82f64d;border-radius:50%;color:#60a5fa;cursor:pointer;display:flex;height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:50px;z-index:10}.gallery-nav-button:hover{background:#3b82f633;transform:translateY(-50%) scale(1.1)}.gallery-nav-prev{left:20px}.gallery-nav-next{right:20px}.gallery-thumbnails-container{background:#0f172a80;border-top:1px solid #94a3b81a;flex-shrink:0;min-height:100px;padding:20px 30px}.gallery-thumbnails{display:flex;gap:10px;justify-content:center;overflow-x:auto;padding:5px 0}.gallery-thumbnails::-webkit-scrollbar{height:6px}.gallery-thumbnails::-webkit-scrollbar-track{background:#94a3b81a;border-radius:3px}.gallery-thumbnails::-webkit-scrollbar-thumb{background:#3b82f64d;border-radius:3px;-webkit-transition:background .3s ease;transition:background .3s ease}.gallery-thumbnails::-webkit-scrollbar-thumb:hover{background:#3b82f680}.gallery-thumbnail{background:none;border:2px solid #0000;border-radius:8px;cursor:pointer;flex-shrink:0;height:60px;overflow:hidden;padding:0;transition:all .3s ease;width:60px}.gallery-thumbnail:hover{border-color:#3b82f680;transform:scale(1.05)}.gallery-thumbnail.active{border-color:#60a5fa;box-shadow:0 0 10px #60a5fa4d}.gallery-thumbnail-image,.gallery-thumbnail-image video{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.gallery-thumbnail:hover .gallery-thumbnail-image,.gallery-thumbnail:hover .gallery-thumbnail-image video{transform:scale(1.1)}.gallery-modal-footer{background:#0f172a80;border-top:1px solid #94a3b81a;flex-shrink:0;min-height:60px;padding:15px 30px}.gallery-controls-info{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.gallery-controls-info p{align-items:center;color:#94a3b8;display:flex;font-size:.9rem;gap:.5rem;margin:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.gallery-modal-content{margin:10px;max-height:95vh}.gallery-modal-header{padding:15px 20px 10px}.gallery-modal-title{font-size:1.5rem}.gallery-main-container{padding:15px}.gallery-nav-button{height:40px;width:40px}.gallery-nav-prev{left:10px}.gallery-nav-next{right:10px}.gallery-thumbnails-container{padding:15px 20px}.gallery-thumbnail{height:50px;width:50px}.gallery-controls-info{align-items:center;flex-direction:column;gap:1rem}.gallery-controls-info p{font-size:.8rem}}@media (max-width:480px){.gallery-modal-overlay{padding:10px}.gallery-modal-title{font-size:1.4rem}.gallery-modal-close{height:35px;right:15px;top:15px;width:35px}.gallery-thumbnail{height:45px;width:45px}}
/*# sourceMappingURL=main.6047d417.css.map*/