/* Layout: firma de una sola página. Héroe a pantalla completa (pedido del cliente), luego bandas alternas claras/oscuras: autoridad, doble capacidad, modelo, diferencial, experiencia, PIU, liderazgo, capacidad, nosotros y cierre oscuro. */
:root{
  --ink:#0b1d2b; --ink-2:#4a5a68; --deep:#07131d; --blue:#008cc7; --blue-2:#5cc3ee; --steel:#99a1a8;
  --paper:#f4f6f7; --surface:#ffffff; --line:#d9e0e5;
  --f-display:"Nunito","Arial Rounded MT Bold",Arial,sans-serif;
  --f-body:"Nunito",Arial,sans-serif;
  --f-mono:"Nunito",Arial,sans-serif;
  --r:14px; --r-sm:10px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--ink:#e7eef3;--ink-2:#a3b1bc;--paper:#0d1a24;--surface:#12222e;--line:#22384a;color-scheme:dark}}
:root[data-theme="dark"]{--ink:#e7eef3;--ink-2:#a3b1bc;--paper:#0d1a24;--surface:#12222e;--line:#22384a;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:17px;line-height:1.6;font-variant-numeric:lining-nums}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--deep)}
.in{max-width:1180px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--f-display);margin:0;line-height:1.15;text-wrap:balance;letter-spacing:-.01em;font-weight:800}
p{margin:0}
a{color:inherit}
:focus-visible{outline:3px solid var(--blue-2);outline-offset:3px}
.kick{font-family:var(--f-display);font-weight:800;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.lead{font-size:1.12rem;color:var(--ink-2);max-width:62ch}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;font-family:var(--f-display);font-weight:800;font-size:1rem;letter-spacing:.01em;padding:12px 24px;border:2px solid transparent;border-radius:var(--r-sm);text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn.pri{background:var(--blue);color:#fff}
.btn.pri:hover{background:#0079ad}
.btn.sec{border-color:currentColor;color:#fff}
.btn.sec:hover{background:rgba(255,255,255,.1)}
.btn .ar{font-family:var(--f-body)}

/* barra */
.top{position:fixed;top:env(safe-area-inset-top,0px);left:0;right:0;z-index:20;background:rgba(7,19,29,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.top .in{display:flex;align-items:center;justify-content:space-between;gap:20px;height:72px}
.top img{height:38px;width:auto;display:block}
.top nav{display:flex;gap:22px}
.top nav a{font-family:var(--f-display);font-weight:700;font-size:.98rem;letter-spacing:.01em;color:#cfdbe4;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.top nav a:hover{color:#fff;border-color:var(--blue)}
.menu-t,.menu-b{display:none}

/* héroe */
.hero{position:relative;min-height:min(100vh,860px);display:flex;align-items:center;background:var(--deep);color:#fff;overflow:hidden}
.hero .bg{position:absolute;inset:0;background-size:cover;background-position:center}
.hero .bg.placeholder{background:
  radial-gradient(1200px 600px at 85% 20%, rgba(0,140,199,.35), transparent 60%),
  radial-gradient(900px 500px at 10% 90%, rgba(92,195,238,.18), transparent 60%),
  linear-gradient(160deg,#0a2234,#07131d 70%)}
.hero .contour{position:absolute;inset:0;opacity:.16}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,19,29,.25) 0%,rgba(7,19,29,.55) 55%,rgba(7,19,29,.92) 100%)}
.hero .in{width:100%;position:relative;z-index:1;padding-block:124px 64px;display:grid;gap:20px;justify-items:center;text-align:center}
.hero h1{font-size:clamp(2.5rem,5.8vw,4.8rem);font-weight:900;line-height:1.05;max-width:16ch}
.idie{text-transform:none!important;letter-spacing:0}
.hero h1 em{font-style:normal;color:var(--blue-2);text-transform:none}
.hero .sub{font-size:clamp(1.05rem,1.6vw,1.25rem);color:#d3dee6;max-width:58ch}
.hero .claim{font-family:var(--f-display);font-weight:700;font-size:1.08rem;color:#fff;background:rgba(0,140,199,.2);border:1px solid rgba(92,195,238,.4);border-radius:999px;padding:8px 20px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:4px}

section{padding-block:72px}
.dark{background:var(--deep);color:#fff}
.dark .lead{color:#b9c8d3}
.anchor{display:flex;gap:14px;align-items:center;justify-content:center;margin-top:28px;font-family:var(--f-display);font-weight:800;font-size:1.2rem;color:var(--blue);text-align:center}
.anchor::before,.anchor::after{content:"";flex:none;width:32px;height:3px;border-radius:3px;background:var(--blue)}
.dark .anchor{color:var(--blue-2)}.dark .anchor::before,.dark .anchor::after{background:var(--blue-2)}
h2{font-size:clamp(1.9rem,3.4vw,2.7rem);font-weight:800}

/* autoridad */
.auth{display:grid;gap:32px;justify-items:center}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;width:100%;max-width:960px}
.stat{padding:22px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);display:grid;gap:6px;justify-items:center;align-content:start;text-align:center}
.stat b{font-family:var(--f-display);font-weight:900;font-size:2.2rem;line-height:1;color:var(--blue)}
.stat span{font-size:.95rem;color:var(--ink-2);line-height:1.35}

/* doble capacidad */
.dual{display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch;margin-top:36px;border-radius:var(--r);overflow:hidden}
.col{padding:34px;display:grid;gap:22px;align-content:start}
.col.l{background:#0f2a3d}
.col.r{background:#0a3550}
.col h3{font-size:clamp(1.35rem,2.2vw,1.7rem);font-weight:800;text-align:center}
.col ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.col li{position:relative;padding:10px 0 10px 28px;border-bottom:1px solid rgba(255,255,255,.12);font-size:1rem;color:#dbe6ee}
.col li::before{content:"—";position:absolute;left:0;color:var(--blue-2)}
.col .tag{font-family:var(--f-display);font-weight:800;font-size:1rem;color:var(--blue-2);text-align:center}
.mid{width:110px;display:grid;place-items:center;background:var(--blue);padding:24px 14px}
.mid p{font-family:var(--f-display);font-weight:900;font-size:1.15rem;line-height:1.15;text-align:center;writing-mode:vertical-rl;transform:rotate(180deg)}

/* modelo */
.chain{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:32px;counter-reset:s}
.step{position:relative;padding:22px 18px;border-top:6px solid var(--blue);border-radius:var(--r);background:var(--surface);counter-increment:s;display:grid;gap:8px;align-content:start;justify-items:center;text-align:center}
.step:nth-child(2){border-color:#1f9fd5}.step:nth-child(3){border-color:#3fb0e2}.step:nth-child(4){border-color:#2a7aa3}.step:nth-child(5){border-color:var(--ink)}
.step::before{content:"0" counter(s);font-family:var(--f-mono);font-weight:800;font-size:.85rem;color:var(--steel)}
.step h3{font-size:1.35rem;font-weight:800}
.step p{font-size:.95rem;color:var(--ink-2);line-height:1.45}

/* diferencial */
.diff{display:grid;gap:32px;justify-items:center}
.checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;width:100%}
.checks li{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r);padding:22px 18px;font-family:var(--f-display);font-weight:800;font-size:1.12rem;line-height:1.25;display:grid;gap:12px;justify-items:center;text-align:center}
.checks li::before{content:"";width:26px;height:26px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.quote{font-family:var(--f-display);font-weight:900;font-size:clamp(1.4rem,2.4vw,1.9rem);line-height:1.2;margin-top:20px;color:var(--blue-2)}

/* experiencia */
.exp{margin-top:48px;border-top:2px solid var(--ink)}
.exp .row{display:grid;grid-template-columns:110px 1.1fr 1.6fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.exp .y{font-family:var(--f-mono);color:var(--blue);font-size:.95rem}
.exp .c{font-family:var(--f-display);font-weight:800;font-size:1.12rem;line-height:1.15}
.exp .s{color:var(--ink-2);font-size:1rem;line-height:1.45}
.note{font-size:.88rem;color:var(--ink-2);margin-top:18px}

/* PIU */
.piu{display:grid;gap:28px;justify-items:center}
.assets{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;width:100%}
.asset{padding:20px 12px;text-align:center;display:grid;gap:10px;justify-items:center;align-content:start;background:var(--surface);border:1px solid var(--line);border-radius:var(--r)}
.asset i{width:44px;height:44px;border-radius:50%;background:rgba(0,140,199,.12);display:grid;place-items:center;font-style:normal;font-family:var(--f-display);font-weight:800;color:var(--blue);font-size:1.2rem}
.asset b{font-family:var(--f-display);font-weight:800;font-size:1rem;line-height:1.2}

/* liderazgo */
.lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:32px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:30px;display:grid;gap:14px;align-content:start;justify-items:center;text-align:center}
.card .logo{height:58px;display:flex;align-items:center}
.card .logo img{max-height:58px;max-width:100%;width:auto}
.card h3{font-size:1.35rem;font-weight:800}
.card p{color:var(--ink-2)}
.card a{font-family:var(--f-display);font-weight:800;color:var(--blue);text-decoration:none}

/* capacidad */
.ops{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:rgba(255,255,255,.12);margin-top:32px;border:1px solid rgba(255,255,255,.12);border-radius:var(--r);overflow:hidden}
.op{background:var(--deep);padding:24px 18px;display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.op b{font-family:var(--f-mono);font-size:.8rem;color:var(--blue-2)}
.op h3{font-size:1.15rem;font-weight:800;line-height:1.2}
.op p{font-size:.92rem;color:#a9bac6;line-height:1.4}

/* nosotros */
.about{display:grid;gap:32px;justify-items:center}
.manifest{font-family:var(--f-display);font-weight:900;font-size:clamp(1.7rem,3vw,2.4rem);line-height:1.15}
.manifest span{color:var(--blue)}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;width:100%}
.facts div{display:grid;gap:4px;align-content:start;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);font-size:.95rem;text-align:center}
.facts dt{font-family:var(--f-display);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--blue)}
.facts dd{margin:0}


/* cobertura */
.verbs{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
.verbs span{font-family:var(--f-display);font-weight:800;font-size:1.05rem;padding:8px 20px;border-radius:999px;background:var(--blue);color:#fff}
.levels{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.lvl{padding:22px 20px;display:grid;gap:12px;align-content:start;justify-items:center;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:var(--paper)}
.lvl .L{font-family:var(--f-display);font-weight:900;font-size:3.2rem;line-height:.9;color:var(--blue)}
.lvl h3{font-size:1.3rem;font-weight:800}
.lvl ul{list-style:none;margin:0;padding:0;display:grid;gap:0;width:100%}
.lvl li{display:grid;gap:2px;padding:12px 0;border-top:1px solid var(--line)}
.lvl li span{font-weight:600;line-height:1.3}
.lvl li em{font-style:normal;font-family:var(--f-mono);font-weight:700;font-size:.82rem;color:var(--blue)}
.ocde{margin-top:28px;display:grid;gap:12px;justify-items:center;text-align:center}
.ocde ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.ocde li{border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.95rem;background:var(--paper)}
@media (max-width:1000px){.levels{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.levels{grid-template-columns:1fr}}


/* confían */
.orgs{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:2px solid var(--ink)}
.orgs li{padding:18px 12px;border-bottom:1px solid var(--line);font-family:var(--f-display);font-weight:800;font-size:1.05rem;line-height:1.25;text-align:center}
/* servicios */
.ejes{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.eje{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--blue);border-radius:var(--r);padding:26px;display:grid;gap:12px;align-content:start}
.eje:nth-child(2){border-top-color:#3fb0e2}.eje:nth-child(3){border-top-color:var(--ink)}
.eje-k{font-family:var(--f-display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.9rem;color:var(--blue)}
.eje h3{font-size:1.4rem;font-weight:800}
.eje ul,.extra ul{list-style:none;margin:0;padding:0;display:grid;gap:0}
.eje li{padding:10px 0;border-top:1px solid var(--line);font-size:1rem;line-height:1.4;color:var(--ink-2)}
.extra{margin-top:24px;display:grid;gap:12px}
.extra ul{display:flex;flex-wrap:wrap;gap:8px}
.extra li{border:1px solid var(--line);border-radius:999px;padding:7px 16px;font-size:.95rem;background:var(--surface)}
.lvl li.types span{font-weight:400;font-size:.9rem;color:var(--ink-2)}
.metodos{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px;text-align:left}
.metodos div{border-left:4px solid var(--blue);border-radius:var(--r-sm);background:var(--surface);padding:14px 18px;display:grid;gap:4px}
.metodos b{font-family:var(--f-display);font-weight:800;font-size:1.1rem}
.metodos span{color:var(--ink-2);font-size:.98rem}
.metodos a{color:var(--blue);font-weight:600;text-decoration:none}
.motto{margin-top:18px;font-family:var(--f-display);font-weight:800;font-size:1.2rem;color:var(--blue)}
@media (max-width:1000px){.orgs{grid-template-columns:1fr 1fr}.ejes{grid-template-columns:1fr}}
@media (max-width:600px){.orgs{grid-template-columns:1fr}}


/* servicios: logros */
.logros{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:32px}
.logro{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--blue);border-radius:var(--r);padding:24px;display:grid;gap:14px;align-content:start}
.logro h3{font-size:1.3rem;font-weight:800}
.prod{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.prod li{background:rgba(0,140,199,.1);color:var(--ink);border-radius:999px;padding:5px 13px;font-size:.92rem;font-weight:600}
.como{font-size:.95rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:12px}
.como a{color:var(--blue);font-weight:600;text-decoration:none}
/* hélice */
.helice{list-style:none;margin:18px auto 0;padding:0;max-width:820px;display:grid;grid-template-columns:repeat(4,1fr);border:2px solid var(--blue);border-radius:var(--r);overflow:hidden;text-align:center}
.helice li{padding:14px 12px;display:grid;gap:2px;border-right:1px solid var(--line)}
.helice li:last-child{border-right:0}
.helice b{font-family:var(--f-display);font-weight:900;font-size:1.1rem;color:var(--blue)}
.helice span{font-size:.85rem;color:var(--ink-2);line-height:1.3}
/* proyectos / eventos / noticias / galería */
.leyenda{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px 32px}
.leyenda li{display:flex;gap:12px;align-items:flex-start;font-size:.98rem;color:var(--ink-2)}
.leyenda b{color:var(--ink)}
.st{font-style:normal;font-family:var(--f-mono);font-weight:800;border-radius:8px;width:32px;height:32px;flex:none;display:grid;place-items:center;color:#fff}
.st-p{background:#7a8a96}.st-e{background:var(--blue)}.st-c{background:#1f8a4c}.st-d{background:#b5651d}
.vacio{margin-top:28px;border:2px dashed var(--line);border-radius:var(--r);padding:24px;color:var(--ink-2);text-align:center}
.cal{display:grid;gap:0;margin-top:24px;border-top:2px solid var(--ink)}
.ev{display:grid;grid-template-columns:110px 1fr;gap:24px;padding:22px 0;border-bottom:1px solid var(--line);align-items:start}
.fecha{background:var(--deep);color:#fff;text-align:center;padding:12px 6px;display:grid;border-radius:var(--r-sm)}
.fecha b{font-family:var(--f-display);font-weight:900;font-size:1.8rem;line-height:1}
.fecha span{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#9fb4c3}
.tag{font-family:var(--f-display);font-weight:800;letter-spacing:.1em;text-transform:uppercase;font-size:.78rem;color:var(--blue)}
.ev h3{font-size:1.3rem;font-weight:800;margin:4px 0 6px}
.ev p:last-child{color:var(--ink-2)}
.gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:28px}
.ph{aspect-ratio:4/3;background:linear-gradient(135deg,var(--line),transparent);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;place-items:center}
.ph span{font-family:var(--f-display);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}
@media (max-width:1000px){.logros{grid-template-columns:1fr 1fr}.gal{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.logros,.leyenda{grid-template-columns:1fr}.helice{grid-template-columns:1fr 1fr}.helice li:nth-child(2){border-right:0}.ev{grid-template-columns:80px 1fr;gap:16px}}


.pasos{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--surface)}
.pasos li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:22px;border-right:1px solid var(--line)}
.pasos li:last-child{border-right:0}
.pasos li>b{width:44px;height:44px;flex:none;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;font-family:var(--f-display);font-weight:900;font-size:1.3rem}
.pasos h3{font-size:1.2rem;font-weight:800}
.pasos p{color:var(--ink-2);font-size:.98rem;margin-top:4px}
.acc{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.btn.sec2{border-color:var(--ink);color:var(--ink)}
.btn.sec2:hover{background:rgba(0,140,199,.08)}
@media (max-width:860px){.pasos{grid-template-columns:1fr}.pasos li{border-right:0;border-bottom:1px solid var(--line)}}

/* cierre */
.cta{background:var(--deep);color:#fff;position:relative;overflow:hidden}
.cta .in{display:grid;gap:28px;justify-items:center;text-align:center}
.cta h2{font-size:clamp(2rem,3.8vw,3rem);max-width:22ch;margin-inline:auto}
.cta ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.cta li{display:flex;gap:8px;align-items:center;font-size:1rem;color:#dbe6ee;padding:8px 16px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(255,255,255,.04)}
.cta li::before{content:"✓";color:var(--blue-2);font-weight:700}
.cta .talk{font-family:var(--f-display);font-weight:900;font-size:1.9rem;margin-top:20px}
.contact-line{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;margin-top:22px;font-family:var(--f-mono);font-size:.95rem;color:#b9c8d3}

footer{background:#040c13;color:#9fb0bd;padding-block:48px 28px}
footer .in{display:grid;gap:24px;text-align:center}
.anchor-f{font-family:var(--f-display);font-weight:900;font-size:clamp(1.4rem,2.6vw,2.1rem);line-height:1.2;color:#fff;text-wrap:balance}
.anchor-f span{color:var(--blue-2)}
.foot-row{display:flex;justify-content:center;gap:24px;flex-wrap:wrap;align-items:center;border-top:1px solid rgba(255,255,255,.1);padding-top:24px;font-size:.9rem}
.foot-row img{height:34px;width:auto}
.social{display:flex;gap:18px}
.social a{color:#cfdbe4;text-decoration:none;font-family:var(--f-display);font-weight:800}

@media (max-width:1000px){
  .dual{grid-template-columns:1fr}
  .mid{width:auto}.mid p{writing-mode:horizontal-tb;transform:none}
  .chain{grid-template-columns:1fr 1fr}.step:last-child{grid-column:1/-1}
  .ops,.checks{grid-template-columns:1fr 1fr}
  .assets{grid-template-columns:repeat(3,1fr)}
  .lead-grid{grid-template-columns:1fr}
}
@media (max-width:1240px){
  .menu-b{display:grid;gap:5px;cursor:pointer;padding:10px}
  .menu-b span{display:block;width:26px;height:2px;background:#fff}
  .menu-t{display:block;position:absolute;opacity:0;width:46px;height:46px;right:16px;cursor:pointer}
  .top nav{display:none;position:absolute;top:72px;left:0;right:0;background:var(--deep);flex-direction:column;gap:0;padding:8px max(20px,env(safe-area-inset-left,0px)) 18px}
  .top nav a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .menu-t:checked ~ nav{display:flex}
}
@media (max-width:600px){
  section{padding-block:52px}
  .chain,.ops,.checks,.stats,.metodos{grid-template-columns:1fr}
  .exp .row{grid-template-columns:1fr;gap:4px}
  .assets{grid-template-columns:1fr 1fr}
  .col{padding:28px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* ===== Sitio dinámico: piezas comunes ===== */
.saltar{position:absolute;left:-9999px;top:0;z-index:50;background:#fff;color:var(--ink);padding:10px 16px}
.saltar:focus{left:12px;top:12px}
.top nav a.on{color:#fff;border-color:var(--blue)}
.btn.sm{font-size:.95rem;padding:10px 18px}
.txt{display:grid;gap:12px;color:var(--ink-2)}
.tag .st{width:24px;height:24px;display:inline-grid;font-size:.8rem;vertical-align:middle;margin-right:6px}

/* Banda de título de páginas internas */
.pagehero{background:var(--deep);color:#fff;padding-block:120px 52px;position:relative;overflow:hidden}
.pagehero::after{content:"";position:absolute;left:50%;margin-left:-260px;top:-300px;width:520px;height:520px;border-radius:50%;border:1px solid rgba(92,195,238,.18);box-shadow:0 0 0 60px rgba(92,195,238,.04),0 0 0 120px rgba(92,195,238,.03)}
.pagehero .in{position:relative;z-index:1;display:grid;gap:14px;justify-items:center;text-align:center}
.pagehero h1{font-size:clamp(2.1rem,4.4vw,3.4rem);font-weight:900;max-width:22ch}
.pagehero .sub{font-size:clamp(1.02rem,1.5vw,1.18rem);color:#c7d4de;max-width:62ch}
.sec-t{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:800;margin:48px 0 0;text-align:center}
.mes{font-size:1rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--blue);margin:28px 0 0;text-align:center}
.aviso{margin-top:48px;background:var(--deep);color:#fff;border-radius:var(--r);padding:28px 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.aviso h3{font-size:1.35rem;font-weight:800}
.aviso p{color:#b9c8d3;margin-top:4px}

/* Proyectos */
.pros{display:grid;grid-template-columns:repeat(2,1fr);gap:0 32px;margin-top:32px;border-top:2px solid var(--ink)}
.pro{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:flex-start}
.pro h3{font-size:1.1rem;font-weight:800;line-height:1.25}
.anio{margin-top:40px}
.anio h2{font-size:2.4rem;font-weight:900;text-align:center;color:var(--blue);border-bottom:2px solid var(--ink);padding-bottom:8px}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px}
.pcard{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:grid;align-content:start;text-align:center}
.pcard img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.pcard .bd{padding:22px;display:grid;gap:10px}
.pcard h3{font-size:1.2rem;font-weight:800;line-height:1.2}
.place{font-size:.95rem;color:var(--ink-2)}
.mas{color:var(--blue);font-weight:600;text-decoration:none}

/* Calendario */
.ev{grid-template-columns:110px 1fr auto}
.ev-c{display:grid;gap:6px}
.ev-d{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;color:var(--ink-2);font-size:.98rem}
.ev .acc{margin-top:10px}
.ev-img{width:220px;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.pasados .ev{opacity:.75}

/* Noticias */
.notas{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.nota{display:grid;gap:10px;align-content:start;text-align:center}
.nota-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--deep);border-radius:var(--r)}
.nota-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.nota-img:hover img{transform:scale(1.03)}
.nota-img.sin{display:grid;place-items:center}
.nota-img.sin span{font-family:var(--f-display);font-weight:800;font-size:2rem;letter-spacing:.2em;color:rgba(92,195,238,.5)}
.nota h3{font-size:1.2rem;font-weight:800;line-height:1.2}
.nota h3 a{text-decoration:none}
.nota h3 a:hover{color:var(--blue)}
.nota p:last-child{color:var(--ink-2);font-size:1rem}
.detalle{padding-block:120px 64px}
.detalle .in{max-width:820px;display:grid;gap:20px}
.detalle h1{font-size:clamp(1.9rem,4vw,2.8rem);font-weight:900}
.detalle .sub{font-size:1.25rem;color:var(--ink-2)}
.det-img{width:100%;height:auto;display:block;border-radius:var(--r)}
.crumb{font-size:.95rem;color:var(--ink-2)}
.crumb a{color:var(--blue);text-decoration:none;font-weight:600}

/* Galería y videos */
.gal .ph{margin:0;overflow:hidden}
.gal .ph img{width:100%;height:100%;object-fit:cover;display:block}
.gal.grande{grid-template-columns:repeat(3,1fr);gap:18px}
.gal.grande figure{margin:0;display:grid;gap:8px}
.gal.grande img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:var(--r)}
.gal.grande figcaption{font-size:.95rem;color:var(--ink-2)}
.vgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:28px}
.vcard{display:grid;gap:10px;align-content:start}
.vcard h3{font-size:1.15rem;font-weight:800}
.vframe{aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden}
.vframe iframe{width:100%;height:100%;border:0;display:block}

/* Pie */
.foot-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.foot-cols div{display:grid;gap:6px;align-content:start;justify-items:center}
.foot-cols h3{font-size:.85rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:6px}
.foot-cols a{color:#b9c8d3;text-decoration:none}
.foot-cols a:hover{color:#fff}

@media (max-width:1000px){.pgrid,.notas,.gal.grande{grid-template-columns:1fr 1fr}.ev{grid-template-columns:110px 1fr}.ev-img{display:none}}
@media (max-width:700px){.pros,.pgrid,.notas,.gal.grande,.vgrid,.foot-cols{grid-template-columns:1fr}.ev{grid-template-columns:80px 1fr;gap:16px}.pagehero{padding-block:120px 48px}}
.pagehero + section{padding-top:52px}
/* Fotos reales */
.territorio{padding-top:0}
.fotos3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.fotos3 figure{margin:0;position:relative;overflow:hidden;aspect-ratio:4/3;border-radius:var(--r)}
.fotos3 img{width:100%;height:100%;object-fit:cover;display:block}
.fotos3 figcaption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);border-radius:999px;background:var(--deep);color:#fff;font-family:var(--f-display);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.9rem;padding:8px 14px}
.equipo{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;margin-bottom:24px;border-radius:var(--r)}
@media (max-width:700px){.fotos3{grid-template-columns:1fr 1fr}.fotos3 figure:last-child{display:none}}
.hero .bg:not(.placeholder) + .contour + .in, .hero .bg:not(.placeholder) ~ .in{text-shadow:0 2px 18px rgba(0,0,0,.35)}
.hero:has(.bg:not(.placeholder))::after{background:radial-gradient(ellipse at center,rgba(7,19,29,.78) 0%,rgba(7,19,29,.55) 75%),linear-gradient(180deg,rgba(7,19,29,.2) 0%,rgba(7,19,29,.85) 100%)}
.hero .kick{color:var(--blue-2)}

/* ===== Estructura comercial ===== */
.hero .pregunta{font-family:var(--f-display);font-weight:800;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;color:#fff;margin-top:6px}
/* Servicios: tarjetas */
.svgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.sv{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;padding:26px 24px;display:grid;gap:10px;align-content:start;justify-items:center;text-align:center;text-decoration:none;color:var(--ink);position:relative;transition:background .2s}
.sv::before{content:"";position:absolute;left:0;top:0;width:0;height:4px;background:var(--blue);transition:width .25s}
.sv:hover{background:#eef7fc}.sv:hover::before{width:100%}
:root[data-theme="dark"] .sv:hover{background:#163042}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .sv:hover{background:#163042}}
.sv-n{font-family:var(--f-mono);font-weight:800;font-size:.85rem;color:var(--blue)}
.sv h3{font-size:1.3rem;font-weight:800;line-height:1.2}
.sv p{color:var(--ink-2);font-size:1rem}
.sv-mas{font-family:var(--f-display);font-weight:800;color:var(--blue);font-size:.95rem;margin-top:6px}
.svgrid.compacto{margin-top:24px}.svgrid.compacto .sv{padding:22px}.svgrid.compacto h3{font-size:1.1rem}
/* Servicios: listado */
.svlista{display:grid;border-top:2px solid var(--ink)}
.svfila{display:grid;grid-template-columns:70px 1fr 200px;gap:28px;padding:28px 0;border-bottom:1px solid var(--line);align-items:start}
.svfila .sv-n{font-size:1.4rem;padding-top:6px}
.svfila h2{font-size:clamp(1.4rem,2.4vw,1.8rem);font-weight:800}
.svacc{display:grid;gap:10px}
/* Servicio: detalle */
.svdet{display:grid;grid-template-columns:1fr 340px;gap:56px;align-items:start}
.incluye{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--line)}
.incluye li{padding:14px 0 14px 34px;border-bottom:1px solid var(--line);position:relative}
.incluye li::before{content:"";position:absolute;left:0;top:17px;width:20px;height:20px;border-radius:50%;background:var(--blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10.5l3 3 7-7' fill='none' stroke='white' stroke-width='2.2'/%3E%3C/svg%3E") center/14px no-repeat}
.nota-legal{margin-top:24px;border-radius:var(--r-sm);padding:14px 18px;border-left:4px solid var(--steel);background:var(--surface);font-size:.95rem;color:var(--ink-2)}
.svlado{position:sticky;top:96px;background:var(--deep);color:#fff;border-radius:var(--r);padding:28px;display:grid;gap:14px}
.svlado h3{font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-2)}
.svlado p{color:#c7d4de}
.svlado .btn{justify-content:center}
.svlado .btn.sec2{border-color:#fff;color:#fff}
/* Plataformas */
.plats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}
.plat{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);border-radius:var(--r);padding:24px;display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.plat h3{font-size:1.35rem;font-weight:800}
.plat p:not(.tag){color:#b9c8d3;font-size:1rem}
.plat a{color:var(--blue-2);font-family:var(--f-display);font-weight:800;text-decoration:none}
.platlista{display:grid;border-top:2px solid var(--ink)}
.platfila{padding:30px 0;border-bottom:1px solid var(--line);display:grid;gap:14px}
.platfila h2{font-size:clamp(1.6rem,3vw,2.3rem);font-weight:800}
/* Nosotros */
.mvv{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.mvv article{display:grid;gap:10px;align-content:start;justify-items:center;text-align:center;border-top:4px solid var(--blue);padding-top:18px}
.mvv article p:not(.kick){font-size:1.08rem;color:var(--ink-2)}
.helice.grande{margin-top:32px}.helice.grande li{padding:20px 16px}.helice.grande b{font-size:1.4rem}
/* Contacto */
.contacto{display:grid;grid-template-columns:1fr 360px;gap:56px;align-items:start}
.form-c{display:grid;gap:18px}
.form-c label{display:grid;gap:6px;font-family:var(--f-display);font-weight:700;font-size:.95rem}

.form-c input,.form-c select,.form-c textarea{font:inherit;font-family:var(--f-body);font-size:1rem;text-transform:none;letter-spacing:0;padding:13px 14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);width:100%;border-radius:var(--r-sm)}
.form-c input:focus,.form-c select:focus,.form-c textarea:focus{outline:3px solid rgba(0,140,199,.35);border-color:var(--blue)}
.fila2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.trampa{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.privacidad{font-size:.9rem;color:var(--ink-2)}
.form-c .btn{justify-self:start;cursor:pointer;border:0}
.errores{background:#fdecea;border-left:4px solid #b42318;border-radius:var(--r-sm);color:#7a1a12;padding:14px 18px;margin-bottom:20px;display:grid;gap:4px}
.exito{background:var(--surface);border-top:6px solid #1f8a4c;border-radius:var(--r);padding:28px;display:grid;gap:14px}
.exito h2{font-size:1.7rem;font-weight:800}
.exito a:not(.btn){color:var(--blue)}
.contacto-lado{background:var(--deep);color:#fff;border-radius:var(--r);padding:28px;display:grid;gap:8px;align-content:start}
.contacto-lado h3{font-size:1rem;letter-spacing:.16em;text-transform:uppercase;color:var(--blue-2)}
.contacto-lado .dato{color:#fff;font-size:1.2rem;font-weight:600;text-decoration:none}
.contacto-lado .aclara,.contacto-lado .dato-s{color:#9fb4c3;font-size:.92rem}
.contacto-lado ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.contacto-lado ul a{color:#c7d4de;text-decoration:none}
.contacto-lado ul a:hover{color:#fff}
/* WhatsApp flotante */
.wa-flot{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:40;display:flex;align-items:center;gap:10px;background:#1f8a4c;color:#fff;text-decoration:none;padding:12px 18px 12px 14px;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.25);font-family:var(--f-display);font-weight:800;font-size:.95rem}
.wa-flot:hover{background:#18723f}

@media (max-width:1000px){
  .svgrid,.plats,.mvv{grid-template-columns:1fr 1fr}
  .svdet,.contacto{grid-template-columns:1fr;gap:36px}
  .svlado{position:static}
  .svfila{grid-template-columns:50px 1fr}.svacc{grid-column:2;grid-template-columns:auto auto;justify-content:start}
}
@media (max-width:700px){
  .svgrid,.plats,.mvv,.fila2{grid-template-columns:1fr}
  .svfila{grid-template-columns:1fr;gap:10px}.svacc{grid-column:auto}
  .wa-flot span{display:none}.wa-flot{padding:14px;border-radius:50%}
}
.form-c .et b{color:var(--blue)}
.kick .idie{letter-spacing:inherit}
.foot-cols{grid-template-columns:1.1fr 1.2fr 1fr 1fr}
.svgrid.compacto{grid-template-columns:repeat(5,1fr)}
@media (max-width:1000px){.foot-cols{grid-template-columns:1fr 1fr}.svgrid.compacto{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.foot-cols,.svgrid.compacto{grid-template-columns:1fr}}
/* Organizaciones agrupadas */
.orgs-g{display:grid;grid-template-columns:2fr 1fr;gap:40px 48px;margin-top:40px}
.orgs-g>div:first-child{grid-row:span 2}
.orgs-g h3{font-size:.85rem;letter-spacing:.14em;text-align:center;text-transform:uppercase;color:var(--blue);font-weight:700}
.orgs-g .orgs{margin-top:12px;grid-template-columns:1fr 1fr}
.orgs-g>div:not(:first-child) .orgs{grid-template-columns:1fr}
.orgs-g .orgs li{font-size:1.05rem}
@media (max-width:860px){.orgs-g{grid-template-columns:1fr}.orgs-g>div:first-child{grid-row:auto}.orgs-g .orgs{grid-template-columns:1fr}}
@media (max-width:700px){.kick-l{display:none}}

/* ===== Contenido centrado ===== */
.in>.kick,.in>h2,.in>.lead,.in>.sub,.in>.note{text-align:center;margin-inline:auto}
.in>p:has(>.btn),.in>.acc,.cta .ctas,.cta .acc{justify-content:center;text-align:center}
.auth>div,.diff>div,.piu>div,.about>div,.cta .in>div{width:100%;max-width:900px;margin-inline:auto;text-align:center}
.auth .lead,.diff .lead,.piu .lead,.about .lead,.cta p{margin-inline:auto;max-width:62ch}
.about .txt{max-width:70ch;margin-inline:auto}
.about .helice{width:100%}
.dark .kick,.cta .kick{color:var(--blue-2)}
.svdet .sec-t{text-align:left}
