html
{
    background: #0f0f0f;
    color: #cfcfcf;
    font-family: 'Inter', sans-serif;
    scroll-behavior: smooth;
}

body
{
    max-width: 1200px;
    margin: auto;
}

.section
{
    width: 100%;
    background: #161616;
}

h1, h2, h3
{
    font-family: 'Anton', sans-serif;
    letter-spacing: 1px;
    margin: 25px;
}

.hero {
    position: relative;
    width: 100%;
    height: 65vh;
    background: url("images/hero.webp") center/cover no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align:
     center;
  }
  
  .hero-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.45);
  }
  
  .hero-content {
    position: relative;
    z-index: 2;
    max-width: 1200px;
    padding: 0 20px;
    transform: translateY(-5%); /* slightly above centre */
  }
  
  .hero-logo {
    max-width: 700px;
    width: 80%;
    height: auto;
  }
  
  .hero-tagline {
    margin-top: 25px;
    font-family: 'Anton', sans-serif;
    font-size: 2rem;
    color: white;
    letter-spacing: 1px;
  }

  .accentred {
    max-width: 1200px;
    margin: 25px 0px;
    border-top: 3px solid #e10600;
    background: linear-gradient(
      180deg,
      #3a0008 0%,
      #2b0006 50%,
      #0f0f0f 100%
    );
  }

  .accentorange {
    max-width: 1200px;
    margin: 25px 0px;
    padding: 25px 0px;
    border-top: 3px solid #a34400;
    background: linear-gradient {
      180deg,
      #a34400 0%,
      #012200 50%,
      #0f0f0f 100%
    }
  }

  .grid
  {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    text-align: center;
  }

  .grid div:hover {
    transform: translateY(-3px);
  }

  .setlisttext
  {
    text-align: center;
    font-weight: bold;
    font-size: 14pt;
  }

  .video-wrapper {
    max-width: 1100px;
    margin: 0 auto;
    aspect-ratio: 16 / 9;
  }
  
  .video-wrapper iframe {
    width: 100%;
    height: 100%;
    border: none;
  }
  
  .thumb{
    aspect-ratio: 1500 / 907;
    overflow: hidden;
    border-radius: 12px;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
  }
  
  .thumb img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    filter: brightness(0.8);
    transition: filter 0.3s ease;
  }

  .thumb:hover img
  {
    filter: brightness(1);
  }

  .thumb:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.4);
  }

p
{
  line-height: 1.5em;
  width: 95%;
  text-align: justify;
  margin: 25px;
}

.social {
  display: flex;
  justify-content: center;   /* horizontal centering */
  align-items: center;
  gap: 18px;
  padding: 25px;
}

.social svg {
  width: 42px;
  height: 42px;
  fill: #9a9a9a; /* subtle grey */
  transition: fill .2s ease, transform .15s ease;
}

.social a:hover svg {
  fill: #ffffff;
  transform: translateY(-2px);
}

a:link, a:visited, a:active
{
  color: #cfcfcf;
}

a:hover
{
  color: #fff;
}

.hero-buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 30px 0 30px;   /* adds space below */
  flex-wrap: wrap;
}

.btn {
  padding: 14px 32px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  border-radius: 40px;
  transition: all .2s ease;
  letter-spacing: 0.5px;
}

/* Solid primary button */
.btn-solid {
  background: #e10600;
  color: #000000;
}

.btn-solid:hover {
  background: #ff1c16;
  transform: translateY(-2px);
}

/* Outline secondary button */
.btn-outline {
  border: 2px solid #c0c0c0;
  color: #c0c0c0;
}

.btn-outline:hover {
  background: #ffffff;
  color: #000000;
  transform: translateY(-2px);
}

@media (max-width: 768px) {

  body {
    font-size: 10pt;
  }

  h1 {
    font-size: 2rem;
  }

  .hero-buttons {
    gap: 12px;
  }

  .btn {
    padding: 12px 20px;
  }

  .grid {
    grid-template-columns: 1fr;
  }

  p {
    width: 85%;
  }

}