:root{color-scheme:light;--ink:#142d38;--accent:#066c70;--line:#d5dfe0;--muted:#5d7078}
*{box-sizing:border-box}
body{margin:0;background:#f1f4f2;color:var(--ink);font:16px/1.55 system-ui,-apple-system,sans-serif}
header{display:flex;gap:24px;align-items:center;padding:22px 5%;background:#102d38;color:#fff}
.brand{font-weight:800;letter-spacing:2px}.brand span{font-weight:400;letter-spacing:0;margin-left:14px}
.badge{font-size:11px;letter-spacing:1px;border:1px solid #689397;padding:5px 10px}
.safety{padding:10px 5%;background:#faedc9;color:#705d31;font-size:13px}.safety strong{font-size:11px;letter-spacing:1px;margin-right:8px}
.signin{max-width:690px;margin:55px auto;padding:0 20px}
.card{background:#fff;border:1px solid var(--line);border-radius:9px;padding:38px;box-shadow:0 8px 30px #102d3810}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.5px;color:var(--accent)}
h1{font-size:34px;line-height:1.2;margin:.25em 0}h2{font-size:21px;margin-top:1.7em}h3{font-size:16px;margin-top:1.6em}
p,li{color:#344f59}
aside{background:#fff8e8;border-left:4px solid #b47b25;padding:14px 17px;margin:24px 0;font-size:14px}
form{border-top:1px solid var(--line);padding-top:22px;margin-top:26px}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px}.check input{width:19px;height:19px;margin-top:3px;flex:none;accent-color:var(--accent)}
a{color:#056b70;text-underline-offset:2px}
button{display:block;width:100%;margin-top:20px;background:var(--accent);color:#fff;border:0;border-radius:5px;padding:13px 18px;font:inherit;font-weight:650;cursor:pointer}
.error{display:none;color:#9b3d31;font-size:13px}.error.visible{display:block}
.meta{font-size:12px;color:var(--muted);margin-top:22px}
footer{padding:30px 5%;text-align:center;font-size:12px;color:var(--muted)}
.terms{max-width:900px;margin:36px auto;padding:0 20px}.terms .card{padding:42px 50px}.terms .lead{font-size:18px}.terms ul{padding-left:22px}
.legal-note{border:1px solid #d7c28e;background:#fff9e9;padding:14px 17px;border-radius:5px}
.terms-nav{display:flex;justify-content:space-between;gap:15px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:28px}
@media(max-width:600px){header{flex-wrap:wrap}.signin{margin:28px auto}.card,.terms .card{padding:25px 21px}h1{font-size:28px}.terms-nav{align-items:flex-start;flex-direction:column}}
