/* IBM Plex Sans Light - for body text */
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/ibm-plex-sans-v23-latin-300.woff2') format('woff2');
}

/* IBM Plex Sans Regular - for H1 */
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/ibm-plex-sans-v23-latin-regular.woff2') format('woff2');
}

/* IBM Plex Sans Medium - for H2, Footer, Dividers */
@font-face {
  font-display: swap;
  font-family: 'IBM Plex Sans';
  font-style: normal;
  font-weight: 500;
  src: url('../fonts/ibm-plex-sans-v23-latin-500.woff2') format('woff2');
}

:root {
  --bg: #ffffff;
  --ink: #0F1530; /* deep navy from your palette */
}

html, body {
  height: 100%;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
}

body {
  font-family: 'IBM Plex Sans', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  font-weight: 300; /* Light for body text */
  font-size: 10.5pt; /* Per your guidelines */
}

h1 {
  font-weight: 400; /* Regular */
  font-size: 28pt;
}

h2 {
  font-weight: 500; /* Medium */
  font-size: 18pt;
}

.wrap {
  height: 100vh;               /* exactly the viewport height */
  display: grid;
  place-items: center;         /* centers both horizontally & vertically */
  margin: 0;                   /* no margins */
  padding: 0;                  /* remove padding that causes overflow */
}

.logo {
  display: block;
  width: min(80vw, 640px);
  height: auto;
  margin: 0 auto;
  user-select: none;
}

.sr-only {
  position: absolute; 
  width: 1px; 
  height: 1px; 
  padding: 0; 
  margin: -1px;
  overflow: hidden; 
  clip: rect(0,0,0,0); 
  white-space: nowrap; 
  border: 0;
}

footer {
  position: fixed;
  bottom: 0; 
  left: 0; 
  right: 0;
  text-align: center;
  font-size: 10pt;
  font-weight: 500; /* Medium per guidelines */
  line-height: 1.4;
  padding: .75rem 1rem;
  opacity: .6;
}

@media (prefers-reduced-motion: no-preference) {
  .wrap { 
    animation: fadeIn .6s ease-out both; 
  }
  
  @keyframes fadeIn { 
    from {
      opacity: 0; 
      transform: translateY(8px)
    } 
    to {
      opacity: 1; 
      transform: translateY(0)
    } 
  }
}