/* =========================================================
   ZETA TECNO · INDUSTRIALES 2026
   Capa visual complementaria. Aislada con prefijo zi-.
========================================================= */

.zi-landing {
  background: #07090d;
}

.zi-landing section[id],
#soluciones-industriales {
  scroll-margin-top: 92px;
}

.zi-section-light {
  background: #f7f8fb;
  color: #171a20;
  border-top: 1px solid #e8eaf0;
  border-bottom: 1px solid #e8eaf0;
}

.zi-section-soft {
  background:
    radial-gradient(circle at 8% 10%, rgba(244,180,0,.06), transparent 30%),
    #eef1f5;
  color: #171a20;
}

.zi-section-dark {
  background:
    radial-gradient(circle at 86% 18%, rgba(244,180,0,.08), transparent 30%),
    linear-gradient(180deg, #090c11 0%, #06080c 100%);
  color: #fff;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.zi-section-light .zi-section-head h2,
.zi-section-soft .zi-section-head h2,
.zi-section-soft .zi-floor-copy h2,
.zi-contact-section-light .zi-contact-copy h2 {
  color: #11141a;
}

.zi-section-light .zi-section-head p,
.zi-section-soft .zi-section-head p,
.zi-section-soft .zi-floor-copy p,
.zi-contact-section-light .zi-contact-copy p {
  color: #616875;
}

/* ---------- imágenes optimizadas ---------- */
.zi-service-image picture,
.zi-hero-frame picture,
.zi-floor-gallery picture,
.zi-contact-media picture {
  display: block;
  width: 100%;
  height: 100%;
}

.zi-service-image picture img,
.zi-hero-frame picture img,
.zi-floor-gallery picture img img,
.zi-contact-media picture img {
  width: 100%;
  height: 100%;
}

/* ---------- servicios claros ---------- */
.zi-section-light .zi-service-card {
  background: rgba(255,255,255,.92);
  border-color: #e1e5eb;
  box-shadow: 0 12px 34px rgba(31,38,51,.08);
}

.zi-section-light .zi-service-card:hover {
  border-color: rgba(244,180,0,.34);
  box-shadow: 0 24px 54px rgba(31,38,51,.14);
}

.zi-section-light .zi-service-body h3 { color: #161920; }
.zi-section-light .zi-service-body p { color: #67707e; }
.zi-section-light .zi-service-list li { color: #3e4652; }
.zi-section-light .zi-service-image::after {
  background: linear-gradient(180deg, transparent 58%, rgba(5,6,8,.28) 100%);
}

/* ---------- sectores ---------- */
.zi-sector-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0,1fr));
  gap: 12px;
}

.zi-sector-card {
  min-height: 132px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 16px;
  background: rgba(255,255,255,.035);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.zi-sector-card i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: linear-gradient(135deg, #F4B400, #A86F00);
  box-shadow: 0 10px 26px rgba(244,180,0,.18);
}

.zi-sector-card span {
  color: #f6f7f9;
  font-size: .88rem;
  font-weight: 700;
}

.zi-sector-card:hover {
  transform: translateY(-4px);
  border-color: rgba(244,180,0,.34);
  background: rgba(244,180,0,.055);
}

/* ---------- pisos: galería premium ---------- */
.zi-floor-premium {
  grid-template-columns: 1.06fr .94fr;
  gap: 58px;
}

.zi-floor-gallery {
  height: 590px;
  display: grid;
  grid-template-columns: 1.55fr .75fr;
  gap: 12px;
}

.zi-floor-gallery-main,
.zi-floor-gallery-side picture {
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(17,20,26,.08);
  box-shadow: 0 22px 50px rgba(31,38,51,.12);
  background: #dfe3e8;
}

.zi-floor-gallery-side {
  min-width: 0;
  display: grid;
  grid-template-rows: 1fr 1fr;
  gap: 12px;
}

.zi-floor-gallery img {
  object-fit: cover;
  transition: transform .45s ease;
}
.zi-floor-gallery-main img { object-position: center; }
.zi-floor-gallery-side img { object-position: center 18%; }
.zi-floor-gallery-main:hover img,
.zi-floor-gallery-side picture:hover img { transform: scale(1.025); }

.zi-section-soft .zi-floor-point {
  color: #2e3540;
  background: rgba(255,255,255,.72);
  border-color: rgba(17,20,26,.08);
  box-shadow: 0 7px 22px rgba(31,38,51,.06);
}

/* ---------- proceso conectado ---------- */
.zi-process-connected {
  position: relative;
  gap: 22px;
}

.zi-process-connected::before {
  content: '';
  position: absolute;
  top: 43px;
  left: 7%;
  right: 7%;
  height: 2px;
  background: linear-gradient(90deg, rgba(244,180,0,.15), #F4B400 50%, rgba(244,180,0,.15));
  box-shadow: 0 0 18px rgba(244,180,0,.22);
  z-index: 0;
}

.zi-process-connected .zi-step {
  position: relative;
  z-index: 1;
  min-height: 232px;
  padding: 25px 21px;
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.10);
  backdrop-filter: blur(8px);
  transition: transform .22s ease, border-color .22s ease, background .22s ease;
}

.zi-process-connected .zi-step:hover {
  transform: translateY(-5px);
  border-color: rgba(244,180,0,.38);
  background: rgba(244,180,0,.05);
}

.zi-process-connected .zi-step span {
  width: 44px;
  height: 44px;
  margin-bottom: 24px;
  border: 4px solid #090b10;
  box-shadow: 0 0 0 1px rgba(244,180,0,.45), 0 0 22px rgba(244,180,0,.22);
  font-size: .72rem;
}

/* ---------- franja de confianza ---------- */
.zi-trust-band {
  padding: 46px 0;
  background: #f3f5f8;
  border-top: 1px solid #e2e5ea;
  border-bottom: 1px solid #e2e5ea;
}
.zi-trust-band-inner {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  align-items: center;
  gap: 42px;
}
.zi-trust-band-copy h2 {
  margin: 0;
  color: #15181e;
  font-size: clamp(1.65rem,3vw,2.55rem);
  font-weight: 800;
  letter-spacing: -.035em;
}
.zi-trust-band-items {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 11px;
}
.zi-trust-band-items span {
  min-height: 52px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #dfe3e8;
  border-radius: 12px;
  background: rgba(255,255,255,.8);
  color: #333a45;
  font-size: .78rem;
  font-weight: 650;
}
.zi-trust-band-items i { color: #F4B400; }

/* ---------- contacto claro ---------- */
.zi-contact-section-light {
  background: #fff;
  color: #171a20;
}
.zi-contact-modern {
  background:
    radial-gradient(circle at 6% 10%, rgba(244,180,0,.08), transparent 34%),
    #f7f8fa;
  border: 1px solid #e1e4e9;
  box-shadow: 0 20px 55px rgba(31,38,51,.10);
}
.zi-contact-section-light .zi-contact-data { color: #343b46; }
.zi-contact-section-light .zi-note { color: #7c8490; }
.zi-contact-modern .zi-contact-media {
  min-height: 500px;
  overflow: hidden;
  border-radius: 17px;
  background: #e9ecf0;
}
.zi-contact-modern .zi-contact-media img {
  max-height: none;
  object-fit: cover;
  object-position: center 12%;
}
.zi-btn-light-outline {
  color: #20252d !important;
  border: 1px solid #cfd4db;
  background: rgba(255,255,255,.75);
}
.zi-btn-light-outline:hover {
  color: #F4B400 !important;
  border-color: rgba(244,180,0,.35);
  background: #fff;
  transform: translateY(-2px);
}

/* ---------- scrollspy ---------- */
.industrial-nav-links a.is-active:not(.industrial-nav-cta) {
  color: #fff !important;
  background: rgba(244,180,0,.10);
}
.industrial-nav-links a.is-active:not(.industrial-nav-cta)::after {
  transform: scaleX(1);
  opacity: 1;
}
.industrial-nav-links .industrial-nav-cta.is-active {
  box-shadow: 0 12px 30px rgba(244,180,0,.35), inset 0 0 0 1px rgba(255,255,255,.14);
  transform: translateY(-1px);
}

/* ---------- entrada sutil ---------- */
.zi-enhanced .zi-reveal {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .55s ease, transform .55s ease;
}
.zi-enhanced .zi-reveal.zi-visible {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .zi-enhanced .zi-reveal { opacity: 1; transform: none; transition: none; }
}

@media (max-width: 1050px) {
  .zi-sector-grid { grid-template-columns: repeat(3,1fr); }
  .zi-floor-premium { gap: 34px; }
  .zi-floor-gallery { height: 520px; }
}

@media (max-width: 820px) {
  .zi-floor-premium,
  .zi-trust-band-inner { grid-template-columns: 1fr; }
  .zi-floor-gallery { height: 500px; }
  .zi-process-connected::before { display: none; }
}

@media (max-width: 640px) {
  .zi-section-light,
  .zi-section-soft,
  .zi-section-dark,
  .zi-sector-grid { grid-template-columns: repeat(2,1fr); }
  .zi-sector-card { min-height: 112px; padding: 16px; }
  .zi-floor-gallery { height: 430px; grid-template-columns: 1.4fr .75fr; gap: 8px; }
  .zi-floor-gallery-side { gap: 8px; }
  .zi-floor-gallery-main, .zi-floor-gallery-side picture { border-radius: 13px; }
  .zi-trust-band { padding: 38px 0; }
  .zi-trust-band-inner { gap: 22px; }
  .zi-trust-band-items { grid-template-columns: 1fr; }
  .zi-contact-modern .zi-contact-media { min-height: 340px; }
}

@media (max-width: 420px) {
  .zi-sector-grid { grid-template-columns: 1fr; }
  .zi-floor-gallery { height: auto; grid-template-columns: 1fr; }
  .zi-floor-gallery-main { height: 300px; }
  .zi-floor-gallery-side { grid-template-columns: 1fr 1fr; grid-template-rows: none; }
  .zi-floor-gallery-side picture { height: 185px; }
}


/* =========================================================
   AJUSTES 2026-08 · INDUSTRIALES SIN EPP
========================================================= */

/* Pulido vuelve a su formato simple y queda después del proceso. */
.zi-floor-simple {
  background:
    radial-gradient(circle at 88% 8%, rgba(244,180,0,.055), transparent 31%),
    #f3f5f8;
  color: #171a20;
  border-top: 1px solid #e2e5ea;
  border-bottom: 1px solid #e2e5ea;
}
.zi-floor-simple .zi-floor {
  grid-template-columns: .92fr 1.08fr;
  gap: 58px;
  align-items: center;
}
.zi-floor-simple .zi-floor-media {
  min-height: 500px;
  border: 1px solid #dfe3e8;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(29,35,47,.12);
}
.zi-floor-simple .zi-floor-media picture { display:block; width:100%; height:100%; }
.zi-floor-simple .zi-floor-media img {
  width:100%; height:100%; position:absolute; inset:0;
  object-fit:cover; object-position:center;
}
.zi-floor-simple .zi-floor-media::after {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(14,18,25,.13));
}
.zi-floor-simple .zi-floor-copy h2 { color:#11141a; }
.zi-floor-simple .zi-floor-copy p { color:#616875; }
.zi-floor-simple .zi-floor-point {
  background:#fff;
  color:#3b424d;
  border-color:#dde2e8;
  box-shadow:0 7px 20px rgba(29,35,47,.05);
}

/* Contacto: fondo general claro, tarjeta central oscura para máxima lectura. */
.zi-contact-section-light {
  background:
    radial-gradient(circle at 10% 0%, rgba(244,180,0,.055), transparent 28%),
    #f4f6f9;
}
.zi-contact-section-light .zi-contact-modern.zi-contact-contrast {
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 3% 5%, rgba(244,180,0,.22), transparent 34%),
    linear-gradient(135deg, #11151c 0%, #090c11 74%);
  border:1px solid rgba(244,180,0,.24);
  box-shadow:0 28px 70px rgba(17,22,31,.24);
}
.zi-contact-section-light .zi-contact-modern.zi-contact-contrast::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(110deg, rgba(255,255,255,.04), transparent 40%);
}
.zi-contact-section-light .zi-contact-contrast .zi-eyebrow { color:#FFD65A; }
.zi-contact-section-light .zi-contact-contrast .zi-contact-copy h2 {
  color:#fff !important;
  font-size:clamp(2rem,4vw,3.55rem);
  line-height:1.04;
  letter-spacing:-.045em;
  max-width:720px;
}
.zi-contact-section-light .zi-contact-contrast .zi-contact-copy > p {
  color:#d3d8e0 !important;
  font-size:.98rem;
  line-height:1.75;
  max-width:650px;
}
.zi-contact-contrast .zi-contact-data {
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  color:#fff !important;
}
.zi-contact-contrast .zi-contact-data > div {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  padding:13px 14px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.045);
}
.zi-contact-contrast .zi-contact-data i {
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  flex:0 0 34px;
  border-radius:9px;
  background:rgba(244,180,0,.13);
  color:#FFD65A;
}
.zi-contact-contrast .zi-contact-data span { min-width:0; }
.zi-contact-contrast .zi-contact-data small,
.zi-contact-contrast .zi-contact-data strong { display:block; }
.zi-contact-contrast .zi-contact-data small {
  color:#9ea6b2;
  font-size:.64rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:700;
}
.zi-contact-contrast .zi-contact-data strong {
  margin-top:2px;
  color:#fff;
  font-size:.78rem;
  overflow-wrap:anywhere;
}
.zi-contact-actions { margin-top:25px; }
.zi-btn-contact-outline {
  color:#fff !important;
  border:1px solid rgba(255,255,255,.25);
  background:rgba(255,255,255,.055);
}
.zi-btn-contact-outline:hover {
  color:#fff !important;
  border-color:rgba(255,255,255,.48);
  background:rgba(255,255,255,.11);
  transform:translateY(-2px);
}
.zi-contact-section-light .zi-contact-contrast .zi-note {
  color:#aeb5c0 !important;
  display:flex;
  gap:8px;
  align-items:center;
}
.zi-contact-contrast .zi-note i { color:#FFD65A; }
.zi-contact-contrast .zi-contact-media {
  position:relative;
  min-height:500px;
  border:1px solid rgba(255,255,255,.08);
  background:#151a22;
}
.zi-contact-contrast .zi-contact-media::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(5,7,10,.82));
  pointer-events:none;
}
.zi-contact-media-label {
  position:absolute;
  z-index:2;
  left:18px;
  right:18px;
  bottom:18px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:13px 15px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(8,11,16,.72);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.zi-contact-media-label i {
  width:38px; height:38px; display:grid; place-items:center;
  border-radius:10px; color:#fff; background:#F4B400;
}
.zi-contact-media-label small,
.zi-contact-media-label strong { display:block; }
.zi-contact-media-label small { color:#f58ab8; font-size:.63rem; text-transform:uppercase; font-weight:800; letter-spacing:.08em; }
.zi-contact-media-label strong { color:#fff; margin-top:2px; font-size:.8rem; }

@media (max-width: 991px) {
  .zi-floor-simple .zi-floor { grid-template-columns:1fr; gap:34px; }
  .zi-floor-simple .zi-floor-media { min-height:450px; }
  .zi-contact-contrast .zi-contact-data { grid-template-columns:1fr; }
}
@media (max-width: 640px) {
  .zi-floor-simple .zi-floor-media { min-height:330px; }
  .zi-contact-section-light .zi-contact-modern.zi-contact-contrast { padding:28px 20px; }
  .zi-contact-section-light .zi-contact-contrast .zi-contact-copy h2 { font-size:clamp(2rem,10vw,2.8rem); }
  .zi-contact-contrast .zi-contact-media { min-height:340px; }
}


/* =========================================================
   AJUSTE COMPACTO · SECTORES / PROCESO / CONTACTO
========================================================= */

/* Dónde trabajamos: franja compacta, sin grandes vacíos. */
.zi-sector-section {
  padding: 50px 0 !important;
}
.zi-sector-section .zi-section-head {
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 34px;
  margin-bottom: 24px;
}
.zi-sector-section .zi-section-head h2 {
  font-size: clamp(1.75rem, 3vw, 2.65rem);
}
.zi-sector-section .zi-section-head p {
  max-width: 680px;
  font-size: .9rem;
  line-height: 1.62;
}
.zi-sector-grid {
  gap: 10px;
}
.zi-sector-card {
  min-height: 78px;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 11px;
  padding: 13px 14px;
  border-radius: 13px;
}
.zi-sector-card i {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  border-radius: 10px;
  font-size: .88rem;
}
.zi-sector-card span {
  font-size: .78rem;
  line-height: 1.25;
}

/* Cómo trabajamos: proceso más bajo y directo. */
#como-trabajamos {
  padding: 54px 0 !important;
}
#como-trabajamos .zi-section-head {
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: 34px;
  margin-bottom: 26px;
}
#como-trabajamos .zi-section-head h2 {
  font-size: clamp(1.75rem, 3vw, 2.65rem);
}
#como-trabajamos .zi-section-head p {
  font-size: .9rem;
  line-height: 1.62;
}
.zi-process-connected {
  gap: 14px;
}
.zi-process-connected::before {
  top: 34px;
  left: 8%;
  right: 8%;
}
.zi-process-connected .zi-step {
  min-height: 154px;
  padding: 17px 17px 16px;
  border-radius: 14px;
}
.zi-process-connected .zi-step span {
  width: 36px;
  height: 36px;
  margin-bottom: 13px;
  border-width: 3px;
  font-size: .66rem;
}
.zi-process-connected .zi-step h3 {
  margin-bottom: 7px;
  font-size: 1rem;
}
.zi-process-connected .zi-step p {
  margin: 0;
  font-size: .79rem;
  line-height: 1.52;
}

/* Gestión deja de ser una sección y pasa a ser una nota dentro del contacto. */
.zi-contact-project-note {
  display: flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  max-width: 100%;
  margin: 19px 0 21px;
  padding: 10px 13px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 11px;
  background: rgba(255,255,255,.045);
  color: #cfd5de;
  font-size: .78rem;
  line-height: 1.45;
}
.zi-contact-project-note i {
  color: #FFD65A;
  flex: 0 0 auto;
}
.zi-contact-project-note strong {
  color: #fff;
}

@media (max-width: 1050px) {
  .zi-sector-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .zi-sector-section,
  #como-trabajamos { padding: 44px 0 !important; }
  .zi-sector-section .zi-section-head,
  #como-trabajamos .zi-section-head {
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 20px;
  }
  .zi-process-connected .zi-step { min-height: 142px; }
}

@media (max-width: 640px) {
  .zi-sector-grid { grid-template-columns: repeat(2, 1fr); }
  .zi-sector-card { min-height: 68px; padding: 11px 12px; }
  .zi-process-connected { grid-template-columns: 1fr 1fr !important; gap: 10px; }
  .zi-process-connected .zi-step { min-height: 132px; padding: 14px; }
  .zi-contact-project-note { width: 100%; }
}

@media (max-width: 430px) {
  .zi-sector-grid { grid-template-columns: 1fr 1fr; }
  .zi-sector-card span { font-size: .73rem; }
  .zi-process-connected { grid-template-columns: 1fr !important; }
  .zi-process-connected .zi-step { min-height: 0; }
}

/* =========================================================
   CONTACTO SIMPLIFICADO · SIN IMAGEN NI INFORMACIÓN REPETIDA
========================================================= */
.zi-contact-section-light .zi-contact-simple {
  grid-template-columns: 1fr !important;
  width: min(980px, calc(100% - 36px));
  padding: 48px 52px;
  gap: 0;
}

.zi-contact-simple .zi-contact-copy {
  width: 100%;
}

.zi-contact-simple .zi-contact-copy h2 {
  max-width: 820px !important;
}

.zi-contact-simple .zi-contact-copy > p:not(.zi-note) {
  max-width: 680px !important;
  margin-bottom: 24px;
}

.zi-contact-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}

.zi-contact-link {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 20px;
  align-items: center;
  gap: 12px;
  min-width: 0;
  padding: 15px 16px;
  border-radius: 13px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.045);
  color: #fff !important;
  text-decoration: none !important;
  transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
}

.zi-contact-link:hover {
  transform: translateY(-2px);
  border-color: rgba(244,180,0,.48);
  background: rgba(255,255,255,.075);
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
}

.zi-contact-link-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  background: rgba(244,180,0,.14);
  color: #FFD65A;
  font-size: 1.05rem;
}

.zi-contact-link-copy {
  min-width: 0;
}

.zi-contact-link-copy small,
.zi-contact-link-copy strong {
  display: block;
}

.zi-contact-link-copy small {
  margin-bottom: 2px;
  color: #9fa7b4;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.zi-contact-link-copy strong {
  color: #fff;
  font-size: .84rem;
  overflow-wrap: anywhere;
}

.zi-contact-link-arrow {
  color: #FFD65A;
  font-size: .78rem;
}

.zi-contact-simple .zi-note {
  margin-top: 20px !important;
}

/* La tarjeta flotante del hero fue retirada; la imagen queda limpia. */
.zi-hero-media {
  padding-bottom: 0 !important;
}


@media (max-width: 900px) and (min-width: 701px) {
  .zi-contact-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .zi-contact-links .zi-contact-link:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 700px) {
  .zi-contact-section-light .zi-contact-simple {
    width: min(100% - 24px, 980px);
    padding: 30px 22px;
  }
  .zi-contact-links {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   CONTACTO · FONDO INDUSTRIAL VISIBLE
   Recupera la imagen de fondo general de Industriales y
   elimina la banda clara exterior de esta sección.
========================================================= */
.zi-contact-section-light {
  background:
    linear-gradient(180deg, rgba(5, 6, 8, .20), rgba(5, 6, 8, .34)),
    url('../img/epp.png') center center / cover fixed !important;
  color: var(--zi-text);
  border-top: 1px solid rgba(255,255,255,.06);
}

.zi-contact-section-light .zi-contact-modern.zi-contact-contrast {
  background:
    radial-gradient(circle at 4% 5%, rgba(244,180,0,.20), transparent 34%),
    linear-gradient(135deg, rgba(17,21,28,.92) 0%, rgba(9,12,17,.90) 74%);
  border-color: rgba(244,180,0,.25);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 28px 70px rgba(0,0,0,.34);
}

@media (max-width: 900px) {
  .zi-contact-section-light {
    background-attachment: scroll !important;
    background-position: center center !important;
  }
}


/* =========================================================
   MEJORAS FINALES · CONSISTENCIA / INTERACCIÓN / SEO VISUAL
========================================================= */

/* Breadcrumb discreto */
.zi-breadcrumb {
  display:flex;
  align-items:center;
  gap:9px;
  padding-top:24px;
  color:#8f97a4;
  font-size:.72rem;
  font-weight:600;
}
.zi-breadcrumb a { color:#cfd4dc !important; text-decoration:none !important; transition:color .2s ease; }
.zi-breadcrumb a:hover { color:#FFD65A !important; }
.zi-breadcrumb > i { font-size:.55rem; color:#5d6470; }
.zi-breadcrumb a i { margin-right:4px; color:#FFD65A; }

/* Hero: más presencia sin sumar contenido */
.zi-hero { padding-top:54px; }
.zi-hero-content { position:relative; z-index:2; }
.zi-hero-content::before {
  content:''; position:absolute; width:330px; height:330px; left:-145px; top:60px; z-index:-1;
  border-radius:50%; background:rgba(244,180,0,.09); filter:blur(78px); pointer-events:none;
}
.zi-hero h1 { text-shadow:0 10px 45px rgba(0,0,0,.28); }
.zi-hero h1 span {
  background:linear-gradient(135deg,#FFD65A 0%,#F4B400 48%,#FFE18A 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.zi-hero-frame {
  box-shadow:0 38px 100px rgba(0,0,0,.58), 0 0 0 1px rgba(244,180,0,.08);
  animation:ziHeroFloat 7s ease-in-out infinite;
}
.zi-hero-frame::before {
  content:''; position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(145deg,rgba(255,255,255,.08),transparent 26%,transparent 72%,rgba(244,180,0,.12));
}
@keyframes ziHeroFloat { 0%,100%{transform:rotate(.7deg) translateY(0)} 50%{transform:rotate(.25deg) translateY(-7px)} }

/* Servicios: misma altura y hover refinado */
.zi-services { align-items:stretch; }
.zi-service-card { position:relative; height:100%; display:flex; flex-direction:column; overflow:hidden; }
.zi-service-image { overflow:hidden; }
.zi-service-image img { transition:transform .55s cubic-bezier(.2,.75,.25,1), filter .35s ease !important; }
.zi-service-body { display:flex; flex:1; flex-direction:column; }
.zi-service-body p { min-height:0 !important; }
.zi-service-list { margin-top:auto; }
.zi-service-card::after {
  content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0;
  box-shadow:inset 0 0 0 1px rgba(244,180,0,.42), inset 0 0 34px rgba(244,180,0,.045);
  transition:opacity .28s ease;
}
.zi-service-card:hover::after { opacity:1; }
.zi-service-card:hover .zi-service-image img { transform:scale(1.055) !important; filter:saturate(1.04) contrast(1.02); }
.zi-service-number { display:inline-block; transition:transform .25s ease,color .25s ease; }
.zi-service-card:hover .zi-service-number { transform:translateX(4px); color:#F4B400; }

/* Sectores: franja de chips, sin altura innecesaria */
.zi-sector-section { padding:42px 0 !important; }
.zi-sector-section .zi-section-head { margin-bottom:18px; }
.zi-sector-grid { display:flex; flex-wrap:wrap; gap:9px; }
.zi-sector-card {
  min-height:46px !important; width:auto; flex:1 1 150px; max-width:220px;
  padding:8px 12px !important; border-radius:999px !important; gap:9px !important;
}
.zi-sector-card i { width:30px !important; height:30px !important; flex:0 0 30px !important; border-radius:50% !important; font-size:.75rem !important; }
.zi-sector-card span { font-size:.76rem !important; white-space:nowrap; }
.zi-sector-card:hover { transform:translateY(-2px); }

/* Proceso: línea base + progreso que se completa con scroll */
.zi-process-connected { --zi-process-progress:0; }
.zi-process-connected::before {
  background:rgba(255,255,255,.10) !important; box-shadow:none !important;
}
.zi-process-connected::after {
  content:''; position:absolute; top:34px; left:8%; right:8%; height:2px; z-index:0;
  background:linear-gradient(90deg,#B97800,#F4B400,#FFD65A);
  box-shadow:0 0 18px rgba(244,180,0,.32);
  transform-origin:left center; transform:scaleX(var(--zi-process-progress));
  transition:transform .08s linear;
}
.zi-process-connected .zi-step span { transition:box-shadow .25s ease,background .25s ease,transform .25s ease; }
.zi-process-connected .zi-step:hover span { transform:scale(1.06); box-shadow:0 0 0 1px rgba(244,180,0,.55),0 0 28px rgba(244,180,0,.34); }

/* Pulido: teaser hacia la landing especializada */
.zi-floor-simple { padding:70px 0 !important; }
.zi-floor-simple .zi-floor-media { min-height:420px; }
.zi-floor-simple .zi-floor-copy > p { max-width:650px; }
.zi-floor-cta { margin-top:6px; }
.zi-floor-cta .fa-arrow-right { font-size:.72rem; transition:transform .2s ease; }
.zi-floor-cta:hover .fa-arrow-right { transform:translateX(4px); }

/* Transición breve hacia contacto */
.zi-precontact {
  padding:34px 0; color:#fff; border-top:1px solid rgba(255,255,255,.07);
  background:linear-gradient(180deg,#07090d 0%,#090b10 100%);
}
.zi-precontact-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.zi-precontact .zi-eyebrow { margin-bottom:6px; }
.zi-precontact h2 { margin:0; font-size:clamp(1.45rem,2.4vw,2.15rem); color:#fff; font-weight:800; letter-spacing:-.035em; }
.zi-precontact p { margin:5px 0 0; color:#aeb5c0; font-size:.84rem; }
.zi-precontact-link {
  flex:0 0 auto; display:inline-flex; align-items:center; gap:9px; min-height:42px; padding:0 15px;
  border:1px solid rgba(244,180,0,.32); border-radius:999px; background:rgba(244,180,0,.075);
  color:#fff !important; font-size:.78rem; font-weight:750; text-decoration:none !important; transition:.22s ease;
}
.zi-precontact-link:hover { transform:translateY(-2px); background:rgba(244,180,0,.14); border-color:rgba(244,180,0,.55); }

/* Contacto: más interacción y descriptor útil */
.zi-contact-link { position:relative; overflow:hidden; }
.zi-contact-link::before {
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0;
  background:linear-gradient(115deg,rgba(244,180,0,.08),transparent 58%); transition:opacity .25s ease;
}
.zi-contact-link:hover::before { opacity:1; }
.zi-contact-link:hover .zi-contact-link-icon { transform:scale(1.06); background:rgba(244,180,0,.20); }
.zi-contact-link:hover .zi-contact-link-arrow { transform:translate(2px,-2px); color:#FFE18A; }
.zi-contact-link-icon,.zi-contact-link-arrow { transition:transform .22s ease,background .22s ease,color .22s ease; }
.zi-contact-link-copy em { display:block; margin-top:3px; color:#7f8896; font-size:.62rem; font-style:normal; font-weight:600; }

/* Nav activo: lectura más evidente */
.industrial-nav-links a.is-active:not(.industrial-nav-cta) {
  color:#fff !important; background:rgba(244,180,0,.12) !important; box-shadow:inset 0 0 0 1px rgba(244,180,0,.14);
}
.industrial-nav-links a.is-active:not(.industrial-nav-cta) i { color:#FFD65A !important; transform:scale(1.08); }
.industrial-nav-links a i { transition:color .2s ease,transform .2s ease; }
.industrial-nav-links a.is-active:not(.industrial-nav-cta)::after { height:2px; box-shadow:0 0 10px rgba(244,180,0,.65); }

@media (max-width:820px){
  .zi-hero-frame { animation:none; }
  .zi-process-connected::after { display:none; }
  .zi-precontact-inner { align-items:flex-start; }
}
@media (max-width:700px){
  .zi-breadcrumb { padding-top:16px; }
  .zi-sector-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .zi-sector-card { max-width:none; width:100%; }
  .zi-sector-card span { white-space:normal; }
  .zi-precontact-inner { flex-direction:column; gap:15px; }
  .zi-precontact-link { width:100%; justify-content:center; }
}
@media (max-width:430px){
  .zi-sector-grid { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){
  .zi-hero-frame { animation:none; }
  .zi-process-connected::after { transition:none; }
}

/* ==========================================================
   AJUSTES FINALES · CTA SERVICIOS + ACCESIBILIDAD
========================================================== */
.zi-skip-link {
  position: fixed;
  top: 10px;
  left: 12px;
  z-index: 10000;
  transform: translateY(-150%);
  padding: 10px 14px;
  border-radius: 9px;
  background: #fff;
  color: #17191f !important;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
  transition: transform .18s ease;
}
.zi-skip-link:focus { transform: translateY(0); }

.zi-service-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  max-width: 100%;
  margin-top: 17px;
  color: #F4B400 !important;
  font-size: .78rem;
  font-weight: 800;
  text-decoration: none !important;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity .22s ease, transform .22s ease, color .22s ease;
}
.zi-service-cta i { transition: transform .22s ease; }
.zi-service-card:hover .zi-service-cta,
.zi-service-card:focus-within .zi-service-cta {
  opacity: 1;
  transform: translateY(0);
}
.zi-service-cta:hover { color: #C98500 !important; }
.zi-service-cta:hover i { transform: translateX(4px); }

/* Focus visible consistente en toda la landing industrial. */
.industrial-header a:focus-visible,
.industrial-nav a:focus-visible,
.zi-landing a:focus-visible,
.electronics-footer a:focus-visible {
  outline: 3px solid #FFD65A !important;
  outline-offset: 4px;
  border-radius: 8px;
  box-shadow: 0 0 0 4px rgba(244,180,0,.16);
}

@media (hover: none), (max-width: 820px) {
  .zi-service-cta {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .zi-reveal,
  .zi-service-card,
  .zi-service-image img,
  .zi-service-number,
  .zi-service-cta,
  .industrial-nav a,
  .zi-contact-link,
  .zi-contact-link-icon,
  .zi-contact-link-arrow {
    animation: none !important;
    transition: none !important;
  }
  .zi-reveal { opacity: 1 !important; transform: none !important; }
}


/* =========================================================
   IDENTIDAD INDUSTRIAL · ÁMBAR + GRAFITO
   Overrides aislados: no alteran navbar/footer de otras áreas.
========================================================= */
.industriales-page {
  --industrial-amber: #F4B400;
  --industrial-amber-light: #FFD65A;
  --industrial-amber-dark: #C98500;
  --industrial-graphite: #161A1D;
  --industrial-steel: #2A3035;
}

/* Header */
.industriales-page .industrial-header {
  background:
    radial-gradient(circle at 86% 20%, rgba(244,180,0,.18), transparent 30%),
    linear-gradient(125deg, rgba(7,9,12,.99) 0%, rgba(22,26,29,.98) 58%, rgba(201,133,0,.13) 100%);
}
.industriales-page .industrial-header::after {
  background: linear-gradient(90deg, transparent, rgba(244,180,0,.78), transparent);
}
.industriales-page .industrial-eyebrow { color: var(--industrial-amber-light); }
.industriales-page .industrial-eyebrow::before {
  background: var(--industrial-amber);
  box-shadow: 0 0 0 5px rgba(244,180,0,.11), 0 0 20px rgba(244,180,0,.42);
}
.industriales-page .industrial-header-meta i {
  color: var(--industrial-amber);
  filter: drop-shadow(0 0 8px rgba(244,180,0,.30));
}

/* Nav */
.industriales-page .industrial-nav {
  background: rgba(14,16,18,.93);
  border-bottom-color: rgba(255,255,255,.10);
}
.industriales-page .industrial-nav::before {
  background: linear-gradient(90deg, transparent 5%, rgba(244,180,0,.90) 50%, transparent 95%);
}
.industriales-page .industrial-nav-dot {
  background: var(--industrial-amber);
  box-shadow: 0 0 0 5px rgba(244,180,0,.11), 0 0 20px rgba(244,180,0,.44);
}
.industriales-page .industrial-nav-links a::after {
  background: linear-gradient(90deg, var(--industrial-amber-dark), var(--industrial-amber), var(--industrial-amber-light));
  box-shadow: 0 -3px 14px rgba(244,180,0,.26);
}
.industriales-page .industrial-nav-links i {
  color: var(--industrial-amber);
  filter: drop-shadow(0 0 7px rgba(244,180,0,.22));
}
.industriales-page .industrial-nav-links a.is-active:not(.industrial-nav-cta) {
  color: #fff !important;
  background: rgba(244,180,0,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(244,180,0,.15);
}
.industriales-page .industrial-nav-links a.is-active:not(.industrial-nav-cta) i { color: var(--industrial-amber-light) !important; }
.industriales-page .industrial-nav-links a.is-active:not(.industrial-nav-cta)::after {
  box-shadow: 0 0 10px rgba(244,180,0,.60);
}
.industriales-page .industrial-nav-links .industrial-nav-cta,
.industriales-page .industrial-nav-links .industrial-nav-cta.is-active {
  color: #171A1D !important;
  border-color: rgba(255,214,90,.28);
  background: linear-gradient(135deg, #FFD65A, #F4B400);
  box-shadow: 0 9px 24px rgba(244,180,0,.20);
}
.industriales-page .industrial-nav-links .industrial-nav-cta i { color: #171A1D !important; }
.industriales-page .industrial-nav-links .industrial-nav-cta:hover {
  color: #111 !important;
  background: linear-gradient(135deg, #FFE18A, #FFC52B);
  box-shadow: 0 13px 30px rgba(244,180,0,.28);
}

/* Botones principales: amarillo industrial con texto grafito */
.industriales-page .zi-btn-primary {
  color: #171A1D !important;
  background: linear-gradient(135deg, #FFD65A, #F4B400 58%, #C98500);
  box-shadow: 0 16px 38px rgba(244,180,0,.20);
}
.industriales-page .zi-btn-primary:hover {
  color: #111 !important;
  box-shadow: 0 20px 46px rgba(244,180,0,.30);
}
.industriales-page .zi-btn-primary i { color: #171A1D; }

/* Tarjetas: el amarillo aparece como señal, no como relleno dominante */
.industriales-page .zi-section-light .zi-service-card:hover {
  border-color: rgba(244,180,0,.44);
  box-shadow: 0 24px 54px rgba(31,38,51,.14), 0 0 0 1px rgba(244,180,0,.06);
}
.industriales-page .zi-service-card::after {
  box-shadow: inset 0 0 0 1px rgba(244,180,0,.42), inset 0 0 34px rgba(244,180,0,.04);
}
.industriales-page .zi-service-card:hover .zi-service-number { color: var(--industrial-amber-dark); }
.industriales-page .zi-sector-card i {
  color: #171A1D;
  background: linear-gradient(135deg, #FFD65A, #F4B400 60%, #C98500);
  box-shadow: 0 10px 26px rgba(244,180,0,.17);
}

/* Pulido usa la misma identidad ámbar/amarilla de Industriales. */
.industriales-page .zi-floor-simple {
  background:
    radial-gradient(circle at 88% 8%, rgba(244,180,0,.075), transparent 31%),
    #f3f5f8;
}
.industriales-page .zi-floor-simple .zi-eyebrow,
.industriales-page .zi-floor-simple .zi-floor-point i { color: var(--industrial-amber); }
.industriales-page .zi-floor-simple .zi-floor-cta {
  color: #171A1D !important;
  background: linear-gradient(135deg, #FFD65A, #F4B400 58%, #C98500);
  box-shadow: 0 16px 38px rgba(244,180,0,.20);
}
.industriales-page .zi-floor-simple .zi-floor-cta i { color: #171A1D; }
.industriales-page .zi-floor-simple .zi-floor-cta:hover {
  color: #111 !important;
  box-shadow: 0 20px 46px rgba(244,180,0,.30);
}

/* Footer estilo Electrónica, tematizado solo en Industriales */
.industriales-page .electronics-footer {
  --ef-accent: #F4B400;
  background: linear-gradient(145deg, rgba(17,20,22,.90) 0%, rgba(23,27,30,.88) 58%, rgba(66,49,10,.72) 100%);
  border-top-color: rgba(244,180,0,.24);
}
.industriales-page .electronics-footer::before {
  background: linear-gradient(90deg, transparent, #F4B400, transparent);
}
.industriales-page .electronics-footer-icon {
  color: #F4B400;
  background: rgba(244,180,0,.08);
}
.industriales-page .electronics-footer-nav a:hover i,
.industriales-page .electronics-footer-trust i { color: #F4B400; }

/* Accesibilidad */
.industriales-page .industrial-header a:focus-visible,
.industriales-page .industrial-nav a:focus-visible,
.industriales-page .zi-landing a:focus-visible,
.industriales-page .electronics-footer a:focus-visible {
  outline-color: #FFD65A !important;
  box-shadow: 0 0 0 4px rgba(244,180,0,.16);
}

/* =========================================================
   AJUSTE DE LEGIBILIDAD · NAV INDUSTRIALES
   Tipografía más presente sin aumentar la altura del nav.
========================================================= */
.industriales-page .industrial-nav-brand {
  font-size: .84rem;
}

.industriales-page .industrial-nav-links a {
  padding-inline: 16px;
  font-size: .94rem;
  font-weight: 650;
  letter-spacing: -.01em;
}

.industriales-page .industrial-nav-links i {
  font-size: .90rem;
}

.industriales-page .industrial-nav-links .industrial-nav-cta {
  padding-inline: 19px;
  font-weight: 750;
}

@media (max-width: 820px) {
  .industriales-page .industrial-nav-links a {
    padding-inline: 13px;
    font-size: .84rem;
  }
  .industriales-page .industrial-nav-links a span,
  .industriales-page .industrial-nav-links .industrial-nav-cta span {
    font-size: inherit;
  }
}

@media (max-width: 430px) {
  .industriales-page .industrial-nav-links a {
    gap: 7px;
    padding-inline: 11px;
    font-size: .80rem;
  }
  .industriales-page .industrial-nav-links a span,
  .industriales-page .industrial-nav-links .industrial-nav-cta span {
    font-size: inherit;
  }
}
