:root {
  --green-900:#0b3d2e;
  --green-700:#166b4a;
  --green-500:#22a06b;
  --green-100:#e7f5ee;
  --amber-500:#f59e0b;
  --slate-900:#0f172a;
  --slate-700:#334155;
  --slate-200:#e2e8f0;
  --white:#fff;
  --radius:16px;
  --shadow:0 10px 25px rgba(0,0,0,.06);
}

/* ============= BASE ============= */
* {
  box-sizing:border-box;
}

html,
body {
  margin:0;
  padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--slate-700);
  background:#fff;
}

a {
  color:var(--green-700);
  text-decoration:none;
}

img {
  max-width:100%;
  display:block;
}

.container {
  width:min(1120px,92%);
  margin-inline:auto;
}

/* ============= HEADER / NAV ============= */

.site-header {
  position:sticky;
  top:0;
  z-index:30;
  background:linear-gradient(90deg,#f7e9c8 0%,#f4e2b5 40%,#edd9a0 100%);
  backdrop-filter:saturate(150%) blur(8px);
  border-bottom:1px solid rgba(0,0,0,0.06);
  padding:12px 0;
}

.site-header .nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
}

/* Logo + brand */
.brand {
  display:flex;
  gap:12px;
  align-items:center;
}

/* only used if you ever use the .logo div instead of <img> */
.logo {
  width:40px;
  height:40px;
  border-radius:10px;
  background:conic-gradient(from 210deg at 50% 50%,var(--green-700),var(--green-500));
  box-shadow:inset 0 0 0 3px #fff,var(--shadow);
}

/* main logo image */
.brand-logo {
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:12px;
  display:block;
}

/* make sure global img rules don’t shrink logo */
.brand img {
  max-width:none;
}

.brand h1 {
  font-size:22px;
  font-weight:700;
  margin:0;
  color:#0a3c1e;
  letter-spacing:.2px;
}

/* Menu */
.menu {
  display:flex;
  gap:18px;
  align-items:center;
}

.menu a {
  padding:8px 12px;
  border-radius:10px;
  font-weight:600;
  color:var(--slate-900);
}

.menu a:hover {
  background:var(--green-100);
}

.menu a.active {
  background:var(--green-700);
  color:#fff;
}

/* CTA buttons on header */
.cta {
  display:flex;
  gap:10px;
}

/* ============= BUTTONS ============= */

.btn {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:12px;
  font-weight:700;
  border:1px solid var(--slate-200);
  transition:.2s;
  background:#fff;
  color:var(--green-700);
}

.btn:hover {
  transform:translateY(-1px);
  box-shadow:var(--shadow);
}

.btn-primary {
  background:var(--green-700);
  color:#fff;
  border-color:transparent;
}

.btn-primary:hover {
  background:var(--green-900);
}

.btn-ghost {
  background:#fff;
  color:var(--green-700);
}

/* ============= HERO / CONTENT ============= */

.hero {
  padding:56px 0;
}

.kicker {
  display:inline-block;
  background:var(--green-100);
  color:var(--green-700);
  font-weight:700;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px;
  margin-bottom:12px;
}

.hero h2 {
  font-size:44px;
  line-height:1.05;
  margin:0 0 14px;
  color:var(--slate-900);
}

.hero p {
  font-size:18px;
  margin:0 0 22px;
}

.actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

/* Grids & cards */
.grid {
  display:grid;
  gap:18px;
}

.grid-2 {
  grid-template-columns:1fr 1fr;
}

.grid-3 {
  grid-template-columns:repeat(3,1fr);
}

.card {
  border:1px solid var(--slate-200);
  border-radius:16px;
  padding:18px;
  background:#fff;
  box-shadow:var(--shadow);
}

.badge {
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:var(--green-100);
  color:var(--green-700);
  font-weight:700;
  font-size:12px;
}

section {
  padding:48px 0;
}

/* Two-column content block */
.two {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:36px;
  align-items:center;
}

.list {
  display:grid;
  gap:10px;
  margin:12px 0 0;
}

.list li {
  list-style:none;
  display:flex;
  gap:10px;
  align-items:flex-start;
}

.tick {
  width:18px;
  height:18px;
  border-radius:6px;
  background:var(--green-500);
}

/* Trust row */
.trust {
  background:var(--green-100);
  padding:18px 0;
}

.trust .row {
  display:flex;
  gap:28px;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
}

.pill {
  background:#fff;
  border:1px solid var(--slate-200);
  padding:8px 12px;
  border-radius:999px;
  font-weight:600;
  display:flex;
  gap:8px;
  align-items:center;
}

.dot {
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--green-500);
}

/* Forms */
input,
textarea {
  padding:12px 14px;
  border-radius:12px;
  border:1px solid var(--slate-200);
  font:inherit;
}

textarea {
  min-height:120px;
  resize:vertical;
}

/* Footer */
footer {
  padding:28px 0;
  background:#0b3d2e;
  color:#c7f9e9;
  margin-top:56px;
}

.foot {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:24px;
  align-items:center;
}

.foot small {
  display:block;
  opacity:.9;
}

/* ============= LISTINGS (cards, filters) ============= */

.filters {
  margin-bottom:18px;
}

.filters-form {
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;
  gap:10px;
}

.filters-meta {
  margin-top:10px;
  color:#64748b;
  font-size:14px;
}

.listing-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}

.listing-card h3 {
  margin:10px 0 6px;
  color:var(--slate-900);
}

.muted {
  color:#64748b;
  font-size:14px;
}

.listing-card .actions {
  display:flex;
  gap:10px;
  margin-top:10px;
  flex-wrap:wrap;
}

/* ============= RESPONSIVE ============= */

@media (max-width:960px) {
  .two,
  .grid-2 {
    grid-template-columns:1fr;
  }

  .grid-3 {
    grid-template-columns:1fr;
  }

  .hero h2 {
    font-size:36px;
  }

  /* hide desktop menu – you can show hamburger here */
  .menu {
    display:none;
  }
}

@media (max-width:960px) {
  .filters-form {
    grid-template-columns:1fr 1fr;
  }

  .listing-grid {
    grid-template-columns:1fr;
  }
}
