/* Minimal, clean, responsive styles */
:root{
  --bg:#f7faf7;
  --card:#ffffff;
  --text:#102110;
  --muted:#526652;
  --accent:#1a7f37;
  --ring:#bde5c6;
  --border:#e2eee2;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,'Helvetica Neue',Arial;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

.container{width:min(1000px, 92%); margin-inline:auto}

header{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 0;
}
.brand{display:flex; gap:14px; align-items:center}
.logo{font-size:40px; line-height:1}
.subtitle{color:var(--muted); margin-top:-6px}

.cta{
  display:inline-block; background:var(--accent); color:#fff; text-decoration:none;
  padding:12px 18px; border-radius:999px; font-weight:700; box-shadow:0 6px 14px rgba(26,127,55,.22);
  border:2px solid transparent;
}
.cta:hover{filter:brightness(1.08)}
.cta.wide{width:100%; text-align:center}

main{display:grid; gap:28px}
.hero, .courses, .form-section, .contact{
  background:var(--card); padding:22px; border-radius:16px; border:1px solid var(--border);
  box-shadow:0 4px 12px rgba(0,0,0,.04);
}
.hero h2{margin-top:0}
.steps{display:grid; gap:6px; padding-left:18px}

details{border:1px solid var(--border); border-radius:12px; padding:10px 12px; background:#fbfdfb; margin:10px 0}
details > summary{cursor:pointer; font-weight:700}
.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(180px,1fr)); gap:8px; list-style:none; padding-left:0; margin:10px 0 0}
.grid li{background:#fff; border:1px solid var(--border); border-radius:10px; padding:8px 10px}

.form-section h3{margin-top:0}
form{display:grid; gap:14px}
.field{display:grid; gap:6px}
.field.grouped{grid-template-columns:1fr; gap:12px}
.field.grouped > div{display:grid; gap:6px}
@media (min-width:720px){
  .field.grouped{grid-template-columns:1fr 1fr}
}
input, select, textarea{
  width:100%; padding:12px 12px; border-radius:12px; border:1px solid var(--border);
  outline:none; background:#fff; font-size:16px;
}
input:focus, select:focus, textarea:focus{border-color:var(--ring); box-shadow:0 0 0 4px rgba(189,229,198,.5)}
label span{color:crimson; margin-left:4px}

.helper{color:var(--muted); font-size:14px; margin:0}

.contact ul{margin:0; padding-left:18px}
.powered{margin-top:10px; color:var(--muted)}

footer{margin:26px 0 40px}
.footer-inner{
  display:flex; justify-content:center; align-items:center; color:var(--muted); font-size:14px
}
