/* Spearity Assessment Engine -- brand-conforming, accessible defaults.
   Final brand pass owned by e-design/e-ux; this is a clean, on-brand baseline. */
:root{
  --navy:#1f2a44; --teal:#2bb3a3; --ink:#222; --muted:#5b6472;
  --line:#e3e6ec; --bg:#f7f8fa; --warn:#fff4e5; --warn-line:#f0c27a;
  --target:#2e9e5b; --max:760px;
}
*{box-sizing:border-box}
body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.55}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
header.site{background:var(--navy);color:#fff;padding:14px 0}
header.site .logo{font-weight:800;letter-spacing:.5px;font-size:20px}
header.site .logo-it{color:var(--teal)}
header.site .tag{float:right;color:#c9d2e3;font-size:14px;margin-top:4px}
footer.site{color:var(--muted);font-size:12px;padding:24px 0;text-align:center}
main.wrap{background:#fff;margin-top:18px;margin-bottom:18px;padding:28px 28px 36px;
  border:1px solid var(--line);border-radius:10px}
h1{color:var(--navy);font-size:26px;margin:.2em 0 .1em}
h2{color:var(--navy);font-size:19px;margin-top:1.4em;border-bottom:2px solid var(--teal);
  padding-bottom:4px;display:inline-block}
h3{color:var(--navy);font-size:16px}
.byline{color:var(--muted)}
.note{background:#eef7f6;border-left:4px solid var(--teal);padding:10px 14px;border-radius:6px;font-size:14px}
.warn{background:var(--warn);border-left:4px solid var(--warn-line);padding:10px 14px;border-radius:6px}
table.scores{width:100%;border-collapse:collapse;margin:.6em 0}
table.scores th,table.scores td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
table.scores th{background:#f0f2f6;color:var(--navy);font-size:13px;text-transform:uppercase;letter-spacing:.4px}
ol.details li,ul.bands li{margin:.3em 0}
.fineprint{color:var(--muted);font-size:12px}
.chart{margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:8px;background:#fff}
hr{border:0;border-top:1px solid var(--line);margin:1.6em 0}

/* form surfaces */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;border-radius:0 0 8px 0;z-index:100}
.skip-link:focus{left:0}
.q{margin:18px 0;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#fff}
/* fieldset.q: strip default fieldset chrome so it matches the .q card */
fieldset.q{min-width:0}
fieldset.q legend.prompt{padding:0;margin-bottom:8px}
.q .prompt{font-weight:600;color:var(--navy);margin-bottom:8px}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.scale{display:flex;flex-wrap:wrap;gap:6px}
.scale label{display:inline-flex;flex-direction:column;align-items:center;cursor:pointer;
  border:1px solid var(--line);border-radius:8px;padding:8px 0;width:42px;font-size:14px}
.scale label:hover{border-color:var(--teal)}
.scale input{margin-bottom:4px}
textarea,input[type=text],input[type=email]{width:100%;padding:10px;border:1px solid var(--line);
  border-radius:8px;font:inherit}
button.cta{background:var(--teal);color:#fff;border:0;border-radius:8px;padding:12px 22px;
  font-size:16px;font-weight:600;cursor:pointer}
button.cta:hover{filter:brightness(1.05)}
.progress{height:8px;background:var(--line);border-radius:4px;overflow:hidden;margin:10px 0}
.progress>span{display:block;height:100%;background:var(--teal)}
.pill{display:inline-block;background:#eef7f6;color:var(--navy);border-radius:999px;padding:2px 10px;font-size:12px}
.muted{color:var(--muted)}
a.btn{display:inline-block;text-decoration:none;background:var(--navy);color:#fff;padding:8px 14px;border-radius:8px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.grid{grid-template-columns:1fr}header.site .tag{display:none}}
