:root { color-scheme: light; font-family: Manrope, Arial, sans-serif; background: #f2f5f2; color: #153d35; }
* { box-sizing: border-box; }
body { min-height: 100vh; margin: 0; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #e0e9e3 0, transparent 38%), #f2f5f2; }
main { width: min(100%, 540px); padding: 48px; border: 1px solid #d6e0da; border-radius: 28px; background: #fff; box-shadow: 0 20px 60px rgb(15 53 45 / 12%); }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; font-size: 28px; letter-spacing: -.04em; }
.mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 14px; background: #cf6327; color: #fff; font-size: 24px; font-weight: 800; }
.brand span { color: #cf6327; }
.eyebrow { margin: 60px 0 12px; color: #cf6327; font-size: 12px; font-weight: 800; letter-spacing: .16em; }
h1 { margin: 0; font-family: Newsreader, Georgia, serif; font-size: clamp(44px, 8vw, 64px); line-height: .97; letter-spacing: -.045em; }
p { color: #5d706b; line-height: 1.65; }
label { display: block; margin-top: 30px; font-size: 14px; font-weight: 800; }
input { width: 100%; margin-top: 8px; padding: 17px; border: 2px solid #b9cbc1; border-radius: 13px; font: inherit; font-size: 20px; letter-spacing: .12em; color: #153d35; outline: none; }
input:focus { border-color: #cf6327; box-shadow: 0 0 0 4px rgb(207 99 39 / 14%); }
button { width: 100%; margin-top: 16px; padding: 17px; border: 0; border-radius: 13px; background: #cf6327; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #b9531d; }
button:disabled { opacity: .65; cursor: wait; }
#status { min-height: 24px; margin: 14px 0 0; color: #a23f19; font-size: 14px; font-weight: 700; }
.note { margin: 24px 0 0; font-size: 13px; }
@media (max-width: 560px) { main { padding: 32px 24px; border-radius: 22px; } .eyebrow { margin-top: 44px; } }
