/* Mobile-first, accessible design (fluid type + fixed image cards) */
:root {
  --bg:#fcfdfb;
  --text:#0f1412;
  --muted:#4a5b53;
  --brand:#1b4332;
  --brand2:#2d6a4f;
  --card:#ffffff;
  --alt:#f4f7f5;
  --radius:16px;
  --shadow:0 14px 40px rgba(0,0,0,.08)
}

@media (prefers-color-scheme: dark){
  :root {
    --bg:#0b0f0d;
    --text:#e8f1ed;
    --muted:#b9c7c0;
    --card:#0e1512;
    --alt:#09120e
  }
}

*{box-sizing:border-box}
html:focus-within{scroll-behavior:smooth}
html,body{margin:0;padding:0}

/* Fluid base font so text scales on mobile */
html{font-size:clamp(15px, 1.1vw + 14px, 18px)}
body{
  font:1rem/1.6 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;
  color:var(--text);
  background:var(--bg)
}

/* Fluid headings */
h1{font-size:clamp(28px, 3.5vw + 18px, 44px);line-height:1.2;margin:0 0 .4em}
h2{font-size:clamp(22px, 2.2vw + 14px, 32px);line-height:1.3;margin:.2em 0 .4em}
h3{font-size:clamp(18px, 1.8vw + 12px, 24px);line-height:1.35;margin:.2em 0 .4em}

.wrap{max-width:1100px;margin-inline:auto;padding:clamp(16px,3vw,28px);overflow-wrap:anywhere}
.skip{position:absolute;left:-9999px}
.skip:focus{left:16px;top:16px;background:#fff;color:#000;border-radius:10px;padding:8px 10px}
.hdr{position:sticky;top:0;z-index:100;background:rgba(27,67,50,.92);color:#fff;border-bottom:1px solid rgba(0,0,0,.06);backdrop-filter:saturate(120%) blur(6px)}
.hdr-inner{display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:700}
.brand img{border-radius:10px}
.nav ul{display:flex;gap:20px;list-style:none;margin:0;padding:0}
.nav a{color:#fff;text-decoration:none;opacity:.95}
.nav a:hover{opacity:1}
.nav-toggle{display:none;background:transparent;border:0;cursor:pointer}
.nav-toggle .bar{display:block;width:22px;height:2px;background:#fff;margin:4px 0;border-radius:2px}

@media (max-width:860px){
  .nav-toggle{display:block}
  .nav{display:none;position:absolute;inset:64px 0 auto 0}
  .nav.open{display:block}
  .nav ul{flex-direction:column;background:var(--card);border:1px solid rgba(0,0,0,.06);border-radius:14px;margin:12px;padding:12px;box-shadow:var(--shadow)}
  .nav a{color:var(--text)}
}

.hero{padding:clamp(36px,7vw,90px) 0;background:linear-gradient(90deg,rgba(27,67,50,.09),rgba(45,106,79,.06))}
.lead{color:var(--muted);max-width:65ch;margin:6px 0 0}
.note{color:var(--muted);font-size:.95rem}
.grid{display:grid;gap:clamp(14px,2vw,22px)}
.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:980px){.two,.three{grid-template-columns:1fr}}

.card{background:var(--card);border:1px solid rgba(0,0,0,.06);border-radius:var(--radius);padding:clamp(16px,2.2vw,20px);box-shadow:var(--shadow)}
.cards .card:hover{transform:translateY(-2px)}

.sec{padding:clamp(28px,6vw,80px) 0}
.sec.alt{background:var(--alt)}

.btn{display:inline-block;border:1px solid rgba(0,0,0,.06);padding:12px 16px;border-radius:14px;text-decoration:none;color:var(--text);background:var(--card);box-shadow:var(--shadow)}
.btn.primary{background:linear-gradient(90deg,var(--brand),var(--brand2));border-color:transparent;color:#fff}
.btn:hover{transform:translateY(-1px)}

.ticks{padding-left:1.2rem}
.ticks li{margin:6px 0}

.form{display:grid;gap:12px;max-width:650px}
.form label{display:grid;gap:6px}
.form input,.form textarea,.form select{
  border:1px solid rgba(0,0,0,.12);
  border-radius:12px;
  padding:12px;
  background:#fff;
  color:var(--text)
}

.ftr{border-top:1px solid rgba(0,0,0,.06);padding:18px 0;background:transparent}
.ftr-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.footnote{max-width:1100px;margin:0 auto;padding:8px 28px 24px;color:var(--muted);font-size:.9rem}
.small{font-size:.95rem}
.muted{color:var(--muted)}

/* --- IMAGE + FIGURE FIXES --- */
figure.card{
  padding:0;                 /* remove inner white border */
  overflow:hidden;
  max-width:500px;           /* match image size */
  margin:0 auto;             /* center figure */
}

.hero .hero-card{
  padding:0;
  max-width:700px;
  margin:0 auto;
}

figure img{
  display:block;
  width:100%;
  height:auto;
  border-radius:0;
}

.card img{
  max-width:100%;
  height:auto;
  display:block;
  margin:0 auto;
  border-radius:12px;
}

@media (max-width:520px){
  .sec{padding:28px 0}
  .wrap{padding:18px}
}
