:root{
  --blue:#001BFF;
  --white:#FFFFFF;
  --radius:12px;
}

@font-face{
  font-family: 'Hack';
  src: url('../assets/fonts/Hack-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: 'Hack';
  src: url('../assets/fonts/Hack-Italic.ttf') format('truetype');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face{
  font-family: 'Hack';
  src: url('../assets/fonts/Hack-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face{
  font-family: 'Hack';
  src: url('../assets/fonts/Hack-BoldItalic.ttf') format('truetype');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background: linear-gradient(180deg,var(--blue) 0%, #0630ff 100%);
  color:var(--white);
  font-family: 'Hack', system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.skip-link{
  position:absolute;
  left:-999px;
  top:auto;
  width:1px;height:1px;overflow:hidden;
}
.skip-link:focus{left:1rem;top:1rem;width:auto;height:auto;padding:.5rem 1rem;background:var(--white);color:var(--blue);border-radius:6px}

.page{width:100%;max-width:960px;display:flex;flex-direction:column;align-items:center;gap:1rem}

.site-header{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-bottom:8px}
.logo-wrap{height:96px;display:flex;align-items:center;justify-content:center}
.logo-wrap img{max-height:96px;max-width:320px;object-fit:contain}
.title{font-size:36px;margin:6px 0 0;color:var(--white);letter-spacing:.2px}
.tagline{opacity:0.95;margin:0;color:rgba(255,255,255,0.92)}

.links{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin:16px 0}

.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;cursor:pointer}
.btn:focus{outline:3px solid rgba(255,255,255,0.14);outline-offset:3px}

.btn.primary{background:var(--white);color:var(--blue);border:2px solid rgba(255,255,255,0.06)}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,0.16);color:var(--white)}

.meta{margin-top:8px;opacity:0.9}

@media (max-width:640px){
  .title{font-size:26px}
  .logo-wrap{height:84px}
  .btn{padding:10px 14px}
}

/* Ensure keyboard-visible focus for anchors */
a:focus{outline:3px solid rgba(255,255,255,0.14);outline-offset:2px}

