:root { --red:#b5091e; --red-dark:#8c0717; --ink:#1d1d1f; --muted:#5f5f66; }
* { box-sizing:border-box; margin:0; }
html,body { height:100%; }
body {
  font-family:"Montserrat",system-ui,sans-serif; color:var(--ink); background:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  min-height:100vh; min-height:100dvh; padding:32px 16px; text-align:center;
}
main { max-width:640px; width:100%; }
.logo { width:min(420px,100%); height:auto; display:block; margin:0 auto 48px; }
.tag {
  display:inline-block; font-size:.75rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase; color:var(--red); border:1px solid var(--red);
  padding:6px 14px; border-radius:999px; margin-bottom:20px;
}
h1 { font-size:clamp(1.75rem,5vw,2.6rem); font-weight:700; line-height:1.15; margin-bottom:16px; }
p { font-size:1.05rem; line-height:1.6; color:var(--muted); margin:0 auto 36px; max-width:34em; }
.btn {
  display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff;
  font-weight:600; font-size:1rem; text-decoration:none; padding:16px 32px; border-radius:999px;
  box-shadow:0 8px 24px rgba(181,9,30,.25); transition:background .2s, transform .2s;
}
.btn:hover { background:var(--red-dark); transform:translateY(-2px); }
.btn:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
.btn svg { width:22px; height:22px; fill:currentColor; flex:none; }
footer { margin-top:56px; font-size:.8rem; color:var(--muted); }
@media (prefers-reduced-motion:reduce) { .btn { transition:none; } .btn:hover { transform:none; } }
