/* ==========================================================================
   New Era — secciones de las páginas interiores
   Medidas tomadas del sitio de referencia a 1536 px de ancho.
   ========================================================================== */

:root {
  --ne-gray-text: #828282;
  --ne-soft-text: #bdbdbd;
  --ne-panel: #f9f9f9;
  --ne-ice: #c2e5ff;
  --ne-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E");
  --ne-ic-speaker: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v-2a8 8 0 0 1 16 0v2'/%3E%3Crect x='3' y='14' width='4' height='6' rx='1.5'/%3E%3Crect x='17' y='14' width='4' height='6' rx='1.5'/%3E%3C/svg%3E");
  --ne-ic-mic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='15' cy='9' r='5'/%3E%3Cpath d='m11.5 12.5-7 7 1 1 7-7M12 6l6 6'/%3E%3C/svg%3E");
  --ne-ic-note: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 18V5l11-2v13'/%3E%3Ccircle cx='6' cy='18' r='3'/%3E%3Ccircle cx='17' cy='16' r='3'/%3E%3C/svg%3E");
  --ne-ic-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}

/* Las secciones a ancho completo ocupan el contenedor de 1296 px.
   Su ancho de referencia es el del contenido (sin los 12 px de margen global). */
.ne-banner, .ne-pbanner, .ne-hbanner, .ne-crumbs, .ne-media, .ne-cards, .ne-care, .ne-feature, .ne-highlights,
.ne-biggrid, .ne-problem, .ne-infra, .ne-gallery, .ne-showcase, .ne-view, .ne-team, .ne-collage3, .ne-areas,
.ne-ccards, .ne-form, .ne-legal {
  --ne-pad: max(12px, calc((100% - 1272px) / 2));
  padding-left: var(--ne-pad);
  padding-right: var(--ne-pad);
}
.entry-content:has(> .alignfull[class*="ne-"]:last-child) { padding-bottom: 0; }

/* Tipografía compartida */
.ne-eyebrow--lg { font-size: 24px; font-weight: 300; line-height: 26.4px; }
.ne-eyebrow--md { font-size: 20px; font-weight: 300; line-height: 32px; }
.ne-eyebrow--strong { font-weight: 500; }
.ne-eyebrow--sky { color: var(--ne-sky); }
.ne-h2 { margin: 24px 0 0 !important; font-family: var(--ne-font); font-size: 32px; font-weight: 500; line-height: 35.2px; color: var(--ne-teal); }
.ne-eyebrow--sky + .ne-h2 { margin-top: 16px !important; }
.ne-eyebrow--md + .ne-h2 { margin-top: 24px !important; }
.ne-h2:first-child { margin-top: 0 !important; }
.ne-h2--light { margin-top: 0 !important; font-size: 40px; font-weight: 400; line-height: 48px; }
.ne-copy { margin: 24px 0 0 !important; font-size: 18px; line-height: 34px; color: var(--ne-gray-text); }
.ne-copy--soft { color: var(--ne-soft-text); }

/* Viñetas con icono */
.ne-checks { margin: 48px 0 0 !important; }
.ne-check {
  position: relative;
  min-height: 34px;
  margin: 22px 0 0 !important;
  padding-left: 68px;
  font-size: 18px;
  line-height: 34px;
  color: var(--ne-teal);
}
.ne-checks > .ne-check:first-child { margin-top: 0 !important; }
.ne-check::before {
  content: "";
  position: absolute;
  left: 0;
  top: -5px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(129, 210, 244, .45);
}
.ne-check::after {
  content: "";
  position: absolute;
  left: 12px;
  top: 7px;
  width: 20px;
  height: 20px;
  background: var(--ne-teal);
  -webkit-mask: var(--ne-check) center / contain no-repeat;
  mask: var(--ne-check) center / contain no-repeat;
}
.ne-check--soft { color: var(--ne-soft-text); }
.ne-check--soft strong { color: var(--ne-teal); }

/* ---------- Banner oscuro (Solutions, Spaces) ---------- */
.ne-banner { padding-top: 48px; padding-bottom: 48px; }
.ne-banner__box {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 552px) 608px;
  justify-content: space-between;
  align-items: start;
  margin: 0 !important;
  padding: 48px 20px 0 96px;
}
.ne-banner__box::before { content: ""; position: absolute; inset: 0 0 59px; border-radius: 5px; background: var(--ne-teal); }
.ne-banner__text, .ne-banner__img { position: relative; z-index: 1; margin: 0 !important; }
.ne-banner__eyebrow { margin: 0 !important; font-size: 18px; font-weight: 600; line-height: 34px; color: var(--ne-sky); }
.ne-banner__title { margin: 0 !important; font-family: var(--ne-font); font-size: 56px; font-weight: 500; line-height: 61.8px; color: var(--ne-white); }
.ne-banner__img img { width: 100%; height: 320px !important; object-fit: cover; border-radius: 5px; }

/* ---------- Banner con imagen al lado ---------- */
.ne-pbanner {
  display: grid;
  grid-template-columns: minmax(0, 636px) 660px;
  justify-content: space-between;
  align-items: center;
  column-gap: 12px;
  padding-right: max(0px, calc((100% - 1296px) / 2));
}
.ne-pbanner__text { margin: 0 !important; padding: 48px 0; }
.ne-pbanner__eyebrow { margin: 0 !important; font-size: 18px; font-weight: 500; line-height: 34px; color: var(--ne-blue); }
.ne-pbanner__title { margin: 16px 0 0 !important; font-family: var(--ne-font); font-size: 56px; font-weight: 500; line-height: 61.8px; color: var(--ne-teal); }
.ne-pbanner__title mark,
.ne-banner__title mark {
  background-color: transparent !important;
  background-image: linear-gradient(90deg, #1f91b0 40%, #0d3d4a) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.ne-pbanner__title mark, .ne-hbanner__title mark { display: block; }
.ne-pbanner__desc { margin: 16px 0 0 !important; font-size: 18px; line-height: 34px; color: var(--ne-gray-text); }
.ne-pbanner__actions { margin-top: 16px !important; }
.ne-pbanner__actions .wp-block-button.is-style-ne-dark .wp-block-button__link { min-height: 58px; padding: 0 26px; font-size: 18px; }
.ne-pbanner__actions .is-style-ne-textlink .wp-block-button__link { font-size: 18px; line-height: 27px; gap: 14px; }
.ne-pbanner__img { margin: 0 !important; }
.ne-pbanner__img img { width: 100%; height: 526px !important; object-fit: cover; border-radius: 5px; }
.ne-pbanner--reverse { grid-template-columns: 660px minmax(0, 600px); column-gap: 48px; padding-left: max(0px, calc((100% - 1296px) / 2)); padding-right: var(--ne-pad); }
.ne-pbanner--reverse .ne-pbanner__img { order: -1; }

/* ---------- Banner con foto de fondo ---------- */
.ne-hbanner { position: relative; display: flex; align-items: flex-start; min-height: 410px; padding-top: 64px; padding-bottom: 48px; overflow: hidden; }
.ne-hbanner::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(13, 61, 74, .92) 0%, rgba(13, 61, 74, .7) 45%, rgba(13, 61, 74, .05) 80%); pointer-events: none; }
.ne-hbanner .ne-bg img { border-radius: 0; }
.ne-hbanner__text { position: relative; z-index: 2; max-width: 856px; margin: 0 !important; }
.ne-hbanner__eyebrow { margin: 0 !important; font-size: 18px; font-weight: 700; line-height: 34px; color: var(--ne-white); }
.ne-hbanner__title { margin: 16px 0 0 !important; font-family: var(--ne-font); font-size: 56px; font-weight: 500; line-height: 61.8px; color: var(--ne-white); }
.ne-hbanner__title mark { background: none !important; color: var(--ne-sky) !important; }
.ne-hbanner__actions { margin-top: 15px !important; }
.ne-hbanner__actions .is-style-ne-textlink .wp-block-button__link { color: var(--ne-white) !important; font-size: 18px; line-height: 27px; gap: 14px; }
.ne-hbanner__actions .is-style-ne-textlink .wp-block-button__link::before { color: var(--ne-white); }

/* ---------- Migas de pan ---------- */
.ne-crumbs { padding-top: 48px; padding-bottom: 40px; }
.entry-content > .ne-pbanner + .ne-crumbs { margin-top: 24px !important; }
.ne-crumbs .ne-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; min-height: 50px; padding: 13px 0 12px; border-bottom: 1px solid var(--ne-blue); }
.ne-crumbs .ne-breadcrumb, .ne-crumbs .ne-breadcrumb a, .ne-crumbs .ne-breadcrumb span { font-size: 16px; font-weight: 500; line-height: 24px; color: var(--ne-gray-text); text-decoration: none; }
.ne-crumbs .ne-breadcrumb a:hover { color: var(--ne-blue); }
.ne-crumbs .ne-breadcrumb [aria-current="page"], .ne-crumbs .breadcrumb_last { color: var(--ne-blue); }
.ne-breadcrumb__home { display: block; width: 16px; height: 16px; color: var(--ne-teal); }
.ne-crumbs .ne-breadcrumb__sep { display: inline-grid; place-items: center; width: 32px; }
.ne-breadcrumb__sep svg { width: 12px; height: 12px; transform: rotate(-90deg); color: var(--ne-gray-text); }

/* ---------- Imagen + texto ---------- */
.ne-media {
  display: grid;
  grid-template-columns: 526px minmax(0, 674px);
  column-gap: 60px;
  align-items: start;
  padding-top: 24px;
  padding-bottom: 48px;
}
.ne-media__img { margin: 0 !important; }
.ne-media__img img { width: 100%; height: 543px !important; object-fit: cover; border-radius: 5px; }
.ne-media--tall .ne-media__img img { height: 653px !important; }
.ne-media__text { margin: 0 !important; padding-top: 48px; }
.ne-media__text > .ne-copy { margin-top: 48px !important; }
.ne-media__text > .ne-copy + .ne-copy { margin-top: 24px !important; }
.ne-media__actions { margin-top: 48px !important; }

.ne-media--reverse { grid-template-columns: minmax(0, 636px) 636px; column-gap: 24px; justify-content: space-between; align-items: center; padding-top: 48px; }
.ne-media--reverse .ne-media__img { order: 2; }
.ne-media--reverse .ne-media__img img { height: 548px !important; }
.ne-media--reverse .ne-media__text { padding-top: 0; }

.ne-media--boxed { align-items: stretch; padding-top: 96px; padding-bottom: 96px; }
.ne-media--boxed:not(.ne-media--reverse) { grid-template-columns: 636px minmax(0, 636px); column-gap: 24px; justify-content: space-between; }
.ne-media--boxed:not(.ne-media--reverse) .ne-media__text { padding-top: 24px; }
.ne-media--boxed .ne-media__text { padding: 24px; border-radius: 5px; background: var(--ne-panel); }
.ne-media--boxed .ne-media__img { position: relative; min-height: 548px; }
.ne-media--boxed .ne-media__img img { position: absolute; inset: 0; height: 100% !important; }
.ne-media--boxed .ne-compare > .wp-block-image { position: absolute; inset: 0; }

.ne-media--video .ne-media__video { position: relative; min-height: 548px; margin: 0 !important; overflow: hidden; border-radius: 5px; background: #000; }
.ne-media--video .ne-media__video video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* Comparación antes / después */
.ne-compare { position: relative; overflow: hidden; border-radius: 5px; }
.ne-compare > .wp-block-image { margin: 0 !important; }
.ne-compare img { width: 100%; height: 100% !important; object-fit: cover; }
.ne-compare__before { position: absolute !important; inset: 0; opacity: 0; transition: opacity .4s ease; }
.ne-compare.is-before .ne-compare__before { opacity: 1; }
.ne-compare__switch {
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 14px 9px 10px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .9);
  color: #333;
  font: 500 16px/24px var(--ne-font);
  cursor: pointer;
}
.ne-compare__switch::before { content: ""; width: 44px; height: 24px; border-radius: 24px; background: var(--ne-blue) radial-gradient(circle at 34px 12px, #fff 8px, transparent 8.5px); transition: background .25s ease; }
.ne-compare.is-before .ne-compare__switch::before { background: #bdbdbd radial-gradient(circle at 10px 12px, #fff 8px, transparent 8.5px); }

/* ---------- Cuadrícula de tarjetas ---------- */
.ne-cards { padding-top: 48px; padding-bottom: 148px; }
.ne-cards > *, .ne-cards__panel > * { max-width: 1104px; margin-left: auto !important; margin-right: auto !important; }
.ne-cards > .ne-eyebrow { margin-top: 96px !important; }
.ne-cards__grid { display: grid; grid-template-columns: repeat(3, 352px); justify-content: space-between; gap: 43px 24px; margin-top: 33px !important; }
.ne-card2 { margin: 0 !important; padding-top: 16px; }
.ne-card2__img img { width: 100%; height: 440px !important; object-fit: cover; border-radius: 5px; }
.ne-card2__body { margin: 0 !important; padding: 0 15px; }
.ne-card2__title { margin: 31px 0 0 !important; font-family: var(--ne-font); font-size: 18px; font-weight: 600; line-height: 34px; color: var(--ne-teal); }
.ne-card2__text { margin: 16px 0 0 !important; font-size: 14px; line-height: 19.6px; color: var(--ne-soft-text); }
.ne-card2__link { margin-top: 15px !important; }
.ne-card2__link .wp-block-button__link { font-size: 18px !important; line-height: 27px !important; gap: 14px !important; }

.ne-cards--overlay { padding-top: 48px; padding-bottom: 48px; }
.ne-cards--overlay > .ne-cards__panel { max-width: none; }
.ne-cards__panel { margin: 0 !important; padding: 96px; border-radius: 5px; background: rgba(129, 210, 244, .1); }
.ne-cards--overlay .ne-cards__grid { margin-top: 24px !important; }
.ne-cards--overlay .ne-card2 { position: relative; padding-top: 0; overflow: hidden; border-radius: 5px; }
.ne-cards--overlay .ne-card2::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13, 61, 74, 0) 35%, rgba(13, 61, 74, .92) 72%); pointer-events: none; }
.ne-cards--overlay .ne-card2__body { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; padding: 0 15px 16px; }
.ne-cards--overlay .ne-card2__title { color: var(--ne-sky); }
.ne-cards--overlay .ne-card2__text { color: var(--ne-white); }
.ne-cards--overlay .ne-card2__link .wp-block-button__link { gap: 0 !important; font-size: 0 !important; }
.ne-cards--overlay .ne-card2__link .wp-block-button__link::before { color: var(--ne-sky); }

/* ---------- Proceso con contador ---------- */
.ne-care { padding-top: 48px; padding-bottom: 48px; }
.ne-care__viewport { position: relative; max-width: 1076px; margin-left: 110px; overflow: hidden; }
.ne-care__track { display: flex; margin: 0 !important; transition: transform .6s var(--ne-ease); }
.ne-care__slide { flex: 0 0 100%; display: grid; grid-template-columns: 526px minmax(0, 490px); column-gap: 60px; align-items: start; margin: 0 !important; }
.ne-care__img { margin: 0 !important; }
.ne-care__img img { width: 100%; height: 548px !important; object-fit: cover; border-radius: 5px; }
.ne-care__text { margin: 0 !important; padding-top: 10px; }
.ne-care__text > .ne-eyebrow { margin: 0 !important; }
.ne-care__title { margin: 16px 0 0 !important; font-family: var(--ne-font); font-size: 48px; font-weight: 500; line-height: 61.8px; color: var(--ne-teal); }
.ne-care__text .ne-copy { margin-top: 16px !important; }
.ne-care__text .wp-block-buttons { margin-top: 16px !important; }
.ne-care__text .is-style-ne-textlink .wp-block-button__link { font-size: 18px; line-height: 27px; gap: 14px; }
.ne-care .ne-process__controls { left: 32px; right: auto; bottom: 42px; }

/* ---------- Etapas con imagen ---------- */
.ne-feature {
  display: grid;
  grid-template-columns: 636px minmax(0, 636px);
  grid-template-rows: auto 1fr;
  column-gap: 24px;
  justify-content: space-between;
  padding-top: 96px;
  padding-bottom: 96px;
}
.ne-feature__head { grid-column: 2; grid-row: 1; margin: 0 !important; }
.ne-feature__head > .ne-eyebrow { margin: 0 !important; }
.ne-feature__head .ne-h2 { margin-top: 24px !important; }
.ne-feature__media { position: relative; grid-column: 1; grid-row: 1 / span 2; height: 617px; margin: 0 !important; overflow: hidden; border-radius: 5px; }
.ne-feature__media > .ne-feature__img { position: absolute !important; inset: 0; margin: 0 !important; }
.ne-feature__media > .ne-feature__img ~ .ne-feature__img { visibility: hidden; }
.ne-feature__track { display: flex; height: 100%; transition: transform .3s ease; }
.ne-feature__track > .ne-feature__img { flex: 0 0 100%; height: 100%; margin: 0 !important; }
.ne-feature__img img { width: 100%; height: 100% !important; object-fit: cover; }
.ne-feature__body { grid-column: 2; grid-row: 2; margin: 49px 0 0 !important; padding: 54px; border: 1px solid rgba(129, 210, 244, .6); border-radius: 5px; }
.ne-feature--plain { grid-template-rows: 1fr auto auto 1fr; padding-top: 24px; padding-bottom: 24px; }
.ne-feature--plain .ne-feature__head { grid-row: 2; }
.ne-feature--plain .ne-feature__body { grid-row: 3; margin-top: 48px !important; }
.ne-feature--plain .ne-feature__media { grid-row: 1 / -1; height: 541px; }
.ne-feature--plain .ne-feature__head > .ne-eyebrow { color: var(--ne-blue); }
.ne-feature__body--plain { padding: 0; border: 0; }
.ne-feature__body.ne-feature__body--plain .ne-copy { max-width: none; }
.ne-feature__body.ne-feature__body--plain .ne-copy { margin-top: 0 !important; }
.ne-feature__title { margin: 0 !important; font-family: var(--ne-font); font-size: 40px; font-weight: 400; line-height: 48px; color: var(--ne-blue); }
.ne-feature__body .ne-copy { max-width: 528px; margin-top: 48px !important; }
.ne-feature__body .wp-block-buttons { margin-top: 48px !important; }
.ne-feature__dots { position: absolute; left: 0; right: 0; bottom: 16px; z-index: 2; display: flex; justify-content: center; gap: 8px; }
.ne-feature__dot { width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .7); cursor: pointer; }
.ne-feature__dot.is-current { background: var(--ne-sky); }
@keyframes ne-fade { from { opacity: 0; } to { opacity: 1; } }

/* ---------- Franja con 3 puntos ---------- */
.ne-highlights { display: grid; grid-template-columns: 636px minmax(0, 1fr); column-gap: 24px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.ne-highlights__text { margin: 0 !important; }
.ne-highlights__items { display: grid; grid-template-columns: repeat(3, 178px); column-gap: 42px; margin: 0 !important; padding-left: 9px; }
.ne-highlight { position: relative; margin: 0 !important; padding-top: 53px; font-size: 14px; font-weight: 500; line-height: 19.6px; text-align: center; color: var(--ne-teal); }
.ne-highlight::before { content: ""; position: absolute; top: 0; left: calc(50% - 20px); width: 40px; height: 40px; background: var(--ne-blue); -webkit-mask: var(--ne-ic-speaker) center / contain no-repeat; mask: var(--ne-ic-speaker) center / contain no-repeat; }
.ne-highlight:nth-child(3n+2)::before { -webkit-mask-image: var(--ne-ic-mic); mask-image: var(--ne-ic-mic); }
.ne-highlight:nth-child(3n)::before { -webkit-mask-image: var(--ne-ic-note); mask-image: var(--ne-ic-note); }
.ne-highlight + .ne-highlight::after { content: ""; position: absolute; top: 0; bottom: 0; left: -21px; width: 1px; background: var(--ne-sky); }

/* ---------- Mosaico de fotos con cifras ---------- */
.ne-biggrid { padding-top: 48px; padding-bottom: 96px; }
.ne-biggrid__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 416px)); grid-template-rows: 416px 250px 250px; gap: 24px; justify-content: space-between; margin: 0 !important; }
.ne-tile { position: relative; margin: 0 !important; overflow: hidden; border-radius: 4px; background: #f5f5f5; color: var(--ne-white); }
.ne-tile .ne-bg img { border-radius: 0; }
.ne-tile--caption::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(180deg, rgba(15, 23, 42, 0) 50%, rgba(15, 23, 42, .75) 100%); pointer-events: none; }
.ne-tile__caption { position: absolute; left: 20px; right: 20px; bottom: 20px; z-index: 2; margin: 0 !important; }
.ne-tile__eyebrow { margin: 0 !important; font-size: 24px; font-weight: 300; line-height: 26.4px; color: var(--ne-white); }
.ne-tile__title { margin: 17px 0 0 !important; font-size: 32px; font-weight: 500; line-height: 35.2px; color: var(--ne-white); }
.ne-tile--stats { display: flex; flex-direction: column; justify-content: center; padding: 32px 20px; background: var(--ne-blue); }
.ne-stat { margin: 0 !important; }
.ne-stat + .ne-stat { margin-top: 16px !important; }
.ne-stat__num { margin: 0 !important; font-size: 48px; font-weight: 500; line-height: 62px; color: var(--ne-white); }
.ne-stat__label { margin: 0 !important; font-size: 18px; font-weight: 500; line-height: 34px; color: var(--ne-white); }
.ne-tile--wide { grid-column: 1 / span 2; grid-row: 2 / span 2; }
.ne-tile--short:nth-last-child(2) { grid-column: 3; grid-row: 2; }
.ne-tile--short:last-child { grid-column: 3; grid-row: 3; }
.ne-tile__box { position: absolute; right: 0; bottom: 0; z-index: 2; width: 428px; min-height: 235px; margin: 0 !important; padding: 58px 24px 24px; background: #083344; }
.ne-tile__quote { margin: 0 !important; font-size: 24px; font-weight: 400; line-height: 26.4px; color: var(--ne-white); }
.ne-tile__box .wp-block-buttons { margin-top: 24px !important; }
.ne-tile__box .is-style-ne-textlink .wp-block-button__link { color: var(--ne-white) !important; font-size: 14px; text-decoration: underline; }
.ne-tile__box .is-style-ne-textlink .wp-block-button__link::before { display: none; }

/* ---------- Foto + lista con iconos ---------- */
.ne-problem { display: grid; grid-template-columns: 416px minmax(0, 856px); column-gap: 24px; justify-content: space-between; align-items: stretch; padding-top: 48px; padding-bottom: 48px; }
.ne-problem__img { position: relative; min-height: 360px; margin: 0 !important; }
.ne-problem__img img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; border-radius: 5px; }
.ne-problem__text-col { margin: 0 !important; }
.ne-problem__text-col > .ne-eyebrow { margin: 0 !important; }
.ne-problem__list { margin: 49px 0 0 !important; }
.ne-problem__text-col > .ne-copy { margin-top: 24px !important; }
.ne-problem__text-col > .ne-h2 + .ne-copy { margin-top: 49px !important; }
.ne-copy--lead { font-size: 20px; font-weight: 500; line-height: 32px; color: var(--ne-blue); }
.ne-problem__text-col > .ne-copy + .ne-copy { margin-top: 50px !important; }
.ne-problem__note { margin: 24px 0 0 !important; padding: 0 0 0 24px; border-left: 1px solid var(--ne-sky); }
.ne-problem__note .ne-problem__text { margin-top: 16px !important; }
.ne-problem__icon img { width: 88px; height: 94px !important; object-fit: contain; }
.ne-problem__item { position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr); column-gap: 32px; margin: 0 !important; }
.ne-problem__item + .ne-problem__item { margin-top: 48px !important; }
.ne-problem__item::after { content: ""; position: absolute; left: 104px; top: 47px; width: 1px; height: 140px; background: var(--ne-sky); }
.ne-problem__icon { margin: 0 !important; }
.ne-problem__icon img { width: 88px; height: 94px !important; object-fit: contain; }
.ne-problem__body { margin: 0 !important; }
.ne-problem__title { margin: 0 !important; font-family: var(--ne-font); font-size: 20px; font-weight: 500; line-height: 32px; color: var(--ne-teal); }
.ne-problem__text { margin: 24px 0 0 !important; font-size: 18px; line-height: 34px; color: var(--ne-soft-text); }

/* ---------- Texto + 4 tarjetas ---------- */
.ne-infra { display: grid; grid-template-columns: 636px minmax(0, 636px); column-gap: 24px; justify-content: space-between; align-items: center; padding-top: 116px; padding-bottom: 156px; background: rgba(194, 229, 255, .2); }
.ne-infra__text { margin: 0 !important; }
.ne-infra__text > .ne-eyebrow { margin: 0 !important; color: var(--ne-blue); }
.ne-infra__text .ne-copy { margin-top: 25px !important; }
.ne-infra__grid { display: grid; grid-template-columns: repeat(2, 303px); column-gap: 30px; row-gap: 30px; align-items: start; margin: 0 !important; }
.ne-icard { margin: 0 !important; padding: 30px; border-radius: 8px; background: var(--ne-white); text-align: center; }
.ne-icard:nth-child(odd) { transform: translateY(40px); }
.ne-icard:nth-child(4n+1), .ne-icard:nth-child(4n) { background: #004a5d; }
.ne-icard__icon { margin: 0 !important; }
.ne-icard__icon img { width: 40px; height: 40px !important; margin: 0 auto; object-fit: contain; }
.ne-icard__title { margin: 32px 0 0 !important; font-family: var(--ne-font); font-size: 20px; font-weight: 500; line-height: 32px; color: var(--ne-teal); }
.ne-icard__text { margin: 16px 0 0 !important; font-size: 16px; line-height: 22.4px; color: var(--ne-gray-text); }
.ne-icard:nth-child(4n+1) .ne-icard__title, .ne-icard:nth-child(4n+1) .ne-icard__text,
.ne-icard:nth-child(4n) .ne-icard__title, .ne-icard:nth-child(4n) .ne-icard__text { color: var(--ne-white); }

/* ---------- Galería en carrusel ---------- */
.ne-gallery { position: relative; padding-top: 96px; padding-bottom: 96px; padding-right: 0; overflow: hidden; }
.ne-gallery__head { max-width: 1076px; margin: 0 !important; }
.ne-gallery__head > .ne-eyebrow { margin: 0 !important; }
.ne-gallery__track { display: flex; gap: 24px; margin: 25px 0 0 !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ne-gallery__viewport { margin-top: 25px; }
.ne-gallery__track.is-loop { margin: 0 !important; overflow: visible; scroll-snap-type: none; transition: transform .6s var(--ne-ease); }
.ne-gallery__track::-webkit-scrollbar { display: none; }
.ne-gallery__img { position: relative; flex: 0 0 465px; margin: 0 !important; scroll-snap-align: start; overflow: hidden; border-radius: 5px; }
.ne-gallery__img img { width: 465px; height: 465px !important; object-fit: cover; transition: transform .5s ease; }
.ne-gallery__img::after {
  content: "";
  position: absolute;
  top: calc(50% - 32px);
  left: calc(50% - 32px);
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--ne-blue);
  opacity: 0;
  transition: opacity .25s ease;
}
.ne-gallery__img::before {
  content: "";
  position: absolute;
  top: calc(50% - 12px);
  left: calc(50% - 12px);
  z-index: 1;
  width: 24px;
  height: 24px;
  background: var(--ne-white);
  -webkit-mask: var(--ne-ic-plus) center / contain no-repeat;
  mask: var(--ne-ic-plus) center / contain no-repeat;
  opacity: 0;
  transition: opacity .25s ease;
}
.ne-gallery__img:hover::after, .ne-gallery__img:hover::before { opacity: 1; }
.ne-gallery__img:hover img { transform: scale(1.04); }
.ne-gallery__nav { position: absolute; top: 96px; right: max(12px, calc((100% - 1296px) / 2)); display: flex; gap: 12px; margin: 0 !important; padding-top: 34px; }
.ne-gallery__nav .ne-arrow-btn { width: 40px; height: 40px; }

/* ---------- Imagen grande sobre degradado ---------- */
.ne-showcase { position: relative; padding-top: 48px; padding-bottom: 48px; }
.ne-showcase::before { content: ""; position: absolute; top: 48px; left: max(0px, calc((100% - 1320px) / 2)); right: max(0px, calc((100% - 1320px) / 2)); height: 606px; border-radius: 5px; background: linear-gradient(#fff, var(--ne-blue) 79%); }
.ne-showcase > * { position: relative; max-width: 1076px; margin-left: auto !important; margin-right: auto !important; }
.ne-showcase__head { text-align: center; }
.ne-showcase__head > .ne-eyebrow { margin: 0 !important; }
.ne-showcase__head .ne-h2 { margin-top: 16px !important; }
.ne-showcase__img { margin-top: 24px !important; }
.ne-showcase__img img { width: 100%; height: 605px !important; object-fit: cover; border-radius: 5px; }
.ne-showcase__caption { margin-top: 15px !important; font-size: 18px; line-height: 34px; color: var(--ne-soft-text); }

/* ---------- Foto panorámica con tarjeta ---------- */
.ne-view { position: relative; isolation: isolate; padding-top: 48px; padding-bottom: 48px; }
.ne-view::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; z-index: -1; height: 156px; background: #f3faff; }
.ne-view__head { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 0 !important; }
.ne-view__title { max-width: 856px; margin: 0 !important; }
.ne-view__title > .ne-eyebrow { margin: 0 !important; }
.ne-view__title .ne-h2 { margin-top: 16px !important; }
.ne-view__actions { flex: 0 0 auto; margin: 0 !important; }
.ne-view__media { position: relative; margin: 25px 0 0 !important; }
.ne-view__img { margin: 0 !important; }
.ne-view__img img { width: 100%; height: 500px !important; object-fit: cover; border-radius: 5px; background: #f0f0f0; }
.ne-view__caption {
  position: absolute;
  left: 129px;
  right: 130px;
  bottom: -30px;
  margin: 0 !important;
  padding: 20px;
  border-radius: 8px;
  background: var(--ne-white);
  box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
  font-size: 18px;
  font-weight: 700;
  line-height: 34px;
  text-align: center;
  color: var(--ne-teal);
}

/* ---------- Equipo ---------- */
.entry-content > .ne-media + .ne-team { margin-top: 168px !important; }
.ne-team { display: grid; grid-template-columns: 526px minmax(0, 746px); column-gap: 24px; justify-content: space-between; padding-top: 96px; padding-bottom: 96px; background: #f8f8f8; }
.ne-team__text { display: flex; flex-direction: column; margin: 0 !important; }
.ne-team__title { margin: 0 !important; font-family: var(--ne-font); font-size: 40px; font-weight: 600; line-height: 48px; color: var(--ne-teal); }
.ne-team__text .ne-copy { margin-top: auto !important; padding-top: 48px; }
.ne-team__text .wp-block-buttons { margin-top: 24px !important; }
.ne-team__grid { display: grid; grid-template-columns: 288fr 252fr 158fr; gap: 24px; margin: 0 !important; }
.ne-team__col { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; min-height: 566px; margin: 0 !important; }
.ne-member__img { margin: 0 !important; }
.ne-member__img img { width: 100%; object-fit: cover; border-radius: 8px; }
.ne-member__img--a img { height: 323px !important; }
.ne-member__img--b img { height: 270px !important; }
.ne-member__img--c img { height: 191px !important; }
.ne-member { display: flex; flex-direction: column; justify-content: flex-end; margin: 0 !important; padding: 14px; border-radius: 8px; color: var(--ne-teal); }
.ne-member--sky { min-height: 191px; background: #87ceeb; }
.ne-member--dark { min-height: 270px; background: #003349; color: var(--ne-white); }
.ne-member--blue { min-height: 350px; background: #2d89b8; }
.ne-member { position: relative; }
.ne-member__icon { position: absolute !important; top: 0; right: 0; margin: 0 !important; opacity: .35; }
.ne-member__icon img { width: 96px; height: 109px !important; object-fit: contain; }
.ne-member--blue .ne-member__icon img { width: 60px; height: 70px !important; }
.ne-member__photo { position: relative; margin: 0 !important; }
.ne-member__photo .ne-member__img { margin: 0 !important; }
.ne-member__link { position: absolute; left: 14px; bottom: 14px; margin: 0 !important; }
.ne-member__link .wp-block-button__link { min-height: 42px !important; padding: 0 18px !important; font-size: 14px !important; }
.ne-member__name { margin: 0 !important; font-family: var(--ne-font); font-size: 16px; font-weight: 700; line-height: 22.4px; color: inherit; }
.ne-member__role { margin: 0 !important; font-size: 12px; font-weight: 700; line-height: 16px; color: inherit; }
.ne-member__bio { margin: 0 !important; font-size: 16px; line-height: 22.4px; color: inherit; }

/* ---------- Collage de 3 fotos + pasos ---------- */
.ne-collage3 { display: grid; grid-template-columns: 630px minmax(0, 600px); column-gap: 24px; justify-content: space-between; align-items: start; padding-top: 96px; padding-bottom: 96px; }
.ne-collage3__photos { position: relative; height: 638px; margin: 0 !important; }
.ne-collage3__photos > * { position: absolute !important; margin: 0 !important; }
.ne-collage3__img img { width: 100%; height: 100% !important; object-fit: cover; border-radius: 5px; }
.ne-collage3__img--1 { left: 0; top: 0; width: 355px; height: 284px; }
.ne-collage3__img--2 { left: 335px; top: 201px; width: 295px; height: 236px; }
.ne-collage3__img--3 { left: 98px; top: 328px; width: 355px; height: 284px; }
.ne-collage3__note { z-index: 2; width: 273px; padding: 24px; border-radius: 5px; background: var(--ne-ice); font-size: 16px; font-weight: 700; line-height: 22.4px; color: var(--ne-teal); }
.ne-collage3__note--1 { left: 299px; top: 64px; }
.ne-collage3__note--2 { left: 0; top: 500px; }
.ne-collage3__text { margin: 0 !important; padding-top: 56px; }
.ne-collage3__title { margin: 0 0 48px !important; font-family: var(--ne-font); font-size: 48px; font-weight: 500; line-height: 52.8px; color: var(--ne-teal); }
.ne-collage3__text .ne-check { margin-top: 16px !important; }
.ne-collage3__text .ne-collage3__title + .ne-check { margin-top: 0 !important; }

/* ---------- Texto + mapa ---------- */
.ne-areas { display: grid; grid-template-columns: minmax(0, 636px) 636px; column-gap: 24px; justify-content: space-between; align-items: stretch; padding-top: 48px; padding-bottom: 48px; }
.ne-areas__text { margin: 0 !important; padding: 24px; border-radius: 5px; background: var(--ne-panel); }
.ne-areas__text > .ne-eyebrow { margin: 0 !important; }
.ne-areas__text .ne-copy { margin-top: 48px !important; }
.ne-areas__map { margin: 0 !important; }
.ne-map { overflow: hidden; border-radius: 5px; background: var(--ne-mist); }
.ne-map iframe { display: block; width: 100%; height: 100%; border: 0; }

/* ---------- Contacto ---------- */
.ne-ccards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 48px; padding-bottom: 48px; }
.ne-ccard { box-sizing: border-box; min-height: 322px; margin: 0 !important; padding: 25px 25px 25px 121px; border: 1px solid var(--ne-sky); border-radius: 5px; background: #f3fbfe; }
.ne-ccard--center { display: flex; flex-direction: column; justify-content: center; }
.ne-ccard__title { margin: 0 !important; font-family: var(--ne-font); font-size: 20px; font-weight: 500; line-height: 32px; color: var(--ne-teal); }
.ne-ccard__text { margin: 24px 0 0 !important; font-size: 20px; line-height: 32px; color: var(--ne-gray-text); }
.ne-ccard__line { margin: 0 !important; font-size: 20px; line-height: 32px; color: var(--ne-gray-text); }
.ne-ccard__text + .ne-ccard__line { margin-top: 24px !important; }
.ne-ccard__line strong { margin-right: 20px; font-weight: 700; }
.ne-ccard__line a { color: var(--ne-blue); text-decoration: none; }
.ne-ccard__mail { margin: 26px 0 0 !important; font-size: 18px; line-height: 27px; }
.ne-ccard__mail a { color: var(--ne-teal); text-decoration: none; }
.ne-ccard a:hover { text-decoration: underline; }

.ne-form { display: grid; grid-template-columns: minmax(0, 636px) 636px; column-gap: 24px; justify-content: space-between; align-items: stretch; padding-top: 48px; padding-bottom: 48px; }
.ne-form__text { margin: 0 !important; padding: 24px; border-radius: 5px; background: var(--ne-panel); }
.ne-form__text > .ne-eyebrow { margin: 0 !important; }
.ne-form__text .ne-h2 { margin-top: 16px !important; }
.ne-form__img { margin: 0 !important; }
.ne-form__img img { width: 100%; height: 100% !important; min-height: 600px; object-fit: cover; border-radius: 5px; }

.ne-cform { margin-top: 25px; }
.ne-cform__field, .ne-cform__stage { margin: 0 0 24px; }
.ne-cform__field label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 500; line-height: 21px; color: var(--ne-teal); }
.ne-cform__stage label, .ne-cform__group legend { display: block; margin-bottom: 8px; padding: 0; font-size: 16px; font-weight: 400; line-height: 24px; color: var(--ne-ink); }
.ne-cform input[type="text"], .ne-cform input[type="email"], .ne-cform input[type="tel"], .ne-cform select, .ne-cform textarea {
  width: 100%;
  min-height: 48px;
  padding: 12px 20px;
  border: 1px solid var(--ne-soft-text);
  border-radius: 50px;
  background: var(--ne-white);
  color: #4f4f4f;
  font: 14px/21px var(--ne-font);
}
.ne-cform select {
  -webkit-appearance: none;
  appearance: none;
  padding-right: 48px;
  background: var(--ne-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 20px center / 16px no-repeat;
  cursor: pointer;
}
.ne-cform textarea { display: block; height: 120px; min-height: 120px; border-radius: 25px; resize: vertical; }
.ne-cform ::placeholder { color: #9e9e9e; }
.ne-cform input:focus, .ne-cform select:focus, .ne-cform textarea:focus { outline: 2px solid var(--ne-sky); outline-offset: 1px; }
.ne-cform__group { margin: 0 0 36px; padding: 0; border: 0; }
.ne-cform__group legend { margin-bottom: 16px; }
.ne-cform__checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); grid-auto-flow: column; gap: 12px 14px; }
.ne-cform__check { display: flex !important; align-items: center; gap: 16px; margin: 0 !important; font-size: 14px !important; font-weight: 400 !important; line-height: 21px; color: #333 !important; cursor: pointer; }
.ne-cform__check input { flex: 0 0 auto; width: 24px; height: 24px; margin: 0; border-radius: 4px; accent-color: var(--ne-teal); }
.ne-cform__hp { position: absolute !important; left: -9999px; }
.ne-cform__submit { margin: 48px 0 0; }
.ne-cform__submit .wp-block-button__link { min-width: 214px; }
.ne-form__notice { margin: 16px 0 0; padding: 14px 20px; border-radius: 12px; font-size: 15px; }
.ne-form__notice--ok { background: #e7f6ec; color: #1e6b3a; }
.ne-form__notice--error { background: #fdecec; color: #9b1c1c; }

/* ---------- Texto legal ---------- */
.ne-legal { padding-top: 48px; padding-bottom: 96px; }
.ne-legal > * { max-width: 746px; }
.ne-legal__p { margin: 0 0 24px !important; font-size: 16px; line-height: 24px; color: var(--ne-gray-text); }
.ne-legal__h { margin: 0 0 20px !important; font-family: var(--ne-font); font-size: 32px; font-weight: 700; line-height: 42px; color: var(--ne-teal); }

/* ==========================================================================
   Tablet
   ========================================================================== */
@media (max-width: 1199px) {
  .ne-banner__box { grid-template-columns: 1fr; gap: 32px; padding: 40px 40px 0; }
  .ne-banner__box::before { bottom: 120px; }
  .ne-pbanner, .ne-pbanner--reverse { grid-template-columns: 1fr; row-gap: 0; padding-left: var(--ne-pad); padding-right: var(--ne-pad); }
  .ne-pbanner--reverse .ne-pbanner__img { order: 0; }
  .ne-pbanner__img img { height: 420px !important; }
  .ne-media, .ne-media--reverse, .ne-highlights, .ne-team, .ne-collage3, .ne-areas, .ne-form, .ne-problem, .ne-infra { grid-template-columns: 1fr; row-gap: 40px; }
  .ne-media--reverse .ne-media__img { order: 0; }
  .ne-media__text { padding-top: 0; }
  .ne-cards > *, .ne-cards__panel > * { max-width: none; }
  .ne-cards__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ne-care__viewport { margin-left: 0; }
  .ne-care__slide { grid-template-columns: 1fr 1fr; column-gap: 32px; }
  .ne-feature { grid-template-columns: 1fr 1fr; }
  .ne-feature__media { height: 520px; }
  .ne-feature__body { padding: 32px; }
  .ne-highlights__items { padding-left: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ne-biggrid__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 360px; }
  .ne-tile--wide { grid-column: 1 / -1; grid-row: auto; }
  .ne-tile--short:nth-last-child(2), .ne-tile--short:last-child { grid-column: auto; grid-row: auto; }
  .ne-problem__img img { height: 420px !important; }
  .ne-infra__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ne-team__text .ne-copy { margin-top: 24px !important; padding-top: 0; }
  .ne-collage3__photos { max-width: 630px; }
  .ne-ccard { padding: 32px 40px; }
}

/* ==========================================================================
   Móvil (medidas del sitio de referencia a 375 px)
   ========================================================================== */
@media (max-width: 767px) {
  .ne-eyebrow--lg { font-size: 20px; line-height: 22px; }
  .ne-h2 { font-size: 24px; line-height: 26.4px; }
  .ne-h2--light { font-size: 32px; line-height: 35.2px; }
  .ne-copy { font-size: 16px; line-height: 24px; }
  .ne-check { font-size: 16px; line-height: 24px; }
  .ne-check::before { top: -10px; }
  .ne-check::after { top: 2px; }

  /* Banner oscuro */
  .ne-banner__box { grid-template-columns: 1fr; row-gap: 48px; padding: 16px 20px 0 16px; }
  .ne-banner__box::before { bottom: 154px; }
  .ne-banner__eyebrow { font-size: 16px; line-height: 24px; }
  .ne-banner__title, .ne-pbanner__title, .ne-hbanner__title { font-size: 48px; line-height: 52.8px; }
  .ne-banner__img { margin-left: 4px !important; }
  .ne-banner__img img { height: 175px !important; }

  /* Banner con foto: la foto pasa al fondo, aclarada */
  .ne-pbanner, .ne-pbanner--reverse { position: relative; grid-template-columns: 1fr; min-height: 526px; padding-left: 12px; padding-right: 12px; overflow: hidden; }
  .ne-pbanner__img { position: absolute !important; inset: 0; z-index: 0; }
  .ne-pbanner__img img { height: 100% !important; border-radius: 0; }
  .ne-pbanner::after { content: ""; position: absolute; inset: 0; z-index: 1; background: rgba(255, 255, 255, .84); pointer-events: none; }
  .ne-pbanner__text { position: relative; z-index: 2; padding: 40px 0; }
  .ne-pbanner__eyebrow { font-size: 16px; line-height: 24px; }
  .ne-pbanner__desc { font-size: 16px; line-height: 24px; }
  .ne-hbanner { min-height: 526px; padding-top: 48px; }
  .ne-hbanner::after { background: linear-gradient(180deg, rgba(13, 61, 74, .88) 0%, rgba(13, 61, 74, .6) 100%); }
  .ne-hbanner__eyebrow { font-size: 16px; line-height: 24px; }

  /* Imagen + texto */
  .ne-media, .ne-media--reverse { grid-template-columns: 1fr; row-gap: 24px; padding-top: 24px; padding-bottom: 48px; }
  .ne-media__img img, .ne-media--tall .ne-media__img img, .ne-media--reverse .ne-media__img img { height: 198px !important; }
  .ne-media__text { padding-top: 0; }
  .ne-media--reverse .ne-media__img { order: 2; }
  .ne-media--boxed { padding-top: 48px; padding-bottom: 48px; }
  .ne-media--boxed .ne-media__img { min-height: 198px; }
  .ne-compare__switch { top: 12px; left: 12px; font-size: 14px; }

  /* Tarjetas */
  .ne-cards { padding: 64px 28px 48px; }
  .ne-cards > .ne-eyebrow { margin-top: 0 !important; }
  .ne-cards__grid { grid-template-columns: 1fr; gap: 53px; margin-top: 32px !important; }
  .ne-card2__img img { height: 399px !important; }
  .ne-card2__title { font-size: 16px; line-height: 24px; }
  .ne-cards--overlay { padding: 48px 12px; }
  .ne-cards__panel { padding: 16px; }
  .ne-cards--overlay .ne-cards__grid { gap: 48px; }

  /* Proceso */
  .ne-care__viewport { margin-left: 0; }
  .ne-care__slide { grid-template-columns: 1fr; row-gap: 24px; }
  .ne-care__img img { height: 197px !important; }
  .ne-care__text { padding-top: 0; }
  .ne-care__title { font-size: 40px; line-height: 44px; }
  .ne-care__text .ne-eyebrow { font-size: 16px; line-height: 24px; }
  .ne-care .ne-process__controls { position: static; justify-content: center; margin-top: 24px; transform: none; }
  .ne-care .ne-process__count { width: 65px; height: 65px; font-size: 16px; }

  /* Etapas: tarjeta primero, foto debajo */
  .ne-feature { grid-template-columns: 1fr; grid-template-rows: none; padding-top: 48px; padding-bottom: 48px; }
  .ne-feature__head { grid-column: 1; grid-row: 1; }
  .ne-feature__body { grid-column: 1; grid-row: 2; margin-top: 48px !important; }
  .ne-feature__media { grid-column: 1; grid-row: 3; height: 277px; margin-top: 24px !important; }
  .ne-feature__title { font-size: 32px; line-height: 35.2px; }
  .ne-feature__body { padding: 53px; }
  .ne-feature--plain .ne-feature__body { padding: 0; }
  .ne-feature--plain { grid-template-rows: none; padding-top: 48px; padding-bottom: 48px; }
  .ne-feature--plain .ne-feature__head { grid-row: 1; }
  .ne-feature--plain .ne-feature__body { grid-row: 2; margin-top: 24px !important; }
  .ne-feature--plain .ne-feature__media { grid-row: 3; height: 277px; }
  .ne-feature__body .ne-copy { font-size: 16px; line-height: 24px; }

  /* Franja con 3 puntos */
  .ne-highlights { grid-template-columns: 1fr; row-gap: 24px; }
  .ne-highlights__items { grid-template-columns: 1fr; row-gap: 48px; padding-left: 0; }
  .ne-highlight { padding-top: 54px; }
  .ne-highlight::before { width: 52px; height: 54px; left: calc(50% - 26px); }
  .ne-highlight + .ne-highlight::after { display: none; }

  /* Mosaico */
  .ne-biggrid { padding-bottom: 48px; }
  .ne-biggrid__grid { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-rows: auto; }
  .ne-tile { height: 351px; }
  .ne-tile--wide, .ne-tile--short { grid-column: auto !important; grid-row: auto !important; height: 250px; }
  .ne-tile__eyebrow { font-size: 20px; line-height: 22px; }
  .ne-tile__title { margin-top: 16px !important; font-size: 24px; line-height: 26.4px; }
  .ne-stat__num { font-size: 40px; line-height: 44px; }
  .ne-stat__label { margin: 0 !important; font-size: 16px; line-height: 24px; }
  .ne-tile__box { left: 0; width: auto; min-height: 125px; padding: 24px; }
  .ne-tile__quote { font-size: 20px; line-height: 22px; }

  /* Foto + lista */
  .ne-problem { grid-template-columns: 1fr; row-gap: 24px; }
  .ne-problem__img img { height: 360px !important; }
  .ne-problem__item { grid-template-columns: 88px minmax(0, 1fr); column-gap: 32px; }
  .ne-problem__item::after { display: none; }
  .ne-problem__text { margin-top: 8px !important; font-size: 16px; line-height: 24px; }

  /* Texto + 4 tarjetas */
  .ne-infra { grid-template-columns: 1fr; row-gap: 40px; padding-top: 48px; padding-bottom: 48px; }
  .ne-infra__grid { grid-template-columns: 1fr; row-gap: 20px; }
  .ne-icard:nth-child(odd) { transform: none; }
  .ne-icard__text { font-size: 14px; line-height: 19.6px; }

  /* Galería */
  .ne-gallery { display: flex; flex-direction: column; padding-top: 48px; padding-bottom: 48px; }
  .ne-gallery__head { order: 1; }
  .ne-gallery__nav { order: 2; }
  .ne-gallery__viewport, .ne-gallery > .ne-gallery__track { order: 3; margin-top: 24px; }
  .ne-gallery__head { padding-right: 12px; }
  .ne-gallery__nav { position: static; padding: 24px 0 0; }
  .ne-gallery__track { margin-top: 24px !important; }
  .ne-gallery__img { flex-basis: 265px; }
  .ne-gallery__img img { width: 265px; height: 265px !important; }

  /* Imagen grande y vista panorámica */
  .ne-showcase::before { height: 300px; }
  .ne-showcase__img img { height: 260px !important; }
  .ne-view__head { flex-direction: column; align-items: flex-start; }
  .ne-view__img img { height: 280px !important; }
  .ne-view__caption { position: relative; left: auto; right: auto; bottom: auto; margin: -40px 16px 0 !important; font-size: 16px; line-height: 26px; }

  /* Equipo: tarjetas apiladas */
  .ne-team { grid-template-columns: 1fr; row-gap: 24px; padding-top: 48px; padding-bottom: 48px; }
  .entry-content > .ne-media + .ne-team { margin-top: 48px !important; }
  .ne-team__title { font-size: 32px; line-height: 35.2px; }
  .ne-team__text .ne-copy { margin-top: 0 !important; padding-top: 0; font-size: 16px; line-height: 24px; }
  .ne-team__grid { display: flex; flex-direction: column; gap: 24px; }
  .ne-team__col { display: contents; }
  .ne-member__img { display: none; }
  .ne-member--sky, .ne-member--dark, .ne-member--blue { min-height: 300px; }
  .ne-member__name { font-size: 14px; line-height: 19.6px; }
  .ne-member__bio { font-size: 14px; line-height: 19.6px; }

  /* Collage: texto primero y fotos a escala */
  .ne-collage3 { grid-template-columns: 1fr; row-gap: 56px; padding-top: 48px; padding-bottom: 48px; }
  .ne-collage3__text { order: -1; padding-top: 0; }
  .ne-collage3__title { margin-bottom: 48px !important; font-size: 32px; line-height: 35.2px; }
  .ne-collage3__text .ne-check { margin-top: 16px !important; }
  .ne-collage3__photos { height: 433px; }
  .ne-collage3__img--1 { left: 0; top: 0; width: 65%; height: 183px; }
  .ne-collage3__img--2 { left: 46%; top: 151px; width: 53%; height: 148px; }
  .ne-collage3__img--3 { left: 12%; top: 250px; width: 65%; height: 183px; }
  .ne-collage3__note { width: 48%; padding: 12px; font-size: 14px; line-height: 19.6px; }
  .ne-collage3__note--1 { left: 43%; top: 38px; }
  .ne-collage3__note--2 { left: 5%; top: 336px; }

  /* Texto + mapa */
  .ne-areas { grid-template-columns: 1fr; row-gap: 24px; }
  .ne-areas__map .ne-map { height: 324px !important; }

  /* Contacto */
  .ne-ccards { grid-template-columns: 1fr; gap: 0; }
  .ne-ccard { min-height: 0; padding: 25px 24px 25px 121px; }
  .ne-ccard__title { font-size: 18px; line-height: 25.2px; }
  .ne-ccard__text, .ne-ccard__line { font-size: 18px; line-height: 25.2px; }
  .ne-form { grid-template-columns: 1fr; row-gap: 0; }
  .ne-form__img img { height: 555px !important; min-height: 0; }
  .ne-cform__checks { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
}

/* ==========================================================================
   Dentro del editor: todo visible para editar
   ========================================================================== */
.editor-styles-wrapper .ne-feature__media { height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.editor-styles-wrapper .ne-feature__media > .ne-feature__img { position: static !important; visibility: visible; }
.editor-styles-wrapper .ne-care__track { flex-direction: column; gap: 24px; margin-left: 0 !important; }
.editor-styles-wrapper .ne-gallery__track { flex-wrap: wrap; }
.editor-styles-wrapper .ne-collage3__photos { height: auto; display: grid; gap: 12px; }
.editor-styles-wrapper .ne-collage3__photos > * { position: static !important; width: auto !important; height: auto !important; }
.editor-styles-wrapper .ne-compare__before { position: static !important; opacity: 1; }
