/* ============================================================ BASE.CSS — Reset + shared layout utilities All colors/fonts come from theme variables, never hardcoded ============================================================ */ *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } html { scroll-behavior: smooth; font-size: 16px; } body { font-family: var(--font-body); background-color: var(--color-bg); color: var(--color-text); line-height: 1.6; transition: background-color 0.4s ease, color 0.4s ease; overflow-x: hidden; } img { max-width: 100%; display: block; } a { color: inherit; text-decoration: none; } ul { list-style: none; } /* ── Shared layout ─────────────────────────────────── */ .container { max-width: 1200px; margin: 0 auto; padding: 0 1.5rem; } /* ── Shared button styles ──────────────────────────── */ .btn { display: inline-flex; align-items: center; gap: 0.5rem; padding: 0.75rem 1.75rem; border-radius: var(--radius-md); font-family: var(--font-body); font-size: 0.95rem; font-weight: 600; cursor: pointer; border: 2px solid transparent; transition: all 0.25s ease; letter-spacing: 0.01em; white-space: nowrap; } .btn-primary { background-color: var(--color-primary); color: var(--color-btn-text); border-color: var(--color-primary); } .btn-primary:hover { background-color: var(--color-primary-hover); border-color: var(--color-primary-hover); transform: translateY(-1px); box-shadow: 0 6px 20px var(--color-shadow); } .btn-outline { background-color: transparent; color: var(--color-primary); border-color: var(--color-primary); } .btn-outline:hover { background-color: var(--color-primary); color: var(--color-btn-text); transform: translateY(-1px); } /* ── Shared section spacing ────────────────────────── */ .section { padding: 5rem 0; } .section-alt { background-color: var(--color-surface); } /* ── Shared typography ─────────────────────────────── */ .section-label { display: inline-block; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--color-primary); margin-bottom: 0.75rem; } .section-title { font-family: var(--font-heading); font-size: clamp(2rem, 4vw, 3rem); font-weight: 800; line-height: 1.15; color: var(--color-heading); margin-bottom: 1rem; } .section-subtitle { font-size: 1.1rem; color: var(--color-text-muted); max-width: 560px; line-height: 1.7; } /* ── Divider ───────────────────────────────────────── */ hr.divider { border: none; border-top: 1px solid var(--color-border); margin: 0; }