:root{--primary-color: #6366f1;--secondary-color: #2dd4bf;--accent-color: #8b5cf6;--dark-bg: #020817;--light-text: #f1f5f9;--glass-bg: var(--box-bg);--glass-border: rgba(255, 255, 255, .1);--transition: all .4s cubic-bezier(.4, 0, .2, 1);--bg-main: #0F172A;--box-bg: #141b2e;--text-main: #f1f5f9;--text-muted: rgba(241, 245, 249, .8)}[data-theme=light]{--bg-main: #f8fafc;--text-main: #0f172a;--text-muted: rgba(15, 23, 42, .7);--glass-bg: rgba(255, 255, 255, .6);--glass-border: rgba(0, 0, 0, .05)}html{scroll-behavior:smooth}@media(max-width:480px){html{font-size:80%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,Segoe UI,sans-serif;background:var(--bg-main);color:var(--text-main);overflow-x:hidden;position:relative;min-height:100vh;transition:background .3s ease,color .3s ease}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:100px 0 50px}.btn{padding:.8rem 2.5rem;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden;text-decoration:none;display:inline-block}.btn-primary{background:#6366f1;color:#fff;border:1px solid transparent}.btn-primary:hover{transform:translateY(-2px);background:#4f46e5}.btn-secondary{background:transparent;border:1px solid rgba(255,255,255,.2);color:var(--light-text)}[data-theme=light] .btn-secondary{border-color:#0003;color:var(--text-main)}.btn-secondary:hover{background:#ffffff0d;transform:translateY(-2px);border-color:var(--light-text)}[data-theme=light] .btn-secondary:hover{background:#0000000d;border-color:var(--text-main)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:.5rem;color:var(--primary-color)}.section-header p{font-size:1.1rem;color:#f1f5f999}[data-theme=light] .section-header p{color:var(--text-muted)}.header{position:fixed;top:0;left:0;right:0;width:100%;z-index:1000;padding:1.5rem 0;transition:all .3s ease}.nav-container{width:100%;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:.75rem 2rem;background:transparent;border:1px solid transparent;border-radius:0;transition:all .3s ease}.nav-right{display:flex;align-items:center}.header.scrolled{padding:1rem 0}.header.scrolled .nav-container{background:#0f172ad9;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:20px;max-width:1170px;will-change:background,max-width,padding}[data-theme=light] .header.scrolled .nav-container{background:#f8fafccc;border:1px solid rgba(0,0,0,.1)}.logo{transition:var(--transition)}.logo:hover{transform:scale(1.05)}.logo-img{height:40px;width:auto;display:block;filter:invert(1);transition:var(--transition)}[data-theme=light] .logo-img{filter:invert(0)}.nav-menu{display:flex;gap:3rem}.nav-link{color:var(--light-text);text-decoration:none;font-weight:500;position:relative;transition:var(--transition);padding:.5rem 0;cursor:pointer}[data-theme=light] .nav-link{color:var(--text-main)}.nav-link:hover,.nav-link.active{color:#8b5cf6}.theme-dropdown{position:relative;margin-left:1.5rem}.theme-btn{background:transparent;border:1px solid var(--glass-border);color:var(--text-main);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);font-size:1rem}.theme-btn:hover{background:#ffffff1a}.theme-menu{display:none;position:absolute;top:100%;right:0;background:var(--bg-main);border:1px solid var(--glass-border);border-radius:12px;padding:.5rem;margin-top:.5rem;flex-direction:column;gap:.5rem;min-width:120px}[data-theme=light] .theme-menu{background:#f8fafc;border-color:#0000001a}.theme-menu.active{display:flex}.theme-option{background:transparent;border:none;color:var(--text-main);padding:.5rem 1rem;text-align:left;cursor:pointer;border-radius:8px;display:flex;align-items:center;gap:.5rem;transition:var(--transition)}.theme-option:hover{background:#8b5cf61a;color:#8b5cf6}.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer}.hamburger span{width:25px;height:3px;background:var(--light-text);border-radius:2px;transition:var(--transition)}[data-theme=light] .hamburger span{background:var(--text-main)}.home-section{display:flex;align-items:center;justify-content:center}.home-content{width:100%}.home-intro-container{padding:3.5rem;border:1px solid rgba(255,255,255,.1);background:var(--box-bg);border-radius:30px;display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}[data-theme=light] .home-intro-container{background:#ffffffb3;border:1px solid rgba(0,0,0,.05)}.home-text{display:flex;flex-direction:column}.hero-intro{font-size:clamp(2rem,5vw,3rem);font-weight:700;color:var(--light-text);margin:0 0 .5rem}[data-theme=light] .hero-intro{color:var(--text-main)}.highlight-text{color:var(--primary-color)}.hero-name{font-size:clamp(2.5rem,6vw,4rem);font-weight:900;margin:0 0 1.5rem;line-height:1.1;color:var(--light-text);white-space:nowrap}[data-theme=light] .hero-name{color:var(--text-main)}.hero-subtitle{font-size:1.1rem;color:#f1f5f9b3;margin-bottom:2rem;line-height:1.6}[data-theme=light] .hero-subtitle{color:var(--text-muted)}.hero-cta{display:flex;gap:1.5rem;flex-wrap:wrap}.home-visual{position:relative;height:400px;display:flex;justify-content:center;align-items:center}dotlottie-wc{opacity:0;max-width:100%;max-height:100%;animation:fadeInLottie .8s ease forwards;animation-delay:.2s}@keyframes fadeInLottie{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.cv-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a142880;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.cv-modal{background:#14233cf2;border:1px solid rgba(100,130,180,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.5rem 2rem;text-align:center;position:relative;animation:slideUp .2s ease}[data-theme=light] .cv-modal{background:#f5f8fffa;border-color:#6482b433}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.cv-modal-close{position:absolute;top:.5rem;right:.75rem;background:none;border:none;color:#96b4dc99;font-size:1.5rem;cursor:pointer;transition:.2s;line-height:1}.cv-modal-close:hover{color:#96b4dc}[data-theme=light] .cv-modal-close{color:#3c507880}[data-theme=light] .cv-modal-close:hover{color:#3c5078}.cv-modal-title{color:#c8d7f0e6;font-size:.95rem;margin:0 0 1rem;font-weight:500}[data-theme=light] .cv-modal-title{color:#3a4a6a}.cv-code-boxes{display:flex;gap:.75rem;justify-content:center;margin:0 0 1rem}.cv-digit-input{width:50px;height:60px;font-size:1.5rem;font-weight:600;text-align:center;background:#ffffff0d;border:2px solid rgba(150,180,220,.3);border-radius:12px;color:var(--light-text);outline:none;transition:.2s}[data-theme=light] .cv-digit-input{background:#fff;border-color:#6482b440;color:#1a2a4a}.cv-digit-input:focus{border-color:#6366f1}.cv-error{color:#f87171;font-size:.85rem;margin:0 0 .75rem}.cv-submit-btn{width:100%;padding:.75rem;font-size:.95rem}@media(max-width:480px){.cv-modal{padding:1.25rem 1.5rem;margin:0 1rem}.cv-digit-input{width:45px;height:55px;font-size:1.25rem}.cv-code-boxes{gap:.5rem}}.about-content{display:grid;grid-template-columns:1fr;gap:4rem}.skills-icons-container{margin-top:3rem;text-align:center}.skills-icons-container h3{font-size:1.5rem;margin-bottom:2rem}.skills-categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:0 auto}@media(max-width:992px){.skills-categories-grid{grid-template-columns:repeat(2,1fr)}.tab-btn{min-width:auto;padding:.75rem 1.5rem}}@media(max-width:768px){.skills-categories-grid{grid-template-columns:1fr}}.skill-category-box{background:var(--box-bg);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;display:flex;flex-direction:column;align-items:center;transition:var(--transition);position:relative;overflow:hidden}.skill-category-box:nth-child(1):hover{border-color:var(--secondary-color)}.skill-category-box:nth-child(1) .category-title{color:var(--secondary-color)}.skill-category-box:nth-child(2):hover{border-color:var(--primary-color)}.skill-category-box:nth-child(2) .category-title{color:var(--primary-color)}.skill-category-box:nth-child(3):hover{border-color:var(--accent-color)}.skill-category-box:nth-child(3) .category-title{color:var(--accent-color)}[data-theme=light] .skill-category-box{background:#fff;border-color:#0000001a}.skill-category-box:hover{border-color:var(--primary-color)}.category-title{font-size:1.25rem;margin-bottom:1.5rem;color:var(--primary-color);font-weight:700;text-align:center}.category-skills-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:1.5rem}.skill-icon-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;text-align:center;cursor:pointer;transition:var(--transition);width:58px;height:58px;border:1px solid rgba(255,255,255,.1);border-radius:12px;position:relative;background:#ffffff05}[data-theme=light] .skill-icon-item{background:#fff;border-color:#0000001a}.skill-icon-item:hover{border-color:#6366f14d;background:#6366f10d}.skill-icon-item i{font-size:1.5rem;transition:var(--transition)}.skill-icon-item:nth-child(1) i{color:#264de4}.skill-label{font-size:.85rem;font-weight:600;color:#f1f5f9cc;opacity:0;transition:all .3s ease;position:absolute;top:-30px;left:50%;transform:translate(-50%);background:#0a1428f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);white-space:nowrap;pointer-events:none;z-index:10}[data-theme=light] .skill-label{color:#fff}.skill-icon-item:hover .skill-label{opacity:1;top:-45px}.skill-icon-item:nth-child(2) i{color:#f7df1e}.skill-icon-item:nth-child(3) i{color:#7952b3}.skill-icon-item:nth-child(4) i{color:#3776ab}.skill-icon-item:nth-child(5) i{color:#2ba977}.skill-icon-item:nth-child(6) i,.skill-icon-item:nth-child(13) i,.skill-icon-item:nth-child(20) i{color:#000}.skill-icon-item:nth-child(7) i{color:#009688}.skill-icon-item:nth-child(8) i{color:#e34c26}.skill-icon-item:nth-child(9) i,.skill-icon-item:nth-child(11) i{color:#00a8e8}.skill-icon-item:nth-child(10) i{color:#239120}.skill-icon-item:nth-child(12) i{color:#61dafb}.skill-icon-item:nth-child(14) i{color:#3178c6}.skill-icon-item:nth-child(15) i{color:#06b6d4}.skill-icon-item:nth-child(16) i{color:#0064a5}.skill-icon-item:nth-child(17) i{color:#336791}.skill-icon-item:nth-child(18) i{color:#f1502f}.skill-icon-item:nth-child(19) i{color:#181717}.skill-icon-item:nth-child(21) i{color:#08c}.journey-tabs{display:flex;gap:1rem;margin-bottom:2rem;justify-content:center;width:100%}.tab-btn{height:40px;padding:0 1.5rem;border:none;border-radius:12px;background:var(--box-bg);border:1px solid var(--glass-border);color:var(--light-text);font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:1rem;white-space:nowrap;flex:1}[data-theme=light] .tab-btn{color:var(--text-main);background:transparent;border-color:#0000001a}.tab-btn.active{background:#6366f1;color:#fff;border-color:transparent}.timeline{position:relative;width:100%;margin:0 auto;padding:0;animation:tabFadeIn .5s ease forwards}@keyframes tabFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.timeline:before{content:"";position:absolute;left:50%;transform:translate(-50%);top:0;bottom:0;width:3px;background:#6366f1;border-radius:2px}.timeline-item{position:relative;width:50%;margin-bottom:2rem}.timeline-item.timeline-left{padding-right:30px;margin-left:0;text-align:right}.timeline-item.timeline-right{padding-left:30px;margin-left:50%;text-align:left}.timeline-item:before{content:"";position:absolute;top:10px;width:20px;height:20px;border-radius:50%;background:#6366f1;box-shadow:0 0 0 4px var(--dark-bg);z-index:1}.timeline-item.timeline-left:before{right:-10px}.timeline-item.timeline-right:before{left:-10px}.timeline-item:after{content:"";position:absolute;top:18px;width:30px;height:2px;background:#6366f1}.timeline-item.timeline-left:after{right:5px;width:25px}.timeline-item.timeline-right:after{left:5px;width:25px}[data-theme=light] .timeline-item:before{box-shadow:0 0 0 4px var(--bg-main)}.timeline-item-content{background:var(--box-bg);border:1px solid var(--glass-border);padding:2rem;border-radius:20px;transition:var(--transition);text-align:left;width:100%}[data-theme=light] .timeline-item-content{background:#fff;border-color:#0000001a}.timeline-item.timeline-left .timeline-item-content{margin-left:auto}.timeline-item-content:hover{border-color:var(--primary-color)}[data-theme=light] .timeline-item-content:hover{background:#f8fafc}.timeline-title{font-size:1.1rem;font-weight:700;color:var(--light-text);margin-bottom:.25rem}[data-theme=light] .timeline-title{color:var(--text-main)}.timeline-company{color:var(--primary-color);font-weight:600;font-size:.9rem;margin-bottom:.5rem}.timeline-date{font-size:.85rem;color:#f1f5f980;margin-bottom:.75rem}[data-theme=light] .timeline-date{color:var(--text-muted)}.timeline-desc{color:#f1f5f9bf;line-height:1.5}[data-theme=light] .timeline-desc{color:var(--text-main)}@media(max-width:768px){.timeline:before{left:20px;transform:none}.timeline-item{width:100%;padding-left:50px;padding-right:0;margin-left:0;text-align:left}.timeline-item.timeline-left,.timeline-item.timeline-right{padding-left:50px;padding-right:0;margin-left:0;text-align:left}.timeline-item.timeline-left:before,.timeline-item.timeline-right:before{left:21.5px;transform:translate(-50%);right:auto}.timeline-item.timeline-left:after,.timeline-item.timeline-right:after{left:20px;width:30px;right:auto}.timeline-item-content{max-width:100%;min-width:auto;width:100%}.timeline-item.timeline-left .timeline-item-content{margin-left:0}}.category-tabs{display:flex;justify-content:center;gap:1rem;margin-bottom:3rem;flex-wrap:wrap;width:100%}.category-dropdown{display:none;width:100%;max-width:420px;margin:0 auto 2rem;position:relative}.category-dropdown-btn{width:100%;height:48px;border-radius:12px;border:1px solid var(--glass-border);background:var(--box-bg);color:var(--text-main);padding:0 1rem;font-size:1rem;font-family:inherit;display:flex;align-items:center;justify-content:space-between;gap:.5rem;cursor:pointer;transition:var(--transition)}.category-dropdown-btn:hover{border-color:#6366f166}.category-dropdown-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.category-caret{width:.55rem;height:.55rem;border-right:2px solid var(--text-main);border-bottom:2px solid var(--text-main);transform:rotate(45deg);transition:var(--transition)}.category-menu{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--bg-main);border:1px solid var(--glass-border);border-radius:14px;padding:.5rem;display:none;flex-direction:column;gap:.25rem;z-index:5}.category-menu.open{display:flex}.category-menu-item{width:100%;text-align:left;background:transparent;border:none;color:var(--light-text);padding:.65rem .75rem;border-radius:10px;font-size:.95rem;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.5rem}.category-menu-item:hover,.category-menu-item.active{background:#6366f129;color:#fff}[data-theme=light] .category-dropdown-btn,[data-theme=light] .category-menu{background:#f8fafc;border-color:#0000001a}[data-theme=light] .category-menu-item{color:var(--text-main)}@media(max-width:768px){.category-tabs{display:none}.category-dropdown{display:block}}.category-tab{height:40px;padding:0 1.5rem;border:1px solid var(--glass-border);background:var(--box-bg);color:var(--light-text);border-radius:12px;cursor:pointer;font-weight:500;transition:var(--transition);font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap}[data-theme=light] .category-tab{background:transparent;border-color:#0000001a;color:var(--text-main)}.category-tab.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}@keyframes projectFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.project-card{background:var(--box-bg);border:1px solid var(--glass-border);border-radius:20px;overflow:hidden;transition:var(--transition);cursor:pointer;display:flex;flex-direction:column;animation:projectFadeIn .5s ease backwards}[data-theme=light] .project-card{background:#fff;border-color:#00000014}.project-card:hover{border-color:#3b82f6}.project-image{width:100%;height:200px;position:relative;overflow:hidden;padding:1rem;transform:translateZ(0)}.project-image img{width:100%;height:100%;object-fit:cover;border-radius:12px;transition:var(--transition);will-change:transform}.project-card:hover .project-image img{transform:scale(1.05)}.project-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.project-name{font-size:1.2rem;font-weight:700;margin-bottom:.5rem;color:var(--light-text)}[data-theme=light] .project-name{color:var(--text-main)}.project-desc{color:#f1f5f9b3;font-size:.9rem;line-height:1.5;margin-bottom:1.2rem;flex-grow:1}[data-theme=light] .project-desc{color:var(--text-muted)}.project-techs{display:flex;flex-wrap:wrap;gap:.52rem;margin-bottom:1.2rem}.tech-tag{font-size:.72rem;padding:.35rem .75rem;background:#6366f11a;border:1px solid rgba(99,102,241,.3);border-radius:8px;color:var(--primary-color);font-weight:600}.project-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--primary-color);text-decoration:none;font-weight:600;font-size:.92rem;transition:var(--transition)}.project-links{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.project-links.project-links-split{justify-content:space-between}.project-link-code{color:var(--light-text)}.project-links.project-links-split .project-link-code{margin-left:auto}[data-theme=light] .project-link-code{color:var(--text-main)}.project-link:hover{color:var(--secondary-color);transform:translate(4px)}@media(max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.projects-grid{grid-template-columns:1fr}.project-image{height:220px}}.load-more-container{display:flex;justify-content:center;margin-top:2rem;width:100%}.load-more-btn{background:transparent;border:none;color:var(--light-text);padding:.5rem 1rem;font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);text-decoration:none;position:relative}.load-more-btn:hover{color:#8b5cf6;transform:none}[data-theme=light] .load-more-btn{color:var(--text-main)}[data-theme=light] .load-more-btn:hover{color:#8b5cf6}.contact-section{min-height:auto;padding-bottom:100px}.contact-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:stretch;width:100%}.contact-left,.contact-right{background:var(--box-bg);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;display:flex;flex-direction:column}[data-theme=light] .contact-left,[data-theme=light] .contact-right{background:#fff;border-color:#0000001a}.contact-title{font-size:1.4rem;margin-bottom:.5rem;color:var(--light-text)}[data-theme=light] .contact-title{color:var(--text-main)}.contact-subtitle{color:var(--text-muted);margin-bottom:1.5rem}.social-links{display:flex;flex-direction:column;gap:.75rem;margin-top:auto}.social-link{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-radius:14px;border:1px solid var(--glass-border);background:#ffffff05;color:var(--text-main);text-decoration:none;transition:var(--transition)}[data-theme=light] .social-link{background:#f8fafc;border-color:#0000001a}.social-link:hover{border-color:#6366f166;background:#6366f10f}.social-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;color:var(--text-main);transition:var(--transition);border-radius:50%;background:#ffffff0f}[data-theme=light] .social-icon{background:#fff}.social-name{font-size:1rem;font-weight:600;color:var(--text-main)}.social-link[data-platform=github]:hover .social-icon{color:#fff;background:#111827}.social-link[data-platform=linkedin]:hover .social-icon{color:#fff;background:#0a66c2}.social-link[data-platform=instagram]:hover .social-icon{color:#fff;background:#e1306c}.social-link[data-platform=telegram]:hover .social-icon{color:#fff;background:#08c}.social-link[data-platform=email]:hover .social-icon{color:#fff;background:#ea4335}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-field{display:flex;flex-direction:column;gap:.5rem}.form-label{font-size:.9rem;color:var(--text-muted)}.form-input,.form-textarea{width:100%;border-radius:12px;border:1px solid var(--glass-border);background:#ffffff05;color:var(--text-main);padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:var(--transition)}[data-theme=light] .form-input,[data-theme=light] .form-textarea{background:#f8fafc;border-color:#0000001a}.form-textarea{resize:vertical;min-height:140px}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--primary-color)}.form-input:-webkit-autofill,.form-input:-webkit-autofill:hover,.form-input:-webkit-autofill:focus,.form-textarea:-webkit-autofill,.form-textarea:-webkit-autofill:hover,.form-textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-main);box-shadow:0 0 0 1000px var(--bg-main) inset;transition:background-color 9999s ease-out}.contact-submit-btn{height:40px;padding:0 1.5rem;border:1px solid transparent;border-radius:12px;background:#6366f1;color:#fff;font-weight:500;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:none}.contact-submit-btn:disabled{opacity:.7;cursor:default}[data-theme=light] .contact-submit-btn{background:#6366f1;color:#fff}.contact-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:contact-spin .8s linear infinite}@keyframes contact-spin{to{transform:rotate(360deg)}}@media(max-width:768px){.contact-content{grid-template-columns:1fr;gap:2rem}.contact-left,.contact-right{padding:1.5rem}}.footer{text-align:center;padding:2rem;color:#f1f5f980;border-top:1px solid var(--glass-border)}[data-theme=light] .footer{color:var(--text-muted);border-color:#0000001a}@media(max-width:992px){.home-intro-container{grid-template-columns:1fr}.home-text{text-align:center}.hero-cta{justify-content:center}.home-visual{height:350px;margin:2rem auto 0}}@media(max-width:768px){.nav-menu{display:none;position:absolute;top:calc(100% + 1rem);left:5%;right:5%;flex-direction:column;align-items:center;background:#0f172afa;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);padding:1.5rem;border-radius:20px;gap:1rem;box-shadow:0 10px 40px #00000080;width:90%;border:1px solid rgba(255,255,255,.1)}[data-theme=light] .nav-menu{background:#fff;border-color:#0000001a}.nav-menu.active{display:flex}.nav-right{gap:.5rem}.theme-dropdown{margin-left:0}.hamburger{display:flex}.header.menu-open{padding:1rem 0}.header.menu-open .nav-container{max-width:none;width:90%;margin:0 auto;border-radius:15px;background:#0f172acc;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}[data-theme=light] .header.menu-open .nav-container{background:#f8fafccc;border:1px solid rgba(0,0,0,.1)}.hero-name{white-space:normal}.hero-cta{flex-direction:column;align-items:stretch}.hero-cta .btn{width:100%;text-align:center}.home-intro-container{padding:2.5rem 2rem;gap:2rem}.home-visual{display:none}.about-content{grid-template-columns:1fr;gap:2rem}.projects-grid{gap:1.5rem}.contact-section{padding-bottom:80px}.header.scrolled .nav-container{width:90%;border-radius:15px}.container{padding:0 1rem}.section{padding:80px 0 40px}}
