:root { --fg:#1a1a1a; --muted:#4a4a4a; --bg:#f6f7f9; --card:#fff; --accent:#0b5cad; --border:#c9ced6;
  --remove:#a4161a; --remove-bg:#fde8e8; --check:#7a4a00; --check-bg:#fff3d6; --allowed:#1d5c2e; --allowed-bg:#e3f4e7; --ok:#24496e; --ok-bg:#e4eef8; }
* { box-sizing: border-box; }
body { margin:0; font: 16px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color:var(--fg); background:var(--bg); }
.skip { position:absolute; left:-9999px; } .skip:focus { left:8px; top:8px; background:#fff; padding:8px; z-index:10; }
.site-header { background:#0d2a4a; color:#fff; padding:20px 16px; }
.site-header h1 { margin:0 0 4px; font-size:1.7rem; } .eyebrow { margin:0 0 2px; font-weight:700; font-size:.95rem; letter-spacing:.02em; } .tagline { margin:0; max-width:60ch; }
main { max-width:960px; margin:0 auto; padding:16px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:10px; padding:16px; margin:16px 0; }
h2 { margin-top:0; font-size:1.25rem; }
.disclaimer { background:#fff8e1; border-left:4px solid #b26a00; padding:8px 12px; margin:8px 0; }
.dropzone { border:2px dashed var(--border); border-radius:10px; padding:16px; text-align:center; }
.dropzone.drag { border-color:var(--accent); background:#eef5fd; }
.drop-label { display:block; font-weight:600; margin-bottom:8px; }
.dropzone input[type=file] { max-width:100%; padding:8px; border:1px solid var(--border); border-radius:6px; background:#fff; }
.help, .small { color:var(--muted); font-size:.9rem; }
.block-label { display:block; font-weight:600; margin:16px 0 6px; }
textarea { width:100%; font:inherit; padding:8px; border:1px solid #8a919c; border-radius:6px; }
.actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
button { font:inherit; padding:10px 16px; border-radius:6px; border:1px solid #5b6470; background:#fff; color:var(--fg); cursor:pointer; min-height:44px; }
button.primary { background:var(--accent); color:#fff; border-color:var(--accent); font-weight:600; }
button:disabled { opacity:.6; cursor:not-allowed; }
:focus-visible { outline:3px solid #ff9f1c; outline-offset:2px; }
input:focus, textarea:focus, button:focus, a:focus, [tabindex]:focus { outline:3px solid #ff9f1c; outline-offset:2px; }
.status { font-weight:600; margin:12px 0 4px; } progress { width:100%; }
.file-list { list-style:none; padding:0; margin:8px 0 0; } .file-list li { padding:4px 0; border-bottom:1px solid #eee; font-size:.95rem; }
.results-head { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.results-head .actions { margin-top:0; }
.file-group { margin:16px 0; } .file-group h3 { font-size:1.05rem; margin:0 0 8px; word-break:break-word; }
.finding { border:1px solid var(--border); border-left-width:6px; border-radius:8px; padding:10px 12px; margin:8px 0; }
.finding.Remove { border-left-color:var(--remove); } .finding.Check { border-left-color:#c98a00; }
.finding.Allowed { border-left-color:var(--allowed); } .finding.OK { border-left-color:var(--ok); }
.finding .meta { font-size:.85rem; color:var(--muted); }
.finding blockquote { margin:6px 0; padding:6px 8px; background:#f3f4f6; border-radius:4px; font-family: ui-monospace, Menlo, Consolas, monospace; font-size:.92rem; word-break:break-word; }
mark { background:#ffe066; color:#000; padding:0 2px; border-radius:2px; }
.badge { display:inline-block; font-weight:700; font-size:.875rem; padding:2px 8px; border-radius:999px; }
.badge.Remove { color:var(--remove); background:var(--remove-bg); } .badge.Check { color:var(--check); background:var(--check-bg); }
.badge.Allowed { color:var(--allowed); background:var(--allowed-bg); } .badge.OK { color:var(--ok); background:var(--ok-bg); }
.warn { color:var(--remove); font-weight:600; }
.legend { font-size:.85rem; color:var(--muted); margin-bottom:8px; }
.checklist li { margin:6px 0; }
.summary { font-weight:600; }
.print-only { display:none; }
@media (max-width:600px) { .site-header h1 { font-size:1.4rem; } main { padding:8px; } .card { padding:12px; } button { flex:1 1 auto; } }
.tip { margin:18px 0 0; font-size:.9rem; color:#555; }
.tip a { color:#555; }
.tip a:hover { color:#1a1a1a; }
.kit-callout { margin:4px 0 16px; font-size:.9rem; text-align:center; }
/* Bottom kit link: a quiet outline button (44px tap target), not the main call to action. */
.kit-callout-btn { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; padding:8px 16px;
  border:2px solid #084a8c; border-radius:8px; background:#fff; color:#084a8c; font-weight:600; text-decoration:none; }
.kit-callout-btn:hover { background:#eef5fd; text-decoration:underline; }
.kit-callout-btn:focus, .kit-callout-btn:focus-visible { outline:3px solid #1a1a1a; outline-offset:3px; }
/* Price Reset Kit promo near the top of the home page, visible before any check (hidden in print). */
.kit-promo { margin:12px 0 16px; padding:14px 16px; border:2px solid #084a8c; border-radius:10px; background:#eef5fd; color:var(--fg); }
.kit-promo-h { margin:0 0 6px; font-size:1.15rem; line-height:1.3; color:#0d2a4a; }
.kit-promo-sub { margin:0 0 6px; color:#333; }
.kit-promo-price { margin:0 0 12px; color:#1a1a1a; }
.kit-promo-price strong { font-size:1.15rem; }
@media (max-width: 600px) { .kit-promo { margin:8px 0 12px; padding:12px; } .kit-promo-h { font-size:1.05rem; } .kit-promo-sub { font-size:.95rem; } .kit-promo-btn { display:flex; width:100%; } }
.kit-cta { margin:20px 0 4px; padding:16px; border:2px solid #084a8c; border-radius:10px; background:#eef5fd; color:var(--fg); }
.kit-cta-text { margin:0 0 4px; font-size:1.05rem; font-weight:700; }
.kit-cta-sub { margin:0 0 12px; color:#333; }
.kit-cta-btn { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:48px; padding:12px 22px;
  font-size:1rem; font-weight:700; line-height:1.25; text-align:center; text-decoration:none; color:#fff; background:#084a8c;
  border:2px solid #084a8c; border-radius:8px; }
.kit-cta-btn:hover { background:#063a6e; border-color:#063a6e; text-decoration:underline; }
.kit-cta-btn:active { background:#042a50; border-color:#042a50; transform:translateY(1px); }
.kit-cta-btn:focus, .kit-cta-btn:focus-visible { outline:3px solid #1a1a1a; outline-offset:3px; }
@media (max-width: 600px) { .kit-cta-btn { display:flex; width:100%; } }
@media print {
  .tip, #tip, .kit-callout, #kit-callout, .kit-cta, #kit-cta, .kit-promo, #kit-promo { display:none !important; }
  body { background:#fff; font-size:11pt; } .no-print, .skip, .site-header .tagline { display:none !important; }
  .site-header { background:none; color:#000; padding:0; } .card { border:none; padding:0; margin:12px 0; }
  #results-section[hidden] { display:block !important; }
  .finding { break-inside:avoid; } a[href^="http"]::after { content:" (" attr(href) ")"; font-size:9pt; }
  .print-only { display:block; border-top:1px solid #000; margin-top:16px; padding-top:8px; }
  mark { background:none; text-decoration:underline; font-weight:700; }
}
/* ---------- Friendlier look (screen only, so the printed report keeps its layout) ---------- */
/* Calm teal accent for the friendly bits (sample, how it works, all clear). Kit buttons stay blue. System fonts only. */
:root { --calm:#0f766e; --calm-dark:#115e59; --calm-darker:#134e4a; --calm-bg:#e6f4f1; }
.try-row[hidden], .sample-note[hidden], .moment[hidden], .moment-sample[hidden] { display:none !important; }
@media screen {
  body { line-height:1.55; }
  .site-header { padding:28px max(16px, calc((100% - 928px) / 2)) 26px; }
  .site-header h1 { font-size:2.05rem; line-height:1.18; letter-spacing:-.01em; margin:2px 0 10px; max-width:26ch; }
  .site-header .tagline { font-size:1.05rem; color:#e3ecf5; max-width:62ch; }
  .eyebrow { color:#bfe3dc; text-transform:uppercase; font-size:.85rem; letter-spacing:.08em; }
  .card { border-radius:12px; padding:20px; margin:20px 0; box-shadow:0 1px 2px rgba(13,42,74,.06), 0 4px 14px rgba(13,42,74,.04); }
  h2 { font-size:1.3rem; line-height:1.3; letter-spacing:-.005em; }
  button { transition:background-color .15s ease, border-color .15s ease, box-shadow .15s ease, transform .1s ease; }
  button:hover:not(:disabled) { background:#eef2f6; border-color:#3f4853; }
  button:active:not(:disabled) { transform:translateY(1px); background:#e2e8ef; }
  button.primary:hover:not(:disabled) { background:#094d92; border-color:#094d92; }
  button.primary:active:not(:disabled) { background:#073d75; border-color:#073d75; }
  .kit-callout-btn:active { background:#dcebfa; transform:translateY(1px); }
  .dropzone { border-radius:12px; background:#fbfcfd; }
  .dropzone input[type=file] { min-height:44px; }
  .tip a { display:inline-flex; align-items:center; min-height:44px; }
  .checklist { padding-left:0; list-style:none; }
  .checklist li { margin:2px 0; }
  .checklist label { display:flex; gap:10px; align-items:flex-start; min-height:44px; padding:10px 4px; cursor:pointer; border-radius:8px; }
  .checklist label:hover { background:#f2f5f8; }
  .checklist input[type=checkbox] { width:20px; height:20px; margin:2px 0 0; flex:none; accent-color:var(--calm); }

  /* "Try it in 5 seconds" in the header */
  .try-row { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin:18px 0 0; }
  .try-btn { min-height:48px; padding:12px 24px; border:2px solid #fff; border-radius:999px; background:#fff; color:var(--calm-darker); font-weight:700; font-size:1.05rem; }
  .try-btn:hover:not(:disabled) { background:var(--calm-bg); border-color:var(--calm-bg); }
  .try-btn:active:not(:disabled) { background:#cbe9e3; border-color:#cbe9e3; }
  .try-btn:focus, .try-btn:focus-visible { outline:3px solid #ff9f1c; outline-offset:3px; }
  .try-hint { color:#d6e2ee; font-size:.95rem; }

  /* sample label in the checker and in the results */
  .sample-note { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; margin:10px 0 0; padding:10px 12px; border-left:4px solid var(--calm); border-radius:8px; background:var(--calm-bg); }
  .sample-note p { margin:0; flex:1 1 260px; color:#0b3d38; }
  .sample-tag { display:inline-block; margin-right:4px; padding:2px 10px; border-radius:999px; background:var(--calm-darker); color:#fff; font-weight:700; font-size:.85rem; }

  /* results moment */
  .moment { display:flex; align-items:center; gap:14px; margin:14px 0 10px; padding:14px 16px; border-radius:12px; border:1px solid; animation:moment-pop .4s cubic-bezier(.2,.8,.3,1.2) both; }
  .moment-icon { display:none; flex:none; }
  .moment-found .moment-icon-found, .moment-partial .moment-icon-found, .moment-clear .moment-icon-clear { display:block; }
  .moment-found { background:#fff3d6; border-color:#e0b24a; color:#5c3700; } .moment-found .moment-icon { color:#a35f00; }
  .moment-partial { background:#eef1f5; border-color:#b9c1cc; color:#1a1a1a; } .moment-partial .moment-icon { color:#4a5563; }
  .moment-clear { background:var(--calm-bg); border-color:#8fcbbf; color:#0b3d38; } .moment-clear .moment-icon { color:var(--calm); }
  .moment-title { margin:0; font-size:1.4rem; font-weight:800; line-height:1.25; }
  .moment-sub { margin:2px 0 0; }
  .moment-sample { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:8px; }
  .moment-sample button { background:#fff; }
  .finding { animation:finding-in .35s ease-out both; }
  @keyframes moment-pop { from { opacity:0; transform:translateY(8px) scale(.97); } to { opacity:1; transform:none; } }
  @keyframes finding-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
  .kit-cta-h { margin:0 0 4px; font-size:1.25rem; font-weight:800; color:#0d2a4a; }

  /* how it works */
  .steps { list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:12px; counter-reset:step; }
  .step { display:flex; gap:12px; align-items:flex-start; padding:14px; border-radius:12px; background:#f3f7f9; counter-increment:step; }
  .step-icon { flex:none; width:48px; height:48px; padding:6px; border-radius:50%; background:var(--calm-bg); color:var(--calm); }
  .step h3 { margin:2px 0 2px; font-size:1.05rem; }
  .step h3::before { content:counter(step) ". "; color:var(--calm-darker); }
  .step p { margin:0; color:#3d3d3d; }

  /* before and after */
  .ba-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin-bottom:12px; }
  .ba-card { border:1px solid var(--border); border-radius:12px; padding:14px; background:#fff; transition:box-shadow .15s ease, transform .15s ease; }
  .ba-card:hover { box-shadow:0 4px 14px rgba(13,42,74,.08); }
  .ba-label { margin:0 0 4px; font-size:.8rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
  .ba-label-old { color:#a4161a; } .ba-label-new { color:var(--calm-darker); }
  .ba-line { margin:0 0 12px; padding:8px 12px; border-radius:8px; font-size:1.05rem; word-break:break-word; }
  .ba-old { background:#fde8e8; color:#7a1114; text-decoration:line-through; text-decoration-thickness:1px; }
  .ba-new { background:var(--calm-bg); color:#0b3d38; font-weight:600; }
  .ba-why { margin:0; font-size:.95rem; color:var(--muted); }
}
@media screen and (max-width:600px) {
  .site-header { padding:20px 16px 20px; }
  .site-header h1 { font-size:1.55rem; margin-bottom:8px; }
  .site-header .tagline { font-size:1rem; }
  .try-row { margin-top:14px; }
  .try-btn { flex:1 1 100%; }
  .card { padding:14px; margin:14px 0; }
  .steps, .ba-grid { grid-template-columns:1fr; }
  .moment-title { font-size:1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  button:active:not(:disabled), .try-btn:active:not(:disabled), .kit-cta-btn:active, .kit-callout-btn:active { transform:none; }
}
/* Home footer: a quiet text link to the clean-up guide (44px tap target, hidden in print). */
.site-footer { max-width:960px; margin:0 auto; padding:0 16px 20px; text-align:center; font-size:.9rem; }
.footer-link { display:inline-flex; align-items:center; min-height:44px; padding:0 8px; color:#4a4a4a; }
.footer-link:hover { color:#1a1a1a; }
