/* ===== Página Services (estructura Elementor + dibujos en código) ===== */
.vs-hero, .vs-row, .vs-incl, .vs-incl-top{ overflow:hidden; }
.vs-hero *, .vs-row *, .vs-incl *{ box-sizing:border-box; }

/* Alineación vertical de columnas */
.vs-hero > .elementor-container, .vs-row > .elementor-container{ align-items:center; }
.vs-hero .elementor-widget-wrap, .vs-row .elementor-widget-wrap{ padding:0 !important; }

/* Hero */
.vs-hero-copy .elementor-widget-heading .elementor-heading-title{ font-size:clamp(30px,3.6vw,50px); }
.vs-hero-copy .elementor-widget-button{ display:inline-block; width:auto; margin:6px 10px 0 0; }
.vs-hero-copy .elementor-widget-text-editor{ margin-bottom:6px; }
.vs-heroimg img{ width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; border-radius:20px; display:block; }

/* Filas */
.vs-iconw .elementor-icon{ width:52px; height:52px; border-radius:14px; background:rgba(122,0,190,.12); display:flex; align-items:center; justify-content:center; font-size:22px; }
.vs-row.is-alt .vs-iconw .elementor-icon{ background:rgba(162,75,224,.18); }
.vs-copy .elementor-widget-heading .elementor-heading-title{ font-size:clamp(24px,2.6vw,32px); }
.vs-copy .elementor-widget:not(:last-child){ margin-bottom:12px; }
.vs-points-w .elementor-icon-list-text{ font-weight:500; }
.vs-vis .elementor-widget-wrap{ justify-content:center; }

/* Fotos de contenido: 3 imágenes una al lado de otra */
.vs-vis-ugc .elementor-widget-wrap{ max-width:460px; margin:0 auto; column-gap:10px; align-items:center; }
.vs-vis-ugc .elementor-widget-image.vs-ugcimg{ width:calc((100% - 20px) / 3) !important; margin-bottom:0 !important; }
.vs-vis-ugc .elementor-widget-image.vs-ugcimg:nth-child(2){ transform:translateY(-8px); }
.vs-vis-ugc .vs-ugcimg img{ width:100% !important; max-width:100% !important; height:auto !important; border-radius:14px; box-shadow:0 10px 30px rgba(18,21,31,.18); display:block; }
.vs-vis-ugc .vs-capw{ width:100%; margin-top:16px; }

/* Incluido */
.vs-incl .elementor-column{ align-self:stretch; }
.vs-incl-card > .elementor-widget-wrap{ background:#fff; border:1px solid #DCE1EB; border-radius:14px; padding:16px !important; height:100%; }

/* Móvil */
@media (max-width:767px){
  .vs-hero > .elementor-container, .vs-row > .elementor-container{ flex-direction:column; }
  .vs-hero-copy{ margin-bottom:18px; }
  .vs-copy{ margin-bottom:18px; }
  .vs-incl .elementor-column{ width:50% !important; margin-bottom:12px; }
  .vs-incl > .elementor-container{ flex-wrap:wrap; }
  .vs-hero-copy .elementor-widget-button{ display:block; margin-right:0; }
  .vs-hero-copy .elementor-widget-button .elementor-button{ width:100%; text-align:center; }
}
@media (min-width:768px) and (max-width:1024px){
  .vs-incl .elementor-column{ width:50% !important; margin-bottom:12px; }
  .vs-incl > .elementor-container{ flex-wrap:wrap; }
}

/* Tarjetas ilustrativas */
.vs-card{ width:100%; max-width:460px; background:#fff; border:1px solid #DCE1EB; border-radius:18px; padding:18px; box-shadow:0 10px 30px rgba(18,21,31,.07); position:relative; }
.vs-card em{ font-style:normal; margin-left:auto; font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:#8a90a0; }
.vs-card-top{ display:flex; align-items:center; gap:8px; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14px; margin-bottom:14px; }
.vs-dot{ width:9px; height:9px; border-radius:50%; background:#7A00BE; }
.vs-big{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:46px; line-height:1; color:#7A00BE; }
.vs-sub{ font-size:13px; color:#5C6273; margin:4px 0 14px; }
.vs-bars{ display:flex; align-items:flex-end; gap:8px; height:84px; margin-bottom:14px; }
.vs-bars i{ flex:1; background:linear-gradient(#A24BE0,#7A00BE); border-radius:5px 5px 2px 2px; }
.vs-tests{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.vs-tests li{ display:flex; justify-content:space-between; align-items:center; background:#EDF0F5; border-radius:10px; padding:8px 12px; font-size:13.5px; font-weight:500; }
.vs-tests b{ font-size:11px; padding:3px 9px; border-radius:100px; background:#DCE1EB; color:#5C6273; font-weight:600; }
.vs-tests b.win{ background:#dcf3e4; color:#1a7a43; }
.vs-tests b.off{ background:#EBD9F7; color:#6A00A8; }

.vs-stages{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.vs-stages h4{ font-size:11.5px; color:#5C6273; font-weight:600; margin-bottom:8px; text-transform:uppercase; letter-spacing:.03em; }
.vs-stages p{ height:36px; background:#EDF0F5; border-radius:8px; margin-bottom:6px; }
.vs-stages p.s{ height:26px; }
.vs-stages p.hl{ background:rgba(122,0,190,.18); border:1.5px solid #7A00BE; }
.vs-msg{ margin-top:12px; background:#12151F; color:#F0F2F7; border-radius:14px 14px 14px 4px; padding:12px 14px; font-size:14px; }
.vs-msg small{ display:block; font-size:10.5px; color:#A2A8B8; margin-bottom:4px; text-transform:uppercase; letter-spacing:.04em; }

.vs-funnel{ display:flex; flex-direction:column; align-items:center; gap:7px; }
.vs-funnel .vs-card-top{ width:100%; }
.vs-f{ background:#EDF0F5; border:1px solid #DCE1EB; border-radius:10px; padding:12px; text-align:center; font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:14.5px; }
.vs-f:nth-child(3){ background:#F1E3FA; border-color:#D9B8EF; }
.vs-f:nth-child(4){ background:#CFA5EA; border-color:#7A00BE; }
.vs-f-end{ background:#7A00BE !important; border-color:#7A00BE !important; color:#fff; }

.vs-browser{ padding:0; overflow:hidden; }
.vs-bar{ display:flex; align-items:center; gap:6px; padding:10px 14px; background:#EDF0F5; border-bottom:1px solid #DCE1EB; }
.vs-bar i{ width:9px; height:9px; border-radius:50%; background:#cfd5e2; }
.vs-bar span{ margin-left:10px; font-size:12px; color:#5C6273; background:#fff; border-radius:100px; padding:3px 12px; }
.vs-site{ padding:18px; }
.vs-site-hero{ background:#12151F; border-radius:12px; padding:22px 18px; }
.vs-site-hero b{ display:block; height:12px; width:70%; background:#F0F2F7; border-radius:6px; margin-bottom:8px; }
.vs-site-hero b.s{ width:46%; height:8px; background:#5C6273; margin-bottom:14px; }
.vs-site-hero span{ display:inline-block; background:#7A00BE; color:#fff; font-size:12px; font-weight:600; border-radius:100px; padding:6px 14px; }
.vs-site-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:12px; }
.vs-site-grid i{ height:54px; background:#EDF0F5; border-radius:10px; }
.vs-badge{ position:absolute; right:14px; bottom:10px; font-style:normal; font-size:10.5px; letter-spacing:.05em; text-transform:uppercase; color:#8a90a0; }

.vs-search{ display:flex; align-items:center; gap:8px; background:#EDF0F5; border-radius:100px; padding:10px 16px; font-size:14px; color:#5C6273; margin-bottom:12px; }
.vs-res{ display:flex; align-items:center; gap:12px; padding:10px 8px; border-radius:12px; }
.vs-res .pin{ width:28px; height:28px; border-radius:50%; background:#DCE1EB; color:#5C6273; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex:none; }
.vs-res b{ display:block; height:10px; width:60%; background:#C9D0DE; border-radius:5px; font-size:14px; }
.vs-res i{ display:block; height:7px; width:84%; background:#DCE1EB; border-radius:4px; margin-top:7px; }
.vs-res-you{ background:rgba(122,0,190,.09); border:1.5px solid #7A00BE; }
.vs-res-you .pin{ background:#7A00BE; color:#fff; }
.vs-res-you b{ background:none; height:auto; width:auto; font-family:'Space Grotesk',sans-serif; font-weight:700; color:#12151F; }

.vs-card{ margin-left:auto; margin-right:auto; }
.vs-incl-card .elementor-widget:not(:last-child){ margin-bottom:6px !important; }

/* ===== Services: dibujo del pod en el hero ===== */
.vs-hero-venn .elementor-widget-wrap{ background:#EDF0F5; border-radius:20px; padding:28px 12px !important; align-items:center; justify-content:center; }

/* ===== How We Work ===== */
.hw-leads .elementor-widget-wrap{ padding:0 !important; }
.hw-steps-head .elementor-widget:not(:last-child){ margin-bottom:10px; }

/* Timeline vertical en tarjetas */
.hw-vstep > .elementor-container{ position:relative; background:#fff; border:1px solid #DCE1EB; border-radius:16px; padding:22px 24px; box-shadow:0 8px 24px rgba(18,21,31,.05); align-items:flex-start; }
.hw-vstep .elementor-widget-wrap{ padding:0 !important; }
.hw-vstep-l .elementor-widget:not(:last-child){ margin-bottom:10px; }
.hw-vstep-r .elementor-widget:not(:last-child){ margin-bottom:8px; }
/* línea + punto que conectan las tarjetas */
.hw-vstep > .elementor-container:before{ content:""; position:absolute; left:-29px; top:-18px; bottom:-18px; width:2px; background:#CBD2E0; }
.hw-vstep.is-first > .elementor-container:before{ top:50%; }
.hw-vstep.is-last > .elementor-container:before{ bottom:50%; }
.hw-vstep > .elementor-container:after{ content:""; position:absolute; left:-36px; top:50%; width:16px; height:16px; margin-top:-8px; border-radius:50%; background:#7A00BE; border:3px solid #EDF0F5; box-shadow:0 0 0 1px #7A00BE; }
@media (max-width:767px){
  .hw-vstep > .elementor-container{ padding:16px; flex-direction:column; }
  .hw-vstep > .elementor-container:before{ left:-20px; }
  .hw-vstep > .elementor-container:after{ left:-27px; }
  .hw-vstep-l{ margin-bottom:8px; }
}

/* Zigzag en desktop/tablet: las filas "alt" llevan el dibujo a la izquierda. En móvil siempre texto primero. */
@media (min-width:768px){
  .vs-row.is-alt > .elementor-container{ flex-direction:row-reverse; }
}

/* ===== About Us ===== */
/* Padding compacto (sobrescribe el de Elementor sin tocar tus ediciones) */
.ab-story{ padding:30px 40px !important; }
.ab-team-top{ padding:30px 40px 0 !important; }
.ab-team{ padding:14px 40px 26px !important; }
.ab-bench{ padding:22px 40px 30px !important; }
.ab-bel-top{ padding:30px 40px 0 !important; }
.ab-beliefs{ padding:12px 40px 34px !important; }
.ab-team-head .elementor-widget, .ab-bench-col .elementor-widget:first-child, .ab-bel-head .elementor-widget{ margin-bottom:0 !important; }

/* Historia + imagen */
.ab-story > .elementor-container{ align-items:center; max-width:1140px; }
.ab-story .elementor-widget-wrap{ padding:0 !important; }
.ab-story-copy .elementor-widget:not(:last-child){ margin-bottom:14px; }
.ab-studio img{ width:100%; max-width:none; height:auto; aspect-ratio:1/1; object-fit:cover; border-radius:22px; display:block; margin:0; box-shadow:0 18px 48px rgba(18,21,31,.2); }
@media (min-width:768px){
  .ab-story-copy{ width:50% !important; padding-right:52px !important; }
  .ab-story-img{ width:50% !important; }
}

/* Fundadores: tarjetas con estructura */
.ab-team > .elementor-container{ justify-content:center; align-items:stretch; max-width:860px; }
.ab-member{ padding:0 12px; }
.ab-member > .elementor-widget-wrap{ position:relative; background:#fff; border:1px solid #DCE1EB; border-top:4px solid #7A00BE; border-radius:20px; padding:30px 26px 28px !important; height:100%; box-shadow:0 12px 34px rgba(18,21,31,.08); justify-content:center; text-align:center; align-content:flex-start; }
.ab-member .elementor-widget:not(:last-child){ margin-bottom:8px; }
.ab-photo img{ width:190px !important; height:190px !important; max-width:none; border-radius:50%; object-fit:cover; object-position:center top; display:block; margin:0 auto 6px; border:4px solid #fff; box-shadow:0 0 0 3px #7A00BE, 0 12px 28px rgba(18,21,31,.18); }
.ab-member .elementor-widget:nth-child(3) p{ display:inline-block; background:rgba(122,0,190,.1); padding:5px 14px; border-radius:100px; }
.ab-member .elementor-widget:nth-child(3){ margin-bottom:12px !important; }

.ab-bench .elementor-widget-wrap{ padding:0 !important; }
.ab-bench-col .elementor-widget:not(:last-child){ margin-bottom:14px; }
.ab-chips .elementor-icon-list-items{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ab-chips .elementor-icon-list-item{ background:#EDF0F5; border:1px solid #DCE1EB; border-radius:100px; padding:9px 16px; margin:0 !important; }
.ab-chips .elementor-icon-list-text{ font-weight:600; font-size:14.5px; padding-left:8px !important; }
.ab-beliefs > .elementor-container{ align-items:stretch; }
.ab-belief > .elementor-widget-wrap{ background:#fff; border:1px solid #DCE1EB; border-radius:16px; padding:22px !important; height:100%; }
.ab-belief .elementor-widget:not(:last-child){ margin-bottom:8px !important; }
@media (max-width:767px){
  .ab-story, .ab-team-top, .ab-team, .ab-bench, .ab-bel-top, .ab-beliefs{ padding-left:20px !important; padding-right:20px !important; }
  .ab-story > .elementor-container{ flex-direction:column; }
  .ab-story-copy{ margin-bottom:22px; }
  .ab-member{ margin-bottom:18px; padding:0; }
  .ab-belief{ margin-bottom:14px; }
}
@media (min-width:768px) and (max-width:1024px){
  .ab-beliefs > .elementor-container{ flex-wrap:wrap; }
  .ab-belief{ width:100% !important; margin-bottom:14px; }
}

/* ===== Results ===== */
.rs-stats > .elementor-container{ align-items:stretch; }
.rs-stat > .elementor-widget-wrap{ padding:6px !important; justify-content:center; text-align:center; }
.rs-stat .elementor-widget:not(:last-child){ margin-bottom:4px !important; }
.rs-stat .elementor-heading-title{ line-height:1.05 !important; letter-spacing:-.02em; }
.rs-case .elementor-widget-wrap{ padding:0 !important; }
.rs-case-col .elementor-widget:not(:last-child){ margin-bottom:14px; }
.rs-case-logo img{ height:34px !important; width:auto !important; max-width:none; display:block; }
.rs-hls > .elementor-container{ align-items:stretch; }
.rs-hl > .elementor-widget-wrap{ background:#fff; border:1px solid #DCE1EB; border-top:4px solid #7A00BE; border-radius:16px; padding:22px !important; height:100%; box-shadow:0 10px 28px rgba(18,21,31,.06); }
.rs-hl .elementor-widget:not(:last-child){ margin-bottom:6px !important; }
.rs-quote .elementor-widget-wrap{ padding:0 !important; justify-content:center; text-align:center; }
.rs-quote-col .elementor-widget:not(:last-child){ margin-bottom:14px; }
.rs-quote-text .elementor-heading-title{ font-weight:500 !important; line-height:1.4 !important; }
.rs-vids .elementor-widget-wrap, .rs-ugc-top .elementor-widget-wrap, .rs-brands .elementor-widget-wrap{ padding:0 !important; }
.rs-vid-col .elementor-widget:not(:last-child), .rs-ugc-head .elementor-widget:not(:last-child){ margin-bottom:10px; }
.rs-ugc-head .elementor-heading-title{ color:#fff !important; }
.rs-ugc-head .elementor-widget-text-editor *{ color:#A2A8B8 !important; }
.rs-ugcs .elementor-widget-wrap{ padding:0 !important; }
.rs-ugcs .rs-ugcimg img{ width:100% !important; max-width:240px; height:auto !important; border-radius:16px; display:block; margin:0 auto; box-shadow:0 14px 36px rgba(0,0,0,.45); }
.rs-ugcs .elementor-heading-title{ color:#fff !important; }
.rs-ugcs .elementor-widget:not(:last-child){ margin-bottom:8px; }
.rs-ugcs .elementor-widget-text-editor *{ color:#A2A8B8 !important; }
.rs-brands .elementor-widget:not(:last-child){ margin-bottom:10px; }

.rs-chart{ background:#fff; border:1px solid #DCE1EB; border-radius:20px; padding:26px 26px 20px; box-shadow:0 12px 34px rgba(18,21,31,.07); font-family:'IBM Plex Sans',sans-serif; }
.rs-chart-title{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:16px; color:#12151F; margin-bottom:18px; }
.rs-bars{ display:flex; gap:18px; align-items:flex-end; }
.rs-bar-col{ flex:1; text-align:center; min-width:0; }
.rs-bar-val{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:22px; color:#12151F; margin-bottom:6px; }
.rs-bar-track{ height:190px; display:flex; align-items:flex-end; background:repeating-linear-gradient(to top,transparent 0,transparent 47px,#EDF0F5 47px,#EDF0F5 48px); border-radius:10px 10px 0 0; }
.rs-bar{ width:100%; background:linear-gradient(180deg,#7A00BE,#A24BE0); border-radius:10px 10px 0 0; transform-origin:bottom; transition:transform 1.1s cubic-bezier(.2,.8,.2,1); }
.rs-js .rs-chart:not(.is-in) .rs-bar{ transform:scaleY(0); }
.rs-bar-col.is-partial .rs-bar{ background:repeating-linear-gradient(135deg,#7A00BE 0,#7A00BE 8px,#A24BE0 8px,#A24BE0 16px); }
.rs-bar-mo{ font-weight:600; font-size:14px; color:#12151F; margin-top:10px; }
.rs-bar-sub{ font-size:12.5px; color:#5C6273; margin-top:2px; }
.rs-chart-note{ font-size:12.5px; color:#8A90A0; margin-top:14px; }
.rs-google{ display:flex; gap:14px; margin-top:18px; padding-top:18px; border-top:1px solid #EDF0F5; }
.rs-g-item{ flex:1; background:#EDF0F5; border-radius:12px; padding:14px 16px; }
.rs-g-item b{ display:block; font-family:'Space Grotesk',sans-serif; font-size:26px; color:#12151F; }
.rs-g-item span{ font-size:13px; color:#5C6273; }

.rs-videos{ display:flex; gap:20px; justify-content:center; margin-top:10px; }
.rs-video{ position:relative; flex:1; max-width:290px; aspect-ratio:9/16; border:0; padding:0; border-radius:18px; overflow:hidden; background:#0E1119; cursor:pointer; box-shadow:0 14px 36px rgba(18,21,31,.25); }
.rs-video img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(1.34); }
.rs-video.is-playing{ cursor:default; }
.rs-play{ position:absolute; left:50%; top:50%; width:68px; height:68px; margin:-34px 0 0 -34px; border-radius:50%; background:#7A00BE; box-shadow:0 8px 24px rgba(0,0,0,.4); transition:transform .2s; }
.rs-play:after{ content:""; position:absolute; left:27px; top:20px; border-left:20px solid #fff; border-top:14px solid transparent; border-bottom:14px solid transparent; }
.rs-video:hover .rs-play{ transform:scale(1.1); }

@media (max-width:767px){
  .rs-stats, .rs-hls, .rs-ugcs, .rs-case, .rs-quote, .rs-vids{ padding-left:20px !important; padding-right:20px !important; }
  .rs-stats > .elementor-container{ flex-wrap:wrap; }
  .rs-stat{ width:50% !important; margin-bottom:14px; }
  .rs-stat .elementor-heading-title{ font-size:40px !important; }
  .rs-hl{ margin-bottom:14px; }
  .rs-bars{ gap:8px; }
  .rs-bar-val{ font-size:16px; }
  .rs-bar-track{ height:150px; }
  .rs-bar-sub{ font-size:11px; }
  .rs-google{ flex-direction:column; }
  .rs-chart{ padding:20px 16px; }
  .rs-videos{ gap:10px; }
  .rs-play{ width:50px; height:50px; margin:-25px 0 0 -25px; }
  .rs-play:after{ left:20px; top:14px; border-left-width:15px; border-top-width:11px; border-bottom-width:11px; }
  .rs-ugcs > .elementor-container{ flex-wrap:nowrap; gap:8px; }
  .rs-ugc{ width:33.33% !important; }
  .rs-ugcs .elementor-heading-title{ font-size:17px !important; }
  .rs-ugcs .elementor-widget-text-editor *{ font-size:12px !important; }
}
.rs-stat .elementor-widget:nth-child(2) *{ color:#fff !important; }
.rs-stat .elementor-widget:nth-child(3) *{ color:#A2A8B8 !important; }
.rs-quote-col .elementor-widget:last-child *{ color:#7A00BE !important; font-weight:600; }
.rs-bar-g{ font-size:11.5px; color:#7A00BE; font-weight:600; margin-top:6px; }
@media (max-width:767px){ .rs-bar-g{ font-size:10px; } .rs-bar-mo{ font-size:12px; } }
.rs-bars{ align-items:flex-start !important; }
/* Videos: la miniatura 4:3 de YouTube trae el video vertical centrado; cover lo llena sin recortar de más */
.rs-videos .rs-video img{ position:absolute !important; left:0 !important; top:0 !important; width:100% !important; height:100% !important; max-width:none !important; object-fit:cover !important; object-position:center center !important; transform:none !important; }
.rs-videos button.rs-video{ display:block; width:100%; }
.rs-videos iframe.rs-video{ width:100%; max-width:290px; border:0; }

/* Páginas legales: columna de lectura cómoda */
.vx-legal h2.elementor-heading-title{ font-size:22px !important; margin-top:30px; line-height:1.25; }
.vx-legal .elementor-widget-text-editor p{ margin:0 0 12px; }
.vx-legal .elementor-widget-text-editor ul{ margin:0 0 12px; padding-left:22px; }
.vx-legal .elementor-widget-text-editor li{ margin-bottom:8px; line-height:1.6; }
.vx-legal a{ color:#7A00BE; text-decoration:underline; }
@media (max-width:767px){ .vx-legal h2.elementor-heading-title{ font-size:19px !important; margin-top:22px; } }

/* Tarjeta ilustrativa de respuesta de IA (GEO) dentro del dibujo de SEO */
.vs-ai{ margin-top:10px; padding:10px 14px; border-radius:12px; background:#F6ECFC; border:1px solid #D9B8EF; font-size:13px; color:#12151F; }
.vs-ai em{ display:block; font-style:normal; font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#7A00BE; margin-bottom:4px; }
.vs-ai p{ margin:0; }
.vs-ai b{ font-family:'Space Grotesk',sans-serif; }
