/* The public welcome page only (deploy/demo/welcome/index.html). Colours match public/assets/app.css. */
html { background: #FFFFFF; color: #16302B; font: 1.0625rem/1.55 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; }
body { margin: 0; min-height: 100vh; display: grid; place-items: center; background: #E8F3EA; }
main { box-sizing: border-box; width: min(100% - 2rem, 34rem); margin: 1rem 0; padding: 2.5rem 2rem 2rem; background: #FFFFFF; border-radius: 1rem; box-shadow: 0 1px 3px rgb(22 48 43 / .12); }
@media (max-width: 30rem) { main { padding: 2rem 1.25rem 1.5rem; } }
.mark { display: block; width: 5.5rem; height: 5.5rem; margin: 0 0 1.25rem; }
h1 { font: 700 2.75rem/1.1 ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif; margin: 0 0 .5rem; }
p { margin: 0 0 1rem; }
.lead { font-size: 1.3rem; color: #4A5E58; margin-bottom: 1.5rem; }
.btn { display: inline-block; margin-top: .5rem; padding: .8rem 1.6rem; border-radius: .6rem; background: #2A7247; color: #FFFFFF;
       font-weight: 600; font-size: 1.1rem; text-decoration: none; min-height: 44px; box-sizing: border-box; }
.btn:hover { background: #1F5C39; }
.btn:focus-visible { outline: 3px solid #16302B; outline-offset: 3px; }
.hint { font-size: .95rem; color: #4A5E58; }
@media (forced-colors: active) { .btn { border: 2px solid ButtonText; } }
