:root{
  --bg:#ffffff;
  --ink:#0b1020;
  --muted:#5b6475;
  --brand:#0B1E4B;
  --gold:#C9A646;
  --card:#F6F7FB;
  --border:rgba(11,16,32,.12);
  --shadow:0 14px 40px rgba(11,16,32,.10);
  --radius:18px;
  --max:1120px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.55;
}
a{color:var(--brand); text-decoration:none}
a:hover{text-decoration:underline}
.container{width:min(var(--max), calc(100% - 2rem)); margin-inline:auto}
.skip-link{
  position:absolute; left:-999px; top:0;
  background:#fff; border:1px solid var(--border); padding:.5rem .75rem; z-index:9999
}
.skip-link:focus{left:1rem; top:1rem}

.site-header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.88);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.75rem 0}
.brand{display:flex; align-items:center; gap:.75rem}
.brand img{border-radius:12px; border:1px solid var(--border); background:#fff}
.brand-text{display:flex; flex-direction:column}
.brand-text small{color:var(--muted); font-size:.85rem}
.nav{display:flex; align-items:center; gap:1rem}
.nav-menu{display:flex; list-style:none; gap:.75rem; padding:0; margin:0; align-items:center}
.nav-menu a{display:inline-block; padding:.5rem .6rem; border-radius:12px}
.nav-menu a:hover{background:var(--card); text-decoration:none}
.nav-toggle{display:none; background:transparent; border:1px solid var(--border); border-radius:12px; padding:.55rem .65rem}
.hamburger{display:block; width:18px; height:2px; background:var(--ink); position:relative}
.hamburger::before,.hamburger::after{content:""; position:absolute; left:0; width:18px; height:2px; background:var(--ink)}
.hamburger::before{top:-6px}
.hamburger::after{top:6px}

.header-cta{display:flex; gap:.5rem; align-items:center}
.contact-pill{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.45rem .6rem; border:1px solid var(--border); border-radius:999px;
  background:#fff
}
.contact-pill:hover{text-decoration:none; background:var(--card)}

.page-hero{padding:2.2rem 0 1.2rem}
.eyebrow{color:var(--muted); font-size:.9rem; margin:0 0 .5rem}
.hero-grid{display:grid; grid-template-columns: 1.15fr .85fr; gap:1.25rem; align-items:start}
.card{background:var(--card); border:1px solid var(--border); border-radius:var(--radius); padding:1.1rem; box-shadow:var(--shadow)}
.card h2, .card h3{margin-top:0}
.hero-img{border-radius:var(--radius); border:1px solid var(--border); width:100%; height:auto; display:block}
.badges{display:flex; flex-wrap:wrap; gap:.5rem; margin:.9rem 0 0}
.badge{
  display:inline-flex; padding:.35rem .55rem; border:1px solid var(--border); border-radius:999px;
  background:#fff; color:var(--muted); font-size:.85rem
}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.8rem 1rem; border-radius:14px; border:1px solid transparent;
  background:var(--brand); color:#fff; font-weight:650; box-shadow:var(--shadow);
}
.btn:hover{text-decoration:none; filter:brightness(1.05)}
.btn-outline{background:#fff; color:var(--brand); border-color:var(--border); box-shadow:none}
.btn-small{padding:.55rem .75rem; box-shadow:none}
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
.grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem}

.kpis{display:grid; grid-template-columns:repeat(3, 1fr); gap:.8rem; margin-top:1rem}
.kpi{background:#fff; border:1px solid var(--border); border-radius:16px; padding:.9rem}
.kpi strong{display:block; font-size:1.1rem}
.kpi span{color:var(--muted); font-size:.9rem}

.prose{max-width:76ch}
.prose h1{margin:.2rem 0 .6rem; font-size:2rem; line-height:1.15}
.prose h2{margin:1.4rem 0 .6rem; font-size:1.35rem}
.prose h3{margin:1.1rem 0 .35rem; font-size:1.1rem}
.prose p{margin:.6rem 0}
.prose ul{margin:.6rem 0 .6rem 1.2rem}
.prose li{margin:.25rem 0}
.prose .note{border-left:4px solid var(--gold); padding:.75rem 1rem; background:#fff; border-radius:12px; border:1px solid var(--border)}
.prose .toc{background:#fff; border:1px solid var(--border); border-radius:16px; padding:.85rem}
.prose .toc a{display:block; padding:.2rem 0}

.cta-band{padding:1.4rem 0 2.3rem}
.cta-band-inner{
  display:flex; gap:1rem; align-items:center; justify-content:space-between;
  background:linear-gradient(135deg, rgba(11,30,75,.06), rgba(201,166,70,.12));
  border:1px solid var(--border);
  border-radius:var(--radius);
  padding:1.1rem;
}
.cta-actions{display:flex; gap:.6rem; flex-wrap:wrap}
.muted{color:var(--muted)}
hr{border:0; border-top:1px solid var(--border); margin:1.3rem 0}

.site-footer{border-top:1px solid var(--border); padding:2rem 0 1rem; background:#fff}
.footer-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1.3rem}
.site-footer ul{list-style:none; margin:.4rem 0 0; padding:0}
.site-footer li{margin:.25rem 0}
.footer-bottom{padding-top:1rem; border-top:1px solid var(--border); margin-top:1rem}

.whatsapp-float{
  position:fixed; right:1rem; bottom:1rem; z-index:60;
  display:inline-flex; align-items:center; gap:.5rem;
  background:#25D366; color:#fff; border-radius:999px;
  padding:.75rem 1rem; font-weight:700; box-shadow:var(--shadow);
}
.whatsapp-float:hover{text-decoration:none; filter:brightness(1.02)}
.whatsapp-text{display:inline}
.sr-only{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0}

.table{
  width:100%; border-collapse:separate; border-spacing:0;
  border:1px solid var(--border); border-radius:16px; overflow:hidden; background:#fff
}
.table th,.table td{padding:.75rem .8rem; border-bottom:1px solid var(--border); vertical-align:top; text-align:left}
.table tr:last-child td{border-bottom:none}
.table th{background:rgba(11,30,75,.05)}

@media (max-width: 920px){
  .hero-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr}
  .kpis{grid-template-columns:1fr}
  .grid-3{grid-template-columns:1fr}
  .grid-2{grid-template-columns:1fr}
  .header-cta{display:none}
  .nav-toggle{display:inline-flex}
  .nav-menu{
    display:none; position:absolute; right:1rem; top:70px;
    background:#fff; border:1px solid var(--border); border-radius:16px;
    padding:.5rem; flex-direction:column; width:min(320px, calc(100vw - 2rem));
    box-shadow:var(--shadow)
  }
  .nav-menu[data-open="true"]{display:flex}
}.wa-icon{display:inline-flex}.wa-text{font-size:.95rem}
@media (max-width:520px){
  .wa-text{display:none}}
