*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:auto}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Lato,sans-serif;overflow-x:hidden}@media (pointer:fine){body,body a,body button,body [role=button],body input,body textarea,body select{cursor:none}}.dark-mode{color:#fff;background-color:#0d1116}.light-mode{color:#000000e6;background-color:#f8f9fa}.main-container{min-height:100vh;transition:background-color .4s,color .4s;position:relative}.gradient-text{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.placeholder-section{min-height:100vh}.section-title{text-align:center;margin-bottom:48px;font-size:2.5rem;font-weight:700}@media (width<=768px){.section-title{margin-bottom:32px;font-size:1.8rem}}.glass-card{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;padding:24px;transition:background .25s,box-shadow .25s}.glass-card:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .glass-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .glass-card:hover{box-shadow:0 8px 32px #00000014}.tech-chip{color:#fffc;letter-spacing:.02em;background:#ffffff14;border:1px solid #ffffff1f;border-radius:20px;padding:4px 12px;font-family:Courier Prime,monospace;font-size:.75rem;font-weight:500;transition:background .25s,border-color .25s;display:inline-block}.light-mode .tech-chip{color:#000000b3;background:#0000000f;border-color:#0000001a}.category-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-block}.top-bar{z-index:100;justify-content:space-between;align-items:center;padding:16px 32px;transition:background .25s,-webkit-backdrop-filter .25s,backdrop-filter .25s;display:flex;position:fixed;top:0;left:0;right:0}.top-bar.scrolled{-webkit-backdrop-filter:blur(12px);background:#0d1116cc}.light-mode .top-bar.scrolled{background:#f8f9facc}.top-bar .logo{letter-spacing:2px;color:#fff;font-size:18px;font-weight:700}.light-mode .top-bar .logo{color:#000000e6}.top-bar .mode-toggle{cursor:pointer;color:#fffc;background:0 0;border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .25s;display:flex}.top-bar .mode-toggle:hover{color:#fff;background:#ffffff14}.light-mode .top-bar .mode-toggle{color:#000000b3;border-color:#00000014}.light-mode .top-bar .mode-toggle:hover{color:#000000e6}.dot-nav{z-index:100;flex-direction:column;align-items:center;gap:16px;display:flex;position:fixed;top:50%;right:24px;transform:translateY(-50%)}@media (width<=768px){.dot-nav{flex-direction:row;gap:12px;inset:auto auto 16px 50%;transform:translate(-50%)}}.dot-nav .dot{cursor:pointer;background:0 0;border:1.5px solid #fff6;border-radius:50%;width:10px;height:10px;transition:all .25s;position:relative}.dot-nav .dot:hover{border-color:#fffc;transform:scale(1.3)}.dot-nav .dot.active{background:#667eea;border-color:#667eea;box-shadow:0 0 12px #667eea99}.light-mode .dot-nav .dot{border-color:#0006}.light-mode .dot-nav .dot:hover{border-color:#000000b3}.light-mode .dot-nav .dot.active{background:#667eea;border-color:#667eea}.dot-nav .dot-label{white-space:nowrap;letter-spacing:2px;text-transform:uppercase;color:#fff6;opacity:0;pointer-events:none;font-size:11px;transition:opacity .25s;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.dot:hover .dot-nav .dot-label{opacity:1}@media (width<=768px){.dot-nav .dot-label{display:none}}.hero{align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.hero .hero-scene{z-index:0;opacity:1;transition:opacity .6s;position:absolute;inset:0}.hero .hero-scene.hero-scene--hidden{opacity:0}.hero .hero-video{object-fit:cover;z-index:2;width:100%;height:100%;position:absolute;inset:0}.hero .hero-content{z-index:1;max-width:700px;padding:0 10%;position:relative}@media (width<=768px){.hero .hero-content{text-align:center;flex-direction:column;align-items:center;max-width:100%;padding:120px 5% 60px;display:flex}}.hero .hero-photo-wrapper{opacity:0;margin-bottom:28px}@media (width<=768px){.hero .hero-photo-wrapper{justify-content:center;display:flex}}.hero .hero-photo-ring{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;width:190px;height:190px;padding:3px;display:inline-block;box-shadow:0 0 20px #667eea73,0 0 40px #764ba240}@media (width<=768px){.hero .hero-photo-ring{width:150px;height:150px}}.hero .hero-photo{object-fit:cover;object-position:center top;border:3px solid #0d1116;border-radius:50%;width:100%;height:100%;display:block}.light-mode .hero .hero-photo{border-color:#f8f9fa}.hero .hero-label{letter-spacing:3px;text-transform:uppercase;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;opacity:0;-webkit-background-clip:text;background-clip:text;margin-bottom:16px;font-size:.85rem;font-weight:600;animation:.8s forwards paused label-reveal}@media (width<=768px){.hero .hero-label{letter-spacing:2px}}.hero .hero-name{opacity:0;margin-bottom:16px;font-size:4.2rem;font-weight:800;line-height:1.05;display:inline-block;position:relative}@media (width<=768px){.hero .hero-name{font-size:2.6rem}}.hero .hero-name-text{display:block}.hero .hero-name-underline{opacity:.9;border-radius:2px;width:0;height:3px;margin-top:6px;transition:width .8s 1.4s;display:block;overflow:hidden}.hero-name[style*="opacity: 1"] .hero .hero-name-underline,.hero-name[style*=opacity\:1] .hero .hero-name-underline{width:100%}.hero .hero-name-underline:after{content:"";will-change:transform;background:linear-gradient(90deg,#667eea,#764ba2,#667eea);width:300%;height:100%;animation:2.4s linear infinite gradient-slide;display:block}.hero .hero-bio{color:#fffc;opacity:0;max-width:550px;margin-bottom:32px;font-size:1.1rem;line-height:1.6}.light-mode .hero .hero-bio{color:#000000b3}@media (width<=768px){.hero .hero-bio{max-width:100%}}.hero .hero-socials{opacity:0;gap:16px;margin-bottom:24px;display:flex}.hero .hero-socials a{color:#fffc;font-size:1.4rem;transition:color .25s,transform .25s}.hero .hero-socials a:hover{color:#667eea;transform:scale(1.2)}.light-mode .hero .hero-socials a{color:#000000b3}.light-mode .hero .hero-socials a:hover{color:#5000ca}.hero .hero-cv-buttons{opacity:0;gap:12px;display:flex}.hero .hero-cv-buttons a{color:#fffc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:24px;padding:10px 24px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-block}.hero .hero-cv-buttons a:hover{color:#fff;background:#ffffff14;border-color:#667eea}.light-mode .hero .hero-cv-buttons a{color:#000000b3;background:#ffffffe6;border-color:#00000014}.light-mode .hero .hero-cv-buttons a:hover{color:#000000e6;border-color:#5000ca}.hero .hero-scroll-indicator{z-index:2;opacity:0;cursor:default;-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero .hero-scroll-label{letter-spacing:3px;text-transform:uppercase;color:#fff6;font-size:.7rem}.light-mode .hero .hero-scroll-label{color:#0006}.hero .hero-scroll-chevron{color:#fff6;font-size:.85rem}.light-mode .hero .hero-scroll-chevron{color:#0006}@keyframes gradient-slide{0%{transform:translate(0)}to{transform:translate(-66.67%)}}@keyframes label-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0% 0 0)}}.neural-network-mini{width:150px;height:80px;margin:12px auto 0;display:block;overflow:visible}.neural-network-mini .nn-edge{will-change:opacity}.neural-network-mini .nn-node{will-change:opacity, r;filter:drop-shadow(0 0 3px #667eeab3)}.expertise{padding:100px 10%}@media (width<=768px){.expertise{padding:60px 5%}}.expertise .expertise-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=1200px){.expertise .expertise-grid{grid-template-columns:1fr}}.expertise .skill-card{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;padding:28px;transition:background .25s,box-shadow .25s;position:relative;overflow:hidden}.expertise .skill-card:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .expertise .skill-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .expertise .skill-card:hover{box-shadow:0 8px 32px #00000014}.expertise .skill-card .skill-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.expertise .skill-card .skill-card-title{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:1.3rem;font-weight:700}.expertise .skill-card .skill-card-3d{flex-shrink:0;width:60px;height:60px}.expertise .skill-card .skill-card-description{color:#fffc;margin-bottom:16px;font-size:.9rem;line-height:1.5}.light-mode .expertise .skill-card .skill-card-description{color:#000000b3}.expertise .skill-card .skill-card-chips{flex-wrap:wrap;gap:8px;display:flex}.timeline-section{padding:100px 10%;position:relative;overflow:hidden}@media (width<=768px){.timeline-section{padding:60px 5%}}.timeline-section .timeline-scene{z-index:0;pointer-events:none;position:absolute;inset:0}.timeline-section .timeline-content{z-index:1;position:relative}.timeline-section .timeline-subtitle{text-align:center;color:#fffc;max-width:500px;margin-bottom:64px;margin-left:auto;margin-right:auto;font-size:1rem}.light-mode .timeline-section .timeline-subtitle{color:#000000b3}.timeline-track{max-width:1000px;margin:0 auto;padding-bottom:48px;position:relative}.tl-line{background:#667eea1f;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}@media (width<=768px){.tl-line{left:24px}}.tl-line-progress{background:linear-gradient(#667eea,#764ba2);border-radius:1px;width:100%;height:0;box-shadow:0 0 8px #667eea66}.tl-card-wrapper{align-items:flex-start;margin-bottom:56px;padding-top:8px;display:flex;position:relative}.tl-card-wrapper:last-child{margin-bottom:0}.tl-card-wrapper.tl-left{flex-direction:row}.tl-card-wrapper.tl-left .tl-card{margin-right:calc(50% + 40px)}.tl-card-wrapper.tl-left .tl-date-label{text-align:left;left:calc(50% + 24px);right:auto}.tl-card-wrapper.tl-right{flex-direction:row-reverse}.tl-card-wrapper.tl-right .tl-card{margin-left:calc(50% + 40px)}.tl-card-wrapper.tl-right .tl-date-label{text-align:right;left:auto;right:calc(50% + 24px)}@media (width<=768px){.tl-card-wrapper{flex-direction:row!important}.tl-card-wrapper .tl-card{margin-left:56px!important;margin-right:0!important}.tl-card-wrapper .tl-date-label{display:none}}.tl-dot{z-index:3;justify-content:center;align-items:center;width:16px;height:16px;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}@media (width<=768px){.tl-dot{left:24px}}.tl-dot .tl-dot-inner{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #0d1116;border-radius:50%;width:12px;height:12px;transition:transform .25s,box-shadow .25s}.light-mode .tl-dot .tl-dot-inner{border-color:#f8f9fa}.tl-dot .tl-dot-ring{opacity:.5;border:2px solid #667eea;border-radius:50%;width:28px;height:28px;animation:1.8s ease-in-out infinite dot-pulse;position:absolute}.tl-active .tl-dot .tl-dot-inner{transform:scale(1.3);box-shadow:0 0 12px #667eea99}@keyframes dot-pulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.6)}}.tl-date-label{color:#fff6;white-space:nowrap;align-items:center;gap:4px;font-family:Courier Prime,monospace;font-size:.78rem;display:flex;position:absolute;top:16px}.light-mode .tl-date-label{color:#0006}.tl-date-label .tl-date-start{color:#667eea;font-weight:600}.tl-date-label .tl-date-sep{opacity:.4}.tl-date-label .tl-date-end{color:#fffc}.light-mode .tl-date-label .tl-date-end{color:#000000b3}.tl-card{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;flex:1;padding:28px;transition:border-color .25s,box-shadow .25s,transform .25s}.tl-card:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .tl-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .tl-card:hover{box-shadow:0 8px 32px #00000014}.tl-card.tl-card--active{border-color:#667eea4d;transform:translateY(-2px);box-shadow:0 4px 24px #667eea14,0 8px 32px #0003}.tl-card-header{margin-bottom:12px}.tl-card-header .tl-role{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:1.25rem;font-weight:700}.tl-card-header .tl-company{color:#fff;font-size:1rem;font-weight:500;display:block}.light-mode .tl-card-header .tl-company{color:#000000e6}.tl-card-header .tl-location{color:#fff6;font-size:.82rem}.light-mode .tl-card-header .tl-location{color:#0006}.tl-card-header .tl-date-mobile{color:#667eea;background:#667eea26;border-radius:10px;margin-bottom:8px;padding:3px 10px;font-family:Courier Prime,monospace;font-size:.72rem;display:none}@media (width<=768px){.tl-card-header .tl-date-mobile{display:inline-block}.tl-card-header:after{display:none}.tl-card:before{content:attr(data-dates);color:#667eea;background:#667eea26;border-radius:10px;margin-bottom:12px;padding:3px 10px;font-family:Courier Prime,monospace;font-size:.72rem;display:inline-block}}.tl-description{color:#fffc;margin-bottom:16px;font-size:.92rem;line-height:1.7}.light-mode .tl-description{color:#000000b3}.tl-chips{flex-wrap:wrap;gap:6px;margin-bottom:16px;display:flex}.tl-chips.tl-chips--small{margin-bottom:8px}.tl-expand-btn{color:#667eea;cursor:pointer;background:#667eea0d;border:1px solid #667eea26;border-radius:10px;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:.85rem;font-weight:500;transition:all .25s;display:flex}.tl-expand-btn:hover{background:#667eea1a;border-color:#667eea4d}.tl-expand-btn .tl-expand-icon{background:#667eea26;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.9rem;font-weight:700;transition:transform .25s;display:flex}.tl-expand-btn.tl-expand-btn--open .tl-expand-icon{transform:rotate(180deg)}.tl-subprojects{opacity:0;max-height:0;transition:max-height .5s cubic-bezier(.4,0,.2,1),opacity .3s;overflow:hidden}.tl-subprojects.tl-subprojects--open{opacity:1;max-height:2000px}.tl-subproject{border-top:1px solid #fff9;padding:16px 0}.tl-subproject:first-child{margin-top:16px}.tl-sp-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tl-sp-name{color:#fff;font-size:.95rem;font-weight:600}.light-mode .tl-sp-name{color:#000000e6}.tl-accomplishments{margin:0;padding:0;list-style:none}.tl-accomplishments li{color:#fffc;margin-bottom:6px;padding-left:18px;font-size:.85rem;line-height:1.5;position:relative}.tl-accomplishments li:before{content:"▹";color:#667eea;font-size:.9rem;position:absolute;left:0}.light-mode .tl-accomplishments li{color:#000000b3}.ai-badge{letter-spacing:.06em;color:#b0c0ff;text-transform:uppercase;background:#667eea2e;border:1px solid #a0b4ff66;border-radius:10px;flex-shrink:0;align-items:center;gap:5px;padding:2px 8px;font-size:.65rem;font-weight:700;display:inline-flex}.light-mode .ai-badge{color:#1e2f8a;background:#667eea1a;border-color:#667eea59}.light-mode .ai-badge .ai-badge-dot{background:#1e2f8a;box-shadow:0 0 6px #1e2f8ab3}.ai-badge .ai-badge-dot{background:#b0c0ff;border-radius:50%;width:6px;height:6px;animation:1.6s ease-in-out infinite ai-pulse;box-shadow:0 0 6px #b0c0ffcc}@keyframes ai-pulse{0%,to{opacity:1}50%{opacity:.45}}.projects-section{padding:100px 10%;position:relative;overflow:hidden}@media (width<=768px){.projects-section{padding:60px 5%}}.projects-section .projects-scene{z-index:0;filter:blur(1px);will-change:transform}@media (width<=768px){.projects-section .projects-scene{display:none}}.projects-section .featured-project{-webkit-backdrop-filter:blur(12px);perspective:800px;background:#ffffff0a;border:1px solid #667eea33;border-radius:16px;align-items:center;gap:32px;margin-bottom:40px;padding:32px;transition:background .25s,box-shadow .25s;display:flex;position:relative}.projects-section .featured-project:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .projects-section .featured-project{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .projects-section .featured-project:hover{box-shadow:0 8px 32px #00000014}.projects-section .featured-project:before{content:"";border-radius:inherit;-webkit-mask-composite:xor;pointer-events:none;z-index:-1;background:linear-gradient(135deg,#667eea66,#764ba21a,#667eea66) 0 0/200% 200%;padding:1px;animation:6s ease-in-out infinite borderShimmer;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes borderShimmer{0%,to{background-position:0%}50%{background-position:100%}}@media (width<=768px){.projects-section .featured-project{flex-direction:column}}.projects-section .featured-project .featured-image{border-radius:12px;flex:1;overflow:hidden}.projects-section .featured-project .featured-image img{border-radius:12px;width:100%;height:auto;transition:transform .4s;display:block}.projects-section .featured-project .featured-image:hover img{transform:scale(1.03)}.projects-section .featured-project .featured-info{flex:1}.projects-section .featured-project .featured-info .featured-label{text-transform:uppercase;letter-spacing:2px;color:#667eea;margin-bottom:8px;font-size:.75rem}.projects-section .featured-project .featured-info .category-badge{margin-bottom:10px}.projects-section .featured-project .featured-info .featured-title{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:1.8rem;font-weight:700}.projects-section .featured-project .featured-info .featured-description{color:#fffc;margin-bottom:16px;font-size:.95rem;line-height:1.6}.light-mode .projects-section .featured-project .featured-info .featured-description{color:#000000b3}.projects-section .featured-project .featured-info .featured-chips{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.projects-section .featured-project .featured-info .featured-links{gap:12px;display:flex}.projects-section .featured-project .featured-info .featured-links a{color:#fffc;border:1px solid #ffffff1a;border-radius:20px;padding:8px 20px;font-size:.85rem;font-weight:600;text-decoration:none;transition:all .25s}.projects-section .featured-project .featured-info .featured-links a:hover{color:#667eea;border-color:#667eea;box-shadow:0 0 20px #667eea26}.light-mode .projects-section .featured-project .featured-info .featured-links a{color:#000000b3}.light-mode .projects-section .featured-project .featured-info .featured-links a:hover{color:#5000ca;border-color:#5000ca}.projects-section .projects-grid{perspective:1000px;grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width<=768px){.projects-section .projects-grid{grid-template-columns:1fr}}.projects-section .project-card{-webkit-backdrop-filter:blur(12px);background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;padding:0;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden}.projects-section .project-card:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .projects-section .project-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .projects-section .project-card:hover{box-shadow:0 8px 32px #00000014}.projects-section .project-card:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#667eea0f,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.projects-section .project-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px #0000004d,0 0 30px #667eea14}.projects-section .project-card:hover:before{left:100%}.projects-section .project-card .project-image{width:100%;height:180px;overflow:hidden}.projects-section .project-card .project-image img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.projects-section .project-card .project-image:hover img{transform:scale(1.05)}.projects-section .project-card .project-info{padding:20px}.projects-section .project-card .project-info .category-badge{margin-bottom:8px}.projects-section .project-card .project-info .project-title{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.1rem;font-weight:700}.projects-section .project-card .project-info .project-description{color:#fffc;margin-bottom:12px;font-size:.85rem;line-height:1.5}.light-mode .projects-section .project-card .project-info .project-description{color:#000000b3}.projects-section .project-card .project-info .project-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.projects-section .project-card .project-info .project-links{gap:10px;display:flex}.projects-section .project-card .project-info .project-links a{color:#667eea;font-size:.8rem;font-weight:600;text-decoration:none;transition:color .25s}.projects-section .project-card .project-info .project-links a:hover{color:#764ba2}.certifications-container{text-align:left;flex-direction:column;padding:100px 10%;display:flex;position:relative;overflow:hidden}@media (width<=768px){.certifications-container{padding:60px 5%}}.certifications-container .section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem;font-weight:700}@media (width<=768px){.certifications-container .section-title{font-size:2rem}}.certs-scene-main,.certs-scene-accent{pointer-events:none;will-change:transform;filter:blur(.5px)}@media (width<=768px){.certs-scene-main,.certs-scene-accent{display:none}}.certifications-grid{perspective:1000px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;display:grid}@media (width<=768px){.certifications-grid{grid-template-columns:1fr}}.certification{-webkit-backdrop-filter:blur(12px);opacity:0;transform-origin:bottom;will-change:transform, opacity;text-align:left;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:16px;padding:20px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;transform:translateY(40px)rotateX(15deg)}.certification:hover{background:#ffffff14;box-shadow:0 8px 32px #0003}.light-mode .certification{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe6;border-color:#00000014}.light-mode .certification:hover{box-shadow:0 8px 32px #00000014}.certification:before{content:"";z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#667eea0f,#0000);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.certification:hover:before{left:100%}.certification:hover{transform:translateY(-6px);box-shadow:0 20px 40px #00000040,0 0 30px #667eea14}.certification h3{background:linear-gradient(135deg,#667eea,#764ba2);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:1rem 0 .5rem;font-size:1.2rem;transition:all .25s}.certification a{text-decoration:none;display:block}.certification a:hover h3{text-decoration:underline}.certification .category-badge{letter-spacing:.03em;opacity:0;border-radius:20px;margin-bottom:12px;padding:4px 12px;font-size:.75rem;font-weight:600;display:inline-block;transform:translate(-10px)scale(.9)}.cert-provider{margin:8px 0 0}.cert-provider span{color:#fff6;font-size:.85rem;font-style:italic}.zoom{border-radius:8px;margin-bottom:8px;transition:transform .4s;display:block;position:relative;overflow:hidden}.zoom:hover{transform:scale(1.04)}.light-mode .cert-provider span{color:#0006}.site-footer{justify-content:center;align-items:center;width:100%;height:260px;display:flex;position:relative;overflow:hidden}.site-footer:before{content:"";background:linear-gradient(90deg,#0000,#667eea66,#764ba266,#0000);height:1px;position:absolute;top:0;left:10%;right:10%}.footer-scene{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.footer-content{z-index:1;pointer-events:none;flex-direction:column;align-items:center;gap:16px;display:flex;position:relative}.footer-content>*{pointer-events:auto}.footer-tagline{color:#fff6;letter-spacing:.04em;text-align:center;margin:0;font-size:.8rem}.footer-links{gap:24px;display:flex}.footer-links a{color:#fffc;font-size:1.4rem;transition:color .25s,transform .25s}.footer-links a:hover{color:#667eea;transform:translateY(-3px)}.footer-cv-link{letter-spacing:.08em;text-transform:uppercase;color:#fffc;border:1px solid #667eea59;border-radius:20px;padding:6px 18px;font-size:.75rem;text-decoration:none;transition:background .25s,color .25s,border-color .25s}.footer-cv-link:hover{color:#fff;background:#667eea26;border-color:#667eea99}.light-mode .footer-tagline{color:#0006}.light-mode .footer-links a{color:#000000b3}.light-mode .footer-links a:hover{color:#5000ca}.light-mode .footer-cv-link{color:#000000b3}.light-mode .footer-cv-link:hover{color:#000000e6}@media (width<=768px){.site-footer{height:220px}}@media (pointer:fine){.cursor-dot{pointer-events:none;z-index:99999;will-change:transform;background-color:#667eea;border-radius:50%;width:8px;height:8px;transition:opacity .2s;position:fixed;top:0;left:0}.cursor-ring{pointer-events:none;z-index:99998;will-change:transform;background-color:#667eea1a;border:1.5px solid #667eea99;border-radius:50%;width:32px;height:32px;transition:width .25s,height .25s,border-color .25s,background-color .25s;position:fixed;top:0;left:0}.cursor-ring.cursor-ring--expanded{background-color:#667eea26;border-color:#667eeacc;width:48px;height:48px}}
