
:root{
  --brand:#0b63b6; /* azul executivo */
  --text:#0f172a; --muted:#425466; --bg:#ffffff;
  --border:#e5e7eb; --surface:#f8fafc;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.5}
img{max-width:100%;height:auto}
a{color:var(--brand);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 16px}
.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:12px}
.brand{display:flex;align-items:center;gap:12px;font-weight:700;color:inherit;text-decoration:none}
.logo{height:56px;width:auto;display:block}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{padding:8px 10px;border-radius:10px}
.nav a:hover{background:var(--surface);text-decoration:none}
.nav-toggle{display:none;border:1px solid var(--border);background:#fff;border-radius:10px;padding:6px 10px}
.lang-switch{display:flex;gap:8px;align-items:center}
.flag{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--border);font-size:18px;line-height:1}
.flag.active{outline:2px solid #cfe4fb}
@media (max-width: 900px){
  .nav{display:none;flex-direction:column;gap:0}
  .nav.open{display:flex}
  .nav a{padding:12px 8px;border-radius:0;border-top:1px solid var(--border)}
  .nav-toggle{display:inline-block}
  .lang-switch{margin-left:auto}
}
.skip-link{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{position:static;width:auto;height:auto;padding:6px;background:#000;color:#fff}
.hero{background:linear-gradient(180deg,#fff, #f3f6fb)}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:center;padding:36px 0}
.kicker{letter-spacing:.16em;color:var(--brand);font-weight:700;margin:0 0 4px}
h1{margin:0 0 10px;font-size:clamp(24px,3.2vw,40px);line-height:1.2}
.lead{color:var(--muted);font-size:1.08rem;margin:0 0 16px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:10px 16px;border-radius:12px;border:1px solid var(--brand)}
.btn.primary{background:var(--brand);color:#fff;border-color:var(--brand)}
.btn.ghost{background:#fff;color:var(--brand)}
.section{padding:36px 0}
.section.alt{background:var(--surface)}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:18px}
ul.clean{list-style:none;padding:0;margin:0}
ul.columns{columns:2;column-gap:24px}
.footer{border-top:1px solid var(--border);padding:26px 0;margin-top:24px;background:#fff}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.contact-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
form label{display:block;margin:8px 0}
form input,form select,form textarea{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px}
form .inline{display:flex;gap:8px;flex-wrap:wrap}
fieldset{border:1px dashed #cfe0ef;border-radius:12px;padding:12px;background:#fff;margin-top:8px}
legend{padding:0 6px;color:#334155}
.checks-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
label.check{display:flex;align-items:center;gap:8px}
@media (max-width: 900px){
  .hero-inner{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  ul.columns{columns:1}
}
