:root{--black: #0a0a0a;--white: #fafafa;--gray-50: #f5f5f5;--gray-100: #efefef;--gray-200: #e0e0e0;--gray-300: #c4c4c4;--gray-400: #999;--gray-500: #777;--gray-600: #555;--gray-700: #333;--accent: #2d6a9f;--accent-dim: rgba(45, 106, 159, .08);--accent-dark: #1a4a70;--accent-light: #4a8abf;--deep-blue: #1e4eaa;--teal: #28968c;--coral: #c8564a;--warm-red: #d03828;--teal-dim: rgba(40, 150, 140, .08);--coral-dim: rgba(200, 86, 74, .08);--gradient-wavelet: linear-gradient(135deg, var(--deep-blue), var(--teal), var(--coral));--gradient-wavelet-subtle: linear-gradient(135deg, rgba(30, 78, 170, .15), rgba(40, 150, 140, .15), rgba(200, 86, 74, .15));--font-display: "JetBrains Mono", monospace;--font-body: "DM Sans", sans-serif;--radius: 2px;--transition: .18s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);font-size:16px;line-height:1.7;color:var(--black);background:var(--white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:var(--white)}button,input,textarea,select{font-family:var(--font-body)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;line-height:1.3}h1{font-size:48px}h2{font-size:28px}h3{font-size:18px}.label{font-family:var(--font-display);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--teal)}.mono{font-family:var(--font-display)}.section{padding:5rem 4rem;padding-left:max(5vw,3rem);padding-right:max(5vw,3rem);max-width:1400px;margin:0 auto}.section-header{margin-bottom:3rem}.section-header h2{margin-bottom:.5rem}.section-header .divider{width:40px;height:2px;background:var(--gradient-wavelet);margin-top:.75rem}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.section{padding:3rem 1.5rem}h1{font-size:36px}h2{font-size:22px}}
