:root{--bg1:#0a0e27;--bg2:#141936;--bg3:#232a53;--bg-gradient:linear-gradient(135deg, #0a0e27 0%, #141936 28%, #232a53 58%, #311255 100%);--text-main:#e8f0f2;--text-bright:#fff;--header-bg:#0a0e27e0;--modal-bg:#0b1a1c;--nav-bg-mobile:#141936;--header-height:72px;--accent:#00d4ff;--accent-rgb:0, 212, 255;--accent2:#ff006e;--muted:#b0b9d4;--card:#2d356147;--glass:rgba(var(--accent-rgb), .08);--line-color:255, 255, 255;--btn-text:#0a0e27;--btn-bg:linear-gradient(90deg, #00d4ff, #09f);--card-shadow:0 10px 26px #00000047;--card-shadow-hover:0 16px 38px rgba(var(--accent-rgb), .18);--profile-shadow:0 10px 30px #0000008c;--profile-shadow-hover:0 14px 38px #0000009e;--footer-gradient:linear-gradient(180deg, transparent, #00000047);font-family:Poppins,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}[data-theme=light]{--bg1:#f1f5f9;--bg2:#e2e8f0;--bg3:#cbd5e1;--bg-gradient:linear-gradient(135deg, #f8fbff 0%, #eef4fb 100%);--text-main:#334155;--text-bright:#0f172a;--header-bg:#fffffff2;--modal-bg:#f8fafc;--nav-bg-mobile:#fff;--accent:#2563eb;--accent-rgb:37, 99, 235;--muted:#475569;--card:#fff;--line-color:0, 0, 0;--btn-text:#fff;--btn-bg:linear-gradient(90deg, #3b82f6, #2563eb);--card-shadow:0 12px 30px -12px #0000001f;--card-shadow-hover:0 20px 42px -10px rgba(var(--accent-rgb), .16);--profile-shadow:0 10px 30px -6px #2563eb29;--profile-shadow-hover:0 16px 38px -8px #2563eb3d;--footer-gradient:linear-gradient(180deg, transparent, #2563eb0d)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg-gradient);min-height:100vh;color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;margin:0;line-height:1.65;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}main{padding-top:calc(var(--header-height) + 12px)}.site-header{height:var(--header-height);z-index:1000;background:var(--header-bg);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(var(--line-color), .08);position:fixed;inset:0 0 auto}.navbar{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;height:100%;margin:0 auto;padding:0 20px;display:flex}.brand{align-items:center;gap:12px;min-width:0;text-decoration:none;display:flex}.brand-photo{object-fit:cover;border:2px solid rgba(var(--line-color), .12);border-radius:50%;width:46px;height:46px}.brand-name{color:var(--text-bright);white-space:nowrap;font-weight:700}.nav-tools{align-items:center;gap:10px;display:flex}.nav-links{align-items:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.nav-links a{color:var(--muted);border-radius:999px;padding:9px 12px;text-decoration:none;transition:background-color .25s,color .25s,transform .25s}.nav-links a:hover,.nav-links a:focus-visible{background:var(--glass);color:var(--text-bright);outline:none;transform:translateY(-1px)}.icon-btn{width:44px;height:44px;color:var(--text-bright);cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;transition:transform .25s,background-color .25s,color .25s;display:inline-flex}.icon-btn:hover{background:var(--glass);transform:translateY(-1px)}.theme-toggle{font-size:20px}.nav-toggle{font-size:22px;display:none}.section{max-width:1200px;margin:0 auto;padding:64px 20px}.section h2{color:var(--text-bright);margin:0 0 28px;font-size:clamp(1.7rem,2vw,2.2rem);display:inline-block;position:relative}.section h2:after{content:"";background:var(--accent);border-radius:999px;width:65%;height:3px;position:absolute;bottom:-10px;left:0}.section-lead{color:var(--muted);margin:-10px 0 22px}.about-inner{grid-template-columns:220px minmax(0,1fr);align-items:center;gap:36px;display:grid}.photo-wrap{width:220px}.profile-photo{object-fit:cover;border:4px solid rgba(var(--line-color), .06);width:220px;height:220px;box-shadow:var(--profile-shadow);border-radius:50%}.about-text .eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem;font-weight:600}.about-text .name{color:var(--text-bright);margin:0 0 10px;font-size:clamp(2rem,4vw,3.4rem);line-height:1.05}.typewriter{min-height:30px;color:var(--accent);margin:0 0 14px;font-size:1.05rem;font-weight:600}.profile-summary{max-width:82ch;color:var(--muted);margin:0;font-size:1rem;line-height:1.8}.resume-actions{flex-wrap:wrap;gap:14px;margin:10px 0 28px;display:flex}.btn{color:var(--btn-text);background:var(--btn-bg);box-shadow:0 10px 22px rgba(var(--accent-rgb), .22);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 18px;font-weight:700;text-decoration:none;transition:transform .25s,box-shadow .25s,opacity .25s;display:inline-flex}.btn:hover{box-shadow:0 14px 28px rgba(var(--accent-rgb), .3);transform:translateY(-2px)}.btn:active{transform:translateY(0)scale(.98)}.btn.outline{color:var(--accent);border:2px solid var(--accent);box-shadow:none;background:0 0}.btn.outline:hover{background:rgba(var(--accent-rgb), .09)}.btn.small{padding:10px 14px;font-size:.92rem}.education-list{color:var(--muted);gap:10px;margin:0;padding:0;list-style:none;display:grid}.education-list li{background:var(--card);border:1px solid rgba(var(--line-color), .08);box-shadow:var(--card-shadow);border-radius:14px;padding:14px 16px}.education-list strong{color:var(--accent)}.resume-content,.skill-group,.project-card,.cert-item,.contact-item{background:var(--card);border:1px solid rgba(var(--line-color), .08);box-shadow:var(--card-shadow)}.resume-content{border-radius:22px;padding:28px}.resume-header{text-align:center;border-bottom:1px solid rgba(var(--line-color), .1);margin-bottom:24px;padding-bottom:18px}.resume-header h3{color:var(--accent);margin:0 0 6px;font-size:clamp(1.5rem,2vw,1.95rem)}.resume-header .subtitle{color:var(--text-bright);margin:0 0 8px;font-weight:600}.resume-header .contact-info,.resume-section p,.project-desc,.skill-group li,.education-list,.muted{color:var(--muted)}.resume-section{margin-bottom:28px}.resume-section h4{color:var(--accent);border-bottom:1px dashed rgba(var(--line-color), .1);margin:0 0 14px;padding-bottom:10px;font-size:1.15rem}.resume-section p{margin:0 0 10px;line-height:1.75}.table-responsive{overflow-x:auto}.expertise-table{border-collapse:collapse;border-radius:14px;width:100%;min-width:560px;margin-top:8px;overflow:hidden}.expertise-table th,.expertise-table td{text-align:left;border-bottom:1px solid rgba(var(--line-color), .08);padding:14px 12px}.expertise-table th{background:rgba(var(--accent-rgb), .1);color:var(--text-bright)}.expertise-table td strong{color:var(--text-bright)}.skill-group{border-radius:20px;padding:18px}.skill-group h3{color:var(--text-bright);margin:0 0 12px}.skill-group ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.skill-group li{align-items:center;gap:10px;font-size:.98rem;display:flex}.skill-icon{justify-content:center;align-items:center;min-width:24px;font-size:1.15rem;display:inline-flex}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px;display:grid}.filter-container{flex-wrap:wrap;gap:10px;margin-bottom:24px;display:flex}.filter-btn{border:1px solid rgba(var(--line-color), .1);background:var(--card);color:var(--muted);cursor:pointer;border-radius:999px;padding:8px 16px;transition:transform .25s,background-color .25s,color .25s,border-color .25s}.filter-btn:hover,.filter-btn.active{background:rgba(var(--accent-rgb), .14);color:var(--accent);border-color:var(--accent);transform:translateY(-1px)}.projects{gap:20px;display:grid}.project-card{border-radius:22px;padding:24px;transition:transform .3s,box-shadow .3s,border-color .3s}.project-card:hover{box-shadow:var(--card-shadow-hover);border-color:rgba(var(--accent-rgb), .28);transform:translateY(-6px)}.project-card h3{color:var(--text-bright);margin:0 0 14px;font-size:1.35rem}.project-card p{text-align:justify;margin:0 0 14px;line-height:1.75}.project-features{color:var(--muted);gap:8px;margin:0 0 18px 20px;display:grid}.project-actions{flex-wrap:wrap;gap:12px;display:flex}.project-item{margin-top:18px}.project-item h5{color:var(--text-bright);margin:0 0 10px;font-size:1.05rem}.cert-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.cert-item{background:linear-gradient(135deg, rgba(var(--accent-rgb), .08), rgba(var(--accent-rgb), .03));border-radius:20px;padding:20px}.cert-name{color:var(--accent);margin:0 0 16px;font-size:1.05rem}.cert-actions{flex-wrap:wrap;gap:10px;display:flex}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;display:grid}.contact-item{color:inherit;border-radius:16px;align-items:center;gap:12px;padding:16px;text-decoration:none;transition:transform .25s,border-color .25s,background-color .25s;display:flex}.contact-item:hover{border-color:rgba(var(--accent-rgb), .25);background:rgba(var(--accent-rgb), .05);transform:translateY(-2px)}.contact-item i{color:var(--accent);min-width:22px;font-size:1.2rem}.contact-item.phone{color:var(--accent)}.contact-item.whatsapp{color:#25d366}.site-footer{background:var(--footer-gradient);border-top:1px solid rgba(var(--accent-rgb), .18);padding:36px 20px}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;max-width:1200px;margin:0 auto;display:flex}.footer-left strong{color:var(--accent);margin-bottom:4px;font-size:1.1rem;display:block}.social{flex-wrap:wrap;gap:12px;display:flex}.social a{width:44px;height:44px;color:var(--muted);border:1px solid rgba(var(--accent-rgb), .25);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;transition:transform .25s,color .25s,box-shadow .25s,border-color .25s;display:inline-flex}.social a:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 8px 18px rgba(var(--accent-rgb), .2);transform:translateY(-3px)}.social a svg{width:22px;height:22px}.modal{z-index:9999;background:#0000009e;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-content{background:var(--modal-bg);width:min(920px,100%);height:min(82vh,900px);color:var(--text-main);border-radius:18px;flex-direction:column;gap:12px;padding:14px;display:flex;box-shadow:0 30px 90px #00000073}.modal-close{color:var(--text-bright);cursor:pointer;background:0 0;border:0;align-self:flex-end;font-size:18px}.modal-content iframe{background:#fff;border:0;border-radius:12px;flex:1;width:100%}.fade-in{opacity:0;will-change:opacity, transform;transition:opacity .55s,transform .55s;transform:translateY(24px)}.fade-in.visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:no-preference){.profile-photo{transition:box-shadow .3s,transform .3s}.profile-photo:hover{box-shadow:var(--profile-shadow-hover);transform:translateY(-4px)}}@media (width<=980px){.about-inner{text-align:center;grid-template-columns:1fr;justify-items:center}.profile-summary{margin-inline:auto}.section h2:after{left:50%;transform:translate(-50%)}}@media (width<=860px){.nav-toggle{display:inline-flex}.nav-links{top:var(--header-height);background:var(--nav-bg-mobile);border:1px solid rgba(var(--line-color), .08);border-radius:18px;flex-direction:column;align-items:stretch;gap:6px;width:min(280px,100vw - 32px);padding:14px;display:none;position:absolute;right:16px;box-shadow:0 18px 40px #0003}.nav-links.show{display:flex}.nav-links a{border-radius:12px}.brand-name{font-size:.98rem}.section{padding:54px 18px}.resume-content{padding:22px}}@media (width<=600px){:root{--header-height:66px}.navbar{padding:0 14px}.brand-photo{width:40px;height:40px}.photo-wrap,.profile-photo{width:160px;height:160px}.project-card,.cert-item,.skill-group{border-radius:18px}.project-card{padding:20px}.contact-item{padding:14px}.resume-actions,.project-actions,.cert-actions,.social{gap:10px}}
