/* ===== GLOBAL CENTER-ALIGN SECTION HEADINGS + SUBTITLES ===== */
section h2,
section .subtitle {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
:root{
  --green:#2e7d32;
  --light:#e8f5e9;
  --dark:#1b5e20;
  --text:#212121;
  --bg:#fff;
  --max:1000px;
}
*{box-sizing:border-box;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);}
body{background:var(--bg);line-height:1.6;}
.container{max-width:var(--max);margin:auto;padding:2.5rem 1rem;}
.center{text-align:center;}
.btn{display:inline-block;background:var(--dark);color:#fff;padding:.75rem 1.5rem;border-radius:4px;text-decoration:none;margin-top:1rem;}
.btn:hover{background:#000;}
h2{margin-bottom:1rem;font-size:2rem;color:var(--dark);}
.subtitle{margin-bottom:2rem;color:#555;}

/* ===== HERO WITH BACKGROUND ===== */
.bg-image{
  background:url("../images/hero.jpg") center/cover no-repeat;
  position:relative;
}
.overlay{
  background:rgba(0,0,0,.55); /* dark tint for text contrast */
  padding:6rem 0;
}
#hero h1{font-size:3rem;color:#fff;}
#hero p{color:#f1f1f1;max-width:600px;margin:.5rem auto;}

/* grids */
.twocol,.threecol,.fourcol{display:grid;gap:2rem;}
.threecol{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));}
.fourcol{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center;}
.card,.stat{background:var(--light);padding:1.5rem;border-radius:6px;}
.num{font-size:2rem;font-weight:bold;color:var(--dark);display:block;}

/* ===== SCIENCE SECTION – PROBLEM / SOLUTION BOXES ===== */
.twocol{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  margin-top:2rem;
}
.problem-box,
.solution-box{
  padding:2rem;
  border-radius:8px;
}
.problem-box{
  background:#ffebee;
  border-left:6px solid #c62828;
}
.solution-box{
  background:#e8f5e9;
  border-left:6px solid var(--green);
}
.problem-box h3{color:#c62828;}
.solution-box h3{color:var(--dark);}

/* faq */
.faq-item{border-bottom:1px solid #ddd;}
.faq-item h3{cursor:pointer;padding:1rem 0;display:flex;justify-content:space-between;}
.faq-item h3::after{content:"+";color:var(--green);}
.faq-item.open h3::after{content:"−";}
.answer{max-height:0;overflow:hidden;transition:max-height .3s;}
.faq-item.open .answer{max-height:200px;margin-bottom:1rem;}

/* form */
form{display:grid;gap:1rem;}
input,select,textarea,button{width:100%;padding:.75rem;font-size:1rem;border:1px solid #bbb;border-radius:4px;}
button{background:var(--green);color:#fff;border:none;cursor:pointer;}
button:hover{background:var(--dark);}
.hidden{display:none;}

/* footer */
footer{background:var(--light);text-align:center;font-size:.9rem;padding:1.5rem 0;}

/* responsive */
@media(max-width:700px){
  .twocol,.fourcol{grid-template-columns:1fr;}
}