:root {
  --black: #000000;
  --white: #ffffff;
  --blue: #1d5cff;
  --grey-dark: #111111;
  --grey-mid: #666666;
  --grey-light: #f4f4f5;
  --grey-border: #e4e4e7;
  --red: #ef4444;
  --green: #10b981;
  
  --font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--black); background: var(--white); font-family: var(--font-sans); line-height: 1.6; -webkit-font-smoothing: antialiased; }
img, svg, canvas { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
a { color: inherit; text-decoration: none; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); font-weight: 800; letter-spacing: -0.03em; }
h1 { font-size: clamp(42px, 5vw, 68px); line-height: 1.05; margin-bottom: 24px; }
h2 { font-size: clamp(32px, 4vw, 48px); line-height: 1.1; margin-bottom: 20px; }
h3 { font-size: 20px; line-height: 1.3; margin-bottom: 12px; }
p { font-size: 16px; color: var(--grey-mid); margin-bottom: 20px; }

.container { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.8s cubic-bezier(0.2, 0.8, 0.2, 1), transform 0.8s cubic-bezier(0.2, 0.8, 0.2, 1); }
.reveal.visible { opacity: 1; transform: none; }