:root {
  --green:#2e7d32; --green-100:#e8f5e9;
  --yellow:#fdd835; --white:#ffffff;
  --gray:#f5f5f5; --dark:#1f2937; --muted:#64748b;
  --border:#e2e8f0; --card:#ffffff;
  --shadow:0 6px 20px rgba(0,0,0,0.08);
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Roboto', system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background:var(--gray); color:var(--dark); line-height:1.6; }
h1,h2,h3,h4 { font-family:'Merriweather', serif; margin:0 0 12px; color:var(--dark); }
p { margin:0 0 12px; color:var(--muted); }
.container { max-width:1200px; margin:0 auto; padding:20px; }

.skip-link {
  position:absolute; left:-999px; top:-999px; background:var(--yellow); color:#111; padding:8px 12px; border-radius:6px;
}
.skip-link:focus { left:12px; top:12px; z-index:10000; }

.site-header { position:sticky; top:0; background:var(--white); border-bottom:1px solid var(--border); z-index:1000; }
.header-inner { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.logo { font-weight:700; font-size:1.25rem; color:var(--green); text-decoration:none; letter-spacing:.3px; }
.nav a { margin:0 12px; text-decoration:none; color:var(--dark); font-weight:500; padding:8px 6px; border-radius:6px; }
.nav a:hover, .nav a:focus { color:var(--green); background:var(--green-100); outline:none; }

.hero {
  position:relative; border-radius:16px; overflow:hidden; margin:20px 0; min-height:380px; display:flex; align-items:center; justify-content:center; text-align:center;
  background:url('https://images.unsplash.com/photo-1606788075761-1a9e9f3f6c3a?ixlib=rb-4.0.3&auto=format&fit=crop&w=1600&q=80') center/cover no-repeat;
  box-shadow:var(--shadow);
}
.hero::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0.35), rgba(0,0,0,0.55)); }
.hero-inner { position:relative; z-index:1; color:var(--white); padding:24px; max-width:900px; }
.hero h1 { font-size:2.6rem; color:#fff; }
.hero p { font-size:1.15rem; color:#e5e7eb; margin:16px 0 24px; }

.btn { display:inline-block; padding:12px 18px; border-radius:8px; font-weight:700; text-decoration:none; transition:transform .15s ease, box-shadow .15s ease; }
.btn:hover { transform:translateY(-1px); box-shadow:0 8px 24px rgba(0,0,0,0.12); }
.btn-primary { background:var(--yellow); color:#111; }
.btn-outline { border:2px solid var(--green); color:var(--green); background:#fff; }
.btn-ghost { color:var(--white); border:1px solid rgba(255,255,255,0.4); }

.section { margin:28px 0; }
.section-header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.section-header h2 { color:var(--green); }

.grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; }
.card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:20px; box-shadow:var(--shadow); }
.card:hover { transform:translateY(-2px); transition:transform .15s ease; }

.list-check { list-style:none; padding:0; margin:0; }
.list-check li { margin:8px 0; padding-left:28px; position:relative; color:var(--dark); }
.list-check li::before { content:"✔"; color:var(--green); position:absolute; left:0; top:0; }

.form { display:grid; gap:16px; max-width:720px; }
label { font-weight:600; color:var(--muted); }
input, textarea, select {
  width:100%; padding:12px; border:1px solid var(--border); border-radius:10px; background:#fff; font-size:1rem;
}
input:focus, textarea:focus, select:focus { border-color:var(--green); outline:none; box-shadow:0 0 0 3px rgba(46,125,50,0.15); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-actions { display:flex; gap:12px; align-items:center; }

.note { color:var(--muted); font-size:.95rem; }

.site-footer { background:var(--dark); color:#e5e7eb; margin-top:28px; }
.footer-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:20px; padding-top:12px; }
.footer-links { list-style:none; padding:0; margin:0; }
.footer-links li { margin:6px 0; }
.footer-links a { color:#e5e7eb; text-decoration:none; }
.footer-links a:hover { text-decoration:underline; }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.1); padding:12px 0; text-align:center; }

.modal { position:fixed; inset:0; display:none; }
.modal[aria-hidden="false"] { display:block; }
.modal-backdrop { position:absolute; inset:0; background:rgba(0,0,0,0.45); }
.modal-content {
  position:relative; z-index:1; max-width:520px; margin:10% auto; background:#fff; border-radius:12px; padding:20px; box-shadow:var(--shadow);
}
.modal-close { position:absolute; right:12px; top:12px; background:transparent; border:none; font-size:1.5rem; cursor:pointer; color:#555; }
.modal-actions { display:flex; justify-content:flex-end; gap:12px; margin-top:12px; }

@media (max-width:768px) {
  .form-row { grid-template-columns:1fr; }
  .hero h1 { font-size:2rem; }
}
.logo-group {
  display:flex; align-items:center; gap:12px; text-decoration:none;
}
.logo-img {
  height:100px; width: 100px;;
}
.logo-text {
  font-weight:700; font-size:1.25rem; color:var(--green);
}
.slideshow-container {
  position: relative;
  max-width: 800px;
  margin: auto;
  overflow: hidden;
}

.slide {
  display: none;
}

.slide img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
  border-radius: 8px;
}

.caption {
  position: relative;
  bottom: 20px;
  left: 40px;
  background: rgba(189, 186, 186, 0.6);
  color: #fff;
  padding: 10px;
  border-radius: 5px;
}
