/* ═══════════════════════════════════════════════════════════════
   AMPERIUM — sistema de diseño compartido
   Heredado del catálogo institucional 2026: navy + verde del logo,
   Cinzel para el logotipo, Manrope para títulos y datos, Inter cuerpo.
   Base clara: la escena real es una oficina de día con un pliego abierto.
   ═══════════════════════════════════════════════════════════════ */

:root{
  --navy-950:#08131F;
  --navy-900:#0E2138;
  --navy-800:#16304C;
  --navy-700:#1E3A5F;
  --navy-600:#2A4C77;
  --steel-500:#3F5D80;
  --steel-400:#6E88A6;
  --steel-300:#9DB0C4;
  --steel-200:#C6D1DC;

  --green-700:#1F5A2C;
  --green-600:#2F7A3C;
  --green-500:#3D9A4E;
  --green-400:#4E9E5C;
  --green-300:#7CC48A;

  --paper:#F4F6F7;
  --paper-2:#E9EDF1;
  --white:#FFFFFF;
  --ink:#0B1219;
  --body:#3B4A5A;
  --muted:#5E6D7D;
  --muted-2:#6C7A8A;
  --hair:rgba(11,18,25,.12);
  --hair-2:rgba(11,18,25,.07);

  --shadow-sm:0 1px 2px rgba(8,19,31,.06), 0 2px 8px rgba(8,19,31,.05);
  --shadow-md:0 2px 4px rgba(8,19,31,.06), 0 8px 24px rgba(8,19,31,.08);
  --shadow-lg:0 4px 8px rgba(8,19,31,.07), 0 20px 48px rgba(8,19,31,.12);

  --gut:clamp(20px, 5vw, 64px);
  --max:1240px;
  --ease:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;background:var(--paper);color:var(--body);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px;line-height:1.62;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
}

/* ── Superficies del navegador: también son parte del diseño ── */
::selection{background:var(--green-600);color:#fff}
::-moz-selection{background:var(--green-600);color:#fff}
body{caret-color:var(--green-600)}
:focus-visible{outline:2px solid var(--green-500);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible{outline-color:var(--green-300)}
*{scrollbar-width:thin;scrollbar-color:var(--steel-300) transparent}
::-webkit-scrollbar{width:11px;height:11px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--steel-300);border-radius:99px;
  border:3px solid var(--paper)}
::-webkit-scrollbar-thumb:hover{background:var(--steel-400)}

img{max-width:100%;display:block}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}

/* ── Tipografía ───────────────────────────────────────────── */
h1,h2,h3,h4{
  font-family:'Manrope',system-ui,sans-serif;
  color:var(--navy-900);margin:0;
  text-wrap:balance;font-weight:800;
}
h1{font-size:clamp(34px,5.1vw,62px);line-height:1.04;letter-spacing:-.028em}
h2{font-size:clamp(27px,3.5vw,42px);line-height:1.1;letter-spacing:-.022em}
h3{font-size:clamp(18px,1.6vw,21px);line-height:1.24;letter-spacing:-.012em}
h4{font-size:15px;line-height:1.3;letter-spacing:-.005em;font-weight:700}
.lt{font-weight:300;color:var(--steel-500)}
p{margin:0}
.prosa p+p{margin-top:1.05em}
.prosa{max-width:68ch}
.lead{font-size:clamp(17px,1.5vw,19.5px);line-height:1.58;color:#33445A}

.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:#fff}
.on-dark .lt{color:var(--steel-300)}
.on-dark,.on-dark p{color:rgba(255,255,255,.80)}
.on-dark .lead{color:rgba(255,255,255,.86)}

/* Logotipo */
.wordmark{font-family:'Cinzel',Georgia,serif;font-weight:600;
  letter-spacing:.095em;line-height:.92;color:var(--navy-700)}
.on-dark .wordmark{color:#fff}
.tagline{font-family:'Inter',sans-serif;font-weight:400;
  letter-spacing:.002em;color:var(--steel-500);margin-top:4px}
.on-dark .tagline{color:rgba(255,255,255,.70)}

/* ── Estructura ───────────────────────────────────────────── */
.env{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gut)}
section{position:relative}
.bloque{padding-block:clamp(64px,8.5vw,116px)}
.bloque-oscuro{background:var(--navy-900);color:rgba(255,255,255,.80)}
.bloque-claro{background:var(--white)}

.regla{width:52px;height:3px;background:var(--green-600);border:0;margin:20px 0 0}
.on-dark .regla{background:var(--green-400)}

/* ── Encabezado ───────────────────────────────────────────── */
.encabezado{position:fixed;inset:0 0 auto;z-index:60;
  transition:background .35s var(--ease), border-color .35s var(--ease),
             backdrop-filter .35s var(--ease);
  border-bottom:1px solid transparent}
.encabezado .env{display:flex;align-items:center;justify-content:space-between;
  gap:24px;height:74px}
.encabezado.pegado{background:rgba(244,246,247,.93);backdrop-filter:blur(12px) saturate(1.4);
  border-bottom-color:var(--hair)}
.marca{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.marca svg{height:34px;width:auto;flex:none}
.marca .wordmark{font-size:21px;color:#fff;transition:color .35s var(--ease)}
.encabezado.pegado .marca .wordmark{color:var(--navy-700)}

.menu{display:flex;align-items:center;gap:clamp(14px,2vw,30px);
  list-style:none;margin:0;padding:0}
.menu a{font-family:'Manrope',sans-serif;font-weight:600;font-size:13.5px;
  color:rgba(255,255,255,.82);text-decoration:none;padding:8px 2px;
  position:relative;transition:color .2s var(--ease)}
.encabezado.pegado .menu a{color:var(--navy-800)}
.menu a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1.5px;
  background:var(--green-500);transition:right .34s var(--ease)}
.menu a:hover::after,.menu a[aria-current="true"]::after{right:0}
.menu a:hover{color:#fff}
.encabezado.pegado .menu a:hover{color:var(--navy-900)}

.abrir-menu{display:none;background:none;border:0;padding:8px;cursor:pointer;
  color:#fff;line-height:0}
.encabezado.pegado .abrir-menu{color:var(--navy-800)}

/* ── Botones ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:12px;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:14.5px;
  letter-spacing:.01em;text-decoration:none;border:0;cursor:pointer;
  padding:15px 26px;border-radius:999px;
  transition:transform .28s var(--ease), box-shadow .28s var(--ease),
             background-color .2s var(--ease);
  will-change:transform}
.btn svg{width:17px;height:17px;flex:none;
  transition:transform .34s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn:hover svg{transform:translate(3px,-3px)}

.btn-primario{background:var(--green-600);color:#fff;box-shadow:var(--shadow-md)}
.btn-primario:hover{background:#276B33;box-shadow:var(--shadow-lg)}
.btn-claro{background:#fff;color:var(--navy-800);box-shadow:var(--shadow-md)}
.btn-claro:hover{box-shadow:var(--shadow-lg)}
.btn-linea{background:transparent;color:var(--navy-800);
  box-shadow:inset 0 0 0 1.5px var(--hair)}
.btn-linea:hover{box-shadow:inset 0 0 0 1.5px var(--navy-700)}
.on-dark .btn-linea{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.on-dark .btn-linea:hover{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.75)}

/* ── Etiqueta de norma ────────────────────────────────────── */
.norma{display:inline-flex;align-items:center;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.11em;text-transform:uppercase;
  padding:7px 13px;border-radius:999px;
  background:rgba(47,122,60,.10);color:var(--green-700);
  box-shadow:inset 0 0 0 1px rgba(47,122,60,.22)}
.on-dark .norma{background:rgba(78,158,92,.16);color:var(--green-300);
  box-shadow:inset 0 0 0 1px rgba(124,196,138,.32)}
.normas{display:flex;flex-wrap:wrap;gap:9px}

/* ── Datos ────────────────────────────────────────────────── */
.cifra{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:clamp(34px,4.2vw,54px);line-height:.94;letter-spacing:-.035em;
  color:var(--navy-700);font-variant-numeric:tabular-nums}
.cifra span{font-size:clamp(15px,1.7vw,22px);letter-spacing:-.01em;margin-left:.1em}
.on-dark .cifra{color:#fff}
.unidad{font-family:'Manrope',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-top:9px}
.on-dark .unidad{color:var(--steel-300)}

table{width:100%;border-collapse:collapse;font-size:14.5px;
  font-variant-numeric:tabular-nums}
thead th{font-family:'Manrope',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);
  text-align:left;padding:0 16px 11px 0;border-bottom:1.5px solid var(--navy-700)}
tbody td{padding:13px 16px 13px 0;border-bottom:1px solid var(--hair-2);
  color:var(--body);vertical-align:top}
tbody th{font-family:'Manrope',sans-serif;font-weight:700;color:var(--navy-800);
  text-align:left;padding:13px 16px 13px 0;border-bottom:1px solid var(--hair-2);
  white-space:nowrap;vertical-align:top}
.on-dark thead th{color:var(--steel-300);border-bottom-color:var(--green-400)}
.on-dark tbody td{color:rgba(255,255,255,.80);border-bottom-color:rgba(255,255,255,.11)}
.on-dark tbody th{color:#fff;border-bottom-color:rgba(255,255,255,.11)}

/* ── Formulario ───────────────────────────────────────────── */
.campo{display:grid;gap:7px}
.campo label{font-family:'Manrope',sans-serif;font-weight:600;font-size:12.5px;
  letter-spacing:.05em;text-transform:uppercase;color:var(--steel-300)}
.campo input,.campo select,.campo textarea{
  font-family:'Inter',sans-serif;font-size:15.5px;color:#fff;
  background:rgba(255,255,255,.055);border:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.17);
  border-radius:9px;padding:13px 15px;width:100%;
  transition:box-shadow .2s var(--ease), background-color .2s var(--ease)}
.campo textarea{resize:vertical;min-height:118px;line-height:1.55}
.campo input::placeholder,.campo textarea::placeholder{color:rgba(255,255,255,.38)}
.campo input:hover,.campo select:hover,.campo textarea:hover{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.3)}
.campo input:focus,.campo select:focus,.campo textarea:focus{
  outline:none;background:rgba(255,255,255,.085);
  box-shadow:inset 0 0 0 1.5px var(--green-400)}
.campo select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239DB0C4' stroke-width='2.2' stroke-linecap='round'><path d='M6 9l6 6 6-6'/></svg>");
  background-repeat:no-repeat;background-position:right 14px center;background-size:17px;
  padding-right:42px}
.campo select option{background:var(--navy-900);color:#fff}
.campo[data-error="1"] input,.campo[data-error="1"] select,.campo[data-error="1"] textarea{
  box-shadow:inset 0 0 0 1.5px #E4736A}
.error{font-size:12.5px;color:#F0A59E;min-height:0;display:none}
.campo[data-error="1"] .error{display:block}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-grid .ancho{grid-column:1 / -1}

.btn[aria-busy="true"]{pointer-events:none;opacity:.72}
.btn .spinner{display:none;width:16px;height:16px;border-radius:50%;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;
  animation:giro .7s linear infinite}
.btn[aria-busy="true"] .spinner{display:block}
.btn[aria-busy="true"] .icono{display:none}
@keyframes giro{to{transform:rotate(360deg)}}

.aviso{display:none;border-radius:11px;padding:16px 19px;font-size:14.5px;
  line-height:1.55;margin-top:20px}
.aviso[data-estado="ok"]{display:block;background:rgba(47,122,60,.16);
  color:var(--green-300);box-shadow:inset 0 0 0 1px rgba(124,196,138,.34)}
.aviso[data-estado="mal"]{display:block;background:rgba(228,115,106,.13);
  color:#F0A59E;box-shadow:inset 0 0 0 1px rgba(228,115,106,.32)}

/* ── Pie ──────────────────────────────────────────────────── */
.pie{background:var(--navy-950);color:rgba(255,255,255,.66);
  padding-block:52px 34px;font-size:14px}
.pie a{color:rgba(255,255,255,.86);text-decoration:none}
.pie a:hover{color:#fff;text-decoration:underline}
.pie-fila{display:flex;flex-wrap:wrap;gap:34px;justify-content:space-between;
  align-items:flex-start}
.pie-legal{margin-top:40px;padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;
  font-size:12.5px;color:rgba(255,255,255,.46)}

/* ── Movimiento: una sola idea, la aparición al entrar ────── */
[data-revelar]{opacity:0;transform:translateY(22px);
  transition:opacity .85s var(--ease), transform .85s var(--ease);
  transition-delay:var(--retardo,0ms)}
[data-revelar].visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  [data-revelar]{opacity:1;transform:none;transition:none}
  .btn,.btn svg{transition:none}
}

.solo-lectores{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.saltar{position:absolute;left:var(--gut);top:-70px;z-index:100;
  background:var(--green-600);color:#fff;padding:12px 20px;border-radius:0 0 8px 8px;
  font-family:'Manrope',sans-serif;font-weight:700;font-size:14px;text-decoration:none;
  transition:top .22s var(--ease)}
.saltar:focus{top:0}

/* ── Adaptación ───────────────────────────────────────────── */
@media (max-width:900px){
  .form-grid{grid-template-columns:1fr}
  .abrir-menu{display:block}
  .menu{position:fixed;inset:74px 0 auto;background:var(--navy-900);
    flex-direction:column;align-items:stretch;gap:0;padding:10px var(--gut) 26px;
    box-shadow:0 22px 40px rgba(8,19,31,.32);
    clip-path:inset(0 0 100% 0);transition:clip-path .4s var(--ease);
    pointer-events:none}
  .menu[data-abierto="1"]{clip-path:inset(0 0 0 0);pointer-events:auto}
  .menu a{color:#fff;padding:15px 0;font-size:16px;
    border-bottom:1px solid rgba(255,255,255,.1)}
  .menu a::after{display:none}
  .encabezado.pegado .menu a{color:#fff}
}
@media (max-width:640px){
  .pie-fila{flex-direction:column;gap:30px}
}

/* ═══════════════════════════════════════════════════════════════
   SECCIONES
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero con fotografía ──────────────────────────────────── */
.hero{position:relative;isolation:isolate;overflow:hidden}
.hero-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-velo{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(101deg,rgba(8,19,31,.96) 0%,rgba(8,19,31,.90) 38%,
             rgba(8,19,31,.50) 68%,rgba(8,19,31,.36) 100%)}
.hero-cuerpo{padding-block:clamp(132px,17vh,180px) clamp(96px,13vh,150px);
  position:relative;z-index:1}
.hero h1{max-width:16ch}
.hero-acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:38px}

/* Variante A · riel del recorrido */
.hero-recorrido .hero-cuerpo{padding-bottom:clamp(140px,17vh,190px)}
.riel{position:absolute;inset:auto 0 0;z-index:2;
  border-top:1px solid rgba(255,255,255,.17);
  background:linear-gradient(to top,rgba(8,19,31,.62),rgba(8,19,31,0))}
.riel-env{display:grid;grid-template-columns:repeat(4,1fr)}
.riel-item{display:flex;flex-direction:column;gap:5px;padding:20px 18px 22px;
  text-decoration:none;position:relative;
  transition:background-color .26s var(--ease)}
.riel-item+.riel-item{box-shadow:inset 1px 0 0 rgba(255,255,255,.14)}
.riel-item::after{content:"";position:absolute;left:0;right:100%;top:-1px;height:2px;
  background:var(--green-400);transition:right .4s var(--ease)}
.riel-item:hover::after{right:0}
.riel-item:hover{background:rgba(255,255,255,.05)}
.riel-n{font-family:'Manrope',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-300)}
.riel-t{font-family:'Manrope',sans-serif;font-weight:700;font-size:16px;color:#fff}

/* ── Variante A · eslabones ───────────────────────────────── */
.eslabones{display:grid;gap:2px;background:var(--hair);
  border-block:1px solid var(--hair);margin-bottom:68px}
.eslabon{background:var(--paper);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,9fr);
  gap:clamp(24px,4vw,64px);padding-block:clamp(34px,4vw,48px)}
.esl-orden{font-family:'Manrope',sans-serif;font-weight:800;font-size:12px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--green-600);
  display:block;margin-bottom:12px}
.esl-orden span{color:var(--muted-2);font-weight:600}
.esl-cab h2{font-size:clamp(23px,2.5vw,31px)}
.esl-cab .lead{margin-top:12px;font-size:16px;max-width:38ch}
.esl-lista{list-style:none;margin:0;padding:0;display:grid;gap:16px;align-content:center}
.esl-lista li{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:baseline;
  padding-bottom:16px;border-bottom:1px solid var(--hair-2)}
.esl-lista li:last-child{border-bottom:0;padding-bottom:0}
.esl-idx{font-family:'Manrope',sans-serif;font-weight:800;font-size:13px;
  color:var(--green-600);font-variant-numeric:tabular-nums}
.esl-rango{font-family:'Manrope',sans-serif;font-weight:600;font-size:14px;
  color:var(--steel-500);margin-top:3px;font-variant-numeric:tabular-nums}

/* ── Tablas en contenedor ─────────────────────────────────── */
.tabla-envoltorio{overflow-x:auto;-webkit-overflow-scrolling:touch}
.celda-norma{color:var(--muted);font-size:13px;white-space:nowrap}
.on-dark .celda-norma{color:var(--steel-300)}

/* ── Variante B · la mesa ─────────────────────────────────── */
.hero-tabla{background:var(--white);padding-block:clamp(120px,15vh,158px) clamp(56px,7vw,84px)}
.tabla-cab h1{max-width:19ch;font-size:clamp(30px,4.1vw,50px)}
.tabla-lineas{font-size:15px}
.tabla-lineas tbody th{padding-block:18px;font-size:16.5px}
.tabla-lineas .idx{color:var(--green-600);font-size:12.5px;margin-right:9px;
  font-variant-numeric:tabular-nums}
.tabla-lineas tbody td{padding-block:18px}
.col-desc{color:var(--muted);max-width:40ch;font-size:14px}
.col-rango{white-space:nowrap}
.col-rango span{display:block;font-family:'Manrope',sans-serif;font-weight:700;
  color:var(--navy-800);font-size:15px}
.col-rango span+span{color:var(--steel-500);font-weight:600;font-size:13.5px;margin-top:3px}
.tabla-lineas tbody tr{transition:background-color .2s var(--ease)}
.tabla-lineas tbody tr:hover{background:var(--paper)}

.cifras{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:clamp(28px,5vw,64px);
  align-items:end;margin-top:clamp(44px,5vw,64px);padding-top:38px;
  border-top:1.5px solid var(--navy-700)}
.cifras-accion{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}

.franja-foto{position:relative;height:clamp(240px,34vw,400px);overflow:hidden;
  display:grid;place-items:center;isolation:isolate}
.franja-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.franja-velo{position:absolute;inset:0;z-index:-1;background:rgba(8,19,31,.78)}
.franja-cita{font-family:'Manrope',sans-serif;font-weight:700;
  font-size:clamp(20px,2.7vw,33px);line-height:1.3;letter-spacing:-.02em;
  color:#fff;max-width:22ch;text-align:center;padding-inline:var(--gut);text-wrap:balance}

/* ── Variante C · paneles ─────────────────────────────────── */
.panel{position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(520px,82vh,760px);display:grid;align-items:center}
.panel-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.panel-velo{position:absolute;inset:0;z-index:-1;
  background:linear-gradient(76deg,rgba(8,19,31,.95) 38%,rgba(8,19,31,.42) 100%)}
.panel-cuerpo{padding-block:clamp(60px,8vw,90px);position:relative;z-index:1}
.panel-idx{font-family:'Manrope',sans-serif;font-weight:800;
  font-size:clamp(76px,11vw,140px);line-height:.8;letter-spacing:-.05em;
  color:rgba(255,255,255,.13);margin:0 0 6px}
.panel h2{font-size:clamp(28px,4vw,46px);max-width:15ch}
.panel-datos{display:flex;flex-wrap:wrap;gap:clamp(22px,4vw,54px);margin:34px 0 0}
.panel-datos div{min-width:0}
.panel-datos dt{font-family:'Manrope',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300)}
.panel-datos dd{margin:6px 0 0;font-family:'Manrope',sans-serif;font-weight:700;
  font-size:16.5px;color:#fff;font-variant-numeric:tabular-nums}
.panel-marcas{display:flex;gap:6px;margin-top:38px}
.panel-marcas span{width:30px;height:3px;background:rgba(255,255,255,.24)}
.panel-marcas span.on{background:var(--green-400)}

/* ── La empresa ───────────────────────────────────────────── */
.empresa-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);
  gap:clamp(32px,6vw,86px);align-items:start}
.empresa-lista{border-top:1.5px solid var(--navy-700);padding-top:24px}
.empresa-lista h3{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--navy-700);font-weight:700}
.empresa-lista ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:0}
.empresa-lista li{padding:11px 0 11px 28px;border-bottom:1px solid var(--hair-2);
  font-size:15px;position:relative;color:var(--navy-800);font-weight:500}
.empresa-lista li::before{content:"";position:absolute;left:0;top:18px;
  width:13px;height:2px;background:var(--green-600)}
.empresa-lista li:last-child{border-bottom:0}

/* ── Normas ───────────────────────────────────────────────── */
.normas-grid{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(24px,3.4vw,44px)}
.norma-item{border-top:2.5px solid var(--green-600);padding-top:19px}
.norma-item:nth-child(n+4){border-top-color:var(--steel-400)}
.norma-item h3{font-size:19px;font-weight:800;color:var(--navy-900)}
.norma-sub{font-family:'Manrope',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin:5px 0 12px}
.norma-item p:last-child{font-size:14px;line-height:1.56}

/* ── Proceso ──────────────────────────────────────────────── */
.proceso{list-style:none;margin:0;padding:0;
  display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative}
.proceso::before{content:"";position:absolute;left:8.34%;right:8.34%;top:19px;height:2px;
  background:rgba(78,158,92,.42)}
.proceso li{padding:0 12px;position:relative}
.paso-n{width:40px;height:40px;border-radius:50%;background:var(--green-600);
  display:grid;place-items:center;margin-bottom:20px;
  font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;color:#fff;
  box-shadow:0 0 0 5px var(--navy-900);position:relative;z-index:1;
  font-variant-numeric:tabular-nums}
.proceso h3{font-size:15px;color:#fff;min-height:2.5em}
.proceso p{font-size:13.5px;line-height:1.5;margin-top:8px;color:rgba(255,255,255,.72)}

/* ── Contacto ─────────────────────────────────────────────── */
.contacto-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:clamp(36px,6vw,88px);align-items:start}
.contacto-datos{margin-top:44px;display:grid;gap:26px;
  padding-top:28px;border-top:1px solid rgba(255,255,255,.15)}
.dato-rotulo{font-family:'Manrope',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300)}
.dato-valor{font-family:'Manrope',sans-serif;font-weight:700;font-size:19px;
  color:#fff;margin-top:6px}
.dato-cargo{font-size:13.5px;color:var(--steel-300);margin-top:2px}
.contacto-vias{display:grid;gap:12px}
.contacto-vias a{display:flex;align-items:center;gap:12px;color:#fff;
  text-decoration:none;font-size:15.5px;width:fit-content;
  transition:color .2s var(--ease)}
.contacto-vias a svg{width:19px;height:19px;flex:none;color:var(--green-300)}
.contacto-vias a:hover{color:var(--green-300)}
.contacto-datos .btn{justify-self:start}

/* ── Pie ──────────────────────────────────────────────────── */
.pie-titulo{font-family:'Manrope',sans-serif;font-weight:700;font-size:11.5px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--steel-300);margin-bottom:12px}
.pie p{line-height:1.85}

/* ── Adaptación de secciones ──────────────────────────────── */
@media (max-width:1040px){
  .normas-grid{grid-template-columns:repeat(2,1fr)}
  .proceso{grid-template-columns:repeat(3,1fr);gap:34px 0}
  .proceso::before{display:none}
  .proceso h3{min-height:0}
}
@media (max-width:860px){
  .empresa-grid,.contacto-grid{grid-template-columns:1fr}
  .eslabon{grid-template-columns:1fr;gap:22px}
  .cifras{grid-template-columns:repeat(3,1fr);gap:24px}
  .cifras-accion{grid-column:1 / -1;justify-content:flex-start;margin-top:12px}
  .riel-env{grid-template-columns:repeat(2,1fr)}
  .riel-item:nth-child(-n+2){box-shadow:inset 0 -1px 0 rgba(255,255,255,.14)}
  .riel-item:nth-child(odd){box-shadow:inset 0 -1px 0 rgba(255,255,255,.14)}
  .riel-item:nth-child(2),.riel-item:nth-child(4){
    box-shadow:inset 1px 0 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(255,255,255,.14)}
  .riel-item:nth-child(n+3){box-shadow:inset 1px 0 0 rgba(255,255,255,.14)}
  .riel-item:nth-child(3){box-shadow:none}
  .hero-recorrido .hero-cuerpo{padding-bottom:clamp(190px,26vh,240px)}
}
@media (max-width:620px){
  .normas-grid{grid-template-columns:1fr;gap:30px}
  .proceso{grid-template-columns:1fr;gap:28px}
  .cifras{grid-template-columns:1fr 1fr}
  .panel{min-height:auto}
  .panel-datos{gap:20px 34px}
  .tabla-lineas .col-desc{display:none}
}

/* ── Encabezado sobre hero claro ──────────────────────────── */
.encabezado-claro .marca .wordmark{color:var(--navy-700)}
.encabezado-claro .menu a{color:var(--navy-800)}
.encabezado-claro .abrir-menu{color:var(--navy-800)}
.encabezado-claro .menu a:hover{color:var(--navy-900)}
@media (max-width:900px){
  .encabezado-claro .menu a{color:#fff}
}

/* ── Titular del hero: que no cuelgue una palabra sola ────── */
.hero h1{max-width:19ch}
.hero-tabla h1{max-width:21ch}
