/* ---- Self-hosted Oswald -------------------------------------------------
   Oswald, SIL Open Font License 1.1. Variable weight 400-700, latin subset,
   one 21 KB file (replaces the two weights previously pulled from Google).
   font-display:optional = if the font is ready in time it is used on first
   paint; if not, the fallback is kept for the whole page load and the browser
   never swaps mid-render. No swap means no layout shift.                   */
@font-face {
  font-family: "Oswald";
  src: url("oswald-var.woff2") format("woff2");
  font-weight: 400 700;
  font-style: normal;
  font-display: optional;
}

/* Stay informed! — signup form. Palette matches the Stop T5 site. */
:root{
  --navy:#2E2A6B; --navy-dk:#201D4E; --red:#A32B34;
  --band:#EDF1F5; --ink:#14181C; --muted:#56616E;
  --rule:#D6DDE4; --bg:#FFFFFF; --bg-soft:#F7F9FB;
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg-soft);color:var(--ink);
  font:17px/1.62 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
h1,h2,legend,.btn{font-family:"Oswald","Arial Narrow",Impact,sans-serif;font-weight:500;letter-spacing:.01em}

.wrap{max-width:640px;margin:0 auto;padding:26px 20px 60px}
.head{text-align:center;margin-bottom:26px}
.sign{display:block;margin:0 auto 10px}
h1{margin:0 0 8px;font-size:clamp(30px,6vw,44px);text-transform:uppercase;color:var(--navy)}
.lede{margin:0 auto;max-width:44ch;color:var(--muted);font-size:16px}

form{background:var(--bg);border:1px solid var(--rule);border-top:4px solid var(--navy);
  padding:24px 24px 26px;box-shadow:0 1px 3px rgba(20,24,28,.05)}

fieldset{border:0;margin:0 0 22px;padding:0}
legend{padding:0;margin-bottom:10px;font-size:19px;color:var(--navy)}
.lists{background:var(--band);padding:16px 18px;border-left:4px solid var(--navy)}

.check{display:flex;gap:11px;align-items:flex-start;margin:0 0 12px;cursor:pointer}
.check:last-child{margin-bottom:0}
.check input{margin:4px 0 0;width:18px;height:18px;flex:none;accent-color:var(--navy)}
.check span{font-size:15.5px}
.check em{display:block;font-style:normal;color:var(--muted);font-size:14px;margin-top:1px}
.consent{margin:20px 0 22px}

.row{display:flex;gap:14px;flex-wrap:wrap}
.field{margin-bottom:16px;flex:1 1 200px;min-width:0}
.field.grow{flex:3 1 180px}
.field.narrow{flex:0 0 86px}
label{display:block;font-size:14px;font-weight:600;margin-bottom:5px;color:var(--ink)}
.opt{font-weight:400;color:var(--muted)}
.req{color:var(--red)}
input[type=text],input[type=email],input[type=tel]{
  width:100%;padding:11px 12px;font-size:16px;font-family:inherit;color:var(--ink);
  background:#fff;border:1px solid #a9b3bd;border-radius:3px}
input:focus{outline:3px solid rgba(46,42,107,.35);outline-offset:1px;border-color:var(--navy)}

.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.btn{display:block;width:100%;cursor:pointer;background:var(--navy);color:#fff;border:0;
  border-radius:3px;padding:14px 26px;font-size:18px;text-transform:uppercase}
.btn:hover{background:var(--navy-dk)}

.fine{margin:16px 0 0;font-size:13.5px;color:var(--muted);text-align:center}
.back{text-align:center;margin-top:24px;font-size:15px}
a{color:var(--navy)}

/* confirmation / error pages */
.note{background:#fff;border:1px solid var(--rule);border-top:4px solid var(--navy);padding:30px 26px;text-align:center}
.note.bad{border-top-color:var(--red)}
.note h2{margin:0 0 10px;font-size:26px;color:var(--navy)}
.note.bad h2{color:var(--red)}
.note p{margin:0 0 8px;color:var(--muted)}

/* .check is itself a <label>, which is 600 — reset the text inside it */
.check span{font-weight:400}
.check span strong{font-weight:700}
.check em{font-weight:400}
