/* Pages link fonts.css (self-hosted Prompt) and transitions.css before this file. */

:root {
    color-scheme: light;
    font-family: "Prompt", "Leelawadee UI", Tahoma, Arial, sans-serif;
    color: #172b3a;
    background: #f2f6f8;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
}

html { scroll-behavior: smooth; }

* { box-sizing: border-box; }

body {
    min-height: 100vh;
    margin: 0;
    background: #f2f6f8;
}

h1, h2, p { margin-top: 0; }
h1 { margin-bottom: .35rem; font-size: 1.65rem; }
h2 { font-size: 1.4rem; }
.eyebrow { margin-bottom: .35rem; color: #176b72; font-size: .76rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.muted { color: #5f6f7a; }

.button {
    min-height: 2.75rem;
    padding: .65rem 1rem;
    border: 1px solid transparent;
    border-radius: .45rem;
    font: inherit;
    font-weight: 650;
    cursor: pointer;
    transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, color .18s ease, transform .18s ease;
}
.button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 .25rem .7rem rgb(20 35 60 / 12%); }
.button:active:not(:disabled) { transform: translateY(0) scale(.985); }
.button:focus-visible, input:focus-visible { outline: 3px solid #7cc8c8; outline-offset: 2px; }
.button-primary { width: 100%; margin-top: .4rem; color: #fff; background: #176b72; }
.button-primary:hover { background: #10575e; }
.button-secondary { color: #17434a; background: #fff; border-color: #cbd8dc; }
.button-secondary:hover { background: #edf5f5; }

.notice { padding: .8rem .9rem; border-radius: .4rem; }
.notice-error { color: #8b1e2d; background: #fff0f1; border: 1px solid #f1c6cb; }

/* End on "transform: none" and use fill-mode "backwards" (not "both"), so no transform
   lingers on the content after the animation: a leftover transform would make it the
   containing block for position: fixed children and break overlays. */
@keyframes crm-content-enter { from { opacity: 0; transform: translateY(.65rem); } to { opacity: 1; transform: none; } }

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
    }
}
