/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   RESET, TYPOGRAPHY, LAYOUT — billbarger.com
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* Reset */
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; font-size: 16px; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, 'Inter', 'Helvetica Neue', sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
ul { list-style: none; }

::selection {
  background-color: var(--accent);
  color: #fff;
}

/* Layout */
.wrap {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 28px;
}
.wrap-sm {
  max-width: 700px;
  margin: 0 auto;
  padding: 0 28px;
}

section { padding: 100px 0; }

.section-divider {
  max-width: 980px;
  margin: 0 auto;
  height: 1px;
  background: var(--border-subtle);
}

/* Typography helpers */
.eyebrow {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: 14px;
}

.sec-title {
  font-size: clamp(32px, 4.5vw, 52px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--text);
  margin-bottom: 18px;
}

.sec-body {
  font-size: 19px;
  color: var(--text-2);
  line-height: 1.6;
  font-weight: 300;
  max-width: 560px;
}

.sec-header { margin-bottom: 52px; }
.sec-header.center { text-align: center; }
.sec-header.center .sec-body { margin-left: auto; margin-right: auto; }

/* Spacing helpers */
.mt-8  { margin-top: 8px; }
.mt-16 { margin-top: 16px; }
.mt-24 { margin-top: 24px; }
.mt-32 { margin-top: 32px; }
.mt-48 { margin-top: 48px; }

@media (max-width: 768px) {
  section { padding: 72px 0; }
}

@media print {
  body { background-color: white; color: black; }
  nav { display: none; }
}
