/* Tailored Reset */
html, body, div, h1, h2, h3, p, a, img, ul, li, article, header, main, section, footer {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}
body { line-height: 1.2; }
ul { list-style: none; }

/* CSS Variables */
:root {
  --primary-color: #22ff22;
  --link-color: #ff9000;
  --text-color: #fff;
  --donation-color: #b4ff00;
  --content-margin: 1.5em 2em; /* Reduced from 2em 3em */
  --band-bg: rgba(100,100,100,0.7);
  --site-bg: rgba(0,0,0,0.8);
}

/* Base Styles */
body {
  background: url(background.jpg) black;
  background-size: cover;
  margin: 0;
  padding: 0;
}
a:link, a:visited { color: var(--link-color); text-decoration: none; }
a:hover, a:focus { color: var(--text-color); text-decoration: none; }
a:focus { outline: 2px solid var(--text-color); outline-offset: 2px; }

@font-face {
  font-family: 'condimentregular';
  src: url('condiment-regular-webfont.woff2') format('woff2'),
       url('condiment-regular-webfont.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

#website {
  max-width: 60em;
  margin: 0 auto;
  background-color: var(--site-bg);
}

header, main, section, footer {
  padding: 0.75em; /* Reduced from 1em */
}

p {
  color: var(--text-color);
  font-family: Sans-serif, Arial;
  font-size: 1.3em;
  margin: var(--content-margin);
}

h1, h2 {
  color: var(--primary-color);
  font-family: 'condimentregular', Arial, sans-serif;
  transform: rotate(-3deg);
}
h1 { font-size: 2.2em; margin: 1em; } /* Reduced from 1.5em */
h2 { font-size: 2em; margin: 1em 0 0.5em; } /* Reduced from 1.5em 0 0.75em */
h3 {
  color: var(--text-color);
  font-family: Sans-serif, Arial;
  font-size: 2em;
}

#logo {
  display: block;
  margin: 1em auto; /* Reduced from 1.5em */
  width: 90%;
  max-width: 100%;
  object-fit: contain;
}

.bandslist { margin: var(--content-margin); }
.band {
  display: flex;
  background-color: var(--band-bg);
  margin-bottom: 1em; /* Reduced from 1.5em */
}
.band img {
  width: 10em;
  max-width: 200px;
  margin: 1em;
  object-fit: contain;
}
.band-info { flex: 1; }
.band-info h3 { font-size: 1.5em; margin: 1em 0 0.5em; } /* Reduced from 1.5em 0 0.75em */
.band-info p {
  font-size: 1em;
  margin: 0 1em 1em; /* Tightened from 0 1.5em 1.5em */
  line-height: 1.4em; /* Reduced from 1.5em for consistency */
}

#sponsors {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 1em; /* Reduced from 1.5em */
  margin: var(--content-margin);
}
#sponsors li { display: block; }
#sponsors img {
  width: 100%;
  max-width: 200px;
  max-height: 120px;
  object-fit: contain;
}

#donationtext {
  font-size: 1.4em;
  color: var(--donation-color);
  font-family: 'condimentregular', Sans-serif, Arial;
  line-height: 1.4em; /* Reduced from 1.6em */
}

/* Responsive Adjustments */
@media screen and (max-width: 14cm) {
  #website { background-color: rgba(0,0,0,0.7); }
  p { font-size: 1.1em; margin: 1em 1.5em; } /* Tightened from 1em 2em */
  h1 { font-size: 1.8em; }
  h2 { font-size: 1.5em; margin: 1em 0 0.5em; }
  h3 { font-size: 1.6em; }
  .band img { width: 5em; max-width: 100px; margin: 0.75em; } /* Reduced margin from 1em */
  .band-info p { font-size: 0.7em; margin: 0 0.75em 0.75em; line-height: 1.3em; } /* Tightened */
  #sponsors img { max-height: 100px; max-width: 150px; }
  #donationtext { line-height: 1.3em; } /* Reduced from 1.5em */
}