* {margin:0; padding:0; box-sizing:border-box;}
body {font-family:Georgia, serif; line-height:1.6; color:#333; background:#fafafa;}
.container {max-width:1024px; margin:0 auto; padding:1rem;}
.site-header {background:#fff; padding:2rem 0; text-align:center; box-shadow:0 2px 4px rgba(0,0,0,0.1);}
.site-header h1 a {color:#222; text-decoration:none; font-size:2.5rem;}
.nav-list {list-style:none; display:flex; justify-content:center; gap:1.5rem; margin-top:1rem;}
.nav-list a {color:#555; text-decoration:none; font-weight:bold;}
.nav-list a:hover {color:#000;}
.hero img {width:100%; height:auto; display:block; margin-bottom:1rem;}
.card-grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1.5rem; margin-top:2rem;}
.card {background:#fff; border-radius:8px; overflow:hidden; box-shadow:0 1px 3px rgba(0,0,0,0.1); transition:transform .2s;}
.card:hover {transform:translateY(-5px);}
.card img {width:100%; height:160px; object-fit:cover;}
.card h3 {padding:0.75rem; text-align:center;}
.hit-counter {margin:2rem 0; text-align:center; font-size:1.1rem; color:#555;}
.site-footer {text-align:center; padding:1.5rem 0; margin-top:3rem; background:#fff; border-top:1px solid #ddd;}
.footnotes {font-size:0.9rem; margin-top:2rem; border-top:1px solid #ddd; padding-top:1rem;}
.footnotes ol {list-style:decimal; margin-left:1.5rem;}
.footnotes li {margin-bottom:0.5rem;}
@media(max-width:600px){
  .nav-list {flex-direction:column;}
  .site-header h1 a {font-size:2rem;}
}
/* Mobile Nav Toggle & Padding */
.site-header {
  position: relative;
}
.site-header .nav-list {
  flex-wrap: wrap;
}
.site-header .nav-list a {
  padding: 0.75rem 1.25rem;
  display: inline-block;
}
.hamburger {
  display: none;
  font-size: 1.8rem;
  cursor: pointer;
  position: absolute;
  top: 1rem;
  right: 1rem;
}
@media (max-width: 768px) {
  .hamburger { display: block; }
  .site-header .nav-list {
    display: none;
    flex-direction: column;
    background: #fff;
    width: 100%;
    position: absolute;
    top: 100%; left: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
  }
  .site-header .nav-list.open {
    display: flex;
  }
}

/* Increase right padding on header to avoid overlap with hamburger */
.site-header {
  padding: 2rem 3rem 2rem 2rem;
}

/* Ensure hamburger remains visible across pages */
.hamburger {
  z-index: 1000;
}

/* Ensure all images scale and maintain aspect ratio */
.hero img,
main.container img,
.card img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

/* Adjust card grid to show more of image without fixed height */
.card img {
  max-height: none;
}

/* Optionally maintain card aspect ratio */
.card {
  aspect-ratio: 4 / 3;
}

/* Fix card aspect ratio to allow text visibility */
.card {
  aspect-ratio: auto !important;
  overflow: visible; /* allow text to show */
}
/* Ensure card images maintain 4:3 aspect ratio and cover */
.card img {
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
