/* Fast Five App site stylesheet — the static product pages this app serves
   (public/privacy/, public/terms/, public/child-safety/). Moved here from
   ff.web's assets/site.css (fastfiveproducts/ff.web main @ 4411c23, its
   template.web v1.0 skeleton), its rules unchanged. It lives under pages/,
   never assets/: /assets/ is the build's hashed files, cached immutable for a
   year (template.webapp AGENTS.md -> Key Patterns -> Product pages).
   Per-site knob: --accent. Everything else is fleet-standard.

   Contrast contract (WCAG 1.4.3 AA, 4.5:1 for normal-size text — template.web's):
   every text token is contrast-MEASURED against the background it renders on.
   Measured on #ffffff: --text 12.63 · --body 7.46 · --subtle 5.74 · --faint 4.54.
   --faint #767676 is the floor of the ramp — the last AA-passing grey on white
   (#777777 already fails at 4.48) — and it is WHITE-ONLY: on a tinted band it
   fails. Its consumers here (.effective, footer .copyright) are 13px text on
   white, and no page in this repo sets a background; keep them there.
   Do not lighten --faint, and do not darken --subtle toward --body: the ramp
   steps 34/17/16 are deliberate, and fixing one boundary by collapsing another
   is a trap fastfiveproducts.web has recorded. */

:root {
  --accent: #1a73e8; /* ff blue */
  --text: #333;
  --body: #555;
  --subtle: #666;
  --faint: #767676; /* AA floor on white — do not lighten (see contrast contract above) */
  --rule: #ddd;
}

body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: var(--text);
  margin: 0;
}

main {
  max-width: 720px;
  margin: 0 auto;
  padding: 16px;
}

/* masthead: top wordmark linking home (content pages except home, and 404) */
header {
  max-width: 720px;
  margin: 0 auto;
  padding: 16px 16px 0;
}

header .wordmark {
  font-weight: 600;
  font-size: 15px;
  text-decoration: none;
}

header .wordmark:hover {
  text-decoration: underline;
}

h1 {
  font-size: 28px;
  margin-bottom: 4px;
}

h2 {
  font-size: 20px;
  color: var(--accent);
  margin: 24px 0 8px;
}

a {
  color: var(--accent);
}

hr {
  border: none;
  border-top: 1px solid var(--rule);
  margin: 16px 0;
}

ol,
ul {
  line-height: 1.8;
  padding-left: 20px;
}

/* subtitle line under an h1 */
.tagline {
  color: var(--subtle);
  font-size: 15px;
}

/* effective-date line on legal pages */
.effective {
  color: var(--faint);
  font-size: 13px;
}

/* bold sub-label: FAQ question, policy sub-section */
.subhead {
  font-weight: 600;
  margin: 20px 0 4px;
}

/* muted body copy */
.muted {
  color: var(--body);
}

/* emphasized stand-alone line */
.pull {
  font-style: italic;
  color: var(--subtle);
}

/* centered contact block at the foot of the content */
.contact {
  text-align: center;
}

.contact h2 {
  color: var(--text);
}

.contact .primary {
  font-weight: 600;
}

/* shared site footer: nav + copyright */
footer {
  max-width: 720px;
  margin: 0 auto;
  padding: 0 16px 24px;
  text-align: center;
  font-size: 14px;
}

footer .copyright {
  color: var(--faint);
  font-size: 13px;
  margin-top: 8px;
}
