/* General */
body {
  background-color: #1e1e1e;
  color: #ddd;
  font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
  margin: 0;
}

/* Hero Section */
.hero {
  /* banner lives next to home.html; CSS is in /css */
  background: url('../homepage_banner.png') center/cover no-repeat;
  color: #fff;
  text-align: center;
  padding: 140px 20px;
  position: relative;
}
.hero-overlay {
  background: rgba(0, 0, 0, 0.7);
  display: inline-block;
  padding: 40px 50px;
  border-radius: 12px;
}
.hero h1 {
  font-size: 3rem;
  margin-bottom: 12px;
}
.hero p {
  font-size: 1.15rem;
  margin-bottom: 22px;
  color: #e6e6e6;
}
.cta-button {
  display: inline-block;
  background: #0077cc;
  color: white;
  padding: 14px 30px;
  border-radius: 8px;
  font-size: 1rem;
  text-decoration: none;
  transition: background 0.25s ease, transform 0.2s ease;
}
.cta-button:hover {
  background: #005fa3;
  transform: translateY(-2px);
}

/* Sections */
main {
  padding: 0 22px 60px;
  max-width: 1100px;
  margin: 0 auto;
}
section {
  margin-top: 48px;
}
.about p {
  line-height: 1.6;
}

/* Disclaimer card */
.disclaimer-card {
  background: #252525;
  border: 1px solid #3a3a3a;
  border-radius: 12px;
  padding: 18px 20px;
  margin-top: 16px;
  box-shadow: 0 3px 10px rgba(0,0,0,0.35);
}
.disclaimer-card h3 {
  margin-top: 0;
  color: #fff;
}
.disclaimer-card ul {
  margin: 10px 0 0 20px;
}
.disclaimer-card li {
  margin: 6px 0;
}

/* Section Title */
.section-title {
  text-align: center;
  margin: 50px 0 20px;
  font-size: 2rem;
  color: #f0f0f0;
}

/* Features Grid */
.features {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 22px;
}
.card {
  background: #2a2a2a;
  padding: 22px;
  border-radius: 12px;
  text-align: center;
  box-shadow: 0 3px 10px rgba(0,0,0,0.4);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
  text-decoration: none;
  color: #eee;
}
.card h3 {
  margin-bottom: 12px;
  font-size: 1.2rem;
  color: #fff;
}
.card p {
  font-size: 0.95rem;
  color: #cfcfcf;
}
.card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.6);
  background: #333;
}

/* Pages explainer */
.pages-explainer h2 {
  margin-bottom: 12px;
}
.grid-two {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
}
.explain-card {
  background: #232323;
  border: 1px solid #343434;
  border-radius: 12px;
  padding: 16px;
}
.explain-card h4 {
  margin: 0 0 8px;
  color: #fff;
}
.explain-card p {
  margin: 0;
  color: #cfcfcf;
}

/* Affiliations */
.affiliations p {
  line-height: 1.6;
}
.affiliations .small {
  font-size: 0.95rem;
  color: #c9c9c9;
}

/* Footer (academic notice, no ©) */
footer {
  background: #111;
  color: #bbb;
  text-align: center;
  padding: 16px;
  font-size: 0.95rem;
  margin-top: 48px;
}
