:root { --sp-ink:#06324f; --sp-muted:#607484; --sp-line:#cfe1ea; --sp-paper:#fff; --sp-primary:#03045e; --sp-accent:#3c92c5; --sp-sky:#75bfdf; --sp-bg-top:#e5f6fa; --sp-bg-mid:#f8fbfc; --sp-bg-bottom:#eef5f7; --sp-radius-xl:30px; --sp-shadow:0 18px 50px rgba(8,47,73,.08); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--sp-ink); font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:linear-gradient(180deg,var(--sp-bg-top) 0,var(--sp-bg-mid) 40%,var(--sp-bg-bottom) 100%); }
a { color:inherit; }
img { max-width:100%; height:auto; }
button,input,textarea,select { font:inherit; }
.error-page { min-height:100vh; display:grid; grid-template-rows:1fr auto; }
.error-page__main { width:min(760px,calc(100% - 2rem)); margin:auto; padding:3rem 0; }
.error-page__card { padding:clamp(1.5rem,4vw,3rem); border:1px solid var(--sp-line); border-radius:var(--sp-radius-xl); background:var(--sp-paper); box-shadow:var(--sp-shadow); }
.error-page__code { margin:0 0 .5rem; color:var(--sp-accent); font-size:.9rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; }
.error-page__card h1 { margin:0 0 1rem; font-size:clamp(2rem,7vw,4rem); line-height:1; }
.error-page__card p { max-width:58ch; line-height:1.65; }
.error-page__tagline { color:var(--sp-muted); }
.error-page__actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem; }
.error-page__actions a { display:inline-flex; align-items:center; justify-content:center; min-height:2.75rem; padding:.7rem 1rem; border-radius:999px; color:#fff; background:var(--sp-primary); font-weight:800; text-decoration:none; }
.error-page__footer { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem max(1rem,calc((100% - 760px)/2)); border-top:1px solid var(--sp-line); color:var(--sp-muted); background:var(--sp-paper); }

/* Shared anti-spam field must stay hidden in every public form and theme. */
.serverit-honeypot{display:none!important}
