:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #14253d; background: #f4f7fa; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top right, rgba(0,152,152,.14), transparent 34rem), #f4f7fa; }
main { min-height: 100vh; display: grid; place-items: center; padding: 2rem 1rem; }
.card { width: min(100%, 34rem); padding: clamp(1.5rem, 5vw, 3rem); border-radius: 1.5rem; background: #fff; border-top: .45rem solid #009898; box-shadow: 0 1.5rem 4rem rgba(0,32,80,.13); }
img { display: block; width: min(100%, 25rem); height: auto; margin: 0 auto 2rem; }
.eyebrow { color: #009898; font-size: .75rem; letter-spacing: .16em; font-weight: 800; }
h1 { margin: .4rem 0 .75rem; color: #002050; font-size: clamp(1.8rem, 5vw, 2.5rem); }
p { line-height: 1.6; color: #68778c; }
form { display: grid; gap: 1rem; margin-top: 1.5rem; }
label { display: grid; gap: .45rem; color: #002050; font-weight: 700; }
input { width: 100%; padding: .9rem 1rem; border: 1px solid #cbd7e3; border-radius: .7rem; font: inherit; }
input:focus { outline: 3px solid rgba(0,152,152,.2); border-color: #009898; }
button { padding: .95rem 1.2rem; border: 0; border-radius: .7rem; background: #002050; color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
button:hover { background: #009898; }
button:disabled { cursor: wait; opacity: .65; }
.hint { margin: -.25rem 0 0; font-size: .87rem; }
#message.success { color: #167a50; font-weight: 700; }
#message.error { color: #a72d39; font-weight: 700; }
