/* =========================
   Global CSS (site-wide)
   ========================= */

/* 1) Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap');

/* 2) Design tokens */
:root{
  --bg: #ffffff;
  --text: #0f172a;
  --muted:#64748b;
  --border:#e5e7eb;

  --green-50:#f1f8f4;
  --green-100:#e7f5ee;
  --green-200:#cfe9dc;
  --green-300:#b7e7cf;
  --green-600:#15803d;
  --green-700:#0b3d1b;

  --radius: 12px;
  --shadow-1: 0 8px 24px rgba(0,0,0,.04);
  --shadow-2: 0 10px 24px rgba(21,128,61,.22);
}

/* 3) Reset-ish */
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  font-family:"Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  font-size:16px;
  line-height:1.6;
  color:var(--text);
  background:var(--bg);
}

/* 4) Elements */
a{ color:var(--green-700); text-decoration:none; }
a:hover{ text-decoration:underline; }
img{ max-width:100%; height:auto; display:block; }

/* 5) Layout helpers */
.container{ width:100%; max-width:1100px; margin:0 auto; padding:0 20px; }

/* Clamp big ornaments inside sections (prevents bleeding into footer) */
.section{
  padding:40px 0;
  position: relative;       /* clamp context */
  overflow: hidden;         /* cut background pseudo-elements */
}

/* Simple card */
.card{
  background:#fff; border:1px solid var(--border);
  border-radius:var(--radius); box-shadow:var(--shadow-1);
}

/* Badges + Buttons */
.badge{ display:inline-block; padding:6px 10px; border-radius:9999px; font-weight:800; }
.btn{
  display:inline-flex; align-items:center; gap:10px;
  padding:10px 14px; border-radius:10px;
  font-weight:800; text-decoration:none; border:1px solid transparent;
}
.btn--primary{
  background:var(--green-600); color:#eafff0;
  border-color:rgba(255,255,255,.18);
  box-shadow:var(--shadow-2);
}
.btn--outline{ background:#fff; color:var(--green-700); border:1px solid var(--border); }

/* 6) Footer (robust & isolated) */
.site-footer{
  position: relative;
  overflow: hidden;          /* cut any accidental overflow from inside */
  isolation: isolate;        /* new stacking context; stops z-index bleed */
  background: var(--green-700);
  color:#e7f5ee;
  padding:42px 0 24px;
}

.site-footer::before,
.site-footer::after{
  content:none !important;   /* disable any generic global ornaments */
  display:none !important;
}

.site-footer a{ color:#e7f5ee; text-decoration:none; }
.site-footer a:hover{ text-decoration:underline; }
.site-footer .muted{ color:#bfe6d2; }

.footer-top{
  display:grid; gap:22px;
  grid-template-columns: repeat(12, minmax(0,1fr));
  align-items:flex-start;
}

/* columns */
.f-brand{ grid-column: span 5; }
.f-cols { grid-column: span 7; display:grid; gap:18px;
  grid-template-columns: repeat(12, minmax(0,1fr)); }

.f-col{ grid-column: span 4; }
@media (max-width: 980px){
  .f-brand{ grid-column: span 12; }
  .f-cols { grid-column: span 12; grid-template-columns: repeat(12, minmax(0,1fr)); }
  .f-col{ grid-column: span 6; }
}
@media (max-width: 620px){
  .f-col{ grid-column: span 12; }
}

.f-brand__row{
  display:flex; align-items:center; gap:10px; margin-bottom:8px;
}
.f-brand__logo{
  width:28px; height:28px; border-radius:8px;
  background:#eaf6ef; display:grid; place-items:center;
  border:1px solid #d7eee4;
}
.f-brand__logo svg{ width:16px; height:16px; color:#0b3d1b; }

.f-brand h4{ margin:0; font-weight:900; letter-spacing:.2px; }
.f-brand p { margin:8px 0 0; color:#d5efe3; }

/* lists */
.f-col h5{
  margin:0 0 8px; color:#e7f5ee; font-weight:900; letter-spacing:.3px;
}
.f-col ul{ list-style:none; padding:0; margin:0; }
.f-col li{ margin:6px 0; }
.f-col a{ color:#e7f5ee; }

/* contact bits */
.f-contact{ margin-top:10px; }
.f-contact .row{ display:flex; align-items:flex-start; gap:10px; margin:6px 0; color:#e7f5ee; }
.f-contact .row svg{ width:16px; height:16px; margin-top:2px; }

/* bottom bar */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:22px; padding-top:16px; color:#cfe9dc;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  flex-wrap:wrap;
}
.footer-bottom .right{ opacity:.9; }
