/* Base styles and typography */
body{
  background: linear-gradient(-45deg, #23a6d5, #23d5ab, #4ecdc4);
  margin: 0;
  padding: 1em;
  font-size: min(2vw, 16px);
  min-height: 100vh;
}

/* Responsive font sizing for better mobile experience */
@media (max-width: 768px) {
  body {
    font-size: min(3vw, 18px);
  }
}

@media (max-width: 480px) {
  body {
    font-size: min(3.5vw, 20px);
  }
}

.page-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 1em;

}

.site-header {
  margin-top: 0;
  padding-top: 0;
  text-align: center;
  margin-bottom: 2em;
}

.site-logo {
  width: auto;
  height: 7em;
  display: block;
  margin: 0 auto;
  filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.2));
  transition: transform 0.3s ease;
  padding-top: 0;
  margin-top: 0;
}

.site-logo:hover {
  transform: scale(1.05);
}

/* Responsive logo sizing */
@media (max-width: 768px) {
  .site-logo {
    width: 100%;
  }
  
  .site-header {
    margin-bottom: 1.5em;
  }
}

@media (max-width: 480px) {
  .site-logo {
    width: 100%;
  }
  
  .site-header {
    margin-bottom: 1em;
  }
}