:root{
  --tinta:#141118; --tinta-suave:#5b5566; --papel:#ffffff; --crema:#f7f4f0;
  --acento:#c8102e; --acento-osc:#8f0b21; --linea:#e6e0da; --radio:14px;
}
*{box-sizing:border-box}
body{margin:0;font:16px/1.65 "Helvetica Neue",Helvetica,Arial,sans-serif;color:var(--tinta);background:var(--papel)}
a{color:var(--acento);text-decoration:none}
a:hover{text-decoration:underline}
.contenedor{width:100%;max-width:1060px;margin:0 auto;padding:0 22px}

header.barra{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.94);backdrop-filter:blur(6px);border-bottom:1px solid var(--linea)}
.barra .contenedor{display:flex;align-items:center;justify-content:space-between;height:68px;gap:20px;flex-wrap:wrap}
.logo{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--tinta)}
.logo span{color:var(--acento)}
nav a{display:inline-block;margin-left:22px;color:var(--tinta-suave);font-weight:600;font-size:15px}
nav a.activo{color:var(--acento)}

.hero{background:var(--crema);border-bottom:1px solid var(--linea);padding:64px 0}
.hero h1{font-size:clamp(30px,5vw,46px);line-height:1.12;margin:0 0 14px;letter-spacing:-.02em}
.hero p{font-size:19px;color:var(--tinta-suave);max-width:62ch;margin:0 0 26px}
.boton{display:inline-block;background:var(--acento);color:#fff;padding:13px 26px;border-radius:999px;font-weight:700}
.boton:hover{background:var(--acento-osc);text-decoration:none}
.boton.secundario{background:transparent;color:var(--acento);border:2px solid var(--acento)}

section{padding:52px 0}
h2{font-size:28px;letter-spacing:-.01em;margin:0 0 8px}
.sub{color:var(--tinta-suave);margin:0 0 28px;max-width:60ch}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:22px}
.tarjeta{border:1px solid var(--linea);border-radius:var(--radio);padding:24px;background:var(--papel)}
.tarjeta h3{margin:0 0 8px;font-size:19px}
.tarjeta p{margin:0;color:var(--tinta-suave);font-size:15px}
.etiqueta{display:inline-block;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--acento);margin-bottom:10px}
.gris{background:var(--crema)}

table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--linea)}
th{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--tinta-suave)}
.tabla-scroll{overflow-x:auto}

form{max-width:560px}
label{display:block;font-weight:600;font-size:14px;margin:16px 0 6px}
input,select,textarea{width:100%;padding:12px 14px;border:1px solid var(--linea);border-radius:10px;font:inherit;background:var(--papel)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acento);border-color:transparent}
button{margin-top:22px;background:var(--acento);color:#fff;border:0;padding:14px 30px;border-radius:999px;font:inherit;font-weight:700;cursor:pointer}
button:hover{background:var(--acento-osc)}
.legal{font-size:13px;color:var(--tinta-suave);margin-top:14px}

footer{background:var(--tinta);color:#cfc9d4;padding:34px 0;margin-top:40px;font-size:14px}
footer a{color:#fff}
.aviso{background:#fff6d6;border:1px solid #e8d08a;border-radius:10px;padding:12px 16px;font-size:14px;margin:20px 0 0}
