:root{
    --bg:#fbfbfa; --fg:#1c1c1a; --muted:#5d5d58; --line:#e2e2dd;
    --accent:#2f5d50; --accent-fg:#ffffff; --card:#ffffff;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#16181a; --fg:#e8e8e4; --muted:#a0a09a; --line:#2c2f32;
      --accent:#7fbfa8; --accent-fg:#10211c; --card:#1d2023;
    }
  }
  *{box-sizing:border-box}
  body{
    margin:0; background:var(--bg); color:var(--fg);
    font:16px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:44rem; margin:0 auto; padding:0 1.25rem}
  header{padding:3.5rem 0 2.5rem; border-bottom:1px solid var(--line)}
  .brand{font-size:1.05rem; font-weight:600; letter-spacing:.02em; margin:0 0 1.75rem}
  .brand span{color:var(--accent)}
  h1{font-size:clamp(1.7rem,5vw,2.4rem); line-height:1.2; margin:0 0 .85rem; letter-spacing:-.02em}
  .lede{font-size:1.1rem; color:var(--muted); margin:0; max-width:34rem}
  section{padding:2.75rem 0; border-bottom:1px solid var(--line)}
  h2{font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted);
     margin:0 0 1.1rem; font-weight:600}
  p{margin:0 0 1rem}
  ul{margin:0 0 1rem; padding-left:1.15rem}
  li{margin-bottom:.45rem}
  a{color:var(--accent)}
  .contact{list-style:none; padding:0; margin:0}
  .contact li{display:flex; gap:.75rem; align-items:baseline; margin-bottom:.7rem}
  .contact b{min-width:5.5rem; font-weight:500; color:var(--muted); font-size:.9rem}
  .contact a{font-size:1.05rem; text-decoration:none; font-weight:500}
  .contact a:hover{text-decoration:underline}
  .note{background:var(--card); border:1px solid var(--line); border-radius:.5rem;
        padding:1rem 1.1rem; color:var(--muted); font-size:.92rem; margin-top:1.5rem}
  footer{padding:2rem 0 3rem; color:var(--muted); font-size:.85rem}
  footer a{color:var(--muted)}
  footer p{margin:0 0 .5rem}
  #subvencion{margin-top:1rem; padding-top:1rem; border-top:1px solid var(--line)}

/* Formulario de contacto */
form{margin-top:1.5rem}
form label{display:block; font-size:.9rem; color:var(--muted); margin:0 0 .35rem}
form input[type=text],form input[type=email],form textarea{
  width:100%; padding:.6rem .7rem; margin-bottom:1rem; font:inherit;
  color:var(--fg); background:var(--card);
  border:1px solid var(--line); border-radius:.4rem;
}
form input:focus-visible,form textarea:focus-visible,form button:focus-visible{
  outline:2px solid var(--accent); outline-offset:2px;
}
form textarea{resize:vertical; min-height:7rem}
.check{display:flex; gap:.6rem; align-items:flex-start; margin-bottom:1.1rem}
.check input{margin-top:.3rem; flex:0 0 auto}
.check span{font-size:.9rem; line-height:1.5; color:var(--fg)}
form button{
  font:inherit; font-weight:500; padding:.6rem 1.4rem; cursor:pointer;
  color:var(--accent-fg); background:var(--accent);
  border:0; border-radius:.4rem;
}
form button:disabled{opacity:.55; cursor:default}
#f-estado{margin:.9rem 0 0; font-size:.9rem; color:var(--muted); min-height:1.3em}
.trampa{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden}
