
:root {
  --accent:#22b36a; /* primary green closer to logo */
  --accent-dark:#1d8f55;
  --accent-ink:#0b5a33;
  --text:#0e1a14;
  --muted:#5a6a60;
  --bg:#ffffff;
  --card:#eef8f2; /* subtle mint tint */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;line-height:1.5}
img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.site-header{
  border-bottom:1px solid rgba(34,179,106,.25);
  background: linear-gradient(180deg, rgba(34,179,106,.10) 0%, rgba(34,179,106,.05) 50%, rgba(255,255,255,1) 100%);
  position:sticky; top:0; z-index:10;
}
.nav a{color:#1e4935}
.nav a:hover{color:var(--accent)}
.brand span{color:#0e1a14}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 0}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text);font-weight:700;font-size:1.2rem}
.brand img{width:36px;height:36px;object-fit:contain;border-radius:50%}
.accent{color:var(--accent)}
.nav a{margin:0 10px;text-decoration:none;color:#333;font-weight:600}
.nav a:hover{color:var(--accent)}
.hero{padding:56px 0 24px;display:grid;align-items:center}
.hero-text h1{font-size:2rem;margin:.2em 0}
.btn{display:inline-block;border:1px solid var(--accent);padding:10px 16px;border-radius:10px;text-decoration:none;color:#fff;background:var(--accent);font-weight:700}
.btn.secondary{background:transparent;color:var(--accent)}
.grid.two{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:800px){.grid.two{grid-template-columns:1fr 1fr}}
.cards{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:900px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--card);padding:18px;border-radius:12px}
.checklist li::marker{content:"✓ "}
.plain{list-style:disc;margin-left:20px}
.site-footer{margin-top:40px;border-top:1px solid #eaeaea;background:#fff}
.footer-inner{display:grid;grid-template-columns:1fr;gap:16px;padding:18px 0}
@media(min-width:800px){.footer-inner{grid-template-columns:auto 1fr auto;align-items:center}}
.f-brand{display:flex;align-items:center;gap:12px}
.f-brand img{width:36px;height:36px;border-radius:50%}
.f-links a{margin-right:14px;text-decoration:none;color:#333}
.f-links a:hover{color:var(--accent)}
.f-social .icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #ddd;margin-left:8px}
.f-social .icon:hover{border-color:var(--accent)}
.contact-form{display:grid;gap:10px}
.contact-form label{display:grid;gap:6px;font-weight:600}
.contact-form input,.contact-form textarea{padding:10px;border:1px solid #ccc;border-radius:8px;font:inherit}
.cta-card{background:var(--card);padding:16px;border-radius:12px;margin-top:12px}
.tagline{font-style:italic;color:var(--muted)}

a{color:var(--accent)}
a:hover{color:var(--accent-dark)}

.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.secondary:hover{color:#fff;background:var(--accent);}

.hero{padding:0}
.slider{position:relative;overflow:hidden;background:linear-gradient(135deg,#f4fbf7 0%, #e7f7ef 100%);}
.slides{display:flex;transition:transform .6s ease;min-height:380px}
.slide{min-width:100%;display:grid;place-items:center;padding:64px 16px}
.slide-inner{max-width:900px;text-align:center}
.slide h1{font-size:2.2rem;margin:.3em 0;color:var(--accent-ink)}
.slide p{color:#2f3a34;font-size:1.05rem}
.slide .btns{margin-top:12px}
.slide:nth-child(1){background:linear-gradient(120deg, #eaf8f1, #ffffff)}
.slide:nth-child(2){background:linear-gradient(120deg, #ffffff, #e6f6ee)}
.slide:nth-child(3){background:linear-gradient(120deg, #f4fbf7, #ffffff)}

.slider-dots{position:absolute;left:50%;transform:translateX(-50%);bottom:12px;display:flex;gap:8px}
.slider-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--accent);background:#fff;opacity:.8;cursor:pointer}
.slider-dots button.active{background:var(--accent)}

.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);border:none;background:rgba(255,255,255,.9);width:40px;height:40px;border-radius:50%;cursor:pointer}
.slider-arrow:focus{outline:2px solid var(--accent)}
.slider-arrow.left{left:10px}
.slider-arrow.right{right:10px}


/* Mobile-first nav with hamburger */
.header-inner{position:relative}
.nav-toggle{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid #dfe7e2;border-radius:10px;background:#fff;cursor:pointer}
.nav-toggle span{display:block;width:20px;height:2px;background:var(--accent-ink);position:relative}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--accent-ink)}
.nav-toggle span::before{top:-6px}
.nav-toggle span::after{top:6px}

.nav{position:absolute;top:58px;right:16px;background:#ffffff;border:1px solid #e5eee9;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.06);padding:10px;display:none;flex-direction:column;min-width:200px}
.nav a{padding:10px 12px;border-radius:8px;margin:2px 0}
.nav a:hover{background:#f1f7f3}
.nav.open{display:flex}

@media(min-width:900px){
  .nav-toggle{display:none}
  .nav{position:static;display:flex;background:transparent;border:none;box-shadow:none;flex-direction:row;padding:0;min-width:auto}
  .nav a{margin:0 10px;padding:0}
}
/* Improve container spacing on small screens */
.container{padding:0 14px}
main.container{padding-bottom:20px}


/* Pretty tables */
table.nice{width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #eef3ef; border-radius:12px; background:#fff; box-shadow:0 2px 8px rgba(0,0,0,.03)}
table.nice thead th{background:#eaf8f1; font-weight:700; text-align:left; padding:12px}
table.nice td, table.nice th{padding:12px; border-bottom:1px solid #eef3ef}
table.nice tr:last-child td{border-bottom:none}
table.nice tbody tr:hover{background:#f7fbf9}
.icon{display:inline-flex; align-items:center; gap:8px}
.icon svg{width:18px; height:18px; color:var(--accent)}
.section-art{width:100%; max-width:480px; margin:0 auto 12px auto; opacity:.9}
.metrics{padding:18px 0}
.metrics-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}
@media(min-width:800px){.metrics-grid{grid-template-columns:repeat(4,1fr)}}
.metric{background:#fff; border:1px solid #eef3ef; border-radius:14px; padding:14px; text-align:center; box-shadow:0 4px 16px rgba(0,0,0,.04)}
.metric .num{font-size:1.4rem; font-weight:800; color:var(--accent-ink)}
.metric .lbl{color:var(--muted); font-weight:600}
.badge{display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid #eef3ef; border-radius:999px; background:#f5fbf8; font-weight:600}
.badge svg{width:16px;height:16px; color:var(--accent)}

/* Icon bullets */
ul.icon-list{list-style:none; padding-left:0}
ul.icon-list li{display:flex; align-items:flex-start; gap:10px; padding:8px 0}
ul.icon-list svg{flex:0 0 auto; width:20px; height:20px; color:var(--accent)}


.section-banner{margin:8px 0 18px 0; border-radius:16px; overflow:hidden}
.lede{font-size:1.1rem; color:#2f3a34}
.grid.cards{display:grid; grid-template-columns:1fr; gap:16px}
@media(min-width:800px){.grid.cards{grid-template-columns:repeat(3,1fr)}}
.card.media{display:grid; grid-template-rows:auto 1fr; background:#fff; border:1px solid #eef3ef; border-radius:14px; box-shadow:0 2px 8px rgba(0,0,0,.03)}
.card.media img{width:100%; border-bottom:1px solid #e1eee6}
.card.media .body{padding:14px}
.card.media .body h3{margin:0 0 6px 0}
.media-row{display:grid; grid-template-columns:1fr; gap:14px; align-items:center}
@media(min-width:900px){.media-row{grid-template-columns:1.2fr 1fr}}
.media-row .copy{padding:6px 0}
.hstack{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.muted{color:var(--muted)}

.section{margin:18px 0}
.section h2{margin-bottom:6px}


/* --- Attractive section styling for About page --- */
.section-box{
  background:#f7fbf9;
  border:1px solid #e7f1eb;
  border-radius:16px;
  padding:16px;
  margin:16px 0;
  box-shadow:0 4px 14px rgba(0,0,0,.03);
}
.section-box .lede{margin-top:0}
.grid-2{display:grid; grid-template-columns:1fr; gap:16px}
@media(min-width:900px){.grid-2{grid-template-columns:1fr 1fr}}
ul.plain.two-col{column-gap:24px}
@media(min-width:900px){ul.plain.two-col{columns:2}}
.values-grid{list-style:disc; margin-left:20px}
.card-soft{
  background:#ffffff;
  border:1px solid #eef3ef;
  border-radius:14px;
  padding:14px;
  box-shadow:0 2px 10px rgba(0,0,0,.03);
}
.kbd{display:inline-block; padding:2px 8px; border-radius:6px; background:#eef8f2; border:1px solid #e1eee6; font-weight:600}
.hl{background:linear-gradient(90deg,#eaf8f1,transparent); padding:0 4px; border-radius:4px}


/* Site-wide shaded sections */
.section-box{
  background:#f7fbf9;
  border:1px solid #e7f1eb;
  border-radius:16px;
  padding:16px;
  margin:16px 0;
  box-shadow:0 4px 14px rgba(0,0,0,.03);
}
/* Icon lists in two columns on desktop */
ul.icon-list.two-col{column-gap:28px}
@media(min-width:900px){ul.icon-list.two-col{columns:2}}


.page-lead{display:flex;align-items:center;gap:10px;margin:14px 0 6px 0}
.page-lead img{height:32px;width:auto;border-radius:6px}
.page-lead .tag{font-weight:700;color:#174c34}
.footer-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.footer-actions .badge{display:inline-flex;align-items:center;gap:6px}



/* Refined merged partners table */
table.nice.merged-partner { width: 100%; border-collapse: separate; border-spacing: 0; }
table.nice.merged-partner td { vertical-align: top; padding: 12px 16px; }
table.nice.merged-partner colgroup col { width: 50%; }
table.nice.merged-partner td + td { border-left: 1px solid #e6efe9; }
table.nice.merged-partner h3 { font-size: 1.05rem; margin: 0 0 8px 0; color: #174c34; }
table.nice.merged-partner ul.icon-list { margin: 0; padding-left: 0; list-style: none; }
table.nice.merged-partner ul.icon-list li { margin: 6px 0; }
@media (max-width: 768px) {
  table.nice.merged-partner, table.nice.merged-partner tbody, table.nice.merged-partner tr, table.nice.merged-partner td {
    display: block; width: 100%;
  }
  table.nice.merged-partner td + td { border-left: none; border-top: 1px solid #e6efe9; margin-top: 10px; padding-top: 14px; }
}

