:root {

--pink:#FF45CA;
--blue:#185AA0;
--dark:#111;
--dark2:#1b1b1b;
--card:#202020;
--text:#f5f5f5;
--muted:#cfcfcf;

}

header {
  background:
    linear-gradient(
      135deg,
      var(--pink),
      var(--blue)
    );
  padding: 4rem 2rem 6rem;
  text-align: center;
  border-bottom: 3px solid var(--pink);
}

.hero-buttons {
  margin-top: 2.5rem;
  text-align: center;
}

.banner-logo {
  width: 100%;
  max-width: 1000px;
  height: auto;
  margin: 0 auto 2.5rem;
  display: block;
  border-radius: 14px;
}

header p {
  max-width: 850px;
  margin: 0 auto;
  font-size: 1.2rem;
  color: white;
}

* {

box-sizing:border-box;
margin:0;
padding:0;

}


body {

font-family:Arial,Helvetica,sans-serif;
background:var(--dark);
color:var(--text);
line-height:1.6;

}


h1,h2,h3,nav a,.button {

font-family:"Archivo Expanded",Arial,sans-serif;

}


.hero {

background:linear-gradient(135deg,var(--pink),var(--blue));
padding:4rem 2rem;
text-align:center;

}


.banner-logo {

width:100%;
max-width:1000px;

}


.hero p {

max-width:850px;
margin:2rem auto;

}



nav {

background:var(--dark2);
padding:1rem;
text-align:center;
position:sticky;
top:0;

}


nav a {

color:white;
text-decoration:none;
margin:1rem;

}



section {

max-width:1100px;
margin:auto;
padding:4rem 2rem;

}



h1,h2 {

color:var(--pink);
margin-bottom:1.5rem;

}



.button {

display:inline-block;
background:var(--pink);
color:white;
padding:1rem 1.5rem;
border-radius:8px;
text-decoration:none;
margin:.5rem;

}



.card-grid {

display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:1.5rem;

}


.card,.community-card,.highlight {

background:var(--card);
padding:2rem;
border-radius:14px;
border:1px solid #333;

}



.community-card {

text-align:center;
border-color:var(--pink);

}



.social-footer {

display:flex;
justify-content:center;
gap:1.5rem;

}


.social-footer a {

font-size:1.8rem;
color:var(--muted);

}

.footer-meta {
  margin-top: 1.5rem;
  color: #aaa;
}

.footer-meta p + p {
  margin-top: .5rem;
  color: #888;
}

footer {

text-align:center;
padding:2rem;
background:var(--dark2);

}



.calendar-wrapper iframe {

width:100%;
height:700px;

}



@media(max-width:700px){

nav a {

display:block;
margin:.5rem;

}

}
