:root{
  --blue:#2563EB; --green:#10B981; --text:#1F2937; --muted:#6B7280; --bg:#FFFFFF; --bg-2:#F3F4F6; --border:#E5E7EB;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,"Helvetica Neue",Arial,sans-serif;color:var(--text);background:var(--bg);}
.container{width:min(1100px,92%);margin:0 auto}
.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0}
.logo .brand{font-weight:800;font-size:1.2rem;letter-spacing:.2px}
.logo .brand span{color:var(--green)}
.nav a{margin-left:1rem;text-decoration:none;color:var(--text)}
.nav a.btn{margin-left:1.5rem}
.btn{display:inline-block;padding:.7rem 1rem;border-radius:.75rem;border:1px solid var(--border);text-decoration:none;font-weight:600}
.btn-primary{background:var(--blue);border-color:var(--blue);color:white}
.btn-outline{background:transparent;border-color:var(--blue);color:var(--blue)}
.btn-ghost{background:transparent;border-color:transparent;color:var(--text)}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:2rem;padding:2.5rem 0}
.hero h1{font-size:2rem;margin:.2rem 0}
.hero p{color:var(--muted)}
.hero .card{background:var(--bg-2);padding:1rem;border-radius:1rem;border:1px solid var(--border)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--bg);border:1px solid var(--border);border-radius:1rem;padding:1rem}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:1.5rem 0}
.kpis .card h3{margin:.2rem 0;font-size:1.1rem}
.section{padding:2rem 0}
.section h2{margin-top:0}
.badge{display:inline-block;background:var(--bg-2);border:1px solid var(--border);padding:.3rem .55rem;border-radius:.6rem;margin-right:.4rem;font-size:.8rem;color:var(--muted)}
.list{list-style:none;margin:.3rem 0;padding:0}
.list li{margin:.35rem 0}
.footer{margin-top:3rem;background:var(--bg-2);border-top:1px solid var(--border);padding:2rem 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem}
.footer .brand-small{font-weight:800}
.footer-bottom{margin-top:1rem;border-top:1px dashed var(--border);padding-top:1rem;color:var(--muted)}
.muted{color:var(--muted)}
.hero-cta{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}
/* Map block */
.map-wrap{position:relative;border:1px solid var(--border);border-radius:1rem;overflow:hidden;min-height:340px;background:var(--bg-2)}
.map-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.85);backdrop-filter:saturate(1.4) blur(1px);text-align:center;padding:1rem}
.map-overlay .btn{margin-left:.5rem}
/* Forms */
form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
form input, form textarea, form select{width:100%;padding:.75rem;border:1px solid var(--border);border-radius:.7rem;background:white}
form textarea{min-height:140px;resize:vertical}
form .actions{margin-top:1rem}
.alert{padding:1rem;border-radius:.7rem;border:1px solid var(--border);background:#ECFDF5}
.alert.error{background:#FEF2F2;border-color:#FCA5A5}
.cookie-banner{position:fixed;left:0;right:0;bottom:0;background:white;border-top:1px solid var(--border);padding:.9rem 1rem;box-shadow:0 -10px 30px rgba(0,0,0,.05);}
.cookie-banner.hidden{display:none}
.cookie-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;max-width:1100px;margin:0 auto}
/* Responsive */
@media (max-width:900px){
  .hero{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .kpis{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
  form .row{grid-template-columns:1fr}
}
