:root{--bg: #f4f7fb;--bg-section: #ffffff;--bg-card: #ffffff;--bg-card-hover: #f0f4fa;--border: rgba(15, 35, 80, .1);--border-hover: rgba(15, 35, 80, .25);--bg-dark: #0a1628;--bg-dark-card: rgba(255, 255, 255, .06);--cyan: #00a5d4;--blue: #1e6fff;--purple: #7c3aed;--green: #00c98b;--yellow: #ffd166;--text-primary: #1a2740;--text-secondary: #4a6382;--text-muted: #8a9bb5;--text-light: #e0eeff;--text-light-sec: #7fa8d4;--text-light-mut: #3a5878;--nav-h: 96px;--nav-h-scrolled: 64px;--radius: 14px;--radius-sm: 8px;--transition: .3s cubic-bezier(.4, 0, .2, 1);--light-card: rgba(255, 255, 255, .8);--skill-background-dotnet: rgba(124, 58, 237, .1);--skill-foreground-dotnet: var(--purple);--skill-background-devops: rgba(30, 111, 255, .1);--skill-foreground-devops: var(--blue);--skill-background-cloud: rgba(0, 180, 230, .1);--skill-foreground-cloud: var(--cyan);--skill-background-ai: rgba(0, 196, 140, .1);--skill-foreground-ai: var(--green)}@font-face{font-family:Cube;src:url(../../../fonts/Cube.ttf) format("truetype");font-weight:400;font-style:normal}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-x:hidden}body{background-color:var(--bg);color:var(--text-primary);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.65;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}ul{list-style:none}img,svg{display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--blue);border-radius:3px}.section{padding:clamp(5rem,10vw,7rem) 0;position:relative}.section--light{background-color:var(--bg);color:var(--text-primary)}.section--white{background-color:var(--bg-section);color:var(--text-primary)}.container{max-width:1100px;margin:0 auto;padding:0 clamp(1.5rem,5vw,3rem)}.section__title{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800;text-align:center;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-primary) 60%,var(--blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section__subtitle{text-align:center;color:var(--text-secondary);margin-bottom:3.5rem;font-size:1.05rem}.fade-in{animation:fadeInUp .9s ease both}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
