:root{
  --g2v-green:#2f6b45; --g2v-green-soft:#e8f3ec; --g2v-blue:#204f68; --g2v-orange:#d7833a;
  --ink:#1c2622; --muted:#60706a; --bg:#fbfaf5; --card:#ffffff; --line:#dfe7df;
  --shadow:0 14px 40px rgba(18,45,29,.10); --radius:22px;
}
*{box-sizing:border-box} body{margin:0;background:radial-gradient(circle at top left,#f1f8ef 0,#fbfaf5 38%,#f8f4e9 100%);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--ink);line-height:1.55}
a{color:var(--g2v-blue)} header{position:sticky;top:0;z-index:5;backdrop-filter:blur(12px);background:rgba(251,250,245,.82);border-bottom:1px solid var(--line)}
.nav{max-width:1180px;margin:auto;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{font-weight:800;color:var(--g2v-green);letter-spacing:.2px}.pill{display:inline-flex;gap:8px;align-items:center;border:1px solid var(--line);background:var(--card);border-radius:999px;padding:8px 12px;font-size:.9rem;color:var(--muted)}
main{max-width:1180px;margin:auto;padding:28px 18px 96px}.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:stretch}
.card{background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.hero h1{font-size:clamp(2rem,6vw,4.4rem);line-height:.96;margin:0 0 16px;color:#183924}
.kicker{color:var(--g2v-orange);font-weight:800;text-transform:uppercase;font-size:.78rem;letter-spacing:.12em}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.stat strong{display:block;font-size:2rem;color:var(--g2v-green)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.toolbar input,.toolbar select{border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:white;min-width:220px}
.list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}.commune-card{cursor:pointer;transition:.2s transform,.2s box-shadow}.commune-card:hover{transform:translateY(-3px)}
.tag{display:inline-block;background:var(--g2v-green-soft);color:var(--g2v-green);padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700;margin:2px}
footer{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.92);border-top:1px solid var(--line);backdrop-filter:blur(10px)}
.bottom{max-width:1180px;margin:auto;padding:10px 18px;display:flex;gap:10px;justify-content:space-around}
.bottom a{text-decoration:none;color:var(--g2v-green);font-weight:700}.dataset-table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden}.dataset-table th,.dataset-table td{padding:11px;border-bottom:1px solid var(--line);text-align:left}.dataset-table th{background:var(--g2v-green-soft);color:var(--g2v-green)}
@media(max-width:760px){.hero{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}.bottom{font-size:.85rem}.toolbar input,.toolbar select{width:100%}}


/* V24 consolidation */
.quick-nav{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.quick-nav a{padding:.7rem 1rem;border-radius:999px;background:#ffffffcc;text-decoration:none;color:#174c3a;font-weight:700;box-shadow:0 6px 18px #0001}
.layout{max-width:1120px;margin:0 auto;padding:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.card{background:#fff;border-radius:1.4rem;padding:1.2rem;box-shadow:0 10px 30px #173c2a14;border:1px solid #dbe9df}
.card.wide{grid-column:1/-1}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.75rem}
.commune-card{padding:.9rem;border:1px solid #dbe9df;border-radius:1rem;background:#f8fbf7}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.8rem;font-weight:700;opacity:.75}
footer{text-align:center;padding:2rem;color:#567}
