.elementor-kit-94{--e-global-color-primary:#0076C0;--e-global-color-secondary:#0A2540;--e-global-color-text:#5A6B7D;--e-global-color-accent:#4A9EFF;--e-global-color-marinohondo:#071B30;--e-global-color-marinomedio:#0E3A63;--e-global-color-azulcta:#1268D4;--e-global-color-titular:#0E1E33;--e-global-color-textotenue:#64748B;--e-global-color-blanco:#FFFFFF;--e-global-color-grisfondo:#F4F8FC;--e-global-color-azulsuave:#E8F1FA;--e-global-color-lineaclara:#DDE7F0;--e-global-color-lineamarino:#1B3E68;--e-global-typography-primary-font-family:"Barlow Semi Condensed";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:uppercase;--e-global-typography-primary-line-height:1.05em;--e-global-typography-primary-letter-spacing:0.3px;--e-global-typography-secondary-font-family:"Barlow Semi Condensed";--e-global-typography-secondary-font-size:14px;--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-secondary-line-height:1.15em;--e-global-typography-secondary-letter-spacing:0.6px;--e-global-typography-text-font-family:"Barlow";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65em;--e-global-typography-accent-font-family:"Barlow";--e-global-typography-accent-font-size:12px;--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:1.5px;}.elementor-kit-94 a{color:var( --e-global-color-primary );}.elementor-kit-94 button,.elementor-kit-94 input[type="button"],.elementor-kit-94 input[type="submit"],.elementor-kit-94 .elementor-button{background-color:var( --e-global-color-primary );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1280px;}.e-con{--container-max-width:1280px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-94 e-page-transition{background-color:#FFBC7D;}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ═══════════════════════════════════════════════════════════
   FRIGOPARTES — Sistema de diseño
   Pegar en: Elementor → Ajustes del sitio → CSS personalizado
   We Are Content · 2026

   Elementor pone display:flex y anchos en línea sobre los
   contenedores. Por eso varias reglas llevan !important: es
   la única forma de imponer grid sin pelear widget por widget.
   ═══════════════════════════════════════════════════════════ */

:root{
  /* ── Azules ─────────────────────────────────────────── */
  --fp-marca:        #0076C0;
  --fp-cta:          #1268D4;
  --fp-claro:        #4A9EFF;
  --fp-marino:       #0A2540;
  --fp-marino-hondo: #071B30;
  --fp-marino-medio: #0E3A63;

  /* ── Fondos claros ──────────────────────────────────── */
  --fp-blanco: #FFFFFF;
  --fp-gris:   #F4F8FC;
  --fp-suave:  #E8F1FA;

  /* ── Texto ──────────────────────────────────────────── */
  --fp-titular: #0E1E33;
  --fp-texto:   #5A6B7D;
  --fp-tenue:   #64748B;

  /* ── Líneas ─────────────────────────────────────────── */
  --fp-linea:        #DDE7F0;
  --fp-linea-marino: #1B3E68;

  /* ── Tipografía ─────────────────────────────────────── */
  --fp-titulo: "Barlow Semi Condensed", "Arial Narrow", sans-serif;
  --fp-cuerpo: "Barlow", Arial, sans-serif;

  --fp-sombra: 0 1px 2px rgba(14,30,51,.04), 0 8px 24px -10px rgba(14,30,51,.12);
  --fp-radio: 14px;
}

/* ═══════════════════════════════════════════════════════════
   1 · SECCIONES
   ═══════════════════════════════════════════════════════════ */

.fp-marino{ background-color: var(--fp-marino); color:#FFF; }
.fp-marino-hondo{ background-color: var(--fp-marino-hondo); color:#FFF; }
.fp-marino-medio{ background-color: var(--fp-marino-medio); color:#FFF; }

.fp-marino h1, .fp-marino h2, .fp-marino h3, .fp-marino h4,
.fp-marino-hondo h1, .fp-marino-hondo h2, .fp-marino-hondo h3, .fp-marino-hondo h4,
.fp-marino-medio h1, .fp-marino-medio h2, .fp-marino-medio h3, .fp-marino-medio h4{ color:#FFF; }
.fp-marino p, .fp-marino-hondo p, .fp-marino-medio p{ color: rgba(255,255,255,.80); }

.fp-blanco{ background-color: var(--fp-blanco); }
.fp-gris{   background-color: var(--fp-gris); }
.fp-blanco h1, .fp-blanco h2, .fp-blanco h3, .fp-blanco h4,
.fp-gris h1, .fp-gris h2, .fp-gris h3, .fp-gris h4{ color: var(--fp-titular); }
.fp-blanco p, .fp-gris p{ color: var(--fp-texto); }

/* ═══════════════════════════════════════════════════════════
   2 · BENTO — CSS Grid nativo sobre contenedores Elementor
   Clases de tramo en los hijos: fp-b1 / fp-b2 / fp-b3 / fp-b2x2
   ═══════════════════════════════════════════════════════════ */

.fp-bento{
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  grid-auto-rows: minmax(0, auto);
  gap: 16px;
  align-items: stretch;
}
.fp-bento-6{ grid-template-columns: repeat(6, minmax(0,1fr)); }

/* Elementor fija width en línea a los hijos: hay que soltarlos */
.fp-bento > .e-con,
.fp-bento > .elementor-element{
  width: auto !important;
  max-width: none !important;
  flex: initial !important;
}

.fp-b1{ grid-column: span 1; }
.fp-b2{ grid-column: span 2; }
.fp-b3{ grid-column: span 3; }
.fp-b4{ grid-column: span 4; }
.fp-b2x2{ grid-column: span 2; grid-row: span 2; }

@media (max-width: 1024px){
  .fp-bento, .fp-bento-6{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .fp-b1, .fp-b2, .fp-b3, .fp-b4{ grid-column: span 1; }
  .fp-b2x2{ grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 600px){
  .fp-bento, .fp-bento-6{ grid-template-columns: 1fr; }
  .fp-bento > *{ grid-column: span 1 !important; grid-row: span 1 !important; }
}

/* ═══════════════════════════════════════════════════════════
   3 · MAMPOSTERÍA — alturas desiguales sin JavaScript
   ═══════════════════════════════════════════════════════════ */

.fp-masonry{
  display: block !important;
  column-count: 3;
  column-gap: 16px;
}
.fp-masonry > .e-con,
.fp-masonry > .elementor-element{
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  width: auto !important;
  max-width: none !important;
  margin-bottom: 16px;
  display: block;
}
@media (max-width: 1024px){ .fp-masonry{ column-count: 2; } }
@media (max-width: 640px){  .fp-masonry{ column-count: 1; } }

/* ═══════════════════════════════════════════════════════════
   4 · TARJETAS
   ═══════════════════════════════════════════════════════════ */

.fp-tarjeta{
  background: var(--fp-blanco);
  border: 1px solid var(--fp-linea);
  border-radius: var(--fp-radio);
  box-shadow: var(--fp-sombra);
  overflow: hidden;
  transition: transform .25s cubic-bezier(.2,.7,.3,1),
              box-shadow .25s ease, border-color .25s ease;
}
.fp-tarjeta:hover{
  transform: translateY(-4px);
  border-color: rgba(74,158,255,.45);
  box-shadow: 0 2px 4px rgba(14,30,51,.06), 0 20px 44px -14px rgba(14,30,51,.22);
}

/* Borde degradado — para la tarjeta destacada del bento */
.fp-destacada{
  border: 1px solid transparent !important;
  background:
    linear-gradient(var(--fp-blanco), var(--fp-blanco)) padding-box,
    linear-gradient(135deg, var(--fp-marca), var(--fp-claro) 70%, transparent) border-box;
}

/* Cristal esmerilado — tarjetas sobre fondo marino */
.fp-vidrio{
  background: rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--fp-radio);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.fp-vidrio:hover{
  background: rgba(255,255,255,.11);
  border-color: rgba(74,158,255,.5);
  transform: translateY(-4px);
}
/* Sin soporte de blur el fondo translúcido se ve sucio: se opaca */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .fp-vidrio{ background: rgba(255,255,255,.10); }
}

/* Resplandor azul al pasar el cursor */
.fp-glow:hover{
  box-shadow: 0 0 0 1px rgba(74,158,255,.45),
              0 16px 48px -14px rgba(74,158,255,.55);
}

/* ═══════════════════════════════════════════════════════════
   5 · ATMÓSFERA — resplandor difuso tras las zonas oscuras
   ═══════════════════════════════════════════════════════════ */

.fp-aurora{ position: relative; overflow: hidden; }
.fp-aurora::before{
  content: "";
  position: absolute;
  width: 780px; height: 780px;
  top: -340px; right: -200px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(74,158,255,.20), transparent 66%);
  pointer-events: none;
}
.fp-aurora::after{
  content: "";
  position: absolute;
  width: 560px; height: 560px;
  bottom: -300px; left: -160px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0,118,192,.18), transparent 68%);
  pointer-events: none;
}
.fp-aurora > *{ position: relative; z-index: 1; }

/* Retícula técnica tenue */
.fp-reticula{ position: relative; overflow: hidden; }
.fp-reticula::before{
  content: "";
  position: absolute; inset: 0; pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 76px 76px;
  -webkit-mask-image: radial-gradient(circle at 70% 30%, #000, transparent 72%);
  mask-image: radial-gradient(circle at 70% 30%, #000, transparent 72%);
}
.fp-reticula > *{ position: relative; z-index: 1; }

/* ═══════════════════════════════════════════════════════════
   6 · MÁSCARAS DE IMAGEN
   ═══════════════════════════════════════════════════════════ */

.fp-mask-diag img{
  clip-path: polygon(0 0, 100% 0, 100% 86%, 0 100%);
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.fp-mask-esquina img{
  clip-path: polygon(0 0, 100% 0, 100% 100%, 8% 100%, 0 88%);
  display: block; width: 100%; height: 100%; object-fit: cover;
}
.fp-img-alta img{ aspect-ratio: 3/4; object-fit: cover; width: 100%; }
.fp-img-ancha img{ aspect-ratio: 16/9; object-fit: cover; width: 100%; }

/* En tablet la tarjeta destacada pasa a ancho completo: con 3/4
   se vuelve altísima, así que la imagen se achata. */
@media (max-width: 1024px){
  .fp-img-alta img{ aspect-ratio: 16/9; }
}

/* ═══════════════════════════════════════════════════════════
   7 · COMPOSICIÓN
   ═══════════════════════════════════════════════════════════ */

/* Columna de texto que acompaña al scroll */
.fp-pegajoso{
  position: sticky;
  top: 110px;
  align-self: start !important;
}
@media (max-width: 1024px){ .fp-pegajoso{ position: static; } }

/* Bloque que invade la sección de arriba */
.fp-sobresale{
  margin-top: -80px !important;
  position: relative;
  z-index: 2;
}
@media (max-width: 1024px){ .fp-sobresale{ margin-top: 0 !important; } }

/* Desfase vertical para romper la alineación de una fila */
.fp-desfase{ margin-top: 48px !important; }
@media (max-width: 1024px){ .fp-desfase{ margin-top: 0 !important; } }

/* ═══════════════════════════════════════════════════════════
   8 · ANIMACIÓN AL HACER SCROLL
   Sin JavaScript, con animation-timeline nativo.
   Si el navegador no lo soporta no se aplica nada y el
   contenido se ve normal — nunca una página en blanco.
   ═══════════════════════════════════════════════════════════ */

@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .fp-rise{
      animation: fpRise linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 50%;
    }
    .fp-fade{
      animation: fpFade linear both;
      animation-timeline: view();
      animation-range: entry 0% entry 40%;
    }
  }
}
@keyframes fpRise{
  from{ opacity:0; transform: translateY(32px); }
  to{ opacity:1; transform: none; }
}
@keyframes fpFade{
  from{ opacity:0; }
  to{ opacity:1; }
}

/* ═══════════════════════════════════════════════════════════
   9 · TIPOGRAFÍA DE APOYO
   ═══════════════════════════════════════════════════════════ */

.fp-etiqueta{
  font-family: var(--fp-cuerpo);
  font-size: 12px; font-weight: 600;
  letter-spacing: .15em; text-transform: uppercase;
  color: var(--fp-marca);
}
.fp-marino .fp-etiqueta,
.fp-marino-medio .fp-etiqueta,
.fp-marino-hondo .fp-etiqueta{ color: var(--fp-claro); }

.fp-cargo{
  font-family: var(--fp-cuerpo);
  font-size: 13px; font-weight: 600;
  color: var(--fp-marca);
}
.fp-empresa{
  font-family: var(--fp-cuerpo);
  font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--fp-tenue);
}
.fp-cita p{
  font-family: var(--fp-cuerpo);
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--fp-titular);
}

/* Título grande del hero */
.fp-hero-h1{
  font-size: clamp(38px, 5.4vw, 68px) !important;
  line-height: 1.02 !important;
}

/* ═══════════════════════════════════════════════════════════
   10 · REJILLAS SIMPLES — para páginas interiores
   Igual que el bento: hay que soltar los anchos de Elementor.
   ═══════════════════════════════════════════════════════════ */

.fp-grid-2, .fp-grid-3, .fp-grid-4{
  display: grid !important;
  gap: 16px;
  align-items: stretch;
}
.fp-grid-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
.fp-grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
.fp-grid-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }

.fp-grid-2 > .e-con, .fp-grid-2 > .elementor-element,
.fp-grid-3 > .e-con, .fp-grid-3 > .elementor-element,
.fp-grid-4 > .e-con, .fp-grid-4 > .elementor-element{
  width: auto !important; max-width: none !important; flex: initial !important;
}

@media (max-width: 1024px){
  .fp-grid-3, .fp-grid-4{ grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 680px){
  .fp-grid-2, .fp-grid-3, .fp-grid-4{ grid-template-columns: 1fr; }
}

/* Espaciado de sección, que se achica en pantallas pequeñas */
.fp-seccion{ padding-top: 96px !important; padding-bottom: 96px !important; }
@media (max-width: 1024px){
  .fp-seccion{ padding-top: 64px !important; padding-bottom: 64px !important; }
}
@media (max-width: 680px){
  .fp-seccion{ padding-top: 48px !important; padding-bottom: 48px !important; }
}

/* Fila de dato — sustituye a la tabla: en móvil se apila sola */
.fp-dato-fila{
  display: grid !important;
  grid-template-columns: 1fr 1.35fr;
  gap: 24px;
  padding: 20px 0 !important;
  border-bottom: 1px solid var(--fp-linea);
}
.fp-dato-fila > .e-con, .fp-dato-fila > .elementor-element{
  width: auto !important; max-width: none !important;
}
.fp-dato-fila:last-child{ border-bottom: none; }
@media (max-width: 700px){
  .fp-dato-fila{ grid-template-columns: 1fr; gap: 4px; }
}
.fp-dato-clave p{ color: var(--fp-titular) !important; font-weight: 600; }

/* ── Cajas de criterio ───────────────────────────────────────
   Sustituyen a la tabla "Criterio | Información necesaria".
   Una tabla de dos columnas con textos largos obliga a scroll
   lateral en el teléfono; estas cajas se apilan solas.       */

.fp-criterios{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
}
.fp-criterios > .e-con, .fp-criterios > .elementor-element{
  width: auto !important; max-width: none !important; flex: initial !important;
}
@media (max-width: 1024px){ .fp-criterios{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 680px){  .fp-criterios{ grid-template-columns: 1fr; } }

/* ── Tabla de criterios ──────────────────────────────────────
   Una sola caja con cabecera: los dos encabezados quedan
   sobre su columna, que es lo que les da sentido.
   En móvil cada fila se apila sin perder la asociación,
   porque el criterio va en condensada y el dato en redonda. */

.fp-tabla{
  background: var(--fp-blanco);
  border: 1px solid var(--fp-linea);
  border-radius: var(--fp-radio);
  overflow: hidden;
  box-shadow: var(--fp-sombra);
  padding: 0 !important;
  gap: 0 !important;
}
.fp-tabla > .e-con, .fp-tabla > .elementor-element{
  width: auto !important; max-width: none !important;
}

/* cabecera */
.fp-tabla-head{
  display: grid !important;
  grid-template-columns: 34% 1fr;
  gap: 0 !important;
  background: var(--fp-marino) !important;
  padding: 0 !important;
}
.fp-tabla-head > .e-con, .fp-tabla-head > .elementor-element{
  width: auto !important; max-width: none !important;
  padding: 16px 26px !important;
}
.fp-tabla-head p{
  font-family: var(--fp-cuerpo) !important;
  font-size: 11px !important; font-weight: 700 !important;
  letter-spacing: .16em; text-transform: uppercase;
  color: #FFFFFF !important;
  line-height: 1.3 !important;
}

/* filas */
.fp-tabla-fila{
  display: grid !important;
  grid-template-columns: 34% 1fr;
  gap: 0 !important;
  padding: 0 !important;
  border-top: 1px solid var(--fp-linea);
  transition: background .2s ease;
}
.fp-tabla-fila:hover{ background: #F7FAFD; }
.fp-tabla-fila > .e-con, .fp-tabla-fila > .elementor-element{
  width: auto !important; max-width: none !important;
  padding: 22px 26px !important;
}
/* separador entre columnas + barra de acento al pasar el cursor */
.fp-tabla-fila > *:first-child{
  position: relative;
  border-right: 1px solid var(--fp-linea);
}
.fp-tabla-fila > *:first-child::before{
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0; width: 3px;
  background: linear-gradient(180deg, var(--fp-marca), var(--fp-claro));
  opacity: 0;
  transition: opacity .2s ease;
}
.fp-tabla-fila:hover > *:first-child::before{ opacity: 1; }

.fp-tabla-clave p{
  font-family: var(--fp-titulo) !important;
  font-weight: 700 !important;
  font-size: 16.5px !important;
  text-transform: uppercase;
  letter-spacing: .01em;
  line-height: 1.2 !important;
  color: var(--fp-titular) !important;
}
.fp-tabla-valor p{ font-size: 14.5px !important; line-height: 1.6 !important; }

@media (max-width: 680px){
  /* la cabecera pasa a una línea con los dos rótulos */
  .fp-tabla-head{ display: flex !important; flex-direction: row !important; gap: 22px !important; }
  .fp-tabla-head > *{ padding: 14px 0 !important; }
  .fp-tabla-head > *:first-child{ padding-left: 20px !important; }
  .fp-tabla-head > *:last-child{ padding-right: 20px !important; }

  .fp-tabla-fila{ grid-template-columns: 1fr; }
  .fp-tabla-fila > *{ padding: 16px 20px !important; }
  .fp-tabla-fila > *:first-child{
    border-right: none;
    padding-bottom: 8px !important;
  }
  .fp-tabla-fila > *:last-child{ padding-top: 0 !important; }
  .fp-tabla-fila > *:first-child::before{ opacity: 1; }
}

/* ── Variante de tres columnas ───────────────────────────────
   En móvil se apila, y ahí cada valor muestra su rótulo de
   columna: con tres columnas la asociación no se puede
   inferir solo por el estilo. */
.fp-tabla-3 > .fp-tabla-head,
.fp-tabla-3 > .fp-tabla-fila{ grid-template-columns: 23% 1fr 1fr; }

.fp-tabla-rotulo{ display: none !important; }

@media (max-width: 900px){
  /* con tres rótulos la cabecera se parte en dos líneas y además
     sobra: cada fila ya lleva el suyo encima de cada valor */
  .fp-tabla-3 > .fp-tabla-head{ display: none !important; }
  .fp-tabla-3 > .fp-tabla-fila:first-of-type{ border-top: none; }

  .fp-tabla-3 > .fp-tabla-fila{ grid-template-columns: 1fr; }
  .fp-tabla-3 > .fp-tabla-fila > *{ padding: 14px 20px !important; }
  .fp-tabla-3 > .fp-tabla-fila > *:first-child{
    border-right: none; padding-bottom: 6px !important;
  }
  .fp-tabla-3 > .fp-tabla-fila > *:not(:first-child){ padding-top: 0 !important; }
  .fp-tabla-3 > .fp-tabla-fila > *:first-child::before{ opacity: 1; }

  .fp-tabla-rotulo{ display: block !important; }
  .fp-tabla-rotulo p{
    font-family: var(--fp-cuerpo) !important;
    font-size: 10px !important; font-weight: 700 !important;
    letter-spacing: .14em; text-transform: uppercase;
    color: var(--fp-tenue) !important;
    margin-bottom: 5px !important; line-height: 1.3 !important;
  }
}

/* Sobre fondo marino */
.fp-marino .fp-tabla, .fp-marino-medio .fp-tabla{
  background: rgba(255,255,255,.05);
  border-color: var(--fp-linea-marino);
}
.fp-marino .fp-tabla-fila, .fp-marino-medio .fp-tabla-fila{ border-top-color: var(--fp-linea-marino); }
.fp-marino .fp-tabla-fila > *:first-child,
.fp-marino-medio .fp-tabla-fila > *:first-child{ border-right-color: var(--fp-linea-marino); }
.fp-marino .fp-tabla-clave p, .fp-marino-medio .fp-tabla-clave p{ color: #FFF !important; }
.fp-marino .fp-tabla-fila:hover, .fp-marino-medio .fp-tabla-fila:hover{ background: rgba(255,255,255,.04); }

/* Leyenda: conserva los encabezados de la tabla original */
.fp-leyenda{
  display: flex !important;
  /* sin !important el contenedor de Elementor impone column */
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 8px 32px;
  padding-bottom: 12px !important;
  border-bottom: 1px solid var(--fp-linea);
}
.fp-leyenda > .e-con, .fp-leyenda > .elementor-element{
  width: auto !important; max-width: none !important;
}
.fp-leyenda p{
  font-family: var(--fp-cuerpo);
  font-size: 11px; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--fp-tenue) !important;
}
.fp-marino .fp-leyenda, .fp-marino-medio .fp-leyenda{ border-bottom-color: var(--fp-linea-marino); }
.fp-marino .fp-leyenda p, .fp-marino-medio .fp-leyenda p{ color: rgba(255,255,255,.6) !important; }

.fp-criterio{
  position: relative;
  overflow: hidden;
  background: var(--fp-blanco);
  border: 1px solid var(--fp-linea);
  border-radius: var(--fp-radio);
  padding: 28px 28px 28px 32px !important;
  transition: transform .25s cubic-bezier(.2,.7,.3,1),
              box-shadow .25s ease, border-color .25s ease;
}
/* barra lateral: tenue en reposo, viva al pasar el cursor */
.fp-criterio::before{
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, var(--fp-marca), var(--fp-claro));
  opacity: .35;
  transition: opacity .3s ease, width .3s ease;
}
.fp-criterio:hover{
  transform: translateY(-4px);
  border-color: rgba(74,158,255,.45);
  box-shadow: 0 2px 4px rgba(14,30,51,.06), 0 18px 40px -14px rgba(14,30,51,.20);
}
.fp-criterio:hover::before{ opacity: 1; width: 5px; }

/* el criterio, con una regla corta debajo */
.fp-criterio-t{
  font-family: var(--fp-titulo);
  font-weight: 700;
  font-size: 19px;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--fp-titular) !important;
}
.fp-criterio-t::after{
  content: "";
  display: block;
  width: 28px; height: 2px;
  margin-top: 12px;
  background: var(--fp-claro);
}
.fp-criterio p{ font-size: 14.5px; line-height: 1.6; }

/* Sobre fondo marino */
.fp-marino .fp-criterio, .fp-marino-medio .fp-criterio{
  background: rgba(255,255,255,.06);
  border-color: var(--fp-linea-marino);
}
.fp-marino .fp-criterio-t, .fp-marino-medio .fp-criterio-t{ color: #FFF !important; }

/* Entradilla destacada del hero */
.fp-lead p{
  font-size: clamp(18px, 2.1vw, 23px) !important;
  line-height: 1.4 !important;
  color: var(--fp-claro) !important;
  font-weight: 500;
}

/* Listas de viñetas */
.fp-lista ul{ margin: 0; padding-left: 20px; }
.fp-lista li{
  margin-bottom: 12px;
  line-height: 1.6;
  color: var(--fp-texto);
}
.fp-lista li::marker{ color: var(--fp-marca); }
.fp-lista li strong{ color: var(--fp-titular); }
.fp-marino .fp-lista li, .fp-marino-medio .fp-lista li{ color: rgba(255,255,255,.80); }
.fp-marino .fp-lista li strong, .fp-marino-medio .fp-lista li strong{ color:#FFF; }
.fp-marino .fp-lista li::marker, .fp-marino-medio .fp-lista li::marker{ color: var(--fp-claro); }

/* ═══════════════════════════════════════════════════════════
   11 · COMPATIBILIDAD
   Clases del primer diseño del home. Se mantienen para que
   esa página siga funcionando sin tener que rehacerla.
   ═══════════════════════════════════════════════════════════ */

.fp-vermas{
  font-family: var(--fp-cuerpo);
  font-size: 13px; font-weight: 600;
  color: var(--fp-marca);
}
.fp-marino .fp-vermas, .fp-marino-medio .fp-vermas{ color: var(--fp-claro); }

.fp-cifra-lbl{
  font-family: var(--fp-cuerpo);
  font-size: 11px; font-weight: 600;
  letter-spacing: .1em; text-transform: uppercase;
  color: var(--fp-tenue);
}
.fp-marino .fp-cifra-lbl, .fp-marino-medio .fp-cifra-lbl{ color: rgba(255,255,255,.65); }

.fp-cifra{
  font-family: var(--fp-titulo);
  font-weight: 700; font-size: 44px; line-height: 1;
  color: var(--fp-titular);
  font-variant-numeric: tabular-nums;
}
.fp-marino .fp-cifra, .fp-marino-medio .fp-cifra{ color: #FFF; }

.fp-stats{
  background: var(--fp-blanco);
  border-radius: var(--fp-radio);
  box-shadow: 0 10px 40px -12px rgba(14,30,51,.28);
}

/* Tarjeta sobre marino — equivalente a fp-vidrio */
.fp-tarjeta-marino{
  background: rgba(255,255,255,.07);
  -webkit-backdrop-filter: blur(16px) saturate(140%);
  backdrop-filter: blur(16px) saturate(140%);
  border: 1px solid rgba(255,255,255,.15);
  border-radius: var(--fp-radio);
  transition: background .25s ease, border-color .25s ease, transform .25s ease;
}
.fp-tarjeta-marino:hover{
  background: rgba(255,255,255,.11);
  border-color: rgba(74,158,255,.5);
  transform: translateY(-4px);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){
  .fp-tarjeta-marino{ background: rgba(255,255,255,.10); }
}

/* ═══════════════════════════════════════════════════════════
   12 · HEADER
   ═══════════════════════════════════════════════════════════ */

.fp-marino .elementor-nav-menu a{
  color: #FFFFFF;
  font-family: var(--fp-titulo);
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.fp-marino .elementor-nav-menu a:hover,
.fp-marino .elementor-nav-menu .current-menu-item a{ color: var(--fp-claro); }

.fp-header-flotante{ background-color: transparent; transition: background-color .3s ease; }
.fp-header-flotante.elementor-sticky--effects{
  background-color: var(--fp-marino);
  box-shadow: 0 2px 20px rgba(7,27,48,.35);
}/* End custom CSS */