:root{--bg-primary: #050505;--bg-surface: rgba(255, 255, 255, .04);--bg-surface-hover: rgba(255, 255, 255, .07);--border-subtle: rgba(255, 255, 255, .08);--border-focus: rgba(0, 102, 204, .5);--accent-from: #0066CC;--accent-to: #3b9eff;--gradient-accent: linear-gradient(135deg, #0066CC, #3b9eff);--accent-ai: #10B981;--text-primary: #F9FAFB;--text-secondary: #6B7280;--text-tertiary: #374151;--glass-bg: rgba(255, 255, 255, .04);--glass-border: 1px solid rgba(255, 255, 255, .08);--glass-blur: blur(24px);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .4);--hover-lift: translateY(-4px);--hover-glow: 0 0 0 1px rgba(0, 102, 204, .4), 0 16px 40px rgba(0, 102, 204, .12);--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--section-padding-y: clamp(5rem, 10vw, 8rem);--container-max: 1200px;--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .6s cubic-bezier(.4, 0, .2, 1);--font-sans: "Inter", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);font-weight:700;line-height:1.1;letter-spacing:-.02em;color:var(--text-primary)}.aurora-bg{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden}.aurora-orb{position:absolute;border-radius:50%;filter:blur(120px);opacity:.07;animation:aurora-drift 25s ease-in-out infinite;will-change:transform}.aurora-orb-1{width:700px;height:700px;background:#06c;top:-20%;left:-15%;animation-duration:30s}.aurora-orb-2{width:500px;height:500px;background:#3b9eff;bottom:-15%;right:-10%;animation-duration:25s;animation-direction:reverse}.aurora-orb-3{width:400px;height:400px;background:#06c;top:45%;left:55%;animation-duration:35s;animation-delay:-8s;opacity:.04}@keyframes aurora-drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(60px,-40px) scale(1.05)}50%{transform:translate(30px,80px) scale(.95)}75%{transform:translate(-60px,30px) scale(1.03)}}.noise-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:128px 128px}.text-gradient{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-eyebrow{display:block;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-from);margin-bottom:.75rem}.container{max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}:focus-visible{outline:2px solid var(--accent-from);outline-offset:3px;border-radius:4px}.reveal{opacity:0;transform:translateY(32px)}#header{position:fixed;top:0;left:0;width:100%;z-index:1000;transition:background var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.header-inner{display:flex;align-items:center;justify-content:space-between;max-width:var(--container-max);margin-inline:auto;padding:1.5rem clamp(1rem,4vw,3rem);transition:padding var(--transition-base)}#header.scrolled{background:#050505d9;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}#header.scrolled .header-inner{padding-top:1rem;padding-bottom:1rem}.logoPagina a{display:flex;align-items:center;text-decoration:none}.logoPagina img{width:clamp(48px,7vw,64px);height:auto;filter:brightness(0) invert(1);transition:opacity var(--transition-base)}.logoPagina img:hover{opacity:.7}.nav-link{font-size:.9375rem;font-weight:500;color:var(--text-secondary);text-decoration:none;position:relative;padding:.25rem 0;transition:color var(--transition-base);letter-spacing:.01em}.nav-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--gradient-accent);border-radius:1px;transition:width var(--transition-base)}.nav-link:hover,.nav-link.active{color:var(--text-primary)}.nav-link:hover:after,.nav-link.active:after{width:100%}#header-buttons{display:flex;align-items:center;gap:.75rem}.header-cta{display:none;align-items:center;background:var(--accent-from);color:#fff;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;border-radius:var(--radius-full);text-decoration:none;letter-spacing:.01em;transition:opacity var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);white-space:nowrap}.header-cta:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 6px 20px #06c6}@media (min-width: 1200px){.header-cta{display:inline-flex}}.menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-surface);border:var(--glass-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);transition:background var(--transition-base),border-color var(--transition-base)}.menu-btn:hover{background:var(--bg-surface-hover);border-color:#ffffff26}.menu-icon{width:20px;height:20px;color:var(--text-primary)}#main-nav{display:none}@media (max-width: 1199px){#main-nav.open{display:flex;position:fixed;inset:0;background:#050505f7;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);z-index:999;align-items:center;justify-content:center;animation:nav-fade-in .25s ease}#main-nav ul{list-style:none;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.nav-link{font-size:clamp(1.5rem,5vw,2rem);font-weight:700;color:var(--text-primary)}}@media (min-width: 1200px){#main-nav{display:block;position:static;background:none;backdrop-filter:none}#main-nav ul{list-style:none;display:flex;gap:clamp(1.5rem,3vw,2.5rem)}.menu-btn{display:none}}@keyframes nav-fade-in{0%{opacity:0}to{opacity:1}}html{scroll-behavior:smooth}main{display:flex;flex-direction:column;align-items:stretch}#about{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(var(--section-padding-y) + 5rem) clamp(1.25rem,5vw,3rem) var(--section-padding-y);position:relative;background-image:url(/imagen_fondo.png);background-size:cover;background-position:center top;background-repeat:no-repeat}#about:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0505058c,#05050573,#050505d9);pointer-events:none;z-index:0}#about>*{position:relative;z-index:1}.hero-inner{width:100%;max-width:780px;margin-inline:auto;display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:#10b98114;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-full);padding:.375rem 1rem;font-size:.8125rem;font-weight:500;color:var(--accent-ai);margin-bottom:2rem;letter-spacing:.02em}.hero-badge-dot{width:6px;height:6px;background:var(--accent-ai);border-radius:50%;animation:badge-pulse 2s ease-in-out infinite;flex-shrink:0}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.75)}}#info{width:100%;margin-bottom:1.75rem}#info h2{font-size:clamp(3rem,9vw,5.5rem);font-weight:800;letter-spacing:-.04em;line-height:1;margin-bottom:1.25rem;color:var(--text-primary)}#info h2 .accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#info p{font-size:clamp(1rem,2.5vw,1.2rem);color:var(--text-secondary);max-width:520px;margin-inline:auto;line-height:1.7;font-weight:400}.hero-metrics{display:flex;gap:clamp(1.5rem,4vw,3rem);justify-content:center;flex-wrap:wrap;margin-bottom:2.5rem;padding-top:.25rem}.hero-metric{text-align:center}.hero-metric-value{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.03em;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:.3rem}.hero-metric-label{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.hero-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}#curriculum{position:static;transform:none}#curriculum a{display:inline-flex;align-items:center;gap:.5rem;background:var(--gradient-accent);color:#fff;font-weight:600;font-size:.9375rem;padding:.75rem 1.75rem;border-radius:var(--radius-full);text-decoration:none;transition:opacity var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);letter-spacing:.01em;white-space:nowrap}#curriculum a:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 8px 24px #0066cc59}#social-media{display:flex;align-items:center;gap:.5rem}#social-media article a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:var(--bg-surface);border:var(--glass-border);color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base)}#social-media article a:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:#ffffff26}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.375rem;color:var(--text-secondary);font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;animation:scroll-bounce 2.5s ease-in-out infinite;pointer-events:none}@keyframes scroll-bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(6px)}}#footer{padding:4rem 0 2rem;border-top:1px solid var(--border-subtle);position:relative}.footer-container{max-width:var(--container-max);margin-inline:auto;padding-inline:clamp(1rem,4vw,3rem)}.footer-content{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-bottom:3rem}.footer-logo{margin-bottom:1rem}.footer-logo .logo{width:clamp(48px,8vw,64px);height:auto;filter:brightness(0) invert(1);opacity:.7}.footer-tagline{font-size:.9rem;color:var(--text-secondary);line-height:1.6;max-width:280px;margin-bottom:1.5rem}.footer-social{display:flex;gap:.625rem}.footer-section h4{font-size:.8125rem;font-weight:600;color:var(--text-primary);letter-spacing:.06em;text-transform:uppercase;margin-bottom:1.25rem}.footer-links{list-style:none;display:flex;flex-direction:column;gap:.625rem}.footer-links a{font-size:.9rem;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base)}.footer-links a:hover{color:var(--text-primary)}.contact-info{display:flex;flex-direction:column;gap:.75rem}.contact-item{display:flex;align-items:center;gap:.625rem;font-size:.875rem;color:var(--text-secondary)}.contact-item svg{color:var(--text-tertiary);flex-shrink:0}.footer-divider{height:1px;background:var(--border-subtle);margin-bottom:1.5rem}.bottom-content{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.bottom-content p{font-size:.8125rem;color:var(--text-secondary)}@media (min-width: 640px){.footer-content{grid-template-columns:1fr 1fr}}@media (min-width: 1024px){.footer-content{grid-template-columns:2fr 1fr 1fr 1.5fr;gap:4rem}.bottom-content{flex-wrap:nowrap}}.footer-section{opacity:0;transform:translateY(24px)}#about-me{padding:var(--section-padding-y) clamp(1rem,4vw,3rem);position:relative}.about-container{max-width:var(--container-max);margin-inline:auto;display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}#about-me h2{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;color:var(--text-primary);margin-bottom:1.5rem}.intro-text{font-size:clamp(.9375rem,1.8vw,1.0625rem);line-height:1.75;color:var(--text-secondary);margin-bottom:1rem}.description-text{font-size:.9375rem;line-height:1.75;color:var(--text-secondary);margin-bottom:0}.about-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:2rem}.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--accent-from);color:#fff;font-weight:600;font-size:.875rem;padding:.75rem 1.75rem;border-radius:var(--radius-sm);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:opacity var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn-primary:hover{opacity:.88;transform:translateY(-1px);box-shadow:0 8px 24px #0066cc73}.btn-secondary{display:inline-flex;align-items:center;justify-content:center;background:#ffffff0f;color:var(--text-primary);font-weight:600;font-size:.875rem;padding:.75rem 1.75rem;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.12);text-decoration:none;letter-spacing:.06em;text-transform:uppercase;transition:background var(--transition-base),border-color var(--transition-base),transform var(--transition-base)}.btn-secondary:hover{background:#ffffff1a;border-color:#ffffff38;transform:translateY(-1px)}.image-container{display:flex;justify-content:center;align-items:center}.image-wrapper{position:relative;display:inline-block;border-radius:var(--radius-lg);background:#06101e;padding:0;overflow:visible}.image-wrapper:before,.image-wrapper:after{content:"";position:absolute;top:8%;height:76%;width:3px;border-radius:3px;z-index:2;pointer-events:none}.image-wrapper:before{left:-14px;background:linear-gradient(to bottom,transparent 0%,rgba(0,120,255,.85) 20%,rgba(0,150,255,.95) 50%,rgba(0,120,255,.85) 80%,transparent 100%);box-shadow:0 0 14px #0082ffb3,0 0 28px #0082ff4d}.image-wrapper:after{right:-14px;background:linear-gradient(to bottom,transparent 0%,rgba(30,160,255,.8) 20%,rgba(80,190,255,.9) 50%,rgba(30,160,255,.8) 80%,transparent 100%);box-shadow:0 0 14px #3caaffa6,0 0 28px #3caaff40}#about-me img{width:100%;height:auto;border-radius:var(--radius-lg);object-fit:cover;display:block;box-shadow:0 24px 64px #0009;transition:transform var(--transition-slow)}#about-me img:hover{transform:translateY(-4px)}@media (min-width: 900px){.about-container{grid-template-columns:1fr 1.1fr;gap:5rem;align-items:center}}@media (min-width: 1200px){#about-me{padding-block:calc(var(--section-padding-y) * 1.2)}}#experiencia{padding:var(--section-padding-y) clamp(1rem,4vw,3rem);position:relative}.experience-header{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.experience-header h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}.experience-header .section-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary)}.experience-timeline{max-width:860px;margin-inline:auto;position:relative;display:flex;flex-direction:column;gap:1.5rem;padding-left:1.5rem}.timeline-line{position:absolute;left:0;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--accent-from),var(--accent-to));opacity:.25;transform-origin:top center}.job{position:relative}.job-indicator{position:absolute;left:-1.875rem;top:1.75rem;width:11px;height:11px;border-radius:50%;background:var(--gradient-accent);border:2px solid var(--bg-primary);box-shadow:0 0 0 3px #06c3;z-index:2}.job-card{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.25rem);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.job-card:hover{transform:var(--hover-lift);border-color:#0066cc4d;box-shadow:var(--hover-glow)}.job-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.625rem}.job-header h3{font-size:clamp(1.125rem,2.5vw,1.375rem);font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.date-badge{font-size:.75rem;font-weight:600;color:var(--accent-from);background:#0066cc14;border:1px solid rgba(0,102,204,.2);padding:.25rem .75rem;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.01em}.job-company{font-size:.875rem;color:var(--text-secondary);font-weight:500;margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}.job-company-logo{width:20px;height:20px;border-radius:4px;object-fit:contain;filter:grayscale(1) brightness(.7)}.job-achievements{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.job-achievements li{font-size:.875rem;color:var(--text-secondary);padding-left:1rem;position:relative;line-height:1.6}.job-achievements li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--accent-from)}.tech-tags{display:flex;flex-wrap:wrap;gap:.4rem}.education-block{max-width:860px;margin-inline:auto;margin-top:4rem}.education-block h3{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1.5rem}.education-grid{display:grid;grid-template-columns:1fr;gap:1rem}.education-card{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);padding:1.25rem 1.5rem;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;transition:transform var(--transition-base),border-color var(--transition-base)}.education-card:hover{transform:var(--hover-lift);border-color:#0066cc40}.education-info h4{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin-bottom:.25rem}.education-info p{font-size:.8125rem;color:var(--text-secondary)}.education-date{font-size:.75rem;font-weight:600;color:var(--accent-from);white-space:nowrap;background:#0066cc14;border:1px solid rgba(0,102,204,.2);padding:.2rem .6rem;border-radius:var(--radius-full);align-self:flex-start}.cert-card{background:#10b9810a;border:1px solid rgba(16,185,129,.15)}.cert-card .education-info h4{color:var(--accent-ai)}.cert-card .education-date{color:var(--accent-ai);background:#10b98114;border-color:#10b98133}@media (min-width: 640px){.education-grid{grid-template-columns:1fr 1fr}}#proyectos{padding:var(--section-padding-y) clamp(1rem,4vw,3rem)}.projects-header{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.projects-header h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}.projects-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:500px;margin-inline:auto}.projects-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:var(--container-max);margin-inline:auto}.project-card{display:flex;flex-direction:column;background:var(--glass-bg);border:var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base)}.project-card:hover{transform:var(--hover-lift);border-color:#0066cc4d;box-shadow:var(--hover-glow)}.project-image{position:relative;overflow:hidden;height:220px;background:#ffffff05}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow),filter var(--transition-slow);filter:brightness(.85) saturate(.9)}.project-card:hover .project-image img{transform:scale(1.04);filter:brightness(.95) saturate(1)}.image-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(5,5,5,.7) 100%);z-index:1}.project-links{position:absolute;top:1rem;right:1rem;z-index:2;opacity:0;transform:translateY(-4px);transition:opacity var(--transition-base),transform var(--transition-base)}.project-card:hover .project-links{opacity:1;transform:translateY(0)}.project-link{display:inline-flex;align-items:center;gap:.375rem;background:#050505cc;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-subtle);color:var(--text-primary);font-size:.8125rem;font-weight:500;padding:.5rem .875rem;border-radius:var(--radius-full);text-decoration:none;transition:background var(--transition-base),border-color var(--transition-base)}.project-link:hover{background:#ffffff1a;border-color:#fff3}.project-content{flex:1;display:flex;flex-direction:column;padding:1.5rem}.project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.project-header h3{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}.project-badge{font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-from);background:#0066cc14;border:1px solid rgba(0,102,204,.2);padding:.2rem .6rem;border-radius:var(--radius-full);white-space:nowrap}.project-description{font-size:.9rem;line-height:1.65;color:var(--text-secondary);margin-bottom:1.25rem}.project-tech{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:auto}.tech-tag{font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:var(--glass-border);border-radius:var(--radius-full);padding:.25rem .65rem;transition:color var(--transition-base),border-color var(--transition-base)}.tech-tag:hover{color:var(--text-primary);border-color:#ffffff2e}@media (min-width: 640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.projects-grid{grid-template-columns:repeat(3,1fr);gap:2rem}}#skills{padding:var(--section-padding-y) clamp(1rem,4vw,3rem)}.skills-header{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.skills-header h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}.skills-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:500px;margin-inline:auto}.skills-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;max-width:var(--container-max);margin-inline:auto}.skill-category{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2rem);transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.skill-category:hover{transform:var(--hover-lift);border-color:#0066cc40;box-shadow:var(--hover-glow)}.skill-category:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent);opacity:0;transition:opacity var(--transition-base)}.skill-category:hover:before{opacity:.6}.category-header{display:flex;align-items:center;gap:.875rem;margin-bottom:1.5rem}.category-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:#0066cc14;border:1px solid rgba(0,102,204,.15);display:flex;align-items:center;justify-content:center;color:var(--accent-from);flex-shrink:0}.skill-category h3{font-size:1.0625rem;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);margin:0}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-tag{font-size:.8125rem;font-weight:500;color:var(--text-secondary);background:var(--bg-surface);border:var(--glass-border);border-radius:var(--radius-full);padding:.375rem .75rem;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base)}.skill-tag:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:#ffffff26}.category-ai .category-icon{background:#10b98114;border-color:#10b98126;color:var(--accent-ai)}.category-ai:before{background:linear-gradient(135deg,var(--accent-ai),var(--accent-to))}.category-ai .skill-tag:hover{color:var(--accent-ai);border-color:#10b9814d}@media (min-width: 640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1200px){.skills-grid{grid-template-columns:repeat(3,1fr)}}#contact{padding:var(--section-padding-y) clamp(1rem,4vw,3rem);position:relative}.contact-container{max-width:var(--container-max);margin-inline:auto}.contact-header{text-align:center;margin-bottom:clamp(3rem,6vw,5rem)}.contact-header h2{font-size:clamp(2.5rem,5vw,4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:.75rem}.contact-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:500px;margin-inline:auto}.contact-content{display:grid;grid-template-columns:1fr;gap:2rem}.contact-info{display:grid;grid-template-columns:1fr;gap:1rem}.contact-card{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:1.5rem;transition:transform var(--transition-base),border-color var(--transition-base),box-shadow var(--transition-base);position:relative;overflow:hidden}.contact-card:hover{transform:var(--hover-lift);border-color:#0066cc4d;box-shadow:var(--hover-glow)}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent);opacity:0;transition:opacity var(--transition-base)}.contact-card:hover:before{opacity:.5}.contact-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:#0066cc14;border:1px solid rgba(0,102,204,.15);display:flex;align-items:center;justify-content:center;color:var(--accent-from);margin-bottom:1rem}.contact-card h3{font-size:.9375rem;font-weight:700;color:var(--text-primary);margin-bottom:.375rem}.contact-card p{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.contact-link{display:inline-flex;align-items:center;gap:.4rem;font-size:.875rem;font-weight:500;color:var(--accent-from);text-decoration:none;transition:gap var(--transition-base),color var(--transition-base)}.contact-link:hover{color:var(--accent-to);gap:.6rem}.social-links{display:flex;gap:.625rem;margin-top:.75rem}.social-link{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--bg-surface);border:var(--glass-border);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base),background var(--transition-base),border-color var(--transition-base)}.social-link:hover{color:var(--text-primary);background:var(--bg-surface-hover);border-color:#ffffff26}.contact-form-container{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);padding:clamp(1.5rem,3vw,2.5rem);position:relative;overflow:hidden}.contact-form-container:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent);opacity:.5}.form-header{margin-bottom:1.75rem}.form-header h3{font-size:clamp(1.25rem,3vw,1.625rem);font-weight:700;letter-spacing:-.02em;margin-bottom:.25rem}.form-header p{font-size:.875rem;color:var(--text-secondary)}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{position:relative}.form-input{width:100%;box-sizing:border-box;padding:.875rem 1.125rem;background:#ffffff08;border:1px solid var(--border-subtle);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:.9375rem;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.form-input:focus{outline:none;border-color:var(--accent-from);box-shadow:0 0 0 3px #0066cc1f}.form-input::placeholder{color:var(--text-tertiary)}textarea.form-input{resize:vertical;min-height:120px;font-family:var(--font-sans)}.submit-btn{background:var(--gradient-accent);color:#fff;border:none;padding:.875rem 2rem;border-radius:var(--radius-full);font-family:var(--font-sans);font-size:.9375rem;font-weight:600;cursor:pointer;transition:opacity var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base);letter-spacing:.01em}.submit-btn:hover{opacity:.92;transform:translateY(-2px);box-shadow:0 8px 24px #0066cc59}.success-message{background:#10b9810f;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);padding:1.25rem;text-align:center;color:var(--accent-ai);font-size:.9375rem;font-weight:500;margin-top:1rem;display:none}.success-message.show{display:block;animation:fade-up .4s ease}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (min-width: 900px){.contact-content{grid-template-columns:1fr 1.4fr;gap:3rem;align-items:start}.contact-info{grid-template-columns:1fr 1fr}}
