/* ============================================================
   Zemsania Landings DTA — Stylesheet
   Medidas tomadas del diseño de Figma (frame 1440 · contenido 1200)
   ============================================================ */

/* ── Tokens ──────────────────────────────────────────────────── */
:root{
  --zld-white:#fff;
  --zld-cream:#FAF8F5;
  --zld-dark:#141414;
  --zld-orange:#F15C2B;
  --zld-orange-end:#F18822;
  --zld-grey:#5E5E5E;
  --zld-border:#E8E3DC;
  --zld-ink:#141414;
  --zld-radius:16px;
  --zld-radius-lg:20px;
  --zld-container:1200px;
  --zld-section-px:120px;
  --zld-font:'Inter',sans-serif;

  /* Altura de la cabecera del tema. Si la cabecera es fija y tapa el
     comienzo de la landing, sube este valor; si sobra aire, bájalo. */
  --zld-header-h:96px;
}

/* ── Reset acotado a la landing ──────────────────────────────── */
.zld-main,.zld-main *,.zld-main *::before,.zld-main *::after,
.zld-modal,.zld-modal *,.zld-modal *::before,.zld-modal *::after{
  box-sizing:border-box;
}
body.zld-landing .zld-main{
  font-family:var(--zld-font);
  font-size:16px;
  line-height:1.6;
  color:var(--zld-ink);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
.zld-main img{max-width:100%;height:auto;display:block}
/* Nota: las imágenes con medida propia llevan el prefijo .zld-main en sus
   reglas para poder fijar alto por encima del height:auto de arriba. */
.zld-main ul,.zld-main ol{list-style:none;margin:0;padding:0}
body.zld-landing .zld-main h1,
body.zld-landing .zld-main h2,
body.zld-landing .zld-main h3,
body.zld-landing .zld-main h4,
body.zld-landing .zld-main p{margin:0;padding:0;color:inherit}
body.zld-landing .zld-main a{color:inherit;text-decoration:none}

/* ── Contenedor ──────────────────────────────────────────────── */
.zld-container{
  width:100%;
  max-width:calc(var(--zld-container) + var(--zld-section-px) * 2);
  margin:0 auto;
  padding:0 var(--zld-section-px);
}

/* ── Color de títulos ─────────────────────────────────────────────
   El tema padre pinta los títulos con un degradado recortado al texto.
   Aquí se anula en TODOS los títulos de la landing MENOS el del hero,
   para que usen el color real de la landing (#141414), no el del tema.
   ──────────────────────────────────────────────────────────────── */
body.zld-landing .zld-main h2:not(.zld-hero__h1):not(.zld-descargable__title):not(.zld-form__title),
body.zld-landing .zld-main h3:not(.zld-hero__h1):not(.zld-descargable__title):not(.zld-form__title),
body.zld-landing .zld-main h4:not(.zld-hero__h1):not(.zld-descargable__title):not(.zld-form__title){
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  -webkit-text-fill-color:currentColor !important;
  color:var(--zld-ink);
}
/* Títulos sobre banda oscura (descargable) y banda naranja (formulario): blancos */
body.zld-landing .zld-main h2.zld-descargable__title,
body.zld-landing .zld-main h2.zld-form__title{
  background:none !important;
  -webkit-background-clip:border-box !important;
  background-clip:border-box !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ── Tipografía compartida ───────────────────────────────────── */
body.zld-landing .zld-main .zld-eyebrow{
  font-size:14px;
  font-weight:600;
  letter-spacing:0.84px;
  line-height:1.2;
  color:var(--zld-orange);
}
body.zld-landing .zld-main .zld-section__title{
  font-size:34px;
  font-weight:600;
  line-height:1.2;
  color:var(--zld-ink);
}
.zld-section-header{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-width:760px;
  margin-bottom:40px;
}

/* ── Botones ─────────────────────────────────────────────────── */
body.zld-landing .zld-main .zld-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font-family:var(--zld-font);
  font-size:16px;
  font-weight:600;
  line-height:1;
  border:none;
  border-radius:100px;
  padding:16px 30px;
  cursor:pointer;
  transition:background .25s,color .25s,border-color .25s;
}
body.zld-landing .zld-main .zld-btn--primary{background:var(--zld-orange);color:#fff}
body.zld-landing .zld-main .zld-btn--primary:hover{background:#d94e1f}
body.zld-landing .zld-main .zld-btn--dark{background:var(--zld-dark);color:#fff}
body.zld-landing .zld-main .zld-btn--dark:hover{background:#2f2f2f}
body.zld-landing .zld-main .zld-btn--ghost{
  background:transparent;
  border:1.5px solid var(--zld-border);
  color:var(--zld-ink);
  padding:14.5px 28.5px;
}
body.zld-landing .zld-main .zld-btn--ghost:hover{border-color:var(--zld-orange);color:var(--zld-orange)}

body.zld-no-scroll{overflow:hidden}

/* ── Figuras decorativas ─────────────────────────────────────────
   Formas y colores tomados de Figma (hexágonos de contorno naranja,
   anillos, cruces y puntos). Van dentro de cada sección, sobre el
   fondo y bajo el contenido. Se ocultan en tablet y móvil.
   ──────────────────────────────────────────────────────────────── */
.zld-landing-wrap{position:relative;overflow:hidden}
.zld-main section{position:relative}
.zld-main section > .zld-container{position:relative;z-index:1}

.zld-deco-layer{
  position:absolute;
  inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}
.zld-deco{position:absolute;background-repeat:no-repeat;background-size:100% 100%}

/* Hexágono flat-top con vértices redondeados (exportado de Figma).
   Grande = contorno #F57342 al 13 %. viewBox 0 0 100 86.6, se estira a la caja. */
.zld-deco--hex{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 86.6' preserveAspectRatio='none'%3E%3Cpath d='M96.25,49.80 L78.75,80.11 Q75.00,86.60 67.50,86.60 L32.50,86.60 Q25.00,86.60 21.25,80.11 L3.75,49.80 Q0.00,43.30 3.75,36.80 L21.25,6.49 Q25.00,-0.00 32.50,-0.00 L67.50,-0.00 Q75.00,-0.00 78.75,6.49 L96.25,36.80 Q100.00,43.30 96.25,49.80 Z' fill='none' stroke='%23F57342' stroke-opacity='0.13' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
/* Hexágono pequeño de acento — #F18822 al 22 % */
.zld-deco--hex-sm{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 86.6' preserveAspectRatio='none'%3E%3Cpath d='M96.25,49.80 L78.75,80.11 Q75.00,86.60 67.50,86.60 L32.50,86.60 Q25.00,86.60 21.25,80.11 L3.75,49.80 Q0.00,43.30 3.75,36.80 L21.25,6.49 Q25.00,-0.00 32.50,-0.00 L67.50,-0.00 Q75.00,-0.00 78.75,6.49 L96.25,36.80 Q100.00,43.30 96.25,49.80 Z' fill='none' stroke='%23F18822' stroke-opacity='0.22' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E");
}
/* Anillo de contorno — #F18822 al 20 % */
.zld-deco--ring{
  border:1.5px solid rgba(241,136,34,0.20);
  border-radius:50%;
}
/* Cruz — dos barras #F18822 al 45 % */
.zld-deco--plus::before,
.zld-deco--plus::after{
  content:'';
  position:absolute;
  background:rgba(241,136,34,0.45);
  border-radius:1px;
}
.zld-deco--plus::before{left:0;top:45.5%;width:100%;height:9%}
.zld-deco--plus::after{top:0;left:45.5%;height:100%;width:9%}
/* Columna de puntos — gris cálido #B3ADA6 al 55 % */
.zld-deco--dots{
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3 48'%3E%3Cg fill='%23B3ADA6' fill-opacity='0.55'%3E%3Ccircle cx='1.4' cy='1.4' r='1.4'/%3E%3Ccircle cx='1.4' cy='10.4' r='1.4'/%3E%3Ccircle cx='1.4' cy='19.4' r='1.4'/%3E%3Ccircle cx='1.4' cy='28.4' r='1.4'/%3E%3Ccircle cx='1.4' cy='37.4' r='1.4'/%3E%3Ccircle cx='1.4' cy='46.4' r='1.4'/%3E%3C/g%3E%3C/svg%3E");
}

/* Posiciones y tamaños exactos (caja AABB real de Figma, referencia 1440) */
.zld-hero        .zld-deco--hex {right:-443px;top:-132px;width:594px;height:594px}
.zld-hero        .zld-deco--ring{left:-42px;top:352px;width:108px;height:108px}
.zld-retos       .zld-deco--hex {left:-150px;top:-14px;width:349px;height:349px}
.zld-retos       .zld-deco--plus{right:52px;top:555px;width:22px;height:22px}
.zld-alcance     .zld-deco--hex {right:-294px;top:83px;width:464px;height:464px}
.zld-alcance     .zld-deco--hex-sm{left:-10px;top:339px;width:90px;height:90px}
.zld-alcance     .zld-deco--plus{right:84px;top:554px;width:22px;height:22px}
.zld-valor       .zld-deco--hex {left:-165px;top:368px;width:410px;height:410px}
.zld-valor       .zld-deco--dots{right:65px;top:422px;width:3px;height:48px}
.zld-metodologia .zld-deco--ring{left:-14px;bottom:-45px;width:108px;height:108px}

/* ============================================================
   HERO  — texto 756 · gap 64 · imagen 380×480
   ============================================================ */
.zld-hero{
  padding:calc(var(--zld-header-h) + 44px) 0 72px;
  background:var(--zld-white);
}

/* Sub-nav tipo breadcrumb */
.zld-subnav{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-bottom:48px;
}
body.zld-landing .zld-main .zld-subnav__label{
  font-size:13px;
  font-weight:600;
  letter-spacing:0.4px;
  background:linear-gradient(90deg,var(--zld-orange),var(--zld-orange-end));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}
.zld-subnav__sep,.zld-subnav__dot{font-size:13px;font-weight:500;color:#b8b1a7}
body.zld-landing .zld-main .zld-subnav__link{
  font-size:13px;
  font-weight:500;
  color:var(--zld-grey);
  transition:color .2s;
}
body.zld-landing .zld-main .zld-subnav__link:hover{color:var(--zld-ink)}
body.zld-landing .zld-main .zld-subnav__link.is-active{
  font-weight:600;
  background:linear-gradient(90deg,var(--zld-orange),var(--zld-orange-end));
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.zld-hero__inner{
  display:flex;
  align-items:flex-start;
  gap:64px;
}
.zld-hero__content{
  flex:1 1 756px;
  min-width:0;
  display:flex;
  flex-direction:column;
}
.zld-hero__media{
  flex:0 0 380px;
  width:380px;
}
.zld-main .zld-hero__img{
  width:380px;
  height:480px;
  object-fit:cover;
  border-radius:var(--zld-radius-lg);
}

body.zld-landing .zld-main .zld-hero__h1{
  font-size:50px;
  font-weight:700;
  line-height:1.12;
  letter-spacing:-0.5px;
  color:var(--zld-ink);
  margin-bottom:28px;
}
body.zld-landing .zld-main .zld-hero__lead{
  font-size:19px;
  font-weight:400;
  line-height:1.58;
  color:var(--zld-ink);
  margin-bottom:20px;
}
body.zld-landing .zld-main .zld-hero__lead2{
  font-size:17px;
  font-weight:400;
  line-height:1.58;
  color:var(--zld-grey);
  margin-bottom:26px;
}
body.zld-landing .zld-main .zld-hero__chips-label{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.48px;
  color:var(--zld-grey);
  margin-bottom:10px;
}
body.zld-landing .zld-main .zld-hero__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:40px;
}
.zld-chip{
  display:inline-flex;
  align-items:center;
  gap:7px;
  font-size:13px;
  font-weight:500;
  line-height:1;
  padding:8px 14px 8px 13px;
  border-radius:100px;
  background:var(--zld-cream);
  border:1px solid var(--zld-border);
  color:var(--zld-ink);
}
.zld-chip::before{
  content:'';
  width:8px;height:8px;
  flex-shrink:0;
  background:linear-gradient(135deg,var(--zld-orange),var(--zld-orange-end));
  clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);
}
.zld-hero__cta{align-self:flex-start}

/* ============================================================
   DATOS  — 4 cifras de 250 · gap 32 · barra 48×4
   ============================================================ */
.zld-stats{
  padding:40px 0;
  background:linear-gradient(100deg,var(--zld-orange),var(--zld-orange-end));
  color:#fff;
}
.zld-stats__grid{display:flex;flex-wrap:wrap;gap:32px}
.zld-stats__item{flex:0 0 250px;width:250px}
body.zld-landing .zld-main .zld-stats__valor{
  display:block;
  font-size:42px;
  font-weight:700;
  font-style:italic;
  line-height:1.05;
  color:#fff;
}
.zld-stats__bar{
  display:block;
  width:48px;height:4px;
  border-radius:2px;
  background:rgba(255,255,255,.55);
  margin:12px 0;
}
body.zld-landing .zld-main .zld-stats__label{
  display:block;
  font-size:15px;
  font-weight:400;
  line-height:1.4;
  color:rgba(255,255,255,.92);
}

/* ============================================================
   RETO + SOLUCIÓN  — columna 420 · gap 64 · acordeón 716
   ============================================================ */
.zld-retos{padding:72px 0;background:var(--zld-white)}
.zld-retos__layout{
  display:grid;
  grid-template-columns:420px 1fr;
  gap:64px;
  align-items:start;
}
.zld-retos__sidebar{display:flex;flex-direction:column}
.zld-retos__sidebar .zld-eyebrow{margin-bottom:16px}
.zld-retos__media{
  width:100%;
  height:190px;
  border-radius:var(--zld-radius);
  overflow:hidden;
  background:var(--zld-cream);
  margin-bottom:26px;
}
.zld-main .zld-retos__img{width:100%;height:190px;object-fit:cover}
body.zld-landing .zld-main .zld-retos__title{
  font-size:34px;
  font-weight:600;
  line-height:1.2;
  color:var(--zld-ink);
  margin-bottom:22px;
}
body.zld-landing .zld-main .zld-retos__intro{
  font-size:17px;
  font-weight:400;
  line-height:1.55;
  color:var(--zld-grey);
  margin-bottom:26px;
}
.zld-retos__cta{align-self:flex-start}

/* Acordeón: solo título + toggle (como en el diseño) */
.zld-accordion{
  border:1px solid var(--zld-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--zld-white);
}
.zld-accordion__item + .zld-accordion__item{border-top:1px solid var(--zld-border)}
.zld-accordion__trigger{
  display:flex;
  align-items:center;
  gap:16px;
  width:100%;
  padding:24px 28px;
  background:none;
  border:none;
  cursor:pointer;
  text-align:left;
  font-family:var(--zld-font);
}
body.zld-landing .zld-main .zld-accordion__question{
  flex:1;
  font-size:17px;
  font-weight:600;
  line-height:1.35;
  color:var(--zld-ink);
}
.zld-accordion__icon{
  flex-shrink:0;
  width:32px;height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:var(--zld-cream);
  color:var(--zld-orange);
  font-size:20px;
  font-weight:500;
  line-height:1;
  transition:background .2s;
}
.zld-accordion__icon::before{content:'+'}
.zld-accordion__trigger[aria-expanded="true"] .zld-accordion__icon::before{content:'–'}
.zld-accordion__trigger:hover .zld-accordion__icon{background:#F3E7DF}

.zld-accordion__panel[hidden]{display:none}
.zld-accordion__content{
  display:flex;
  gap:15px;
  padding:0 28px 28px;
}
.zld-accordion__content::before{
  content:'';
  flex:0 0 3px;
  width:3px;
  border-radius:2px;
  background:var(--zld-orange);
}
.zld-accordion__body{flex:1;min-width:0}
body.zld-landing .zld-main .zld-accordion__resp-title{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.72px;
  color:var(--zld-orange);
  margin-bottom:8px;
}
body.zld-landing .zld-main .zld-accordion__resp-text{
  font-size:16px;
  line-height:1.5;
  color:var(--zld-grey);
}

/* ============================================================
   PORTALES  — logos centrados
   ============================================================ */
.zld-portales{padding:28px 0;background:var(--zld-white)}
body.zld-landing .zld-main .zld-portales__eyebrow{
  font-size:12px;
  font-weight:600;
  letter-spacing:0.6px;
  color:#A9A299;
  text-align:center;
  margin-bottom:24px;
}
.zld-portales__logos{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:0;
}
.zld-portales__logo{
  width:200px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.zld-main .zld-portales__logo img{
  max-height:45px;
  width:auto;
  filter:grayscale(1);
  opacity:.55;
  transition:opacity .2s,filter .2s;
}
.zld-portales__logo img:hover{filter:none;opacity:1}
.zld-portales__slot{
  width:100px;height:36px;
  border-radius:6px;
  background:var(--zld-cream);
  border:1px dashed var(--zld-border);
}

/* ============================================================
   ALCANCE  — 3 columnas · gap 28 · card pad 27 · icono 36
   ============================================================ */
.zld-alcance{padding:56px 0 72px;background:var(--zld-white)}
.zld-cards{display:grid;gap:28px}
.zld-cards--3col{grid-template-columns:repeat(3,1fr)}
.zld-cards--2col{grid-template-columns:repeat(2,1fr)}
.zld-card{
  display:flex;
  align-items:center;
  gap:16px;
  background:var(--zld-white);
  border:1px solid var(--zld-border);
  border-radius:var(--zld-radius);
  padding:27px;
  transition:box-shadow .25s,border-color .25s;
}
.zld-card:hover{box-shadow:0 6px 24px rgba(20,20,20,.07);border-color:#DCD5CA}
.zld-card__icon{
  flex:0 0 36px;
  width:36px;height:36px;
  color:var(--zld-orange);
}
.zld-card__icon svg{width:100%;height:100%;display:block}
.zld-card__body{flex:1;min-width:0}
body.zld-landing .zld-main .zld-card__title{
  font-size:17px;
  font-weight:600;
  line-height:1.3;
  color:var(--zld-ink);
  margin-bottom:6px;
}
body.zld-landing .zld-main .zld-card__desc{
  font-size:15px;
  font-weight:400;
  line-height:1.48;
  color:var(--zld-grey);
}

/* ============================================================
   VALOR  — imagen 380 · gap 28 · grid 2col gap 24 · icono 42
   ============================================================ */
.zld-valor{padding:56px 0 72px;background:var(--zld-cream)}
.zld-valor__layout{display:flex;gap:28px;align-items:stretch}
.zld-valor__media{
  flex:0 0 380px;
  width:380px;
  border-radius:18px;
  overflow:hidden;
  background:var(--zld-white);
}
.zld-main .zld-valor__media img{width:100%;height:100%;min-height:365px;object-fit:cover}
.zld-valor__grid{
  flex:1;
  min-width:0;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
}
.zld-card--valor{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:14px;
  padding:27px;
  background:var(--zld-white);
}
.zld-card--valor .zld-card__header{display:flex;align-items:center;gap:14px}
.zld-card--valor .zld-card__icon{flex:0 0 42px;width:42px;height:42px}
body.zld-landing .zld-main .zld-card--valor .zld-card__title{
  font-size:19px;
  line-height:1.26;
  margin-bottom:0;
}
body.zld-landing .zld-main .zld-card--valor .zld-card__desc{font-size:15px}

/* ============================================================
   METODOLOGÍA  — 5 pasos · hexágono 54 · línea de unión
   ============================================================ */
.zld-metodologia{padding:48px 0 72px;background:var(--zld-white)}
.zld-steps{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  position:relative;
}
.zld-steps::before{
  content:'';
  position:absolute;
  top:31px;
  left:14%;
  right:14%;
  height:3px;
  border-radius:2px;
  background:var(--zld-border);
}
.zld-step{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding:0 10px;
}
/* Hexágono pointy-top con vértices redondeados y degradado de marca.
   Va como fondo SVG (no clip-path) para que la sombra siga su contorno. */
.zld-step__num{
  display:flex;
  align-items:center;
  justify-content:center;
  width:56px;height:64px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 86.6 100'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23F15C2B'/%3E%3Cstop offset='1' stop-color='%23F18822'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M35.51,5.50 Q43.30,1.00 51.09,5.50 L77.94,21.00 Q85.74,25.50 85.74,34.50 L85.74,65.50 Q85.74,74.50 77.94,79.00 L51.09,94.50 Q43.30,99.00 35.51,94.50 L8.66,79.00 Q0.86,74.50 0.86,65.50 L0.86,34.50 Q0.86,25.50 8.66,21.00 Z' fill='url(%23g)'/%3E%3C/svg%3E") center/100% 100% no-repeat;
  filter:drop-shadow(0 6px 10px rgba(241,92,43,.28));
  color:#fff;
  font-size:21px;
  font-weight:700;
  line-height:1;
  font-variant-numeric:tabular-nums;
  margin-bottom:18px;
}
body.zld-landing .zld-main .zld-step__title{
  font-size:16px;
  font-weight:600;
  line-height:1.3;
  color:var(--zld-ink);
  margin-bottom:12px;
}
body.zld-landing .zld-main .zld-step__desc{
  font-size:14px;
  line-height:1.5;
  color:var(--zld-grey);
}

/* ============================================================
   DESCARGABLE  — banda oscura · texto izquierda · imagen derecha
   ============================================================ */
.zld-descargable{
  padding:44px 0;
  background:var(--zld-dark);
  color:#fff;
  overflow:hidden;
}
.zld-descargable__inner{
  display:flex;
  align-items:center;
  gap:56px;
}
.zld-descargable__text{flex:1;min-width:0}
.zld-descargable__text .zld-eyebrow{margin-bottom:14px}
body.zld-landing .zld-main .zld-descargable__title{
  font-size:30px;
  font-weight:600;
  line-height:1.18;
  color:#fff;
  margin-bottom:14px;
}
body.zld-landing .zld-main .zld-descargable__desc{
  font-size:17px;
  line-height:1.5;
  color:rgba(255,255,255,.82);
  margin-bottom:26px;
}
.zld-descargable__media{flex:0 0 auto}
.zld-main .zld-descargable__img{
  width:auto;
  max-width:300px;
  max-height:217px;
  border-radius:var(--zld-radius);
}

/* ============================================================
   CASOS  — 3 cards con imagen arriba
   ============================================================ */
.zld-casos{padding:64px 0;background:var(--zld-cream)}
.zld-casos__note{
  font-size:14px;
  color:var(--zld-grey);
  margin-bottom:28px;
}
.zld-card--caso{
  display:block;
  padding:0;
  overflow:hidden;
  background:var(--zld-white);
}
.zld-card--caso .zld-card__media{
  width:100%;
  height:180px;
  background:var(--zld-cream);
  overflow:hidden;
}
.zld-main .zld-card--caso .zld-card__media img{width:100%;height:180px;object-fit:cover}
.zld-card--caso .zld-card__body{padding:22px 24px 26px}

/* ============================================================
   FORMULARIO  — banda naranja · izq 536 · gap 64 · der 600
   ============================================================ */
.zld-form{
  padding:64px 0;
  background:linear-gradient(115deg,var(--zld-orange),var(--zld-orange-end));
  color:#fff;
  overflow:hidden;
}
.zld-form__inner{display:flex;gap:64px;align-items:flex-start}
.zld-form__left{flex:0 0 536px;width:536px}
.zld-form__media{
  width:100%;
  height:287px;
  border-radius:var(--zld-radius-lg);
  overflow:hidden;
  background:rgba(255,255,255,.14);
  margin-bottom:20px;
}
.zld-main .zld-form__media img{width:100%;height:287px;object-fit:cover}
body.zld-landing .zld-main .zld-form__title{
  font-size:36px;
  font-weight:700;
  line-height:1.16;
  color:#fff;
  margin-bottom:16px;
}
body.zld-landing .zld-main .zld-form__desc{
  font-size:17px;
  line-height:1.5;
  color:rgba(255,255,255,.92);
}
.zld-form__right{flex:1;min-width:0}
.zld-form__embed{
  background:var(--zld-white);
  border-radius:var(--zld-radius-lg);
  padding:32px;
  box-shadow:0 18px 48px rgba(20,20,20,.16);
  color:var(--zld-ink);
}
.zld-form__placeholder{
  text-align:center;
  padding:48px 16px;
  color:var(--zld-grey);
  font-size:14px;
}
body.zld-landing .zld-main .zld-form__legal{
  font-size:13px;
  line-height:1.45;
  color:rgba(255,255,255,.82);
  margin-top:16px;
}

/* ============================================================
   MODAL
   ============================================================ */
.zld-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.zld-modal[hidden]{display:none}
.zld-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);cursor:pointer}
.zld-modal__dialog{
  position:relative;
  background:var(--zld-white);
  border-radius:var(--zld-radius-lg);
  padding:48px 40px;
  max-width:560px;
  width:100%;
  max-height:90vh;
  overflow-y:auto;
  box-shadow:0 16px 48px rgba(0,0,0,.2);
}
.zld-modal__close{
  position:absolute;
  top:16px;right:16px;
  background:none;border:none;cursor:pointer;
  color:var(--zld-grey);
}
.zld-modal__close:hover{color:var(--zld-ink)}
body.zld-landing .zld-main .zld-modal__title,
.zld-modal__title{font-size:24px;font-weight:700;margin-bottom:12px;color:var(--zld-ink)}
.zld-modal__text{font-size:15px;color:var(--zld-grey);margin-bottom:24px;line-height:1.6}

/* ============================================================
   CABECERA COMÚN Y RITMO VERTICAL
   Reglas únicas para todos los bloques: antetítulo → 12 → título →
   12 → entradilla → 40 → contenido. Secciones claras: 56 px arriba/abajo.
   ============================================================ */
body.zld-landing .zld-main .zld-section-header > *{margin:0}
.zld-section-header{max-width:780px}
body.zld-landing .zld-main .zld-section__intro{
  font-size:18px;
  font-weight:400;
  line-height:1.55;
  color:var(--zld-grey);
}
.zld-retos,.zld-solucion,.zld-alcance,.zld-valor,
.zld-metodologia,.zld-ciclo,.zld-escuelas{padding:56px 0}
.zld-solucion,.zld-valor,.zld-ciclo,.zld-escuelas{background:var(--zld-white);position:relative;overflow:hidden}
.zld-valor--search-services{background:var(--zld-cream)}
body.zld-landing .zld-main .zld-solucion h3,
body.zld-landing .zld-main .zld-valor h3,
body.zld-landing .zld-main .zld-alcance h3,
body.zld-landing .zld-main .zld-ciclo h3,
body.zld-landing .zld-main .zld-escuelas h3,
body.zld-landing .zld-main .zld-solucion p,
body.zld-landing .zld-main .zld-valor p,
body.zld-landing .zld-main .zld-alcance p,
body.zld-landing .zld-main .zld-ciclo p,
body.zld-landing .zld-main .zld-escuelas p{margin:0}
.zld-main .zld-solucion ul,.zld-main .zld-escuelas ul,.zld-main .zld-ciclo ol{list-style:none;margin:0;padding:0}

/* Piezas compartidas */
body.zld-landing .zld-main .zld-panel__label{
  font-size:13px;font-weight:600;letter-spacing:.52px;line-height:1.2;
  color:var(--zld-orange);text-transform:uppercase;
}
body.zld-landing .zld-main .zld-panel__label--sm{font-size:12px;letter-spacing:.48px}
body.zld-landing .zld-main .zld-panel__title{font-size:22px;font-weight:600;line-height:1.22;color:var(--zld-ink)}
.zld-iconbox{display:flex;align-items:center;justify-content:center;flex:none;background:var(--zld-white)}
.zld-iconbox img{display:block;max-width:none}
.zld-iconbox--48{width:48px;height:48px;border-radius:14px}
.zld-iconbox--40{width:40px;height:40px;border-radius:12px}
.zld-iconbox--58{width:58px;height:58px;border-radius:16px;background:var(--zld-cream)}

/* Lista con viñeta hexagonal + check (hex 18 · gap 12) */
.zld-checks{display:flex;flex-direction:column;gap:12px}
.zld-checks li{display:flex;align-items:flex-start;gap:12px;font-size:16px;line-height:1.45;color:var(--zld-ink)}
.zld-checks--dark li{color:rgba(255,255,255,.92)}
.zld-checks__mark{position:relative;flex:0 0 18px;width:18px;height:18px;margin-top:2px}
.zld-main .zld-checks__mark img{position:absolute;left:6.7%;top:2.58%;width:86.6%;height:94.84%}
.zld-checks__mark b{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;line-height:1;color:#fff}

/* ============================================================
   SOLUCIÓN
   ============================================================ */
/* Recruitment — dos paneles 1:1 · gap 28 · radio 20 · pad 36/32 */
.zld-panels{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.zld-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:18px;padding:36px 32px;border-radius:20px;background:var(--zld-cream)}
.zld-panel--dark{background:var(--zld-dark)}
body.zld-landing .zld-main .zld-panel--dark .zld-panel__title{color:#fff !important;-webkit-text-fill-color:#fff !important}
.zld-panel__deco{position:absolute;left:240px;top:-115px;width:204.9px;height:204.9px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.zld-main .zld-panel__deco img{width:129.9px;height:145.67px;max-width:none;transform:rotate(-30deg)}
.zld-panel > *:not(.zld-panel__deco){position:relative}

/* Training Plans — dos tarjetas con foto 150 px */
.zld-wins{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.zld-win{display:flex;flex-direction:column;background:var(--zld-white);border:1px solid var(--zld-border);border-radius:20px;overflow:hidden}
.zld-win__media{height:150px;overflow:hidden;background:linear-gradient(150deg,#F6EFE8 0%,#E6DACD 77%)}
.zld-main .zld-win__media img{width:100%;height:100%;object-fit:cover}
.zld-main .zld-win--empresa .zld-win__media img{object-position:50% 36%}
.zld-main .zld-win--talento .zld-win__media img{object-position:50% 19%}
.zld-win__body{display:flex;flex-direction:column;gap:18px;padding:32px 32px 36px}

/* Onboarding / People Management — pilares con icono */
.zld-pillars{display:grid}
.zld-pillars--4{grid-template-columns:repeat(4,1fr);gap:24px}
.zld-pillars--3{grid-template-columns:repeat(3,1fr);gap:28px}
.zld-pillar{display:flex;flex-direction:column;gap:16px;padding:30px 28px;border-radius:18px;background:var(--zld-cream)}
.zld-pillars--3 .zld-pillar{padding:32px 30px}
body.zld-landing .zld-main .zld-pillar__title{font-size:20px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-pillar__desc{font-size:15px;line-height:1.5;color:var(--zld-grey)}

/* ============================================================
   ALCANCE — fondo crema · 3 × 354 px · gap 28 · icono doble hexágono
   ============================================================ */
.zld-alcance{background:var(--zld-cream)}
.zld-scope{display:grid;grid-template-columns:repeat(3,354px);gap:28px}
.zld-scope__card{display:flex;align-items:center;gap:16px;padding:26px;background:var(--zld-white);border:1px solid var(--zld-border);border-radius:16px}
.zld-main .zld-scope__icon{flex:0 0 36px;width:36px;height:36px}
.zld-scope__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
body.zld-landing .zld-main .zld-scope__title{font-size:18px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-scope__desc{font-size:15px;line-height:1.5;color:var(--zld-grey)}

/* ============================================================
   VALOR DIFERENCIAL — variantes
   ============================================================ */
/* Recruitment — foto + puntos | gráfico RaaS 460 */
.zld-valor--recruitment .zld-deco--plus{right:66px;top:397px;width:22px;height:22px}
.zld-raas{display:flex;gap:42px;align-items:stretch}
.zld-raas__left{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.zld-raas__media{height:120px;border-radius:14px;overflow:hidden;background:linear-gradient(159deg,#F6EFE8 0%,#E6DACD 77%)}
.zld-main .zld-raas__media img{width:100%;height:100%;object-fit:cover}
.zld-raas__point{display:flex;gap:12px;align-items:flex-start;padding:16px 22px;border-radius:14px;background:var(--zld-white)}
.zld-raas__point > div{display:flex;flex-direction:column;gap:4px}
.zld-raas__dot{font-size:18px;font-weight:600;line-height:1.24;color:var(--zld-orange)}
body.zld-landing .zld-main .zld-raas__title{font-size:18px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-raas__desc{font-size:15px;line-height:1.5;color:var(--zld-grey)}
.zld-raas__chart{flex:0 0 460px;width:460px;display:flex;flex-direction:column;gap:20px;padding:32px 32px 28px;background:#FBF2EC;border:1px solid var(--zld-border);border-radius:20px}
.zld-raas__bars{display:flex;align-items:flex-end;justify-content:center;gap:14px}
.zld-raas__col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:8px}
.zld-raas__bar{display:block;width:100%;border-radius:8px}
.zld-raas__month{font-size:12px;font-weight:500;line-height:1.2;color:rgba(94,94,94,.6)}
body.zld-landing .zld-main .zld-raas__note{font-size:14px;line-height:1.45;color:var(--zld-grey);opacity:.8}

/* Onboarding — timeline 30/60/90 */
.zld-valor--onboarding .zld-section-header{margin-bottom:52px}
.zld-milestones{position:relative;display:flex;align-items:stretch}
.zld-milestones::before{content:'';position:absolute;top:28px;left:16.667%;width:66.667%;height:3px;border-radius:2px;background:var(--zld-orange);opacity:.3}
.zld-milestone{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:16px;padding:0 16px;text-align:center}
body.zld-landing .zld-main .zld-milestone__title{font-size:18px;font-weight:600;line-height:1.25;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-milestone__desc{font-size:15px;line-height:1.48;color:var(--zld-grey)}

/* Training Plans — coste 420 | stacks */
.zld-cost{display:flex;gap:28px;align-items:stretch}
.zld-cost__card{position:relative;overflow:hidden;flex:0 0 420px;width:420px;display:flex;flex-direction:column;gap:14px;padding:36px 32px;background:#FBF2EC;border:1px solid var(--zld-border);border-radius:20px}
.zld-cost__deco{position:absolute;left:329px;top:-41px;width:150px;height:150px;pointer-events:none}
.zld-main .zld-cost__deco img{position:absolute;left:6.7%;top:1.44%;width:86.6%;height:97.12%;max-width:none}
.zld-cost__card > *:not(.zld-cost__deco){position:relative}
body.zld-landing .zld-main .zld-cost__big{font-size:40px;font-weight:700;line-height:1.2;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-cost__text{font-size:16px;line-height:24px;color:var(--zld-grey)}
.zld-cost__stacks{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px;padding:36px 34px;background:var(--zld-white);border:1px solid var(--zld-border);border-radius:20px}
.zld-chips{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.zld-chip-text{display:inline-flex;padding:8px 14px;border-radius:100px;background:var(--zld-cream);font-size:14px;font-weight:500;line-height:1.2;color:var(--zld-ink)}
.zld-chip-logo{display:inline-flex;align-items:center;gap:12px;padding:8px 16px;border-radius:100px;background:var(--zld-cream)}
.zld-main .zld-chip-logo img{display:block;object-fit:contain;max-width:none}

/* People Management — puntos | panel Tech Allies 440 */
.zld-allies2{display:flex;gap:28px;align-items:stretch}
.zld-allies2__points{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px}
.zld-allies2__point{display:flex;flex-direction:column;gap:6px;padding:22px 24px;border-radius:14px;background:var(--zld-white)}
body.zld-landing .zld-main .zld-allies2__title{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
.zld-main .zld-allies2__title img{flex:0 0 8px}
body.zld-landing .zld-main .zld-allies2__desc{padding-left:18px;font-size:15px;line-height:1.5;color:var(--zld-grey)}
.zld-allies2__panel{position:relative;overflow:hidden;flex:0 0 440px;width:440px;display:flex;flex-direction:column;gap:18px;padding:32px 32px 36px;background:#F4F2EF;border:1px solid #E6E1DA;border-radius:20px}
.zld-allies2__panel > *:not(.zld-allies2__deco){position:relative}
.zld-allies2__deco{position:absolute;left:313px;top:-114px;width:204.9px;height:204.9px;display:flex;align-items:center;justify-content:center;pointer-events:none}
.zld-main .zld-allies2__deco img{width:129.9px;height:141.96px;max-width:none;transform:rotate(-30deg)}
body.zld-landing .zld-main .zld-allies2__text{font-size:15px;line-height:1.5;color:var(--zld-grey);opacity:.82}
.zld-hexgrid{position:relative;width:374px;height:183px;flex:none}
.zld-hexgrid__item{position:absolute;width:100px;height:100px;display:flex;align-items:center;justify-content:center}
.zld-main .zld-hexgrid__hex{position:absolute;left:-3.3px;top:-5.76px;width:106.6px;height:117.52px;max-width:none}
.zld-main .zld-hexgrid__logo{position:relative;max-width:64px;max-height:30px;width:auto;height:auto;object-fit:contain}

/* ============================================================
   CICLO
   ============================================================ */
/* Onboarding — 8 fases · 4 × 266 · gap 24/20 */
.zld-ciclo--onboarding .zld-deco--hex{left:-130px;top:315px;width:232px;height:201px}
.zld-phases{position:relative;display:grid;grid-template-columns:repeat(4,266px);gap:24px 20px}
.zld-phase{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border-radius:16px;background:var(--zld-cream)}
body.zld-landing .zld-main .zld-phase__title{font-size:17px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-phase__desc{font-size:14px;line-height:1.45;color:var(--zld-grey)}

/* People Management — foto 290 + gráfico 870 × 666 (escalable) */
.zld-ciclo--people-management .zld-section-header{margin-bottom:44px}
.zld-orbit{display:flex;align-items:center;justify-content:center;gap:40px}
.zld-orbit__photo{flex:0 0 290px;width:290px;height:666px;border-radius:20px;overflow:hidden}
.zld-main .zld-orbit__photo img{width:100%;height:100%;object-fit:cover}
.zld-orbit__graph{flex:0 1 870px;min-width:0;container-type:inline-size}
.zld-orbit__canvas{position:relative;width:100%;aspect-ratio:870/666}
.zld-o{position:absolute;display:block}
.zld-main img.zld-o,.zld-main .zld-o img{max-width:none}
img.zld-o{object-fit:fill}
.zld-o--flecha,.zld-o--loopflecha{display:flex;align-items:center;justify-content:center}
.zld-o--flecha>span{position:relative;flex:none;width:calc(18/870*100cqw);height:calc(16/870*100cqw)}
.zld-o--loopflecha>span{position:relative;flex:none}
.zld-o--flecha>span img,.zld-o--loopflecha>span img{position:absolute;left:16.04%;right:16.04%;top:10.45%;bottom:25%;width:67.92%;height:64.55%}
.zld-o--nodo{display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--zld-orange-end);border-radius:50%;box-shadow:0 8px 20px rgba(241,92,43,.18);box-sizing:border-box}
.zld-o--nodo img{width:calc(30/870*100cqw);height:calc(30/870*100cqw)}
.zld-o--num{display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(225deg,#F18822 14.6%,#F15C2B 85.4%);font-size:calc(11/870*100cqw);font-weight:700;line-height:1;color:#fff}
.zld-o--label{display:flex;flex-direction:column;gap:calc(6/870*100cqw)}
body.zld-landing .zld-main .zld-orbit__title{font-size:calc(20/870*100cqw);font-weight:600;line-height:1.2;color:var(--zld-ink)}
body.zld-landing .zld-main .zld-orbit__desc{font-size:calc(15/870*100cqw);line-height:1.467;color:var(--zld-grey)}
body.zld-landing .zld-main .zld-o--centro{font-size:calc(32/870*100cqw);font-weight:600;line-height:1.0625;text-align:center;color:var(--zld-ink)}
.zld-o--glow{left:calc(160/870*100%);top:calc(64/666*100%);width:calc(560/870*100%);height:calc(560/666*100%)}
.zld-o--orbita{left:calc(184/870*100%);top:calc(88/666*100%);width:calc(512/870*100%);height:calc(512/666*100%)}
.zld-o--interior{left:calc(302/870*100%);top:calc(206/666*100%);width:calc(276/870*100%);height:calc(276/666*100%)}
.zld-o--pista{left:calc(240/870*100%);top:calc(144/666*100%);width:calc(400/870*100%);height:calc(400/666*100%)}
.zld-o--arco{left:calc(235/870*100%);top:calc(139/666*100%);width:calc(410/870*100%);height:calc(410/666*100%)}
.zld-o--arco1 img{position:absolute;inset:2.23% 2.23% 64.06% 64.06%;width:auto;height:auto}
.zld-o--arco2 img{position:absolute;inset:64.06% 2.23% 2.23% 64.06%;width:auto;height:auto}
.zld-o--arco3 img{position:absolute;inset:64.06% 64.06% 2.23% 2.23%;width:auto;height:auto}
.zld-o--arco4 img{position:absolute;inset:2.23% 64.06% 64.06% 2.23%;width:auto;height:auto}
.zld-o--flecha1{left:calc(621.35/870*100%);top:calc(278.55/666*100%);width:calc(21.721/870*100%);height:calc(20.351/666*100%)}.zld-o--flecha1>span{transform:rotate(163.96deg)}
.zld-o--flecha2{left:calc(485.1/870*100%);top:calc(525.35/666*100%);width:calc(20.351/870*100%);height:calc(21.721/666*100%)}.zld-o--flecha2>span{transform:rotate(-106.04deg)}
.zld-o--flecha3{left:calc(236.93/870*100%);top:calc(389.1/666*100%);width:calc(21.721/870*100%);height:calc(20.351/666*100%)}.zld-o--flecha3>span{transform:rotate(-16.04deg)}
.zld-o--flecha4{left:calc(374.55/870*100%);top:calc(140.93/666*100%);width:calc(20.351/870*100%);height:calc(21.721/666*100%)}.zld-o--flecha4>span{transform:rotate(73.96deg)}
.zld-o--halo1{left:calc(390/870*100%);top:calc(94/666*100%);width:calc(100/870*100%);height:calc(100/666*100%)}
.zld-o--nodo1{left:calc(402/870*100%);top:calc(106/666*100%);width:calc(76/870*100%);height:calc(76/666*100%)}
.zld-o--num1{left:calc(458/870*100%);top:calc(102/666*100%);width:calc(24/870*100%);height:calc(24/666*100%)}
.zld-o--halo2{left:calc(590/870*100%);top:calc(294/666*100%);width:calc(100/870*100%);height:calc(100/666*100%)}
.zld-o--nodo2{left:calc(602/870*100%);top:calc(306/666*100%);width:calc(76/870*100%);height:calc(76/666*100%)}
.zld-o--num2{left:calc(658/870*100%);top:calc(302/666*100%);width:calc(24/870*100%);height:calc(24/666*100%)}
.zld-o--halo3{left:calc(390/870*100%);top:calc(494/666*100%);width:calc(100/870*100%);height:calc(100/666*100%)}
.zld-o--nodo3{left:calc(402/870*100%);top:calc(506/666*100%);width:calc(76/870*100%);height:calc(76/666*100%)}
.zld-o--num3{left:calc(458/870*100%);top:calc(502/666*100%);width:calc(24/870*100%);height:calc(24/666*100%)}
.zld-o--halo4{left:calc(190/870*100%);top:calc(294/666*100%);width:calc(100/870*100%);height:calc(100/666*100%)}
.zld-o--nodo4{left:calc(202/870*100%);top:calc(306/666*100%);width:calc(76/870*100%);height:calc(76/666*100%)}
.zld-o--num4{left:calc(258/870*100%);top:calc(302/666*100%);width:calc(24/870*100%);height:calc(24/666*100%)}
.zld-o--label-top{left:calc(290/870*100%);bottom:calc(606/666*100%);width:calc(300/870*100%);text-align:center;align-items:center}
.zld-o--label-bottom{left:calc(290/870*100%);top:calc(606/666*100%);width:calc(300/870*100%);text-align:center;align-items:center}
.zld-o--label-right{left:calc(706/870*100%);top:calc(307/666*100%);width:calc(164/870*100%);text-align:left;align-items:flex-start}
.zld-o--label-left{left:0;top:calc(307/666*100%);width:calc(160/870*100%);text-align:right;align-items:flex-end}
.zld-o--loop{left:calc(425.5/870*100%);top:calc(278.2/666*100%);width:calc(29/870*100%);height:calc(28.1/666*100%)}
.zld-o--loopflecha{left:calc(430.24/870*100%);top:calc(274/666*100%);width:calc(10.601/870*100%);height:calc(11.198/666*100%)}.zld-o--loopflecha>span{transform:rotate(69.95deg);width:calc(9/870*100cqw);height:calc(8/870*100cqw)}
.zld-o--centro{left:calc(440/870*100%);top:calc(313.81/666*100%);transform:translateX(-50%);white-space:nowrap}
.zld-orbit__list{display:none}

/* ============================================================
   ESCUELAS — 3 tarjetas · gap 28 · cabecera de logos 64 px
   ============================================================ */
.zld-schools{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.zld-school{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding:30px 28px;border-radius:18px;background:var(--zld-cream)}
.zld-school__logos{display:inline-flex;align-items:center;gap:14px;height:64px;padding:0 14px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.zld-school__logo{position:relative;display:block;flex:none;overflow:hidden}
.zld-main .zld-school__logo img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;max-width:none}
.zld-main .zld-school__logo--liferay img{left:-6.5%;top:-87.5%;width:107.32%;height:275%;object-fit:fill}
.zld-school__icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:12px;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.zld-school__head{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
body.zld-landing .zld-main .zld-school__title{font-size:20px;font-weight:600;line-height:1.24;color:var(--zld-ink)}
.zld-school__badge{display:inline-flex;padding:5px 12px;border-radius:100px;background:#F4ECE3;font-size:12px;font-weight:600;line-height:1.2;color:var(--zld-orange)}
.zld-school__list{width:100%}
.zld-school__list li{display:flex;align-items:center;gap:12px;padding:7px 0;font-size:15px;line-height:1.4;color:var(--zld-ink)}
.zld-school__list li::before{content:'';flex:0 0 10px;width:10px;height:10px;border-radius:50%;background:var(--zld-orange)}

/* ── Responsive de los bloques anteriores ───────────────────── */
@media(max-width:1280px){
  .zld-scope,.zld-phases{grid-template-columns:repeat(3,1fr)}
  .zld-phases{grid-template-columns:repeat(4,1fr)}
  .zld-orbit__photo{display:none}
}
@media(max-width:1024px){
  .zld-panels,.zld-wins,.zld-schools{grid-template-columns:1fr}
  .zld-pillars--4,.zld-pillars--3,.zld-scope,.zld-phases{grid-template-columns:repeat(2,1fr)}
  .zld-raas,.zld-cost,.zld-allies2{flex-direction:column}
  .zld-raas__chart,.zld-cost__card,.zld-allies2__panel{flex:none;width:100%}
  .zld-panel__deco{left:auto;right:-60px}
}
@media(max-width:760px){
  .zld-orbit__graph{display:none}
  .zld-orbit__list{display:flex;flex-direction:column;gap:20px;width:100%}
  .zld-orbit__list li{display:flex;gap:16px;align-items:flex-start}
  .zld-orbit__list li > div{display:flex;flex-direction:column;gap:4px}
  .zld-orbit__listnode{position:relative;flex:0 0 56px;width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:2px solid var(--zld-orange-end);box-shadow:0 8px 20px rgba(241,92,43,.18)}
  .zld-orbit__listnode img{width:24px;height:24px}
  .zld-orbit__listnode b{position:absolute;top:-4px;right:-4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:linear-gradient(225deg,#F18822,#F15C2B);font-size:10px;color:#fff}
  body.zld-landing .zld-main .zld-orbit__list .zld-orbit__title{font-size:18px}
  body.zld-landing .zld-main .zld-orbit__list .zld-orbit__desc{font-size:15px}
  .zld-milestones{flex-direction:column;gap:32px}
  .zld-milestones::before{display:none}
}
@media(max-width:640px){
  .zld-retos,.zld-solucion,.zld-alcance,.zld-valor,
  .zld-metodologia,.zld-ciclo,.zld-escuelas{padding:44px 0}
  .zld-pillars--4,.zld-pillars--3,.zld-scope,.zld-phases{grid-template-columns:1fr}
  body.zld-landing .zld-main .zld-section__intro{font-size:16px}
  body.zld-landing .zld-main .zld-cost__big{font-size:32px}
  .zld-hexgrid{transform:scale(.8);transform-origin:left top;margin-bottom:-36px}
  .zld-panel,.zld-win__body,.zld-cost__card,.zld-cost__stacks,.zld-allies2__panel,.zld-raas__chart{padding:28px 22px}
}

/* ============================================================
   AJUSTES FIGMA · BLOQUES COMPARTIDOS (hero, cifras, reto, portales,
   valor SS, metodología, descargable, formulario)
   ============================================================ */

/* Antetítulos: sin márgenes heredados del tema; el espacio lo da el gap
   del contenedor, así nunca se pegan ni se montan sobre lo de abajo. */
body.zld-landing .zld-main .zld-eyebrow,
body.zld-landing .zld-main .zld-panel__label,
body.zld-landing .zld-main .zld-portales__eyebrow,
body.zld-landing .zld-main .zld-hero__chips-label{
  display:block;
  margin:0 !important;
  padding:0;
  line-height:1.2 !important;
  position:relative;
}
body.zld-landing .zld-main .zld-section__title,
body.zld-landing .zld-main .zld-retos__title,
body.zld-landing .zld-main .zld-descargable__title,
body.zld-landing .zld-main .zld-form__title{margin-top:0 !important}

/* Hero — título → 48 → entradilla · chips → 58 → botón · texto centrado vertical */
.zld-hero__inner{align-items:center}
body.zld-landing .zld-main .zld-hero__h1{margin:0 0 48px}
body.zld-landing .zld-main .zld-hero__lead{margin:0 0 20px}
body.zld-landing .zld-main .zld-hero__lead2{margin:0 0 24px}
body.zld-landing .zld-main .zld-hero__chips-label{margin-bottom:10px !important}
body.zld-landing .zld-main .zld-hero__chips{margin:0 0 58px;padding:0;list-style:none}
.zld-hero__media{border-radius:20px;overflow:hidden;background:var(--zld-cream)}
.zld-chip{padding:7px 14px 7px 12px;line-height:normal}

/* Cifras — 44 px sin cursiva · barra a 12 px · decoración hexagonal */
body.zld-landing .zld-main .zld-stats__valor{font-size:44px;font-style:normal;line-height:1}
.zld-stats__bar{margin:12px 0}
body.zld-landing .zld-main .zld-stats__label{color:rgba(255,255,255,.95)}
.zld-deco[class*="zld-deco--whex"]{background-image:url("../img/figma/stats-hex-lg.svg");transform:rotate(-30deg)}
.zld-stats .zld-deco--whex-lg{right:-10.9px;top:-84.25px;width:155.9px;height:174.4px}
.zld-stats .zld-deco--whex-sm{right:219.6px;top:32.85px;width:77.9px;height:87.2px}
.zld-form .zld-deco--whex-1{left:72.7px;top:-40px;width:164.5px;height:190px}
.zld-form .zld-deco--whex-2{left:311px;top:220px;width:142px;height:164px}
.zld-form .zld-deco--whex-3{right:-47.8px;top:-30px;width:284px;height:328px}
.zld-form .zld-deco--whex-4{right:220px;top:300px;width:130px;height:150px}

/* Reto — columna 420 con gap 16 constante · acordeón radio 18 */
.zld-retos{padding:72px 0 64px}
.zld-retos__sidebar{gap:16px;align-items:flex-start}
.zld-retos__sidebar > *{margin:0 !important}
.zld-retos__media{border-radius:20px;margin:0}
body.zld-landing .zld-main .zld-retos__title,
body.zld-landing .zld-main .zld-retos__intro{width:100%}
body.zld-landing .zld-main .zld-retos__cta.zld-btn--ghost{border:1.5px solid var(--zld-ink);color:var(--zld-ink);padding:14px 26px;font-size:15px}
body.zld-landing .zld-main .zld-retos__cta.zld-btn--ghost:hover{border-color:var(--zld-orange);color:var(--zld-orange)}
.zld-accordion{border-radius:18px}
body.zld-landing .zld-main .zld-accordion__question{font-size:18px;line-height:1.3}
.zld-accordion__icon{background:var(--zld-cream);color:var(--zld-ink);font-size:18px;font-weight:700}
.zld-accordion__trigger[aria-expanded="true"] .zld-accordion__icon{background:var(--zld-orange);color:#fff}
.zld-accordion__trigger:hover .zld-accordion__icon{background:#F3E7DF}
.zld-accordion__trigger[aria-expanded="true"]:hover .zld-accordion__icon{background:#d94e1f}
.zld-accordion__content{gap:12px;padding:0 76px 24px 28px;margin-top:-10px}
body.zld-landing .zld-main .zld-accordion__resp-title{letter-spacing:.48px;margin:0 0 4px}
body.zld-landing .zld-main .zld-accordion__resp-text{color:var(--zld-ink);margin:0}

/* Portales — antetítulo 11 px · gap 28 */
body.zld-landing .zld-main .zld-portales__eyebrow{font-size:11px;letter-spacing:1.32px;color:#9A9A9A;margin-bottom:28px !important}
.zld-portales__logo{padding:8px 0}
.zld-main .zld-portales__logo--baked img{filter:none;opacity:1}

/* Alcance de Search Services: fondo blanco (resto de landings, crema) */
.zld-alcance--search-services{background:var(--zld-white)}

/* Valor diferencial · Search Services */
.zld-valor--search-services{padding:56px 0 48px}
.zld-valor--search-services .zld-section-header{margin-bottom:44px}
.zld-valor--search-services .zld-valor__media{border-radius:18px;background:var(--zld-cream)}
.zld-valor--search-services .zld-card--valor{padding:26px;gap:14px;border-radius:16px}
.zld-valor--search-services .zld-card__icon img{display:block;width:42px;height:42px}
.zld-ssicon-check{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:#F4ECE3;color:var(--zld-orange);font-size:20px;font-weight:700;line-height:1}
body.zld-landing .zld-main .zld-valor--search-services .zld-card__title{font-size:19px;line-height:1.24}
body.zld-landing .zld-main .zld-valor--search-services .zld-card__desc{font-size:15px;line-height:1.5;margin:0}

/* Metodología — línea de unión naranja al 30 % */
.zld-steps::before{background:var(--zld-orange);opacity:.3}

/* Descargable — foto de fondo al 20 % · portada horizontal 585 px */
.zld-descargable{position:relative;padding:44px 0}
.zld-descargable__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.2;pointer-events:none}
.zld-descargable__inner{align-items:stretch}
.zld-descargable__text{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:14px}
.zld-descargable__text > *{margin:0 !important}
body.zld-landing .zld-main .zld-descargable__text .zld-eyebrow{font-size:13px;letter-spacing:.78px}
body.zld-landing .zld-main .zld-descargable__desc{color:rgba(255,255,255,.85)}
body.zld-landing .zld-main .zld-descargable__text .zld-btn{padding:15px 28px}
.zld-descargable__media{position:relative;flex:0 0 585px;width:585px;min-height:217px;border-radius:16px;overflow:hidden;background:#fff}
.zld-main .zld-descargable__img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:16px}

/* Formulario — imagen 536 × 287, radio 16, texto a 20 */
.zld-form__media{border-radius:16px}
body.zld-landing .zld-main .zld-form__title{margin-bottom:16px}

@media(max-width:1280px){
  .zld-descargable__media{flex:0 0 46%;width:46%}
}
@media(max-width:1024px){
  .zld-descargable__inner{flex-direction:column}
  .zld-descargable__media{flex:none;width:100%;height:220px}
  .zld-hero__inner{align-items:flex-start}
}
@media(max-width:640px){
  body.zld-landing .zld-main .zld-hero__h1{margin-bottom:24px}
  body.zld-landing .zld-main .zld-hero__chips{margin-bottom:36px}
  .zld-accordion__content{padding:0 20px 22px}
  .zld-retos{padding:44px 0}
  body.zld-landing .zld-main .zld-stats__valor{font-size:34px}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* ── Portátil estrecho (≤ 1280px) ───────────────────────────── */
@media(max-width:1280px){
  :root{--zld-section-px:56px}
  .zld-hero__content{flex:1 1 auto}
  .zld-retos__layout{grid-template-columns:360px 1fr;gap:40px}
  .zld-valor__media{flex:0 0 320px;width:320px}
  .zld-form__left{flex:0 0 46%;width:46%}
}

/* ── Tablet (≤ 1024px) ──────────────────────────────────────── */
@media(max-width:1024px){
  :root{--zld-section-px:40px}
  .zld-deco-layer{display:none}

  body.zld-landing .zld-main .zld-hero__h1{font-size:40px}
  body.zld-landing .zld-main .zld-hero__lead{font-size:17px}
  body.zld-landing .zld-main .zld-hero__lead2{font-size:16px}
  body.zld-landing .zld-main .zld-section__title,
  body.zld-landing .zld-main .zld-retos__title{font-size:28px}

  .zld-hero__inner{flex-direction:column;gap:40px}
  .zld-hero__media{flex:none;width:100%;max-width:520px}
  .zld-main .zld-hero__img{width:100%;height:auto;aspect-ratio:380/480;max-height:440px}

  .zld-stats__item{flex:1 1 calc(50% - 16px);width:auto}

  .zld-retos__layout{grid-template-columns:1fr;gap:36px}
  .zld-retos__media{max-width:520px}

  .zld-cards--3col{grid-template-columns:repeat(2,1fr)}

  .zld-valor__layout{flex-direction:column}
  .zld-valor__media{flex:none;width:100%;max-height:300px}
  .zld-main .zld-valor__media img{min-height:0;height:300px}

  .zld-steps{grid-template-columns:repeat(3,1fr);gap:32px 0}
  .zld-steps::before{display:none}

  .zld-descargable__inner{flex-direction:column;align-items:flex-start;gap:32px}

  .zld-form__inner{flex-direction:column;gap:36px}
  .zld-form__left{flex:none;width:100%;max-width:560px}
  .zld-form__right{width:100%}

  .zld-dual{grid-template-columns:1fr;gap:32px}
  .zld-pillars--4{grid-template-columns:repeat(2,1fr)}
  .zld-ciclo__phases--8{grid-template-columns:repeat(2,1fr)}

  .zld-timeline{grid-template-columns:1fr}
  .zld-timeline::before{top:0;bottom:0;left:11px;right:auto;width:3px;height:auto}
  .zld-timeline__item{padding-top:0;padding-left:44px;padding-bottom:32px}
}

/* ── Móvil (≤ 640px) ────────────────────────────────────────── */
@media(max-width:640px){
  :root{--zld-section-px:20px;--zld-header-h:72px}

  .zld-hero{padding-top:calc(var(--zld-header-h) + 28px);padding-bottom:44px}
  body.zld-landing .zld-main .zld-hero__h1{font-size:30px;margin-bottom:20px}
  body.zld-landing .zld-main .zld-hero__lead{font-size:16px}
  body.zld-landing .zld-main .zld-hero__lead2{font-size:15px}
  body.zld-landing .zld-main .zld-section__title,
  body.zld-landing .zld-main .zld-retos__title{font-size:24px}

  .zld-subnav{gap:6px;margin-bottom:28px}
  body.zld-landing .zld-main .zld-subnav__label{font-size:11px}
  body.zld-landing .zld-main .zld-subnav__link{font-size:12px}
  .zld-subnav__sep,.zld-subnav__dot{font-size:11px}

  .zld-stats{padding:32px 0}
  .zld-stats__grid{gap:24px}
  .zld-stats__item{flex:1 1 100%}
  body.zld-landing .zld-main .zld-stats__valor{font-size:32px}

  .zld-retos,.zld-solucion,.zld-alcance,.zld-valor,
  .zld-metodologia,.zld-ciclo,.zld-escuelas,.zld-casos,
  .zld-form{padding:44px 0}

  .zld-cards--3col,.zld-cards--2col,
  .zld-valor__grid,
  .zld-pillars--3,.zld-pillars--4,
  .zld-ciclo__phases--4,.zld-ciclo__phases--8{grid-template-columns:1fr}

  .zld-steps{grid-template-columns:1fr;gap:28px}
  .zld-step{flex-direction:row;align-items:flex-start;text-align:left;gap:16px;padding:0}
  .zld-step__num{flex:0 0 44px;width:44px;height:50px;font-size:17px;margin-bottom:0}

  .zld-accordion__trigger{padding:20px;gap:12px}
  body.zld-landing .zld-main .zld-accordion__question{font-size:15px}
  .zld-accordion__content{padding:0 20px 22px}

  .zld-descargable{padding:36px 0}
  body.zld-landing .zld-main .zld-descargable__title{font-size:23px}
  body.zld-landing .zld-main .zld-descargable__desc{font-size:15px}
  .zld-descargable__img{max-width:100%}

  body.zld-landing .zld-main .zld-form__title{font-size:26px}
  body.zld-landing .zld-main .zld-form__desc{font-size:16px}
  .zld-form__embed{padding:22px 16px}
  .zld-form__media{height:200px}
  .zld-main .zld-form__media img{height:200px}

  .zld-modal__dialog{padding:32px 22px}
  .zld-portales__logo{width:50%}
}

/* ── Impresión ───────────────────────────────────────────────── */
@media print{
  .zld-subnav,.zld-modal,.zld-descargable,.zld-form,.zld-deco{display:none!important}
  .zld-hero{padding-top:24px}
  body.zld-landing .zld-main{font-size:12px}
}

/* ── Bloque heredado "Otros casos de éxito" del tema: aire arriba y abajo ── */
.zld-casos-wrap,
#main.zld-casos-wrap{padding-top:72px;padding-bottom:72px}
@media(max-width:640px){
  .zld-casos-wrap,
  #main.zld-casos-wrap{padding-top:44px;padding-bottom:44px}
}
