:root{font-family:Inter,"Segoe UI",sans-serif;color:#182d27;background:#f3f5ef;line-height:1.5}
*{box-sizing:border-box}
body{margin:0}
main{max-width:42rem;margin:3.5rem auto;padding:0 1.25rem 4rem}
header{border-bottom:1px solid #cdd6ca;margin-bottom:1.25rem;padding-bottom:1rem}
.brand{margin:0;color:#28644a;font-weight:750;font-size:1.25rem}
h1{font-size:clamp(2rem,6vw,3rem);line-height:1.12;letter-spacing:-.05em;margin:.4rem 0}
form{border:1px solid #cdd6ca;border-radius:1rem;background:white;padding:clamp(1rem,5vw,2rem)}
label{display:block;font-weight:650;margin:0 0 1rem}
input,select,textarea,button{font:inherit}
input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:.65rem .75rem;margin-top:.35rem;border:1px solid #a6b8ac;border-radius:.45rem;background:#fbfcfa;color:inherit}
textarea{resize:vertical}
.hint{font-size:.9rem;color:#476056;margin-top:-.55rem}
.check{display:flex;align-items:start;gap:.65rem;font-size:.95rem;font-weight:500}
.check input{margin-top:.35rem;accent-color:#20583e}
button{background:#20583e;color:white;border:0;border-radius:.45rem;padding:.7rem 1.25rem;font-weight:700;cursor:pointer}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid #589870;outline-offset:2px}
