:root{--navy:#17324d;--teal:#2d7c7a;--pale:#eaf3f2;--light:#f3f5f7;--text:#1e2932;--muted:#5c6873;--border:#d6dbdf}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.48}main{max-width:920px;margin:auto;padding:42px 22px 70px}.hero{text-align:center}.eyebrow{font-weight:700;letter-spacing:.08em;color:var(--teal);font-size:.82rem}.hero h1,.card h1{color:var(--navy);font-size:clamp(2rem,5vw,3.3rem);line-height:1.05;margin:.4rem 0}.hero h2{color:var(--teal);font-size:clamp(1.25rem,3vw,2rem);margin:.8rem 0 1.4rem}.questions{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;background:var(--light);padding:22px 28px;margin:20px 0}.questions p{margin:.45rem 0}.banner{background:var(--navy);color:white;text-align:center;font-weight:700;font-size:1.35rem;padding:20px;margin:30px 0 18px}.promise{text-align:center;background:var(--pale);color:var(--teal);font-weight:700;font-size:1.25rem;padding:16px}.principle{text-align:center;padding:28px 6% 10px}.principle h2{color:var(--navy);font-size:1.8rem}.signup,.card{margin:30px auto 0;max-width:720px;border:1px solid var(--border);padding:28px;background:white}.signup h2{color:var(--navy)}form{display:grid;gap:16px;margin-top:18px}label,legend{font-weight:700;color:var(--navy)}label span,legend span{font-weight:400;color:var(--muted)}input,select,textarea{display:block;width:100%;font:inherit;margin-top:6px;padding:12px;border:1px solid #aeb7bf;border-radius:3px;background:white}textarea{resize:vertical}.check,.radio{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--text)}.check input,.radio input{width:auto;margin:4px 0 0;flex:0 0 auto}fieldset{border:1px solid var(--border);padding:15px;display:grid;gap:10px}button,.buttonlink{display:inline-block;background:var(--teal);color:white;border:0;padding:13px 19px;font-weight:700;font-size:1rem;text-decoration:none;cursor:pointer;border-radius:3px}button:hover,.buttonlink:hover{filter:brightness(.93)}.small{font-size:.84rem;color:var(--muted)}.centred{text-align:center}.warning,.flash.error{background:#fff3cd;padding:12px;color:#664d03}.flash{max-width:720px;margin:0 auto 18px;padding:12px}footer{text-align:center;color:var(--muted);font-size:.8rem;padding:20px;border-top:1px solid var(--border)}@media(max-width:640px){main{padding:28px 16px 50px}.questions{grid-template-columns:1fr;padding:18px}.signup,.card{padding:20px}.banner{font-size:1.15rem}.principle{padding-left:0;padding-right:0}}
