/* Constrained hero with cacao gradient */
.full-page-hero{
  position:relative;
  color:#fff;
  padding: clamp(2rem, 4vw, 3rem) 1rem;
  background:
	radial-gradient(900px 500px at 115% 120%, rgba(247,181,58,.10), transparent 55%),
	radial-gradient(1100px 600px at -10% -10%, rgba(255,255,255,.06), transparent 60%),
	linear-gradient(165deg, var(--ehca-plum) 0%, var(--ehca-plum-dk) 100%);
  max-width: 1100px;  /* constrain section itself */
  margin: 0 auto;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,.25);
}

/* Left card — stretch to full column height */
.general-card{
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  padding: clamp(1.1rem, 2.4vw, 1.8rem) clamp(1.2rem, 2.8vw, 2rem);
  box-shadow: 0 20px 40px rgba(0,0,0,.25);
  height: 100%;            /* fill the grid row height */
  font-weight: 800;
  font-size: 1.1rem;
}
.general-card a{
	color: var(--ehca-gold);
	text-decoration: none;
}
.general-card .eyebrow{
  display:inline-block;
  background: rgba(253,231,184,.18);
  color: var(--ehca-gold);
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  padding:.28rem .62rem;
  border-radius:999px;
  font-size:.92rem;
  margin-bottom:.7rem;
}
.general-card h1{
  font-size: clamp(1.9rem, 1.3rem + 2.4vw, 2.4rem);
  line-height:0.9;
  margin:.1rem 0 .8rem;
  text-shadow: 0 1px 0 rgba(255,255,255,.08), 0 14px 28px rgba(0,0,0,.35);
}

/* Gold underline as an <hr> after the time row */
.gold-hr{
  height: 3px;
  border: 0;
  width: 240px;
  background: linear-gradient(90deg, var(--ehca-gold), rgba(247,181,58,0));
  border-radius: 2px;
  margin: .4rem 0 0;
}

/* ===== Supporters page styles ===== */
.supporters-intro{
  margin: .8rem 0 1.2rem;
  font-weight: 500;
  font-size: 1rem;
}
.supporters-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: clamp(12px, 2vw, 20px);
  margin-top: 1rem;
}
.supporter-card{background:#2d1322;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 16px;
  padding: clamp(.8rem, 2.2vw, 1.1rem);
  text-align:center;
  transition: transform .18s ease, box-shadow .18s ease;
}
.supporter-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 12px 28px rgba(0,0,0,.30);
}
.supporter-logo{width:160px; height:160px;
  object-fit: contain;
  background: #fff; border: 1px solid rgba(0,0,0,.08);
  border-radius: 12px;
  padding: .5rem;
  display:block;
  margin: 0 auto .6rem;
}
.supporter-title{
  font-weight: 800;
  margin: .15rem 0 .35rem;
  line-height: 1.05;
}
.supporter-desc{
  font-size: .95rem;
  opacity: .9;
  min-height: 2.3em;
}
.supporter-website{white-space:nowrap; overflow:visible;display:block;white-space: normal;
  display:inline-block;
  margin-top:.4rem;
  color: var(--ehca-gold);
  text-decoration: none;
  font-weight:700;
}
.card-social{padding-bottom:.2rem;
  margin-top:.5rem;
  display:flex;
  justify-content:center;
  gap:.5rem;
}
.card-social a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #fff; border-color: rgba(0,0,0,.08);
  border: 1px solid rgba(255,255,255,.18);
}
.card-social img{
  width:16px; height:16px;
}