@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;max-width:100%;position:relative;overflow-x:hidden}body{color:#111827;scroll-behavior:smooth;background:#fbfdff;font-family:Plus Jakarta Sans,sans-serif;line-height:1.5}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#eef2ff}::-webkit-scrollbar-thumb{background:#2d4a7c;border-radius:10px}.container{max-width:1200px;margin:0 auto;padding:0 1.8rem}.bg-blobs{z-index:-2;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.blob{filter:blur(80px);opacity:.45;border-radius:50%;animation:20s ease-in-out infinite float-blob;position:absolute}.blob-1{background:radial-gradient(circle,#d9e6f5 0%,#b8d2ed 100%);width:400px;height:400px;top:-10%;left:-10%}.blob-2{background:radial-gradient(circle,#eef3fc 0%,#cbddee 100%);width:500px;height:500px;animation-delay:-5s;bottom:10%;right:-10%}.blob-3{background:radial-gradient(circle,#eef2ff 0%,#dbe4ff 100%);width:300px;height:300px;animation-delay:-10s;top:40%;left:50%}@keyframes float-blob{0%,to{transform:translate(0)scale(1)}33%{transform:translate(30px,-50px)scale(1.1)}66%{transform:translate(-20px,20px)scale(.95)}}.menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:998;opacity:0;background:#0c1e2f26;width:100vw;height:100vh;transition:opacity .3s;display:none;position:fixed;top:0;left:0}.menu-overlay.open{opacity:1;display:block}header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;background:#fffffff5;border-bottom:1px solid #0000000d;transition:all .2s;position:sticky;top:0}nav{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;display:flex}.logo-wrapper{background:#fff9;border:1px solid #e2edf5cc;border-radius:50px;align-items:center;gap:.6rem;padding:.35rem .8rem;text-decoration:none;transition:all .3s;display:flex;box-shadow:0 2px 10px #1b416608}.logo-wrapper:hover{background:#fff;border-color:#2c5f8a33;transform:translateY(-1px);box-shadow:0 4px 15px #1b416614}.logo-img{object-fit:contain;border-radius:4px;width:auto;height:32px;transition:transform .3s}.logo-wrapper:hover .logo-img{transform:scale(1.05)}.logo-text{color:#1f3a6b;letter-spacing:-.2px;font-size:1.15rem;font-weight:800}.menu-btn{display:none}.nav-links{gap:2rem;list-style:none;display:flex}.nav-links a{color:#1f2937;font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s}.nav-links a:hover{color:#2c5f8a}.btn-primary{color:#fff;cursor:pointer;background:linear-gradient(105deg,#1e3b5c,#2b5b84);border:none;border-radius:50px;padding:.7rem 1.8rem;font-weight:600;text-decoration:none;transition:all .25s;display:inline-block;box-shadow:0 4px 8px #0000000d}.btn-primary:hover{background:linear-gradient(105deg,#153250,#1f4a6e);transform:translateY(-3px);box-shadow:0 12px 20px -12px #1b416666}.btn-primary:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#cbd5e1;transform:none}.btn-outline-light{color:#1e3b5c;cursor:pointer;background:0 0;border:1.5px solid #1e3b5c;border-radius:50px;padding:.7rem 1.8rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-outline-light:hover{color:#fff;background:#1e3b5c;transform:translateY(-2px)}.hero-buttons{flex-wrap:wrap;gap:1rem;display:flex}.hero{padding:4rem 0}.hero-grid{flex-wrap:wrap;align-items:center;gap:3rem;display:flex}.hero-content{flex:1;min-width:280px}.hero-badge{color:#1f4a76;background:#e8f0fe;border-radius:40px;margin-bottom:1rem;padding:.25rem 1rem;font-size:.8rem;font-weight:600;display:inline-block}.hero-content h1{background:linear-gradient(145deg,#152c44,#1f5680);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:1rem;font-size:3.2rem;font-weight:800;line-height:1.2}.hero-tagline{color:#2c4b6e;margin:.5rem 0 .8rem;font-size:1.3rem;font-weight:600}.hero-desc{color:#4a5568;max-width:90%;margin:1rem 0 1.8rem;font-size:1rem}.hero-image{flex:.8;justify-content:center;display:flex}.profile-img-wrapper{background:linear-gradient(135deg,#d9e6f5,#fff);border-radius:38% 62% 63% 37%/41% 44% 56% 59%;justify-content:center;align-items:center;width:280px;height:280px;transition:all .3s;animation:6s ease-in-out infinite float;display:flex;box-shadow:0 25px 40px -12px #0003}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.profile-img{object-fit:cover;border:4px solid #fff;border-radius:32% 68% 56% 44%/43% 40% 60% 57%;width:94%;height:94%;box-shadow:0 10px 20px #0000001a}.placeholder-avatar{color:#fff;background:linear-gradient(145deg,#2c5a8c,#153e5e);border-radius:32% 68% 56% 44%/43% 40% 60% 57%;justify-content:center;align-items:center;width:94%;height:94%;font-size:4rem;font-weight:800;display:flex}section{border-bottom:1px solid #ecf3fa;padding:5rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-header h2{color:#0f2b3f;font-size:2.2rem;font-weight:700;display:inline-block;position:relative}.section-header h2:after{content:"";background:linear-gradient(90deg,#2c5f8a,#6c9ebf);border-radius:4px;width:70px;height:4px;position:absolute;bottom:-12px;left:50%;transform:translate(-50%)}.about-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}.card-glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #eef2fab3;border-radius:32px;padding:2rem;transition:all .25s;box-shadow:0 8px 30px #1b41660a}.card-glass:hover{background:#fffc;border-color:#cbddeee6;transform:translateY(-6px);box-shadow:0 20px 30px -15px #1b41661a}.card-glass h3{color:#1f3a6b;align-items:center;gap:.75rem;margin-bottom:1rem;font-size:1.5rem;display:flex}.info-row{align-items:flex-start;gap:.8rem;margin-bottom:.9rem;display:flex}.info-row i{color:#2c5f8a;flex-shrink:0;width:1.6rem;margin-top:.25rem}.exp-grid,.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.exp-item,.project-item{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffbf;border:1px solid #eef2facc;border-radius:24px;padding:1.5rem;transition:all .25s}.exp-item:hover,.project-item:hover{background:#ffffffd9;border-color:#d4e2f0e6;transform:translateY(-4px);box-shadow:0 15px 30px -12px #1b41661f}.exp-title{color:#1f3a6b;font-size:1.2rem;font-weight:800}.exp-meta{color:#5f7f9e;margin:.4rem 0 .8rem;font-size:.8rem}.project-icon{color:#2c5f8a;margin-bottom:1rem;font-size:2rem}.project-item h4{color:#1f2937;margin-bottom:.6rem;font-size:1.25rem}.skills-cloud{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:1rem;display:flex}.skill-pill{color:#1e4a76;white-space:nowrap;background:#eef3fc;border-radius:100px;padding:.5rem 1.4rem;font-size:.85rem;font-weight:500;transition:all .1s;display:inline-block}.qualities-flex{flex-wrap:wrap;justify-content:center;gap:.8rem;margin:1.5rem 0;display:flex}.quality-badge{white-space:nowrap;background:#fff;border:1px solid #e2edf7;border-radius:60px;padding:.4rem 1.2rem;font-weight:500;display:inline-block;box-shadow:0 2px 6px #00000008}.contact-modern{text-align:center;background:linear-gradient(125deg,#f1f7fe,#fff);border:1px solid #e2edf5;border-radius:48px;padding:2.5rem;box-shadow:0 12px 35px #00000008}.contact-links{flex-wrap:wrap;justify-content:center;gap:2rem;margin:1.8rem 0;display:flex}.link-short-text{display:none}.contact-link{color:#1f3a6b;background:#fff;border-radius:60px;align-items:center;gap:.6rem;padding:.6rem 1.4rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 2px 6px #0000000d}.contact-link i{font-size:1.1rem}.contact-link:hover{color:#fff;background:#1e3b5c;transform:translateY(-2px)}.contact-form{text-align:left;background:#fff;border:1px solid #e6eef5;border-radius:28px;max-width:600px;margin:2.5rem auto 0;padding:2rem;box-shadow:0 8px 30px #1b41660a}.contact-form h4{color:#1f3a6b;text-align:center;margin-bottom:1.5rem;font-size:1.3rem;font-weight:700}.form-group{margin-bottom:1.25rem}.form-group label{color:#1f3a6b;margin-bottom:.5rem;font-size:.9rem;font-weight:600;display:block}.form-group input,.form-group textarea{color:#1f2937;border:1.5px solid #dcdfe6;border-radius:12px;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}.form-group input:focus,.form-group textarea:focus{border-color:#2c5f8a;outline:none;box-shadow:0 0 0 3px #2c5f8a26}.form-alert{border-radius:12px;align-items:center;gap:.5rem;margin-bottom:1.5rem;padding:1rem;font-size:.9rem;font-weight:500;display:flex}.form-alert.success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.form-alert.error{color:#991b1b;background:#fef2f2;border:1px solid #fca5a5}footer{color:#b9d0e4;text-align:center;background:#0c1e2f;padding:2rem;font-size:.8rem}.loading-container,.error-container{text-align:center;color:#1f3a6b;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;font-family:Plus Jakarta Sans,sans-serif;display:flex}.loading-logo-wrapper{justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:1.8rem;display:flex;position:relative}.spinner{border:4px solid #2c5f8a1a;border-top-color:#2c5f8a;border-radius:50%;width:80px;height:80px;margin:0;animation:1s linear infinite spin;position:absolute;top:0;left:0}.loading-logo{object-fit:cover;border:2px solid #e2edf7;border-radius:50%;width:48px;height:48px;animation:2s ease-in-out infinite pulse-logo}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-logo{0%,to{opacity:.95;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@media (width<=780px){html{font-size:14px}body{font-size:.9rem}.menu-btn{color:#1f3a6b;cursor:pointer;z-index:1000;background:0 0;border:none;font-size:1.6rem;transition:color .2s;display:block}.menu-btn:hover{color:#2c5f8a}.nav-links{z-index:999;background:#fff;border-left:1px solid #eef2fa;flex-direction:column;justify-content:center;align-items:center;gap:2.5rem;width:280px;height:100vh;padding:2rem;display:none;position:fixed;top:0;right:0;box-shadow:-5px 0 25px #0c1e2f14}.nav-links.open{animation:.3s cubic-bezier(.4,0,.2,1) forwards slideInMenu;display:flex}@keyframes slideInMenu{0%{transform:translate(100%)}to{transform:translate(0)}}.nav-links li{text-align:center;width:100%}.nav-links a{color:#1f3a6b;border-bottom:1px solid #f0f4f8;padding:.5rem 0;font-size:1.25rem;font-weight:700;display:block}.nav-links li:last-child a{border-bottom:none}.section-header h2{font-size:1.8rem}.section-header h2:after{width:50px;height:3px;bottom:-8px}.about-cards,.exp-grid,.projects-grid{grid-template-columns:1fr;gap:1.25rem}.card-glass,.exp-item,.project-item{border-radius:24px;padding:1.5rem 1.2rem;box-shadow:0 4px 15px #00000005}.hero{padding:2.5rem 0 3rem}.hero-grid{text-align:center;flex-direction:column-reverse;gap:2rem}.hero-content h1{margin-bottom:.75rem;font-size:2.2rem;line-height:1.2}.hero-tagline{font-size:1.05rem;line-height:1.4}.hero-desc{max-width:100%;margin:.75rem 0 1.5rem;font-size:.95rem}.profile-img-wrapper{border:5px solid #ffffffe6;width:210px;height:210px;box-shadow:0 15px 30px #2c5f8a26}.hero-buttons{justify-content:center;gap:.75rem}.btn-primary,.btn-outline-light{text-align:center;width:100%;max-width:280px;padding:.65rem 1.5rem;font-size:.9rem}.skill-pill{padding:.4rem 1.1rem;font-size:.8rem}.contact-modern{border-radius:36px;padding:2rem 1.2rem}.contact-links{grid-template-columns:1fr 1fr;gap:.8rem;margin:1.5rem 0;display:grid}.contact-link{border-radius:16px;justify-content:center;padding:.75rem .5rem;font-size:.9rem;box-shadow:0 2px 8px #00000008}.link-full-text{display:none}.link-short-text{display:inline}.active-toggle{background:linear-gradient(105deg,#991b1b,#b91c1c)!important}.active-toggle:hover{background:linear-gradient(105deg,#7f1d1d,#991b1b)!important}.contact-form{border-radius:24px;margin-top:2rem;padding:1.5rem 1.2rem}.contact-form h4{margin-bottom:1.2rem;font-size:1.15rem}.form-group label{font-size:.85rem}.form-group input,.form-group textarea{border-radius:10px;padding:.65rem .85rem;font-size:.9rem}.form-alert{margin-bottom:1rem;padding:.75rem;font-size:.85rem}.container{padding:0 1.2rem}section{padding:3.5rem 0}}
