/* Certified Payroll Wizard — theme: federal blue + safety gold.
   Distinctive typography per house rule: Oswald display, Source Sans 3 body. */
:root {
  --cpw-blue: #1b5e9e;
  --cpw-blue-dark: #134672;
  --cpw-gold: #f4b400;
  --cpw-ink: #1c2530;
}
body { font-family: "Source Sans 3", system-ui, sans-serif; color: var(--cpw-ink); }
h1, h2, h3, .navbar-brand { font-family: "Oswald", sans-serif; letter-spacing: .01em; }
h1 { font-weight: 700; }
.cpw-hero { background: linear-gradient(160deg, var(--cpw-blue) 0%, var(--cpw-blue-dark) 85%); color: #fff; padding: 4.5rem 0 4rem; }
.cpw-hero .lead { max-width: 42rem; }
.cpw-hero .badge { background: var(--cpw-gold); color: var(--cpw-ink); font-weight: 600; }
.btn-cpw { background: var(--cpw-gold); border: none; color: var(--cpw-ink); font-weight: 600; padding: .7rem 1.6rem; }
.btn-cpw:hover { background: #ffc824; color: var(--cpw-ink); }
.btn-outline-light:hover { color: var(--cpw-blue-dark); }
.cpw-step-num { font-family: "Oswald", sans-serif; font-size: 2rem; color: var(--cpw-blue); font-weight: 700; }
.cpw-section-alt { background: #f4f7fa; }
.cpw-check li { margin-bottom: .5rem; }
a { color: var(--cpw-blue); }
.cpw-fineprint { font-size: .85rem; color: #5a6675; }
.cpw-guide h2 { margin-top: 2.2rem; color: var(--cpw-blue-dark); }
.cpw-guide table { font-size: .92rem; }
footer a { color: inherit; }
