:root{
  --green:#0B6E4F;
  --gold:#F0B429;
  --white:#ffffff;
  --ink:#10352b;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#f7fbf9;color:var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  line-height:1.35}

.wrap{max-width:960px;margin:0 auto;padding:24px}

header.hero{
  background:var(--green);
  color:#fff;
  border-radius:22px;
  box-shadow:0 14px 36px rgba(0,0,0,.2);
  padding:38px 24px 28px;
  text-align:center;
}
.hero h1{
  margin:0 0 6px 0;
  font-size: clamp(42px, 8vw, 90px);
  font-weight: 1000;
  letter-spacing:.02em;
  text-transform: uppercase;
}
.hero .line{
  margin:0;
  font-size: clamp(22px, 4vw, 42px);
  font-weight: 900;
  text-transform: uppercase;
  opacity:.98;
}
.hero .venue{
  margin:14px 0 12px;
  font-size: clamp(16px, 2.6vw, 22px);
  opacity:.95;
}
.hero .date-pill{
  display:inline-block;
  background:var(--gold);
  color:#1a1a1a;
  font-weight:900;
  padding:10px 14px;
  border-radius:12px;
  font-size: clamp(14px, 2.2vw, 18px);
  letter-spacing:.4px;
  box-shadow:0 8px 18px rgba(240,180,41,.35);
}

.panel{
  margin-top:22px;
  background:#fff;
  border:3px solid var(--green);
  border-radius:16px;
  padding:22px;
  box-shadow:0 10px 24px rgba(0,0,0,.08);
}

.panel h3{
  margin:0 0 6px 0;
  font-size: clamp(26px, 4vw, 36px);
  color:var(--green);
  font-weight:1000;
  text-transform:uppercase;
}

.panel .sub{
  margin:0 0 18px 0;
  font-size: clamp(14px, 2.2vw, 16px);
  color:#2b5245;
}

form{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
label{font-weight:800;color:#1c3e33}
input[type="text"],input[type="email"]{
  width:100%; padding:14px 14px; border:1.8px solid #c7d5cf; border-radius:12px; font-size:16px; background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
input:focus{outline:none; border-color:var(--green); box-shadow:0 0 0 4px rgba(11,110,79,.12)}

button.primary{
  margin-top:6px;
  width:100%;
  padding:14px 18px;
  border-radius:12px;
  border:none;
  background:var(--green);
  color:#fff;
  font-weight:1000;
  font-size:16px;
  cursor:pointer;
  box-shadow:0 10px 18px rgba(11,110,79,.25);
}

.committee{
  margin-top:18px;
  padding-top:14px;
  border-top:1px dashed rgba(11,110,79,.35);
  color: var(--green); /* Make all committee text green */
}
.committee strong{ display:block; margin-bottom:8px; color: var(--green); }
.names{
  display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; font-size:14px;
}
@media (max-width:640px){ .names{grid-template-columns:1fr;} }