/* Cortex GEO Projects · piel del registro y de la ficha.
   Doctrina 2026: dos superficies y un acento escaso; radio 0 en todo; la
   profundidad es un filete de 1 px, nunca una sombra; 180 ms ease-out o nada.
   Patrones: titular «Cursor» y arte cxWave de brand/web/cortex-home-maqueta-v14.html
   (§3.5–3.6 del encargo); botón del fragmento 09 de brand/web/snippets-web.html.
   Tokens del tema con caída a su valor literal: color:var(--cx-tinta,#FBF6EA).
   Únicas variables propias permitidas: --cgp-linea y --cgp-linea-2 (§3.1). */

.cgp{
  background:var(--cx-fondo,#141413);
  color:var(--cx-tinta,#FBF6EA);
  font-family:var(--cx-sistema);
  line-height:1.6;
  --cx-fondo:var(--bg,#141413); --cx-papel:var(--dark,#FAF9F5); --cx-elevacion:var(--panel,#1C1C1A); --cx-tinta:var(--title,#FBF6EA); --cx-tinta-2:var(--muted,#A8A399); --cx-tinta-3:var(--muted-2,#8F8B80); --cx-acento:var(--green-text,#9BB076); --cgp-linea:var(--line,#2A2A27); --cgp-linea-2:var(--line,#38382F);
}
.cgp *,
.cgp *::before,
.cgp *::after{ box-sizing:border-box }
.cgp a{ color:inherit }
.cgp :focus-visible{ outline:2px solid var(--cx-acento,#9BB076); outline-offset:2px }
.cgp h1,.cgp h2,.cgp h3,.cgp p,.cgp dl,.cgp ol{ margin:0 }

/* ── Hero del índice ─────────────────────────────────────────────────── */

.cgp-hero{ position:relative; overflow:hidden; padding:96px 24px 72px }

.cgp-arte{ position:absolute; inset:0; z-index:0; pointer-events:none }
.cgp-arte img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:.5; filter:url(#cxWave);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);
          mask-image:linear-gradient(180deg,#000 0%,#000 52%,transparent 100%);
}
.cgp-arte::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(96deg, var(--cx-fondo,#141413) 0%,
             rgba(20,20,19,.86) 42%, rgba(20,20,19,.30) 100%);
}

.cgp-hero-contenido{ position:relative; z-index:1; max-width:1080px; margin:0 auto }

.cgp-eyebrow{
  display:flex; align-items:center; gap:12px;
  font-family:var(--cx-datos); font-size:12px; letter-spacing:.14em;
  color:var(--cx-acento,#9BB076);
}
.cgp-eyebrow-raya{ width:26px; height:1px; background:var(--cx-acento,#9BB076) }
.cgp-testigo{ width:7px; height:11px; background:var(--cx-acento,#9BB076) }

/* Titular «Cursor» (§3.5): un solo párrafo, dos tintas, mismo peso y cuerpo. */
.cgp-hero-mix{
  font-family:var(--cx-sistema);
  font-weight:500;
  color:var(--cx-tinta,#FBF6EA);
  letter-spacing:-.015em;
  font-size:clamp(28px,3vw,40px);
  line-height:1.3;
  max-width:860px;
  margin:18px 0 0;
}
.cgp-hero-mix span{ color:var(--cx-tinta-3,#8F8B80); font-weight:500 }

.cgp-hero-acciones{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px }
.cgp-hero-nota{ margin-top:14px; font-size:14px; color:var(--cx-tinta-3,#8F8B80) }

/* Botón (fragmento 09 de snippets-web, radio 0 sin excepción). */
.cgp-boton{
  display:inline-block; padding:13px 26px; border:0; border-radius:0;
  font-family:var(--cx-sistema); font-size:15px; font-weight:600;
  letter-spacing:.02em; text-decoration:none; cursor:pointer;
  transition:background 180ms ease-out, border-color 180ms ease-out;
}
.cgp a.cgp-boton--primario{ background:var(--cx-papel,#FAF9F5); color:var(--cx-fondo,#141413) }
.cgp-boton--primario:hover{ background:var(--cx-tinta,#FBF6EA) }
.cgp-boton--secundario{
  background:transparent; color:var(--cx-tinta,#FBF6EA);
  border:1px solid var(--cgp-linea-2); padding:12px 25px;
}
.cgp-boton--secundario:hover{ border-color:var(--cx-tinta-3,#8F8B80) }
.cgp a.cgp-boton--cta{ background:var(--cx-acento,#9BB076); color:var(--cx-fondo,#141413) }
.cgp-boton--cta:hover{ background:var(--cx-papel,#FAF9F5) }

/* ── Barra de contadores (§10) ───────────────────────────────────────── */

.cgp-contadores{ border-top:1px solid var(--cgp-linea); border-bottom:1px solid var(--cgp-linea) }
.cgp-contadores-pista{
  max-width:1080px; margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.cgp-contador{ padding:26px 24px; border-left:1px solid var(--cgp-linea) }
.cgp-contador:first-child{ border-left:0 }
.cgp-contador-cifra{
  display:block; font-family:var(--cx-datos); font-weight:500;
  font-size:34px; line-height:1.1; color:var(--cx-tinta,#FBF6EA);
}
.cgp-contador-rotulo{
  display:block; margin-top:6px; font-family:var(--cx-datos);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cx-tinta-3,#8F8B80);
}

/* ── Filtros ─────────────────────────────────────────────────────────── */

.cgp-filtros{
  max-width:1080px; margin:0 auto; padding:40px 24px 8px;
  display:flex; flex-direction:column; gap:20px;
}
.cgp-filtro-rotulo{
  display:block; margin-bottom:8px; font-family:var(--cx-datos);
  font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--cx-tinta-3,#8F8B80);
}
.cgp-filtro-botones{ display:flex; flex-wrap:wrap; gap:8px }
.cgp-filtro{
  border:1px solid var(--cgp-linea-2); border-radius:0; background:transparent;
  color:var(--cx-tinta-2,#A8A399); font-family:var(--cx-sistema);
  font-size:14px; padding:8px 14px; cursor:pointer;
  transition:color 180ms ease-out, border-color 180ms ease-out, background 180ms ease-out;
}
.cgp-filtro:hover{ color:var(--cx-tinta,#FBF6EA) }
.cgp-filtro[aria-pressed="true"]{
  background:var(--cx-elevacion,#1C1C1A);
  border-color:var(--cx-acento,#9BB076);
  color:var(--cx-tinta,#FBF6EA);
}
.cgp-filtro-estado{ font-size:13px; color:var(--cx-tinta-3,#8F8B80) }

/* ── Registro (§9.2): rejilla 62·128·1fr·128·62 ──────────────────────── */

.cgp-registro{ list-style:none; max-width:1080px; margin:24px auto 0; padding:0 24px }
.cgp-fila{ border-top:1px solid var(--cgp-linea) }
.cgp-fila:last-child{ border-bottom:1px solid var(--cgp-linea) }
.cgp-fila[hidden]{ display:none }

.cgp-fila-enlace{
  position:relative;
  display:grid;
  grid-template-columns:62px 128px 1fr 128px 62px;
  grid-template-areas:"num sector cliente anio flecha";
  align-items:center; gap:10px;
  padding:20px 12px; text-decoration:none;
  transition:background 180ms ease-out, padding 180ms ease-out;
}
a.cgp-fila-enlace:hover,
a.cgp-fila-enlace:focus-visible{
  background:var(--cx-elevacion,#1C1C1A);
  padding-left:32px;
}
.cgp-fila-indicador{
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  display:flex; color:var(--cx-acento,#9BB076);
  opacity:0; transition:opacity 180ms ease-out;
}
a.cgp-fila-enlace:hover .cgp-fila-indicador,
a.cgp-fila-enlace:focus-visible .cgp-fila-indicador{ opacity:1 }

.cgp-fila-num{ grid-area:num; font-family:var(--cx-datos); font-size:13px; color:var(--cx-tinta-3,#8F8B80) }
.cgp-fila-sector{
  grid-area:sector; font-family:var(--cx-datos); font-size:12px;
  letter-spacing:.1em; text-transform:uppercase; color:var(--cx-tinta-2,#A8A399);
}
.cgp-fila-cliente{ grid-area:cliente; min-width:0 }
.cgp-fila-cliente strong{ font-weight:500; font-size:17px; color:var(--cx-tinta,#FBF6EA) }
.cgp-fila-linea{ display:block; margin-top:2px; font-size:14px; color:var(--cx-tinta-3,#8F8B80) }
.cgp-fila-anio{ grid-area:anio; text-align:right; font-family:var(--cx-datos); font-size:14px; color:var(--cx-tinta-2,#A8A399) }
.cgp-fila-flecha{ grid-area:flecha; text-align:right; color:var(--cx-acento,#9BB076) }

/* Nivel «registro»: atenuada, sin enlace, sin hover, sin flecha (§7.1). */
.cgp-fila--registro .cgp-fila-enlace{ opacity:.62 }

.cgp-vacio{ max-width:1080px; margin:48px auto; padding:0 24px; color:var(--cx-tinta-2,#A8A399) }

/* ── Confidencialidad (§9.5) ─────────────────────────────────────────── */

.cgp-rotulo-acento{
  font-family:var(--cx-datos); font-weight:500; font-size:13px;
  letter-spacing:.14em; color:var(--cx-acento,#9BB076); margin:0 0 10px;
}
.cgp-confidencialidad{
  max-width:1032px; margin:64px auto; padding:28px 32px;
  border-left:2px solid var(--cx-acento,#9BB076);
  background:var(--cx-elevacion,#1C1C1A);
}
.cgp-confidencialidad p{ color:var(--cx-tinta-2,#A8A399); max-width:70ch }

/* ── Ficha (§9.3) ────────────────────────────────────────────────────── */

.cgp-ficha-cuerpo{ max-width:880px; margin:0 auto; padding:72px 24px 40px }

.cgp-codigo{ font-family:var(--cx-datos); font-size:13px; letter-spacing:.14em; color:var(--cx-acento,#9BB076) }
.cgp-migas{ margin-top:10px; font-size:13px; color:var(--cx-tinta-3,#8F8B80) }
.cgp-migas a{ text-decoration:none; border-bottom:1px solid var(--cgp-linea-2) }
.cgp-migas a:hover{ border-color:var(--cx-tinta-3,#8F8B80) }

.cgp-ficha-cabecera .cgp-hero-mix{ margin-top:16px }
.cgp-resumen{ margin-top:20px; font-size:17px; line-height:1.7; color:var(--cx-tinta-2,#A8A399); max-width:70ch }

dl.cgp-datos{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  border:1px solid var(--cgp-linea); margin:36px 0 44px;
}
.cgp-datos > div{ padding:16px 18px; border-left:1px solid var(--cgp-linea) }
.cgp-datos > div:first-child{ border-left:0 }
.cgp-datos dt{
  font-family:var(--cx-datos); font-size:11px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--cx-tinta-3,#8F8B80);
}
.cgp-datos dd{ margin:6px 0 0; font-size:15px }
.cgp-datos dd a{ text-decoration:none; border-bottom:1px solid var(--cgp-linea-2) }

.cgp-bloque{ margin:44px 0 }
.cgp-bloque h3{
  font-family:var(--cx-datos); font-weight:500; font-size:13px;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--cx-tinta-3,#8F8B80); margin-bottom:12px;
}
.cgp-bloque p{ color:var(--cx-tinta-2,#A8A399); max-width:70ch; margin:0 0 12px }

/* La decisión: callout con filete de acento de 2 px (§9.3). */
.cgp-decision{ border-left:2px solid var(--cx-acento,#9BB076); padding-left:24px }
.cgp-decision p{ color:var(--cx-tinta,#FBF6EA); font-size:18px; line-height:1.6 }

.cgp-pasos{ list-style:none; padding:0; counter-reset:cgp-paso }
.cgp-pasos li{
  counter-increment:cgp-paso; position:relative;
  border-top:1px solid var(--cgp-linea);
  padding:14px 0 14px 56px; color:var(--cx-tinta-2,#A8A399);
}
.cgp-pasos li:last-child{ border-bottom:1px solid var(--cgp-linea) }
.cgp-pasos li::before{
  content:counter(cgp-paso,decimal-leading-zero);
  position:absolute; left:0; top:14px;
  font-family:var(--cx-datos); font-size:13px; color:var(--cx-acento,#9BB076);
}

.cgp-captura{ margin:44px 0; border:1px solid var(--cgp-linea-2) }
.cgp-captura-barra{
  display:block; height:10px;
  background:var(--cx-elevacion,#1C1C1A);
  border-bottom:1px solid var(--cgp-linea-2);
}
.cgp-captura img{ display:block; width:100%; height:auto; max-width:100% }
.cgp-captura figcaption{
  font-family:var(--cx-datos); font-size:12px; letter-spacing:.08em;
  color:var(--cx-tinta-3,#8F8B80);
  padding:10px 14px; border-top:1px solid var(--cgp-linea-2);
}

/* Relacionado (§12) y extracto para landings sectoriales. */
.cgp-relacionado h4{
  font-family:var(--cx-datos); font-weight:500; font-size:12px;
  letter-spacing:.1em; text-transform:uppercase;
  color:var(--cx-tinta-2,#A8A399); margin:18px 0 6px;
}
.cgp-relacionado ul{ list-style:none; margin:0; padding:0 }
.cgp-relacionado li{ border-top:1px solid var(--cgp-linea); padding:10px 0 }
.cgp-relacionado a,
.cgp-relacionado-sector a{ text-decoration:none; border-bottom:1px solid var(--cgp-linea-2) }
.cgp-relacionado a:hover,
.cgp-relacionado-sector a:hover{ border-color:var(--cx-acento,#9BB076) }
.cgp-relacionado-sector{ margin:0 0 8px; color:var(--cx-tinta-2,#A8A399) }

.cgp-extracto{ padding:8px 0 }
.cgp-fila-extracto{ grid-template-columns:1fr 96px 48px; grid-template-areas:"cliente anio flecha" }
.cgp-extracto-mas{ margin:14px 0 0; font-size:14px }
.cgp-extracto-mas a{ color:var(--cx-tinta-2,#A8A399); text-decoration:none; border-bottom:1px solid var(--cgp-linea-2) }
.cgp-extracto-mas a:hover{ color:var(--cx-tinta,#FBF6EA) }

/* Cierre de contacto (§9.4): un solo CTA, nada flotante ni pegajoso. */
.cgp-cierre{
  margin:72px 0 72px; padding:36px 32px;
  border:1px solid var(--cgp-linea); background:var(--cx-elevacion,#1C1C1A);
}
.cgp-cierre-frase{ margin-top:8px; font-size:25px; font-weight:500; line-height:1.4; color:var(--cx-tinta,#FBF6EA); max-width:640px }
.cgp-cierre-nota{ margin:12px 0 24px; font-size:15px; color:var(--cx-tinta-3,#8F8B80) }

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width:860px){
  .cgp-hero{ padding:64px 20px 48px }
  .cgp-fila-enlace{
    grid-template-columns:44px 1fr 64px;
    grid-template-areas:
      "num cliente anio"
      "sector sector flecha";
  }
  .cgp-registro,.cgp-filtros{ padding-left:20px; padding-right:20px }
  .cgp-confidencialidad{ margin-left:20px; margin-right:20px }
  .cgp-cierre,.cgp-confidencialidad{ padding:24px 20px }
}

/* ── Movimiento reducido: todo quieto, arte sin ondulación ───────────── */

@media (prefers-reduced-motion:reduce){
  .cgp *,
  .cgp *::before,
  .cgp *::after{ transition:none !important; animation:none !important }
  .cgp-arte img{ filter:none }
}
