/*
 Theme Name:   Bootscore Child
 Description:  Bootscore Child Theme
 Author:       Bootscore
 Author URI:   https://bootscore.me
 Template:     bootscore
 Version:      6.0.0
 Requires at least: 5.0
 Tested up to: 6.6
 Requires PHP: 7.4
 License: MIT License
 License URI: https://github.com/bootscore/bootscore-child/blob/main/LICENSE
 Text Domain:  bootscore
*/

/* 
All style editing is done via /assets/scss/_bootscore_custom.scss
*/

/* ==== Generales ====*/
:root {
  --au-primary-100: rgba(197, 217, 251, 0.1);
  --au-primary-300: rgba(197, 217, 251, 1);
  --au-primary-400: rgba(144, 179, 247, 1);
  --au-primary-500: rgba(91, 141, 243, 1);
  --au-primary-700: rgba(9, 36, 88, 1);
  --au-primary-800: rgba(18, 25, 38, 1);
  --au-primary-900: rgba(5, 19, 48, 1);
  --au-white: rgba(255, 255, 255, 1);
  --au-neutral-100: rgba(251, 251, 251, 0.1);
  --au-neutral-200: rgba(217, 217, 217, 0.5);
  --au-neutral-300: rgba(160, 160, 160, 1);
  --au-neutral-600: rgba(88, 88, 90, 1);
  --au-neutral-700: rgba(59, 59, 59, 1);
  --au-deg-titulo: linear-gradient(0deg, #5b8df3 -6.96%, #fff 38.61%);
  --au-deg-lineas: linear-gradient(90deg,
      rgba(217, 217, 217, 0) 0%,
      rgba(91, 141, 243, 0.5) 50%,
      rgba(217, 217, 217, 0) 100%);
  --au-lanzamiento: rgba(178, 111, 251, 1);
  --au-optimizacion: rgba(251, 167, 111, 1);
  --au-operacion: rgba(111, 174, 251, 1);
  --au-internalizacion: rgba(251, 111, 113, 1);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Roboto", sans-serif;
}

.h1 p,
.h1 {
  font-size: clamp(2rem, 4vw, 4rem);
  font-style: normal;
  font-weight: 600;
  line-height: clamp(3rem, 4vw, 4.9375rem);
  overflow: visible;
  word-break: auto-phrase;
  padding-bottom: 0.15em;
}

.h1 p {
  margin: 0;
  line-height: 1.15;
  overflow: visible;
}

.h1 p.h1-acento {
  padding-bottom: 0.1em;
  background: linear-gradient(0deg,
      var(--au-primary-400) 0%,
      var(--au-white) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.h2,
.h2 p {
  font-size: clamp(1.75rem, 4vw, 3.25rem);
  font-style: normal;
  font-weight: 500;
  line-height: clamp(2.4rem, 4vw, 3.4375rem);
  word-break: auto-phrase;
}

.h2 p.h2-acento {
  padding-bottom: 0.1em;
  background: linear-gradient(0deg,
      var(--au-primary-400) 0%,
      var(--au-white) 60%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.h3 p,
.h3 {
  font-size: clamp(1.5rem, 3vw, 1.75rem);
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}

p {
  font-size: 1rem;
  font-weight: 300;
  color: var(--au-primary-900);
}

p strong {
  font-weight: 500;
}

.lead {
  font-size: clamp(0.75rem, 3vw, 1rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.625rem;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

section {
  overflow-x: clip;
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.empresa .empresa-talento,
section.etapas,
.pag-404,
section.partner {
  padding-bottom: 15rem;
}

.inicio section.etapas {
  padding-bottom: 4rem;
}

.hero {
  padding-top: 12rem;
  padding-bottom: 3rem;
}

.img-fluid {
  max-width: 100%;
  height: auto;
}

/* --- botones --- */
.btn {
  padding: 0.25rem 1rem;
  border-color: transparent;
  border-radius: unset;
  width: fit-content;
}

.btn:hover {
  background-color: var() !important;
  border-color: transparent;
}

.btn svg {
  transition: transform 1s ease-in-out;
}

.btn:hover svg {
  transform: translateX(0.5rem);
}

.btn-primary {
  background-color: var();
  color: var();
}

.btn-primary:hover {
  background-color: var();
  color: var();
  border: 1px var() solid;
}

.btn-cta {
  display: flex;
  padding: 1.25rem 1.875rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: var(--au-white);
  border-radius: 0.3125rem;
  background: var(--au-primary-500);
}

.btn-cta.active,
.btn-cta:active,
.btn-cta:focus-visible,
.btn-cta:focus-within,
.btn-cta:focus,
.btn-cta:hover {
  background-color: var(--au-primary-400);
  color: var(--au-white);
  border: 1px var(--au-primary-400) solid;
}

.btn-blanco {
  display: flex;
  padding: 1.25rem 1.875rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: var(--au-primary-500);
  border-radius: 0.3125rem;
  background: var(--au-white);
  border: 1px solid var(--au-white);
}

.btn-blanco.active,
.btn-blanco:active,
.btn-blanco:focus-visible,
.btn-blanco:focus-within,
.btn-blanco:focus,
.btn-blanco:hover {
  background: var(--au-white);
  color: var(--au-primary-500);
  border: 1px var(--au-primary-100) solid;
  transition: transform 1s ease-in-out;
}

.btn-blanco:hover {
  border: 1px transparent solid;
}

.btn-blanco svg path {
  fill: var(--au-primary-500);
}

.btn-azul {
  padding: 0.25rem 1rem;
  justify-content: center;
  align-items: center;
  gap: 0.625rem;
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  color: var(--au-primary-400);
  border-radius: 0.3125rem;
  background: transparent;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
}

.btn-azul.active,
.btn-azul:active,
.btn-azul:focus-visible,
.btn-azul:focus-within,
.btn-azul:focus,
.btn-azul:hover {
  background: transparent;
  color: var(--au-primary-400);
  border: 1px solid transparent;
  transition: transform 1s ease-in-out;
}

.btn-enlace {
  color: var(--au-primary-500);
}

.btn-enlace svg path {
  fill: var(--au-primary-500);
}

.btn-enlace:hover {
  color: var(--au-primary-400);
}

.revelar .palabra {
  display: inline;
  color: var(--au-neutral-600);
  transition: color 0.3s ease;
}

.revelar .palabra.visible {
  color: inherit;
}

/* ==== Inicio ==== */

/* --- 
Hero --- */

.inicio .hero {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 8rem;
  padding-bottom: 4rem;
  color: var(--au-white);
  overflow: hidden;
}

.inicio .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,
      rgba(5, 19, 48, 0.75) 0%,
      rgba(5, 19, 48, 0.55) 60%,
      rgba(5, 19, 48, 0.85) 100%);
  z-index: 0;
}

.inicio .hero .lead {
  color: var(--au-primary-400);

  margin-bottom: 1rem;
}

.inicio .hero .h1 p,
.inicio .hero .h1 {
  color: var(--au-white);
}

.inicio .hero .h1 em {
  font-style: normal;
  background: var(--au-deg-titulo);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.inicio .hero-descripcion {
  color: var(--au-white);
  max-width: 50rem;
  margin: 0 auto 2rem;
}

.inicio .hero-descripcion p {
  color: var(--au-white);
  font-weight: 300;
}

.inicio .cta-final .btn,
.inicio .hero .btn {
  margin: 0 auto;
}

.inicio .hero-stats-ticker {
  position: relative;
  margin-top: 3rem;
  padding-top: 2rem;
  padding-bottom: 5.5rem;
}

.inicio .hst-track {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
  width: 100%;
}

.inicio .hst-card-wrapper {
  flex-shrink: 0;
  width: 12rem;
  height: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.inicio .hst-card {
  border-radius: 1rem;

  background: rgba(197, 217, 251, 0.18);
  border: 1px solid rgba(197, 217, 251, 0.35);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 10rem;
  gap: 0.5rem;
  height: 8rem;
  opacity: 0.35;
  transition:
    width 1s ease,
    height 1s ease,
    opacity 1s ease,
    background 1s ease,
    border-color 1s ease;
}

.inicio .hst-num {
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--au-white);
  line-height: 1;
  transition: font-size 1s ease;
}

.inicio .hst-label {
  font-size: 0.7rem;
  color: var(--au-white);
  letter-spacing: 0.1em;
  margin-top: 0.3rem;
  transition:
    font-size 1s ease,
    margin-top 1s ease;
}

.inicio .hst-card.hst-active {
  width: 8rem;
  height: 6rem;

  opacity: 1;
}

.inicio .hst-card.hst-active .hst-num {
  font-size: 1.5rem;
}

.inicio .hst-card.hst-active .hst-label {
  font-size: 1.5rem;
  margin-top: 0.4rem;
}

.inicio .hst-card.hst-semi {
  width: 5rem;
  height: 5rem;
  opacity: 1;
}

.inicio .hst-card.hst-semi .hst-num {
  font-size: 1rem;
}

.inicio .hst-card.hst-semi .hst-label {
  font-size: 0.75rem;
  margin-top: 0.35rem;
}

.scroll-arrows {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
  animation: bounce-down 2s infinite;
}

@keyframes bounce-down {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(10px);
  }

  60% {
    transform: translateY(5px);
  }
}

.hero-ticker {
  overflow: hidden;
  padding: 0.875rem 0;
  margin-bottom: 4rem;
  background-color: var(--au-neutral-100);
}

.ticker-track {
  display: flex;
  gap: 3rem;
  white-space: nowrap;
  width: max-content;
  animation: ticker-scroll linear infinite;
  animation-duration: 30s;
}

.ticker-item {
  color: var(--au-neutral-200);
  font-size: 1.25rem;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 3rem;
  font-weight: 300;
}

.ticker-item::after {
  content: "·";
}

@keyframes ticker-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

/* --- Intro --- */
.inicio .intro {
  background: linear-gradient(to bottom,
      var(--au-primary-700) 0%,
      var(--au-primary-500) 40%,
      var(--au-primary-400) 60%,
      var(--au-primary-300) 75%,
      var(--au-white) 100%);
  padding-top: 0rem;
  padding-bottom: 5rem;
}

.inicio .intro .lead {
  color: var(--au-white);
}

.inicio .intro .h2 strong {
  color: var(--au-primary-500);
}

/* --- Propuesta de valor --- */
.inicio .propuesta {
  background: var(--au-white);
}

.inicio .propuesta .h2 strong {
  font-weight: 700;
}

.inicio .propuesta-tarjeta {
  padding: 2rem 1.5rem;
  border: 1px solid rgba(217, 217, 217, 0.6);
  border-radius: 0.25rem;
  height: 100%;
  text-align: center;
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: flex-start;
}

.inicio .propuesta-tarjeta .h3 {
  min-height: 4.5rem;

  color: var(--au-primary-700);
  margin-bottom: 0.75rem;
}

.inicio .propuesta-tarjeta p {
  font-size: 1.2rem;
  margin-bottom: 0;
  color: var(--au-primary-700);
}

/* --- Logos strip --- */
.inicio .logos-strip {
  padding: 2rem 0;
  overflow: hidden;
  background: var(--au-white);
}

.inicio .logos-track-wrapper {
  overflow: hidden;
}

.inicio .logos-track {
  display: flex;
  gap: 3rem;
  align-items: center;
  animation: logos-scroll 60s linear infinite;
  width: max-content;
}

.inicio .logo-item img {
  height: 4rem;
  filter: grayscale(1);
  transition:
    opacity 0.2s ease,
    filter 0.2s ease;
}

.inicio .logo-item img:hover {
  filter: grayscale(0);
}

@keyframes logos-scroll {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.etapas {
  position: relative;
  overflow: clip;
}

.etapas::after {
  content: "";
  background-image: url(assets/img/foco-luz-azul-2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, 50%);
  width: 250%;
  height: 250%;
  z-index: 0;
}

.etapas .container {
  position: relative;
  z-index: 2;
}

.etapas .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

.etapa-fila {
  padding: 2rem 0;
  border-top: 1px solid rgba(217, 217, 217, 0.5);
  opacity: 0.6;
  position: relative;
  transition: opacity 0.4s ease;
}

.etapa-fila:last-child {
  border-bottom: 1px solid rgba(217, 217, 217, 0.5);
}

.etapa-fila.activa {
  opacity: 1;
}

.etapa-num-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.5rem;
  height: 4.5rem;
  border-radius: 0.75rem;
  margin-bottom: 1rem;
}

.etapa-num-wrap-1 {
  background: rgba(178, 111, 251, 0.1);
}

.etapa-num-wrap-2 {
  background: rgba(251, 167, 111, 0.1);
}

.etapa-num-wrap-3 {
  background: rgba(111, 174, 251, 0.1);
}

.etapa-num-wrap-4 {
  background: rgba(251, 111, 113, 0.1);
}

.etapa-num {
  font-size: 1.75rem;
  line-height: 1;
}

.etapa-num-1 {
  color: var(--au-lanzamiento);
}

.etapa-num-2 {
  color: var(--au-optimizacion);
}

.etapa-num-3 {
  color: var(--au-operacion);
}

.etapa-num-4 {
  color: var(--au-internalizacion);
}

.etapa-tipo {
  font-size: 0.7rem;
  color: var(--au-neutral-300);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0 0 0.35rem;
}

.etapa-titulo {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--au-primary-700);
  margin: 0 0 0.35rem;
}

.etapa-subtitulo {
  font-size: 0.875rem;
  margin: 0;
  margin-bottom: 1rem;
}

.etapa-subtitulo-1 {
  color: var(--au-lanzamiento);
}

.etapa-subtitulo-2 {
  color: var(--au-optimizacion);
}

.etapa-subtitulo-3 {
  color: var(--au-operacion);
}

.etapa-subtitulo-4 {
  color: var(--au-internalizacion);
}

.etapa-col-desc {
  display: flex;
  align-items: start;
  flex-direction: column;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 4rem;
}

.etapa-desc {
  color: var(--au-neutral-700);
  font-weight: 600;
  margin: 0;
  flex: 1;
}

.etapa-link {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--au-primary-400);
  text-decoration: none;
  white-space: nowrap;
  flex-shrink: 0;
}

.etapa-fila .etapa-link svg {
  transition: all 0.3s ease;
}

.etapa-fila:hover .etapa-link svg {
  animation: vibrate 0.5s ease-in-out infinite;
}

@keyframes vibrate {
  0% {
    transform: translateX(0);
  }

  50% {
    transform: translateX(0.15rem);
  }

  100% {
    transform: translateX(0);
  }
}

/* --- Control precio --- */

.inicio .control-precio-tarjeta {
  border-radius: 1.25rem;
  background: linear-gradient(148deg, #092458 55%, #3a6fd8 100%);
  box-shadow: 0 11px 13.5px 2px #c5d9fb;
  padding: 3rem 2.5rem;
  color: var(--au-white);
}

.inicio .control-precio-tarjeta .lead {
  color: var(--au-white);

  margin-bottom: 1rem;
}

.inicio .control-precio-tarjeta .h2 {
  color: var(--au-white);
  font-weight: 700;
  line-height: 1.1;
}

.inicio .control-precio-tarjeta .h2 p {
  color: var(--au-white);
  margin: 0;
  line-height: 1.1;
  font-size: clamp(1.75rem, 5vw, 4rem);
}

.inicio .control-precio-tarjeta .h2 p.h1-acento {
  background: linear-gradient(90deg,
      var(--au-primary-400) 0%,
      var(--au-white) 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.inicio .control-precio-imagen-wrap {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
}

.inicio .control-precio-imagen-wrap::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.inicio .control-precio-imagen-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1.25rem;
  position: absolute;
  z-index: -1;
}

.inicio .control-precio-imagen-texto {
  position: relative;
  bottom: 0;
  text-align: end;
  width: 100%;
  right: 0;
  padding: 2rem;
  z-index: 2;
  border-radius: 0 0 1.25rem 1.25rem;
}

.inicio .control-precio-imagen-texto p {
  color: var(--au-white);
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  text-align: start;
}

.inicio .control-precio-imagen-texto p strong {
  color: var(--au-white);
  font-weight: 700;
}

/* --- Infraestructura --- */
.inicio .infraestructura {
  background: var(--au-white);
}

.inicio .infraestructura .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

/* --- Compliance + A quién acompañamos --- */
.inicio .compliance-acompanamos {
  position: relative;
  background-color: var(--au-primary-900);
  padding-top: 5rem;
  padding-bottom: 5rem;
  overflow: hidden;
}

.inicio .compliance-acompanamos::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--mapa-url);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 0.8;
  z-index: 0;
}

.inicio .compliance-bloque {
  padding-bottom: 5rem;
}

.inicio .compliance-acompanamos .lead {
  color: var(--au-primary-400);

  margin-bottom: 1rem;
}

.inicio .compliance-bloque .h2 {
  color: var(--au-white);
  font-weight: 600;
  line-height: 1.15;
}

.inicio .compliance-bloque .h2 p {
  color: var(--au-white);
  margin: 0;
  line-height: 1.15;
}

.inicio .compliance-texto p {
  color: var(--au-white);
  margin-bottom: 2rem;
}

.inicio .compliance-sep {
  border: none;
  border-top: 1px solid rgba(197, 217, 251, 0.12);
  margin: 0;
}

.inicio .acomp-bloque {
  padding-top: 5rem;
}

.inicio .acomp-bloque .h2 {
  color: var(--au-white);
  font-weight: 600;
  line-height: 1.2;
  margin-bottom: 1.5rem;
}

.inicio .acomp-bloque .h2 p {
  color: var(--au-white);
  margin: 0;
}

.inicio .acomp-cta-link:hover {
  opacity: 0.75;
}

.inicio .acomp-stats-row {
  padding: 1.5rem 0;
  margin-top: 2.5rem;
  gap: 1rem;
}

.inicio .acomp-stat-item {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 0.5rem;
  padding: 0;
}

.inicio .acomp-stat-numero {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--au-primary-400);
  line-height: 1;
}

.inicio .acomp-stat-etiqueta {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--au-primary-400);
  line-height: 1;
}

.inicio .acomp-sectores {
  color: var(--au-neutral-300);
  font-size: 1rem;
  font-weight: 500;
  line-height: 2.2;
  margin: 0;
}

.inicio .acomp-sep {
  color: var(--au-white);
  margin: 0 0.4rem;
}

/* --- Partner --- */
.inicio .partner {
  background: var(--au-primary-900);
  color: var(--au-white);
  padding-top: 8rem;
}

.inicio .partner-texto p {
  color: var(--au-white);
}

.inicio .partner .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.inicio .partner .h2 p,
.inicio .partner .h2 {
  color: var(--au-white);
}

.inicio .partner-stat-numero {
  display: block;
  font-size: 4rem;
  font-style: normal;
  font-weight: 600;
  line-height: 3.4375rem;
  margin-bottom: 1rem;
  color: var(--au-white);
}

.inicio .partner-stat-etiqueta {
  display: block;
  color: var(--au-neutral-300);
  margin-top: 0.375rem;
}

.inicio .partner-ventajas {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.inicio .partner-ventajas li {
  color: var(--au-white);
  padding-left: 3rem;
  position: relative;
  font-size: 1.25rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  min-height: 29px;
}

.inicio .partner-ventajas li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- CTA Final Global --- */
.cta-global-wrapper {
  position: relative;
  z-index: 10;
  bottom: 10rem;
}

.cta-global-box {
  position: relative;
  background-size: cover;
  background-position: center;
  border-radius: 0.5rem;
  padding: 2rem 1rem;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.15);
}

.cta-global-box .cta-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
      rgba(9, 36, 88, 0.85) 0%,
      rgba(5, 19, 48, 0.85) 100%);
  z-index: 1;
}

.cta-global-box .cta-content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cta-global-box .lead {
  color: var(--au-white);

  margin-bottom: 1rem;
}

.cta-global-box .h2 {
  color: var(--au-white);
  font-weight: 600;
  margin-bottom: 1rem;
}

.bpc-monitor a,
.cta-global-box .btn-cta {
  margin: 0 auto;
}

.cta-global-box p {
  color: var(--au-white);
}

.cta-global-box .texto {
  margin: 0 auto;
}

/* ==== Páginas ==== */
/* --- Breadnav servicios --- */
body.admin-bar .nav-principal {
  top: var(--wp-admin--admin-bar--height, 32px);
}

.serv-breadnav {
  position: relative;
  z-index: 200;
  top: 70px;
  background: rgba(5, 19, 48, 0.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(197, 217, 251, 0.08);
}

.serv-breadnav-track {
  display: flex;
  align-items: stretch;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}

.serv-breadnav-item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.875rem;
  padding: 1.5rem 1.25rem;
  text-decoration: none;
  overflow: hidden;

  flex: 1 1 0;
  min-width: 0;
  opacity: 0.45;
  transition:
    opacity 0.25s ease,
    background 0.25s ease;
}

.serv-breadnav-item:hover {
  opacity: 0.75;
}

.serv-breadnav-num {
  font-size: 2rem;
  padding: 1rem;
  letter-spacing: 0.05em;
  flex-shrink: 0;
  border-radius: 0.625rem;
  color: rgba(255, 255, 255, 0.25);
  transition: color 0.3s ease;
}

.serv-breadnav-item-morado .serv-breadnav-num {
  color: rgba(178, 111, 251, 0.35);
  background: rgba(178, 111, 251, 0.1);
}

.serv-breadnav-item-naranja .serv-breadnav-num {
  background: rgba(251, 167, 111, 0.1);
  color: rgba(251, 167, 111, 0.35);
}

.serv-breadnav-item-azul .serv-breadnav-num {
  color: rgba(111, 174, 251, 0.35);
  background: rgba(111, 174, 251, 0.1);
}

.serv-breadnav-item-rojo .serv-breadnav-num {
  background: rgba(251, 111, 113, 0.1);
  color: rgba(251, 111, 113, 0.35);
}

.serv-breadnav-texto {
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  overflow: hidden;
  min-width: 0;
}

.serv-breadnav-nombre {
  font-size: 1.45rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  color: var(--au-white);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.serv-breadnav-lead {
  color: var(--au-white);
  font-size: 0.75rem;
  text-transform: uppercase;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 0.14rem;
}

.serv-breadnav-desc {
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: rgba(255, 255, 255, 0.5);
}

/* === Activo: máxima opacidad === */
.serv-breadnav-item.activo {
  opacity: 1;
  background: rgba(91, 141, 243, 0.08);
}

.serv-breadnav-item-morado.activo .serv-breadnav-num {
  color: var(--au-lanzamiento);
}

.serv-breadnav-item-naranja.activo .serv-breadnav-num {
  color: var(--au-optimizacion);
}

.serv-breadnav-item-azul.activo .serv-breadnav-num {
  color: var(--au-operacion);
}

.serv-breadnav-item-rojo.activo .serv-breadnav-num {
  color: var(--au-internalizacion);
}

.serv-breadnav-item-morado.activo .serv-breadnav-desc {
  color: rgba(178, 111, 251, 0.7);
}

.serv-breadnav-item-naranja.activo .serv-breadnav-desc {
  color: rgba(251, 167, 111, 0.7);
}

.serv-breadnav-item-azul.activo .serv-breadnav-desc {
  color: rgba(111, 174, 251, 0.7);
}

.serv-breadnav-item-rojo.activo .serv-breadnav-desc {
  color: rgba(251, 111, 113, 0.7);
}

/* --- Ver más (solo móvil) --- */
.serv-breadnav-vermas {
  display: block;
  text-align: center;
  padding: 0.75rem 1rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--au-primary-400);
  text-decoration: none;
  border-top: 1px solid rgba(197, 217, 251, 0.08);
}

.serv-breadnav-vermas:hover {
  color: var(--au-white);
}

.hero p {
  color: var(--au-white);
}

/* --- Hero servicio --- */
.serv-operaciones .serv-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 10rem;
  padding-bottom: 8rem;
  height: 100%;
  color: var(--au-white);
  max-height: 100rem;
  overflow: hidden;
}

.serv-operaciones .serv-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg,
      rgba(5, 19, 48, 0.9) 0%,
      rgba(5, 19, 48, 0.65) 50%,
      rgba(5, 19, 48, 0.88) 100%);
  z-index: 0;
}

.serv-operaciones .serv-hero .lead {
  color: var(--au-primary-400);

  margin-bottom: 1rem;
}

.serv-operaciones .serv-hero .h1 p,
.serv-operaciones .serv-hero .h1 {
  color: var(--au-white);
}

.serv-operaciones .serv-hero-desc {
  color: rgba(255, 255, 255, 0.8);
  max-width: 34rem;
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 1.7;
}

/* --- Escalabilidad --- */

.serv-operaciones .serv-escal {
  padding-top: 0rem;
  padding-bottom: 6rem;
  background: linear-gradient(to bottom,
      var(--au-primary-700) 0%,
      var(--au-primary-500) 40%,
      var(--au-primary-400) 60%,
      var(--au-primary-300) 75%,
      var(--au-white) 100%);
  overflow: hidden;
}

.serv-operaciones .serv-escal .h2 p {}

.serv-operaciones .serv-escal .lead {
  color: var(--au-primary-300);

  margin-bottom: 0.75rem;
}

.serv-operaciones .serv-escal-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.serv-operaciones .serv-escal-lista li {
  padding-left: 2.5rem;
  position: relative;
  color: var(--au-primary-900);
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  min-height: 29px;
}

.serv-operaciones .serv-escal-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.serv-operaciones .serv-coste {
  position: relative;
}

.serv-operaciones .serv-coste .container {
  position: relative;
  z-index: 2;
}

.serv-operaciones .serv-coste::after {
  content: "";
  background-image: url(assets/img/foco-luz-azul-2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right center;
  position: absolute;
  top: -10%;
  right: -10%;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.serv-operaciones .serv-coste-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.serv-operaciones .serv-coste-lista li {
  padding-left: 3rem;
  position: relative;
  color: var(--au-primary-900);
  font-size: 0.9375rem;
  display: flex;
  align-items: center;
  min-height: 29px;
}

.serv-operaciones .serv-coste-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.serv-operaciones .serv-escal-img-wrap {
  overflow: hidden;
  position: relative;
}

.serv-operaciones .serv-escal-img-wrap img {
  width: 100%;
  display: block;
  border-radius: 1rem;
}

.serv-operaciones .serv-escal-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 1rem;
  border: 1px solid rgba(91, 141, 243, 0.2);
  pointer-events: none;
}

/* --- Coste de la discontinuidad --- */
.serv-operaciones .serv-coste {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.serv-operaciones .serv-coste .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

/* --- Soluciones operativas --- */
.bg-deg {
  position: relative;
  background: linear-gradient(319deg, #0b45b5 14.63%, #092458 97.92%);
  overflow: clip;
}

.bg-deg p {
  color: var(--au-white);
}

.bg-deg::before {
  content: "";
  background-image: url("assets/img/foco-luz.svg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom;
  position: absolute;
  top: -35%;
  right: 0;
  width: 100%;
  height: 50%;
  z-index: 0;
}

.bg-deg::after {
  content: "";
  background-image: url("assets/img/foco-luz-iz.svg");
  background-size: cover;
  background-position: top;
  background-repeat: no-repeat;
  position: absolute;
  bottom: -35%;
  left: 0;
  width: 100%;
  height: 50%;
  z-index: 0;
}

.serv-operaciones .serv-soluciones {
  padding-top: 6rem;
  padding-bottom: 6rem;
  position: relative;
  z-index: 4;
  color: var(--au-white);
}

.serv-operaciones .serv-sol-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5rem;
  align-items: start;
}

.serv-operaciones .serv-sol-izq {
  position: sticky;
  top: 5rem;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100%;
  max-height: calc(100vh - 6rem);
}

.serv-operaciones .serv-sol-header {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: 1.5rem;
  height: 100%;
}

.serv-operaciones .serv-sol-header-texto {
  flex: 1;
}

.serv-operaciones .serv-sol-header-texto .h3 {
  color: var(--au-neutral-200);
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.9375rem;
  /* 155% */
}

.serv-operaciones .serv-soluciones .lista-mas {
  list-style: none;
  color: var(--au-neutral-200);
  display: flex;
  flex-direction: column;
  padding: 0;
}

.serv-operaciones .serv-sol-header-texto .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.5rem;
}

.serv-operaciones .serv-sol-header-texto .h2 p {
  color: var(--au-white);
  margin: 0;
}

.serv-operaciones .serv-sol-progress-bar {
  flex: 1;
  width: 2px;
  background: rgba(197, 217, 251, 0.12);
  border-radius: 2px;
  position: relative;
  margin-top: 0.25rem;
}

.serv-operaciones .serv-sol-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 2px;
  background: var(--au-primary-500);
  transition:
    top 0.35s ease,
    height 0.35s ease;
}

.serv-operaciones .serv-sol-desc {
  display: none;
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9375rem;
  line-height: 1.75;
}

.serv-operaciones .serv-sol-desc.activo {
  display: block;
  animation: fadeInDesc 0.35s ease;
}

@keyframes fadeInDesc {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.serv-operaciones .serv-coste .serv-coste-lista {
  columns: 2;
}

.serv-operaciones .serv-sol-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.serv-operaciones .serv-sol-tab {
  background: none;
  border: none;
  padding: 0.2rem 0;
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--au-white);
  transition: color 0.2s ease;
  cursor: default;
  line-height: 1.4;
}

.serv-operaciones .serv-sol-tab:hover {
  color: rgba(255, 255, 255, 0.6);
}

.serv-operaciones .serv-sol-tab {
  padding-left: 2rem;
  position: relative;
}

.serv-operaciones .serv-sol-tab::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.serv-operaciones .serv-sol-indicador-wrap {
  border-top: 1px solid rgba(197, 217, 251, 0.1);
  padding-top: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.serv-operaciones .serv-sol-indicador-label {
  font-size: 0.6875rem;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: rgba(255, 255, 255, 0.25);
}

.serv-operaciones .serv-sol-indicador {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.serv-operaciones .serv-sol-ind-item {
  background: none;
  border: none;
  padding: 0.1rem 0;
  text-align: left;
  font-family: "Roboto", sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.22);
  cursor: pointer;
  transition: color 0.2s ease;
}

.serv-operaciones .serv-sol-ind-item:hover {
  color: rgba(255, 255, 255, 0.55);
}

.serv-operaciones .serv-sol-ind-item.activo {
  color: var(--au-primary-400);
  font-weight: 500;
}

.serv-operaciones .serv-sol-carousel {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.serv-operaciones .serv-sol-card {
  border-radius: 1.25rem;
  background: var(--au-primary-100, rgba(197, 217, 251, 0.1));
  box-shadow: 0 4px 4px 0 #90b3f7;
  display: flex;
  /* width: 33.625rem; */
  max-width: 100%;
  padding: 3.75rem 3.125rem;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 2rem;
  transition:
    background 0.35s ease,
    box-shadow 0.35s ease;
}

.serv-operaciones .serv-sol-card.activo {
  background: var(--au-primary-300, rgba(197, 217, 251, 0.35));
}

.serv-operaciones .serv-sol-card.activo,
.serv-operaciones .serv-sol-card.activo:hover {
  opacity: 1;
  border-color: rgba(144, 179, 247, 0.35);
  background: rgba(91, 141, 243, 0.12);
}

.serv-operaciones .serv-sol-card-nombre {
  color: var(--au-white);
  font-size: 1.65rem;
  font-style: normal;
  font-weight: 600;
}

.serv-operaciones .serv-sol-card-titulo {
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--au-white);
  margin: 0;
}

.serv-operaciones .serv-sol-card-subtitulo {
  font-size: 1rem;
  color: var(--au-neutral-300);
  margin: 0 0 1rem;
  font-weight: 300;
}

.serv-operaciones .serv-sol-card-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.serv-operaciones .serv-sol-card-lista li {
  font-size: 0.875rem;
  color: var(--au-primary-300);
  padding-left: 0;
  position: relative;
  line-height: 1.55;
}

.serv-operaciones .serv-sol-progreso {
  display: flex;
  flex-shrink: 0;
  align-self: stretch;
}

/* --- Preparados para operar --- */
.serv-operaciones .serv-garantias {
  position: relative;
  z-index: 2;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.serv-operaciones .serv-garantias .gar-text,
.serv-operaciones .serv-garantias .h2 p {
  color: var(--au-white);
}

.serv-operaciones .serv-garantias .lead {
  color: var(--au-white);

  margin-bottom: 0.75rem;
}

.serv-operaciones .serv-gar-lista {
  list-style: none;
  padding: 0 0.5rem;
  margin: 0;
  margin-top: 4rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.serv-operaciones .serv-gar-item {
  position: relative;
  color: var(--au-white);
  padding-left: 3rem;
  font-size: 1.25rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 1rem;
}

.serv-operaciones .serv-gar-item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='2' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='1.8' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Cpath d='M11.3829 18.7866L21.6776 8.49318C21.7914 8.37934 21.9255 8.31852 22.0799 8.31072C22.2343 8.30293 22.3758 8.36374 22.5045 8.49318C22.6331 8.62261 22.6978 8.76179 22.6986 8.91072C22.6994 9.05964 22.6351 9.19843 22.5056 9.32709L12.0449 19.7948C11.8555 19.9843 11.6348 20.079 11.3829 20.079C11.1311 20.079 10.9104 19.9843 10.721 19.7948L5.98418 15.058C5.87034 14.9442 5.81108 14.8089 5.8064 14.6522C5.80172 14.4955 5.86332 14.3528 5.99119 14.2241C6.11907 14.0955 6.25825 14.0311 6.40873 14.0311C6.55922 14.0311 6.6984 14.0955 6.82627 14.2241L11.3829 18.7866Z' fill='%234E8CFF'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.serv-operaciones .serv-gar-icono {
  display: block;
  font-size: 1.75rem;
  margin-bottom: 1rem;
}

.serv-operaciones .serv-gar-titulo {
  color: var(--au-white);
  font-size: 1.125rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.serv-operaciones .serv-gar-desc {
  font-size: 0.9rem;
  color: var(--au-white);
  line-height: 1.6;
}

/* --- Etapas override --- */
.serv-operaciones .serv-etapas {
  background: linear-gradient(180deg,
      var(--au-white) 0%,
      rgba(197, 217, 251, 0.15) 100%);
}

.serv-operaciones .serv-etapas .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

/* ==== A quién acompañamos ==== */

/* --- Hero --- */
.acompaniamos .acomp-hero {
  padding-top: 10rem;
  padding-bottom: 0;
  justify-content: flex-end;
  background: linear-gradient(to bottom,
      var(--au-primary-900) 0%,
      var(--au-primary-800) 50%,
      var(--au-primary-700) 100%);
}

.acompaniamos .acomp-hero .lead {
  color: var(--au-primary-400);

  margin-bottom: 1rem;
}

.acompaniamos .acomp-hero .h1 {
  color: var(--au-white);
}

.acomp-hero-desc {
  color: rgba(255, 255, 255, 0.75);
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.7;
}

/* --- Quién --- */
.acomp-quien {
  padding-top: 0;
  padding-bottom: 5rem;
  background: linear-gradient(to bottom,
      var(--au-primary-700) 0%,
      var(--au-primary-500) 70%,
      var(--au-primary-400) 100%);
}

.acomp-quien .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.acomp-quien .h2 p,
.acomp-quien .h2 {
  color: var(--au-white);
  font-weight: 600;
}

.acomp-perfiles-nav {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-top: 1.25rem;
}

.acomp-perfiles-progress {
  flex: 1;
  height: 2px;
  background: rgba(255, 255, 255, 0.241);
  border-radius: 2px;
  position: relative;
}

.acomp-perfiles-progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  border-radius: 2px;
  background: var(--au-white);
  transition:
    width 0.35s ease,
    left 0.35s ease;
}

.acomp-perfiles-slider {
  overflow: hidden;
  position: relative;
}

.acomp-perfiles-track {
  display: flex;
  gap: 1.25rem;
  transition: transform 0.45s ease;
  width: max-content;
}

.acomp-perfil-card {
  flex-shrink: 0;
  width: 25rem;
  background: rgba(197, 217, 251, 0.06);
  border: 1px solid rgba(197, 217, 251, 0.12);
  border-radius: 0.875rem;
  padding: 2.5rem;
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.acomp-perfil-num {
  font-size: 1.5rem;
  font-weight: 200;
  background-color: var(--au-neutral-100);
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--au-white);
  margin: 0 0 0.625rem;
}

.acomp-perfil-titulo {
  font-size: 1.35rem;
  font-weight: 600;
  margin: 2rem 0;
  color: var(--au-white);
}

.acomp-perfil-subtitulo {
  font-size: 0.825rem;
  font-weight: 400;
  color: var(--au-primary-300);
}

.acomp-perfil-desc p,
.acomp-perfil-desc {
  font-size: 1rem;
  color: var(--au-white);
  line-height: 1.6;
  margin: 0;
}

.acomp-perfiles-nav {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.25rem;
}

.acomp-nav-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  border: 1px solid rgba(197, 217, 251, 0.2);
  background: var(--au-primary-300);
  color: var(--au-primary-400);
  cursor: pointer;
  transition:
    border-color 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.acomp-nav-btn:hover {
  border-color: var(--au-primary-500);
  background: var(--au-primary-500);
}

/* --- Sectores --- */
.acompaniamos .acomp-sectores-section {
  padding-top: 5rem;
  padding-bottom: 6rem;
  background: linear-gradient(to bottom,
      var(--au-primary-400) 0%,
      var(--au-primary-100) 30%,
      var(--au-white) 100%);
}

.acompaniamos .acomp-sectores-section .lead {
  color: var(--au-primary-900);

  margin-bottom: 0.75rem;
}

.acompaniamos .acomp-sectores-section .h2 {
  color: var(--au-primary-700);
}

.acompaniamos .acomp-sectores-section .h2 strong,
.acompaniamos .acomp-sectores-section .h2 em {
  color: var(--au-primary-500);
  font-style: normal;
}

.acompaniamos .acomp-sectores-section .texto p {
  color: var(--au-neutral-600);
  font-size: 0.9375rem;
}

.acompaniamos .acomp-sectores-section .btn-cta {
  margin: 0 auto;
}

.acomp-sectores-subnav {
  flex-wrap: wrap;
  gap: 0;
  border-bottom: 1px solid rgba(9, 36, 88, 0.12);
  justify-content: center;
}

.acomp-sector-nav-btn {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  padding: 0.6rem 1.5rem;
  margin-bottom: -1px;
  font-family: "Roboto", sans-serif;
  font-size: 0.9375rem;
  color: rgba(9, 36, 88, 0.4);
  cursor: pointer;
  transition:
    color 0.2s ease,
    border-color 0.2s ease;
}

.acomp-sector-nav-btn:hover {
  color: var(--au-primary-700);
  border-bottom-color: rgba(91, 141, 243, 0.35);
  background: none;
}

.acomp-sector-nav-btn.activo {
  color: var(--au-primary-700);
  border-bottom-color: var(--au-primary-500);
  background: none;
}

.acomp-sectores-grid {
  display: none;
  grid-template-columns: repeat(1, 1fr);
  gap: 2rem;
  background: transparent;
  border: none;
  border-radius: 0;
  overflow: visible;
  margin-top: 2rem;
  animation: fadeInDesc 0.3s ease;
}

.acomp-sectores-grid.activo {
  display: grid;
}

.acomp-sectores-grid {
  position: relative;
}

.acomp-sectores-grid::after {
  content: "";
  background-image: url(assets/img/foco-luz-azul-2.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translate(-50%, 50%);
  width: 100%;
  height: 100%;
  z-index: 0;
}

.acomp-sector-item {
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 1;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  padding: 2rem 1.75rem;
  background: transparent;
  box-shadow: 0 4px 7px 0 #3259a5;
  border-radius: 0.75rem;
  text-align: left;
  transition:
    background 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.acomp-sector-icono {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.acomp-sector-icono img {
  width: 4rem;
  height: 4rem;
  object-fit: contain;
  filter: none;
  opacity: 1;
}

.acomp-sector-nombre {
  color: var(--au-primary-900);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

/* --- Presencia global --- */
.presencia-global {
  background: var(--au-primary-900);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.presencia-global .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.presencia-global .h2 {
  color: var(--au-white);
}

.presencia-global .container>.row:first-child p:not(.lead) {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.9375rem;
}

.acomp-mapa-wrap {
  position: relative;
  width: 100%;
  margin: 2.5rem 0 1.5rem;
  background: transparent;
}

.acomp-mapa-svg {
  width: 100%;
  height: auto;
  display: block;
}

.acomp-mapa-svg polygon,
.acomp-mapa-svg path {
  fill: rgba(91, 141, 243, 0.18);
  stroke: rgba(197, 217, 251, 0.06);
  stroke-width: 0.5;
  transition: fill 0.2s ease;
}

.acomp-mapa-svg path.pais-activo {
  fill: var(--au-primary-500);
  stroke: rgba(197, 217, 251, 0.18);
}

.acomp-mapa-svg path.pais-activo:hover {
  fill: var(--au-primary-400);
  cursor: default;
}

.acomp-mapa-wrap:not(:has(svg path)) {
  display: none;
}

.acomp-regiones {
  border-top: 1px solid rgba(197, 217, 251, 0.08);
  padding-top: 2rem;
  margin-top: 0.5rem;
}

.acomp-region-item {
  padding: 0;
  /* height: 100%; */
  display: flex;
  flex-direction: column;
}

.presencia-global .h3 {
  color: var(--au-white);
  margin-bottom: 2rem;
}

.acomp-region-paises {
  list-style: none;
  padding: 0;
  margin-bottom: 2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 0.35rem;
  height: 8rem;
  align-content: flex-start;
}

@media (max-width: 768px) {
  .acomp-region-paises {
    height: unset;
  }
}

.acomp-region-paises li {
  display: flex;
  padding: 0 1.25rem;
  justify-content: center;
  align-items: center;
  gap: 0.9375rem;
  border-radius: 0.3125rem;
  background: var(--au-neutral-200);
  color: var(--au-white);
  text-align: center;
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.625rem;
  height: 1.625rem;
}

.acomp-region-texto {
  position: relative;
  margin-top: auto;
  margin-bottom: 1rem;
  padding-top: 2rem;
}

.acomp-region-texto::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  background: linear-gradient(90deg,
      rgba(217, 217, 217, 0) 0%,
      rgba(91, 141, 243, 0.5) 50%,
      rgba(217, 217, 217, 0) 100%);
}

.acomp-region-texto p {
  font-size: 1rem;
  color: var(--au-white);
  margin: 0;
}

.acomp-region-nota {
  font-size: 0.75rem;
  color: var(--au-white);
  margin: 0;
}

/* --- Ventajas competitivas --- */
.acompaniamos .acomp-ventajas {
  background: var(--au-primary-900);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.acompaniamos .acomp-ventajas .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.acompaniamos .acomp-ventajas .h2 {
  color: var(--au-white);
  font-weight: 600;
}

.acomp-ventajas-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

.acomp-ventajas-lista li {
  color: var(--au-white);
  font-size: clamp(1.1rem, 2vw, 1.5rem);
  font-weight: 600;
  padding: 0 1.5rem 2.25rem 3rem;
  position: relative;
  display: flex;
  min-height: 3.5rem;
}

.acomp-ventajas-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 5%;
  width: 29px;
  height: 29px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='2' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='1.8' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Cpath d='M11.3829 18.7866L21.6776 8.49318C21.7914 8.37934 21.9255 8.31852 22.0799 8.31072C22.2343 8.30293 22.3758 8.36374 22.5045 8.49318C22.6331 8.62261 22.6978 8.76179 22.6986 8.91072C22.6994 9.05964 22.6351 9.19843 22.5056 9.32709L12.0449 19.7948C11.8555 19.9843 11.6348 20.079 11.3829 20.079C11.1311 20.079 10.9104 19.9843 10.721 19.7948L5.98418 15.058C5.87034 14.9442 5.81108 14.8089 5.8064 14.6522C5.80172 14.4955 5.86332 14.3528 5.99119 14.2241C6.11907 14.0955 6.25825 14.0311 6.40873 14.0311C6.55922 14.0311 6.6984 14.0955 6.82627 14.2241L11.3829 18.7866Z' fill='%234E8CFF'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- Etapas override --- */
.acompaniamos .acomp-etapas {
  background: var(--au-white);
}

.acompaniamos .acomp-etapas .etapa-titulo,
.acompaniamos .acomp-etapas .etapa-desc {
  color: var(--au-neutral-700);
}

/* ==== MQ A quién acompañamos ==== */

/* === Header === */

.nav-barra {
  width: 100%;
}

.nav-barra-inner {
  display: flex;
  align-items: center;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 2rem;
  height: 4.5rem;
}

.nav-logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.nav-logo-img {
  height: 34px;
  width: auto;
  display: block;
}

.nav-links-lista {
  display: flex;
  align-items: center;
  gap: 0.125rem;
  list-style: none;
  margin: 0 0 0 auto;
  padding: 0;
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.45rem 0.875rem;
  font-family: "Roboto", sans-serif;
  font-size: 0.9rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  border-radius: 0.375rem;
  background: none;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition:
    color 0.2s ease,
    background 0.2s ease;
}

.nav-link:active,
.nav-link:focus,
.nav-link:hover,
.nav-link[aria-expanded="true"] {
  color: var(--au-white);
  background: rgba(197, 217, 251, 0.07);
}

.icono-chevron {
  transition: transform 0.3s ease;
  flex-shrink: 0;
}

.nav-link[aria-expanded="true"] .icono-chevron {
  transform: rotate(180deg);
}

.con-megamenu {
  position: relative;
}

.dropdown-megamenu {
  position: absolute;
  top: calc(100% + 0.625rem);
  left: 50%;
  transform: translateX(-50%) translateY(-8px);
  width: 920px;
  max-width: calc(100vw - 2rem);
  background: linear-gradient(135deg, #ffffff 0%, #edf4ff 58%, #dbe9ff 100%);
  border-radius: 0.25rem;
  overflow: hidden;
  box-shadow:
    0 4px 6px -1px rgba(9, 36, 88, 0.08),
    0 12px 40px -4px rgba(9, 36, 88, 0.18),
    0 0 0 1px rgba(9, 36, 88, 0.06);
  z-index: 999;

  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.22s ease,
    transform 0.22s ease,
    visibility 0.22s;
}

.dropdown-megamenu.abierto {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.dropdown-megamenu::before {
  content: "";
  position: absolute;
  top: -6px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 12px;
  height: 12px;
  background: #fff;
  border-radius: 2px 0 0 0;
  box-shadow: -2px -2px 4px rgba(9, 36, 88, 0.05);
}

.megamenu-interior {
  display: grid;
  grid-template-columns: 40% 60%;
  gap: 0;
  min-height: 31rem;
}

.megamenu-columna-izq {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 2rem 1.5rem;
  border-right: 1px solid rgba(9, 36, 88, 0.09);
  background: rgba(255, 255, 255, 0.38);
}

.megamenu-titulo {
  color: var(--au-neutral-600);
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  margin: 0 0 2rem;
}

.texto-eyebrow {
  font-size: 0.725rem;
  font-style: normal;
  line-height: normal;
  letter-spacing: 0.14625rem;

  text-transform: uppercase;
  color: var(--au-neutral-300);
  margin: 0 0 0.2rem;
}

.megamenu-eyebrow-infra {
  margin-top: 1.25rem;
}

.megamenu-categoria {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.9rem 1rem;
  border-radius: 0.15rem;
  color: inherit;
  text-decoration: none;
  outline: none;
  transition:
    background 0.2s ease,
    box-shadow 0.2s ease;
}

.megamenu-categoria:hover,
.megamenu-categoria:focus-visible,
.megamenu-categoria.activa {
  background: rgba(197, 217, 251, 0.72);
  box-shadow: inset 0 0 0 1px rgba(91, 141, 243, 0.08);
}

.texto-categoria-desc {
  display: block;
  font-size: 0.775rem;
  color: var(--au-neutral-600);
  line-height: 1.45;
  margin: 0;
}

.separador-megamenu {
  border: none;
  border-top: 1px solid rgba(9, 36, 88, 0.5);
  margin: 0.5rem 0;
}

.enlace-categoria-secundaria {
  display: block;
  align-items: center;
  font-size: 1rem;
  font-style: normal;
  margin-bottom: 0;
  font-weight: 600;
  line-height: 1.25;
  color: var(--au-primary-900);
  text-decoration: none;
  padding: 0;
  transition: color 0.18s ease;
}

.enlace-categoria-secundaria svg {
  color: var(--au-primary-500);
  opacity: 0;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
  flex-shrink: 0;
}

.enlace-categoria-secundaria:hover {
  color: var(--au-primary-700);
}

.enlace-categoria-secundaria:hover svg {
  opacity: 1;
  transform: translateX(2px);
}

.megamenu-columna-der {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: 2rem 2.25rem;
  opacity: 1;
  visibility: visible;
  transform: translateX(0);
  transition:
    opacity 0.2s ease,
    visibility 0.2s ease,
    transform 0.2s ease;
}

.megamenu-columna-der.oculta {
  opacity: 0;
  visibility: hidden;
  transform: translateX(0.75rem);
}

.megamenu-servicios-cabecera {
  margin-bottom: 1.5rem;
}

.megamenu-servicios-titulo {
  color: var(--au-primary-900);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.25;
  margin: 0 0 0.5rem;
}

.megamenu-servicios-desc {
  max-width: 18rem;
  color: var(--au-neutral-600);
  font-size: 0.8rem;
  line-height: 1.45;
  margin: 0;
}

.item-servicio {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  padding: 0.75rem 0.25rem;
  border-radius: 0;
  border-top: 1px solid rgba(9, 36, 88, 0.07);
  text-decoration: none;
  background: transparent;
  transition: background 0.15s ease;
}

.item-servicio:hover {
  background: rgba(255, 255, 255, 0.34);
}

.badge-numero-servicio {
  font-size: 0.75rem;
  color: var(--color-servicio);
  background: var(--bg-badge);
  border-radius: 0.3rem;
  padding: 0.4rem;
  font-weight: 300;
  flex-shrink: 0;
  min-width: 1.9rem;
  text-align: center;
  transition: background 0.15s ease;
}

.item-servicio:hover .badge-numero-servicio {
  background: var(--bg-badge-hover);
}

.item-servicio-textos {
  display: flex;
  flex-direction: column;
  gap: 0.05rem;
  flex: 1;
  min-width: 0;
}

.texto-titulo-servicio {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--au-primary-700);
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.texto-lead-servicio {
  display: block;
  font-size: 0.75rem;
  color: var(--color-servicio);
  line-height: 1.45;
  white-space: nowrap;
  font-weight: 300;
  overflow: hidden;
  text-overflow: ellipsis;
}

.texto-eyebrow-servicio {
  display: block;
  font-size: 0.65rem;
  color: var(--au-primary-900);
  line-height: 1.45;
  white-space: nowrap;
  text-transform: uppercase;
  font-weight: 300;
  overflow: hidden;
  text-overflow: ellipsis;
}

.icono-flecha-servicio {
  color: var(--au-primary-500);
  margin-left: auto;
  flex-shrink: 0;
  transform: translateX(-0.15rem);

  transition:
    opacity 0.18s ease,
    transform 0.18s ease;
}

.item-servicio:hover .icono-flecha-servicio {
  transform: translateX(0.1rem);
}

.selector-idioma {
  position: relative;
}

.trigger-idioma {
  min-width: 3.5rem;
  justify-content: center;
  font-size: 0.8rem;
  font-weight: 700;
}

.dropdown-idiomas {
  display: none;
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  list-style: none;
  margin: 0;
  padding: 0.375rem;
  background: linear-gradient(180deg, #fff 0%, #dde9fd 100%);
  border: 1px solid rgba(9, 36, 88, 0.1);
  border-radius: 0.5rem;
  box-shadow: 0 8px 24px rgba(9, 36, 88, 0.14);
  min-width: 4rem;
  flex-direction: column;
  gap: 0.125rem;
}

.dropdown-idiomas.abierto {
  display: flex;
}

.opcion-idioma {
  display: block;
  padding: 0.35rem 0.75rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--au-neutral-600);
  text-decoration: none;
  border-radius: 0.3rem;
  text-align: center;
  transition:
    background 0.15s ease,
    color 0.15s ease;
}

.opcion-idioma:hover {
  background: rgba(9, 36, 88, 0.07);
  color: var(--au-primary-700);
}

.idioma-activo {
  color: var(--au-primary-500) !important;
  font-weight: 700;
}

.boton-hamburguesa {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  margin-left: auto;
  border-radius: 0.375rem;
  transition: background 0.2s ease;
}

.boton-hamburguesa:hover {
  background: rgba(197, 217, 251, 0.08);
}

.barra-hamburguesa {
  display: block;
  width: 22px;
  height: 2px;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 2px;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease,
    width 0.3s ease;
}

.boton-hamburguesa[aria-expanded="true"] .barra-hamburguesa:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.boton-hamburguesa[aria-expanded="true"] .barra-hamburguesa:nth-child(2) {
  opacity: 0;
  width: 0;
}

.boton-hamburguesa[aria-expanded="true"] .barra-hamburguesa:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.overlay-fondo {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 998;
  background: rgba(5, 19, 48, 0.45);
  backdrop-filter: blur(2px);
}

.overlay-fondo.visible {
  display: block;
}

.menu-movil {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: min(340px, 92vw);
  background: var(--au-primary-900);
  border-left: 1px solid rgba(197, 217, 251, 0.08);
  z-index: 1001;
  transform: translateX(100%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  overflow-y: auto;
}

.menu-movil[aria-hidden="false"] {
  transform: translateX(0);
}

.menu-movil-interior {
  display: flex;
  flex-direction: column;
  padding: 0 1.25rem 2rem;
  gap: 0.125rem;
}

.menu-movil-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.25rem 0 1.25rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(197, 217, 251, 0.08);
}

.boton-cerrar-movil {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: rgba(197, 217, 251, 0.06);
  border: 1px solid rgba(197, 217, 251, 0.1);
  border-radius: 50%;
  color: rgba(255, 255, 255, 0.6);
  cursor: pointer;
  transition:
    background 0.2s ease,
    color 0.2s ease;
  flex-shrink: 0;
}

.boton-cerrar-movil:hover {
  background: rgba(197, 217, 251, 0.12);
  color: var(--au-white);
}

.seccion-acordeon {
  border-radius: 0.5rem;
  overflow: hidden;
}

.acordeon-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background: none;
  border: none;
  font-family: "Roboto", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  color: var(--au-white);
  cursor: pointer;
  border-radius: 0.5rem;
  text-align: left;
  transition: background 0.2s ease;
}

.acordeon-trigger:hover,
.acordeon-trigger[aria-expanded="true"] {
  background: rgba(197, 217, 251, 0.06);
}

.acordeon-trigger[aria-expanded="true"] .icono-chevron {
  transform: rotate(180deg);
}

.acordeon-panel {
  display: none;
  flex-direction: column;
  padding: 0.25rem 0 0.75rem;
  gap: 0.1rem;
}

.acordeon-panel.abierto {
  display: flex;
}

.acordeon-panel .texto-eyebrow {
  padding: 0.25rem 1rem 0.4rem;
  margin: 0;
}

.item-servicio-movil {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.55rem 1rem;
  border-radius: 0.375rem;
  text-decoration: none;
  transition: background 0.15s ease;
}

.item-servicio-movil:hover {
  background: var(--bg-badge, rgba(91, 141, 243, 0.07));
}

.item-servicio-movil .badge-numero-servicio {
  font-size: 0.65rem;
  padding: 0.18rem 0.4rem;
}

.item-servicio-movil .texto-titulo-servicio {
  color: var(--au-white);
  font-size: 0.875rem;
}

.item-servicio-movil .texto-lead-servicio {
  color: rgba(197, 217, 251, 0.45);
}

.separador-movil {
  border: none;
  border-top: 1px solid rgba(197, 217, 251, 0.08);
  margin: 0.5rem 1rem;
}

.enlace-secundario-movil {
  display: block;
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.4);
  text-decoration: none;
  border-radius: 0.375rem;
  transition:
    color 0.15s ease,
    background 0.15s ease;
}

.enlace-secundario-movil:hover {
  color: rgba(255, 255, 255, 0.8);
  background: rgba(197, 217, 251, 0.05);
}

.enlace-principal-movil {
  display: block;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--au-white);
  text-decoration: none;
  border-radius: 0.5rem;
  transition: background 0.2s ease;
}

.enlace-principal-movil:hover {
  background: rgba(197, 217, 251, 0.06);
}

.selector-idioma-movil {
  display: flex;
  gap: 0.5rem;
  padding: 1rem 1rem 0;
  margin-top: 0.5rem;
  border-top: 1px solid rgba(197, 217, 251, 0.08);
}

.boton-idioma-movil {
  padding: 0.35rem 0.875rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.45);
  text-decoration: none;
  border: 1px solid rgba(197, 217, 251, 0.15);
  border-radius: 0.3rem;
  transition:
    color 0.2s ease,
    border-color 0.2s ease,
    background 0.2s ease;
}

.boton-idioma-movil:hover {
  color: var(--au-white);
  border-color: rgba(197, 217, 251, 0.3);
}

.boton-idioma-movil.idioma-activo {
  color: var(--au-primary-400) !important;
  border-color: rgba(91, 141, 243, 0.4) !important;
  background: rgba(91, 141, 243, 0.08);
}

/* ==== Fulfillment & Logistics ==== */

/* --- Hero --- */
.fulfillment .ful-hero {
  position: relative;
  background: linear-gradient(160deg,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 60%,
      var(--au-primary-800) 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-top: 10rem;
  padding-bottom: 5rem;
  color: var(--au-white);
  overflow: hidden;
}

.fulfillment .ful-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg,
      rgba(5, 19, 48, 0.85) 0%,
      rgba(5, 19, 48, 0.5) 50%,
      rgba(5, 19, 48, 0.8) 100%);
  z-index: 0;
}

.fulfillment .ful-hero .lead {
  color: var(--au-primary-400);

  margin-bottom: 1rem;
}

.fulfillment .ful-hero .h1,
.fulfillment .ful-hero .h1 p {
  color: var(--au-white);
}

.fulfillment .acomp-perfil-titulo {
  margin: 0;
  margin-bottom: 1rem;
}

.fulfillment .ful-hero-desc {
  color: rgba(255, 255, 255, 0.75);
  max-width: 34rem;
  font-size: 1rem;
  line-height: 1.7;
}

.fulfillment .ful-hero-desc p {
  color: rgba(255, 255, 255, 0.75);
}

.fulfillment .ful-hero-img-wrap {
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
}

.fulfillment .hero img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: 1rem;
}

.fulfillment .ful-hero-stats {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 1.5rem;
  justify-content: flex-start;
}

.fulfillment .ful-hero-stat {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  border-radius: 1rem;

  background: rgba(197, 217, 251, 0.18);
  border: 1px solid rgba(197, 217, 251, 0.35);
}

.fulfillment .ful-hero-stat-num {
  font-size: clamp(1.25rem, 4vw, 1.75rem);
  color: var(--au-white);
  line-height: 1;
}

.fulfillment .ful-hero-stat-label {
  font-size: 1rem;
  color: var(--au-white);
  letter-spacing: 0.1em;
}

/* --- Infraestructura (fondo oscuro) --- */
.fulfillment .ful-infra {
  background: linear-gradient(319deg, #0b45b5 14.63%, #092458 97.92%);
  padding-top: 6rem;
  padding-bottom: 6rem;
  position: relative;
  overflow: hidden;
}

.fulfillment .ful-infra .container {
  position: relative;
  z-index: 1;
}

.fulfillment .ful-infra .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.fulfillment .ful-infra .h2,
.fulfillment .ful-infra .h2 p {
  color: var(--au-white);
}

.fulfillment .ful-infra p {
  color: rgba(255, 255, 255, 0.7);
}

.fulfillment .ful-infra-tarjetas {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.fulfillment .ful-infra-tarjeta {
  padding: 1.75rem 2rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(197, 217, 251, 0.1);
  background: rgba(197, 217, 251, 0.04);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.fulfillment .ful-infra-tarjeta:hover {
  background: rgba(197, 217, 251, 0.08);
  border-color: rgba(197, 217, 251, 0.2);
}

.fulfillment .ful-infra-tarjeta-imagen-wrapper {
  display: flex;
  width: 3rem;
  height: 3rem;
  justify-content: center;
  align-items: center;
  border-radius: 0.75rem;
  background: var(--au-primary-100);
  margin-bottom: 1rem;
}

.fulfillment .ful-infra-tarjeta-titulo {
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--au-white);
  margin: 0 0 0.5rem;
}

.fulfillment .ful-infra-tarjeta-desc {
  font-size: 0.9rem;
  color: rgba(197, 217, 251, 0.6);
  line-height: 1.6;
  margin: 0;
}

.fulfillment .ful-infra-tarjeta-desc p {
  color: rgba(197, 217, 251, 0.6);
  margin: 0;
}

/* --- Gesin  ---*/

.fulfillment .gesin-tarjeta {
  border-radius: 1.25rem;
  background: linear-gradient(148deg, #092458 55%, #3a6fd8 100%);
  box-shadow: 0 11px 13.5px 2px #c5d9fb;
  padding: 3rem 2.5rem;
  color: var(--au-white);
}

.fulfillment .gesin-tarjeta .lead {
  color: var(--au-white);

  margin-bottom: 1rem;
}

.fulfillment .gesin-tarjeta .h2 {
  color: var(--au-white);
  font-weight: 700;
  line-height: 1.1;
}

.fulfillment .gesin-tarjeta .h2 p {
  color: var(--au-white);
  margin: 0;
  line-height: 1.1;
  font-size: clamp(1.75rem, 5vw, 4rem);
}

.fulfillment .gesin-tarjeta .h2 p.h1-acento {
  background: linear-gradient(90deg,
      var(--au-primary-400) 0%,
      var(--au-white) 70%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.fulfillment .gesin-imagen-wrap {
  position: relative;
  border-radius: 1.25rem;
  overflow: hidden;
}

.fulfillment .gesin-imagen-wrap::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.fulfillment .gesin-imagen-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 1.25rem;
}

.fulfillment .gesin-imagen-texto {
  position: absolute;
  bottom: 0;
  text-align: end;
  width: 100%;
  right: 0;
  padding: 2rem;
  z-index: 2;
  border-radius: 0 0 1.25rem 1.25rem;
}

.fulfillment .gesin-imagen-texto p {
  color: var(--au-white);
  font-size: 2.3rem;
  font-weight: 600;
  line-height: 1.4;
  margin: 0;
  text-align: start;
}

.fulfillment .gesin-imagen-texto p strong {
  color: var(--au-white);
  font-weight: 700;
}


/* --- Servicios logísticos (fondo oscuro continuado) --- */
.fulfillment .ful-servicios {
  background: var(--au-primary-900);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.fulfillment .ful-servicios .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.fulfillment .ful-servicios .h2,
.fulfillment .ful-servicios .h2 p {
  color: var(--au-white);
}

.fulfillment .ful-servicios p {
  color: rgba(197, 217, 251, 0.6);
}

.fulfillment .ful-serv-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.fulfillment .ful-serv-card {
  padding: 2rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(197, 217, 251, 0.08);
  background: rgba(197, 217, 251, 0.03);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.fulfillment .ful-serv-card:hover {
  background: rgba(197, 217, 251, 0.07);
  border-color: rgba(197, 217, 251, 0.15);
}

.fulfillment .ful-serv-card-titulo {
  font-size: 1rem;
  font-weight: 700;
  color: var(--au-white);
  margin: 0 0 0.625rem;
}

.fulfillment .ful-serv-card-desc {
  font-size: 0.875rem;
  color: rgba(197, 217, 251, 0.5);
  line-height: 1.6;
  margin: 0;
}

.fulfillment .ful-serv-card-desc p {
  color: rgba(197, 217, 251, 0.5);
  margin: 0;
}

.fulfillment .ful-serv-card-cta {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(91, 141, 243, 0.25);
  background: rgba(91, 141, 243, 0.06);
}

.fulfillment .ful-serv-card-cta p {
  color: rgba(197, 217, 251, 0.7);
  font-size: 0.9rem;
  line-height: 1.6;
}

.fulfillment .ful-serv-card-tag {
  display: flex;
  padding: 0.3125rem 0.625rem;
  justify-content: center;
  align-items: center;
  width: fit-content;
  gap: 0.625rem;
  border-radius: 0.1875rem;
  color: var(--au-primary-500);
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  line-height: 1.125rem;
  letter-spacing: 0.09375rem;
  margin-bottom: 1rem;
  text-transform: uppercase;
  background: var(--au-primary-100);
}

/* --- Infraestructura 2 (fondo claro/gradiente) --- */
.fulfillment .ful-infra2 {
  position: relative;
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.fulfillment .ful-infra2::after {
  content: "";
  background-image: url(assets/img/foco-luz-azul.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: start center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.fulfillment .ful-infra2 .container {
  position: relative;
  z-index: 1;
}

.fulfillment .ful-infra2 .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

.fulfillment .ful-infra2 .h2,
.fulfillment .ful-infra2 .h2 p {
  color: var(--au-primary-700);
}

.fulfillment .ful-infra2 p {
  color: var(--au-neutral-600);
}

.fulfillment .ful-infra2-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.fulfillment .ful-infra2 .logo-gesin {
  height: 10rem;
  object-fit: contain;
  margin: 0 auto;
}

.fulfillment .ful-infra2-tarjeta {
  padding: 1.75rem;
  border-radius: 0.875rem;
  background: var(--au-primary-700);
  border: 1px solid rgba(91, 141, 243, 0.12);
  box-shadow: 0 4px 16px rgba(9, 36, 88, 0.06);
  transition:
    box-shadow 0.2s ease,
    border-color 0.2s ease;
}

.fulfillment .ful-infra2-tarjeta:hover {
  box-shadow: 0 8px 24px rgba(9, 36, 88, 0.1);
  border-color: rgba(91, 141, 243, 0.25);
}

.fulfillment .ful-infra2-tarjeta-titulo {
  font-size: 1rem;
  font-weight: 700;
  color: var(--au-white);
  margin: 0 0 0.5rem;
}

.fulfillment .ful-infra2-tarjeta-desc {
  font-size: 0.875rem;
  color: var(--au-white);
  line-height: 1.6;
  margin: 0;
}

.fulfillment .ful-infra2-tarjeta-desc p {
  color: var(--au-white);
  margin: 0;
}

/* --- Ventajas (override de color para fondo claro/intermedio) --- */
.fulfillment .ful-ventajas {
  background: linear-gradient(to bottom,
      var(--au-white) 0%,
      rgba(197, 217, 251, 0.1) 100%);
}

.fulfillment .ful-ventajas .lead {
  color: var(--au-primary-500);
}

.fulfillment .ful-ventajas .h2,
.fulfillment .ful-ventajas .h2 p {
  color: var(--au-primary-700);
}

.fulfillment .ful-ventajas .acomp-ventajas-lista li {
  color: var(--au-primary-900);
}

.fulfillment .ful-ventajas .acomp-ventajas-lista li::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='2' fill='%235B8DF3' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='1.8' stroke='%235B8DF3' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Cpath d='M11.3829 18.7866L21.6776 8.49318C21.7914 8.37934 21.9255 8.31852 22.0799 8.31072C22.2343 8.30293 22.3758 8.36374 22.5045 8.49318C22.6331 8.62261 22.6978 8.76179 22.6986 8.91072C22.6994 9.05964 22.6351 9.19843 22.5056 9.32709L12.0449 19.7948C11.8555 19.9843 11.6348 20.079 11.3829 20.079C11.1311 20.079 10.9104 19.9843 10.721 19.7948L5.98418 15.058C5.87034 14.9442 5.81108 14.8089 5.8064 14.6522C5.80172 14.4955 5.86332 14.3528 5.99119 14.2241C6.11907 14.0955 6.25825 14.0311 6.40873 14.0311C6.55922 14.0311 6.6984 14.0955 6.82627 14.2241L11.3829 18.7866Z' fill='%234E8CFF'/%3E%3C/svg%3E");
}

/* --- Etapas override --- */
.fulfillment .ful-etapas {
  background: linear-gradient(180deg,
      rgba(197, 217, 251, 0.15) 0%,
      var(--au-white) 100%);
}

.fulfillment .ful-etapas .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

/* ==== Brand Protection & Compliance ==== */
.bpc-hero {
  position: relative;
  background-size: cover;
  background-position: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-top: 10rem;
  padding-bottom: 8rem;
  color: var(--au-white);
  overflow: hidden;
}

.bpc-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg,
      rgba(5, 19, 48, 0.9) 0%,
      rgba(5, 19, 48, 0.65) 50%,
      rgba(5, 19, 48, 0.88) 100%);
  z-index: 0;
}

.bpc-hero .lead {
  color: var(--au-primary-400);
  margin-bottom: 1rem;
}

.bpc-hero .h1 p,
.bpc-hero .h1 {
  color: var(--au-white);
}

.bpc-hero-desc {
  color: rgba(255, 255, 255, 0.8);
  max-width: 34rem;
  margin-top: 1.5rem;
  font-size: 1rem;
  line-height: 1.7;
}

/* --- Intro servicios --- */
.brand-compliance .bpc-intro {
  background: linear-gradient(to bottom,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 50%,
      var(--au-primary-900) 100%);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.brand-compliance .bpc-intro .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.brand-compliance .bpc-intro .h2,
.brand-compliance .bpc-intro .h2 p {
  color: var(--au-white);
}

.brand-compliance .bpc-intro p {
  color: var(--au-white);
}

.brand-compliance .bpc-intro-lista {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding-left: 2rem;
  width: fit-content;
  text-align: start;
}

.brand-compliance .bpc-intro-lista li {
  color: var(--au-white);
  padding-left: 3rem;
  position: relative;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  min-height: 29px;
}

.brand-compliance .bpc-intro-lista li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

/* --- Monitorización (sobre bg-deg) --- */
.brand-compliance .bpc-monitor {
  padding-top: 6rem;
  padding-bottom: 6rem;
  position: relative;
  background: linear-gradient(to bottom,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 50%,
      var(--au-primary-900) 100%);
  z-index: 1;
}

.brand-compliance .bpc-monitor .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.brand-compliance .bpc-monitor .h2,
.brand-compliance .bpc-monitor .h2 p {
  color: var(--au-white);
}

.brand-compliance .bpc-monitor p {
  color: rgba(197, 217, 251, 0.65);
}

.brand-compliance .bpc-monitor-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.brand-compliance .bpc-monitor-tarjeta {
  padding: 1.75rem;
  border-radius: 0.875rem;
  border: 1px solid rgba(197, 217, 251, 0.1);
  background: rgba(197, 217, 251, 0.04);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.brand-compliance .bpc-monitor-tarjeta:hover {
  background: rgba(197, 217, 251, 0.08);
  border-color: rgba(197, 217, 251, 0.2);
}

.brand-compliance .bpc-monitor-numero {
  color: var(--au-white);
  background-color: var(--au-neutral-100);
  display: flex;
  padding: 0.625rem 0.5rem;
  justify-content: center;
  margin-bottom: 1rem;
  align-items: center;
  gap: 0.625rem;
  font-size: 1.15rem;
  border-radius: 50%;
  width: 3rem;
  height: 3rem;
}

.brand-compliance .bpc-monitor-titulo {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--au-white);
  margin: 0 0 0.625rem;
}

.brand-compliance .bpc-monitor-desc {
  font-size: 0.875rem;
  color: rgba(197, 217, 251, 0.55);
  line-height: 1.65;
  margin: 0;
}

.brand-compliance .bpc-monitor-desc p {
  color: rgba(197, 217, 251, 0.55);
  margin: 0;
}

/* --- Vigilancia en tiempo real (sobre bg-deg) --- */
.brand-compliance .bpc-vigilancia {
  padding-top: 4rem;
  padding-bottom: 6rem;
  position: relative;
  z-index: 1;
}

.brand-compliance .bpc-vigilancia .lead {
  color: var(--au-primary-900);

  margin-bottom: 0.75rem;
}

.brand-compliance .bpc-vigilancia .h2.revelar .palabra,
.brand-compliance .bpc-vigilancia .h2,
.brand-compliance .bpc-vigilancia .h2 p {
  color: var(--au-primary-900);
}

.brand-compliance .bpc-vig-lista {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.brand-compliance .bpc-vig-fila {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--au-neutral-200);
}

.brand-compliance .bpc-vig-fila:last-child {
  border-bottom: none;
}

.brand-compliance .bpc-vig-etiqueta {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--au-primary-500);
  line-height: 1.5;
  padding-top: 0.1rem;
}

.brand-compliance .bpc-vig-desc {
  font-size: 1rem;
  color: var(--au-primary-800);
  line-height: 1.65;
}

.brand-compliance .bpc-vig-desc p {
  color: var(--au-primary-800);
  margin: 0;
}

/* --- Presencia global (override sobre presencia-global) --- */
.brand-compliance .bpc-presencia {
  background: var(--au-primary-900);
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.brand-compliance .bpc-presencia .lead {
  color: var(--au-primary-400);
}

.brand-compliance .bpc-presencia .h2,
.brand-compliance .bpc-presencia .h2 p {
  color: var(--au-white);
}

.brand-compliance .bpc-presencia .h3 {
  color: var(--au-white);
  margin-bottom: 1.25rem;
}

.brand-compliance .bpc-normativas-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.brand-compliance .bpc-normativas-lista li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  font-size: 0.875rem;
  line-height: 1.55;
}

.brand-compliance .bpc-norm-cod {
  color: var(--au-primary-400);
  font-weight: 600;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  white-space: nowrap;
  flex-shrink: 0;
}

.brand-compliance .bpc-norm-desc {
  color: rgba(197, 217, 251, 0.55);
}

/* --- Ventajas (fondo claro, override) --- */
.brand-compliance .bpc-ventajas {
  background: linear-gradient(to bottom,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 50%,
      var(--au-primary-900) 100%);
}

.brand-compliance .bpc-ventajas .lead {
  color: var(--au-primary-500);
}

.brand-compliance .bpc-ventajas .h2,
.brand-compliance .bpc-ventajas .h2 p {
  color: var(--au-white);
}

.brand-compliance .bpc-ventajas .acomp-ventajas-lista li {
  color: var(--au-white);
}

/* .brand-compliance .bpc-ventajas .acomp-ventajas-lista {
  display: flex;
  flex-direction: column;
} */
.brand-compliance .bpc-ventajas .acomp-ventajas-lista li::before {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='2' fill='%235B8DF3' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='1.8' stroke='%235B8DF3' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Cpath d='M11.3829 18.7866L21.6776 8.49318C21.7914 8.37934 21.9255 8.31852 22.0799 8.31072C22.2343 8.30293 22.3758 8.36374 22.5045 8.49318C22.6331 8.62261 22.6978 8.76179 22.6986 8.91072C22.6994 9.05964 22.6351 9.19843 22.5056 9.32709L12.0449 19.7948C11.8555 19.9843 11.6348 20.079 11.3829 20.079C11.1311 20.079 10.9104 19.9843 10.721 19.7948L5.98418 15.058C5.87034 14.9442 5.81108 14.8089 5.8064 14.6522C5.80172 14.4955 5.86332 14.3528 5.99119 14.2241C6.11907 14.0955 6.25825 14.0311 6.40873 14.0311C6.55922 14.0311 6.6984 14.0955 6.82627 14.2241L11.3829 18.7866Z' fill='%234E8CFF'/%3E%3C/svg%3E");
}

.brand-compliance .bpc-mas-info {
  background: linear-gradient(to bottom,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 50%,
      var(--au-primary-900) 100%);
  position: relative;
}

.brand-compliance .bpc-mas-info::before,
.brand-compliance .bpc-mas-info::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg,
      rgba(217, 217, 217, 0) 0%,
      rgba(91, 141, 243, 0.5) 50%,
      rgba(217, 217, 217, 0) 100%);
}

.brand-compliance .bpc-mas-info li {
  color: var(--au-white);
  padding-left: 3rem;
  position: relative;
  font-size: 1rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  min-height: 29px;
  margin-bottom: 1rem;
}

.brand-compliance .bpc-mas-info li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 22px;
  height: 22px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='28.2834' height='28.2834' rx='14.1417' fill='%23C5D9FB' fill-opacity='0.1'/%3E%3Crect x='0.2' y='0.2' width='27.8834' height='27.8834' rx='13.9417' stroke='%23C5D9FB' stroke-opacity='0.3' stroke-width='0.4'/%3E%3Ccircle cx='14.1418' cy='14.1416' r='4.05176' stroke='%235B8DF3'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
}

.brand-compliance .bpc-mas-info .h2,
.brand-compliance .bpc-mas-info .h2 p,
.brand-compliance .bpc-mas-info p {
  color: var(--au-white);
}

/* --- Etapas --- */
.brand-compliance .bpc-etapas {
  background: linear-gradient(180deg,
      rgba(197, 217, 251, 0.15) 0%,
      var(--au-white) 100%);
}

.brand-compliance .bpc-etapas .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

.bpc-regiones .bpc-region-item {
  padding: 2rem 0;
  height: 100%;
}

.bpc-regiones .bpc-region-item .h3 {
  color: var(--au-white);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.75rem;
}

.bpc-region-mercados {
  position: relative;
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
}

.bpc-region-mercados::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg,
      rgba(217, 217, 217, 0) 0%,
      rgba(91, 141, 243, 0.5) 50%,
      rgba(217, 217, 217, 0) 100%);
}

.bpc-region-mercados strong {
  font-size: 1rem;
  font-weight: 700;
  color: var(--au-white);
}

.bpc-region-lista {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.bpc-region-lista li {
  font-size: 0.9rem;
  font-weight: 300;
  color: var(--au-neutral-300);
  line-height: 1.5;
}

/* ==== Empresa ==== */
.empresa .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

.empresa .empresa-hero {
  position: relative;
  display: flex;
  align-items: center;
  background: linear-gradient(160deg,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 60%,
      var(--au-primary-800) 100%);
  color: var(--au-white);
  overflow: hidden;
}

.empresa .empresa-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 35%,
      rgba(91, 141, 243, 0.2),
      transparent 40%),
    linear-gradient(180deg, rgba(5, 19, 48, 0.1), rgba(5, 19, 48, 0.6));
}

.empresa .empresa-hero .lead {
  color: var(--au-primary-400);
}

.empresa .empresa-hero .h1,
.empresa .empresa-hero .h1 p {
  color: var(--au-white);
}

.empresa .empresa-hero-texto {
  max-width: 38rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.empresa .empresa-hero-texto p {
  color: inherit;
}

.empresa .empresa-metricas {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 4rem;
}

.empresa .empresa-metrica {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  padding: 1.25rem;
  border: 1px solid rgba(197, 217, 251, 0.12);
  border-radius: 0.75rem;
  background: rgba(197, 217, 251, 0.05);
  text-align: center;
}

.empresa .empresa-metrica-numero {
  color: var(--au-white);
  font-size: 1.5rem;
  font-weight: 600;
}

.empresa .empresa-metrica-etiqueta {
  color: rgba(255, 255, 255, 0.58);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.empresa .empresa-historia {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: linear-gradient(180deg,
      var(--au-white),
      rgba(197, 217, 251, 0.16));
}

.empresa .empresa-historia .h2,
.empresa .empresa-historia .h2 p,
.empresa .empresa-evolucion .h2,
.empresa .empresa-evolucion .h2 p,
.empresa .empresa-talento .h2,
.empresa .empresa-talento .h2 p {
  color: var(--au-primary-700);
}

.empresa .empresa-historia-texto,
.empresa .empresa-modelo-texto,
.empresa .empresa-talento-texto {
  color: var(--au-neutral-600);
  line-height: 1.7;
}

.empresa .empresa-historia-texto p,
.empresa .empresa-modelo-texto p,
.empresa .empresa-talento-texto p {
  color: inherit;
}

.empresa .empresa-talento .btn-blanco {
  padding-left: 0;
  padding-right: 0;
}

.empresa .empresa-evolucion {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: var(--au-white);
}

.empresa .empresa-hitos {
  list-style: none;
  padding: 0;
  margin: 0;
}

.empresa .empresa-hito {
  position: relative;
  display: grid;
  grid-template-columns: 4rem 1fr;
  gap: 1rem;
  padding: 0 0 3rem 1.25rem;
  border-left: 1px solid rgba(91, 141, 243, 0.3);
}

.empresa .empresa-hito:last-child {
  padding-bottom: 0;
}

.empresa .empresa-hito::before {
  content: "";
  position: absolute;
  top: 0.4rem;
  left: -0.35rem;
  width: 0.65rem;
  height: 0.65rem;
  border-radius: 50%;
  background: var(--au-primary-500);
  box-shadow: 0 0 0 0.35rem rgba(91, 141, 243, 0.12);
  transition: background 0.4s ease;
}

.empresa .empresa-hito>* {
  opacity: 0.5;
  transition: opacity 0.4s ease;
}

.empresa .empresa-hito.active>* {
  opacity: 1;
}

.empresa .empresa-hito.active::before {
  animation: au-pulso-hito 2s infinite;
  background: var(--au-primary-400);
}

@keyframes au-pulso-hito {
  0% {
    box-shadow: 0 0 0 0 rgba(91, 141, 243, 0.7);
  }

  70% {
    box-shadow: 0 0 0 0.75rem rgba(91, 141, 243, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(91, 141, 243, 0);
  }
}

.empresa .empresa-hito-anio {
  color: var(--au-primary-500);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.empresa .empresa-hito-titulo {
  color: var(--au-primary-800);
  font-size: 1rem;
  font-weight: 600;
  margin: 0 0 0.4rem;
}

.empresa .empresa-hito-texto,
.empresa .empresa-hito-texto p {
  color: var(--au-primary-900);
  font-size: 0.9rem;
  line-height: 1.6;
  margin-bottom: 0;
  font-weight: 700;
}

.empresa .empresa-modelo {
  padding-top: 6rem;
  padding-bottom: 6rem;
  background: linear-gradient(319deg, #0b45b5 14.63%, #092458 97.92%);
}

.empresa .empresa-modelo .lead {
  color: var(--au-primary-400);
}

.empresa .empresa-modelo .h2,
.empresa .empresa-modelo .h2 p {
  color: var(--au-white);
}

.empresa .empresa-modelo-texto,
.empresa .empresa-modelo-texto p {
  color: rgba(255, 255, 255, 0.65);
}

.empresa .empresa-modelo-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.empresa .empresa-modelo-card {
  padding: 1.75rem;
  border: 1px solid rgba(197, 217, 251, 0.14);
  border-radius: 0.875rem;
  background: rgba(197, 217, 251, 0.05);
  transition:
    background 0.2s ease,
    border-color 0.2s ease;
}

.empresa .empresa-modelo-card:hover {
  background: rgba(197, 217, 251, 0.1);
  border-color: rgba(197, 217, 251, 0.25);
}

.empresa .empresa-modelo-etiqueta {
  display: block;
  color: var(--au-primary-400);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.empresa .empresa-modelo-titulo {
  color: var(--au-white);
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 0.75rem;
}

.empresa .empresa-modelo-desc,
.empresa .empresa-modelo-desc p {
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
  line-height: 1.65;
  margin-bottom: 0;
}

/* ==== Textos legales ==== */
.legal .legal-hero {
  position: relative;
  min-height: auto;
  padding-top: 10rem;
  padding-bottom: 5rem;
  background: linear-gradient(160deg,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 65%,
      var(--au-primary-800) 100%);
  color: var(--au-white);
  overflow: hidden;
}

.legal .legal-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 20%,
      rgba(91, 141, 243, 0.2),
      transparent 45%);
}

.legal .legal-hero .lead {
  color: var(--au-primary-400);

  margin-bottom: 0.75rem;
}

.legal .legal-hero .h1 {
  color: var(--au-white);
  margin: 0;
}

.legal .legal-contenido {
  padding-top: 5rem;
  padding-bottom: 7rem;
  background: var(--au-white);
}

.legal .legal-texto {
  color: var(--au-neutral-600);
  line-height: 1.75;
}

.legal .legal-texto h2,
.legal .legal-texto h3,
.legal .legal-texto h4 {
  color: var(--au-primary-700);
  font-weight: 600;
  margin-top: 2.5rem;
  margin-bottom: 1rem;
}

.legal .legal-texto h2 {
  font-size: clamp(1.6rem, 3vw, 2.25rem);
}

.legal .legal-texto h3 {
  font-size: 1.4rem;
}

.legal .legal-texto p,
.legal .legal-texto li {
  color: var(--au-neutral-600);
  line-height: 1.75;
}

.legal .legal-texto a {
  color: var(--au-primary-500);
  text-underline-offset: 0.2em;
}

.legal .legal-texto a:hover {
  color: var(--au-primary-700);
}

.legal .legal-texto ul,
.legal .legal-texto ol {
  padding-left: 1.25rem;
  margin-bottom: 1.5rem;
}

.legal .legal-texto li {
  margin-bottom: 0.5rem;
}

.legal .legal-texto table {
  width: 100%;
  margin: 2rem 0;
  border-collapse: collapse;
}

.legal .legal-texto th,
.legal .legal-texto td {
  padding: 0.85rem;
  border: 1px solid var(--au-neutral-200);
  text-align: left;
  vertical-align: top;
}

.legal .legal-texto th {
  background: rgba(197, 217, 251, 0.18);
  color: var(--au-primary-700);
}

/* ==== Contacto ==== */
.contacto .lead {
  color: var(--au-primary-500);

  margin-bottom: 0.75rem;
}

.contacto .contacto-hero {
  position: relative;
  display: flex;
  align-items: center;
  background: linear-gradient(160deg,
      var(--au-primary-900) 0%,
      var(--au-primary-700) 60%,
      var(--au-primary-800) 100%);
  padding-top: 6rem;
  color: var(--au-white);
  overflow: hidden;
}

.contacto .contacto-hero .hero-overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 35%,
      rgba(91, 141, 243, 0.22),
      transparent 42%),
    linear-gradient(180deg, rgba(5, 19, 48, 0.08), rgba(5, 19, 48, 0.65));
}

.contacto .contacto-hero .lead {
  color: var(--au-primary-400);
}

.contacto .contacto-hero .h1,
.contacto .contacto-hero .h1 p {
  color: var(--au-white);
}

.contacto .contacto-hero-texto {
  max-width: 38rem;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.7;
}

.contacto .contacto-hero-texto p {
  color: inherit;
}

.contacto .contacto-datos,
.contacto .contacto-conversacion {
  padding-top: 6rem;
  padding-bottom: 6rem;
}

.contacto .contacto-datos {
  background: var(--au-white);
}

.contacto .contacto-datos .h2,
.contacto .contacto-datos .h2 p,
.contacto .contacto-conversacion .h2,
.contacto .contacto-conversacion .h2 p {
  color: var(--au-primary-700);
  font-weight: 400;
}

.contacto .contacto-datos-texto,
.contacto .contacto-datos-texto p,
.contacto .contacto-formulario-texto,
.contacto .contacto-formulario-texto p {
  color: var(--au-neutral-600);
  line-height: 1.7;
}

.contacto textarea::placeholder {
  color: var(--au-neutral-400);
  opacity: 1;
}

.contacto .contacto-datos-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-bottom: 4rem;
}

.contacto .contacto-dato {
  display: flex;
  padding: 1.5rem 1.75rem;
  flex-direction: row;
  align-items: center;
  gap: 1.25rem;
  border: 1px solid rgba(91, 141, 243, 0.25);
  border-radius: 0.875rem;
  background: var(--au-white, #fff);
  transition:
    border-color 0.2s ease,
    transform 0.2s ease;
}

.contacto .contacto-dato-icono {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 0.75rem;
  background: rgba(91, 141, 243, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--au-primary-500);
  flex-shrink: 0;
}

.contacto .contacto-dato-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.contacto .contacto-dato:hover {
  border-color: rgba(91, 141, 243, 0.35);
  transform: translateY(-0.2rem);
}

.contacto .contacto-dato-etiqueta {
  color: var(--au-neutral-300);
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.contacto .contacto-dato-valor {
  color: var(--au-primary-900);
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  word-break: break-word;
}

.contacto a.contacto-dato-valor:hover {
  color: var(--au-primary-500);
}

.contacto .contacto-direccion p {
  color: inherit;
  font-size: inherit;
  margin: 0;
}

/* Sedes */
.contacto .sedes.lead {
  color: var(--au-neutral-300);
}

.contacto .contacto-sede-card {
  padding: 1.75rem;
  border: 1px solid rgba(197, 217, 251, 0.5);
  border-radius: 0.875rem;
  background: var(--au-white);
  height: 100%;
  transition:
    border-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.contacto .contacto-sede-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1.25rem;
}

.contacto .contacto-sede-etiqueta {
  display: inline-block;
  background: rgba(91, 141, 243, 0.1);
  color: var(--au-primary-500);
  font-size: 0.8rem;
  font-weight: 600;
  padding: 0.3rem 0.85rem;
  border-radius: 0.35rem;
}

.contacto .contacto-sede-icono {
  color: var(--au-neutral-400);
  opacity: 0.6;
}

.contacto .contacto-sede-icono img,
.contacto .contacto-sede-icono svg {
  width: 24px;
  height: 24px;
}

.contacto .contacto-sede-titulo {
  color: var(--au-primary-900);
  font-size: 1.75rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.contacto .contacto-sede-desc,
.contacto .contacto-sede-desc p {
  color: var(--au-neutral-600);
  font-size: 1.25rem;
  line-height: 1.6;
  margin-bottom: 0;
}

.contacto .contacto-conversacion {
  background: linear-gradient(180deg,
      rgba(197, 217, 251, 0.18),
      var(--au-white));
}

.contacto .contacto-mapa,
.contacto-formulario {
  border: 1px solid rgba(197, 217, 251, 0.5);
  border-radius: 0.875rem;
  background: var(--au-white);
  box-shadow: 0 8px 28px rgba(9, 36, 88, 0.04);
}

.contacto .contacto-mapa {
  padding: 0;
  overflow: hidden;
}

.contacto .contacto-mapa iframe {
  display: block;
  width: 100%;
  aspect-ratio: 6/4;
  border: 0;
}

.contacto-formulario {
  padding: 2rem;
}

.contacto-formulario h2,
.contacto-formulario .h3 {
  color: var(--au-primary-900);
  font-size: 1.25rem;
  font-weight: 600;
  margin-bottom: 0.25rem;
  margin-top: 0;
}

.contacto-ninja-form a {
  color: var(--au-primary-500);
}

.contacto-ninja-form .nf-form-fields-required {
  margin-bottom: 1.5rem;
  color: var(--au-neutral-400);
  font-size: 0.85rem;
}

.contacto-ninja-form .ninja-forms-req-symbol {
  color: var(--rojo, #ff4455);
}

.contacto-ninja-form .nf-field-label {
  margin-bottom: 0.5rem;
}

.contacto-ninja-form .nf-field-label label {
  color: var(--au-primary-900);
  font-size: 1.25rem;
  font-weight: 400;
}

.contacto-ninja-form .nf-field-container {
  margin-bottom: 1.25rem;
}

.contacto-ninja-form input:not([type="button"]):not([type="submit"]),
.contacto-ninja-form select,
.contacto-ninja-form textarea {
  width: 100%;
  padding: 0.8rem 1rem;
  border: 1px solid var(--au-neutral-200);
  border-radius: 0.35rem;
  background: var(--au-white);
  color: var(--au-primary-900);
  font-size: 0.95rem;
  box-shadow: none;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease;
}

.contacto-ninja-form input:not([type="button"]):not([type="submit"])::placeholder,
.contacto-ninja-form select::placeholder,
.contacto-ninja-form textarea::placeholder {
  color: var(--au-neutral-400);
}

.contacto-ninja-form input:focus,
.contacto-ninja-form select:focus,
.contacto-ninja-form textarea:focus {
  border-color: var(--au-primary-500);
  outline: none;
  box-shadow: 0 0 0 0.2rem rgba(91, 141, 243, 0.12);
}

.contacto-ninja-form input[type="button"],
.contacto-ninja-form input[type="submit"] {
  width: 100%;
  padding: 1rem 1.5rem;
  border: 1px solid var(--au-primary-500);
  border-radius: 0.5rem;
  background: var(--au-primary-500);
  color: var(--au-white);
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-top: 0.5rem;
}

.contacto-ninja-form input[type="button"]:hover,
.contacto-ninja-form input[type="submit"]:hover {
  border-color: var(--au-primary-400);
  background: var(--au-primary-400);
}

#contactoModal .btn-close {
  position: absolute;
  top: 1rem;
  right: 1rem;
}

/* === Footer === */
.caronte-footer {
  padding-bottom: 2rem;
  background-color: var(--au-white);
}

.footer-text-col p {
  color: var(--au-neutral-600);
  font-size: 1rem;
  line-height: 1.4;
  margin: 0;
}

.footer-email-col {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}

.footer-email-col hr {
  width: 50px;
  height: 2px;
  background-color: var(--au-neutral-600);
  border: none;
  margin-top: 0.7rem;
}

.serv-operaciones .serv-sol-card {
  padding: 2.75rem 2.125rem;
}

.serv-operaciones .serv-escal-img-wrap {
  --escal-extra-gutter: 2.25rem;
  max-width: 100rem;
}




@media (min-width: 720px) {
  .inicio .control-precio-imagen-wrap img {
    position: relative;
  }

  .inicio .control-precio-imagen-texto {
    position: absolute;

  }
}

@media (min-width: 992px) {
  .serv-operaciones .serv-escal-img-wrap {
    width: auto;
    margin-right: calc((100vw - 960px) / -2 - var(--escal-extra-gutter));
  }
}

@media (min-width: 1200px) {
  .serv-operaciones .serv-escal-img-wrap {
    margin-right: calc((100vw - 1140px) / -2 - var(--escal-extra-gutter));
  }
}

@media (min-width: 1400px) {
  .serv-operaciones .serv-escal-img-wrap {
    margin-right: calc((100vw - 1320px) / -2 - var(--escal-extra-gutter));
  }
}

.footer-email-col a {
  color: var(--au-neutral-600);
  text-decoration: none;
  font-size: 1rem;
}

.footer-email-col a:hover {
  color: var(--au-primary-500);
}

.footer-menu-col .footer-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-menu .venta,
.footer-menu-col .footer-menu>li>a {
  font-weight: 700;
  color: var(--au-primary-900);
  text-decoration: none;
  font-size: 1rem;
}

.footer-menu-col .footer-menu>li>a:hover {
  color: var(--au-primary-500);
}

.footer-menu-col .footer-menu .sub-menu {
  list-style: none;
  padding: 0;
  margin: 0.5rem 0 0 0;
}

.footer-menu-col .footer-menu .sub-menu li {
  margin-bottom: 0.25rem;
}

.footer-menu-col .footer-menu .sub-menu a {
  color: var(--au-neutral-600);
  text-decoration: none;
  font-size: 0.875rem;
  font-weight: 400;
}

.footer-menu-col .footer-menu .sub-menu a:hover {
  color: var(--au-primary-500);
}

.footer-logo-row {
  margin-top: 4rem;
  margin-bottom: 3rem;
}

.footer-logo-row svg {
  max-width: 100%;
  height: auto;
}

.footer-bottom-row {
  border-top: 1px solid var(--au-neutral-300);
  padding-top: 1.5rem;
}

.footer-bottom-links {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
}

.footer-bottom-links a {
  color: var(--au-neutral-600);
  text-decoration: none;
  font-size: 0.875rem;
}

.footer-bottom-links a:hover {
  color: var(--au-primary-500);
}

.btn-permanente {
  background-color: var(--au-primary-500);
  padding: 0.5rem;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  border-radius: 50%;
  z-index: 10;
  transition: all 0.3s ease;
}

.btn-permanente svg {
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-permanente:hover {
  background-color: var(--au-primary-400);
  transform: scale(1.1);
}

.colophon {
  background-color: var(--au-primary-900);
  display: flex;
  padding: 0.25rem 1rem;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.colophon .colophon-texto {
  font-weight: 300;
  letter-spacing: -0.5px;
}

.colophon a {
  text-decoration: none;
  color: var(--au-white);
}

.colophon svg>path {
  fill: var(--au-white);
}

/* === 404 === */

/* === Single === */

/* === Archive === */

/* ==== MQ ==== */

/* ============================================================
   MEDIA QUERIES 
============================================================ */
@media (min-width: 576px) {
  .acomp-sectores-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .acomp-sector-item {
    min-height: 15rem;
  }
}

@media (max-width: 1400px) {
  .serv-breadnav-texto {
    display: none !important;
  }

  .serv-breadnav-item {
    padding: 0.875rem;
    justify-content: center;
  }

  .serv-breadnav-num {
    font-size: 0.8rem !important;
  }

  .acomp-perfil-card {
    width: 80vw;
  }

  .fulfillment .acomp-ventajas-lista {
    grid-template-columns: 1fr;
  }
}

@media (min-width: 768px) {
  .acompaniamos .acomp-hero {
    padding-top: 12rem;
  }

  .acomp-sectores-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .serv-operaciones .serv-gar-lista {
    grid-template-columns: 1fr 1fr;
  }

  .inicio .hero {
    padding-top: 10rem;
  }

  .inicio .etapas-tabs {
    gap: 0;
  }

  .inicio .etapa-cabecera {
    align-items: center;
  }

  .serv-operaciones .serv-hero {
    padding-top: 12rem;
  }

  .empresa .empresa-metricas {
    grid-template-columns: repeat(4, 1fr);
  }

  .empresa .empresa-modelo-grid {
    grid-template-columns: 1fr 1fr;
  }

  .contacto .contacto-datos-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .inicio .acomp-stat-item {
    padding: 0 3rem;
  }

  .acomp-sectores-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .menu-movil {
    display: none !important;
  }

  .inicio .control-precio-texto {
    min-height: 36rem;
  }

  .inicio .control-precio-imagen {
    min-height: 36rem;
  }

  .inicio .etapa-item {
    padding: 2rem 0;
  }

  .etapa-col-desc {
    flex-direction: row;
    padding-left: 2rem;
    align-items: center;
    border-left: 1px solid rgba(217, 217, 217, 0.6);
  }

  .inicio .control-precio-tarjeta {
    border-radius: 0;
    border-bottom-left-radius: 1.25rem;
    border-top-left-radius: 1.25rem;
  }

  .etapa-subtitulo,
  .etapa-num-wrap {
    margin-bottom: 0;
  }

  .serv-operaciones .serv-escal-img-wrap img {
    border-radius: 0;
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
  }

  .serv-operaciones .serv-escal-lista li {
    padding-left: 2rem;
  }

  .cta-global-box {
    padding: 4rem 2rem;
  }

  .cta-global-box .h2 {
    margin-bottom: 2rem;
  }

  .cta-global-box .texto {
    margin: 0 auto;
    width: 60%;
  }

  .etapas::after {
    width: 100%;
    height: 100%;
  }

  .serv-operaciones .serv-sol-tab {
    font-weight: 400;
    color: rgba(255, 255, 255, 0.28);
    transition: color 0.2s ease;
  }

  .serv-operaciones .serv-sol-tab.activo {
    color: var(--au-white);
    font-weight: 500;
  }

  .serv-operaciones .serv-sol-card-lista li {
    color: rgba(197, 217, 251, 0.5);
  }

  .serv-operaciones .serv-sol-card.activo .serv-sol-card-lista li {
    color: var(--au-primary-300);
  }

  .inicio .compliance-texto p {
    text-align: end;
  }

  .inicio .acomp-stat-item {
    border-right: 1px solid rgba(197, 217, 251, 0.15);
  }

  .inicio .acomp-stat-item:last-child {
    border-right: none;
  }

  .fulfillment .ful-hero-stat {
    padding: 1.5rem;
  }

  .fulfillment .gesin-texto {
    min-height: 36rem;
  }

  .fulfillment .gesin-imagen {
    min-height: 36rem;
  }

  .fulfillment .etapa-item {
    padding: 2rem 0;
  }

  .fulfillment .gesin-tarjeta {
    border-radius: 0;
    border-bottom-left-radius: 1.25rem;
    border-top-left-radius: 1.25rem;
  }

  .empresa .empresa-hero {
    padding-top: 10rem;
    padding-bottom: 6rem;
  }

  .empresa .empresa-metrica {
    padding: 1.5rem;
  }

  .contacto .contacto-hero {
    padding-top: 10rem;
    padding-bottom: 6rem;
  }

  .contacto .contacto-formulario {
    padding: 2.5rem;
  }

  .contacto .contacto-mapa iframe {
    aspect-ratio: 4/5;
  }

  .acomp-sectores-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .acomp-ventajas-lista {
    grid-template-columns: 1fr 1fr;
  }

  .bg-deg::before {
    top: -25%;
    right: 0;
    width: 50%;
    height: 50%;
  }

  .bg-deg::after {
    bottom: 0;
    left: 0;
    width: 50%;
    height: 50%;
  }
}

@media (max-width: 991px) {
  .nav-links-lista {
    display: none;
  }

  .boton-hamburguesa {
    display: flex;
  }

  .menu-movil .acordeon-trigger,
  .menu-movil .enlace-principal-movil {
    font-size: 1.25rem;
  }

  .menu-movil .texto-eyebrow {
    font-size: 0.875rem;
  }

  .menu-movil .item-servicio-movil .texto-titulo-servicio {
    font-size: 1.125rem;
  }

  .menu-movil .item-servicio-movil .texto-lead-servicio {
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .menu-movil .item-servicio-movil .badge-numero-servicio {
    font-size: 0.825rem;
  }

  .menu-movil .enlace-secundario-movil {
    font-size: 1.125rem;
  }

  .menu-movil .boton-idioma-movil {
    font-size: 1rem;
  }

  .fulfillment .ful-serv-grid {
    grid-template-columns: 1fr;
  }

  .fulfillment .ful-infra2-grid {
    grid-template-columns: 1fr;
  }

  .brand-compliance .bpc-monitor-grid {
    grid-template-columns: 1fr;
  }

  .brand-compliance .bpc-vig-fila {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .brand-compliance .acomp-ventajas-lista {
    grid-template-columns: 1fr;
  }

  .serv-operaciones .serv-sol-layout {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  .serv-operaciones .serv-sol-izq {
    position: static;
    max-height: none;
  }

  .serv-operaciones .serv-sol-header {
    align-items: flex-start;
  }

  .serv-operaciones .serv-sol-progreso {
    width: 100%;
  }

  .serv-operaciones .serv-sol-progress-bar {
    min-height: 6rem;
  }

  .serv-operaciones .serv-coste-lista {
    grid-template-columns: 1fr;
  }

  .serv-operaciones .serv-coste-item {
    border-right: none;
    padding-right: 0;
  }

  .serv-operaciones .serv-coste-item:nth-child(even) {
    padding-left: 0;
  }

  /* --- Soluciones: móvil --- */
  .serv-operaciones .serv-sol-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .serv-operaciones .serv-sol-izq {
    position: static;
    max-height: none;
  }

  .serv-operaciones .serv-sol-header {
    flex-direction: column;
    gap: 1.5rem;
  }

  .serv-operaciones .serv-sol-progress-bar {
    width: 100%;
    flex: 1;
    height: 2px;
    min-height: unset;
  }

  .serv-operaciones .serv-sol-progress-fill {
    top: 0 !important;
    left: 0;
    height: 100% !important;
    width: var(--sol-progress-pct, 0%) !important;
    transition:
      width 0.35s ease,
      left 0.35s ease;
  }
}

@media (max-width: 1200px) {
  .inicio .hst-card-wrapper {
    width: calc(50% - 0.5rem);
    height: 6rem;
  }

  .inicio .hst-card,
  .inicio .hst-card.hst-active,
  .inicio .hst-card.hst-semi {
    width: 100%;
    height: 100%;
    opacity: 1;
  }

  .inicio .hst-card .hst-num,
  .inicio .hst-card.hst-active .hst-num,
  .inicio .hst-card.hst-semi .hst-num {
    font-size: 1.25rem;
  }

  .inicio .hst-card .hst-label,
  .inicio .hst-card.hst-active .hst-label,
  .inicio .hst-card.hst-semi .hst-label {
    font-size: 1rem;
    margin-top: 0.2rem;
  }
}

@media (min-width: 1200px) {
  .inicio .hero .h1 {
    font-size: 4.5rem;
  }

  .inicio .hst-card {
    gap: 0.5rem;
    width: 8rem;
    height: 8rem;
  }

  .inicio .hst-card-wrapper {
    width: 14rem;
    height: 10rem;
  }

  .inicio .hst-card {
    background: var(--au-primary-100);

    border: 1px solid rgba(197, 217, 251, 0.12);
  }

  .inicio .hst-card.hst-active {
    width: 14rem;
    height: 12rem;
    background: rgba(197, 217, 251, 0.18);
    border-color: rgba(197, 217, 251, 0.35);
  }

  .inicio .hst-card.hst-active .hst-num {
    font-size: 2.5rem;
  }

  .inicio .hst-card.hst-semi {
    width: 8rem;
    height: 8rem;
    padding: 1rem;
  }

  .inicio .hst-card.hst-semi .hst-num {
    font-size: 1.375rem;
  }

  .inicio .hst-card.hst-semi .hst-label {
    font-size: 0.9rem;
    margin-top: 0.35rem;
  }
}