
:root {
  --color-primary: #5D4E45;      /* rich brown for text/headings */
  --color-secondary: #8EB763;    /* green for accents */
  --color-blue: #9AC0D2;         /* blue from logo */
  --color-gold: #DFA643;         /* gold/yellow from logo */
  --color-magenta: #BB1F81;      /* magenta from logo */
  --color-bg: #EDF0DF;           /* light background */
  --color-white: #fff;
  --color-black: #000;
}

body {
  background: var(--color-bg);
  color: var(--color-primary);
  font-family: 'Segoe UI', Arial, sans-serif;
  margin: 0;
}

.header {
  background: var(--color-white);
  border-bottom: 4px solid var(--color-secondary);
  padding: 1.5rem 0 0.75rem 0;
}
.nav__logo-img {
  height: 48px;
  margin-right: 16px;
  vertical-align: middle;
}
.nav__logo-img--mobile {
  display: none;
}
@media (max-width: 600px) {
  .nav__logo-img--desktop { display: none; }
  .nav__logo-img--mobile { display: inline; }
}

.nav__logo {
  color: var(--color-primary);
  font-size: 2.2rem;
  font-family: 'Merriweather', serif;
  font-weight: bold;
}
.nav__tagline {
  font-size: 1.1rem;
  color: var(--color-secondary);
  margin: 0.1rem 0 0 0;
}

.nav__menu {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 1.2rem;
  align-items: center;
}
.nav__link, .nav__link:visited {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  background: none;
  padding: 0.25rem .75rem;
  border-radius: 4px;
  transition: background 0.2s;
}
.nav__link--active, .nav__link:hover {
  background: var(--color-blue);
  color: var(--color-white);
}

.nav__dropdown-content {
  display: none;
  position: absolute;
  background: var(--color-bg);
  box-shadow: 0 2px 8px rgba(93,78,69,0.09);
  min-width: 140px;
  z-index: 9;
}
.nav__dropdown:hover .nav__dropdown-content { display: block; }
.nav__dropdown-content a {
  color: var(--color-primary);
  padding: .5rem 1rem;
  display: block;
  text-decoration: none;
}
.nav__dropdown-content a:hover {
  background: var(--color-gold);
  color: var(--color-white);
}

.button-primary {
  background: var(--color-blue);
  color: var(--color-white);
  font-weight: bold;
  border: none;
  border-radius: 4px;
  padding: .8em 1.5em;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
  transition: background 0.15s;
  cursor: pointer;
}
.button-primary:hover {
  background: var(--color-secondary);
}
.button-accent {
  background: var(--color-magenta);
  color: var(--color-white);
}
.button-link {
  color: var(--color-blue);
  background: none;
  border: none;
  cursor: pointer;
  text-decoration: underline;
}

.hero {
  background: var(--color-blue);
  color: var(--color-white);
  padding: 3.5rem 2rem;
  text-align: center;
}
.hero h1 {
  font-size: 2.8rem;
  margin: 0.5rem 0;
  font-family: 'Merriweather', serif;
}
.hero p {
  font-size: 1.3rem;
  margin-bottom: 0;
}
.hero .button-primary {
  margin-top: 1.5rem;
}

.section-header {
  color: var(--color-gold);
  font-size: 2rem;
  margin-bottom: 1rem;
  font-family: 'Merriweather', serif;
  border-left: 5px solid var(--color-primary);
  padding-left: .5rem;
}

.card {
  background: var(--color-white);
  border: 1.5px solid var(--color-secondary);
  border-radius: 8px;
  box-shadow: 0 1.5px 8px rgba(93,78,69,0.07);
  margin: 1rem;
  padding: 1.25rem;
  transition: box-shadow .2s;
}
.card.featured {
  border-color: var(--color-gold);
  background: linear-gradient(90deg, var(--color-gold) 4%, var(--color-white) 70%);
}
.card .event-date {
  color: var(--color-magenta);
  font-weight: bold;
}
.card h2, .card h3 {
  margin-top: 0;
  color: var(--color-secondary);
}

.event-source {
  display: inline-block;
  background: var(--color-bg);
  color: var(--color-blue);
  border: 1px solid var(--color-blue);
  border-radius: 4px;
  font-size: 0.92em;
  padding: 0 0.4em;
  margin-right: 0.7em;
}

.business-card {
  background: var(--color-bg);
  border-left: 6px solid var(--color-secondary);
  margin: 0.8rem 0;
  padding: 1rem 1.5rem;
}
.business-card.gold { border-color: var(--color-gold); }

.footer {
  border-top: 4px solid var(--color-secondary);
  background: var(--color-bg);
  color: var(--color-primary);
  padding: 2.5rem 1.5rem 1rem 1.5rem;
  text-align: center;
}
.footer-logos img {
  height: 44px;
  margin: 0 12px 8px 12px;
  vertical-align: middle;
}

.bg-accent { background: var(--color-magenta); color: var(--color-white); }
.bg-secondary { background: var(--color-secondary); color: var(--color-white); }
.text-primary { color: var(--color-primary); }
.text-secondary { color: var(--color-secondary); }
.text-blue { color: var(--color-blue); }
.text-gold { color: var(--color-gold); }
.text-magenta { color: var(--color-magenta); }
.text-light { color: var(--color-bg); }

@media (max-width: 900px) {
  .section-header { font-size: 1.5rem; }
  .hero h1 { font-size: 2rem; }
}
@media (max-width: 700px) {
  .card, .business-card { margin: 0.4rem; padding: 1rem; }
  .footer { padding: 2rem 0.5rem 0.5rem 0.5rem; }
}
