.navbar{z-index:50;-webkit-backdrop-filter:blur(16px);width:100%;box-shadow:none;background-color:#0000;border-bottom:1px solid #0000;transition:all .5s;position:fixed;top:0;left:0}.navbar.scrolled{background-color:#ffffffb3;border-bottom:1px solid #fff3;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.navbar-container{justify-content:space-between;align-items:center;max-width:1280px;height:64px;margin:0 auto;padding:0 16px;display:flex}@media (min-width:640px){.navbar-container{padding:0 24px}}@media (min-width:1024px){.navbar-container{padding:0 32px}}.navbar-logo{background:linear-gradient(90deg,#2563eb,#7c3aed,#db2777);-webkit-text-fill-color:transparent;cursor:pointer;background-color:#0000;-webkit-background-clip:text;background-clip:text;border:none;padding:0;font-size:1.5rem;font-weight:700;transition:transform .3s;position:relative}@media (min-width:768px){.navbar-logo{font-size:1.875rem}}.navbar-logo:hover{transform:scale(1.05)}.navbar-logo:focus-visible{outline-offset:4px;border-radius:4px;outline:2px solid #2563eb}.logo-underline{opacity:0;background:linear-gradient(90deg,#3b82f6,#7c3aed,#ec4899);border-radius:2px;width:100%;height:4px;transition:opacity .5s;position:absolute;bottom:0;left:0}.navbar-logo:hover .logo-underline{opacity:1}.nav-list-desktop{margin:0;padding:0;list-style:none;display:none}@media (min-width:768px){.nav-list-desktop{gap:24px;display:flex}}.nav-link{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:.875rem;font-weight:500;transition:all .3s;position:relative}.nav-link:hover{color:#2563eb;background-color:#eff6ff}.nav-link.active{color:#2563eb}.nav-link:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.nav-underline{background-color:#2563eb;border-radius:2px;width:0%;height:2px;transition:width .3s;position:absolute;bottom:4px;left:0}.nav-underline.show{width:100%}.mobile-menu-button{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .3s;display:inline-flex}@media (min-width:768px){.mobile-menu-button{display:none}}.mobile-menu-button:hover{color:#2563eb;background-color:#eff6ff}.mobile-menu-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.mobile-menu{-webkit-backdrop-filter:blur(12px);opacity:0;background-color:#ffffffe6;border-top:1px solid #e5e7eb;max-height:0;transition:all .3s;display:block;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}@media (min-width:768px){.mobile-menu{display:none}}.mobile-menu.open{opacity:1;max-height:400px}.nav-list-mobile{flex-direction:column;gap:4px;margin:0;padding:8px 16px;list-style:none;display:flex}.mobile-nav-item{opacity:0;transform:translate(-20px)}.mobile-menu.open .mobile-nav-item{animation:.3s forwards slideInLeft}@keyframes slideInLeft{to{opacity:1;transform:translate(0)}}.mobile-nav-link{text-align:left;color:#374151;cursor:pointer;background:0 0;border:none;border-radius:8px;width:100%;padding:12px;font-size:1rem;font-weight:500;transition:all .3s;display:block}.mobile-nav-link:hover,.mobile-nav-link.active{color:#2563eb;background-color:#eff6ff}.mobile-nav-link:focus-visible{outline-offset:2px;outline:2px solid #2563eb}@media (prefers-reduced-motion:reduce){.navbar,.nav-link,.nav-underline,.mobile-menu,.mobile-nav-item,.navbar-logo,.logo-underline{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.home-section{background:linear-gradient(#fff,#f8fafc);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.background-blob{pointer-events:none;filter:blur(80px);border-radius:50%;transition:transform .3s ease-out;position:absolute}.blob-a{opacity:.8;background:linear-gradient(135deg,#60a5fa33,#7c3aed21);width:320px;height:320px;top:8%;right:8%}.blob-b{opacity:.6;background:linear-gradient(135deg,#34d39921,#60a5fa12);width:288px;height:288px;bottom:8%;left:6%}.home-container{z-index:10;width:100%;max-width:1280px;padding:80px 24px;position:relative}.home-grid{opacity:0;grid-template-columns:1fr;align-items:center;gap:48px;transition:all .7s ease-out;display:grid;transform:translateY(24px)}.home-grid.visible{opacity:1;transform:translateY(0)}@media (min-width:1024px){.home-grid{grid-template-columns:1fr 1fr}}.text-content{flex-direction:column;order:2;gap:24px;display:flex}@media (min-width:1024px){.text-content{order:1}}.availability-badge{background:linear-gradient(90deg,#eff6ff,#eef2ff);border:1px solid #e2e8f0;border-radius:50px;align-items:center;gap:12px;width:fit-content;padding:8px 16px;display:inline-flex}.status-dot{background-color:#10b981;border-radius:50%;width:8px;height:8px;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.status-text{color:#475569;font-size:.875rem}.main-heading{font-size:2.5rem;font-weight:800;line-height:1.2}@media (min-width:640px){.main-heading{font-size:3rem}}@media (min-width:1024px){.main-heading{font-size:3.75rem}}.greeting{color:#0f172a}.name-gradient{background:linear-gradient(90deg,#2563eb,#7c3aed,#1e40af);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.typing-container{align-items:center;height:48px;display:flex}.typed-text{color:#475569;font-size:1.5rem;font-weight:600}@media (min-width:640px){.typed-text{font-size:1.875rem}}.cursor-blink{color:#2563eb;margin-left:8px;animation:1s step-end infinite blink}.description{color:#475569;max-width:40rem;font-size:1.125rem;line-height:1.75}.highlight-ai{color:#2563eb}.highlight-web{color:#7c3aed}.action-wrapper{flex-direction:column;gap:16px;display:flex}@media (min-width:640px){.action-wrapper{flex-direction:row;align-items:center;gap:16px}}.social-links{align-items:center;gap:12px;display:flex}.social-icon{cursor:pointer;background-color:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:all .3s;display:inline-flex;box-shadow:0 1px 3px #0000001a}.social-icon:hover{transform:scale(1.05);box-shadow:0 4px 6px #0000001a}.social-icon.linkedin{color:#2563eb}.social-icon.github{color:#0f172a}.social-icon.email{color:#dc2626}.cta-buttons{flex-direction:row;gap:12px;width:100%;display:flex}.btn{cursor:pointer;white-space:nowrap;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 1px 3px #0000001a}@media (min-width:640px){.btn{padding:12px 24px}}.btn:hover{transform:scale(1.03)}.btn:focus-visible{outline-offset:2px;outline:2px solid #3b82f6}.btn-primary{color:#fff;background:linear-gradient(90deg,#2563eb,#7c3aed)}.btn-dark{color:#fff;background-color:#0f172a}.image-content{order:1;justify-content:center;align-items:center;display:flex}@media (min-width:1024px){.image-content{order:2;justify-content:flex-end}}.profile-wrapper{width:288px;height:288px;position:relative}@media (min-width:640px){.profile-wrapper{width:320px;height:320px}}@media (min-width:1024px){.profile-wrapper{width:420px;height:420px}}.decorative-ring{border-radius:50%;position:absolute;inset:0}.ring-1{background:linear-gradient(90deg,#60a5fa33,#7c3aed33);animation:20s linear infinite rotate}.ring-2{background:linear-gradient(90deg,#a78bfa26,#ec489926);animation:28s linear infinite rotate-reverse;inset:24px}.ring-3{background:linear-gradient(#0000,#2563eb1a);animation:3s ease-in-out infinite pulse;inset:40px}.profile-image-container{border:4px solid #fff;border-radius:50%;position:absolute;inset:48px;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.profile-image{object-fit:cover;width:100%;height:100%;transition:transform .5s}.profile-image:hover{transform:scale(1.05)}.image-overlay{background:linear-gradient(#0000,#2563eb33);position:absolute;inset:0}.scroll-indicator{opacity:0;transition:opacity .7s ease-out;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.scroll-indicator.visible{opacity:1}.scroll-button{cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:8px;transition:all .3s;display:flex}.scroll-button:hover .scroll-text{color:#475569}.scroll-text{color:#64748b;font-size:.875rem;transition:color .3s}.scroll-wheel{border:2px solid #cbd5e1;border-radius:20px;justify-content:center;align-items:flex-start;width:24px;height:40px;padding-top:8px;display:flex}.scroll-dot{background-color:#3b82f6;border-radius:4px;width:4px;height:12px;animation:2s infinite bounce}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotate-reverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(12px)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
.about-section{background:linear-gradient(to bottom right,#f9fafb,#fff);padding:64px 0;position:relative;overflow:hidden}.about-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-blob{filter:blur(80px);border-radius:50%;width:320px;height:320px;position:absolute}.blob-left{background-color:#dbeafe4d;top:25%;left:-160px}.blob-right{background-color:#f3e8ff4d;bottom:25%;right:-160px}.about-container{z-index:10;max-width:1280px;margin:0 auto;padding:0 16px;position:relative}@media (min-width:640px){.about-container{padding:0 24px}}@media (min-width:1024px){.about-container{padding:0 32px}}.section-header{text-align:center;opacity:0;margin-bottom:64px;transition:all 1s;transform:translateY(40px)}.section-header.visible{opacity:1;transform:translateY(0)}.header-badge{background:linear-gradient(90deg,#dbeafe,#f3e8ff);border:1px solid #93c5fd80;border-radius:50px;align-items:center;margin-bottom:32px;padding:12px 24px;display:inline-flex}.badge-icon{color:#2563eb;margin-right:8px}.badge-text{color:#374151;font-size:.875rem;font-weight:500}.section-title{color:#111827;margin-bottom:24px;font-size:2.25rem;font-weight:700}@media (min-width:640px){.section-title{font-size:3rem}}.title-gradient{background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.title-underline{background:linear-gradient(90deg,#60a5fa,#7c3aed);border-radius:50px;width:96px;height:4px;margin:0 auto}.intro-card{opacity:0;margin-bottom:48px;transition:all 1s .2s;transform:translateY(40px)}.intro-card.visible{opacity:1;transform:translateY(0)}.intro-content{text-align:center;background-color:#fff;border-radius:16px;max-width:64rem;margin:0 auto;padding:24px;transition:box-shadow .5s;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}@media (min-width:768px){.intro-content{padding:32px}}.intro-content:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.intro-heading{color:#111827;margin-bottom:16px;font-size:1.25rem;font-weight:700}@media (min-width:768px){.intro-heading{font-size:1.5rem}}.intro-text{color:#4b5563;font-size:1rem;line-height:1.75}@media (min-width:768px){.intro-text{font-size:1.125rem}}.highlight-blue{color:#2563eb;font-weight:600}.highlight-medium{font-weight:500}.info-grid{grid-template-columns:1fr;gap:32px;margin-bottom:48px;display:grid}@media (min-width:1024px){.info-grid{grid-template-columns:1fr 1fr}}.info-card{opacity:0;background-color:#fff;border-radius:16px;height:100%;padding:24px;transition:all .5s;transform:translateY(40px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.info-card:first-child{transition-delay:.3s}.info-card:nth-child(2){transition-delay:.4s}.info-card.visible{opacity:1;transform:translateY(0)}.info-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.card-title{color:#111827;align-items:center;margin-bottom:16px;font-size:1.5rem;font-weight:700;display:flex}.card-icon{color:#2563eb;margin-right:8px}.card-icon.icon-purple{color:#7c3aed}.card-text{color:#4b5563;margin-bottom:16px;line-height:1.75}.card-text:last-child{margin-bottom:0}.highlight-purple{color:#7c3aed;font-weight:500}.highlight-green{color:#059669;font-weight:500}.highlight-blue-bold{color:#2563eb;font-weight:600}.highlight-purple-bold{color:#7c3aed;font-weight:600}.cta-card{text-align:center;color:#fff;opacity:0;background:linear-gradient(to bottom right,#2563eb,#7c3aed,#1e40af);border-radius:16px;padding:24px;transition:all 1s .5s;transform:translateY(40px)}@media (min-width:768px){.cta-card{padding:32px}}.cta-card.visible{opacity:1;transform:translateY(0)}.cta-title{justify-content:center;align-items:center;margin-bottom:16px;font-size:1.5rem;font-weight:700;display:flex}.cta-icon{margin-right:8px}.cta-text{color:#bfdbfe;margin-bottom:24px;font-size:1rem;line-height:1.75}.cta-highlight{color:#fff;font-weight:500}.cta-button{color:#2563eb;cursor:pointer;background-color:#fff;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.cta-button:hover{background-color:#eff6ff;transform:scale(1.05)}.cta-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.button-arrow{transition:transform .3s}.cta-button:hover .button-arrow{transform:translate(4px)}@media (prefers-reduced-motion:reduce){.section-header,.intro-card,.info-card,.cta-card,.cta-button,.button-arrow{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.skills-section{background:linear-gradient(to bottom right,#fff,#f9fafb);padding:64px 0;position:relative;overflow:hidden}.skills-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-blob{filter:blur(80px);border-radius:50%;position:absolute}.blob-1{background-color:#dbeafe66;width:320px;height:320px;top:25%;left:-160px}.blob-2{background-color:#f3e8ff66;width:320px;height:320px;bottom:25%;right:-160px}.blob-3{background-color:#dcfce733;width:384px;height:384px;top:50%;left:50%;transform:translate(-50%,-50%)}.skills-container{z-index:10;max-width:1280px;margin:0 auto;padding:0 16px;position:relative}@media (min-width:640px){.skills-container{padding:0 24px}}@media (min-width:1024px){.skills-container{padding:0 32px}}.section-header{text-align:center;opacity:0;margin-bottom:64px;transition:all 1s;transform:translateY(40px)}.section-header.visible{opacity:1;transform:translateY(0)}.header-badge{background:linear-gradient(90deg,#dbeafe,#f3e8ff);border:1px solid #93c5fd80;border-radius:50px;align-items:center;margin-bottom:32px;padding:12px 24px;display:inline-flex}.badge-icon{color:#2563eb;margin-right:8px}.badge-text{color:#374151;font-size:.875rem;font-weight:500}.section-title{color:#111827;margin-bottom:24px;font-size:2.25rem;font-weight:700}@media (min-width:640px){.section-title{font-size:3rem}}.title-gradient{background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-description{color:#4b5563;max-width:48rem;margin:0 auto 32px;font-size:1.25rem;line-height:1.75}.title-underline{background:linear-gradient(90deg,#60a5fa,#7c3aed);border-radius:50px;width:96px;height:4px;margin:0 auto}.skills-grid{grid-template-columns:1fr;gap:24px;margin-bottom:48px;display:grid}@media (min-width:1024px){.skills-grid{grid-template-columns:1fr 1fr}}.skill-category-card{opacity:0;background-color:#fff;border-radius:16px;padding:24px;transition:all 1s;transform:translateY(40px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.skill-category-card.visible{opacity:1;transform:translateY(0)}.skill-category-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.category-header{align-items:center;margin-bottom:32px;display:flex}.category-icon-box{color:#fff;background:linear-gradient(to bottom right,currentColor);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-right:12px;display:flex}.category-icon-box.from-blue-400{background:linear-gradient(to bottom right,#60a5fa,#2563eb)}.category-icon-box.from-green-400{background:linear-gradient(to bottom right,#4ade80,#16a34a)}.category-icon-box.from-purple-400{background:linear-gradient(to bottom right,#c084fc,#7c3aed)}.category-icon-box.from-orange-400{background:linear-gradient(to bottom right,#fb923c,#ea580c)}.category-title{color:#111827;font-size:1.25rem;font-weight:700}.category-meta{align-items:center;margin-top:4px;display:flex}.meta-icon{color:#facc15;margin-right:4px}.meta-text{color:#4b5563;font-size:.875rem}.skills-list{flex-direction:column;gap:16px;display:flex}.skill-bar-container{margin-bottom:16px}.skill-bar-container:last-child{margin-bottom:0}.skill-bar-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.skill-name-group{align-items:center;gap:12px;display:flex}.skill-icon{font-size:1.125rem}.skill-name{color:#1f2937;font-weight:600}.skill-level{color:#4b5563;font-size:.875rem;font-weight:500}.skill-progress-bg{background-color:#e5e7eb;border-radius:50px;width:100%;height:10px;overflow:hidden}.skill-progress-bar{border-radius:50px;width:0%;height:10px;transition:width 1s ease-out}.skill-progress-bar.animated{width:var(--skill-width,0%)}.skill-progress-bar.from-blue-400{background:linear-gradient(90deg,#60a5fa,#2563eb)}.skill-progress-bar.from-green-400{background:linear-gradient(90deg,#4ade80,#16a34a)}.skill-progress-bar.from-purple-400{background:linear-gradient(90deg,#c084fc,#7c3aed)}.skill-progress-bar.from-orange-400{background:linear-gradient(90deg,#fb923c,#ea580c)}.learning-cta{text-align:center;color:#fff;opacity:0;background:linear-gradient(to bottom right,#2563eb,#7c3aed,#1e40af);border-radius:16px;padding:24px;transition:all 1s .7s;transform:translateY(40px)}@media (min-width:768px){.learning-cta{padding:32px}}.learning-cta.visible{opacity:1;transform:translateY(0)}.cta-title{justify-content:center;align-items:center;margin-bottom:16px;font-size:1.5rem;font-weight:700;display:flex}.cta-icon{margin-right:8px}.cta-text{color:#bfdbfe;margin-bottom:24px;line-height:1.75}.cta-button{color:#2563eb;cursor:pointer;background-color:#fff;border:none;border-radius:12px;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .3s;display:inline-flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.cta-button:hover{background-color:#eff6ff;transform:scale(1.05)}.cta-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.button-icon{transition:transform .3s}.cta-button:hover .button-icon{transform:rotate(12deg)}@media (prefers-reduced-motion:reduce){.section-header,.skill-category-card,.skill-progress-bar,.learning-cta,.cta-button,.button-icon{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.projects-section{background:linear-gradient(to bottom right,#f9fafb,#fff);padding:64px 0;position:relative;overflow:hidden}.projects-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-blob{filter:blur(80px);border-radius:50%;width:320px;height:320px;position:absolute}.blob-left{background-color:#dbeafe4d;top:25%;left:-160px}.blob-right{background-color:#f3e8ff4d;bottom:25%;right:-160px}.projects-container{z-index:10;max-width:1280px;margin:0 auto;padding:0 16px;position:relative}@media (min-width:640px){.projects-container{padding:0 24px}}@media (min-width:1024px){.projects-container{padding:0 32px}}.section-header{text-align:center;opacity:0;margin-bottom:64px;transition:all 1s;transform:translateY(40px)}.section-header.visible{opacity:1;transform:translateY(0)}.header-badge{background:linear-gradient(90deg,#dbeafe,#f3e8ff);border:1px solid #93c5fd80;border-radius:50px;align-items:center;margin-bottom:32px;padding:12px 24px;display:inline-flex}.badge-icon{color:#2563eb;margin-right:8px}.badge-text{color:#374151;font-size:.875rem;font-weight:500}.section-title{color:#111827;margin-bottom:24px;font-size:2.25rem;font-weight:700}@media (min-width:640px){.section-title{font-size:3rem}}.title-gradient{background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-description{color:#4b5563;max-width:48rem;margin:0 auto 32px;font-size:1.25rem;line-height:1.75}.title-underline{background:linear-gradient(90deg,#60a5fa,#7c3aed);border-radius:50px;width:96px;height:4px;margin:0 auto}.projects-grid{grid-template-columns:1fr;gap:24px;margin-bottom:64px;display:grid}@media (min-width:640px){.projects-grid{gap:32px}}@media (min-width:768px){.projects-grid{grid-template-columns:1fr 1fr}}.project-card{opacity:0;background-color:#fff;border-radius:16px;padding:24px;transition:all .5s;transform:translateY(40px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.project-card.visible{opacity:1;transform:translateY(0)}.project-card:hover{transform:translateY(0)scale(1.02);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.project-header{justify-content:space-between;align-items:flex-start;margin-bottom:16px;display:flex}.project-icon-box{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;transition:transform .3s;display:flex}.project-card:hover .project-icon-box{transform:scale(1.1)}.project-icon-box.from-blue-400{background:linear-gradient(to bottom right,#60a5fa,#2563eb)}.project-icon-box.from-purple-400{background:linear-gradient(to bottom right,#c084fc,#7c3aed)}.project-icon-box.from-green-400{background:linear-gradient(to bottom right,#4ade80,#16a34a)}.project-icon-box.from-orange-400{background:linear-gradient(to bottom right,#fb923c,#ea580c)}.external-link-button{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:4px;transition:all .3s;display:inline-flex}.external-link-button:hover{color:#2563eb;background-color:#eff6ff}.external-link-button:disabled{cursor:not-allowed;opacity:.5}.loading-spinner{border:2px solid #2563eb;border-top-color:#0000;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.project-title{color:#111827;margin-bottom:12px;font-size:1.25rem;font-weight:700;line-height:1.3;transition:color .3s}.project-card:hover .project-title{color:#2563eb}.project-description{color:#4b5563;margin-bottom:16px;line-height:1.75}.project-tags{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.project-tag{color:#374151;background-color:#f3f4f6;border-radius:50px;padding:4px 12px;font-size:.875rem;font-weight:500;transition:background-color .2s}.project-tag:hover{background-color:#e5e7eb}.visit-button{color:#2563eb;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;font-weight:600;transition:all .3s;display:inline-flex}.visit-button:hover{color:#1d4ed8;transform:translate(4px)}.visit-button:disabled{opacity:.5;cursor:not-allowed}.visit-arrow{transition:transform .3s}.visit-button:hover .visit-arrow{transform:translate(4px)}.cta-section{text-align:center;opacity:0;transition:all 1s .6s;transform:translateY(40px)}.cta-section.visible{opacity:1;transform:translateY(0)}.cta-content{color:#fff;background:linear-gradient(to bottom right,#2563eb,#7c3aed,#1e40af);border-radius:16px;padding:32px}.cta-title{margin-bottom:16px;font-size:1.5rem;font-weight:700}.cta-text{color:#bfdbfe;margin-bottom:24px;font-size:1rem;line-height:1.75}.cta-buttons{flex-direction:column;justify-content:center;gap:16px;display:flex}@media (min-width:640px){.cta-buttons{flex-direction:row}}.cta-button{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.cta-button:hover{transform:scale(1.05)}.cta-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.cta-button.primary{color:#2563eb;background-color:#fff}.cta-button.primary:hover{background-color:#eff6ff}.cta-button.secondary{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background-color:#ffffff1a;border:1px solid #fff3}.cta-button.secondary:hover{background-color:#fff3}.button-icon{flex-shrink:0}@media (prefers-reduced-motion:reduce){.section-header,.project-card,.cta-section,.visit-button,.loading-spinner{transition-duration:.01ms!important;animation-duration:.01ms!important}}
.contact-section{background:linear-gradient(to bottom right,#f9fafb,#fff);padding:64px 0;position:relative;overflow:hidden}.contact-background{pointer-events:none;position:absolute;inset:0;overflow:hidden}.bg-blob{filter:blur(80px);border-radius:50%;width:320px;height:320px;position:absolute}.blob-left{background-color:#dbeafe4d;top:25%;left:-160px}.blob-right{background-color:#f3e8ff4d;bottom:25%;right:-160px}.contact-container{z-index:10;max-width:1280px;margin:0 auto;padding:0 16px;position:relative}@media (min-width:640px){.contact-container{padding:0 24px}}@media (min-width:1024px){.contact-container{padding:0 32px}}.section-header{text-align:center;opacity:0;margin-bottom:64px;transition:all 1s;transform:translateY(40px)}.section-header.visible{opacity:1;transform:translateY(0)}.header-badge{background:linear-gradient(90deg,#dbeafe,#f3e8ff);border:1px solid #93c5fd80;border-radius:50px;align-items:center;margin-bottom:32px;padding:12px 24px;display:inline-flex}.badge-icon{color:#2563eb;margin-right:8px}.badge-text{color:#374151;font-size:.875rem;font-weight:500}.section-title{color:#111827;margin-bottom:24px;font-size:2.25rem;font-weight:700}@media (min-width:640px){.section-title{font-size:3rem}}.title-gradient{background:linear-gradient(90deg,#2563eb,#7c3aed);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.section-description{color:#4b5563;max-width:48rem;margin:0 auto 32px;font-size:1.25rem;line-height:1.75}.title-underline{background:linear-gradient(90deg,#60a5fa,#7c3aed);border-radius:50px;width:96px;height:4px;margin:0 auto}.contact-methods{opacity:0;grid-template-columns:1fr;gap:24px;margin-bottom:48px;transition:all 1s .2s;display:grid;transform:translateY(40px)}@media (min-width:768px){.contact-methods{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.contact-methods{grid-template-columns:repeat(4,1fr)}}.contact-methods.visible{opacity:1;transform:translateY(0)}.contact-method-card{text-align:center;background-color:#fff;border-radius:16px;flex-direction:column;align-items:center;padding:24px;text-decoration:none;transition:all .5s;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.contact-method-card:hover{transform:scale(1.05);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.method-icon-box{color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:16px;transition:transform .3s;display:flex}.contact-method-card:hover .method-icon-box{transform:scale(1.1)}.method-icon-box.from-red-400{background:linear-gradient(to bottom right,#f87171,#dc2626)}.method-icon-box.from-green-400{background:linear-gradient(to bottom right,#4ade80,#16a34a)}.method-icon-box.from-blue-400{background:linear-gradient(to bottom right,#60a5fa,#2563eb)}.method-icon-box.from-gray-400{background:linear-gradient(to bottom right,#9ca3af,#4b5563)}.method-title{color:#111827;margin-bottom:8px;font-size:1.125rem;font-weight:700}.method-subtitle{color:#6b7280;margin-bottom:8px;font-size:.875rem}.method-value{color:#374151;margin-bottom:12px;font-size:.875rem;font-weight:500}.method-description{color:#6b7280;margin-bottom:16px;font-size:.75rem}.method-connect{color:#2563eb;justify-content:center;align-items:center;margin-top:auto;display:flex}.connect-text{margin-right:4px;font-size:.875rem;font-weight:500}.connect-arrow{transition:transform .3s}.contact-method-card:hover .connect-arrow{transform:translate(4px)}.contact-method-card:hover .method-connect{color:#1d4ed8}.quick-info-grid{opacity:0;grid-template-columns:1fr;gap:24px;margin-bottom:48px;transition:all 1s .4s;display:grid;transform:translateY(40px)}@media (min-width:768px){.quick-info-grid{grid-template-columns:repeat(3,1fr)}}.quick-info-grid.visible{opacity:1;transform:translateY(0)}.info-card{text-align:center;background-color:#fff;border-radius:16px;padding:24px;transition:all .5s;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.info-card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.info-icon{margin:0 auto 16px}.info-icon.location{color:#2563eb}.info-icon.response{color:#16a34a}.info-icon.availability{color:#eab308}.info-title{color:#111827;margin-bottom:8px;font-size:1.125rem;font-weight:700}.info-value{color:#4b5563;margin-bottom:8px}.info-detail{color:#6b7280;font-size:.875rem}.cta-section{opacity:0;margin-bottom:48px;transition:all 1s .6s;transform:translateY(40px)}.cta-section.visible{opacity:1;transform:translateY(0)}.cta-content{text-align:center;color:#fff;background:linear-gradient(to bottom right,#2563eb,#7c3aed,#1e40af);border-radius:16px;padding:32px}@media (min-width:768px){.cta-content{padding:48px}}.cta-heart{color:#fca5a5;margin:0 auto 24px}.cta-title{margin-bottom:16px;font-size:1.875rem;font-weight:700}.cta-text{color:#bfdbfe;max-width:56rem;margin:0 auto 32px;font-size:1.25rem;line-height:1.75}.cta-buttons{flex-direction:column;justify-content:center;gap:16px;display:flex}@media (min-width:640px){.cta-buttons{flex-direction:row}}.cta-button{cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:16px 32px;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.cta-button:hover{transform:scale(1.05)}.cta-button:focus-visible{outline-offset:2px;outline:2px solid #fff}.cta-button.whatsapp{color:#fff;background-color:#16a34a}.cta-button.whatsapp:hover{background-color:#15803d}.cta-button.email{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background-color:#ffffff1a;border:1px solid #fff3}.cta-button.email:hover{background-color:#fff3}.cta-button.linkedin{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;background-color:#ffffff1a;border:1px solid #fff3}.cta-button.linkedin:hover{background-color:#fff3}.footer-note{text-align:center;opacity:0;transition:all 1s .8s;transform:translateY(40px)}.footer-note.visible{opacity:1;transform:translateY(0)}.footer-text{color:#4b5563;margin-bottom:16px;line-height:1.75}.footer-credit{justify-content:center;align-items:center;gap:8px;display:flex}.credit-text{color:#6b7280}.credit-heart{color:#dc2626}@media (prefers-reduced-motion:reduce){.section-header,.contact-methods,.quick-info-grid,.cta-section,.footer-note,.cta-button,.contact-method-card{transition-duration:.01ms!important;animation-duration:.01ms!important}}
