/* B03 — Sistema visual SESPIN Main (capa final). Tokens únicos + reparaciones de contraste
   sobre la cascada por fases (styles.css → main-visual-20260925.css). Cargar en último lugar.
   Reglas: un solo ADN; navy + dorado; dorado de texto solo en tono "ink" sobre claro. */
:root,body.visual-main{
  --sx-navy-950:#081b31;--sx-navy-900:#0b2f54;--sx-navy-800:#0f416f;--sx-blue-600:#1d5f99;
  --sx-gold-400:#dfb54a;--sx-gold-ink:#7a5a08;--sx-gold-on-dark:#e6c46a;--sx-sky-on-dark:#9cc3e6;
  --sx-ink:#0b2f54;--sx-muted:#4d5d6e;--sx-surface:#f5f7f8;--sx-surface-2:#e7ecea;
  --sx-line:rgba(11,47,84,.14);--sx-radius:4px;--sx-focus:#dfb54a;
  --muted:var(--sx-muted)
}
body.visual-main #mainContent.catalog-studies{--cat-muted:var(--sx-muted)}

/* Foco de teclado visible y consistente */
body.visual-main a:focus-visible,body.visual-main button:focus-visible,body.visual-main summary:focus-visible,
body.visual-main input:focus-visible,body.visual-main select:focus-visible,body.visual-main textarea:focus-visible{
  outline:3px solid var(--sx-navy-900,#0b2f54)!important;outline-offset:2px!important;box-shadow:0 0 0 5px var(--sx-focus)!important}
/* QA B03-005: anillo navy (≥3:1 sobre claro) + halo dorado (≥3:1 sobre navy) */

/* Secciones oscuras que la alternancia nth-of-type(even) de main-visual volvía claras (texto blanco invisible) */
body.visual-main .section.section--dark.section--dark{background:linear-gradient(180deg,#0a2748,var(--sx-navy-950))!important;color:#fff}

body.visual-main .section.section--dark .section-head p{color:rgba(255,255,255,.84)}

/* Numeración de pasos: badge claro exige texto navy */
body.visual-main #mainContent .process-card .process-number{color:var(--sx-navy-900)!important}

/* Texto secundario sobre superficies claras */
body.visual-main #mainContent .service-card .card-body p,
body.visual-main #mainContent .service-card .card-body li{color:var(--sx-muted)}

/* Etiquetas doradas: tono ink sobre claro, dorado claro sobre oscuro */
body.visual-main #mainContent.catalogo-pruebas .section-head .kicker,
body.visual-main #mainContent.catalogo-pruebas .card-tag,
body.visual-main #mainContent.phase3-editorial .service-band .kicker,
body.visual-main #mainContent.phase3-editorial .catalog-number,
body.visual-main #mainContent.se-diseno .se-diseno-capability-grid .catalog-number,
body.visual-main #mainContent.se-consultoria :is(.fc-intro,.fc-quote) .fc-kicker{color:var(--sx-gold-ink)}
body.visual-main #mainContent.se-consultoria :is(.fc-hero,.fc-close) .fc-kicker,
body.visual-main #mainContent.f3-personas .auto-grid .detail-card:nth-child(2) .kicker,
body.visual-main #mainContent.f3-personas .mission-card--vision .kicker,
body.visual-main #mainContent.catalog-studies .catalog-next .catalog-eyebrow{color:var(--sx-gold-on-dark)}
body.visual-main #mainContent .se-experience-intro .se-label,
body.visual-main #mainContent.catalog-studies .catalog-feature--earth .catalog-index{color:var(--sx-sky-on-dark)}

/* Botón secundario dentro de panel CTA navy */
body.visual-main #mainContent .cta-panel .button--secondary{color:#fff;border-color:rgba(255,255,255,.72)}
body.visual-main #mainContent .cta-panel .button--secondary:hover{background:rgba(255,255,255,.1)}

/* Acción secundaria del banner DGA sobre fondo claro */
body.visual-main #mainContent .dga-journey .dga-banner__actions a:not(:first-child){color:var(--sx-ink);border-color:var(--sx-gold-ink)}

/* Referencias normativas tipográficas: sin logotipos de terceros (T-B01b-06); el nombre es la marca visual */
body.visual-main :is(.logo-wall .logo-card__caption,.norm-marquee .norm-card__caption){display:block;
  font:800 clamp(1.15rem,1.6vw,1.45rem)/1.15 Manrope,Inter,system-ui,sans-serif;letter-spacing:.03em;color:var(--sx-navy-900);
  padding-top:14px;border-top:3px solid var(--sx-gold-400)}
body.visual-main .section--standards .logo-wall{display:flex!important;flex-wrap:wrap;gap:10px;grid-template-columns:none!important}
body.visual-main .section--standards .logo-wall .logo-card{flex:0 0 auto;width:auto!important;min-height:0!important;height:auto!important;padding:10px 16px!important;aspect-ratio:auto!important}
body.visual-main .section--standards .logo-wall .logo-card__caption{padding-top:8px;font-size:1rem;text-align:left}

@media (prefers-reduced-motion:reduce){
  body.visual-main .norm-track{animation:none!important;transform:none!important}
}
