:root{--surface: #131313;--surface-dim: #0e0e0e;--surface-container-lowest: #0e0e0e;--surface-container-low: #1c1b1b;--surface-container: #201f1f;--surface-container-high: #2a2a2a;--surface-container-highest: #353534;--surface-bright: #393939;--primary: #ffffff;--primary-container: #e0e0e0;--white-deep: #a3a3a3;--white-mid: #d4d4d4;--white-bright: #ffffff;--secondary: #f5f5f5;--tertiary: #eeeeee;--on-surface: #ffffff;--on-surface-variant: #a3a3a3;--on-primary: #000000;--outline: #a3a3a3;--outline-variant: rgba(255, 255, 255, .15);--error: #ffb4ab;--container-max: 1280px;--t-fast: .2s ease;--t-medium: .3s ease;--t-slow: .5s ease;--t-slower: .7s ease;--r-sm: .5rem;--r-md: .75rem;--r-lg: 1rem;--r-xl: 1.5rem;--font: "Manrope", sans-serif}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);background-color:var(--surface);color:var(--on-surface);line-height:1.6;overflow-x:hidden}a{text-decoration:none;color:inherit;transition:color var(--t-fast)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}.container{max-width:var(--container-max);margin:0 auto;padding:0 3rem}@media(max-width:768px){.container{padding:0 1.25rem}}.text-gradient-white{background:linear-gradient(90deg,var(--white-deep),var(--white-mid),var(--white-bright));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bg-gradient-white{background:linear-gradient(90deg,var(--white-deep),var(--white-mid),var(--white-bright))}.ghost-border{border:1px solid var(--outline-variant)}.fade-up{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1)}.fade-up.visible{opacity:1;transform:translateY(0)}.fade-up-delay-1{transition-delay:.1s}.fade-up-delay-2{transition-delay:.2s}.fade-up-delay-3{transition-delay:.3s}.fade-up-delay-4{transition-delay:.4s}.fade-up-delay-5{transition-delay:.5s}.fade-up-delay-6{transition-delay:.6s}::selection{background:var(--primary);color:var(--on-primary)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--surface)}::-webkit-scrollbar-thumb{background:var(--surface-container-highest);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.about-tag{display:inline-block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.2rem;color:var(--primary);margin-bottom:.75rem}.section-title{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:.5rem}.section-subtitle{font-size:1.05rem;color:var(--on-surface-variant);max-width:640px;line-height:1.6}.section-header.text-center{max-width:850px;margin:0 auto 5rem;text-align:center;display:flex;flex-direction:column;align-items:center}.section-header.text-center h2,.section-header.text-center span,.section-header.text-center p{text-align:center;width:100%}.projects-cta{position:relative;background-size:cover;background-position:center;background-attachment:fixed;overflow:hidden}.cta-overlay-dark{position:absolute;inset:0;background:#0000008c}.cta-container{position:relative;z-index:2}.cta-box{max-width:900px;margin:0 auto;text-align:center}.cta-box h2{font-size:clamp(2.5rem,6vw,3.8rem);font-weight:900;margin-bottom:1rem;line-height:1.1}.cta-box p{font-size:1.15rem;color:var(--on-surface-variant);max-width:650px;margin:0 auto 3.5rem;line-height:1.7}.cta-actions{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.cta-info-card{display:flex;align-items:center;gap:1.5rem;background:var(--surface-container-low);padding:1.5rem 2.5rem;border-radius:var(--r-xl);border:1px solid rgba(255,255,255,.05);transition:all .3s ease}.cta-info-card:hover{background:var(--surface-container);border-color:var(--primary);transform:translateY(-5px)}.c-icon span{font-size:2rem;color:var(--primary)}.c-text{text-align:left}.c-text span{display:block;font-size:.75rem;color:var(--on-surface-variant);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.c-text strong{font-size:1.25rem;color:#fff;font-weight:800}
