* { box-sizing: border-box; }
html { --brand:#0b8a4a; --brand-2:#0aa15a; scroll-behavior:smooth; }
body {
  margin: 0;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif;
  color: #e6f7ee;
  background: #07120c;
}
.container { width: min(1100px, 90%); margin-inline: auto; }
.skip-link { position:absolute; left:-999px; top:auto; }

.site-header {
  position: sticky; top: 0; z-index: 20;
  background: #07120cbd; backdrop-filter: saturate(160%) blur(8px);
  border-bottom: 1px solid #0f2a1a;
}
.nav-wrap { display:flex; align-items:center; justify-content:space-between; padding:10px 0; }
.brand { display:flex; gap:.5rem; align-items:center; }
.brand__name { font-weight:700; color:#e9fff3; }
.logo { width:36px; height:36px; }

.nav__toggle { display:none; }
.nav__list { display:flex; flex-wrap:wrap; gap:.75rem; list-style:none; margin:0; padding:0; }
.nav__list a {
  display:block; padding:.5rem .75rem; border-radius:.4rem;
  text-decoration:none; color:#cceede;
}
.nav__list a:hover { background:#0e2417; }

/* HERO + slow slideshow */
.hero {
  position: relative; min-height: 58vh; display:grid; place-items:center;
  border-bottom: 1px solid #0f2a1a; overflow: clip;
}
.hero__media {
  position: absolute; inset: 0;
  background: radial-gradient(1200px 500px at 20% 20%, rgba(15,50,30,.5), transparent);
  background-position: center; background-size: cover;
  filter: saturate(105%) contrast(105%) brightness(.9);
  transition: opacity 1.2s ease; /* slower, smoother */
  opacity: 1;
}
.hero__media.is-fading { opacity: .82; }
.hero__inner { position:relative; padding:80px 0; }
.hero__copy { max-width: 680px; }

h1 { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.1; margin: .25rem 0; color:#e6fff2; }
h2 { font-size: clamp(1.5rem, 2.5vw, 2rem); margin: 0 0 .75rem; color:#e6fff2; }
h3 { color:#d7ffeb; }
p, li, details { color:#c1e7d6; }

.section { padding: 64px 0; }
.section--alt { background:#08140e; }
.split { display:grid; gap:1rem; grid-template-columns:repeat(2, minmax(0,1fr)); }
.panel { padding:24px; border:1px solid #12301f; background:#0b1d14; border-radius:12px; }
.list { line-height:1.8; }

.grid.cards { display:grid; gap:1rem; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.card { padding:20px; border:1px solid #12301f; background:#0b1d14; border-radius:12px; }

.form { display:grid; gap:12px; }
.form input, .form textarea {
  width:100%; padding:12px 14px; border-radius:10px;
  border:1px solid #163826; background:#0a1a12; color:#eafff6;
}
.form button { justify-self:start; }

.small { color:#9fd8c1; }
.btn {
  display:inline-block; padding:.8rem 1rem; border-radius:12px;
  border:1px solid #1b6a42;
  background: linear-gradient(180deg, var(--brand-2), var(--brand));
  color:white; text-decoration:none; font-weight:600;
}
.btn:hover { transform: translateY(-1px); }
.btn--ghost { background:transparent; color:#b9f0d3; border-color:#1b6a42; }
.btn--sm { padding:.5rem .75rem; border-radius:10px; }

/* Trust / references */
.trust { display:flex; flex-wrap:wrap; gap:.75rem; padding-left:0; list-style:none; margin:.75rem 0 0; }
.refs { display:flex; align-items:center; gap:.5rem; margin-top:.5rem; flex-wrap:wrap; }
.refs__label { color:#9fd8c1; font-weight:600; }
.refs__item { color:#b9f0d3; text-decoration:underline; }
.refs__note { color:#86c8b0; font-size:.9rem; opacity:.8; }

.site-footer {
  border-top:1px solid #0f2a1a; background:#07120c; padding:32px 0;
  color:#9fd8c1; text-align:center;
}

.cookie {
  position:fixed; inset:auto 1rem 1rem 1rem; display:flex; gap:.5rem;
  align-items:center; justify-content:space-between;
  background:#0a1a12; border:1px solid #12301f; border-radius:12px; padding:12px 16px;
}

/* Mobile */
@media (max-width: 920px) {
  .split { grid-template-columns: 1fr; }
  .nav__toggle {
    display:inline-flex; background:#0a1a12; border:1px solid #12301f;
    color:#cceede; border-radius:10px; padding:.4rem .6rem;
  }
  .nav__list {
    display:none; flex-direction:column; background:#07120c;
    border:1px solid #12301f; border-radius:12px; padding:.5rem;
    position:absolute; right:5%; top:60px;
  }
  .nav__list[aria-expanded="true"] { display:flex; }
}
