/* Punto Fisio v1.1.129: responsive service-list alignment tracks the hero alignment. */
/* ==========================================================================
   CW Encabezado Servicio — compact inner-page hero
   ========================================================================== */
.cw-service-hero{
  --cw-sh-height:430px;
  --cw-sh-gutter:0px;
  --cw-sh-content:820px;
  --cw-sh-radius:24px;
  --cw-sh-media-bg:#142425;
  --cw-sh-overlay:58;
  --cw-sh-overlay-color:#071617;
  --cw-sh-solid:var(--cw-pf-surface,var(--cw-pf-background,#fff));
  --cw-sh-accent:var(--cw-pf-primary,var(--e-global-color-primary,#00CFAB));
  position:relative;
  isolation:isolate;
  width:100%;
  min-width:0;
  min-height:var(--cw-sh-height);
  overflow:clip;
  box-sizing:border-box;
  background:var(--cw-sh-solid);
  color:var(--cw-pf-text,var(--e-global-color-text,#333333));
}
.cw-service-hero,.cw-service-hero *,.cw-service-hero *::before,.cw-service-hero *::after{box-sizing:border-box}
.cw-service-hero--full-bleed{width:100vw;max-width:100vw;left:50%;margin-left:-50vw;border-radius:0}
.cw-service-hero:not(.cw-service-hero--full-bleed){width:min(100%,1300px);margin-inline:auto;border-radius:var(--cw-sh-radius)}
.cw-service-hero__media,.cw-service-hero__overlay{position:absolute;inset:0;width:100%;height:100%}
.cw-service-hero__media{z-index:0;overflow:hidden;background:var(--cw-sh-media-bg,#142425)}
.cw-service-hero__picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.cw-service-hero__image{display:block!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;margin:0!important;padding:0!important;object-fit:cover!important;object-position:50% 50%!important;transform:none!important;transform-origin:50% 50%!important}
.cw-service-hero__overlay{z-index:1;pointer-events:none;background:rgb(7 22 23 / calc(var(--cw-sh-overlay)/100))}
.cw-service-hero--focus-left .cw-service-hero__overlay{
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*1%),transparent) 0%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.86%),transparent) 33%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.38%),transparent) 68%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.12%),transparent) 100%)}
.cw-service-hero--focus-right .cw-service-hero__overlay{
  background:linear-gradient(270deg,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*1%),transparent) 0%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.86%),transparent) 33%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.38%),transparent) 68%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.12%),transparent) 100%)}
.cw-service-hero--focus-balanced .cw-service-hero__overlay{
  background:linear-gradient(90deg,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.82%),transparent) 0%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.54%),transparent) 48%,
    color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.30%),transparent) 100%)}
.cw-service-hero__inner{
  position:relative;z-index:2;
  width:min(calc(100% - (var(--cw-sh-gutter)*2)),1300px);
  min-height:var(--cw-sh-height);
  margin-inline:auto;
  display:flex;
  align-items:center;
  padding-top:calc(var(--cw-sh-header,92px) + 20px);
  padding-bottom:clamp(34px,4vw,56px);
}
.cw-service-hero:not(.cw-service-hero--header-overlay) .cw-service-hero__inner{padding-top:clamp(34px,4vw,56px)}
.cw-service-hero__content{display:flex;flex-direction:column;width:min(100%,var(--cw-sh-content));min-width:0;color:inherit}
.cw-service-hero--media{color:#fff}
.cw-service-hero--solid{color:var(--cw-pf-text,var(--e-global-color-text,#333333))}
.cw-service-hero__eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;color:var(--cw-sh-muted-custom,color-mix(in srgb,currentColor 78%,transparent));font-size:10px;font-weight:760;line-height:1.2;letter-spacing:.16em;text-transform:uppercase}
.cw-service-hero__eyebrow-line{width:22px;height:1px;flex:0 0 22px;background:var(--cw-sh-accent);opacity:.95}
.cw-service-hero__title{margin:0!important;padding:0!important;max-width:100%;color:var(--cw-sh-title-custom,currentColor)!important;font-size:clamp(42px,4.45vw,68px);font-weight:650;line-height:.98;letter-spacing:-.047em;text-wrap:balance;overflow-wrap:normal;word-break:normal;hyphens:none}
.cw-service-hero__lead{max-width:680px;margin:17px 0 0!important;padding:0!important;color:var(--cw-sh-muted-custom,color-mix(in srgb,currentColor 78%,transparent))!important;font-size:clamp(15px,1.15vw,18px);line-height:1.55;text-wrap:pretty}
.cw-service-hero__services{list-style:none!important;display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;justify-content:var(--cw-sh-services-justify,flex-start);max-width:100%;margin:18px 0 0!important;padding:0!important;color:var(--cw-sh-list-custom,color-mix(in srgb,currentColor 88%,transparent));font-size:14px;font-weight:620;line-height:1.3;letter-spacing:-.012em}
.cw-service-hero__service{display:inline-flex;align-items:center;min-width:0;margin:0!important;padding:0!important;gap:9px;color:inherit}
.cw-service-hero__service::marker{content:""}
.cw-service-hero__service-marker{display:block;width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--cw-sh-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--cw-sh-accent) 14%,transparent)}
.cw-service-hero__service-text{display:block;min-width:0}
.cw-service-hero__services--pills{gap:8px 9px}
.cw-service-hero__services--pills .cw-service-hero__service{gap:7px;padding:7px 11px 7px 9px!important;border:1px solid color-mix(in srgb,currentColor 17%,transparent);border-radius:999px;background:color-mix(in srgb,currentColor 6%,transparent);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.cw-service-hero__services--pills .cw-service-hero__service-marker{width:4px;height:4px;flex-basis:4px;box-shadow:none}
.cw-service-hero__services + .cw-service-hero__lead{margin-top:15px!important}
.cw-service-hero__highlight{display:inline;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.cw-service-hero__highlight--accent{color:var(--cw-sh-accent)!important}
.cw-service-hero__highlight--underline{text-decoration-line:underline;text-decoration-color:var(--cw-sh-accent);text-decoration-thickness:.065em;text-underline-offset:.12em;text-decoration-skip-ink:none}
.cw-service-hero__highlight--surface{padding:.015em .15em .055em;border-radius:.18em;background:color-mix(in srgb,var(--cw-sh-accent) 24%,transparent)}
/* Short lists may use the real width of the hero on large screens instead of
   inheriting the narrower title measure. This keeps compact service sets on a
   single line when there is genuinely room for them. */
@media(min-width:1180px){
  .cw-service-hero--services-wide .cw-service-hero__services{
    width:max-content;
    max-width:min(1120px,calc(100vw - 64px));
    flex-wrap:nowrap;
    gap:10px 16px;
    font-size:13.5px;
  }
  .cw-service-hero--services-wide .cw-service-hero__service{white-space:nowrap;flex:0 0 auto}
}
html[data-theme="dark"] .cw-service-hero--solid,body[data-theme="dark"] .cw-service-hero--solid{--cw-sh-solid:var(--cw-pf-surface,var(--cw-pf-background,#10282A));color:var(--cw-pf-text,#F3F7F7)}
@media(max-width:1024px){
  .cw-service-hero{--cw-sh-height:380px;--cw-sh-gutter:24px}
  .cw-service-hero__title{font-size:clamp(38px,6vw,56px)}
  .cw-service-hero__inner{padding-bottom:40px}
}
@media(max-width:767px){
  .cw-service-hero{--cw-sh-height:330px;--cw-sh-gutter:30px}
  .cw-service-hero__inner{padding-top:calc(var(--cw-sh-header,72px) + 18px);padding-bottom:28px}
  .cw-service-hero:not(.cw-service-hero--header-overlay) .cw-service-hero__inner{padding-top:28px}
  .cw-service-hero__title{font-size:clamp(34px,10.5vw,44px);line-height:1;letter-spacing:-.042em;text-wrap:pretty;max-inline-size:100%;overflow:visible}
  /* Long unbreakable words such as “Acondicionamiento” need a smaller mobile
     scale. Only those titles are reduced; normal headings keep their size. */
  .cw-service-hero--title-word-long .cw-service-hero__title{font-size:clamp(26px,8.6vw,35px)!important;letter-spacing:-.038em}
  .cw-service-hero--title-word-xl .cw-service-hero__title{font-size:clamp(23px,7.7vw,31px)!important;letter-spacing:-.032em}
  .cw-service-hero__eyebrow{margin-bottom:11px;font-size:9px;letter-spacing:.14em}
  .cw-service-hero__lead{margin-top:13px!important;font-size:14px;line-height:1.48}
  .cw-service-hero__services{margin-top:14px!important;gap:8px 14px;font-size:12.5px;line-height:1.28}
  .cw-service-hero__service{gap:7px}
  .cw-service-hero__service-marker{width:4px;height:4px;flex-basis:4px;box-shadow:0 0 0 2px color-mix(in srgb,var(--cw-sh-accent) 14%,transparent)}
  .cw-service-hero__services--pills{gap:7px}
  .cw-service-hero__services--pills .cw-service-hero__service{padding:6px 9px 6px 8px!important}
  .cw-service-hero__services + .cw-service-hero__lead{margin-top:12px!important}
  .cw-service-hero--focus-left .cw-service-hero__overlay,.cw-service-hero--focus-right .cw-service-hero__overlay{
    background:linear-gradient(180deg,
      color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.42%),transparent) 0%,
      color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.62%),transparent) 38%,
      color-mix(in srgb,var(--cw-sh-overlay-color) calc(var(--cw-sh-overlay)*.92%),transparent) 100%)}
}

/* ==========================================================================
   v1.1.112 · Editorial lateral (base histórica)
   --------------------------------------------------------------------------
   Local landing pages use the same semantic H1 but a deliberately different
   editorial composition: clean text field + lateral image + location datum.
   The image is never treated as a full-bleed background in this variant.
   ========================================================================== */
.cw-service-hero--zone{
  --cw-zone-bg:color-mix(in srgb,var(--cw-sh-solid,var(--cw-pf-background,#fff)) 96%,var(--cw-sh-accent) 4%);
  --cw-zone-surface:var(--cw-pf-surface,color-mix(in srgb,var(--cw-pf-background,#fff) 94%,var(--cw-pf-text,#333333) 6%));
  --cw-zone-border:var(--cw-pf-border,color-mix(in srgb,var(--cw-pf-text,#333333) 12%,transparent));
  --cw-zone-muted:var(--cw-pf-muted,color-mix(in srgb,var(--cw-pf-text,#333333) 66%,transparent));
  color:var(--cw-pf-text,var(--e-global-color-text,#333333));
  background:
    radial-gradient(circle at 8% 88%,color-mix(in srgb,var(--cw-sh-accent) 7%,transparent) 0,transparent 28%),
    linear-gradient(112deg,var(--cw-zone-bg) 0%,var(--cw-sh-solid,var(--cw-pf-background,#fff)) 74%);
  overflow:clip;
}
.cw-service-hero--zone .cw-service-zone__inner{
  width:min(calc(100% - (var(--cw-sh-gutter)*2)),1300px);
  min-height:var(--cw-sh-height);
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(340px,.72fr);
  align-items:center!important;
  gap:clamp(42px,5.6vw,88px);
  padding-top:clamp(44px,4.8vw,72px)!important;
  padding-bottom:clamp(44px,4.8vw,72px)!important;
}
.cw-service-hero--zone .cw-service-zone__content{
  width:100%;
  max-width:min(760px,var(--cw-sh-content));
  align-items:flex-start!important;
  text-align:left!important;
  margin:0!important;
}
.cw-service-hero--zone .cw-service-zone__eyebrow{color:var(--cw-zone-muted)!important;margin-bottom:16px}
.cw-service-hero--zone .cw-service-hero__title{
  color:var(--cw-sh-title-custom,var(--cw-pf-text,#333333))!important;
  max-width:760px;
  font-size:clamp(42px,4.25vw,66px);
  line-height:.97;
  text-wrap:balance;
}
.cw-service-hero--zone .cw-service-hero__lead{
  max-width:660px;
  margin-top:20px!important;
  color:var(--cw-sh-muted-custom,var(--cw-zone-muted))!important;
}
.cw-service-hero--zone .cw-service-hero__services{
  margin-top:20px!important;
  color:var(--cw-sh-list-custom,color-mix(in srgb,var(--cw-pf-text,#333333) 86%,transparent));
}
.cw-service-hero--zone .cw-service-zone__visual{
  position:relative;
  width:100%;
  min-width:0;
  justify-self:end;
  padding-left:18px;
  padding-bottom:18px;
}
.cw-service-hero--zone .cw-service-zone__visual::before{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:58%;
  height:48%;
  border-radius:26px;
  background:color-mix(in srgb,var(--cw-sh-accent) 13%,transparent);
  z-index:0;
}
.cw-service-hero--zone .cw-service-zone__media{
  position:relative;
  z-index:1;
  width:100%;
  height:clamp(300px,28vw,380px);
  overflow:hidden;
  border-radius:clamp(22px,2vw,30px);
  background:var(--cw-sh-media-bg,#142425);
  box-shadow:0 22px 54px color-mix(in srgb,var(--cw-pf-text,#333333) 10%,transparent);
}
.cw-service-hero--zone .cw-service-zone__media::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,#071617 24%,transparent) 100%);
  z-index:2;
}
.cw-service-hero--zone .cw-service-zone__frame{
  position:absolute;
  inset:11px;
  z-index:3;
  border:1px solid color-mix(in srgb,#fff 66%,transparent);
  border-radius:calc(clamp(22px,2vw,30px) - 8px);
  pointer-events:none;
}
.cw-service-hero--zone .cw-service-zone__location{
  position:absolute;
  z-index:4;
  left:-8px;
  bottom:34px;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:min(245px,78%);
  max-width:calc(100% - 28px);
  padding:11px 15px 11px 11px;
  border:1px solid color-mix(in srgb,var(--cw-zone-border) 88%,transparent);
  border-radius:16px;
  color:var(--cw-pf-text,#333333);
  background:color-mix(in srgb,var(--cw-pf-background,#fff) 92%,transparent);
  backdrop-filter:blur(14px) saturate(1.05);
  -webkit-backdrop-filter:blur(14px) saturate(1.05);
  box-shadow:0 12px 32px color-mix(in srgb,var(--cw-pf-text,#333333) 10%,transparent);
}
.cw-service-hero--zone .cw-service-zone__location-icon{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  border-radius:12px;
  color:var(--cw-sh-accent);
  background:color-mix(in srgb,var(--cw-sh-accent) 10%,var(--cw-pf-background,#fff) 90%);
}
.cw-service-hero--zone .cw-service-zone__location-icon svg{display:block;width:19px;height:19px}
.cw-service-hero--zone .cw-service-zone__location-copy{display:flex;flex-direction:column;min-width:0;line-height:1.16}
.cw-service-hero--zone .cw-service-zone__location-copy strong{font-size:13.5px;font-weight:720;letter-spacing:-.012em;white-space:normal}
.cw-service-hero--zone .cw-service-zone__location-copy span{margin-top:3px;color:var(--cw-zone-muted);font-size:11.5px;font-weight:560}
.cw-service-hero--zone .cw-service-zone__location--inline{
  position:relative;
  inset:auto;
  width:max-content;
  max-width:100%;
  min-width:0;
  margin-top:24px;
  box-shadow:none;
  background:var(--cw-zone-surface);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.cw-service-hero--zone-no-media .cw-service-zone__inner{grid-template-columns:minmax(0,920px);justify-content:start}
.cw-service-hero--zone-no-media .cw-service-zone__content{max-width:920px}

html[data-theme="dark"] .cw-service-hero--zone,
body[data-theme="dark"] .cw-service-hero--zone{
  --cw-zone-bg:color-mix(in srgb,var(--cw-sh-solid,var(--cw-pf-background,#10282A)) 93%,var(--cw-sh-accent) 7%);
}
html[data-theme="dark"] .cw-service-hero--zone .cw-service-zone__location,
body[data-theme="dark"] .cw-service-hero--zone .cw-service-zone__location{
  background:color-mix(in srgb,var(--cw-pf-surface,#163234) 94%,transparent);
}

@media(max-width:1024px){
  .cw-service-hero--zone .cw-service-zone__inner{
    grid-template-columns:minmax(0,1fr) minmax(280px,.72fr);
    gap:34px;
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  .cw-service-hero--zone .cw-service-zone__media{height:clamp(280px,34vw,340px)}
  .cw-service-hero--zone .cw-service-zone__location{left:-4px;bottom:28px}
}

@media(max-width:767px){
  .cw-service-hero--zone{--cw-sh-gutter:22px}
  .cw-service-hero--zone .cw-service-zone__inner{
    min-height:0;
    grid-template-columns:minmax(0,1fr);
    gap:26px;
    padding-top:32px!important;
    padding-bottom:34px!important;
  }
  .cw-service-hero--zone .cw-service-zone__content{max-width:none}
  .cw-service-hero--zone .cw-service-zone__eyebrow{margin-bottom:11px}
  .cw-service-hero--zone .cw-service-hero__title{font-size:clamp(32px,10vw,44px);line-height:.98}
  .cw-service-hero--zone.cw-service-hero--title-word-long .cw-service-hero__title{font-size:clamp(26px,8.5vw,35px)!important}
  .cw-service-hero--zone.cw-service-hero--title-word-xl .cw-service-hero__title{font-size:clamp(23px,7.7vw,31px)!important}
  .cw-service-hero--zone .cw-service-hero__lead{margin-top:14px!important}
  .cw-service-hero--zone .cw-service-hero__services{margin-top:14px!important}
  .cw-service-hero--zone .cw-service-zone__visual{padding-left:0;padding-bottom:0}
  .cw-service-hero--zone .cw-service-zone__visual::before{display:none}
  .cw-service-hero--zone .cw-service-zone__media{height:auto;aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10));border-radius:20px;box-shadow:0 14px 34px color-mix(in srgb,var(--cw-pf-text,#333333) 8%,transparent)}
  .cw-service-hero--zone .cw-service-zone__frame{inset:8px;border-radius:14px}
  .cw-service-hero--zone .cw-service-zone__location{
    left:12px;
    bottom:12px;
    min-width:0;
    max-width:calc(100% - 24px);
    padding:8px 11px 8px 8px;
    border-radius:13px;
  }
  .cw-service-hero--zone .cw-service-zone__location-icon{width:31px;height:31px;flex-basis:31px;border-radius:10px}
  .cw-service-hero--zone .cw-service-zone__location-icon svg{width:17px;height:17px}
  .cw-service-hero--zone .cw-service-zone__location-copy strong{font-size:12.5px}
  .cw-service-hero--zone .cw-service-zone__location-copy span{font-size:10.5px}
  .cw-service-hero--zone .cw-service-zone__location--inline{left:auto;bottom:auto;margin-top:18px;max-width:100%}
}

/* ==========================================================================
   v1.1.113 · Editorial lateral general
   --------------------------------------------------------------------------
   La antigua variante local pasa a ser una composición reutilizable para
   cualquier servicio. La ubicación es opcional. El ancho de escritorio no se
   hereda en móvil y el hero móvil siempre toma altura intrínseca.
   ========================================================================== */
.cw-service-hero--zone{
  --cw-editorial-media-width:620px;
  --cw-editorial-media-ratio:4 / 3;
  --cw-zone-base:var(--cw-pf-background,var(--e-global-color-background,#fff));
  --cw-zone-bg:color-mix(in srgb,var(--cw-pf-primary,#00CFAB) 3%,var(--cw-zone-base) 97%);
  --cw-zone-surface:var(--cw-pf-surface,color-mix(in srgb,var(--cw-zone-bg) 96%,var(--cw-pf-text,#333333) 4%));
  --cw-zone-border:var(--cw-pf-border,color-mix(in srgb,var(--cw-pf-text,#333333) 11%,transparent));
  --cw-zone-muted:var(--cw-pf-muted,color-mix(in srgb,var(--cw-pf-text,#333333) 66%,transparent));
  color:var(--cw-pf-text,var(--e-global-color-text,#333333));
  background:
    linear-gradient(118deg,
      color-mix(in srgb,var(--cw-pf-primary,#00CFAB) 3.8%,var(--cw-zone-base) 96.2%) 0%,
      var(--cw-zone-bg) 52%,
      color-mix(in srgb,var(--cw-pf-accent,#36CEAB) 2%,var(--cw-zone-base) 98%) 100%);
}
.cw-service-hero--zone .cw-service-zone__inner{
  grid-template-columns:minmax(0,1fr) minmax(0,var(--cw-editorial-media-width));
  gap:clamp(44px,5vw,76px);
}
.cw-service-hero--zone .cw-service-zone__content{
  max-width:min(100%,720px);
}
.cw-service-hero--zone .cw-service-zone__media{
  width:100%;
  height:auto;
  aspect-ratio:var(--cw-editorial-media-ratio);
  max-height:none;
  border-radius:clamp(20px,1.8vw,28px);
  background:var(--cw-sh-media-bg,#142425);
  box-shadow:0 20px 48px color-mix(in srgb,var(--cw-pf-text,#333333) 9%,transparent);
}
.cw-service-hero--zone .cw-service-zone__visual{
  width:100%;
  max-width:var(--cw-editorial-media-width);
}
.cw-service-hero--zone .cw-service-zone__frame{
  border-color:color-mix(in srgb,#fff 58%,transparent);
}
.cw-service-hero--zone .cw-service-zone__location{
  color:var(--cw-pf-text,#333333);
  background:color-mix(in srgb,var(--cw-zone-surface) 94%,transparent);
  border-color:color-mix(in srgb,var(--cw-zone-border) 82%,transparent);
  box-shadow:0 12px 28px color-mix(in srgb,var(--cw-pf-text,#333333) 9%,transparent);
}
html[data-theme="dark"] .cw-service-hero--zone,
body[data-theme="dark"] .cw-service-hero--zone{
  --cw-zone-base:var(--cw-pf-background,#10282A);
  --cw-zone-bg:color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 4.5%,var(--cw-zone-base) 95.5%);
  --cw-zone-surface:var(--cw-pf-surface,color-mix(in srgb,var(--cw-zone-bg) 92%,#fff 8%));
  --cw-zone-border:var(--cw-pf-border,color-mix(in srgb,var(--cw-pf-text,#F3F7F7) 13%,transparent));
  --cw-zone-muted:var(--cw-pf-muted,color-mix(in srgb,var(--cw-pf-text,#F3F7F7) 68%,transparent));
  background:
    linear-gradient(118deg,
      color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 5.5%,var(--cw-zone-base) 94.5%) 0%,
      var(--cw-zone-bg) 54%,
      color-mix(in srgb,var(--cw-pf-accent,#36CEAB) 3%,var(--cw-zone-base) 97%) 100%);
}
html[data-theme="dark"] .cw-service-hero--zone .cw-service-zone__location,
body[data-theme="dark"] .cw-service-hero--zone .cw-service-zone__location{
  background:color-mix(in srgb,var(--cw-zone-surface) 96%,transparent);
}

/* Acciones del encabezado: primario sólido + secundario ligero. */










@media (min-width:768px) and (max-width:1120px){
  .cw-service-hero--zone .cw-service-zone__inner{
    grid-template-columns:minmax(0,1fr) minmax(300px,44%);
    gap:34px;
  }
  .cw-service-hero--zone .cw-service-zone__visual{max-width:none}
}

@media(max-width:767px){
  .cw-service-hero--zone{
    min-height:0!important;
    --cw-sh-gutter:20px;
    /* Fallback 16:10; el selector responsive de Elementor o el específico móvil prevalecen. */
    --cw-editorial-media-ratio:16 / 10;
  }
  .cw-service-hero--zone .cw-service-zone__inner{
    width:min(calc(100% - 40px),1300px);
    min-height:0!important;
    gap:20px;
    padding-top:26px!important;
    padding-bottom:30px!important;
  }
  .cw-service-hero--zone .cw-service-zone__content{width:100%;max-width:none}
  .cw-service-hero--zone .cw-service-zone__eyebrow{margin-bottom:10px}
  .cw-service-hero--zone .cw-service-hero__title{
    max-width:100%;
    font-size:clamp(30px,9.4vw,41px);
    line-height:.99;
    letter-spacing:-.043em;
    text-wrap:pretty;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-long .cw-service-hero__title{font-size:clamp(25px,7.9vw,33px)!important}
  .cw-service-hero--zone.cw-service-hero--title-word-xl .cw-service-hero__title{font-size:clamp(22px,7.1vw,29px)!important}
  .cw-service-hero--zone .cw-service-zone__visual{
    width:100%;
    max-width:none;
    display:flex;
    flex-direction:column;
    padding:0;
  }
  .cw-service-hero--zone .cw-service-zone__media{
    width:100%;
    height:auto;
    aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10));
    border-radius:18px;
    box-shadow:0 12px 28px color-mix(in srgb,var(--cw-pf-text,#333333) 7%,transparent);
  }
  .cw-service-hero--zone .cw-service-zone__frame{inset:7px;border-radius:12px}
  .cw-service-hero--zone .cw-service-zone__location:not(.cw-service-zone__location--inline){
    position:relative;
    inset:auto;
    width:100%;
    min-width:0;
    max-width:none;
    margin-top:9px;
    padding:9px 11px 9px 9px;
    border-radius:13px;
    box-shadow:none;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
  }
  .cw-service-hero--zone .cw-service-zone__location--inline{width:100%;margin-top:16px}
  
  
}


/* v1.1.114 · Editorial lateral usa una superficie tonal completa en ambos modos.
   Se elimina el halo aislado que podía terminar visualmente cortado en el borde
   de la sección; el contraste se distribuye en toda la superficie del hero. */


/* ==========================================================================
   v1.1.115 · Editorial lateral Ads: hueso + halo integrado + CTA estable
   ========================================================================== */
.cw-service-hero--zone{
  --cw-editorial-bone:#F4EEE4;
  --cw-zone-base:var(--cw-editorial-bone);
  --cw-zone-bg:color-mix(in srgb,var(--cw-pf-primary,#00CFAB) 3.5%,var(--cw-editorial-bone) 96.5%);
  background-color:var(--cw-editorial-bone)!important;
  background-image:
    radial-gradient(ellipse 72% 66% at 8% 92%,color-mix(in srgb,var(--cw-sh-accent) 12%,transparent) 0%,transparent 62%),
    radial-gradient(ellipse 52% 54% at 83% 18%,color-mix(in srgb,#fff 48%,transparent) 0%,transparent 72%),
    linear-gradient(112deg,color-mix(in srgb,var(--cw-sh-accent) 3.5%,var(--cw-editorial-bone) 96.5%) 0%,var(--cw-editorial-bone) 58%,color-mix(in srgb,#fff 24%,var(--cw-editorial-bone) 76%) 100%)!important;
  background-repeat:no-repeat!important;
}
html[data-theme="dark"] .cw-service-hero--zone,
body[data-theme="dark"] .cw-service-hero--zone{
  --cw-zone-base:var(--cw-pf-background,#10282A);
  --cw-zone-bg:color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 5%,var(--cw-zone-base) 95%);
  background-color:var(--cw-zone-base)!important;
  background-image:
    radial-gradient(ellipse 72% 66% at 8% 92%,color-mix(in srgb,var(--cw-sh-accent) 13%,transparent) 0%,transparent 62%),
    radial-gradient(ellipse 46% 52% at 84% 18%,color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 5%,transparent) 0%,transparent 72%),
    linear-gradient(112deg,color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 4%,var(--cw-zone-base) 96%) 0%,var(--cw-zone-base) 58%,color-mix(in srgb,#071C1D 16%,var(--cw-zone-base) 84%) 100%)!important;
}








/* ==========================================================================
   v1.1.116 · Editorial lateral — CTA del sistema + header integrado
   ========================================================================== */
/* El header editorial se superpone al mismo fondo de la landing. Reservamos
   su altura dentro de la composición para que el contenido nunca colisione. */
.cw-service-hero--zone .cw-service-zone__inner{
  padding-top:calc(var(--cw-sh-header,92px) + clamp(34px,4.2vw,58px))!important;
}

/* Los CTA del hero usan exactamente la microinteracción base de CW Botón:
   destello + cambio cromático. No hay elevación, escala ni cambio de medidas. */











@media(max-width:1024px){
  .cw-service-hero--zone .cw-service-zone__inner{
    padding-top:calc(var(--cw-sh-header,82px) + 30px)!important;
  }
}
@media(max-width:767px){
  .cw-service-hero--zone .cw-service-zone__inner{
    padding-top:calc(var(--cw-sh-header,72px) + 16px)!important;
  }
}


/* ==========================================================================
   v1.1.117 · Editorial lateral — mobile composition rebuilt
   --------------------------------------------------------------------------
   On phones the editorial hero is not a shrunk desktop grid. The content,
   media and CTAs become one deliberate vertical composition. The image width
   configured for desktop never leaks into mobile, location stays attached to
   the image, and the section has intrinsic height with no dead space.
   ========================================================================== */
@media(max-width:767px){
  .cw-service-hero--zone{
    min-height:0!important;
    --cw-sh-gutter:16px;
    overflow:clip;
  }
  .cw-service-hero--zone .cw-service-zone__inner{
    width:min(calc(100% - 32px),1300px)!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
    padding-top:calc(var(--cw-sh-header,72px) + 20px)!important;
    padding-bottom:24px!important;
  }
  /* Let the semantic pieces participate directly in the mobile flow so the
     visual can sit between copy and CTA without duplicating markup. */
  .cw-service-hero--zone .cw-service-zone__content{display:contents!important}
  .cw-service-hero--zone .cw-service-zone__eyebrow{
    order:1;
    margin:0 0 9px!important;
    font-size:8.5px!important;
    letter-spacing:.145em!important;
  }
  .cw-service-hero--zone .cw-service-hero__title{
    order:2;
    width:100%;
    max-width:100%!important;
    margin:0!important;
    font-size:clamp(31px,9.25vw,39px)!important;
    line-height:.99!important;
    letter-spacing:-.042em!important;
    text-wrap:pretty;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-long .cw-service-hero__title{
    font-size:clamp(27px,8.35vw,34px)!important;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-xl .cw-service-hero__title{
    font-size:clamp(24px,7.55vw,31px)!important;
  }
  .cw-service-hero--zone .cw-service-hero__lead{
    order:3;
    width:100%;
    max-width:none!important;
    margin:12px 0 0!important;
    font-size:14px!important;
    line-height:1.46!important;
  }
  .cw-service-hero--zone .cw-service-hero__services{
    order:4;
    width:100%;
    margin:12px 0 0!important;
  }
  .cw-service-hero--zone .cw-service-zone__visual{
    order:5;
    position:relative!important;
    width:100%!important;
    max-width:none!important;
    margin:18px 0 0!important;
    padding:0!important;
  }
  .cw-service-hero--zone .cw-service-zone__visual::before{display:none!important}
  .cw-service-hero--zone .cw-service-zone__media{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10))!important;
    border-radius:18px!important;
    box-shadow:0 12px 30px color-mix(in srgb,var(--cw-pf-text,#333333) 7%,transparent)!important;
  }
  .cw-service-hero--zone .cw-service-zone__frame{
    inset:7px!important;
    border-radius:12px!important;
  }
  /* Local datum remains visually attached to the media on mobile. */
  .cw-service-hero--zone .cw-service-zone__location:not(.cw-service-zone__location--inline){
    position:absolute!important;
    left:10px!important;
    right:auto!important;
    bottom:10px!important;
    width:auto!important;
    min-width:138px!important;
    max-width:calc(100% - 20px)!important;
    margin:0!important;
    padding:7px 10px 7px 7px!important;
    border-radius:12px!important;
    box-shadow:0 8px 22px color-mix(in srgb,var(--cw-pf-text,#333333) 10%,transparent)!important;
    backdrop-filter:blur(12px) saturate(1.05)!important;
    -webkit-backdrop-filter:blur(12px) saturate(1.05)!important;
  }
  .cw-service-hero--zone .cw-service-zone__location--inline{
    order:5;
    width:100%!important;
    margin:16px 0 0!important;
  }
  .cw-service-hero--zone .cw-service-zone__location-icon{
    width:29px!important;
    height:29px!important;
    flex-basis:29px!important;
    border-radius:9px!important;
  }
  .cw-service-hero--zone .cw-service-zone__location-icon svg{width:15px!important;height:15px!important}
  .cw-service-hero--zone .cw-service-zone__location-copy strong{font-size:11.75px!important}
  .cw-service-hero--zone .cw-service-zone__location-copy span{font-size:9.75px!important;margin-top:2px!important}
  
  
  
  
}

/* Hero CTA interaction: the shimmer is the interaction. Do not darken, lift,
   scale or resize the CTA; this matches the stable premium buttons used across
   the site and guarantees zero layout shift. */





/* ==========================================================================
   v1.1.118 · Editorial Ads — fondo oscuro visible + CTA del sistema
   --------------------------------------------------------------------------
   Claro conserva el hueso. En oscuro el hero usa una superficie editorial
   propia (ligeramente distinta del fondo global) con halos amplios, para que
   siga leyéndose como una landing de campaña y no como un bloque transparente.
   Los CTA no tienen un hover cromático paralelo: la microinteracción es el
   shimmer de CW Botón y el movimiento estable de la flecha.
   ========================================================================== */
html[data-theme="dark"] .cw-service-hero--zone,
body[data-theme="dark"] .cw-service-hero--zone{
  --cw-editorial-dark-base:color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 7%,var(--cw-pf-surface,#153638) 93%);
  --cw-zone-base:var(--cw-editorial-dark-base);
  --cw-zone-bg:var(--cw-editorial-dark-base);
  background-color:var(--cw-editorial-dark-base)!important;
  background-image:
    radial-gradient(ellipse 76% 72% at 7% 94%,color-mix(in srgb,var(--cw-sh-accent,#36CEAB) 18%,transparent) 0%,transparent 64%),
    radial-gradient(ellipse 58% 58% at 86% 14%,color-mix(in srgb,var(--cw-pf-primary,#36CEAB) 9%,transparent) 0%,transparent 72%),
    linear-gradient(112deg,
      color-mix(in srgb,var(--cw-sh-accent,#36CEAB) 7%,var(--cw-editorial-dark-base) 93%) 0%,
      var(--cw-editorial-dark-base) 56%,
      color-mix(in srgb,#061A1B 16%,var(--cw-editorial-dark-base) 84%) 100%)!important;
  background-repeat:no-repeat!important;
}

/* El hero usa el mismo principio del CW Botón Premium: caja estable, shimmer y
   una microinteracción del icono; no inventamos otro hover de fondo/elevación. */








/* ==========================================================================
   v1.1.119 · CTA del Encabezado — mismo lenguaje de CW Botón Premium
   --------------------------------------------------------------------------
   El estado hover no introduce un diseño paralelo: conserva fondo, borde y
   geometría. La respuesta visual es shimmer + microanimación del icono dentro
   de un slot fijo, exactamente como el sistema de botón del sitio.
   ========================================================================== */






/* Primario: el hover conserva exactamente el color base. */

/* Secundario: misma superficie antes y después del hover; el shimmer y el
   icono son los únicos cambios visuales. */



@media(max-width:767px){
  
  
  
}


/* ==========================================================================
   v1.1.124 · CTA Encabezado Servicio — microinteracción correcta
   --------------------------------------------------------------------------
   Conserva el mismo efecto de texto "Desplazamiento suave" del sistema de
   botones, pero el icono NO se desplaza horizontalmente: gira dentro de una
   caja estable (360° -> 720°), tal como en los botones ya usados en el sitio.
   Sin shimmer, sin elevación, sin escala y sin layout shift.
   ========================================================================== */


/* Nunca dibujar el destello del antiguo cw-effect-shine en el hero. */









@media(max-width:767px){
  
}

/* ========================================================================== 
   v1.1.123 · Editorial lateral — mobile composition final
   --------------------------------------------------------------------------
   Mobile is designed as its own composition, not a compressed desktop hero:
   media first, copy second, CTA third. Uses the site's 30px mobile gutter and
   adds deliberate breathing room before the following section.
   ========================================================================== */
@media(max-width:767px){
  .cw-service-hero--zone{
    --cw-sh-gutter:30px!important;
    min-height:0!important;
    overflow:clip;
  }

  .cw-service-hero--zone .cw-service-zone__inner{
    width:calc(100% - 60px)!important;
    max-width:none!important;
    min-height:0!important;
    margin-inline:auto!important;
    padding-top:calc(var(--cw-sh-header,72px) + 16px)!important;
    padding-bottom:44px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:0!important;
  }

  /* display:contents lets media, title, optional support copy and CTA become
     siblings in the mobile flow without duplicating semantic markup. */
  .cw-service-hero--zone .cw-service-zone__content{
    display:contents!important;
  }

  /* 1 · Media. The desktop width control never leaks into phones. */
  .cw-service-hero--zone.cw-service-hero--zone-media .cw-service-zone__visual{
    order:1!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media .cw-service-zone__media{
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10))!important;
    border-radius:20px!important;
    box-shadow:0 13px 32px color-mix(in srgb,var(--cw-pf-text,#333333) 8%,transparent)!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media .cw-service-zone__frame{
    inset:7px!important;
    border-radius:14px!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media .cw-service-zone__location:not(.cw-service-zone__location--inline){
    left:10px!important;
    right:10px!important;
    bottom:10px!important;
    width:max-content!important;
    max-width:calc(100% - 20px)!important;
    min-width:0!important;
    padding:7px 11px 7px 7px!important;
    border-radius:12px!important;
  }

  /* 2 · Typography. Eyebrow is optional and stays visually attached to title. */
  .cw-service-hero--zone .cw-service-zone__eyebrow{
    order:2!important;
    margin:22px 0 8px!important;
  }
  .cw-service-hero--zone .cw-service-hero__title{
    order:3!important;
    width:100%!important;
    max-width:100%!important;
    margin:22px 0 0!important;
    font-size:clamp(29px,8.7vw,36px)!important;
    line-height:1.01!important;
    letter-spacing:-.038em!important;
    text-wrap:pretty;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .cw-service-hero--zone .cw-service-zone__eyebrow + .cw-service-hero__title{
    margin-top:0!important;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-long .cw-service-hero__title{
    font-size:clamp(26px,7.9vw,33px)!important;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-xl .cw-service-hero__title{
    font-size:clamp(23px,7.15vw,30px)!important;
  }

  /* Optional supporting content remains compact between title and CTA. */
  .cw-service-hero--zone .cw-service-hero__lead{
    order:4!important;
    width:100%!important;
    max-width:none!important;
    margin:12px 0 0!important;
    font-size:13.5px!important;
    line-height:1.46!important;
  }
  .cw-service-hero--zone .cw-service-hero__services{
    order:5!important;
    width:100%!important;
    margin:12px 0 0!important;
  }

  /* 3 · CTA. Compact, aligned and immediately connected to the message. */
  
  

  /* No-media editorial pages keep a natural copy-first flow. */
  .cw-service-hero--zone-no-media .cw-service-zone__eyebrow{margin-top:0!important}
  .cw-service-hero--zone-no-media .cw-service-hero__title{margin-top:0!important}
  .cw-service-hero--zone-no-media .cw-service-zone__location--inline{
    order:7!important;
    width:100%!important;
    margin:18px 0 0!important;
  }
}

/* v1.1.123 · Communication actions use the project-approved SVG masks. */


/* ==========================================================================
   v1.1.126 · CTA del Encabezado = CW Botón Premium
   --------------------------------------------------------------------------
   El hero deja de tener una geometría/microinteracción paralela. Usa las
   mismas medidas base del widget aprobado: 14px de texto, icono 20px,
   transición 360ms, rotación 360→720 y desplazamiento X de 5px. El slot del
   icono permanece fijo para que no haya layout shift.
   ========================================================================== */






@media(max-width:767px){
  
}
@media(max-width:767px){.cw-service-hero__eyebrow,.cw-service-zone__eyebrow{font-size:12px!important;line-height:1.4!important;letter-spacing:.095em!important}}

/* ========================================================================
   v1.0.54 · Encabezado de servicios Punto Fisio
   Proporciones más contenidas, antetítulo legible y sin rayas decorativas.
   Los CTA conservan una caja de tamaño invariable, incluso en hover.
   ======================================================================== */
.cw-service-hero{
  --cw-service-cta-icon:18px;
  --cw-service-cta-height:44px;
}
.cw-service-hero .cw-service-hero__eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  gap:0!important;
  font-size:clamp(12px,1.05vw,13px)!important;
  font-weight:720!important;
  letter-spacing:.07em!important;
  line-height:1.4!important;
  margin:0 0 16px!important;
  text-transform:uppercase;
}
.cw-service-hero .cw-service-hero__eyebrow-line{display:none!important}
.cw-service-hero .cw-service-hero__title{
  font-size:clamp(36px,3.28vw,51px)!important;
  line-height:1.08!important;
  font-weight:660!important;
  letter-spacing:-.038em!important;
  text-wrap:balance;
}
.cw-service-hero .cw-service-hero__lead{
  font-size:clamp(15px,1.1vw,17px)!important;
  line-height:1.64!important;
  letter-spacing:-.007em;
  margin-top:20px!important;
}
.cw-service-hero--zone .cw-service-zone__inner{
  grid-template-columns:minmax(0,1.04fr) minmax(320px,.91fr);
  gap:clamp(30px,4.8vw,70px);
}
.cw-service-hero--zone .cw-service-hero__title{
  max-width:720px;
  font-size:clamp(35px,3.04vw,48px)!important;
}
.cw-service-hero--zone .cw-service-zone__visual{
  align-self:center;
}
.cw-service-hero--zone .cw-service-zone__media{
  height:clamp(310px,31vw,420px);
  border-radius:22px;
}
.cw-service-hero--zone .cw-service-zone__frame{
  border-radius:14px;
  opacity:.6;
}
/* Encabezados interiores sin imagen: dejar de reservar una gran cabecera vacía. */
.cw-service-hero--solid:not(.cw-service-hero--zone){
  min-height:min(var(--cw-sh-height,430px),390px);
}
.cw-service-hero--solid:not(.cw-service-hero--zone) .cw-service-hero__inner{
  min-height:inherit;
}
/* Botones: geometría estable, sin giro ni ampliación del icono.
   Una transición de color progresiva sustituye los estados bruscos anteriores. */




/* Gradiente y contorno con los tonos del sitio, sin saltos cromáticos. */



@media(max-width:1024px){
  .cw-service-hero .cw-service-hero__title{font-size:clamp(34px,4.2vw,44px)!important}
  .cw-service-hero--zone .cw-service-hero__title{font-size:clamp(32px,4vw,42px)!important}
}
@media(max-width:767px){
  .cw-service-hero .cw-service-hero__eyebrow,
  .cw-service-hero--zone .cw-service-zone__eyebrow{
    font-size:11.5px!important;
    letter-spacing:.045em!important;
    line-height:1.45!important;
    margin-bottom:10px!important;
  }
  .cw-service-hero .cw-service-hero__title,
  .cw-service-hero--zone .cw-service-hero__title{
    font-size:clamp(29px,7.7vw,35px)!important;
    line-height:1.09!important;
    letter-spacing:-.033em!important;
  }
  .cw-service-hero--zone.cw-service-hero--title-word-long .cw-service-hero__title,
  .cw-service-hero--zone.cw-service-hero--title-word-xl .cw-service-hero__title{
    font-size:clamp(26px,7.1vw,32px)!important;
  }
  .cw-service-hero--zone .cw-service-zone__media{height:auto;aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10))}
  .cw-service-hero .cw-service-hero__lead{font-size:14px!important;line-height:1.56!important}
  
  
}
@media(prefers-reduced-motion:reduce){
  
}


/* v1.0.55 — Servicio: identidad clínica Punto Fisio, sin estilos heredados del sitio anterior. */
.cw-service-hero--zone{
  --cw-service-bg-light:#F4F9FB;
  --cw-service-bg-dark:var(--cw-pf-background,#07161C);
  --cw-service-eyebrow:var(--e-global-color-accent,var(--cw-pf-accent,#00bea9));
  --cw-service-blue:var(--e-global-color-secondary,#00aeef);
  --cw-service-green:var(--e-global-color-primary,#00cbae);
  --cw-service-accent:var(--e-global-color-accent,#19c9bb);
  background:var(--cw-service-bg-light)!important;
}
/* El fondo parte de la superficie del sitio, no de un degradado beige ajeno a la marca. */
.cw-service-hero--zone.cw-service-hero--bg-clinical{
  background: radial-gradient(ellipse 55% 72% at 93% 45%, color-mix(in srgb,var(--cw-service-blue) 5%,transparent) 0%,transparent 85%), var(--cw-service-bg-light)!important;
}
.cw-service-hero--zone.cw-service-hero--bg-soft{
  background:linear-gradient(120deg,var(--cw-service-bg-light) 0%,color-mix(in srgb,var(--cw-service-green) 6%,var(--cw-service-bg-light)) 100%)!important;
}
html[data-theme=dark] .cw-service-hero--zone,body[data-theme=dark] .cw-service-hero--zone{
  background:var(--cw-service-bg-dark)!important;
}
html[data-theme=dark] .cw-service-hero--zone.cw-service-hero--bg-clinical,body[data-theme=dark] .cw-service-hero--zone.cw-service-hero--bg-clinical{
  background:radial-gradient(ellipse 55% 72% at 93% 45%,color-mix(in srgb,var(--cw-service-blue) 7%,transparent) 0%,transparent 84%),var(--cw-service-bg-dark)!important;
}
html[data-theme=dark] .cw-service-hero--zone.cw-service-hero--bg-soft,body[data-theme=dark] .cw-service-hero--zone.cw-service-hero--bg-soft{
  background:linear-gradient(120deg,var(--cw-service-bg-dark),color-mix(in srgb,var(--cw-service-green) 7%,var(--cw-service-bg-dark)))!important;
}
.cw-service-hero .cw-service-hero__eyebrow,
.cw-service-hero--zone .cw-service-zone__eyebrow{
  color:var(--cw-service-eyebrow,var(--e-global-color-accent,#17c3b4))!important;
  font-size:clamp(12px,1vw,14px)!important;
  font-weight:720!important;
  letter-spacing:.045em!important;
  line-height:1.4!important;
}
.cw-service-hero--zone .cw-service-hero__title{
  font-size:clamp(34px,2.9vw,47px)!important;
  line-height:1.13!important;
  font-weight:670!important;
  letter-spacing:-.036em!important;
}
/* Se puede seleccionar una frase destacada: color sólido o degradado del sitio, sin línea decorativa. */
.cw-service-hero .cw-service-hero__highlight--gradient,
.cw-service-hero .cw-service-hero__highlight--gradient_line{
  color:var(--cw-service-blue)!important;
  background:linear-gradient(92deg,var(--cw-service-blue),var(--cw-service-green))!important;
  -webkit-background-clip:text!important;
  background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  text-decoration:none!important;
  border:0!important;
  box-shadow:none!important;
}
.cw-service-hero .cw-service-hero__highlight--gradient_line::after,
.cw-service-hero .cw-service-hero__highlight--gradient_line::before{content:none!important;display:none!important}
/* Punto discreto de identidad detrás de la fotografía (no tarjeta rectangular pastel). */
.cw-service-hero--zone .cw-service-zone__visual{
  padding:0!important;
  overflow:visible!important;
}
.cw-service-hero--zone .cw-service-zone__visual::before{
  display:block!important;
  content:"";
  left:auto!important;bottom:auto!important;
  right:-17px!important;top:-17px!important;
  width:clamp(155px,20vw,300px)!important;
  height:auto!important;aspect-ratio:1!important;
  border-radius:50%!important;
  background:color-mix(in srgb,var(--cw-service-green) 8%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--cw-service-green) 12%,transparent)!important;
  box-shadow:none!important;
}
.cw-service-hero--zone .cw-service-zone__media{
  position:relative!important;
  height:auto!important;
  aspect-ratio:var(--cw-editorial-media-ratio,4 / 3)!important;
  border-radius:clamp(18px,1.9vw,26px)!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--cw-pf-text,#273438) 7%,transparent)!important;
}
.cw-service-hero--zone .cw-service-zone__media::after{background:linear-gradient(180deg,transparent 78%,rgba(0,0,0,.13) 100%)!important}
.cw-service-hero--zone .cw-service-zone__frame{display:none!important}
.cw-service-hero--zone .cw-service-zone__location{box-shadow:0 6px 16px rgba(0,0,0,.07)!important}
@media(min-width:768px){
  .cw-service-hero--zone.cw-service-hero--image-stretch .cw-service-zone__inner{align-items:stretch!important}
  .cw-service-hero--zone.cw-service-hero--image-stretch .cw-service-zone__visual{align-self:stretch!important;min-height:400px}
  .cw-service-hero--zone.cw-service-hero--image-stretch .cw-service-zone__media{height:100%!important;min-height:400px;aspect-ratio:auto!important}
}
/* CTA: mismo barrido azul > verde > acento del sistema, sin salto ni slide-up del texto. */










@media(max-width:767px){
  .cw-service-hero--zone .cw-service-zone__visual::before{width:118px!important;right:-6px!important;top:-9px!important}
  .cw-service-hero--zone .cw-service-zone__media{height:auto!important;aspect-ratio:var(--cw-editorial-phone-ratio,var(--cw-editorial-media-ratio,16 / 10))!important}
  .cw-service-hero--zone .cw-service-hero__title{font-size:clamp(29px,8vw,36px)!important}
  .cw-service-hero .cw-service-hero__eyebrow{font-size:11px!important;letter-spacing:.03em!important}
  .cw-service-hero--zone .cw-service-zone__inner{gap:24px!important;padding-bottom:38px!important}
}
/* Misma altura en estado normal, hover y foco también en móvil: cero salto vertical. */
@media(max-width:767px){
  
}
@media(max-width:767px){
  
}


/* v1.0.56 · Encabezado Servicio: transición unificada con los CTAs del sitio.
   La caja, el borde, el tamaño del icono y la tipografía nunca varían en hover.
   Solo se elevan 2 px el botón y se desplaza 3 px el icono (sin giro). */

@media (hover:hover) and (pointer:fine) {
    
}



@media (hover:hover) and (pointer:fine) {
    
}







@media(max-width:767px) {
    
}
@media (prefers-reduced-motion:reduce) {
    
    
}

/* Encabezado de servicio: estados de acción estables y un único motor de transición.
   Aislamiento explícito del widget global de Botón Premium. */
html body .cw-service-hero .cw-service-hero__actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 24px 0 0 !important;
  padding: 0 !important;
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action,
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  --cw-action-icon-size: 17px;
  position: relative !important;
  isolation: isolate;
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
  margin: 0 !important;
  padding: 0 17px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  font: 700 12.5px/1 var(--e-global-typography-primary-font-family,Montserrat,Arial,sans-serif) !important;
  letter-spacing: .012em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  text-shadow: none !important;
  filter: none !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
  scale: 1 !important;
  rotate: 0deg !important;
  transform: translate3d(0,0,0) !important;
  transition: transform .34s cubic-bezier(.22,.7,.28,1),
              background-position .45s cubic-bezier(.22,.61,.36,1),
              background-color .3s ease, border-color .3s ease,
              color .3s ease, box-shadow .34s ease !important;
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action::before,
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action::after {
  content: none !important;
  display: none !important;
}
html body .cw-service-hero .cw-service-hero__action-label {
  display: block !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  font: inherit !important;
  line-height: 1 !important;
  letter-spacing: inherit !important;
  white-space: nowrap !important;
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}
html body .cw-service-hero .cw-service-hero__action-icon {
  display: inline-flex !important;
  place-items: center !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: content-box !important;
  flex: 0 0 var(--cw-action-icon-size) !important;
  width: var(--cw-action-icon-size) !important;
  min-width: var(--cw-action-icon-size) !important;
  max-width: var(--cw-action-icon-size) !important;
  height: var(--cw-action-icon-size) !important;
  min-height: var(--cw-action-icon-size) !important;
  max-height: var(--cw-action-icon-size) !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: translate3d(0,0,0) !important;
  transition: transform .36s cubic-bezier(.22,.7,.28,1) !important;
}
html body .cw-service-hero .cw-service-hero__action-icon :is(svg,.cw-brand-icon) {
  display: block !important;
  flex: none !important;
  width: var(--cw-action-icon-size) !important;
  min-width: var(--cw-action-icon-size) !important;
  max-width: var(--cw-action-icon-size) !important;
  height: var(--cw-action-icon-size) !important;
  min-height: var(--cw-action-icon-size) !important;
  max-height: var(--cw-action-icon-size) !important;
  transform: none !important;
  rotate: 0deg !important;
  scale: 1 !important;
  transition: none !important;
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--primary:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  color: #fff !important;
  border-color: transparent !important;
  background-color: var(--cw-service-green,#00cfab) !important;
  background-image: linear-gradient(90deg,var(--cw-service-blue,#00acf8),var(--cw-service-green,#00cfab) 50%,var(--cw-service-accent,#36ceab)) !important;
  background-size: 200% 100% !important;
  background-position: 0% 50%;
  background-repeat: no-repeat !important;
  box-shadow: 0 7px 19px rgba(0,137,150,.13) !important;
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  color: var(--cw-pf-text,#333) !important;
  border: 1px solid color-mix(in srgb,currentColor 28%,transparent) !important;
  background: transparent !important;
  box-shadow: none !important;
}
html[data-theme=dark] body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary:is(:link,:visited,:hover,:focus,:focus-visible,:active),
html body[data-theme=dark] .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  color: var(--cw-pf-text,#f3f7f7) !important;
}
/* La cápsula secundaria nunca se desplaza ni cambia su geometría. */
@media (hover:hover) and (pointer:fine) {
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--primary:is(:hover,:focus-visible) {
    transform: translate3d(0,-2px,0) !important;
    background-position: 100% 50% !important;
    box-shadow: 0 10px 23px rgba(0,137,150,.18) !important;
  }
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary:is(:hover,:focus-visible) {
    transform: translate3d(0,0,0) !important;
    color: var(--cw-service-green,#00cfab) !important;
    border-color: var(--cw-service-green,#00cfab) !important;
    box-shadow: none !important;
  }
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action:is(:hover,:focus-visible) .cw-service-hero__action-icon {
    transform: translate3d(2px,0,0) !important;
  }
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action:active {
  transform: translate3d(0,0,0) !important;
}
@media(max-width:767px) {
  html body .cw-service-hero .cw-service-hero__actions {order:6!important;width:100%!important;max-width:none!important;gap:8px!important;margin-top:18px!important;flex-wrap:nowrap!important;}
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
    flex: 1 1 0 !important;
    height: 43px !important;
    min-height: 43px !important;
    max-height: 43px !important;
    padding: 0 10px !important;
    gap: 7px !important;
    font-size: 11.5px !important;
    --cw-action-icon-size: 16px;
  }
}
@media(prefers-reduced-motion:reduce){
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action,
  html body .cw-service-hero .cw-service-hero__action-icon {transition:none!important}
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--primary:is(:hover,:focus-visible),
  html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action:is(:hover,:focus-visible) .cw-service-hero__action-icon {transform:none!important}
}
/* Respetar las ascendentes, los descendentes y las palabras destacadas en varias líneas. */
html body .cw-service-hero .cw-service-hero__title {
  line-height: 1.23 !important;
  padding: .07em .055em .14em !important;
  margin: -.07em -.055em -.14em !important;
  overflow: visible !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
html body .cw-service-hero .cw-service-hero__highlight--gradient,
html body .cw-service-hero .cw-service-hero__highlight--gradient_line {
  display: inline !important;
  padding-inline: .025em !important;
  padding-block: .07em .16em !important;
  margin-inline: -.015em !important;
  box-decoration-break: clone !important;
  -webkit-box-decoration-break: clone !important;
  text-decoration: none !important;
  line-height: inherit !important;
}
@media(max-width:767px){html body .cw-service-hero .cw-service-hero__title{line-height:1.2!important;}}

/* Preservar la opción de contorno degradado del secundario sin modificar el box-model. */
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary.cw-pf-outline-preset-gradient:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  border-color: transparent !important;
}
html body .cw-service-hero .cw-service-hero__actions > a.cw-service-hero__action--secondary.cw-pf-outline-preset-gradient::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  border-radius: inherit !important;
  border: 1px solid transparent !important;
  background: linear-gradient(110deg,var(--cw-service-blue,#00acfb),var(--cw-service-green,#00cfab)) border-box !important;
  -webkit-mask: linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0) !important;
  -webkit-mask-composite: xor !important;
  mask-composite: exclude !important;
  pointer-events: none !important;
  opacity: 1 !important;
  z-index: 0 !important;
  transform: none !important;
  transition: none !important;
}
html body .cw-service-hero--media .cw-service-hero__actions > a.cw-service-hero__action--secondary:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  color: #fff !important;
  border-color: rgba(255,255,255,.55) !important;
}
html body .cw-service-hero--media .cw-service-hero__actions > a.cw-service-hero__action--secondary.cw-pf-outline-preset-gradient:is(:link,:visited,:hover,:focus,:focus-visible,:active) {
  border-color: transparent !important;
}


/* v1.0.61 · Ilustración institucional opcional en el extremo derecho.
   Capa puramente visual: no modifica la geometría ni intercepta eventos. */
.cw-service-hero--zone.cw-service-hero--ornament-none .cw-service-zone__visual::before,
.cw-service-hero--zone.cw-service-hero--ornament-figure_1 .cw-service-zone__visual::before,
.cw-service-hero--zone.cw-service-hero--ornament-figure_2 .cw-service-zone__visual::before{
  content:none!important;
  display:none!important;
}
.cw-service-hero--zone .cw-service-hero__ornament{
  position:absolute;
  z-index:0;
  inset-block:4% 4%;
  right:clamp(-110px,-5vw,-35px);
  width:clamp(330px,34vw,600px);
  height:92%;
  background-repeat:no-repeat;
  background-position:center right;
  background-size:contain;
  opacity:var(--cw-service-ornament-opacity,55%);
  pointer-events:none;
  user-select:none;
  mask-image:linear-gradient(90deg,transparent,black 20%);
  -webkit-mask-image:linear-gradient(90deg,transparent,black 20%);
}
.cw-service-hero--zone.cw-service-hero--ornament-figure_2 .cw-service-hero__ornament{
  background-image:url('./assets/service-ornament-profile.webp');
}
.cw-service-hero--zone.cw-service-hero--ornament-figure_1 .cw-service-hero__ornament{
  background-image:url('./assets/service-ornament-back.webp');
}
.cw-service-hero--zone .cw-service-zone__inner{position:relative;z-index:2}
/* Celulares y tablets: sin descarga ni carga visual innecesaria de la decoración. */
@media(max-width:1024px){
  .cw-service-hero--zone .cw-service-hero__ornament{display:none!important;background-image:none!important}
}

/* v1.0.62 — ENTRADA REAL EN CASCADA (editorial lateral).
   Antes partía de 87–90% de opacidad y solo 10px: el contenido parecía
   presente todo el tiempo. Ahora aparece realmente desde transparente.
   Solo opacity + transform (compositor), sin cambiar tamaños ni posiciones
   de otros elementos, sin dependencias JS ni flashes por inicialización.
   La visibilidad normal es el estado predeterminado: si el CSS no se carga,
   los contenidos siguen siendo accesibles.
*/
@keyframes cw-service-enter-up {
  0%   { opacity:0; transform:translate3d(0,28px,0); }
  100% { opacity:1; transform:translate3d(0,0,0); }
}
/* Fotografía: aparece desde abajo, sin giro, desplazamiento lateral ni zoom. */
@keyframes cw-service-enter-visual {
  0%   { opacity:0; transform:translate3d(0,18px,0); }
  100% { opacity:1; transform:translate3d(0,0,0); }
}
@media (prefers-reduced-motion:no-preference) {
  /* El uso de animation-fill-mode:both hace invisible cada bloque ANTES de
     que llegue su turno: es una entrada, no solo un pequeño movimiento. */
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > :is(
    .cw-service-hero__eyebrow,
    .cw-service-hero__title,
    .cw-service-hero__lead,
    .cw-service-hero__services,
    .cw-service-hero__actions,
    .cw-service-zone__location
  ) {
    animation-name:cw-service-enter-up;
    animation-duration:.78s;
    animation-timing-function:cubic-bezier(.22,.66,.23,1);
    animation-fill-mode:both;
    animation-iteration-count:1;
  }
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__eyebrow{animation-delay:.06s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__title{animation-delay:.20s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__lead{animation-delay:.38s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__services{animation-delay:.54s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__actions{animation-delay:.70s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-zone__location{animation-delay:.76s}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__visual{
    animation:cw-service-enter-visual .78s cubic-bezier(.22,.68,.24,1) .28s both;
  }
}
/* Dentro del editor mantenemos todos los elementos visibles para editar
   con precisión, sin animaciones al cambiar controles en Elementor. */
@media (prefers-reduced-motion:reduce) {
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > *,
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__visual{
    animation:none!important;
    transform:none!important;
    opacity:1!important;
  }
}
body.elementor-editor-active .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > *,
body.elementor-editor-active .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__visual{
  animation:none!important;
  transform:none!important;
  opacity:1!important;
}


/* v1.0.63 — Composiciones y marco interior.
   La variante de lectura es opcional. Ninguna configuración guardada cambia.
*/
.cw-service-hero--zone.cw-service-hero--inner-frame .cw-service-zone__frame{
    display:block!important;
    position:absolute!important;
    inset:var(--cw-inner-frame-inset,11px)!important;
    z-index:3!important;
    pointer-events:none!important;
    border:var(--cw-inner-frame-width,1px) solid var(--cw-inner-frame-color,rgba(255,255,255,.68))!important;
    border-radius:max(5px,calc(22px - var(--cw-inner-frame-inset,11px)))!important;
    opacity:1!important;
    box-shadow:none!important;
}
@media(min-width:1025px){
  .cw-service-hero--composition-reading .cw-service-zone__inner{
    align-items:start!important;
    grid-template-columns:minmax(0,1fr) minmax(330px,.87fr);
    gap:clamp(42px,5vw,76px);
  }
  .cw-service-hero--composition-reading .cw-service-zone__content{
    max-width:66ch;
  }
  .cw-service-hero--composition-reading .cw-service-zone__visual{
    position:sticky!important;
    top:calc(var(--cw-sh-header,92px) + 24px);
    align-self:start!important;
    justify-self:stretch;
  }
  .cw-service-hero--composition-reading .cw-service-zone__media{
    max-height:min(68vh,620px)!important;
    aspect-ratio:var(--cw-editorial-media-ratio,4 / 3)!important;
    height:auto!important;
  }
  .cw-service-hero--composition-reading .cw-service-hero__lead{
    font-size:clamp(15px,1.08vw,17px)!important;
    line-height:1.72!important;
  }
}
@media(min-width:768px) and (max-width:1024px){
  .cw-service-hero--composition-reading .cw-service-zone__inner{
    grid-template-columns:minmax(0,1fr) minmax(280px,.82fr);
    align-items:start!important;
  }
  .cw-service-hero--composition-reading .cw-service-zone__visual{
    position:sticky!important;
    top:calc(var(--cw-sh-header,92px) + 16px);
    align-self:start!important;
  }
}

/* Evitar huecos añadidos por gap:24px y por márgenes sobrepuestos.
   En móvil el orden existente sigue siendo foto > título > texto > CTA. */
@media(max-width:767px){
  .cw-service-hero--zone .cw-service-zone__inner{
    gap:0!important;
    padding-bottom:30px!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media .cw-service-zone__visual{
    margin:0!important;
  }
  .cw-service-hero--zone .cw-service-zone__eyebrow{
    margin:14px 0 5px!important;
  }
  .cw-service-hero--zone .cw-service-hero__title{
    margin:0!important;
    padding:0!important;
  }
  .cw-service-hero--zone .cw-service-hero__lead{
    margin:12px 0 0!important;
  }
  .cw-service-hero--zone .cw-service-hero__services{margin:12px 0 0!important}
  .cw-service-hero--zone .cw-service-hero__actions{margin-top:18px!important}
  .cw-service-hero--zone.cw-service-hero--inner-frame .cw-service-zone__frame{
    border-radius:max(5px,calc(18px - var(--cw-inner-frame-inset,8px)))!important;
  }

  /* Lectura editorial: primero el mensaje clave, después foto y desarrollo.
     Las piezas siguen teniendo un solo marcado accesible y sin duplicados. */
  .cw-service-hero--composition-reading .cw-service-zone__eyebrow{
    order:1!important;
    margin:0 0 6px!important;
  }
  .cw-service-hero--composition-reading .cw-service-hero__title{order:2!important}
  .cw-service-hero--composition-reading.cw-service-hero--zone-media .cw-service-zone__visual{
    order:3!important;
    margin:15px 0 0!important;
  }
  .cw-service-hero--composition-reading .cw-service-hero__lead{
    order:4!important;
    margin:16px 0 0!important;
  }
  .cw-service-hero--composition-reading .cw-service-hero__services{order:5!important}
  .cw-service-hero--composition-reading .cw-service-hero__actions{order:6!important}
}

/* v1.0.65 | Etiqueta de ubicacion siempre ANCLADA a la fotografia.
   Las composiciones estandar, lectura, imagen alta y los ratios definidos
   por Elementor comparten el mismo punto de referencia. */
.cw-service-hero--zone .cw-service-zone__media {
  position:relative !important;
  isolation:isolate;
}
.cw-service-hero--zone .cw-service-zone__media > .cw-service-zone__location:not(.cw-service-zone__location--inline) {
  position:absolute !important;
  inset:auto auto 14px 14px !important;
  z-index:12 !important;
  display:flex !important;
  align-items:center;
  width:max-content !important;
  min-width:0 !important;
  max-width:calc(100% - 28px) !important;
  margin:0 !important;
  padding:9px 13px 9px 9px !important;
  transform:none !important;
  border-radius:13px !important;
  box-sizing:border-box;
  pointer-events:none;
}
@media(max-width:767px){
  .cw-service-hero--zone .cw-service-zone__media > .cw-service-zone__location:not(.cw-service-zone__location--inline){
    inset:auto auto 10px 10px !important;
    max-width:calc(100% - 20px) !important;
    padding:7px 10px 7px 7px !important;
    border-radius:11px !important;
  }
}


/* v1.0.66 · Texto de apoyo enriquecido. Los nuevos colores son opcionales.
   Se respeta la configuracion antigua cuando no se eligen colores nuevos. */
.cw-service-hero .cw-service-hero__lead{
  color:var(--cw-sh-lead-color,var(--cw-sh-muted-custom,var(--cw-zone-muted,currentColor)))!important;
}
.cw-service-hero .cw-service-hero__lead p{
  color:inherit!important;
  font:inherit;
  margin:0 0 1.14em!important;
  padding:0!important;
}
.cw-service-hero .cw-service-hero__lead p:last-child{margin-bottom:0!important}
.cw-service-hero .cw-service-hero__lead :is(strong,b){
  font-weight:700!important;
  color:var(--cw-sh-lead-bold-color,inherit)!important;
}
.cw-service-hero .cw-service-hero__lead :is(em,i){font-style:italic}
.cw-service-hero .cw-service-hero__lead a{
  color:var(--cw-sh-accent,#00c9ad)!important;
  text-underline-offset:3px;
}
/* El tema oscuro cambia solo las variables de color, no la tipografia. */
html[data-theme="dark"] .cw-service-hero .cw-service-hero__lead,
body[data-theme="dark"] .cw-service-hero .cw-service-hero__lead{
  color:var(--cw-sh-lead-color-dark,var(--cw-sh-muted-custom,var(--cw-zone-muted,currentColor)))!important;
}
html[data-theme="dark"] .cw-service-hero .cw-service-hero__lead :is(strong,b),
body[data-theme="dark"] .cw-service-hero .cw-service-hero__lead :is(strong,b){
  color:var(--cw-sh-lead-bold-color-dark,inherit)!important;
}

/* v1.0.66 · Secuencia movil coherente: todos los bloques llegan desde abajo.
   Se evita el desplazamiento lateral de la fotografia (que daba sensacion de
   animacion inconexa) y se sincronizan retrasos con el orden visual real. */
@keyframes cw-service-enter-mobile{
  from {opacity:0;transform:translate3d(0,14px,0)}
  to {opacity:1;transform:translate3d(0,0,0)}
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference){
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > :is(
      .cw-service-hero__eyebrow,.cw-service-hero__title,.cw-service-hero__lead,
      .cw-service-hero__services,.cw-service-hero__actions,.cw-service-zone__location
  ),
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__visual{
    animation-name:cw-service-enter-mobile!important;
    animation-duration:.56s!important;
    animation-timing-function:cubic-bezier(.22,.72,.22,1)!important;
    animation-fill-mode:both!important;
    animation-iteration-count:1!important;
  }
  /* Editorial actual: fotografias y texto siguen una cadencia suave. */
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__eyebrow{animation-delay:.06s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__title{animation-delay:.17s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__lead{animation-delay:.31s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__services{animation-delay:.43s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__visual{animation-delay:.53s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__actions{animation-delay:.67s!important}
  /* Variante lectura: la foto se situa tras el titulo en el orden visual. */
  .cw-service-hero--composition-reading.cw-service-hero--enter-stagger .cw-service-zone__visual{animation-delay:.32s!important}
  .cw-service-hero--composition-reading.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__lead{animation-delay:.46s!important}
  .cw-service-hero--composition-reading.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__services{animation-delay:.58s!important}
  .cw-service-hero--composition-reading.cw-service-hero--enter-stagger .cw-service-zone__content > .cw-service-hero__actions{animation-delay:.69s!important}
}

/* v1.0.71 · Listas del encabezado de servicio: mismo lenguaje clínico que
   CW Título Signature, sin cambios en el HTML guardado del editor. */
.cw-service-hero {
  --cw-sh-marker-ink: var(--cw-sh-accent, var(--e-global-color-accent, #00c7b1));
  --cw-sh-marker-size: 23px;
  --cw-sh-marker-gap: 9px;
}
.cw-service-hero .cw-service-hero__lead :is(ul, ol) {
  display: block !important;
  list-style: none !important;
  margin: .75em 0 1.05em !important;
  padding: 0 !important;
  max-width: 100%;
}
.cw-service-hero .cw-service-hero__lead :is(ul, ol) > li {
  position: relative !important;
  display: block !important;
  list-style: none !important;
  margin: 0 0 .72em !important;
  padding: 0 0 0 calc(var(--cw-sh-marker-size,23px) + var(--cw-sh-marker-gap,9px)) !important;
  min-width: 0;
  color: inherit;
  background: transparent;
  font: inherit;
  line-height: 1.48;
}
.cw-service-hero .cw-service-hero__lead :is(ul, ol) > li:last-child { margin-bottom: 0 !important; }
.cw-service-hero .cw-service-hero__lead :is(ul, ol) > li::before,
.cw-service-hero .cw-service-hero__lead :is(ul, ol) > li::after {
  content: none !important;
  display: none !important;
}
.cw-service-hero .cw-service-hero__lead :is(ul, ol) > li::marker,
.cw-service-hero .cw-service-hero__services > li::marker { content: '' !important; }
.cw-service-hero .cw-service-hero__lead li > p { margin: 0 0 .35em !important; }
.cw-service-hero .cw-service-hero__lead li > p:last-child { margin-bottom: 0 !important; }
.cw-service-hero .cw-service-hero__lead li > :is(ul,ol) { margin: .65em 0 !important; }
.cw-service-hero .cw-sh-marker {
  box-sizing: border-box;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: var(--cw-sh-marker-size,23px);
  height: var(--cw-sh-marker-size,23px);
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 50%;
  color: var(--cw-sh-marker-ink, var(--cw-sh-accent,#00c7b1));
  background: var(--cw-sh-marker-bg,color-mix(in srgb,var(--cw-sh-marker-ink,var(--cw-sh-accent,#00c7b1)) 11%,transparent));
  font-size: clamp(10px, calc(var(--cw-sh-marker-size,23px) * .43), 15px);
  font-weight: 750;
  letter-spacing: -.02em;
  line-height: 1;
  text-align: center;
  box-shadow: none;
  pointer-events: none;
}
.cw-service-hero .cw-sh-marker :is(svg,i) {
  display: block;
  width: 60%;
  height: 60%;
  flex: 0 0 auto;
  font-size: 65%;
  color: inherit;
  fill: currentColor;
}
.cw-service-hero .cw-sh-marker--check svg { fill: none; }
.cw-service-hero .cw-sh-marker--lead {
  position: absolute !important;
  inset: .1em auto auto 0 !important;
}
.cw-service-hero .cw-sh-marker--dot {
  background: none;
}
.cw-service-hero .cw-sh-marker__dot {
  display: block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
}
.cw-service-hero .cw-sh-marker--number { font-variant-numeric: tabular-nums; }
.cw-service-hero .cw-sh-marker__number { display: block; }
.cw-service-hero--lead-marker-none .cw-service-hero__lead :is(ul, ol) > li {
  padding-left: 0 !important;
}
/* La lista breve conserva su layout horizontal, con indicador intercambiable. */
.cw-service-hero .cw-service-hero__services .cw-sh-marker--brief {
  position: static;
  width: max(18px, calc(var(--cw-sh-marker-size,23px) * .82));
  height: max(18px, calc(var(--cw-sh-marker-size,23px) * .82));
}
.cw-service-hero .cw-service-hero__services .cw-service-hero__service {
  align-items: center;
  list-style: none !important;
}
.cw-service-hero .cw-service-hero__services--marker-none .cw-service-hero__service { gap: 0 !important; }
.cw-service-hero .cw-service-hero__services .cw-service-hero__service::before { content:none !important; display:none !important; }
@media(max-width:767px) {
  .cw-service-hero .cw-service-hero__lead :is(ul, ol) { margin-top: .65em !important; }
  .cw-service-hero .cw-service-hero__lead :is(ul, ol) > li { margin-bottom: .7em !important; }
}

/* ========================================================================
   v1.0.73 · Orden editorial móvil y entrada vertical de fotografía
   ======================================================================== */
@media (max-width:767px) {
  /* Los siguientes valores solo afectan al widget con fotografía y a la
     opción elegida. La composición anterior sigue disponible sin cambios. */
  .cw-service-hero--zone.cw-service-hero--zone-media.cw-service-hero--mobile-eyebrow-image-title {
    --cw-mobile-eyebrow-order:1;
    --cw-mobile-visual-order:2;
    --cw-mobile-title-order:3;
    --cw-mobile-lead-order:4;
    --cw-mobile-services-order:5;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media.cw-service-hero--mobile-image-first {
    --cw-mobile-eyebrow-order:2;
    --cw-mobile-visual-order:1;
    --cw-mobile-title-order:3;
    --cw-mobile-lead-order:4;
    --cw-mobile-services-order:5;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media.cw-service-hero--mobile-eyebrow-title-image {
    --cw-mobile-eyebrow-order:1;
    --cw-mobile-visual-order:3;
    --cw-mobile-title-order:2;
    --cw-mobile-lead-order:4;
    --cw-mobile-services-order:5;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media.cw-service-hero--mobile-image-after-text {
    --cw-mobile-eyebrow-order:1;
    --cw-mobile-visual-order:5;
    --cw-mobile-title-order:2;
    --cw-mobile-lead-order:3;
    --cw-mobile-services-order:4;
  }
  /* Este selector supera las antiguas reglas !important y funciona en ambas
     variantes del encabezado (classic y reading). */
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-zone__eyebrow {
    order:var(--cw-mobile-eyebrow-order)!important;
    margin:0 0 10px!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-zone__visual {
    order:var(--cw-mobile-visual-order)!important;
    margin:0 0 12px!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-hero__title {
    order:var(--cw-mobile-title-order)!important;
    margin:0!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-hero__lead {
    order:var(--cw-mobile-lead-order)!important;
    margin:13px 0 0!important;
  }
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-hero__services {
    order:var(--cw-mobile-services-order)!important;
    margin:13px 0 0!important;
  }
  /* El CTA se mantiene al final, incluso cuando se sitúa la imagen después
     de la explicación. No introducimos márgenes que alteren las proporciones. */
  .cw-service-hero--zone.cw-service-hero--zone-media[class*="cw-service-hero--mobile-"] .cw-service-hero__actions {
    order:6!important;
  }
  /* Ajustar distancias para que no se añada un hueco entre el antetítulo y
     el título cuando son consecutivos en el diseño seleccionado. */
  .cw-service-hero--zone.cw-service-hero--mobile-image-first .cw-service-zone__visual {
    margin-bottom:16px!important;
  }
  .cw-service-hero--zone.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__visual {
    margin-top:13px!important;
  }
  .cw-service-hero--zone.cw-service-hero--mobile-image-after-text .cw-service-zone__visual {
    margin-top:18px!important;
    margin-bottom:0!important;
  }
}
@media (max-width:767px) and (prefers-reduced-motion:no-preference) {
  /* Los tiempos siguen el orden del selector, no el orden original del DOM.
     Solo opacity + translateY para todas las piezas, sin desplazamiento lateral. */
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__content > .cw-service-zone__eyebrow {animation-delay:.05s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__visual {animation-delay:.20s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__content > .cw-service-hero__title {animation-delay:.36s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__content > .cw-service-hero__lead {animation-delay:.49s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__content > .cw-service-hero__services {animation-delay:.61s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-image-title .cw-service-zone__content > .cw-service-hero__actions {animation-delay:.73s!important}

  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__visual {animation-delay:.05s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__content > .cw-service-zone__eyebrow {animation-delay:.22s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__content > .cw-service-hero__title {animation-delay:.34s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__content > .cw-service-hero__lead {animation-delay:.48s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__content > .cw-service-hero__services {animation-delay:.60s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-first .cw-service-zone__content > .cw-service-hero__actions {animation-delay:.72s!important}

  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__content > .cw-service-zone__eyebrow {animation-delay:.05s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__content > .cw-service-hero__title {animation-delay:.20s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__visual {animation-delay:.35s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__content > .cw-service-hero__lead {animation-delay:.49s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__content > .cw-service-hero__services {animation-delay:.61s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-eyebrow-title-image .cw-service-zone__content > .cw-service-hero__actions {animation-delay:.73s!important}

  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__content > .cw-service-zone__eyebrow {animation-delay:.05s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__content > .cw-service-hero__title {animation-delay:.20s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__content > .cw-service-hero__lead {animation-delay:.35s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__content > .cw-service-hero__services {animation-delay:.49s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__visual {animation-delay:.62s!important}
  .cw-service-hero--zone.cw-service-hero--enter-stagger.cw-service-hero--mobile-image-after-text .cw-service-zone__content > .cw-service-hero__actions {animation-delay:.75s!important}
}
