@font-face{font-family:Instrument;src:url('../assets/instrument-sans.ttf') format('truetype');font-display:swap}
:root{font-family:Instrument,Arial,sans-serif;color:#1b1b1b;background:#f7f7f4}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 85% 12%,#e4eee6 0,transparent 37%),#f7f7f4}
.shell{min-height:100vh;display:grid;place-content:center;padding:28px}
.card{width:min(100%,500px);margin:auto;padding:44px 44px 36px;border:1px solid #e1e3dd;border-radius:20px;background:#fff;box-shadow:0 20px 60px #183b2910}
.logo{display:block;width:min(100%,288px);height:auto;margin:0 auto 36px}
.rule{height:1px;background:#e1e3dd;margin-bottom:30px}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:#17734c;font-size:12px;font-weight:700;margin:0 0 12px}
h1{font-size:clamp(31px,5vw,42px);line-height:1.07;letter-spacing:-.045em;margin:0 0 15px}
.intro{font-size:16px;line-height:1.5;color:#626862;margin:0 0 30px}
label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}
input{display:block;width:100%;padding:15px 16px;border:1px solid #cbd3cb;border-radius:10px;background:#fff;color:#1b1b1b;font:inherit;font-size:16px}
input:focus{outline:3px solid #bddac7;outline-offset:2px;border-color:#17734c}
.error{font-size:13px;color:#a04031;margin:11px 0 0}
button{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:16px;padding:15px 18px;border:0;border-radius:10px;background:#17734c;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
button:hover{background:#0e5d3b}
button:focus-visible{outline:3px solid #bddac7;outline-offset:2px}
.help{font-size:13px;color:#838983;margin:22px 0 0;text-align:center}
footer{text-align:center;color:#858b84;font-size:12px;margin-top:28px}
@media(max-width:540px){.card{padding:32px 24px}.shell{padding:16px}.logo{width:240px}}
