@font-face {
    font-family: 'oliver';
    src: url('/fonts/oliver.regular.ttf');
}

@font-face {
    font-family: 'switzer';
    src: url('/fonts/switzer.variable.ttf');
}

:root {
  --hueso-color: #F2F2E9;
  --amarillo-color: #FFEE00;
  --verde-color: #006300;
}

html, body, div, span, applet, object, iframe, h2, h3, h4, h5, h6, p, 
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, 
em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, 
b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, 
table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, 
details, embed, figure, figcaption, footer, header, hgroup, menu, nav, 
output, ruby, section, summary, time, mark, audio, video {
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  font-family: switzer;
  vertical-align:baseline
} 

h1 {
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  font-family: oliver;
  vertical-align:baseline
}

.body {
  background-color: var(--amarillo-color);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-items: center;
  justify-content: center;
}

.header {
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.header img {
  max-height: 80px;
  width: auto;
}

.main {
  font-family: oliver;
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
  align-items: center;
}

.main img {
  max-height: 500px;
  width: auto;
}

.main h1 {
  font-size: 84px;
  color: var(--verde-color);
}

.footer {
  padding-bottom: 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  color: var(--verde-color);
}

@media (max-width: 1024px) {
  .main img {
    max-height: 450px;
  }

  .main h1 {
    font-size: 60px;
  }

  .footer {
    font-size: 13px;
  }
}

/* Pantallas pequeñas (móviles grandes) */
@media (max-width: 768px) {
  .header img {
    max-height: 60px;
  }

  .main img {
    max-height: 350px;
  }

  .main h1 {
    font-size: 44px;
  }

  .footer {
    font-size: 12px;
  }
}

/* Móviles muy pequeños */
@media (max-width: 480px) {
  .body {
    padding: 1rem;
  }

  .main img {
    max-height: 250px;
  }

  .main h1 {
    font-size: 42px;
    line-height: 1;
  }

  .footer {
    font-size: 11px;
  }
}