:root { color-scheme: light; color: #171a17; background: #f7f8f5; font-family: system-ui, sans-serif; }
body { margin: 0; }
main { box-sizing: border-box; max-width: 35rem; margin: clamp(2rem, 10vh, 6rem) auto; padding: 0 1.5rem 2rem; }
.brand { display: inline-flex; align-items: center; gap: .625rem; font-size: 1.375rem; font-weight: 750; text-decoration: none; }
h1 { margin: 2rem 0 .5rem; font-size: clamp(2rem, 7vw, 2.75rem); line-height: 1.12; letter-spacing: -.045em; }
h2 { margin: 0 0 .5rem; }
p { line-height: 1.55; color: #505a52; }
a { color: #1e543a; text-underline-offset: .2em; }
.brand { color: inherit; }
form { display: grid; gap: .75rem; margin-top: 1.5rem; }
label { font-weight: 650; }
input, button { box-sizing: border-box; width: 100%; min-height: 3rem; border-radius: .625rem; padding: .65rem .85rem; font: inherit; }
input { border: 1px solid #929e94; background: #fff; color: inherit; }
button { border: 0; background: #c9fa32; color: #141915; cursor: pointer; font-weight: 750; }
button:disabled { opacity: .62; cursor: default; }
:focus-visible { outline: 2px solid #28643c; outline-offset: 3px; }
[role="alert"] { color: #9c2525; margin: 0; }
[role="status"] { margin-top: 1.5rem; }
[hidden] { display: none !important; }
.back { margin-top: 1.25rem; }
footer { border-top: 1px solid #d8ddd6; margin-top: 2rem; padding-top: .5rem; font-size: .875rem; }
nav { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
nav [aria-current] { font-weight: 700; }
