
:root{
  --brand:#ff6600;
  --brand-2:#1e3a8a;
  --ink:#0f172a;
  --muted:#5b6475;
  --paper:#ffffff;
  --line:#e6eaf2;
  --soft:#f6f8fb;
}
*{box-sizing:border-box} html,body{margin:0;padding:0}
body{font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial; color:var(--ink); background:var(--paper); line-height:1.6}
a{color:inherit;text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:0 20px}
.badge{font-size:.75rem;border:1px solid var(--line);padding:6px 10px;border-radius:999px;color:var(--brand-2);background:#f4f7ff}
.btn{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--brand);background:var(--brand);color:#fff;font-weight:700;transition:.2s transform,.2s box-shadow}
.btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(255,102,0,.25)}
.btn-outline{background:transparent;color:var(--brand);border-color:var(--brand)}
.btn-outline:hover{background:#fff2e9}
.navbar{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--line)}
.navbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 0}
.logo{display:flex;align-items:center;gap:10px;font-weight:900;letter-spacing:.2px;color:var(--ink)}
.logo-mark{width:36px;height:36px;border-radius:10px;background:var(--brand);display:grid;place-items:center;color:#111;font-weight:900}
.nav-links{display:flex;gap:18px}
.nav-links a{color:var(--muted);font-weight:600}
.nav-links a.active,.nav-links a:hover{color:var(--ink)}
.burger{display:none;border:1px solid var(--line);border-radius:10px;padding:8px 10px;color:var(--muted);background:transparent}
@media(max-width:820px){.nav-links{display:none}.burger{display:block}}
.hero{padding:80px 0 40px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#fff,#fff 60%,var(--soft))}
.hero h1{font-size:clamp(30px,6vw,54px);margin:0 0 8px}
.hero p{color:var(--muted);max-width:760px}
.hero .chips{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.section{padding:60px 0;border-bottom:1px solid var(--line)}
.section h2{font-size:clamp(22px,3vw,32px);margin:0 0 8px}
.section .lead{color:var(--muted);max-width:900px}
.grid{display:grid;gap:18px}
.grid.cols-3{grid-template-columns:repeat(3,1fr)}
.grid.cols-4{grid-template-columns:repeat(4,1fr)}
.grid.cols-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:980px){.grid.cols-3{grid-template-columns:repeat(2,1fr)} .grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid.cols-3,.grid.cols-2,.grid.cols-4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;transition:.2s transform,.2s box-shadow}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(17,24,39,.08)}
.band{background:linear-gradient(180deg,#0f1115,#141a27);color:#e8edf7}
.band .card{background:#121723;border-color:#2a3447;color:#e8edf7}
.band .card p{color:#b8c0cf}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:14px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;text-align:center}
.kpi h3{margin:4px 0 0}
.kpi .muted{color:var(--muted);font-size:.9rem}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:980px){.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.gallery{grid-template-columns:1fr}}
.gallery img, .gallery iframe{width:100%;border-radius:14px;border:1px solid var(--line);background:#f6f8fb}
footer{padding:28px 0;color:#667084;text-align:center;border-top:1px solid var(--line);background:#fff}
.pagehead{padding:44px 0;background:linear-gradient(180deg,#fff,#fff 55%,#f6f8fb);border-bottom:1px solid var(--line)}
.pagehead h1{margin:0}
input,textarea,select{width:100%;background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ink);outline:none}
input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(255,102,0,.15)}
.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}
@media(max-width:640px){.form-row{grid-template-columns:1fr}}
.form-note{color:var(--muted);font-size:.9rem;margin-top:6px}
.figure{display:flex;align-items:center;gap:14px}
.figure img{width:56px;height:56px;border-radius:12px;border:1px solid var(--line);background:#fff}
.figure .txt{font-size:.95rem;color:var(--muted)}
.hero.video-hero{
  position:relative;
  padding:110px 0;
  border-bottom:1px solid var(--line);
  background:#000;
  color:#fff;
  overflow:hidden;
}
.hero.video-hero .container{ position:relative; z-index:2; }
.hero.video-hero h1{ color:#fff; }
.hero.video-hero p{ color:#e5e7eb; }

.hero.video-hero .bgvideo{
  position:absolute; inset:0;
  width:100%; height:100%;
  object-fit:cover; z-index:0;
  filter:brightness(.9);
}
.hero.video-hero .overlay{
  position:absolute; inset:0; z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.35) 60%,rgba(0,0,0,.65));
}

@media (max-width:640px){
  .hero.video-hero{ padding:80px 0; }
}
/* Footer: separadores por punto */
.footer-links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:0;
}
.footer-links a{
  white-space:nowrap; padding:0 .25rem; color:#667084;
}
.footer-links a + a::before{
  content:" • "; color:#98a2b3;
}
.logo {
  background: #fff;
  border-radius: 12px;
  padding: 6px 8px;
  box-shadow: 0 1px 0 rgba(0,0,0,.06);
}