:root{
  --navy:#0d3a4c; --teal:#1f6f8b; --teal-2:#2a8aa6; --teal-soft:#e4f1f4;
  --ink:#1b2a31; --muted:#51626a; --paper:#fff; --mist:#f2f6f7; --line:rgba(13,58,76,.13);
  --c-especies:#6aa7b3; --c-cores:#7fb94a; --c-floracao:#e7b21f; --c-regioes:#ef7f23; --c-habitats:#e65a52; --c-conservacao:#d9489f;
  --c-artigos:#8e6ad6; --c-educacao:#6a55d8; --c-galeria:#3f86e0; --c-identificar:#2ab0dd; --c-familias:#2bb3a3; --c-dados:#1f9486;
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;
  --wrap:1240px; --radius:18px;
  --shadow:0 1px 2px rgba(13,58,76,.06),0 12px 32px -12px rgba(13,58,76,.22);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:inherit}
html{scroll-padding-top:calc(84px + env(safe-area-inset-top,0px));-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.0625rem;line-height:1.62}
img,svg{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--teal-2);outline-offset:3px;border-radius:6px}
.wrap{width:min(var(--wrap),100% - 2.5rem);margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.caps{font-family:var(--sans);text-transform:uppercase;letter-spacing:.3em;font-weight:500}
.kicker{font-family:var(--sans);font-size:.78rem;letter-spacing:.28em;text-transform:uppercase;color:var(--teal);font-weight:600;margin:0 0 .9rem;line-height:1.8}
.h2{font-family:var(--display);font-weight:700;font-size:clamp(2.1rem,4vw,3rem);line-height:1.04;letter-spacing:-.02em;color:var(--navy);margin:0 0 1.1rem}
.lead-s{color:var(--muted);max-width:34em;margin:0}
section{position:relative}
.section{padding:clamp(4rem,8vw,6.5rem) 0}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;background:rgba(255,255,255,.93);backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;gap:2rem;min-height:80px}
.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--navy)}
.brand svg{width:56px;height:56px;flex:none}
.brand-name{font-family:var(--sans);font-weight:600;font-size:1.28rem;line-height:1.02;letter-spacing:.03em;text-transform:uppercase;display:block}
.brand-sub{display:block;font-family:var(--sans);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;margin-top:.4rem;font-weight:600;color:var(--teal)}
.nav{margin-left:auto}
.nav ul{display:flex;gap:1.5rem;list-style:none;margin:0;padding:0}
.nav a{font-family:var(--sans);font-size:.83rem;font-weight:500;text-decoration:none;color:var(--ink);padding:.45rem 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--teal)}
.nav a[aria-current="page"]{color:var(--teal);border-color:var(--teal)}
.icon-btn{background:none;border:0;padding:.55rem;cursor:pointer;color:var(--navy);display:grid;place-items:center;border-radius:10px}
.icon-btn:hover{background:var(--teal-soft)}
.icon-btn svg{width:22px;height:22px}
.menu-toggle{display:none}
.search-panel{display:none;border-top:1px solid var(--line);padding:1rem 0}
.search-panel.open{display:block}
.search-panel form{display:flex;gap:.5rem}
.search-panel input{flex:1;font:inherit;padding:.8rem 1rem;border:1px solid var(--line);border-radius:12px}
.search-panel button{font-family:var(--sans);font-weight:600;background:var(--teal);color:#fff;border:0;border-radius:12px;padding:0 1.3rem;cursor:pointer}

.btn{display:inline-flex;align-items:center;gap:.65rem;font-family:var(--sans);font-weight:600;font-size:.95rem;text-decoration:none;padding:.95rem 1.6rem;border-radius:999px;border:0;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s}
.btn svg{width:20px;height:20px}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 10px 24px -10px rgba(31,111,139,.7)}
.btn-primary:hover{background:var(--navy)}
.btn-ghost{box-shadow:inset 0 0 0 1.5px var(--teal);color:var(--teal);background:rgba(255,255,255,.6)}
.btn-ghost:hover{background:var(--teal);color:#fff}
/* ---------- Rodapé ---------- */
.site-footer{background:var(--navy);color:#dbe8ec;font-family:var(--sans)}
.foot-top{display:grid;grid-template-columns:1.1fr 1.3fr .8fr .8fr;gap:2.5rem;align-items:center;padding:3.2rem 0 2.5rem}
.site-footer .brand{color:#fff}
.site-footer .brand svg{width:76px;height:76px;color:#4fb3cf}
.site-footer .brand-name{font-size:1.5rem}
.site-footer .brand-sub{color:#9fc7d3}
.site-footer h2{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;margin:0 0 .45rem}
.site-footer p{font-size:.8rem;margin:0 0 .9rem}
.news{display:flex;background:#fff;border-radius:12px;overflow:hidden;max-width:320px}
.news input{flex:1;min-width:0;border:0;padding:.85rem 1rem;font:inherit;font-size:.84rem;color:var(--ink)}
.news button{border:0;background:var(--teal-2);color:#fff;width:50px;cursor:pointer;display:grid;place-items:center}
.news button svg{width:18px;height:18px}
.news-msg{font-size:.75rem;margin-top:.55rem;min-height:1.2em;color:#bfe3ec}
.social{display:flex;gap:.8rem;list-style:none;margin:0;padding:0}
.social a{display:grid;place-items:center;width:38px;height:38px;color:#fff;border-radius:10px}
.social a:hover{background:rgba(255,255,255,.12)}
.social svg{width:22px;height:22px}
.motto{border-left:1px solid rgba(255,255,255,.22);padding-left:1.8rem;font-size:.7rem;line-height:2.1;margin:0}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.3rem 0 1.7rem;font-size:.78rem}
.foot-bottom ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.foot-bottom li+li::before{content:"•";margin:0 .7rem;opacity:.55}
.foot-links li+li::before{content:"|"}
.foot-bottom a{text-decoration:none}
.foot-bottom a:hover{text-decoration:underline}

@media (max-width:1180px){.foot-top{grid-template-columns:1fr 1fr}.motto{border-left:0;padding-left:0}}
@media (max-width:1040px){
  .menu-toggle{display:grid}
  .nav{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);display:none;box-shadow:0 20px 30px -20px rgba(13,58,76,.3)}
  .nav.open{display:block}
  .nav ul{flex-direction:column;gap:0;padding:.4rem 1.25rem 1rem}
  .nav a{display:block;padding:.85rem 0;border-bottom:1px solid var(--line)}
  .nav a[aria-current="page"]{border-bottom-color:var(--line)}
  .site-header .wrap{gap:.4rem}
  .search-toggle{margin-left:auto}
}
@media (max-width:620px){.brand svg{width:44px;height:44px}.brand-name{font-size:1.02rem}.brand-sub{font-size:.5rem;letter-spacing:.14em}.foot-top{grid-template-columns:1fr}}
