/* =========================================================================
   Zona SEO Local — sistema de diseño "Radar"
   Base tinta + señal verde (la del logo) + cuadrícula de posiciones.
   ========================================================================= */
:root{
  --ink:#0B110E; --ink-2:#121A16; --ink-3:#1A251F; --ink-4:#24312A;
  --paper:#F2F0E9; --paper-2:#E8E5DB; --white:#FFFFFF;
  --green:#00D26A;          /* señal: fondos, detalles, texto sobre tinta */
  --green-d:#00753A;        /* texto verde sobre papel (AA) */
  --lime:#C6F24E; --amber:#FFB23F; --coral:#FF5B3A;
  --t-d:#F2F0E9; --t-d2:rgba(242,240,233,.70); --t-d3:rgba(242,240,233,.45);
  --t-l:#0B110E; --t-l2:#47514B;
  --line-d:rgba(242,240,233,.14); --line-l:rgba(11,17,14,.14);
  --f-display:"Unbounded",system-ui,sans-serif;
  --f-body:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Consolas,monospace;
  --wrap:1320px; --gut:clamp(16px,4vw,48px);
  --sec:clamp(72px,9vw,136px);
  --r:18px; --r-lg:28px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

/* ---------- Base ---------- */
body.zsl{background:var(--paper);color:var(--t-l);font-family:var(--f-body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.zsl ::selection{background:var(--green);color:var(--ink)}
.zsl a{color:inherit}
.zsl img{max-width:100%;height:auto}
.zsl :focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:6px}
.zsl .site-content{background:transparent}

/* Reset de espaciados por defecto de Elementor (los ajustes por elemento siguen mandando) */
.zsl .e-con{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--gap:0px;--row-gap:0px;--column-gap:0px;--container-max-width:100%}
.zsl .elementor-widget:not(:last-child){margin-block-end:0;margin-bottom:0}
.zsl .elementor-widget{--kit-widget-spacing:0px}
.zsl .elementor-widget-heading .elementor-heading-title{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;text-transform:inherit}
.zsl .elementor-widget-text-editor{color:inherit;font-family:inherit}
.zsl .elementor-widget-text-editor p{margin:0 0 1em}
.zsl .elementor-widget-text-editor p:last-child{margin-bottom:0}
.zsl .elementor-widget-image img{display:block}

/* ---------- Secciones y contenedores ---------- */
.zsl .e-con.zs-sec{padding-block:var(--sec);position:relative;overflow:clip}
.zsl .e-con.zs-dark{background:var(--ink);color:var(--t-d)}
.zsl .e-con.zs-paper{background:var(--paper);color:var(--t-l)}
.zsl .e-con.zs-paper2{background:var(--paper-2);color:var(--t-l)}
.zsl .e-con.zs-green{background:var(--green);color:var(--ink)}
.zsl .e-con.zs-wrap{width:100%;max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut);flex-direction:column;flex-wrap:nowrap}
.zsl .e-con.zs-stack{flex-direction:column;gap:var(--g,24px)}
.zsl .e-con.zs-row{flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--g,12px)}

/* ---------- Tipografía ---------- */
.zs-kicker{font-family:var(--f-mono);font-size:13px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;display:flex;align-items:center;gap:.7em;color:var(--green-d)}
.zs-dark .zs-kicker,.zs-kicker.on-dark{color:var(--green)}
.zs-kicker::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;box-shadow:0 0 0 4px color-mix(in srgb,currentColor 22%,transparent);flex:none}
.zs-h1{font-family:var(--f-display);font-weight:700;font-size:clamp(2.05rem,1.1rem + 4.3vw,5.1rem);line-height:1.02;letter-spacing:-.035em;text-wrap:balance}
.zs-h2{font-family:var(--f-display);font-weight:650;font-size:clamp(1.75rem,1.05rem + 2.9vw,3.6rem);line-height:1.06;letter-spacing:-.03em;text-wrap:balance}
.zs-h3{font-family:var(--f-display);font-weight:600;font-size:clamp(1.15rem,1rem + .7vw,1.6rem);line-height:1.18;letter-spacing:-.02em}
.zs-h4{font-family:var(--f-body);font-weight:700;font-size:1.15rem;line-height:1.3}
.zs-lead{font-size:clamp(1.08rem,1rem + .45vw,1.35rem);line-height:1.55;max-width:46ch}
.zs-dark .zs-lead,.zs-dark .zs-muted{color:var(--t-d2)}
.zs-muted{color:var(--t-l2)}
.zs-mono{font-family:var(--f-mono);font-size:13px;letter-spacing:.06em}
.zs-small{font-size:15px}
.zsl .hl{color:var(--green);position:relative;white-space:nowrap}
.zs-paper .hl,.zs-paper2 .hl{color:var(--green-d)}
.zsl .hl::after{content:"";position:absolute;left:0;right:0;bottom:-.06em;height:.12em;background:currentColor;border-radius:2px;transform-origin:left;animation:zs-draw 1s .4s var(--ease) both}
@keyframes zs-draw{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.zsl .strike{text-decoration:line-through;text-decoration-thickness:.08em;text-decoration-color:var(--coral)}

/* ---------- Botones ---------- */
.zsl .zs-btn .elementor-button,.zsl a.zs-btn-a{display:inline-flex;align-items:center;gap:.6em;background:var(--green);color:var(--ink);font-family:var(--f-body);font-weight:700;font-size:16px;line-height:1;padding:18px 26px;border-radius:999px;border:2px solid var(--green);text-decoration:none;transition:transform .25s var(--ease),background .25s,color .25s,box-shadow .25s;box-shadow:0 0 0 0 rgba(0,210,106,.0)}
.zsl .zs-btn .elementor-button:hover,.zsl a.zs-btn-a:hover{transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(0,210,106,.6)}
.zsl .zs-btn .elementor-button-text::after{content:"→";margin-left:.55em;display:inline-block;transition:transform .25s var(--ease)}
.zsl .zs-btn .elementor-button:hover .elementor-button-text::after{transform:translateX(4px)}
.zsl .zs-btn-ghost .elementor-button{background:transparent;color:inherit;border-color:currentColor;box-shadow:none}
.zsl .zs-btn-ghost .elementor-button:hover{background:var(--t-d);color:var(--ink);border-color:var(--t-d)}
.zs-paper .zs-btn-ghost .elementor-button:hover,.zs-paper2 .zs-btn-ghost .elementor-button:hover{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.zsl .zs-btn-ink .elementor-button{background:var(--ink);color:var(--t-d);border-color:var(--ink)}
.zsl .zs-btn-tel .elementor-button-text::after{content:none}
.zsl .zs-btn-tel .elementor-button-text::before{content:"";display:inline-block;width:.95em;height:.95em;margin-right:.55em;vertical-align:-.12em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 0 1 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z'/%3E%3C/svg%3E") center/contain no-repeat}
.zsl .zs-link .elementor-button{background:none;border:0;padding:0;color:inherit;font-weight:700;font-size:16px;border-radius:0;box-shadow:none;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px;text-decoration-color:var(--green)}
.zsl .zs-link .elementor-button:hover{transform:none;box-shadow:none;text-decoration-color:currentColor}

/* ---------- Cabecera ---------- */
.zsl .e-con.zs-header{position:sticky;top:0;z-index:100;background:rgba(11,17,14,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);color:var(--t-d);border-bottom:1px solid var(--line-d)}
.admin-bar .e-con.zs-header{top:32px}
.zsl .e-con.zs-header > .e-con.zs-wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;min-height:76px}
.zs-logo img{width:auto;height:46px}
.zsl .zs-nav{flex:1}
.zsl .zs-nav .elementor-nav-menu--main .elementor-item{font-family:var(--f-body);font-weight:600;font-size:15.5px;color:var(--t-d);padding:10px 14px;border-radius:999px;transition:background .2s,color .2s}
.zsl .zs-nav .elementor-nav-menu--main .elementor-item:hover,.zsl .zs-nav .elementor-nav-menu--main .elementor-item.elementor-item-active{background:rgba(242,240,233,.08);color:var(--green)}
.zsl .zs-nav .elementor-nav-menu--main .sub-menu{background:var(--ink-2);border:1px solid var(--line-d);border-radius:14px;padding:8px;min-width:280px!important;box-shadow:0 30px 60px -20px rgba(0,0,0,.6)}
.zsl .zs-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item{color:var(--t-d);font-size:15px;font-weight:500;padding:11px 14px;border-radius:10px;border:0}
.zsl .zs-nav .elementor-nav-menu--main .sub-menu a.elementor-sub-item:hover{background:rgba(0,210,106,.12);color:var(--green)}
.zsl .zs-nav .elementor-menu-toggle{background:transparent;color:var(--t-d);border:1px solid var(--line-d);border-radius:12px;padding:10px;font-size:22px}
.zsl .zs-nav .elementor-menu-toggle svg{fill:var(--t-d)}
.zsl .zs-nav .elementor-nav-menu--dropdown{background:var(--ink-2);border-top:1px solid var(--line-d)}
.zsl .zs-nav .elementor-nav-menu--dropdown a{color:var(--t-d);font-size:17px;font-weight:600;padding:16px var(--gut);border-bottom:1px solid var(--line-d)}
.zsl .zs-nav .elementor-nav-menu--dropdown a:hover,.zsl .zs-nav .elementor-nav-menu--dropdown a.elementor-item-active{background:rgba(0,210,106,.1);color:var(--green)}
.zsl .e-con.zs-hactions{flex-direction:row;align-items:center;gap:10px;flex:none;width:auto}
.zsl .zs-htel a{font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--t-d);text-decoration:none;letter-spacing:.04em;padding:10px 12px;border-radius:999px}
.zsl .zs-htel a:hover{color:var(--green)}
.zsl .zs-header .zs-btn .elementor-button{padding:13px 20px;font-size:15px}
@media (max-width:1024px){.zsl .zs-htel{display:none}.zsl .zs-nav{flex:none;order:3}}
@media (max-width:600px){.zsl .zs-header .zs-btn{display:none}.zs-logo img{height:40px}}

/* ---------- HERO (home) ---------- */
.zsl .e-con.zs-hero{padding-block:clamp(48px,7vw,104px) clamp(56px,8vw,120px);background:
  radial-gradient(1200px 600px at 85% 10%,rgba(0,210,106,.14),transparent 60%),
  radial-gradient(circle at 1px 1px,rgba(242,240,233,.07) 1px,transparent 1.4px) 0 0/28px 28px,var(--ink)}
.zsl .e-con.zs-hero > .e-con.zs-wrap{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,80px);align-items:center}
.zsl .e-con.zs-hero-copy{flex-direction:column;gap:26px}
.zs-coords{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.12em;color:var(--t-d3);text-transform:uppercase}
.zs-coords b{color:var(--green);font-weight:600}
.zsl .e-con.zs-hero-copy .zs-lead{max-width:40ch}
.zs-trust{font-size:14.5px;color:var(--t-d2)}
.zs-trust ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 22px}
.zs-trust li{display:flex;gap:.5em;align-items:center}
.zs-trust li::before{content:"";width:16px;height:16px;flex:none;background:var(--green);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat}
@media (max-width:960px){.zsl .e-con.zs-hero > .e-con.zs-wrap{grid-template-columns:1fr}}

/* ---------- RADAR (cuadrícula de posiciones) ---------- */
.zs-radar{position:relative;background:linear-gradient(180deg,var(--ink-2),var(--ink));border:1px solid var(--line-d);border-radius:var(--r-lg);padding:clamp(16px,2.2vw,26px);box-shadow:0 40px 120px -40px rgba(0,210,106,.35),inset 0 1px 0 rgba(255,255,255,.05);color:var(--t-d);isolation:isolate}
.zs-radar__bar{display:flex;align-items:center;gap:10px;background:var(--paper);color:var(--ink);border-radius:999px;padding:12px 16px;font-size:15px;font-weight:600;box-shadow:0 8px 24px -8px rgba(0,0,0,.5)}
.zs-radar__bar svg{width:18px;height:18px;flex:none}
.zs-radar__q{white-space:nowrap;overflow:hidden;border-right:2px solid var(--green-d);animation:zs-type 2.6s steps(26) .3s both,zs-caret .8s step-end infinite;max-width:max-content}
@keyframes zs-type{from{width:0}to{width:26ch}}
@keyframes zs-caret{50%{border-color:transparent}}
.zs-radar__map{position:relative;margin-top:16px;border-radius:16px;overflow:hidden;aspect-ratio:1/1;background:
  linear-gradient(transparent 49.5%,rgba(242,240,233,.06) 50%,transparent 50.5%) 0 0/100% 14.2857%,
  linear-gradient(90deg,transparent 49.5%,rgba(242,240,233,.06) 50%,transparent 50.5%) 0 0/14.2857% 100%,
  radial-gradient(circle at 52% 48%,rgba(0,210,106,.12),transparent 65%),var(--ink-3)}
.zs-radar__map::before{content:"";position:absolute;inset:-40%;background:conic-gradient(from 0deg,rgba(0,210,106,.0) 0deg,rgba(0,210,106,.0) 300deg,rgba(0,210,106,.28) 355deg,rgba(0,210,106,.0) 360deg);animation:zs-sweep 5s linear infinite;z-index:1;pointer-events:none}
@keyframes zs-sweep{to{transform:rotate(360deg)}}
.zs-radar__river{position:absolute;inset:0;z-index:0;opacity:.35}
.zs-radar__grid{position:absolute;inset:4%;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(7,1fr);place-items:center;z-index:2}
.zs-radar__grid i{--s:clamp(24px,4.2vw,44px);width:var(--s);height:var(--s);border-radius:50%;display:grid;place-items:center;font-style:normal;font-family:var(--f-mono);font-weight:700;font-size:clamp(10px,1.1vw,13.5px);color:var(--ink);box-shadow:0 0 0 3px rgba(11,17,14,.55);opacity:0;transform:scale(.4);animation:zs-pop .5s var(--ease) forwards;animation-delay:calc(var(--d) * 28ms + .9s)}
.zs-radar__grid i.r1{background:var(--green)}
.zs-radar__grid i.r2{background:var(--lime)}
.zs-radar__grid i.r3{background:var(--amber)}
.zs-radar__grid i.r4{background:var(--coral);color:#fff}
.zs-radar__grid i.me{outline:2px solid var(--paper);outline-offset:4px}
@keyframes zs-pop{to{opacity:1;transform:scale(1)}}
.zs-radar__legend{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 16px;margin-top:14px;font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;color:var(--t-d2);text-transform:uppercase}
.zs-radar__legend span{display:inline-flex;align-items:center;gap:6px}
.zs-radar__legend span::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c)}
.zs-radar__note{margin-top:10px;font-family:var(--f-mono);font-size:11px;color:var(--t-d3);letter-spacing:.05em}
.zs-radar__tag{position:absolute;z-index:3;right:-14px;top:38%;background:var(--green);color:var(--ink);font-family:var(--f-mono);font-weight:700;font-size:12px;letter-spacing:.06em;padding:8px 12px;border-radius:10px;transform:rotate(4deg);box-shadow:0 10px 30px -10px rgba(0,210,106,.7)}
@media (max-width:600px){.zs-radar__tag{right:8px;top:auto;bottom:86px}}

/* ---------- MARQUESINA de municipios ---------- */
.zs-marquee{background:var(--green);color:var(--ink);overflow:hidden;border-block:1px solid rgba(11,17,14,.2)}
.zs-marquee__track{display:flex;width:max-content;animation:zs-marq 48s linear infinite}
.zs-marquee:hover .zs-marquee__track{animation-play-state:paused}
.zs-marquee ul{display:flex;list-style:none;margin:0;padding:0}
.zs-marquee li{font-family:var(--f-display);font-weight:600;font-size:clamp(1.05rem,.9rem + .8vw,1.6rem);letter-spacing:-.01em;padding:18px 0;white-space:nowrap;display:flex;align-items:center}
.zs-marquee li::after{content:"";width:12px;height:12px;margin-inline:clamp(18px,2.4vw,34px);border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--ink)}
@keyframes zs-marq{to{transform:translateX(-50%)}}

/* ---------- Encabezado de sección ---------- */
.zsl .e-con.zs-head{flex-direction:column;gap:18px;margin-bottom:clamp(36px,5vw,64px);max-width:860px}
.zsl .e-con.zs-head.split{max-width:none;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:end;gap:24px 64px}
@media (max-width:900px){.zsl .e-con.zs-head.split{grid-template-columns:1fr}}

/* ---------- PROBLEMAS ---------- */
.zsl .e-con.zs-probs{flex-direction:column;counter-reset:prob;border-top:1px solid var(--line-l)}
.zsl .e-con.zs-prob{counter-increment:prob;display:grid;grid-template-columns:72px minmax(0,1.3fr) minmax(0,1fr) auto;gap:16px 32px;align-items:center;padding-block:clamp(22px,3vw,34px);border-bottom:1px solid var(--line-l);position:relative;transition:background .3s}
.zsl .e-con.zs-prob::before{content:counter(prob,decimal-leading-zero);font-family:var(--f-mono);font-size:14px;font-weight:600;color:var(--green-d)}
.zsl .e-con.zs-prob::after{content:"";position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.zsl .e-con.zs-prob:hover::after{transform:scaleX(1)}
.zsl .e-con.zs-prob .zs-h3{font-size:clamp(1.15rem,.95rem + 1vw,1.75rem)}
@media (max-width:900px){.zsl .e-con.zs-prob{grid-template-columns:44px 1fr}.zsl .e-con.zs-prob > .elementor-element:nth-child(n+2){grid-column:2}}

/* ---------- SERVICIOS (bento) ---------- */
.zsl .e-con.zs-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px;counter-reset:srv}
.zsl .e-con.zs-card{counter-increment:srv;flex-direction:column;justify-content:space-between;gap:28px;background:var(--ink-2);border:1px solid var(--line-d);border-radius:var(--r-lg);padding:clamp(24px,2.6vw,36px);grid-column:span 2;min-height:300px;position:relative;overflow:hidden;transition:transform .35s var(--ease),border-color .35s,background .35s}
.zsl .e-con.zs-card::before{content:counter(srv,decimal-leading-zero);font-family:var(--f-mono);font-size:13px;color:var(--green);letter-spacing:.1em}
.zsl .e-con.zs-card:hover{transform:translateY(-4px);border-color:rgba(0,210,106,.5);background:var(--ink-3)}
.zsl .e-con.zs-card.xl{grid-column:span 4;grid-row:span 2;background:
  radial-gradient(circle at 1px 1px,rgba(11,17,14,.18) 1px,transparent 1.4px) 0 0/22px 22px,var(--green);color:var(--ink);border-color:var(--green);min-height:420px}
.zsl .e-con.zs-card.xl::before{color:var(--ink)}
.zsl .e-con.zs-card.xl .zs-muted{color:rgba(11,17,14,.78)}
.zsl .e-con.zs-card.xl .zs-h3{font-size:clamp(1.6rem,1.1rem + 2.2vw,3rem)}
.zsl .e-con.zs-card.xl:hover{background-color:#14e07a}
.zsl .e-con.zs-card .zs-muted{color:var(--t-d2)}
.zsl .e-con.zs-card .zs-cbody{flex-direction:column;gap:12px}
.zsl .e-con.zs-card .zs-link .elementor-button{color:inherit}
.zsl .e-con.zs-card.xl .zs-link .elementor-button{text-decoration-color:var(--ink)}
.zsl .e-con.zs-card.wide{grid-column:span 3}
@media (max-width:1024px){.zsl .e-con.zs-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.zsl .e-con.zs-card,.zsl .e-con.zs-card.wide{grid-column:span 1}.zsl .e-con.zs-card.xl{grid-column:span 2;grid-row:auto;min-height:340px}}
@media (max-width:640px){.zsl .e-con.zs-bento{grid-template-columns:1fr}.zsl .e-con.zs-card,.zsl .e-con.zs-card.xl{grid-column:auto;min-height:0}}
.zs-chiplist{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.zs-chiplist li{font-family:var(--f-mono);font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid currentColor;opacity:.85}

/* ---------- REGLAS (cómo trabajo) ---------- */
.zsl .e-con.zs-rules{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,96px);align-items:start}
.zsl .e-con.zs-rules > .e-con:first-child{position:sticky;top:120px;flex-direction:column;gap:22px}
.zsl .e-con.zs-rulelist{flex-direction:column;counter-reset:rule}
.zsl .e-con.zs-rule{counter-increment:rule;display:grid;grid-template-columns:120px 1fr;gap:8px 28px;padding-block:28px;border-top:1px solid var(--line-l)}
.zsl .e-con.zs-rule:last-child{border-bottom:1px solid var(--line-l)}
.zsl .e-con.zs-rule::before{content:"Regla " counter(rule,decimal-leading-zero);font-family:var(--f-mono);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--green-d);grid-row:span 2;padding-top:6px}
.zs-dark .e-con.zs-rule{border-color:var(--line-d)}
.zs-dark .e-con.zs-rule::before{color:var(--green)}
@media (max-width:900px){.zsl .e-con.zs-rules{grid-template-columns:1fr}.zsl .e-con.zs-rules > .e-con:first-child{position:static}.zsl .e-con.zs-rule{grid-template-columns:1fr}.zsl .e-con.zs-rule::before{grid-row:auto}}

/* ---------- CLIENTES ---------- */
.zs-logos{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px;list-style:none;margin:0;padding:0}
.zs-logos li{background:var(--white);border:1px solid var(--line-l);border-radius:16px;aspect-ratio:16/9;display:grid;place-items:center;padding:18px 22px;transition:transform .3s var(--ease),box-shadow .3s}
.zs-logos img{max-height:56px;width:auto;object-fit:contain;filter:grayscale(1);opacity:.72;transition:filter .3s,opacity .3s}
.zs-logos li:hover{transform:translateY(-3px);box-shadow:0 16px 40px -20px rgba(11,17,14,.4)}
.zs-logos li:hover img{filter:none;opacity:1}
.zs-logos figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- RESEÑAS (Trustindex) ---------- */
.zsl .e-con.zs-reviews .elementor-shortcode{min-height:120px}

/* ---------- ZONA DE SERVICIO ---------- */
.zsl .e-con.zs-zone{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(32px,5vw,80px);align-items:start}
.zsl .e-con.zs-zone > .e-con:first-child{flex-direction:column;gap:22px;position:sticky;top:120px}
.zs-comarcas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;list-style:none;margin:0;padding:0}
.zs-comarcas li{border:1px solid var(--line-d);border-radius:var(--r);padding:20px 22px;background:rgba(242,240,233,.025);transition:border-color .3s,background .3s}
.zs-comarcas li:hover{border-color:rgba(0,210,106,.55);background:rgba(0,210,106,.06)}
.zs-comarcas h3{font-family:var(--f-display);font-weight:600;font-size:1.05rem;letter-spacing:-.01em;margin:0 0 10px;color:var(--t-d);display:flex;align-items:center;gap:.55em}
.zs-comarcas h3::before{content:"";width:10px;height:10px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);flex:none}
.zs-comarcas p{margin:0;font-size:15px;line-height:1.55;color:var(--t-d2)}
.zs-comarcas a{color:var(--t-d);text-decoration:none;border-bottom:1px solid var(--line-d)}
.zs-comarcas a:hover{color:var(--green);border-color:var(--green)}
@media (max-width:960px){.zsl .e-con.zs-zone{grid-template-columns:1fr}.zsl .e-con.zs-zone > .e-con:first-child{position:static}}
@media (max-width:560px){.zs-comarcas{grid-template-columns:1fr}}

/* ---------- SOBRE MÍ (teaser) + FOTO ---------- */
.zsl .e-con.zs-split{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:center}
.zsl .e-con.zs-split.rev{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
.zsl .e-con.zs-split > .e-con{flex-direction:column;gap:22px}
@media (max-width:900px){.zsl .e-con.zs-split,.zsl .e-con.zs-split.rev{grid-template-columns:1fr}}
.zsl .zs-photo{position:relative;max-width:460px;width:100%}
.zsl .zs-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:var(--r-lg);position:relative;z-index:1}
.zsl .zs-photo::before{content:"";position:absolute;inset:0;transform:translate(16px,16px);border-radius:var(--r-lg);background:var(--green);z-index:0}
.zsl .zs-photo::after{content:"David Huerga · València";position:absolute;z-index:2;left:16px;bottom:16px;background:var(--ink);color:var(--t-d);font-family:var(--f-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;padding:9px 12px;border-radius:10px}
.zs-quote{font-family:var(--f-display);font-weight:500;font-size:clamp(1.3rem,1rem + 1.5vw,2.15rem);line-height:1.25;letter-spacing:-.02em}

/* ---------- BLOG (widget Posts de Elementor) ---------- */
.zsl .zs-posts .elementor-posts-container{gap:20px!important}
.zsl .zs-posts .elementor-post{background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);overflow:hidden;display:flex;flex-direction:column;transition:transform .3s var(--ease),box-shadow .3s}
.zsl .zs-posts .elementor-post:hover{transform:translateY(-4px);box-shadow:0 24px 50px -28px rgba(11,17,14,.45)}
.zsl .zs-posts .elementor-post__thumbnail__link{margin:0!important}
.zsl .zs-posts .elementor-post__thumbnail{padding-bottom:56%!important}
.zsl .zs-posts .elementor-post__text{padding:22px 24px 26px}
.zsl .zs-posts .elementor-post__title{font-family:var(--f-display);font-weight:600;font-size:1.1rem;line-height:1.3;letter-spacing:-.015em;margin-bottom:10px}
.zsl .zs-posts .elementor-post__title a{color:var(--ink)}
.zsl .zs-posts .elementor-post__meta-data{font-family:var(--f-mono);font-size:12px;color:var(--t-l2);letter-spacing:.04em;text-transform:uppercase}
.zsl .zs-posts .elementor-post__excerpt p{font-size:15px;color:var(--t-l2);margin:0}
.zsl .zs-posts .elementor-post__read-more{font-weight:700;color:var(--green-d);font-size:15px}

/* ---------- CONTACTO / FORMULARIOS ---------- */
.zsl .e-con.zs-contact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:start}
.zsl .e-con.zs-contact > .e-con:first-child{flex-direction:column;gap:22px}
@media (max-width:900px){.zsl .e-con.zs-contact{grid-template-columns:1fr}}
.zs-direct{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.zs-direct a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;border-radius:16px;background:rgba(11,17,14,.08);text-decoration:none;font-weight:700;font-size:17px;color:var(--ink);transition:background .25s,transform .25s var(--ease)}
.zs-direct a:hover{background:var(--ink);color:var(--green);transform:translateX(4px)}
.zs-direct small{display:block;font-family:var(--f-mono);font-weight:500;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;opacity:.7}
.zs-direct a::after{content:"→";font-size:20px}
.zs-dark .zs-direct a{background:rgba(242,240,233,.06);color:var(--t-d)}
.zsl .zs-formcard,.zsl .e-con.zs-formcard{background:var(--ink);color:var(--t-d);border-radius:var(--r-lg);padding:clamp(22px,3vw,40px);box-shadow:0 40px 90px -40px rgba(11,17,14,.7)}
.zs-dark .zs-formcard,.zs-dark .e-con.zs-formcard{background:var(--ink-2);border:1px solid var(--line-d)}
.zsl .zs-form .elementor-field-group{margin-bottom:14px!important}
.zsl .zs-form .elementor-field-label{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--t-d2);margin-bottom:8px}
.zsl .zs-form .elementor-field-textual,.zsl .zs-form .elementor-select-wrapper select{background:var(--ink-3)!important;border:1px solid var(--line-d)!important;color:var(--t-d)!important;border-radius:12px!important;padding:15px 16px!important;font-size:16px!important;font-family:var(--f-body)!important;min-height:52px;transition:border-color .2s,box-shadow .2s}
.zsl .zs-form .elementor-field-textual::placeholder{color:var(--t-d3)}
.zsl .zs-form .elementor-field-textual:focus,.zsl .zs-form select:focus{border-color:var(--green)!important;box-shadow:0 0 0 4px rgba(0,210,106,.18)!important;outline:none}
.zsl .zs-form .elementor-select-wrapper .select-caret-down-wrapper{color:var(--t-d2)}
.zsl .zs-form .elementor-field-type-acceptance label{font-size:14px;color:var(--t-d2);line-height:1.45}
.zsl .zs-form .elementor-field-type-acceptance a{color:var(--green)}
.zsl .zs-form .elementor-field-type-acceptance input{accent-color:var(--green);width:18px;height:18px;margin-right:8px;vertical-align:-3px}
.zsl .zs-form .elementor-button{background:var(--green)!important;color:var(--ink)!important;font-family:var(--f-body);font-weight:700;font-size:17px;border-radius:999px!important;padding:19px 26px!important;width:100%;transition:transform .25s var(--ease),box-shadow .25s}
.zsl .zs-form .elementor-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(0,210,106,.7)}
.zsl .zs-form .elementor-message{font-size:15px;color:var(--t-d)}
.zs-formhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:18px;flex-wrap:wrap}
.zs-formhead strong{font-family:var(--f-display);font-weight:600;font-size:1.35rem;letter-spacing:-.02em}
.zs-formhead span{font-family:var(--f-mono);font-size:12px;color:var(--green);letter-spacing:.08em;text-transform:uppercase}

/* ---------- PIE ---------- */
.zsl .e-con.zs-footer{background:var(--ink);color:var(--t-d);padding-block:clamp(56px,7vw,96px) 28px;border-top:1px solid var(--line-d)}
.zsl .e-con.zs-fgrid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
@media (max-width:900px){.zsl .e-con.zs-fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.zsl .e-con.zs-fgrid{grid-template-columns:1fr}}
.zs-fcol h2{font-family:var(--f-mono);font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green);margin:0 0 16px}
.zs-fcol ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.zs-fcol a{color:var(--t-d2);text-decoration:none;font-size:15.5px}
.zs-fcol a:hover{color:var(--green)}
.zs-fcol address{font-style:normal;color:var(--t-d2);font-size:15.5px;line-height:1.65}
.zs-fbig{font-family:var(--f-display);font-weight:700;font-size:clamp(2.6rem,1rem + 8.5vw,9.5rem);line-height:.9;letter-spacing:-.05em;color:transparent;-webkit-text-stroke:1.5px rgba(242,240,233,.22);margin-top:clamp(40px,6vw,80px);white-space:nowrap;overflow:hidden;user-select:none}
.zs-fbig span{color:var(--green);-webkit-text-stroke:0}
.zs-fbottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;margin-top:24px;border-top:1px solid var(--line-d);font-family:var(--f-mono);font-size:12px;letter-spacing:.06em;color:var(--t-d3)}
.zs-fbottom a{color:var(--t-d3);text-decoration:none;margin-right:18px}
.zs-fbottom a:hover{color:var(--green)}

/* ---------- PÁGINA DE SERVICIO ---------- */
.zs-crumbs{font-family:var(--f-mono);font-size:12.5px;letter-spacing:.06em;color:var(--t-d3)}
.zs-crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0}
.zs-crumbs li:not(:last-child)::after{content:"/";margin-left:6px;opacity:.6}
.zs-crumbs a{color:var(--t-d2);text-decoration:none}
.zs-crumbs a:hover{color:var(--green)}
.zs-crumbs [aria-current]{color:var(--green)}
.zsl .e-con.zs-shero{padding-block:clamp(36px,5vw,72px) clamp(56px,8vw,112px);background:
  radial-gradient(900px 500px at 90% 0%,rgba(0,210,106,.14),transparent 60%),
  radial-gradient(circle at 1px 1px,rgba(242,240,233,.07) 1px,transparent 1.4px) 0 0/28px 28px,var(--ink)}
.zsl .e-con.zs-shero > .e-con.zs-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);align-items:start}
.zsl .e-con.zs-shero .zs-hero-copy{flex-direction:column;gap:24px}
.zs-bigword{font-family:var(--f-display);font-weight:800;font-size:clamp(3rem,1rem + 10vw,11rem);line-height:.85;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1.5px rgba(0,210,106,.5);margin-top:clamp(24px,4vw,56px);white-space:nowrap;overflow:hidden;user-select:none}
@media (max-width:960px){.zsl .e-con.zs-shero > .e-con.zs-wrap{grid-template-columns:1fr}}
/* Qué incluye */
.zsl .e-con.zs-incl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;counter-reset:inc}
.zsl .e-con.zs-item{counter-increment:inc;flex-direction:column;gap:14px;background:var(--white);border:1px solid var(--line-l);border-radius:var(--r-lg);padding:clamp(24px,2.4vw,32px);position:relative;transition:transform .3s var(--ease),border-color .3s}
.zsl .e-con.zs-item::before{content:counter(inc,decimal-leading-zero);font-family:var(--f-mono);font-size:13px;font-weight:600;color:var(--green-d);display:inline-flex;width:44px;height:44px;border-radius:12px;background:rgba(0,210,106,.14);align-items:center;justify-content:center;margin-bottom:6px}
.zsl .e-con.zs-item:hover{transform:translateY(-4px);border-color:var(--ink)}
@media (max-width:1024px){.zsl .e-con.zs-incl{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.zsl .e-con.zs-incl{grid-template-columns:1fr}}
/* Proceso / ruta */
.zsl .e-con.zs-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;counter-reset:st;position:relative}
.zsl .e-con.zs-steps::before{content:"";position:absolute;left:22px;right:22px;top:22px;border-top:2px dashed rgba(0,210,106,.45)}
.zsl .e-con.zs-step{counter-increment:st;flex-direction:column;gap:12px;position:relative;padding-top:72px}
.zsl .e-con.zs-step::before{content:"";position:absolute;top:0;left:0;width:46px;height:46px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green);box-shadow:0 0 0 6px var(--ink)}
.zsl .e-con.zs-step::after{content:counter(st);position:absolute;top:0;left:0;width:46px;height:46px;display:grid;place-items:center;color:var(--ink);font-family:var(--f-mono);font-weight:700;font-size:15px}
.zs-paper .e-con.zs-step::before,.zs-paper2 .e-con.zs-step::before{box-shadow:0 0 0 6px var(--paper)}
.zsl .e-con.zs-step > .elementor-element:first-child{margin-top:0}
@media (max-width:1024px){.zsl .e-con.zs-steps{grid-template-columns:1fr;gap:0}.zsl .e-con.zs-steps::before{left:22px;right:auto;top:22px;bottom:22px;border-top:0;border-left:2px dashed rgba(0,210,106,.45)}.zsl .e-con.zs-step{padding:0 0 36px 76px}}
/* Manifiesto */
.zs-statement{font-family:var(--f-display);font-weight:600;font-size:clamp(1.6rem,1rem + 3vw,4rem);line-height:1.08;letter-spacing:-.035em;text-wrap:balance}
.zs-statement em{font-style:normal;color:var(--green)}
.zs-paper .zs-statement em{color:var(--green-d)}
/* Sectores */
.zs-tags{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.zs-tags li{font-weight:600;font-size:16px;padding:12px 18px;border-radius:999px;background:var(--white);border:1px solid var(--line-l)}
.zs-dark .zs-tags li{background:transparent;border-color:var(--line-d);color:var(--t-d)}
.zs-tags a{text-decoration:none}
.zs-tags li:hover{border-color:var(--green-d)}
/* FAQ (acordeón Elementor) */
.zsl .zs-faq .elementor-accordion-item{border:0!important;border-top:1px solid var(--line-l)!important}
.zsl .zs-faq .elementor-accordion-item:last-child{border-bottom:1px solid var(--line-l)!important}
.zsl .zs-faq .elementor-tab-title{padding:26px 0!important;display:flex;flex-direction:row-reverse;justify-content:space-between;align-items:center;gap:20px;cursor:pointer}
.zsl .zs-faq .elementor-tab-title a,.zsl .zs-faq .elementor-accordion-title{font-family:var(--f-display);font-weight:600;font-size:clamp(1.05rem,.95rem + .5vw,1.35rem);letter-spacing:-.015em;color:var(--ink)!important;line-height:1.3}
.zsl .zs-faq .elementor-accordion-icon{width:40px;height:40px;flex:none;border-radius:50%;border:1.5px solid var(--ink);display:grid!important;place-items:center;transition:background .2s,transform .3s}
.zsl .zs-faq .elementor-accordion-icon svg{width:14px;fill:var(--ink)}
.zsl .zs-faq .elementor-tab-title.elementor-active .elementor-accordion-icon{background:var(--green);border-color:var(--green)}
.zsl .zs-faq .elementor-tab-content{border:0!important;padding:0 64px 28px 0!important;font-size:17px;color:var(--t-l2)}
/* Municipios */
.zs-areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.zs-areas a{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1px solid var(--line-d);color:var(--t-d);text-decoration:none;font-weight:600;font-size:15.5px;transition:background .2s,color .2s,border-color .2s}
.zs-areas a::before{content:"";width:8px;height:8px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green)}
.zs-areas a:hover{background:var(--green);color:var(--ink);border-color:var(--green)}
.zs-areas a:hover::before{background:var(--ink)}
/* Otros servicios */
.zsl .e-con.zs-others{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.zsl .e-con.zs-other{flex-direction:column;gap:14px;justify-content:space-between;border:1px solid var(--line-l);border-radius:var(--r);padding:24px;min-height:200px;transition:background .3s,color .3s}
.zsl .e-con.zs-other:hover{background:var(--ink);color:var(--t-d)}
.zsl .e-con.zs-other:hover .zs-muted{color:var(--t-d2)}
@media (max-width:1024px){.zsl .e-con.zs-others{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.zsl .e-con.zs-others{grid-template-columns:1fr}}
/* Ficha lateral del héroe de servicio */
.zs-panel{background:var(--paper);color:var(--ink);border-radius:var(--r-lg);padding:clamp(22px,2.6vw,32px);box-shadow:0 40px 90px -40px rgba(0,0,0,.8)}
.zs-panel ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:12px}
.zs-panel li{display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.45}
.zs-panel li::before{content:"";flex:none;width:22px;height:22px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230B110E' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/14px no-repeat;margin-top:1px}

/* ---------- SOBRE MÍ (página) ---------- */
.zsl .e-con.zs-ahero{padding-block:clamp(40px,6vw,96px);background:
  radial-gradient(circle at 1px 1px,rgba(242,240,233,.07) 1px,transparent 1.4px) 0 0/28px 28px,var(--ink)}
.zsl .e-con.zs-ahero > .e-con.zs-wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(32px,6vw,96px);align-items:center}
.zsl .e-con.zs-ahero .zs-hero-copy{flex-direction:column;gap:24px}
@media (max-width:960px){.zsl .e-con.zs-ahero > .e-con.zs-wrap{grid-template-columns:1fr}.zsl .e-con.zs-ahero .zs-photo{max-width:380px}}
.zsl .e-con.zs-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.zsl .e-con.zs-pillar{flex-direction:column;gap:16px;border-top:3px solid var(--green);padding-top:26px}
@media (max-width:900px){.zsl .e-con.zs-pillars{grid-template-columns:1fr}}
.zs-partners{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;margin:0;padding:0}
.zs-partners li{border:1px solid var(--line-l);border-radius:var(--r);padding:22px;background:var(--white);display:flex;flex-direction:column;gap:12px}
.zs-partners img{width:64px;height:64px;object-fit:contain;border-radius:12px}
.zs-partners strong{font-family:var(--f-display);font-weight:600;font-size:1.05rem}
.zs-partners p{margin:0;font-size:15px;color:var(--t-l2)}
@media (max-width:1024px){.zs-partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.zs-partners{grid-template-columns:1fr}}
.zs-timeline{list-style:none;margin:0;padding:0;display:grid;gap:0;border-left:2px solid var(--line-d)}
.zs-timeline li{padding:0 0 26px 26px;position:relative}
.zs-timeline li::before{content:"";position:absolute;left:-7px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--green)}

/* ---------- Aparición al hacer scroll ---------- */
.js .zs-rv{opacity:0;transform:translateY(24px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .zs-rv.is-in{opacity:1;transform:none}
.elementor-editor-active .zs-rv{opacity:1!important;transform:none!important}

/* ---------- Movimiento reducido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .zs-marquee__track{animation:none}
  .js .zs-rv{opacity:1;transform:none}
}

/* ---------- Astra: limpieza en páginas Elementor ---------- */
.zsl.ast-page-builder-template .site-content>.ast-container{max-width:100%;padding:0}
.zsl .ast-scroll-to-top-right{background:var(--green);color:var(--ink)}
.zsl .skip-link:focus{background:var(--green);color:var(--ink)}

/* ---------- Ajustes de bloques ---------- */
.zs-green .zs-kicker,.zs-kicker.on-green{color:var(--ink)}
.zs-green .zs-lead{color:rgba(11,17,14,.82)}
.zs-green .hl{color:var(--ink)}
.zs-areas span{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:999px;border:1px solid var(--line-d);color:var(--t-d);font-weight:600;font-size:15.5px}
.zs-areas span::before{content:"";width:8px;height:8px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--green)}
.zs-h1 .h1-sub{display:block;font-size:.4em;font-weight:500;line-height:1.2;letter-spacing:-.02em;color:var(--t-d2);margin-top:.55em;max-width:24ch;text-wrap:balance}
.zs-paper .zs-h1 .h1-sub{color:var(--t-l2)}
.zsl .e-con.zs-header{background:rgba(11,17,14,.94)}
/* Elementor usa ::before de .e-con como capa de fondo absoluta: los contadores deben volver al flujo */
.zsl .e-con.zs-prob::before,.zsl .e-con.zs-card::before,.zsl .e-con.zs-rule::before,.zsl .e-con.zs-item::before{position:static;inset:auto;opacity:1;mix-blend-mode:normal;transition:none;border-radius:0}
.zsl .e-con.zs-item::before{border-radius:12px;width:44px;height:44px}
.zsl .e-con.zs-step::before,.zsl .e-con.zs-step::after{opacity:1;mix-blend-mode:normal;inset:auto;top:0;left:0}
.zsl .e-con.zs-step::before{border-radius:50% 50% 50% 0}
.zsl .e-con.zs-prob::after{opacity:1;mix-blend-mode:normal;top:auto;inset:auto auto -1px 0}
/* Tarjeta destacada: anillos de radar + pin */
.zsl .e-con.zs-card.xl{background:
  url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%230B110E' stroke-opacity='.22' stroke-width='1.5'%3E%3Ccircle cx='200' cy='200' r='60'/%3E%3Ccircle cx='200' cy='200' r='110'/%3E%3Ccircle cx='200' cy='200' r='160'/%3E%3Ccircle cx='200' cy='200' r='198' stroke-dasharray='4 8'/%3E%3Cpath d='M200 0v400M0 200h400'/%3E%3C/g%3E%3Cpath fill='%230B110E' d='M200 150c-22 0-40 18-40 40 0 30 40 70 40 70s40-40 40-70c0-22-18-40-40-40zm0 56a16 16 0 1 1 0-32 16 16 0 0 1 0 32z'/%3E%3C/svg%3E") right -40px top -40px/min(460px,70%) no-repeat,
  radial-gradient(circle at 1px 1px,rgba(11,17,14,.18) 1px,transparent 1.4px) 0 0/22px 22px,var(--green)}
.zsl .e-con.zs-card.xl .zs-cbody{max-width:640px}
@media (max-width:640px){.zsl .e-con.zs-card.xl{background-size:220px auto,22px 22px,auto;background-position:right -50px top -50px,0 0,0 0}}
.zs-radar__tag{top:-14px;right:22px;transform:rotate(3deg)}
@media (max-width:600px){.zs-radar__tag{right:12px;bottom:auto}}
.zs-fbig{font-size:min(9.2rem,8.2vw);overflow:visible}
.zsl #ast-scroll-top{background:var(--green);color:var(--ink);border-radius:12px}
.zsl #ast-scroll-top svg{fill:var(--ink)}
/* Subrayado .hl multilínea */
.zsl .hl{white-space:normal;background:linear-gradient(currentColor,currentColor) 0 96%/100% .1em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.04em;animation:zs-draw2 1s .4s var(--ease) both}
.zsl .hl::after{content:none}
@keyframes zs-draw2{from{background-size:0 .1em}to{background-size:100% .1em}}
/* Palabra gigante del héroe de servicio: envoltorio propio, sin rejilla */
.zsl .e-con.zs-shero > .e-con.zs-wrap.zs-bigwrap{display:flex}
.zs-bigword{font-size:min(11rem,12.4vw);overflow:visible}
/* Las columnas del sistema nunca deben partirse en varias columnas flex */
.zsl .e-con.zs-card,.zsl .e-con.zs-cbody,.zsl .e-con.zs-stack,.zsl .e-con.zs-hero-copy,.zsl .e-con.zs-item,.zsl .e-con.zs-step,.zsl .e-con.zs-other,.zsl .e-con.zs-pillar,.zsl .e-con.zs-head,.zsl .e-con.zs-formcard{--flex-wrap:nowrap;flex-wrap:nowrap}
.zsl .e-con.zs-card > .e-con,.zsl .e-con.zs-card > .elementor-widget{width:100%;max-width:100%}
@media (max-width:600px){.zs-h1 .h1-sub{font-size:max(.42em,1.1rem)}}
:root{--t-d3:rgba(242,240,233,.6)}
.zs-fbig span::before,.zs-bigword span::before{content:attr(data-t)}
