/* OMDream — Posicionamiento Web Tenerife
   V18: hoja limpia. La geometría compartida procede de la Home aprobada V7.1.
   No se redefinen .omd-container, cabecera, navegación, botones globales ni footer. */

body.omdream-posicionamiento { --omdp-red:#ed1c24; }
body.omdream-posicionamiento *,
body.omdream-posicionamiento *::before,
body.omdream-posicionamiento *::after { box-sizing:border-box; }

body.omdream-posicionamiento .omdp-hero {
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  max-width:none;
  min-height:394px;
  height:auto;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
}
/* Fotografía completa, encajada proporcionalmente en el lado derecho.
   No cover, no crop, no zoom. */
body.omdream-posicionamiento .omdp-hero-background {
  position:absolute;
  inset:0 0 0 35%;
  z-index:-2;
  width:auto;
  height:auto;
  opacity:1;
  background-color:#fff;
  background-image:url('../img/geo-hero.jpg');
  background-repeat:no-repeat;
  background-position:right center;
  background-size:auto 88%;
}
/* Degradado independiente de la foto: blanco sólido junto al texto y transición suave. */
body.omdream-posicionamiento .omdp-hero::after {
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,
    #fff 0%,
    #fff 25%,
    rgba(255,255,255,.98) 36%,
    rgba(255,255,255,.90) 46%,
    rgba(255,255,255,.68) 57%,
    rgba(255,255,255,.32) 68%,
    rgba(255,255,255,.08) 80%,
    rgba(255,255,255,0) 92%);
}
body.omdream-posicionamiento .omdp-hero-inner {
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  width:min(1180px,calc(100% - 64px));
  max-width:1180px;
  min-height:394px;
  height:auto;
  margin:0 auto;
  padding:34px 0 30px;
}
body.omdream-posicionamiento .omdp-hero-copy {
  position:relative;
  z-index:2;
  width:56%;
  max-width:650px;
  min-width:0;
  margin:0;
  padding:0;
}
body.omdream-posicionamiento .omdp-hero h1 {
  max-width:620px;
  margin:0 0 12px;
  font-size:clamp(36px,4.1vw,53px);
  line-height:1.02;
  letter-spacing:-.045em;
  overflow-wrap:normal;
}
body.omdream-posicionamiento .omdp-hero h1 span { display:block;color:var(--omdp-red); }
body.omdream-posicionamiento .omdp-hero .omd-lead {
  max-width:520px;
  margin:0 0 18px;
  font-size:15px;
  line-height:1.5;
  color:#535a65;
}
body.omdream-posicionamiento .omdp-hero .omd-actions {
  display:flex;
  position:static;
  clear:both;
  flex-wrap:wrap;
  gap:14px;
  margin:0;
  padding:0;
}
body.omdream-posicionamiento .omdp-hero .omd-button {
  position:static;
  max-width:100%;
  white-space:nowrap;
}

/* Franja de beneficios: mismo contenedor y mismos márgenes laterales que la Home. */
body.omdream-posicionamiento .omdp-benefits {
  position:relative;
  width:100%;
  margin:0;
  border-top:1px solid #edf0f4;
  border-bottom:1px solid #edf0f4;
  background:#fff;
}
body.omdream-posicionamiento .omdp-benefits-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:center;
  min-height:72px;
}
body.omdream-posicionamiento .omdp-benefits-grid>div {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
  min-width:0;
  padding:12px 16px;
  border-right:1px solid #e1e5eb;
}
body.omdream-posicionamiento .omdp-benefits-grid>div:last-child { border-right:0; }
body.omdream-posicionamiento .omdp-benefits-grid span { flex:0 0 auto;font-size:25px;line-height:1;color:var(--omdp-red); }
body.omdream-posicionamiento .omdp-benefits-grid strong { font-size:13px;line-height:1.3;color:#171b25; }

/* Servicios: ancho, columnas y alineación vinculados al contenedor oficial de Home. */
body.omdream-posicionamiento .omdp-services { padding-top:42px;padding-bottom:30px; }
body.omdream-posicionamiento .omdp-services .omd-section-heading {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);
  align-items:start;
  gap:36px;
  margin-bottom:22px;
}
body.omdream-posicionamiento .omdp-services .omd-section-heading>* { min-width:0; }
body.omdream-posicionamiento .omdp-services .omd-section-heading h2 {
  max-width:680px;
  margin:0;
  font-size:clamp(25px,2.6vw,34px);
  line-height:1.12;
  letter-spacing:-.035em;
}
body.omdream-posicionamiento .omdp-services .omd-section-heading>p {
  margin:0;
  color:#59606d;
  font-size:13px;
  line-height:1.55;
}
body.omdream-posicionamiento .omdp-service-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  min-width:0;
}
body.omdream-posicionamiento .omdp-service-card {
  min-width:0;
  margin:0;
  padding:10px 10px 14px;
  border:1px solid #e8eaf0;
  border-radius:8px;
  background:#fff;
  box-shadow:0 4px 16px rgba(23,34,52,.035);
}
body.omdream-posicionamiento .omdp-service-card img {
  display:block;
  width:100%;
  height:120px;
  margin:0 0 11px;
  border-radius:5px;
  object-fit:cover;
}
body.omdream-posicionamiento .omdp-service-card h3 {
  margin:0 0 7px;
  color:#10141d;
  font-size:17px;
  line-height:1.2;
  letter-spacing:-.02em;
  font-weight:800;
}
body.omdream-posicionamiento .omdp-service-card p {
  margin:0;
  color:#555d69;
  font-size:12px;
  line-height:1.48;
}
body.omdream-posicionamiento .omdp-services-note {
  max-width:1020px;
  margin:18px auto 0;
  color:#59606d;
  font-size:12px;
  line-height:1.6;
}

/* SEO local: una única fila, foto izquierda, texto central, CTA derecha. */
body.omdream-posicionamiento .omdp-local { padding:8px 0 12px; }
body.omdream-posicionamiento .omdp-local-inner {
  display:grid;
  grid-template-columns:190px minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  width:min(1180px,calc(100% - 64px));
  max-width:1180px;
  min-width:0;
  margin:0 auto;
  padding:15px 22px;
  border:1px solid #edf0f4;
  border-radius:14px;
  background:linear-gradient(110deg,#f7f8fa 0%,#fff 100%);
}
body.omdream-posicionamiento .omdp-local-photo {
  width:190px;
  height:104px;
  min-width:0;
  overflow:hidden;
  border-radius:6px;
}
body.omdream-posicionamiento .omdp-local-photo img {
  display:block;
  width:100%;
  height:100%;
  margin:0;
  object-fit:cover;
  object-position:center 45%;
}
body.omdream-posicionamiento .omdp-local-copy {
  min-width:0;
  padding:3px 0 3px 20px;
  border-left:2px solid var(--omdp-red);
}
body.omdream-posicionamiento .omdp-local-copy h2 {
  margin:0 0 6px;
  color:#111827;
  font-size:25px;
  line-height:1.15;
  font-weight:800;
}
body.omdream-posicionamiento .omdp-local-copy p {
  max-width:680px;
  margin:0;
  color:#515966;
  font-size:14px;
  line-height:1.5;
}
body.omdream-posicionamiento .omdp-local .omd-button-outline {
  justify-self:end;
  white-space:nowrap;
  border-color:var(--omdp-red);
  border-radius:25px;
  min-height:42px;
  padding:0 22px;
  font-size:12px;
}

/* Por qué OMDream: título en primera columna y cuatro argumentos alineados. */
body.omdream-posicionamiento .omdp-why { padding:14px 0 16px; }
body.omdream-posicionamiento .omdp-why-inner {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  align-items:stretch;
  gap:0;
  width:min(1180px,calc(100% - 64px));
  max-width:1180px;
  margin:0 auto;
  padding:18px 16px;
  border:1px solid #f1e5e6;
  border-radius:12px;
  background:linear-gradient(105deg,#fff5f5 0%,#fffafa 100%);
}
body.omdream-posicionamiento .omdp-why-heading {
  display:flex;
  align-items:center;
  min-width:0;
  padding:4px 18px 4px 6px;
}
body.omdream-posicionamiento .omdp-why-heading h2 {
  margin:0;
  color:#171b25;
  font-size:clamp(21px,2vw,28px);
  line-height:1.12;
  letter-spacing:-.035em;
  font-weight:800;
}
body.omdream-posicionamiento .omdp-why-heading h2 span { display:block;color:var(--omdp-red); }
body.omdream-posicionamiento .omdp-why-item {
  min-width:0;
  padding:4px 13px;
  border-left:1px solid #f0dfe1;
}
body.omdream-posicionamiento .omdp-why-icon {
  display:block;
  width:32px;
  height:32px;
  margin:0 0 8px;
  color:var(--omdp-red);
}
body.omdream-posicionamiento .omdp-why-icon svg {
  display:block;
  width:100%;
  height:100%;
  fill:none;
  stroke:currentColor;
  stroke-width:2.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}
body.omdream-posicionamiento .omdp-why-item h3 {
  margin:0 0 6px;
  color:#171b25;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
}
body.omdream-posicionamiento .omdp-why-item p {
  margin:0;
  color:#4e5662;
  font-size:11px;
  line-height:1.42;
}

/* Metodología: las cuatro fases comparten exactamente el ancho del contenedor Home. */
body.omdream-posicionamiento .omdp-method { padding-top:20px;padding-bottom:34px; }
body.omdream-posicionamiento .omdp-method> .omd-container>h2 {
  margin:0 0 9px;
  font-size:clamp(26px,2.8vw,35px);
  line-height:1.12;
  letter-spacing:-.035em;
}
body.omdream-posicionamiento .omdp-method-intro {
  display:block;
  max-width:900px;
  margin:0 0 20px;
  color:#59606d;
  font-size:13px;
  line-height:1.5;
}
body.omdream-posicionamiento .omdp-steps {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  width:100%;
  min-width:0;
  align-items:stretch;
}
body.omdream-posicionamiento .omdp-steps article {
  min-width:0;
  min-height:145px;
  margin:0;
  padding:15px 16px;
  border:1px solid #e1e5ec;
  border-radius:14px;
  background:linear-gradient(145deg,#fff 0%,#f7f8fa 100%);
  overflow-wrap:anywhere;
}
body.omdream-posicionamiento .omdp-step-icon {
  display:block;
  margin:0 0 9px;
  color:var(--omdp-red);
  font-size:30px;
  line-height:1;
}
body.omdream-posicionamiento .omdp-steps h3 {
  margin:0 0 6px;
  color:#171b25;
  font-size:16px;
  line-height:1.2;
  font-weight:800;
}
body.omdream-posicionamiento .omdp-steps p {
  margin:0;
  color:#4e5662;
  font-size:12px;
  line-height:1.42;
}

/* CTA y publicaciones: se heredan los componentes de la Home sin redefinir sus márgenes. */
body.omdream-posicionamiento .omdp-contact { margin:0; }
body.omdream-posicionamiento .omdp-contact .omd-contact-inner h2,
body.omdream-posicionamiento .omdp-contact .omd-contact-inner h2 span,
body.omdream-posicionamiento .omdp-contact .omd-contact-inner p { color:#fff; }

/* Responsive: columnas pasan a dos y una antes de provocar desbordamientos. */
@media(max-width:1100px) {
  body.omdream-posicionamiento .omdp-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.omdream-posicionamiento .omdp-why-inner { grid-template-columns:repeat(2,minmax(0,1fr));row-gap:14px; }
  body.omdream-posicionamiento .omdp-why-heading { grid-column:1/-1;padding:0 4px 8px; }
  body.omdream-posicionamiento .omdp-why-heading h2 span { display:inline; }
  body.omdream-posicionamiento .omdp-why-item:nth-of-type(2n) { border-left:1px solid #f0dfe1; }
  body.omdream-posicionamiento .omdp-local-inner { grid-template-columns:160px minmax(0,1fr); }
  body.omdream-posicionamiento .omdp-local-photo { width:160px; }
  body.omdream-posicionamiento .omdp-local .omd-button-outline { grid-column:2;justify-self:start; }
}
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero { min-height:0; }
  body.omdream-posicionamiento .omdp-hero-background {
    inset:auto 0 0 0;
    height:210px;
    background-size:auto 100%;
    background-position:right bottom;
  }
  body.omdream-posicionamiento .omdp-hero::after {
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 32%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.18) 100%);
  }
  body.omdream-posicionamiento .omdp-hero-inner {
    display:block;
    width:calc(100% - 36px);
    min-height:0;
    padding:30px 0 225px;
  }
  body.omdream-posicionamiento .omdp-hero-copy { width:100%;max-width:600px; }
  body.omdream-posicionamiento .omdp-hero h1 { font-size:clamp(34px,8vw,44px); }
  body.omdream-posicionamiento .omdp-benefits-grid { grid-template-columns:1fr; }
  body.omdream-posicionamiento .omdp-benefits-grid>div { justify-content:flex-start;border-right:0;border-bottom:1px solid #e1e5eb;padding:12px 4px; }
  body.omdream-posicionamiento .omdp-benefits-grid>div:last-child { border-bottom:0; }
  body.omdream-posicionamiento .omdp-services .omd-section-heading { grid-template-columns:1fr;gap:12px; }
  body.omdream-posicionamiento .omdp-local-inner {
    grid-template-columns:120px minmax(0,1fr);
    width:calc(100% - 36px);
    gap:14px;
    padding:14px;
  }
  body.omdream-posicionamiento .omdp-local-photo { width:120px;height:90px; }
  body.omdream-posicionamiento .omdp-local-copy { padding-left:13px; }
  body.omdream-posicionamiento .omdp-local-copy h2 { font-size:20px; }
  body.omdream-posicionamiento .omdp-local-copy p { font-size:12px; }
  body.omdream-posicionamiento .omdp-local .omd-button-outline { grid-column:1/-1;justify-self:start; }
  body.omdream-posicionamiento .omdp-steps { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }
  body.omdream-posicionamiento .omdp-why-inner { width:calc(100% - 36px); }
}
@media(max-width:520px) {
  body.omdream-posicionamiento .omdp-service-grid,
  body.omdream-posicionamiento .omdp-steps,
  body.omdream-posicionamiento .omdp-why-inner { grid-template-columns:1fr; }
  body.omdream-posicionamiento .omdp-service-card img { height:165px; }
  body.omdream-posicionamiento .omdp-why-heading { grid-column:1; }
  body.omdream-posicionamiento .omdp-why-heading h2 span { display:block; }
  body.omdream-posicionamiento .omdp-why-item,
  body.omdream-posicionamiento .omdp-why-item:nth-of-type(2n) {
    border-left:0;
    border-top:1px solid #f0dfe1;
    padding:12px 4px;
  }
  body.omdream-posicionamiento .omdp-local-inner { grid-template-columns:1fr; }
  body.omdream-posicionamiento .omdp-local-photo { width:100%;height:150px; }
  body.omdream-posicionamiento .omdp-local-copy { border-left:0;border-top:2px solid var(--omdp-red);padding:12px 0 0; }
}


/* V19 — Ajustes de composición solicitados: imagen distinta, texto integrado,
   tarjetas homogéneas y metodología con iconografía centrada y equilibrada. */

/* Hero: la foto se contiene entera en su área; nunca se amplía para rellenar. */
body.omdream-posicionamiento .omdp-hero-background {
  background-image:url('../img/geo-hero.jpg')!important;
  background-size:contain!important;
  background-position:right center!important;
  background-repeat:no-repeat!important;
}

/* Tarjetas de servicios: cuatro imágenes con proporción y caja idénticas.
   object-fit evita alturas irregulares por las dimensiones de origen. */
body.omdream-posicionamiento .omdp-service-grid {
  align-items:stretch;
}
body.omdream-posicionamiento .omdp-service-card {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:100%;
  min-height:0;
}
body.omdream-posicionamiento .omdp-service-card img {
  flex:0 0 auto;
  width:100%;
  height:auto;
  aspect-ratio: 16 / 9;
  object-fit:cover;
  object-position:center;
}
body.omdream-posicionamiento .omdp-service-card h3 {
  min-height:2.35em;
  margin-top:0;
}
body.omdream-posicionamiento .omdp-service-card p {
  flex:1 1 auto;
}

/* El párrafo explicativo deja de quedar suelto: pasa a ser una nota informativa
   integrada en el bloque de servicios, con jerarquía y ancho controlado. */
body.omdream-posicionamiento .omdp-services-note {
  position:relative;
  max-width:none;
  margin:20px 0 4px;
  padding:17px 22px 17px 58px;
  border:1px solid #f3d8da;
  border-radius:12px;
  background:linear-gradient(105deg,#fff5f5 0%,#fff 75%);
  color:#414956;
  font-size:13px;
  line-height:1.6;
  box-shadow:0 3px 12px rgba(23,34,52,.025);
}
body.omdream-posicionamiento .omdp-services-note::before {
  content:"i";
  position:absolute;
  left:20px;
  top:19px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  border:2px solid #ed1c24;
  border-radius:50%;
  color:#ed1c24;
  font-size:16px;
  line-height:1;
  font-weight:800;
}

/* Metodología: símbolos centrados, bicolor y con menos hueco visual.
   Se conserva literalmente el contenido de los cuatro pasos. */
body.omdream-posicionamiento .omdp-steps {
  gap:14px;
  align-items:stretch;
}
body.omdream-posicionamiento .omdp-steps article {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:164px;
  padding:16px 17px 18px;
  text-align:center;
  border-radius:13px;
  background:linear-gradient(155deg,#fff 0%,#f8f9fb 100%);
}
body.omdream-posicionamiento .omdp-step-icon {
  display:flex;
  align-items:center;
  justify-content:center;
  width:54px;
  height:54px;
  margin:0 0 11px;
  border:1px solid #f2c9cc;
  border-radius:50%;
  background:#fff3f3;
  color:#ed1c24;
  font-size:30px;
  line-height:1;
  font-weight:700;
  box-shadow:0 2px 7px rgba(237,28,36,.07);
}
body.omdream-posicionamiento .omdp-steps article:nth-child(even) .omdp-step-icon {
  color:#171b25;
  border-color:#e1e4e9;
  background:linear-gradient(135deg,#fff1f2 0 48%,#f0f1f3 48% 100%);
}
body.omdream-posicionamiento .omdp-steps h3 {
  align-self:stretch;
  margin:0 0 7px;
  font-size:16px;
  line-height:1.22;
  text-align:center;
}
body.omdream-posicionamiento .omdp-steps p {
  max-width:270px;
  margin:0 auto;
  font-size:12px;
  line-height:1.45;
  text-align:center;
}
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero-background {
    background-size:contain!important;
    background-position:center bottom!important;
  }
  body.omdream-posicionamiento .omdp-service-card h3 { min-height:0; }
  body.omdream-posicionamiento .omdp-services-note {
    padding:15px 16px 15px 48px;
    font-size:12px;
  }
  body.omdream-posicionamiento .omdp-services-note::before { left:14px;top:16px; }
  body.omdream-posicionamiento .omdp-steps article { min-height:0;padding:15px 12px 16px; }
}


/* V20 — ÚNICO CAMBIO: Hero igualado en dimensiones y composición al Hero
   de la Home aprobada V7.1. El resto de la landing V19 permanece intacto. */
body.omdream-posicionamiento .omdp-hero {
  position:relative!important;
  min-height:394px!important;
  height:auto!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:#fff!important;
}
body.omdream-posicionamiento .omdp-hero-background {
  position:absolute!important;
  z-index:-2!important;
  inset:0 0 0 39%!important;
  width:auto!important;
  height:auto!important;
  opacity:1!important;
  background-image:url('../img/geo-hero.jpg')!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:right center!important;
}
/* Mismo degradado de la Home aprobada: blanco sólido bajo el texto,
   transición gradual hacia la fotografía a partir del centro. */
body.omdream-posicionamiento .omdp-hero::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:linear-gradient(90deg,
    #fff 0%,
    #fff 28%,
    rgba(255,255,255,.96) 39%,
    rgba(255,255,255,.28) 62%,
    rgba(255,255,255,0) 100%)!important;
  pointer-events:none!important;
}
body.omdream-posicionamiento .omdp-hero-inner {
  position:relative!important;
  z-index:1!important;
  display:flex!important;
  align-items:center!important;
  width:min(1180px,calc(100% - 64px))!important;
  max-width:1180px!important;
  min-height:394px!important;
  height:auto!important;
  margin:0 auto!important;
  padding:0!important;
}
body.omdream-posicionamiento .omdp-hero-copy {
  position:relative!important;
  z-index:2!important;
  width:58%!important;
  max-width:670px!important;
  min-width:0!important;
  margin:0!important;
  padding:38px 0 18px!important;
}
body.omdream-posicionamiento .omdp-hero h1 {
  max-width:630px!important;
  margin:0 0 12px!important;
  font-size:clamp(34px,4.1vw,53px)!important;
  line-height:1.02!important;
  letter-spacing:-.045em!important;
}
body.omdream-posicionamiento .omdp-hero .omd-lead {
  max-width:520px!important;
  margin:0 0 18px!important;
  font-size:15px!important;
  line-height:1.5!important;
}
body.omdream-posicionamiento .omdp-hero .omd-actions {
  display:flex!important;
  position:static!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  margin:0!important;
  padding:0!important;
}
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero { min-height:0!important; }
  body.omdream-posicionamiento .omdp-hero-background {
    inset:auto 0 0 0!important;
    height:210px!important;
    background-size:cover!important;
    background-position:center bottom!important;
  }
  body.omdream-posicionamiento .omdp-hero::after {
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.97) 34%,rgba(255,255,255,.35) 70%,rgba(255,255,255,0) 100%)!important;
  }
  body.omdream-posicionamiento .omdp-hero-inner {
    display:block!important;
    width:calc(100% - 36px)!important;
    min-height:0!important;
    padding:30px 0 225px!important;
  }
  body.omdream-posicionamiento .omdp-hero-copy {
    width:100%!important;
    max-width:600px!important;
    padding:0!important;
  }
}


/* V23 — Ajuste exclusivo de Hero y encuadre de las cuatro imágenes de servicios.
   El resto de la landing permanece idéntico a V22. */

/* Hero: capas positivas y explícitas para evitar transparencias/sombras
   procedentes de elementos situados detrás del contenido. */
body.omdream-posicionamiento .omdp-hero {
  position:relative!important;
  isolation:isolate!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.omdream-posicionamiento .omdp-hero-background {
  position:absolute!important;
  z-index:0!important;
  inset:0 0 0 35%!important;
  width:auto!important;
  height:auto!important;
  opacity:1!important;
  background-color:transparent!important;
  background-image:url('../img/geo-hero.jpg')!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:center center!important;
}
body.omdream-posicionamiento .omdp-hero::after {
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    #fff 0%,
    #fff 28%,
    rgba(255,255,255,.98) 39%,
    rgba(255,255,255,.88) 49%,
    rgba(255,255,255,.58) 61%,
    rgba(255,255,255,.22) 74%,
    rgba(255,255,255,0) 91%)!important;
}
body.omdream-posicionamiento .omdp-hero-inner {
  position:relative!important;
  z-index:2!important;
}
body.omdream-posicionamiento .omdp-hero-copy {
  position:relative!important;
  z-index:3!important;
  text-shadow:none!important;
}
body.omdream-posicionamiento .omdp-hero h1,
body.omdream-posicionamiento .omdp-hero .omd-eyebrow,
body.omdream-posicionamiento .omdp-hero .omd-lead,
body.omdream-posicionamiento .omdp-hero .omd-actions {
  text-shadow:none!important;
}

/* Tarjetas: mostrar la fotografía completa dentro de una ventana homogénea.
   contain elimina el recorte/zoom que producía object-fit:cover. */
body.omdream-posicionamiento .omdp-service-card img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:16 / 9!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#f7f8fa!important;
  border-radius:5px!important;
}
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero-background {
    inset:auto 0 0 0!important;
    height:210px!important;
    background-size:cover!important;
    background-position:center bottom!important;
  }
  body.omdream-posicionamiento .omdp-hero::after {
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 32%,rgba(255,255,255,.78) 55%,rgba(255,255,255,.18) 100%)!important;
  }
}


/* V24 — Corrección exclusiva del Hero: fotografía limpia sin texto incrustado,
   encuadre alejado y eliminación global de sombras en el contenido del Hero. */
body.omdream-posicionamiento .omdp-hero {
  position:relative!important;
  isolation:isolate!important;
  background:#fff!important;
  overflow:hidden!important;
}
body.omdream-posicionamiento .omdp-hero-background {
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  background-image:url('../img/geo-hero.jpg')!important;
  background-repeat:no-repeat!important;
  background-size:100% 100%!important;
  background-position:center center!important;
  filter:none!important;
}
body.omdream-posicionamiento .omdp-hero::after {
  content:""!important;
  position:absolute!important;
  z-index:1!important;
  inset:0!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    #fff 0%,
    rgba(255,255,255,.99) 30%,
    rgba(255,255,255,.96) 40%,
    rgba(255,255,255,.82) 49%,
    rgba(255,255,255,.48) 59%,
    rgba(255,255,255,.14) 70%,
    rgba(255,255,255,0) 81%)!important;
  box-shadow:none!important;
  filter:none!important;
}
body.omdream-posicionamiento .omdp-hero,
body.omdream-posicionamiento .omdp-hero *,
body.omdream-posicionamiento .omdp-hero *::before,
body.omdream-posicionamiento .omdp-hero *::after {
  text-shadow:none!important;
  filter:none!important;
}
body.omdream-posicionamiento .omdp-hero-inner {
  position:relative!important;
  z-index:2!important;
}
body.omdream-posicionamiento .omdp-hero-copy {
  position:relative!important;
  z-index:3!important;
}
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero-background {
    inset:auto 0 0 0!important;
    height:210px!important;
    background-size:100% 100%!important;
    background-position:center bottom!important;
  }
  body.omdream-posicionamiento .omdp-hero::after {
    background:linear-gradient(180deg,#fff 0%,rgba(255,255,255,.98) 34%,rgba(255,255,255,.68) 65%,rgba(255,255,255,.08) 100%)!important;
  }
}


/* V25 — ÚNICA MODIFICACIÓN: Hero. No modificar otras secciones. */

/* La fotografía conserva su proporción y se reduce ligeramente para alejar
   el encuadre. Se alinea a la derecha para mantener ordenador y planta visibles. */
body.omdream-posicionamiento .omdp-hero-background {
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-size:88% auto!important;
  background-position:right center!important;
  background-repeat:no-repeat!important;
  background-color:#fff!important;
  opacity:1!important;
  filter:none!important;
}

/* Degradado más corto y transparente: protege el texto sin apagar la planta. */
body.omdream-posicionamiento .omdp-hero::after {
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(90deg,
    #fff 0%,
    #fff 27%,
    rgba(255,255,255,.94) 38%,
    rgba(255,255,255,.72) 48%,
    rgba(255,255,255,.30) 59%,
    rgba(255,255,255,0) 72%)!important;
  box-shadow:none!important;
  filter:none!important;
}

/* Eliminar sombras, filtros y cualquier pseudo-elemento decorativo heredado
   sobre el texto, causa de las letras fantasma observadas. */
body.omdream-posicionamiento .omdp-hero h1,
body.omdream-posicionamiento .omdp-hero h1 *,
body.omdream-posicionamiento .omdp-hero .omd-eyebrow,
body.omdream-posicionamiento .omdp-hero .omd-lead,
body.omdream-posicionamiento .omdp-hero .omd-actions,
body.omdream-posicionamiento .omdp-hero .omdp-hero-copy {
  text-shadow:none!important;
  filter:none!important;
  -webkit-text-stroke:0 transparent!important;
  box-shadow:none!important;
}
body.omdream-posicionamiento .omdp-hero h1::before,
body.omdream-posicionamiento .omdp-hero h1::after,
body.omdream-posicionamiento .omdp-hero h1 *::before,
body.omdream-posicionamiento .omdp-hero h1 *::after {
  content:none!important;
  display:none!important;
  text-shadow:none!important;
  filter:none!important;
}

/* En móvil se conserva la composición vertical definida anteriormente. */
@media(max-width:780px) {
  body.omdream-posicionamiento .omdp-hero-background {
    inset:auto 0 0 0!important;
    width:100%!important;
    height:210px!important;
    background-size:auto 100%!important;
    background-position:right bottom!important;
  }
  body.omdream-posicionamiento .omdp-hero::after {
    background:linear-gradient(180deg,
      #fff 0%,
      rgba(255,255,255,.96) 32%,
      rgba(255,255,255,.55) 58%,
      rgba(255,255,255,0) 100%)!important;
  }
}


/* GEO approved layout: image left, content right. */
body.omdream-posicionamiento .omdp-why-split { padding: 16px 0 20px; }
body.omdream-posicionamiento .omdp-why-split .omdp-why-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: 34px;
  width: min(1180px, calc(100% - 64px));
  max-width: 1180px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
body.omdream-posicionamiento .omdp-why-photo { min-width: 0; }
body.omdream-posicionamiento .omdp-why-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1.95 / 1;
  object-fit: cover;
  object-position: center;
  border-radius: 5px;
}
body.omdream-posicionamiento .omdp-why-content { min-width: 0; }
body.omdream-posicionamiento .omdp-why-content .omd-eyebrow { margin: 0 0 10px; }
body.omdream-posicionamiento .omdp-why-content h2 {
  margin: 0 0 12px;
  color: #171b25;
  font-size: clamp(24px, 2.5vw, 34px);
  line-height: 1.08;
  letter-spacing: -.035em;
  font-weight: 800;
}
body.omdream-posicionamiento .omdp-why-intro {
  margin: 0 0 12px;
  color: #3f4650;
  font-size: 15px;
  line-height: 1.5;
}
body.omdream-posicionamiento .omdp-why-points {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
body.omdream-posicionamiento .omdp-why-points li {
  position: relative;
  margin: 0 0 5px;
  padding-left: 27px;
  color: #303640;
  font-size: 14px;
  line-height: 1.4;
}
body.omdream-posicionamiento .omdp-why-points li:before {
  content: "✓";
  position: absolute;
  left: 0;
  top: 0;
  width: 19px;
  height: 19px;
  border: 2px solid #111;
  border-radius: 50%;
  color: #111;
  font-size: 13px;
  font-weight: 700;
  line-height: 15px;
  text-align: center;
}
@media (max-width: 767px) {
  body.omdream-posicionamiento .omdp-why-split .omdp-why-inner {
    grid-template-columns: 1fr;
    gap: 18px;
    width: min(100% - 36px, 560px);
  }
  body.omdream-posicionamiento .omdp-why-photo { order: 0; }
  body.omdream-posicionamiento .omdp-why-content { order: 1; }
  body.omdream-posicionamiento .omdp-why-content h2 { font-size: 27px; }
}

/* V9 — Corrección exclusiva del encuadre del Hero.
   Mostrar la composición completa aprobada, sin reducirla ni recortarla.
   El degradado existente se conserva. */
@media (min-width:781px) {
  body.omdream-posicionamiento .omdp-hero-background {
    inset:0!important;
    width:100%!important;
    height:100%!important;
    background-size:100% 100%!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
  }
}
@media (max-width:780px) {
  body.omdream-posicionamiento .omdp-hero-background {
    background-size:100% auto!important;
    background-position:center bottom!important;
  }
}


/* V27 — Corrección exclusiva del Hero móvil. Se conserva íntegro el CSS anterior.
   Restablece explícitamente los estilos que la Home comparte con esta plantilla. */
@media (max-width:780px) {
  body.omdream-home.omdream-posicionamiento .omdp-hero {
    position:relative!important;
    display:block!important;
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    overflow:hidden!important;
    isolation:isolate!important;
    background:#fff!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero-background {
    position:absolute!important;
    z-index:0!important;
    inset:auto 0 0 0!important;
    width:100%!important;
    height:165px!important;
    background-image:url('../img/geo-hero.jpg')!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;
    background-position:center bottom!important;
    background-color:#fff!important;
    opacity:1!important;
    filter:none!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero::after {
    content:none!important;
    display:none!important;
    background:none!important;
    box-shadow:none!important;
    filter:none!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero-inner {
    position:relative!important;
    z-index:2!important;
    display:block!important;
    width:calc(100% - 36px)!important;
    max-width:600px!important;
    min-height:0!important;
    height:auto!important;
    margin:0 auto!important;
    padding:18px 0 175px!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero-copy {
    position:relative!important;
    z-index:3!important;
    display:block!important;
    visibility:visible!important;
    width:100%!important;
    max-width:600px!important;
    margin:0!important;
    padding:0!important;
    color:#101116!important;
    text-shadow:none!important;
    filter:none!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero .omd-eyebrow {
    display:block!important;
    visibility:visible!important;
    color:#ed1c24!important;
    text-shadow:none!important;
    filter:none!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero h1 {
    display:block!important;
    visibility:visible!important;
    max-width:100%!important;
    margin:0 0 12px!important;
    color:#101116!important;
    font-size:clamp(34px,8.5vw,40px)!important;
    line-height:1.01!important;
    letter-spacing:-.045em!important;
    font-weight:800!important;
    text-shadow:none!important;
    filter:none!important;
    -webkit-text-stroke:0 transparent!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero h1 span {
    display:inline!important;
    color:#ed1c24!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero .omd-lead {
    display:block!important;
    visibility:visible!important;
    max-width:100%!important;
    margin:0 0 16px!important;
    color:#4f5968!important;
    font-size:14px!important;
    line-height:1.45!important;
    text-shadow:none!important;
    filter:none!important;
  }
  body.omdream-home.omdream-posicionamiento .omdp-hero .omd-actions {
    display:flex!important;
    position:static!important;
    visibility:visible!important;
    flex-wrap:wrap!important;
    gap:12px!important;
    margin:0!important;
    padding:0!important;
  }
}
@media (max-width:379px) {
  body.omdream-home.omdream-posicionamiento .omdp-hero-background { height:145px!important; }
  body.omdream-home.omdream-posicionamiento .omdp-hero-inner { padding-bottom:155px!important; }
}
