/* UI Kit — extras on top of /colors_and_type.css */

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--fg); font-family: var(--font-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

a { color: inherit; text-decoration: none; }
button { font: inherit; cursor: pointer; }

/* Container */
.container { max-width: 1200px; margin: 0 auto; padding: 0 32px; }

/* Section vertical rhythm */
.section { padding: 96px 0; }
.section--tight { padding: 64px 0; }
.section--dark { background: var(--neutral-900); color: var(--neutral-100); }
.section--brand { background: var(--green-500); color: #fff; }
.section--paper { background: var(--neutral-50); }

/* Eyebrow */
.eyebrow { font: 600 12px/1 var(--font-body); letter-spacing: 0.1em; text-transform: uppercase; color: var(--green-600); display: inline-flex; align-items: center; gap: 8px; }
.eyebrow::before { content: ""; width: 18px; height: 2px; background: var(--green-500); display: inline-block; }
.section--dark .eyebrow { color: var(--green-400); }
.section--dark .eyebrow::before { background: var(--green-400); }

/* Headings — defaults */
h1.display { font: 800 88px/0.95 var(--font-display); text-transform: uppercase; letter-spacing: -0.015em; margin: 0; color: var(--fg); }
h1 { font: 700 56px/1 var(--font-display); text-transform: uppercase; letter-spacing: -0.01em; margin: 0; color: var(--fg); }
h2 { font: 700 40px/1.05 var(--font-display); text-transform: uppercase; margin: 0; color: var(--fg); }
h3 { font: 600 22px/1.2 var(--font-display); text-transform: uppercase; margin: 0; color: var(--fg); }
.section--dark h1, .section--dark h2, .section--dark h3 { color: #fff; }
.section--brand h1, .section--brand h2, .section--brand h3 { color: #fff; }

p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--fg); }
p.lead { font-size: 18px; line-height: 1.55; color: var(--fg-muted); }
.section--dark p { color: var(--neutral-200); }

/* Buttons */
.btn { display: inline-flex; align-items: center; gap: 8px; font: 700 14px/1 var(--font-display); text-transform: uppercase; letter-spacing: 0.04em; padding: 14px 22px; border-radius: 4px; border: 0; white-space: nowrap; transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out); }
.btn > span { white-space: nowrap; }
.btn--primary { background: var(--green-500); color: #fff; }
.btn--primary:hover { background: var(--green-600); }
.btn--secondary { background: transparent; color: var(--fg); border: 1px solid var(--border-strong); }
.btn--secondary:hover { border-color: var(--fg); }
.btn--secondary.on-dark { color: #fff; border-color: rgba(255,255,255,0.4); }
.btn--secondary.on-dark:hover { border-color: #fff; background: rgba(255,255,255,0.06); }
.btn--ghost { background: transparent; color: var(--fg-brand); padding: 14px 0; }
.btn--ghost:hover { color: var(--green-700); }
.btn--signal { background: var(--signal-orange); color: #fff; }
.btn--signal:hover { background: #d24f20; }
.btn--lg { padding: 18px 28px; font-size: 16px; }
.btn .lucide { width: 18px; height: 18px; stroke-width: 2; }
