/* brova-ui.css: componentes compartidos del rediseño visual (solo /es/).
   Ver _plan-visual/02-sistema-visual.md. Usa los tokens del :root de cada página. */

/* ---------- C1. Marco de navegador ---------- */
.bw{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.bw-bar{display:flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-bottom:1px solid var(--line);background:#FAFAF9}
.bw-bar i{width:8px;height:8px;border-radius:50%;background:#DADDDA}
.bw-url{margin-left:10px;font-size:11px;font-weight:600;color:var(--muted);letter-spacing:.01em}
.bw img{display:block;width:100%;height:auto}
/* foto real de un evento (sin marco de navegador) */
.work-photo{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.work-photo img{display:block;width:100%;height:auto}

/* ---------- C2. Ficha de trabajo y grilla ---------- */
.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px}
.work-card h3{margin-top:22px;font-size:20px}
.work-media{display:block;color:inherit}
.work-media .bw,.work-media .work-photo{overflow:hidden}
.work-media img{transition:transform .45s var(--ease)}
a.work-media:hover img{transform:scale(1.015)}
.work-meta{margin-top:14px;display:grid;gap:6px;font-size:14px}
.work-meta div{display:grid;grid-template-columns:110px 1fr;gap:12px}
.work-meta dt{color:var(--muted)}
.work-meta dd{color:var(--ink);margin:0}
.work-card .textlink{display:inline-block;margin-top:14px}
.work-more{margin-top:14px;margin-right:18px;font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:none;border:0;padding:0;border-bottom:1px solid var(--ink);cursor:pointer}
.work-more:focus-visible,.work-chip:focus-visible,.work-gallery button:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media (max-width:900px){.work-grid{grid-template-columns:1fr;gap:48px}}

/* ---------- C3. Franja de trabajos relacionados ---------- */
.work-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.work-strip .work-meta div{grid-template-columns:1fr;gap:2px}
.work-strip h3{font-size:17px;margin-top:16px}
@media (max-width:900px){
  .work-strip{grid-auto-flow:column;grid-auto-columns:82%;grid-template-columns:none;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}
  .work-strip > *{scroll-snap-align:start}
}

/* ---------- Filtros de Trabajos ---------- */
.work-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 48px}
.work-chip{font:inherit;font-size:13px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:9px 16px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.work-chip:hover{border-color:var(--ink)}
.work-chip[aria-pressed="true"]{background:var(--ink);color:#fff;border-color:var(--ink)}
.work-card[hidden]{display:none}
.work-filters[hidden]{display:none}

/* ---------- C4. Proceso que se dibuja ---------- */
.steps-line .step{position:relative;border-top:2px solid var(--line)}
.steps-line .step::before{content:"";position:absolute;left:0;right:0;top:-2px;height:2px;background:var(--ink);transform-origin:left center}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .steps-line .step::before{transform:scaleX(0);animation:bu-draw linear both;animation-timeline:view();animation-range:entry 15% entry 85%}
    .steps-line .step:nth-child(2)::before{animation-range:entry 25% entry 95%}
    .steps-line .step:nth-child(3)::before{animation-range:entry 35% cover 15%}
  }
}
@keyframes bu-draw{to{transform:scaleX(1)}}

/* ---------- C5. Relevo horario ---------- */
.relevo{--now:-10%;border-top:1px solid var(--line)}
.relevo-scale{display:flex;justify-content:space-between;margin-left:220px;padding:14px 0 8px;font-size:11px;font-weight:600;color:var(--muted)}
.relevo-row{display:grid;grid-template-columns:220px 1fr;align-items:center;min-height:64px;border-bottom:1px solid var(--line)}
.relevo-city b{display:block;font-size:15px}
.relevo-time{font-size:13px;color:var(--muted);margin-right:8px}
.relevo-state{font-size:12px;font-weight:600;color:var(--muted)}
.relevo-row.is-on .relevo-state{color:var(--ink)}
.relevo-row.is-on .relevo-state::before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:var(--green);vertical-align:1px}
.relevo-track{position:relative;height:12px;border-radius:6px;background:#F0F1EF}
.relevo-bar{position:absolute;top:0;bottom:0;border-radius:6px;background:var(--ink);left:0;width:0}
.relevo-track::after{content:"";position:absolute;top:-10px;bottom:-10px;left:var(--now);width:2px;background:var(--green)}
.relevo-note{margin-top:14px;font-size:13px;color:var(--muted)}
@media (max-width:700px){
  .relevo-row{grid-template-columns:1fr;gap:10px;padding:14px 0}
  .relevo-scale{margin-left:0}
}

/* ---------- C6. Panel de visual explicativo ---------- */
.viz{margin:0;padding:28px;border:1px solid var(--line);border-radius:10px;background:#F5F6F4}
.viz svg{display:block;width:100%;height:auto}
.viz-cap{margin-top:16px;font-size:13px;color:var(--muted)}

/* ---------- C7. Diagramas SVG ---------- */
.viz-link{fill:none;stroke:#BFC4BF;stroke-width:1.5;stroke-dasharray:4 6}
@media (prefers-reduced-motion: no-preference){.viz-link{animation:bu-flow 1.4s linear infinite}}
@keyframes bu-flow{to{stroke-dashoffset:-20}}
.viz-node rect{fill:#fff;stroke:var(--line);stroke-width:1}
.viz-node text{font-family:'Montserrat',system-ui,sans-serif;font-size:13px;font-weight:600;fill:var(--ink)}
.viz-node.is-main rect{fill:var(--ink);stroke:var(--ink)}
.viz-node.is-main text{fill:#fff}
.viz-node .viz-sub{font-size:11px;font-weight:500;fill:var(--muted)}
.viz-node.is-main .viz-sub{fill:#C9CEC9}

/* ---------- C8. Mockup de interfaz ---------- */
.ui-screen{display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fff}
.ui-line{display:block;height:8px;border-radius:4px;background:#ECEDEB}
.ui-line.w8{width:80%}.ui-line.w6{width:60%}.ui-line.w4{width:40%}
.ui-block{display:block;height:56px;border-radius:6px;background:#ECEDEB}
.ui-btn{display:block;height:22px;border-radius:5px;background:var(--ink)}
.ui-text{font-size:12px;color:var(--ink)}
.ui-muted{font-size:11px;color:var(--muted)}

/* ---------- C9. Galería en diálogo ---------- */
.work-gallery{border:0;padding:0;width:min(1100px,94vw);max-width:none;border-radius:10px;background:#fff;overflow:hidden}
.work-gallery::backdrop{background:rgba(11,12,11,.72)}
.work-gallery img{display:block;width:100%;height:auto}
.work-gallery img[hidden]{display:none}
.work-gallery-nav{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line);font-size:14px}
.work-gallery-nav [data-count]{margin-right:auto;color:var(--muted);font-weight:600}
.work-gallery-nav button{font:inherit;font-size:14px;font-weight:600;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 14px;cursor:pointer}
.work-gallery-nav button:hover{border-color:var(--ink)}

/* ---------- Animaciones de una sola vez (ver brova-ui.js) ---------- */
@media (prefers-reduced-motion: reduce){
  .work-media img{transition:none}
  a.work-media:hover img{transform:none}
}

/* ---------- C10. Transición suave entre páginas ---------- */
@media (prefers-reduced-motion: no-preference){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation-duration:220ms}
}


/* ================= HOME ================= */

/* Hero con mosaico de capturas reales */
@media (min-width:1001px){
  .hero-split{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:56px;align-items:center}
  .hero .hero-split h1{font-size:clamp(36px,4.8vw,70px);max-width:none}
  .hero-mosaic{position:relative;min-height:450px}
  .hero-mosaic .bw{position:absolute;display:block;color:inherit;box-shadow:0 30px 60px -34px rgba(11,12,11,.4)}
  .hero-mosaic .bw:nth-child(1){top:0;left:0;width:64%;z-index:1}
  .hero-mosaic .bw:nth-child(2){top:100px;right:0;width:64%;z-index:2}
  .hero-mosaic .bw:nth-child(3){bottom:0;left:8%;width:60%;z-index:3}
}
@media (max-width:1000px){
  .hero-mosaic{margin-top:44px}
  .hero-mosaic .bw{display:block;color:inherit;box-shadow:0 30px 60px -34px rgba(11,12,11,.35)}
  .hero-mosaic .bw:nth-child(n+2){display:none}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference) and (min-width:1001px){
    .hero-mosaic .bw{animation:bu-par-a linear both;animation-timeline:view();animation-range:exit 0% exit 100%}
    .hero-mosaic .bw:nth-child(2){animation-name:bu-par-b}
    .hero-mosaic .bw:nth-child(3){animation-name:bu-par-c}
  }
}
@keyframes bu-par-a{to{translate:0 -16px}}
@keyframes bu-par-b{to{translate:0 14px}}
@keyframes bu-par-c{to{translate:0 -8px}}

/* Video: se descarga recién al abrirlo */
.video-dialog{border:0;padding:0;width:min(1000px,94vw);max-width:none;background:#000;border-radius:10px;overflow:hidden}
.video-dialog::backdrop{background:rgba(11,12,11,.8)}
.video-dialog video{display:block;width:100%;height:auto}
.video-close{position:absolute;top:12px;right:12px;font:inherit;font-size:13px;font-weight:600;color:#fff;background:rgba(11,12,11,.72);border:1px solid rgba(255,255,255,.4);border-radius:6px;padding:8px 14px;cursor:pointer}
.video-close:hover{border-color:#fff}
.video-close:focus-visible,.hero-ctas .video-open:focus-visible{outline:3px solid var(--blue);outline-offset:3px}

/* Frase de trayectoria bajo los logos */
.lc-note{margin-top:20px;font-size:16px;font-weight:500;color:#A7ADA7}

/* Por qué Brova: el mismo equipo durante todo el ciclo */
.team-line{margin-top:72px}
.team-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:relative}
.team-stages::before{content:"";position:absolute;left:4px;right:4px;top:4px;height:2px;background:var(--ink);transform-origin:left center}
.team-stages li{position:relative;padding-top:26px;font-size:15px;font-weight:600;color:var(--ink)}
.team-stages li::before{content:"";position:absolute;top:0;left:0;width:10px;height:10px;border-radius:50%;background:var(--ink)}
.team-bar{margin-top:18px;height:14px;border:2px solid var(--ink);border-top:0;border-radius:0 0 10px 10px}
.team-bar-label{display:block;margin-top:12px;text-align:center;font-size:13px;font-weight:700;letter-spacing:.04em;color:var(--ink)}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference){
    .team-stages::before{transform:scaleX(0);animation:bu-draw linear both;animation-timeline:view();animation-range:entry 10% cover 40%}
  }
}
@media (max-width:700px){
  .team-line{margin-top:48px;display:flex;flex-direction:column}
  .team-stages{grid-template-columns:1fr}
  .team-stages::before{left:4px;right:auto;top:5px;bottom:18px;width:2px;height:auto;transform-origin:top center}
  .team-stages li{padding:0 0 22px 28px;font-size:16px}
  .team-stages li:last-child{padding-bottom:0}
  .team-stages li::before{top:2px}
  .team-bar{display:none}
  .team-bar-label{order:-1;margin:0 0 20px;text-align:left}
}
@supports (animation-timeline: view()){
  @media (prefers-reduced-motion: no-preference) and (max-width:700px){
    .team-stages::before{animation-name:bu-draw-y}
  }
}
@keyframes bu-draw-y{from{transform:scaleY(0)}to{transform:scaleY(1)}}

/* Qué hacemos: miniatura de un trabajo real al pasar el mouse */
.svc-thumb{display:none}
@media (hover:hover) and (min-width:1101px){
  .svc p{max-width:43ch}
  .svc-thumb{display:block;position:absolute;right:96px;top:50%;width:170px;opacity:0;pointer-events:none;translate:12px -50%;transition:opacity .35s var(--ease),translate .45s var(--ease)}
  .svc:hover .svc-thumb,.svc:focus-visible .svc-thumb{opacity:1;translate:0 -50%}
  .svc-thumb .bw{display:block;box-shadow:0 24px 44px -30px rgba(11,12,11,.4)}
  .svc-thumb .bw-bar{height:22px;padding:0 9px}
  .svc-thumb .bw-bar i{width:6px;height:6px}
  .svc-thumb .bw-url{font-size:10px}
}

/* Mapa de servicios (índice de servicios) */
.map-table{width:100%;border-collapse:collapse;font-size:14px}
.map-table th,.map-table td{padding:12px 8px;text-align:center;border-bottom:1px solid var(--line)}
.map-table thead th{font-weight:700;font-size:13px}
.map-table tbody th{text-align:left;font-weight:600}
.map-table a{color:inherit;text-decoration:none}
.map-table a:hover,.map-table a:focus-visible{text-decoration:underline}
.map-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--ink)}
.map-table tbody tr:hover{background:#fff}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media (min-width:1001px){.hero .hero-split--svc h1{font-size:clamp(34px,4vw,56px)}}
@media (max-width:1000px){.hero-split--svc .viz{margin-top:44px}}



/* ================= Páginas de servicio (T6) ================= */
.ui-screen b{font-weight:700}
/* embudo */
.fun{display:flex;flex-direction:column;gap:8px}
.fun-row{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:10px;font-size:12px}
.fun-row i{display:block;height:20px;width:var(--w);background:var(--ink);border-radius:4px}
.fun-trend{width:100%;height:auto;margin-top:6px}
/* precios por volumen */
.px{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.px-row{display:flex;justify-content:space-between;padding:10px 12px;font-size:13px;border-bottom:1px solid var(--line)}
.px-row:last-child{border-bottom:0}
.px-3{background:#E6F7E6}
.px-btn{display:block;text-align:center;padding:10px;border-radius:6px;background:var(--ink);color:#fff;font-size:13px;font-weight:600}
@media (prefers-reduced-motion: no-preference){
  html.js [data-once].is-visible .px-1{animation:bu-hl-off .2s .5s backwards}
  html.js [data-once].is-visible .px-2{animation:bu-hl-flash .9s .5s backwards}
  html.js [data-once].is-visible .px-3{animation:bu-hl-on .2s 1.3s backwards}
}
@keyframes bu-hl-off{from{background:#E6F7E6}to{background:transparent}}
@keyframes bu-hl-flash{0%{background:transparent}20%,80%{background:#E6F7E6}100%{background:transparent}}
@keyframes bu-hl-on{from{background:transparent}to{background:#E6F7E6}}
@media (prefers-reduced-motion: no-preference){html.js [data-once].is-visible .px-1{background:transparent}html.js [data-once].is-visible .px-1,html.js [data-once].is-visible .px-2{}}
/* cuentas */
.acc-row{display:grid;grid-template-columns:90px 70px 1fr;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.acc-row:last-child{border-bottom:0}
.acc-row em{font-style:normal;color:var(--muted);font-size:12px}
.acc-pips{display:flex;gap:3px}
.acc-pips i{display:block;width:14px;height:6px;border-radius:3px;background:#DADDDA}
.acc-pips i.on{background:var(--ink)}
/* mach */
.mach .mach-q{transform:translate(var(--dx),var(--dy));transition:transform .7s var(--ease)}
@media (prefers-reduced-motion: no-preference){html.js .mach:not(.is-visible) .mach-q{transform:none}}
/* portal cx */
.cx-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cx-tile{display:block;padding:14px 12px;border:1px solid var(--line);border-radius:6px;font-size:13px;font-weight:600}
.cx-done{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:6px;background:#E6F7E6}
/* gantt */
.gantt .g-head,.gantt .g-row{display:grid;grid-template-columns:86px 1fr;align-items:center;font-size:12px}
.gantt .g-head{grid-template-columns:86px repeat(6,1fr);color:var(--muted);font-size:11px}
.gantt .g-track{display:grid;grid-template-columns:repeat(6,1fr);height:22px;align-items:center;background:repeating-linear-gradient(90deg,transparent 0 calc(16.66% - 1px),var(--line) calc(16.66% - 1px) 16.66%)}
.gantt .g-track i{display:block;height:12px;background:var(--ink);border-radius:3px;transform-origin:left center;transition:transform .6s var(--ease) var(--d,0ms)}
.g-mile{grid-column:6;justify-self:end;width:12px;height:12px;background:var(--ink);transform:rotate(45deg);margin-right:4px}
@media (prefers-reduced-motion: no-preference){html.js .gantt:not(.is-visible) .g-track i{transform:scaleX(0)}}
/* comparativa */
.cmp{width:100%;border-collapse:collapse;font-size:13px}
.cmp th,.cmp td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
.cmp thead th{font-size:12px}
.cmp tbody th{font-weight:600}
.cmp tr:last-child th,.cmp tr:last-child td{border-bottom:0}
.cmp td span{margin-left:8px;color:var(--muted);font-size:12px}
.pips{display:inline-flex;gap:3px;vertical-align:middle}
.pips i{display:block;width:12px;height:6px;border-radius:3px;background:#DADDDA}
.pips i.on{background:var(--ink)}
/* boceto a pantalla */
.wf{position:relative;border:1px solid var(--line);border-radius:10px;background:#fff;min-height:320px;overflow:hidden}
.mach text{font-size:13px}
@media (max-width:700px){.wf{min-height:360px}.viz{padding:16px}.viz-node text{font-size:15px}.viz-node .viz-sub{font-size:12px}.mach text{font-size:15px}}
.wf-layer{position:absolute;inset:0;display:flex;flex-direction:column;gap:10px;padding:16px}
.wf-top{display:flex;align-items:center;height:26px}
.wf-top b{font-size:14px}
.wf-img{height:96px;border-radius:6px;flex:none}
.wf-wire .wf-img{background:#E3E5E3}
.wf-color{background:var(--blue)}
.wf-wire .ui-line{background:#E3E5E3;height:12px}
.wf-b{display:block;width:96px;height:30px;border-radius:5px;background:#D3D6D3;margin-top:4px}
.wf-h{font-size:19px;font-weight:700;line-height:1.2}
.wf-p{font-size:13px;color:var(--muted);line-height:1.5}
.wf-btn{display:inline-block;align-self:flex-start;padding:8px 16px;border-radius:5px;background:var(--ink);color:#fff;font-size:13px;font-weight:600;margin-top:4px}
.wf-final{background:#fff;opacity:1;transition:opacity .45s var(--ease)}
@media (prefers-reduced-motion: no-preference){html.js .wf:not(.is-visible) .wf-final{opacity:0}}
/* Core Web Vitals */
.cwv{display:flex;flex-direction:column;gap:6px}
.cwv-h{display:flex;justify-content:space-between;font-size:13px}
.cwv-h span{color:var(--muted);font-size:12px}
.cwv-bar{display:flex;height:10px;gap:2px}
.cwv-bar i{display:block;border-radius:3px}
.cwv-bar .g{background:#0B8A2E}.cwv-bar .m{background:#B9BEB9}.cwv-bar .p{background:#DADDDA}
/* tablero de datos */
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.kpi{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--line);border-radius:6px}
.kpi .ui-line{height:14px}
.charts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.charts svg{width:100%;height:auto;display:block}
/* pipeline */
.pl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.pl li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;font-weight:600}
.pl li:last-child{border-bottom:0}
.pl-check{position:relative;width:20px;height:20px;border-radius:50%;border:2px solid #0B8A2E;flex:none}
.pl-check::after{content:"";position:absolute;left:5px;top:2px;width:5px;height:9px;border:solid #0B8A2E;border-width:0 2px 2px 0;transform:rotate(45deg)}
@media (prefers-reduced-motion: no-preference){
  html.js [data-once]:not(.is-visible) .pl-check{opacity:0}
  html.js [data-once].is-visible .pl-check{animation:bu-pop .35s calc(var(--i)*320ms) backwards}
}
@keyframes bu-pop{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}

/* ---------- Imagen grande de página (T8) ---------- */
.fig-sec{padding:0 0 clamp(56px,7vw,100px)}
.fig-card{max-width:1000px;margin:0 auto}
.fig-open{position:relative;display:block;width:100%;padding:0;border:0;background:#F2F3F1;border-radius:16px;overflow:hidden;cursor:zoom-in;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 30px 60px -36px rgba(11,12,11,.35)}
.fig-open img{display:block;width:100%;height:auto}
.fig-open::after{content:"Ampliar";position:absolute;right:14px;bottom:14px;background:var(--ink);color:#fff;font:600 12px/1 'Montserrat',system-ui,sans-serif;padding:8px 13px;border-radius:99px;opacity:.92}
.fig-open:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.fig-dialog{border:0;padding:0;width:min(1240px,96vw);max-height:94vh;border-radius:12px;overflow:auto;background:#F2F3F1}
.fig-dialog::backdrop{background:rgba(11,12,11,.78)}
.fig-dialog img{display:block;width:100%;min-width:900px;height:auto}
.fig-close{position:sticky;top:10px;float:right;margin:10px 10px -50px 0;z-index:2;font:600 13px 'Montserrat',system-ui,sans-serif;color:#fff;background:var(--ink);border:0;border-radius:99px;padding:9px 16px;cursor:pointer}
@media (max-width:700px){.fig-dialog img{min-width:760px}}

/* dialog-centrado */
.fig-dialog,.work-gallery,.video-dialog{margin:auto;inset:0}

/* ================= Formularios (cotizar y catálogo) ================= */
.hero-compact{padding:180px 0 56px}
.hero-compact .lead{max-width:56ch}
.lead-sec{padding-top:0}
.lead-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);gap:56px;align-items:start}
.lead-card{background:#fff;border-radius:18px;box-shadow:0 0 0 1px var(--line),0 30px 60px -40px rgba(11,12,11,.3);padding:clamp(24px,4vw,44px)}
.lead-card-narrow{max-width:640px;margin:0 auto}
.lead-card h2{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;line-height:1.15}
.lead-aside{position:sticky;top:110px}
.lead-aside h2{font-size:22px;letter-spacing:-.01em}
.aside-steps{list-style:none;margin:20px 0 0;padding:0;counter-reset:s;display:grid;gap:18px}
.aside-steps li{counter-increment:s;position:relative;padding-left:44px;font-size:15px;line-height:1.55;color:var(--muted)}
.aside-steps li b{display:block;color:var(--ink)}
.aside-steps li::before{content:counter(s);position:absolute;left:0;top:0;width:30px;height:30px;border-radius:50%;background:var(--ink);color:#fff;font:700 13px/30px var(--font);text-align:center}
.aside-note{margin-top:22px;font-size:14px;line-height:1.6;color:var(--muted)}

.lform{display:block}
.lead-top{display:flex;align-items:center;gap:18px;margin-bottom:28px}
.lead-count{font-size:13px;font-weight:700;white-space:nowrap}
.lead-progress{list-style:none;display:flex;gap:6px;flex:1;margin:0;padding:0}
.lead-progress li{flex:1;height:5px;border-radius:3px;background:#E1E4E0;transition:background .25s}
.lead-progress li.on{background:var(--ink)}
.lead-step h2{outline:none}
.lead-step[hidden]{display:none}
.step-sub{margin:8px 0 24px;color:var(--muted);font-size:15px;line-height:1.55}
.lform .field{margin:0 0 22px;border:0;padding:0;min-width:0}
.lform .field>label,.lform .field>legend{display:block;font-size:14px;font-weight:700;margin-bottom:8px;padding:0}
.lform .fgroup>legend:not(.sr-only){float:left;width:100%}
.lform .fgroup>legend:not(.sr-only)+*{clear:both}
.opt-tag{font-weight:500;color:var(--muted)}
.lform input[type=text],.lform input[type=email],.lform input[type=tel],.lform select,.lform textarea{width:100%;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1px solid #C7CCC7;border-radius:10px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}
.lform textarea{resize:vertical;min-height:130px;line-height:1.5}
.lform input:focus-visible,.lform select:focus-visible,.lform textarea:focus-visible{outline:2px solid var(--ink);outline-offset:1px;border-color:var(--ink)}
.lform .has-error input[type=text],.lform .has-error input[type=email],.lform .has-error input[type=tel],.lform .has-error select,.lform .has-error textarea{border-color:#B3261E;box-shadow:0 0 0 1px #B3261E}
.field-error{color:#B3261E;font-size:13.5px;font-weight:600;margin-top:7px}
.field-error:empty{display:none}
.field-hint,.field-count{font-size:13px;color:var(--muted);margin-top:6px}
.field-count{text-align:right}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.opt-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.opt-grid.small{grid-template-columns:1fr 1fr}
.opt{position:relative;display:flex;flex-direction:column;gap:3px;padding:16px 18px 16px 52px;border:1px solid #C7CCC7;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}
.opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.opt::before{content:"";position:absolute;left:18px;top:18px;width:20px;height:20px;border-radius:6px;border:1.5px solid #9AA09A;background:#fff;transition:all .15s}
.opt:has(input[type=radio])::before{border-radius:50%}
.opt:has(input:checked){border-color:var(--ink);background:#F4F5F3}
.opt:has(input:checked)::before{background:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 4px #fff}
.opt:has(input:focus-visible){outline:2px solid var(--ink);outline-offset:2px}
.opt:has(input:disabled){opacity:.45;cursor:not-allowed}
.opt:hover{border-color:var(--ink)}
.opt-t{font-weight:700;font-size:15px}
.opt-s{font-size:13px;color:var(--muted);line-height:1.4}
.pill-row{display:flex;flex-wrap:wrap;gap:10px}
.pill-opt{position:relative}
.pill-opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.pill-opt span{display:inline-block;padding:11px 18px;border:1px solid #C7CCC7;border-radius:99px;font-size:14.5px;font-weight:600;background:#fff;transition:all .15s}
.pill-opt:hover span{border-color:var(--ink)}
.pill-opt:has(input:checked) span{background:var(--ink);border-color:var(--ink);color:#fff}
.pill-opt:has(input:focus-visible) span{outline:2px solid var(--ink);outline-offset:2px}
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;line-height:1.55;cursor:pointer}
.check input{margin-top:3px;width:20px;height:20px;flex:none;accent-color:var(--ink)}
.check a{text-decoration:underline}
.lead-summary{display:grid;grid-template-columns:130px 1fr;gap:0;margin:0 0 24px;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lead-summary dt,.lead-summary dd{margin:0;padding:12px 16px;border-top:1px solid var(--line);font-size:14.5px}
.lead-summary dt{color:var(--muted);font-weight:600;background:#FAFAF8}
.lead-summary dt:first-of-type,.lead-summary dt:first-of-type+dd{border-top:0}
.lead-summary dd{font-weight:600}
.lead-nav{display:flex;justify-content:space-between;gap:12px;margin-top:32px}
.lead-nav .btn{margin-left:auto}
.lead-nav [hidden]{display:none}
.btn-ghost{font:inherit;font-weight:700;font-size:15px;color:var(--ink);background:#fff;border:1px solid #C7CCC7;border-radius:10px;padding:14px 22px;cursor:pointer}
.btn-ghost:hover{border-color:var(--ink)}
.lead-mini .btn{margin-top:6px}
.lform button[disabled]{opacity:.6;cursor:progress}
.form-status{margin-top:14px;font-size:14.5px;line-height:1.5}
.form-status.is-error{color:#B3261E;font-weight:600}
.turnstile{margin:6px 0 18px}
.lead-done{outline:none}
.lead-done h2{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em}
.lead-done p{margin-top:14px;color:var(--muted);line-height:1.6}
@media (max-width:1000px){
  .lead-layout{grid-template-columns:1fr;gap:36px}
  .lead-aside{position:static}
}
@media (max-width:620px){
  .hero-compact{padding:140px 0 40px}
  .two,.opt-grid,.opt-grid.small{grid-template-columns:1fr}
  .lead-summary{grid-template-columns:100px 1fr}
  .lead-nav{flex-direction:column-reverse}
  .lead-nav .btn,.lead-nav .btn-ghost{width:100%;margin-left:0;text-align:center}
}
@media (prefers-reduced-motion:reduce){.lform *{transition:none!important}}
.lform .field>label.check{display:flex;font-weight:500;font-size:14px;margin:0}
.lform .consent{margin-top:8px}

/* Por qué Brova */
.porque-fig{margin:0 auto;max-width:1176px}
.porque-fig img{display:block;width:100%;height:auto;border-radius:18px}

/* ---------- Ritmo vertical (auditoría de espacios) ---------- */
.legal-page{padding-top:164px;padding-bottom:64px}
.pos,.services,.cta{padding-top:96px;padding-bottom:96px}
.lead-sec{padding-top:64px}
.fig-sec{padding-bottom:0}
.pill-links{margin-top:22px}
.porque-fig{margin-top:64px}
.work-media .bw,.work-media .work-photo{aspect-ratio:1440/790;display:flex;flex-direction:column}
.work-media .bw img{flex:1;min-height:0;width:100%;height:auto;object-fit:cover;object-position:top}
.work-media .work-photo img{width:100%;height:100%;object-fit:cover}
@media (max-width:1080px){.pos,.services,.cta{padding-top:72px;padding-bottom:72px}}
@media (max-width:768px){.pos,.services,.cta{padding-top:60px;padding-bottom:60px}.legal-page{padding-top:124px;padding-bottom:48px}.lead-sec{padding-top:44px}.porque-fig{margin-top:44px}}
.ai,.process,.global{padding-top:96px;padding-bottom:96px}
.cloud{padding-top:72px;padding-bottom:72px}
@media (max-width:1080px){.ai,.process,.global{padding-top:72px;padding-bottom:72px}.cloud{padding-top:56px;padding-bottom:56px}}
@media (max-width:768px){.ai,.process,.global{padding-top:60px;padding-bottom:60px}.cloud{padding-top:44px;padding-bottom:44px}}


/* Previews de servicios al pasar el mouse: imagen grande */
@media (hover:hover) and (min-width:1101px){
  .svc{overflow:visible}
  .svc:hover,.svc:focus-visible{z-index:5}
  .svc::before{transform:none;opacity:0;transition:opacity .4s var(--ease)}
  .svc:hover::before{opacity:1}
  .svc p{max-width:29ch}
  .svc-thumb-img{width:340px;right:56px;z-index:3}
  .svc-thumb-img img{display:block;width:100%;height:auto;border-radius:14px;background:#fff;box-shadow:0 0 0 1px rgba(11,12,11,.1),0 34px 60px -26px rgba(11,12,11,.5)}
}
/* Banner de servicios (home) */
.svc-banner{position:relative;overflow:hidden;background:#0B0C0B;color:#fff;isolation:isolate}
.svc-banner-bg,.svc-banner-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0}
.svc-banner::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(11,12,11,.95) 0%,rgba(11,12,11,.86) 42%,rgba(11,12,11,.5) 100%)}
.svc-banner-in{position:relative;z-index:2;padding-top:112px;padding-bottom:112px}
.svc-banner .label{display:block;color:rgba(255,255,255,.7);margin-bottom:22px}
.svc-banner h2{font-size:clamp(32px,4.2vw,56px);max-width:19ch;color:#fff;letter-spacing:-.02em;line-height:1.08}
.svc-banner p{max-width:46ch;margin:22px 0 34px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.78)}
.svc-banner-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:18px 30px}
.svc-banner .btn{background:#fff;color:var(--ink)}
.svc-banner .btn:hover{background:#E6F7E6;color:var(--ink)}
.svc-banner .textlink{color:#fff;border-color:rgba(255,255,255,.5)}
@media (max-width:1080px){.svc-banner-in{padding-top:88px;padding-bottom:88px}}
@media (max-width:700px){.svc-banner-in{padding-top:64px;padding-bottom:64px}.svc-banner::after{background:rgba(11,12,11,.84)}.svc-banner p{font-size:16px}}
/* Mapa de servicios (índice): departamentos y soluciones con vista previa */
.map-rows{padding:20px;display:flex;flex-direction:column;gap:12px}
.map-row{display:grid;grid-template-columns:96px 1fr;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.map-dept{display:flex;flex-direction:column;gap:5px;color:var(--ink);text-decoration:none}
.map-dept b{font-size:19px;letter-spacing:-.01em}
.map-dept span{font-size:12px;line-height:1.35;color:var(--muted)}
.map-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.map-tile{display:flex;flex-direction:column;gap:7px;color:var(--ink);text-decoration:none;font-size:12px;font-weight:600;line-height:1.25}
.map-tile img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:8px;box-shadow:0 0 0 1px var(--line);transition:transform .3s var(--ease)}
.map-tile:hover img,.map-tile:focus-visible img{transform:translateY(-2px)}
.map-dept:hover b{text-decoration:underline}
@media (max-width:700px){.map-rows{padding:14px}.map-row{grid-template-columns:1fr;gap:10px}.map-dept{flex-direction:row;align-items:baseline;gap:10px}}

/* ===== v2 06/11/2026: menú de productos, precio, casos, cómo trabajamos ===== */
.mega-col.solo .mega-col-toggle,.mega-col.solo .mega-col-back{display:none!important}
.mega-links.mega-products{grid-template-columns:1fr;max-width:520px}
.mega-col.solo a .mp-d{display:block;font-size:12.5px;font-weight:500;color:var(--muted);margin-top:2px}
@media (max-width:1000px){.mega-col.solo a{display:block!important}.mega-col.solo a .mp-d{font-size:14px}}
.pill-links li span{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:99px;font-size:14px;font-weight:600;background:#F6F7F6}
.steps.c4{grid-template-columns:repeat(4,1fr);gap:32px}
@media (max-width:1000px){.steps.c4{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.steps.c4{grid-template-columns:1fr}}
.price-box{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:48px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:44px}
.price-box .from{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:12px;display:block}
.price-box .amount{font-size:clamp(40px,5vw,64px);font-weight:800;letter-spacing:-.03em;line-height:1}
.price-box .amount small{font-size:.3em;font-weight:600;color:var(--muted);letter-spacing:0;margin-left:8px}
.price-box ul{list-style:none;display:grid;gap:12px}
.price-box li{padding-left:24px;position:relative;font-size:15px}
.price-box li::before{content:"";position:absolute;left:0;top:.55em;width:10px;height:10px;border-radius:50%;background:var(--green)}
.price-box .alt{margin-top:22px;font-size:14.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}
.case-ph{border:1.5px dashed #C9CDC9;border-radius:14px;padding:32px;min-height:220px;display:flex;flex-direction:column;justify-content:flex-end;background:repeating-linear-gradient(135deg,#FAFAF9 0 14px,#F3F4F3 14px 28px)}
.case-ph .tag{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.case-ph h3{font-size:20px;margin:10px 0 6px}
.case-ph p{font-size:14px;color:var(--muted)}
.howto{list-style:none;border-top:1px solid var(--line)}
.howto>li{display:grid;grid-template-columns:80px minmax(0,1.15fr) minmax(0,1fr);gap:40px;padding:48px 0;border-bottom:1px solid var(--line)}
.howto .n{font-size:14px;font-weight:700;color:var(--muted);letter-spacing:.12em;padding-top:8px}
.howto h3{font-size:clamp(22px,2.4vw,30px);margin-bottom:14px}
.howto p{color:var(--muted);font-size:15.5px}
.howto ul{margin-top:14px;padding-left:18px;color:var(--muted);font-size:15px;display:grid;gap:6px}
.howto .why{background:#F6F7F6;border-radius:10px;padding:22px 24px;align-self:start}
.howto .why b{display:block;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:8px}
.law-src{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;color:var(--blue);border-bottom:1px solid currentColor}
.env-flow{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:22px}
.env-flow span{padding:11px 16px;border-radius:8px;border:1px solid var(--line);font-weight:700;font-size:14px;background:#fff}
.env-flow span.prod{background:var(--ink);color:#fff;border-color:var(--ink)}
.env-flow i{font-style:normal;color:var(--muted)}
.who{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:center}
.who-photo{aspect-ratio:1;border-radius:14px;border:1.5px dashed #C9CDC9;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;color:var(--muted);padding:20px;background:#FAFAF9}
.who h3{font-size:26px}
.who .role{font-weight:700;color:var(--muted);margin:6px 0 16px;display:block}
.cond{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.toc{columns:2;column-gap:56px;padding-left:22px;max-width:980px}
.toc li{padding:10px 0;break-inside:avoid;border-bottom:1px solid var(--line);font-weight:600}
a.cap-card{display:block;color:inherit}
.prod-card .label{display:block;margin-bottom:14px;color:var(--blue)}
.prod-card .go-more{display:inline-block;margin-top:18px;font-weight:700;font-size:14px}
@media (max-width:900px){
  .price-box{grid-template-columns:1fr;padding:28px;gap:28px}
  .howto>li{grid-template-columns:1fr;gap:14px;padding:36px 0}
  .who{grid-template-columns:1fr;gap:24px}.who-photo{max-width:180px}
  .cond{grid-template-columns:1fr}
  .toc{columns:1}
}
@media (min-width:1001px){#navServicesItem .mega{width:440px;left:-24px;transform:none}#navServicesItem .mega-links.mega-products{max-width:none}}

/* ===== v3 06/11/2026: íconos, situaciones, línea de tiempo, logos en movimiento ===== */
.services-head.wide{grid-template-columns:1fr}
.services-head.wide h2{max-width:32ch}
.cap-ico{width:46px;height:46px;border-radius:11px;background:#EAFBEA;color:#0B7A2B;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.cap-ico svg{width:22px;height:22px}
.cap-card.situ{padding:0;display:grid;grid-template-columns:minmax(0,1fr) 42%;min-height:240px;overflow:hidden}
.situ-tx{padding:30px 8px 30px 30px;display:flex;flex-direction:column;justify-content:center}
.situ-media{position:relative;background:linear-gradient(135deg,#F4FBF4,#E3F6E3)}
.situ-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.situ-media .ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#0B7A2B;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%)}
.situ-media .ph svg{width:52px;height:52px;stroke-width:1.3;opacity:.75}
.tl{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;position:relative}
.tl.c3{grid-template-columns:repeat(3,1fr)}
.tl::before{content:"";position:absolute;left:22px;right:22px;top:21px;height:2px;background:linear-gradient(90deg,var(--green),var(--line) 70%)}
.tl>li{position:relative}
.tl-dot{width:44px;height:44px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;position:relative;z-index:1;box-shadow:0 0 0 6px #fff}
.tl>li:first-child .tl-dot{background:var(--green);color:var(--ink)}
.tl h3{font-size:21px;margin:24px 0 8px}
.tl-time{display:inline-block;margin-bottom:10px;font-size:12px;font-weight:700;color:#0B7A2B;background:#E6F7E6;border-radius:99px;padding:4px 10px}
.tl p{font-size:15px;color:var(--muted)}
.tl-box{margin-top:18px;border-radius:10px;background:#F6F7F6;padding:16px 18px;display:grid;gap:12px;font-size:14px;line-height:1.5}
.tl-box b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);margin-bottom:2px}
.tl-box span{color:var(--muted)}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.marquee-track{display:flex;width:max-content;animation:mq 45s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.mq-group{display:flex;gap:16px;padding-right:16px}
.mq-item{display:flex;align-items:center;gap:12px;padding:18px 24px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700;font-size:15px;white-space:nowrap}
.mq-item img{height:26px;width:auto;display:block}
.mq-item img.wm{height:22px}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee{-webkit-mask-image:none;mask-image:none}.marquee-track{animation:none;width:auto}.mq-group{flex-wrap:wrap}.mq-group[aria-hidden]{display:none}}
@media (max-width:1000px){
  .tl,.tl.c3{grid-template-columns:1fr;gap:0}
  .tl::before{left:21px;right:auto;top:10px;bottom:10px;width:2px;height:auto;background:linear-gradient(180deg,var(--green),var(--line) 70%)}
  .tl>li{padding:0 0 36px 68px}
  .tl-dot{position:absolute;left:0;top:0}
  .tl h3{margin-top:8px}
}
@media (max-width:640px){
  .cap-card.situ{grid-template-columns:1fr}
  .situ-media{height:190px;order:-1}
  .situ-media img,.situ-media .ph{-webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
  .situ-tx{padding:6px 24px 26px}
}

/* ===== v4 06/11/2026: sitio más ancho (solo español) e íconos Fluent sin contenedor ===== */
html[lang] .wrap{max-width:1720px;padding-left:clamp(20px,5.2vw,100px);padding-right:clamp(20px,5.2vw,100px)}
.cap-ico{width:auto;height:auto;background:none;border-radius:0;color:var(--ink);display:block;margin-bottom:22px}
.cap-ico svg{width:30px;height:30px;display:block}
.prod-card .cap-ico svg{width:34px;height:34px}
.situ-media .ph svg{width:56px;height:56px;opacity:.6}

/* v5: máscara más suave para fotos */
.situ-media img{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}
@media (max-width:640px){.situ-media img{-webkit-mask-image:linear-gradient(180deg,#000 75%,transparent);mask-image:linear-gradient(180deg,#000 75%,transparent)}}

/* ===== v6 06/11/2026: hero oscuro de producto (estilo TOWA, colores Brova) ===== */
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(../fonts/instrument-serif-latin-ext-400-italic.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
.phero{position:relative;overflow:hidden;background:#050605;color:#fff;min-height:min(86vh,860px);display:flex;align-items:center;padding:150px 0 110px;isolation:isolate}
.phero-img{position:absolute;inset:0;z-index:-2}
.phero-img img{position:absolute;right:0;top:0;height:100%;width:72%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 38%);mask-image:linear-gradient(90deg,transparent 0,#000 38%)}
.phero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 90% at 0% 100%,rgba(0,224,0,.42) 0%,rgba(0,140,40,.18) 28%,transparent 58%),linear-gradient(90deg,rgba(5,6,5,.92) 0%,rgba(5,6,5,.55) 46%,rgba(5,6,5,.08) 100%)}
.phero .wrap{position:relative;width:100%}
.phero-kicker{display:block;font-size:17px;font-weight:600;color:rgba(255,255,255,.88);margin-bottom:22px}
.phero h1{font-size:clamp(44px,5.6vw,92px);line-height:1.02;letter-spacing:-.035em;font-weight:800;max-width:15ch}
.phero h1 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.phero-lead{margin-top:30px;font-size:clamp(17px,1.5vw,21px);line-height:1.5;color:rgba(255,255,255,.86);max-width:52ch}
.phero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.phero-tags span{border:1px solid rgba(255,255,255,.45);border-radius:99px;padding:7px 16px;font-size:14px;font-weight:600}
.phero-ctas{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:40px}
.phero-ctas .btn{background:var(--green);color:var(--ink)}
.phero-ctas .btn:hover{background:#fff}
.phero-ctas .textlink{color:#fff}
@media (max-width:900px){
  .phero{min-height:auto;padding:130px 0 80px}
  .phero-img img{width:100%;opacity:.45;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 85%);mask-image:linear-gradient(180deg,#000 0,transparent 85%)}
  .phero-ctas{flex-direction:column;align-items:flex-start;gap:18px}
  .phero-ctas .btn{width:100%;justify-content:center}
}
.phero h1{max-width:21ch;font-size:clamp(42px,5vw,84px)}
@media (max-width:900px){.phero h1{max-width:none}}

/* v6b: tamaños según referencia TOWA, logo intacto, sin botones en el hero */
.phero{min-height:min(82vh,820px)}
.phero-kicker{font-size:clamp(14px,1.2vw,18px);font-weight:500;margin-bottom:18px}
.phero h1{font-size:clamp(38px,4.4vw,76px);font-weight:700;line-height:1.08;letter-spacing:-.03em;max-width:24ch}
.phero h1 em{font-size:1.06em;letter-spacing:0}
.phero-lead{margin-top:26px;font-size:clamp(16px,1.6vw,22px);line-height:1.45;max-width:56ch}
.phero-tags{margin-top:24px}
.phero-tags span{font-size:clamp(13px,1vw,15px);font-weight:500;padding:6px 15px}
@media (max-width:900px){.phero h1{max-width:none}}

/* v6c: tamaños fijos pedidos por Joaco y header transparente sobre el hero oscuro */
.phero-kicker{font-size:16px}
.phero h1{font-size:60px;max-width:26ch}
.phero-lead{font-size:22px}
.phero-tags span{font-size:14px}
@media (max-width:700px){.phero h1{font-size:40px}.phero-lead{font-size:18px}}
body:has(.phero) header:not(.scrolled)::before{background:transparent;backdrop-filter:none}
body:has(.phero) header:not(.scrolled) .logo-svg path:nth-of-type(n+4){fill:#fff}
body:has(.phero) header:not(.scrolled) .menu-btn span{background:#fff}
@media (min-width:1001px){
  body:has(.phero) header:not(.scrolled) .nav-links>div>a,
  body:has(.phero) header:not(.scrolled) .nav-main-links>a,
  body:has(.phero) header:not(.scrolled) .nav-main-links>.nav-item>.nav-services-toggle,
  body:has(.phero) header:not(.scrolled) .nav-mobile-bottom .nav-services-toggle{color:rgba(255,255,255,.9)}
  body:has(.phero) header:not(.scrolled) .nav-main-links>a:hover,
  body:has(.phero) header:not(.scrolled) .nav-services-toggle:hover{color:var(--green)}
  body:has(.phero) header:not(.scrolled) .nav>.btn{background:var(--green);color:var(--ink)}
}

/* ===== v7 06/11/2026: ¿Cómo lo hacemos? en formato de fases con barras ===== */
.proc{position:relative;overflow:hidden;background:#FAFAF8}
.proc::before{content:"";position:absolute;right:-12%;top:30%;width:46vw;height:46vw;border-radius:50%;background:radial-gradient(circle,rgba(0,224,0,.13),transparent 62%);pointer-events:none}
.proc-title{text-align:center;font-size:clamp(40px,5vw,72px);letter-spacing:-.035em;margin-bottom:72px;position:relative}
.gp-scroll{overflow-x:auto;padding-bottom:8px;position:relative}
.gp{position:relative;display:grid;column-gap:0;row-gap:14px;min-width:980px;padding:10px 0 30px}
.gp-circles{position:absolute;inset:0;pointer-events:none}
.gp-circle{position:absolute;top:50%;width:calc(100% / var(--n) * 1.32);aspect-ratio:1;max-height:118%;transform:translate(-50%,-50%);border:1.5px dashed #D9DCD7;border-radius:50%}
.gp-label{text-align:center;margin-bottom:26px;position:relative}
.gp-label b{display:block;font-size:17px;font-weight:600}
.gp-label span{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:#0B7A2B;background:#E6F7E6;border-radius:99px;padding:3px 10px}
.gp-bar{position:relative;display:flex;align-items:center;gap:12px;height:54px;padding:0 22px 0 6px;border-radius:99px;background:#E3F1E7;font-size:16px;font-weight:600;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(11,12,11,.04)}
.gp-ico{width:42px;height:42px;flex:0 0 42px;border-radius:50%;background:#F4FBF5;display:flex;align-items:center;justify-content:center;color:var(--ink)}
.gp-ico svg{width:20px;height:20px}
@media (max-width:900px){.proc-title{margin-bottom:44px}.gp-bar{font-size:14.5px;height:48px}.gp-ico{width:36px;height:36px;flex-basis:36px}}
.gp-circle{max-height:none;width:calc(100% / var(--n) * 1.25)}
.gp-bar{min-width:max-content}
.gp-bar.end{justify-self:end}
@media (min-width:1001px){.gp-scroll{overflow:visible}}
@media (max-width:900px){
  .gp-scroll{overflow:visible}
  .gp{display:flex;flex-direction:column;min-width:0;gap:10px;padding:0}
  .gp-circles,.gp-label{display:none}
  .gp-bar,.gp-bar.end{min-width:0;justify-self:auto;white-space:normal;height:auto;min-height:48px;padding:6px 18px 6px 6px;line-height:1.3}
}
/* v7b: barras más chicas, círculos más grandes */
@media (min-width:901px){
  .gp{row-gap:10px;padding:20px 0 60px}
  .gp-circle{width:calc(100% / var(--n) * 1.5)}
  .gp-label{margin-bottom:40px}
  .gp-label b{font-size:15px}
  .gp-bar{height:40px;font-size:14px;gap:9px;padding:0 16px 0 4px}
  .gp-ico{width:32px;height:32px;flex-basis:32px}
  .gp-ico svg{width:16px;height:16px}
}
/* v7c: el diagrama de proceso es una imagen en computadora; lista en celular */
.proc::before{display:none}
.gp-fig img{display:block;width:100%;height:auto}
@media (min-width:901px){.gp-scroll{display:none}}
@media (max-width:900px){.gp-fig{display:none}}

/* ===== v8 06/11/2026: margen de página 150px (referencia TOWA) y header alineado con el contenido ===== */
html[lang] .wrap{max-width:1920px;padding-left:clamp(24px,10.4vw,150px);padding-right:clamp(24px,10.4vw,150px)}
html[lang] header .nav{height:88px}
@media (max-width:900px){html[lang] header .nav{height:72px}}
/* v8b: menú del header 18px; el h1 y la bajada ocupan todo el ancho entre márgenes */
html[lang] header .nav-links,
html[lang] header .nav-links a,
html[lang] header .nav-services-toggle{font-size:18px}
html[lang] header .nav-links{gap:34px}
.phero h1{max-width:none}
.phero-lead{max-width:none}
/* v8c: según inspector de TOWA (1600px: margen 110px, caja de texto 832px = 60% del ancho útil) */
html[lang] .wrap{padding-left:clamp(24px,6.9vw,150px);padding-right:clamp(24px,6.9vw,150px)}
.phero h1,.phero-lead{max-width:60%}
@media (max-width:1100px){.phero h1,.phero-lead{max-width:none}}

/* v9 06/11/2026: proceso en celular = misma imagen de escritorio con scroll horizontal (opción D) */
@media (max-width:900px){
  .gp-scroll{display:none}
  .gp-fig{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;margin:0 calc(-1 * clamp(24px,6.9vw,150px));padding:0 clamp(24px,6.9vw,150px) 6px;scrollbar-width:thin}
  .gp-fig img{width:1100px;max-width:none;height:auto}
  .gp-fig::after{content:"Deslizá para ver todas las fases →";display:block;position:sticky;left:0;width:max-content;margin-top:10px;font-size:13px;color:var(--muted)}
}
/* v9b: mismo tamaño que el resto de los títulos de sección */
.proc-title{font-size:clamp(30px,3.8vw,48px);letter-spacing:inherit;margin-bottom:56px}
@media (max-width:900px){.proc-title{font-size:clamp(26px,7vw,36px);margin-bottom:36px}}

/* v10 06/11/2026: "¿Cuál es el valor?" en formato tarjeta oscura (referencia TOWA whitepaper) */
.vcard{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(24px,4vw,72px);border-radius:28px;padding:clamp(28px,4.5vw,72px);color:#fff;background:radial-gradient(120% 130% at 0% 100%,rgba(0,224,0,.55) 0%,rgba(0,120,40,.28) 30%,transparent 62%),linear-gradient(90deg,#0a2a0f 0%,#06100a 42%,#050605 100%)}
.vcover{background:#050605;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:30px 28px;max-width:360px;margin:0 auto}
.vfrom{display:block;font-size:14px;color:rgba(255,255,255,.7)}
.vamount{font-size:clamp(28px,2.6vw,38px);font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:6px}
.vamount small{font-size:15px;font-weight:500;color:rgba(255,255,255,.7);letter-spacing:0;margin-left:8px}
.vsub{margin-top:16px;font-size:14px;line-height:1.5;color:rgba(255,255,255,.78)}
.vhora{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.16);display:flex;align-items:baseline;gap:10px}
.vhora b{font-size:20px;font-weight:700;color:var(--green)}
.vhora span{font-size:14px;color:rgba(255,255,255,.78)}
.vkick{display:block;font-size:16px;color:rgba(255,255,255,.88);margin-bottom:14px}
.vcard h3{font-size:clamp(30px,3.4vw,52px);line-height:1.08;letter-spacing:-.03em;font-weight:700;margin-bottom:28px}
.vcard h3 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:0}
.vlist{list-style:none;display:grid;gap:12px;margin-bottom:22px}
.vlist li{position:relative;padding-left:36px;font-size:clamp(16px,1.35vw,20px);line-height:1.4;color:rgba(255,255,255,.92)}
.vlist li::before{content:"";position:absolute;left:2px;top:.32em;width:18px;height:10px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(.9);transform-origin:center}
.vnote{font-size:14.5px;line-height:1.5;color:rgba(255,255,255,.68);margin-bottom:28px;max-width:60ch}
.vbtn{display:inline-flex;align-items:center;gap:36px;background:#fff;color:#050605;border-radius:12px;padding:22px 30px;font-size:18px;font-weight:500;transition:background .2s}
.vbtn:hover{background:var(--green)}
@media (max-width:900px){.vcard{grid-template-columns:1fr;border-radius:20px}.vcover{max-width:none;margin:0}.vbtn{width:100%;justify-content:space-between;padding:18px 22px}}

/* v10b: el recuadro de precio pasa a ser un ticket de papel */
.vticket{--paper:#F3F0E6;--ink2:#0b0d0b;max-width:380px;margin:0 auto;color:var(--ink2);transform:rotate(-2.2deg);filter:drop-shadow(0 18px 30px rgba(0,0,0,.45));font-family:inherit}
.vt-main,.vt-stub{background:var(--paper);position:relative}
.vt-main{border-radius:14px 14px 0 0;padding:22px 26px 26px;-webkit-mask:radial-gradient(circle 13px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 13px at 0 100%,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 100%,#0000 98%,#000) right/51% 100% no-repeat}
.vt-stub{border-radius:0 0 14px 14px;padding:20px 26px 22px;-webkit-mask:radial-gradient(circle 13px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat;mask:radial-gradient(circle 13px at 0 0,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 13px at 100% 0,#0000 98%,#000) right/51% 100% no-repeat}
.vt-stub::before{content:"";position:absolute;left:20px;right:20px;top:0;border-top:2px dashed rgba(11,13,11,.28)}
.vt-top{display:flex;justify-content:space-between;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:rgba(11,13,11,.55);padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid rgba(11,13,11,.14)}
.vticket .vfrom{color:rgba(11,13,11,.6);font-size:14px}
.vticket .vamount{color:var(--ink2);font-size:clamp(28px,2.4vw,36px)}
.vticket .vamount small{color:rgba(11,13,11,.6)}
.vticket .vsub{color:rgba(11,13,11,.72);font-size:13.5px;margin-top:12px}
.vticket .vhora{margin:0;padding:0;border:0;display:flex;align-items:baseline;gap:8px;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.vticket .vhora span{font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:rgba(11,13,11,.7)}
.vticket .vhora i{flex:1;border-bottom:2px dotted rgba(11,13,11,.3);transform:translateY(-4px)}
.vticket .vhora b{font-size:18px;color:var(--ink2);background:var(--green);padding:2px 8px;border-radius:4px}
.vt-code{height:34px;margin-top:16px;background:repeating-linear-gradient(90deg,var(--ink2) 0 2px,transparent 2px 4px,var(--ink2) 4px 5px,transparent 5px 9px,var(--ink2) 9px 12px,transparent 12px 14px);opacity:.85}
.vcard:hover .vticket{transform:rotate(-1deg)}
.vticket{transition:transform .4s ease}
@media (max-width:900px){.vticket{max-width:360px;transform:rotate(-1.5deg)}}

/* ===== v11 06/11/2026: ticket horizontal con talón desprendible (referencia de Joaco) ===== */
.vcard{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.vcard .vcard-r{order:0}
.vticket{--paper:#EDEBE5;--ink2:#0b0d0b;--sc:7px;display:flex;max-width:none;margin:0;transform:none;color:var(--ink2);filter:drop-shadow(0 22px 34px rgba(0,0,0,.5))}
.vcard:hover .vticket{transform:none}
.vt-main,.vt-stub{background:var(--paper);position:relative;border-radius:0}
.vt-main{flex:1 1 auto;padding:clamp(22px,2.4vw,36px) clamp(22px,2.6vw,40px);
  -webkit-mask:radial-gradient(circle var(--sc) at 0 50%,#0000 96%,#000) left/51% 22px repeat-y,linear-gradient(#000 0 0) right/50% 100% no-repeat;
          mask:radial-gradient(circle var(--sc) at 0 50%,#0000 96%,#000) left/51% 22px repeat-y,linear-gradient(#000 0 0) right/50% 100% no-repeat}
.vt-stub{flex:0 0 clamp(150px,24%,210px);display:flex;flex-direction:column;padding:clamp(22px,2.4vw,32px) 22px 0;overflow:hidden;
  -webkit-mask:radial-gradient(circle var(--sc) at 100% 50%,#0000 96%,#000) right/51% 22px repeat-y,linear-gradient(#000 0 0) left/50% 100% no-repeat;
          mask:radial-gradient(circle var(--sc) at 100% 50%,#0000 96%,#000) right/51% 22px repeat-y,linear-gradient(#000 0 0) left/50% 100% no-repeat}
.vt-stub::before{content:"";position:absolute;left:0;top:10px;bottom:10px;right:auto;border-top:0;border-left:2px dashed rgba(11,13,11,.35)}
.vt-top{display:flex;justify-content:space-between;align-items:baseline;font-family:inherit;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink2);padding-bottom:16px;margin-bottom:22px;border-bottom:1px solid rgba(11,13,11,.35)}
.vt-brand{font-weight:800;font-size:17px;letter-spacing:.28em}
.vticket .vfrom{font-size:clamp(18px,1.6vw,24px);color:rgba(11,13,11,.6)}
.vticket .vamount{font-size:clamp(44px,4.6vw,76px);font-weight:700;letter-spacing:-.03em;line-height:1;margin-top:4px;color:var(--ink2)}
.vticket .vamount small{font-size:.28em;color:rgba(11,13,11,.6)}
.vticket .vsub{font-size:clamp(14px,1.15vw,16px);line-height:1.45;color:rgba(11,13,11,.75);margin-top:18px;max-width:46ch}
.vticket .vhora{display:flex;align-items:center;gap:14px;margin-top:22px;padding-top:16px;border-top:1px solid rgba(11,13,11,.35);font-family:inherit}
.vticket .vhora i{flex:none;width:14px;height:14px;border-radius:50%;background:var(--green);border:0;transform:none}
.vticket .vhora span{flex:1;font-size:12.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(11,13,11,.75)}
.vticket .vhora b{background:none;padding:0;font-size:clamp(20px,1.8vw,26px);font-weight:600;letter-spacing:-.02em}
.vticket .vhora b small{font-size:.6em;font-weight:400}
.vt-logo{width:44px;height:44px;display:block}
.vt-ask{margin-top:auto;padding-top:20px;font-size:12.5px;line-height:1.5;letter-spacing:.06em;text-transform:uppercase}
.vt-cta{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin:18px -22px 0;padding:18px 22px 26px;background:var(--green);color:var(--ink2);font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:600;border-radius:18px 18px 0 0;transition:background .2s}
.vt-cta:hover{background:#3dff3d}
.vt-cta svg{order:-1}
/* animación: el talón se arranca y cae */
.vticket.is-torn .vt-stub{animation:vtTear .8s cubic-bezier(.5,0,.75,0) forwards;transform-origin:0 0}
.vticket.is-torn .vt-main{animation:vtJolt .35s ease-out}
@keyframes vtTear{0%{transform:none}18%{transform:rotate(-4deg) translateX(2px)}32%{transform:rotate(7deg) translate(8px,-2px)}100%{transform:rotate(26deg) translate(70px,260px);opacity:0}}
@keyframes vtJolt{0%{transform:none}30%{transform:translateX(-6px) rotate(-.6deg)}60%{transform:translateX(3px)}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.vticket.is-torn .vt-stub,.vticket.is-torn .vt-main{animation:none}}
@media (max-width:1100px){.vcard{grid-template-columns:1fr}}
@media (max-width:640px){
  .vticket{flex-direction:column}
  .vt-main{-webkit-mask:none;mask:none;border-radius:16px 16px 0 0}
  .vt-stub{flex-basis:auto;border-radius:0 0 16px 16px;-webkit-mask:none;mask:none;padding:22px 22px 0}
  .vt-stub::before{left:16px;right:16px;top:0;bottom:auto;border-left:0;border-top:2px dashed rgba(11,13,11,.35)}
  .vt-ask{margin-top:14px}
  .vticket.is-torn .vt-stub{transform-origin:50% 0}
}
/* v11b: ticket a la izquierda, precio más chico, CTA propuesta gratis */
.vcard{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
.vticket .vamount{font-size:clamp(32px,2.8vw,44px)}
.vticket .vfrom{font-size:clamp(15px,1.2vw,18px)}
.vt-cta{margin-top:auto;line-height:1.35}
/* v11c: en pantallas angostas el ticket va debajo del texto */
@media (max-width:1100px){.vcard .vcard-l{order:2}.vcard .vcard-r{order:1}}
/* v11d: la regla de columnas de v11b pisaba el media query; se reaplica una columna */
@media (max-width:1100px){.vcard{grid-template-columns:minmax(0,1fr)}}
@media (max-width:640px){.vticket .vhora span{letter-spacing:.12em;white-space:nowrap}.vt-cta{margin-top:18px}}
/* v11e: celular conserva el troquelado del ticket y separa la carita del CTA */
@media (max-width:640px){
  .vt-main,.vt-stub{border-radius:0;
    -webkit-mask:radial-gradient(circle var(--sc) at 0 50%,#0000 96%,#000) left/51% 22px repeat-y,radial-gradient(circle var(--sc) at 100% 50%,#0000 96%,#000) right/51% 22px repeat-y;
            mask:radial-gradient(circle var(--sc) at 0 50%,#0000 96%,#000) left/51% 22px repeat-y,radial-gradient(circle var(--sc) at 100% 50%,#0000 96%,#000) right/51% 22px repeat-y}
  .vt-main{padding:26px 28px}
  .vt-stub{padding:26px 28px 0}
  .vt-stub::before{left:22px;right:22px}
  .vt-logo{margin-bottom:6px}
  .vt-cta{margin:28px -28px 0;padding:20px 28px 24px;border-radius:18px 18px 0 0}
}
.vticket .vhora b{white-space:nowrap}
/* v11f: en celular el troquelado va arriba (cuerpo) y abajo (talón) */
@media (max-width:640px){
  .vt-main{-webkit-mask:radial-gradient(circle var(--sc) at 50% 0,#0000 96%,#000) top/22px 51% repeat-x,linear-gradient(#000 0 0) bottom/100% 50% no-repeat;
                  mask:radial-gradient(circle var(--sc) at 50% 0,#0000 96%,#000) top/22px 51% repeat-x,linear-gradient(#000 0 0) bottom/100% 50% no-repeat;padding-top:32px}
  .vt-stub{-webkit-mask:radial-gradient(circle var(--sc) at 50% 100%,#0000 96%,#000) bottom/22px 51% repeat-x,linear-gradient(#000 0 0) top/100% 50% no-repeat;
                  mask:radial-gradient(circle var(--sc) at 50% 100%,#0000 96%,#000) bottom/22px 51% repeat-x,linear-gradient(#000 0 0) top/100% 50% no-repeat}
  .vt-cta{border-radius:18px 18px 0 0;padding-bottom:30px}
}

/* ===== v12 06/11/2026: imagen + texto (L/R) después del hero, con herramientas en círculos ===== */
.lr-sec{padding:clamp(72px,8vw,140px) 0}
.lr{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(40px,6vw,120px);align-items:center}
.lr-fig{position:relative;padding:70px 56px}
.lr-glow{position:absolute;inset:8% 12%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,224,0,.28),rgba(0,224,0,.08) 60%,transparent);filter:blur(30px);z-index:0}
.lr-img{position:relative;z-index:1;display:block;width:100%;border:0;padding:0;background:none;cursor:zoom-in;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(0,0,0,.35)}
.lr-img img{display:block;width:100%;height:auto}
.lr-chips{list-style:none;position:absolute;inset:0;z-index:2;pointer-events:none}
.lr-chip{position:absolute;width:104px;height:104px;border-radius:50%;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.12);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;padding:10px}
.lr-chip img,.lr-chip .lr-chip-ico{width:30px;height:30px;display:block}
.lr-chip span{font-size:12px;font-weight:700;line-height:1.15;color:var(--ink)}
.lr-c1{top:0;left:6%}
.lr-c2{top:0;left:31%}
.lr-c3{top:22%;left:-1%}
.lr-c4{top:50%;left:-3%}
.lr-c5{bottom:2%;left:4%}
.lr-c6{bottom:0;left:30%}
.lr-c7{bottom:0;right:8%}
.lr-c8{top:2%;right:6%}
.lr-txt h2{font-size:clamp(30px,3.8vw,48px);line-height:1.08;letter-spacing:-.03em;margin-bottom:30px}
.lr-txt h2 em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:1.06em;letter-spacing:0}
.lr-txt p{font-size:clamp(16px,1.25vw,19px);line-height:1.65;color:var(--ink);margin-bottom:22px}
.lr-txt p:last-child{color:var(--muted);margin-bottom:0}
.lr-txt strong{font-weight:700}
@media (max-width:1100px){.lr{grid-template-columns:1fr}.lr-fig{padding:60px 30px}}
@media (max-width:640px){.lr-fig{padding:20px 0 0}.lr-chips{position:static;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;pointer-events:auto}.lr-chip{position:static;width:auto;height:auto;flex-direction:row;border-radius:99px;padding:8px 14px 8px 10px;gap:8px;box-shadow:none;border:1px solid var(--line)}.lr-chip img,.lr-chip .lr-chip-ico{width:20px;height:20px}.lr-chip span{font-size:13px;font-weight:600}}
/* v12b: círculos por fuera de la imagen para no tapar el panel */
@media (min-width:641px){
  .lr-fig{padding:56px 24px 96px 96px}
  .lr-chip{width:96px;height:96px}
  .lr-c1{top:4%;left:0;bottom:auto;right:auto}
  .lr-c2{top:25%;left:0;bottom:auto;right:auto}
  .lr-c3{top:46%;left:0;bottom:auto;right:auto}
  .lr-c4{top:67%;left:0;bottom:auto;right:auto}
  .lr-c5{bottom:0;left:24%;top:auto;right:auto}
  .lr-c6{bottom:0;left:45%;top:auto;right:auto}
  .lr-c7{bottom:0;left:66%;top:auto;right:auto}
  .lr-c8{top:0;right:0;left:auto;bottom:auto}
}
/* v12c: sección L/R entra en una pantalla; texto 18px y títulos h2 a 32px */
html[lang] h2,html[lang] .proc-title,html[lang] .lr-txt h2{font-size:32px;line-height:1.15}
@media (max-width:640px){html[lang] h2,html[lang] .proc-title,html[lang] .lr-txt h2{font-size:28px}}
.lr-sec{padding:72px 0}
.lr-txt h2{margin-bottom:24px}
.lr-txt p{font-size:18px;line-height:1.6;margin-bottom:18px}
.lr-chip img[src*="brova-cloud-mark"]{width:46px;height:30px}
@media (min-width:641px){.lr-fig{padding:48px 16px 88px 92px}.lr-chip{width:88px;height:88px}.lr-chip span{font-size:11.5px}}
/* v12d: Brova Cloud con su logo oficial completo, en una pastilla */
.lr-chip.lr-chip-brand{width:190px;height:64px;border-radius:99px;padding:0 22px}
.lr-chip.lr-chip-brand img{width:146px;height:auto}
@media (max-width:640px){.lr-chip.lr-chip-brand{width:auto;height:auto;padding:9px 16px}.lr-chip.lr-chip-brand img{width:120px;height:auto}}
/* v13: menú Servicios sin doble línea (el último ítem no lleva borde; queda solo la de "Ver todos") */
.mega-products .mega-col a:last-child{border-bottom:0}
/* v13b: menú Servicios más compacto y hover en azul */
#navServicesItem .mega-inner{padding:16px 40px 14px}
#navServicesItem .mega-all{margin-top:6px;padding-top:14px}
.mega-products .mega-col a.current:hover,.mega-products .mega-col a:hover,#navServicesItem .mega-all:hover{color:var(--blue)}
@media (min-width:1001px){
  body:has(.phero) header:not(.scrolled) .nav-main-links>a:hover,
  body:has(.phero) header:not(.scrolled) .nav-services-toggle:hover,
  body:has(.phero) header:not(.scrolled) .nav-main-links>.nav-item:hover>.nav-services-toggle{color:#5BB0F0}
}
/* v13c: el ítem seleccionado del menú Servicios también va en azul */
.mega-products .mega-col a.current{color:var(--blue)}

/* v14 06/11/2026: sin cambio de color en hover. Menús principales sin hover; en el desplegable, fondo gris redondeado */
.nav-main-links>a:hover{color:var(--muted)}
.nav-main-links>.nav-item>.nav-services-toggle:hover,.nav-mobile-bottom .nav-services-toggle:hover{color:var(--ink)}
@media (min-width:1001px){
  body:has(.phero) header:not(.scrolled) .nav-main-links>a:hover,
  body:has(.phero) header:not(.scrolled) .nav-services-toggle:hover,
  body:has(.phero) header:not(.scrolled) .nav-main-links>.nav-item:hover>.nav-services-toggle,
  body:has(.phero) header:not(.scrolled) .nav-mobile-bottom .nav-services-toggle:hover{color:rgba(255,255,255,.9)}
}
.mega-products .mega-col a,#navServicesItem .mega-all{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;border-radius:12px;transition:background .15s}
.mega-products .mega-col a:hover,.mega-products .mega-col a.current:hover{padding-left:14px;color:var(--ink);background:#F1F1F1}
.mega-products .mega-col a.current:hover{color:var(--blue)}
#navServicesItem .mega-all{border-top:0;position:relative}
#navServicesItem .mega-all::before{content:"";position:absolute;left:14px;right:14px;top:0;border-top:1px solid var(--line)}
#navServicesItem .mega-all:hover{color:var(--green);background:#F1F1F1}
#navServicesItem .mega-inner{padding-left:26px;padding-right:26px}
.lang-list a:hover{background:#F1F1F1;color:inherit;border-radius:12px}

/* ===== v15 06/11/2026: tipografía del sitio en español = la de la propuesta de WinSa (sans neutral + serif itálica) ===== */
html[lang]{--font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--font-display:'Inter Tight','Inter',system-ui,sans-serif;--font-accent:'Charon Smith',Georgia,serif}
html[lang] h1,html[lang] h2,html[lang] h3,html[lang] h4,
html[lang] .vamount,html[lang] .proc-title,html[lang] .btn,html[lang] .vbtn,html[lang] .vt-cta,
html[lang] .nav-links,html[lang] .nav-services-toggle,html[lang] .mega-col a{font-family:var(--font-display)}
html[lang] h1,html[lang] h2,html[lang] h3{font-weight:600;letter-spacing:-.02em}
html[lang] h1 em,html[lang] h2 em,html[lang] h3 em,html[lang] .phero h1 em,html[lang] .vcard h3 em,html[lang] .lr-txt h2 em{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:1.04em;letter-spacing:0}
html[lang] strong,html[lang] b{font-weight:600}

/* v16 · Manrope en español */
html[lang]{--font:'Inter Tight Var','Helvetica Neue',Helvetica,Arial,system-ui,sans-serif;--font-display:'Inter Tight Var','Helvetica Neue',Helvetica,Arial,system-ui,sans-serif}
html[lang] body{font-family:var(--font)}
html[lang] h1,html[lang] h2,html[lang] h3{font-weight:700;letter-spacing:-.025em}
html[lang] strong,html[lang] b{font-weight:700}

/* v17 · "No es solo un sitio web" — filas asimétricas */
.inc-rows{display:flex;flex-direction:column;gap:clamp(20px,2.4vw,36px)}
.inc-row{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.inc-row .inc-card{margin:0;height:auto}
.inc-n{font-family:var(--font-display);font-weight:700;font-size:clamp(72px,9vw,140px);line-height:1;letter-spacing:-.04em;color:#E3E7EC;user-select:none}
.inc-odd .inc-card{grid-column:1/9;grid-row:1}
.inc-odd .inc-n{grid-column:9/13;grid-row:1;padding-left:24px}
.inc-even .inc-card{grid-column:5/13;grid-row:1}
.inc-even .inc-n{grid-column:1/5;grid-row:1;text-align:right;padding-right:24px}
.inc-last{display:block}
.inc-last .inc-card{background:var(--blue);border-color:var(--blue);color:#fff}
.inc-last .inc-card h3{color:#fff}
.inc-last .inc-card p{color:rgba(255,255,255,.88);max-width:62ch}
.inc-last .cap-ico{background:none;color:#fff}
.inc-after{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-bottom:10px}
@media (max-width:900px){
  .inc-row{display:block}
  .inc-n{display:block;font-size:56px;margin-bottom:6px;text-align:left!important;padding:0!important}
}
/* v17b · texto de las filas a 18px */
.inc-card p{font-size:18px;line-height:1.55}
.inc-last .inc-card p{max-width:70ch}
/* v17c · consistencia: texto de situaciones a 18px, botón de cerrar con la fuente del sitio */
.situ-tx p{font-size:18px;line-height:1.55}
html[lang] .fig-close,html[lang] button{font-family:inherit}

/* v18 · cierre "Lanzamiento y seguimiento": el 8 que se vuelve infinito */
.inc-last .inc-card{all:unset}
.inc-end{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:center;gap:clamp(24px,4vw,64px);padding:clamp(32px,4.4vw,64px);border-radius:24px;overflow:hidden;color:#fff;background:radial-gradient(120% 140% at 85% 20%,#0E7BD0 0%,rgba(14,123,208,0) 55%),linear-gradient(135deg,#00436F 0%,#005B9A 60%,#0A6CB8 100%)}
.inc-end::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 120%,rgba(0,230,80,.22),rgba(0,230,80,0) 45%);pointer-events:none}
.inc-end-tx,.inc-end-vis{position:relative}
.inc-end .inc-after{display:inline-block;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7CFF9B;margin-bottom:14px}
.inc-end h3{font-size:clamp(26px,2.6vw,38px);line-height:1.1;color:#fff;margin:0 0 14px;letter-spacing:-.025em}
.inc-end p{font-size:18px;line-height:1.55;color:rgba(255,255,255,.9);max-width:56ch;margin:0 0 22px}
.inc-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.inc-chips li{font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);backdrop-filter:blur(4px)}
.inc-end-vis{display:grid;place-items:center;min-height:240px}
.inc-end-vis>*{grid-area:1/1}
.inc-eight{font-family:var(--font-display);font-weight:800;font-size:clamp(150px,17vw,260px);line-height:1;letter-spacing:-.04em;color:#fff;text-shadow:0 0 60px rgba(124,255,155,.35)}
.inc-inf{width:100%;max-width:460px;height:auto;overflow:visible;opacity:0;filter:drop-shadow(0 0 14px rgba(124,255,155,.45))}
.inc-inf path{fill:none;stroke-linecap:round;stroke-linejoin:round}
.inc-inf-base{stroke:rgba(255,255,255,.28);stroke-width:7;stroke-dasharray:1;stroke-dashoffset:1}
.inc-inf-run{stroke:url(#infg);stroke-width:7;stroke-dasharray:.16 .84;stroke-dashoffset:0;opacity:0}
.inc-last.is-visible .inc-eight{animation:incEight 1.1s .5s cubic-bezier(.6,0,.2,1) forwards}
.inc-last.is-visible .inc-inf{animation:incFade .4s .9s forwards}
.inc-last.is-visible .inc-inf-base{animation:incDraw 1.4s .9s cubic-bezier(.4,0,.2,1) forwards}
.inc-last.is-visible .inc-inf-run{animation:incShow .3s 2.3s forwards,incRun 3.2s 2.3s linear infinite}
@keyframes incEight{0%{transform:rotate(0) scale(1);opacity:1}70%{opacity:1}100%{transform:rotate(90deg) scale(.7);opacity:0}}
@keyframes incFade{to{opacity:1}}
@keyframes incDraw{to{stroke-dashoffset:0}}
@keyframes incShow{to{opacity:1}}
@keyframes incRun{to{stroke-dashoffset:-1}}
@media (prefers-reduced-motion:reduce){
  .inc-eight{display:none}.inc-inf{opacity:1}.inc-inf-base{stroke-dashoffset:0}.inc-inf-run{opacity:1;animation:none!important}
}
@media (max-width:900px){
  .inc-end{grid-template-columns:1fr}
  .inc-end-vis{order:-1;min-height:170px}
  .inc-eight{font-size:150px}
  .inc-inf{max-width:300px}
}

/* v19 · cierre: 8 del mismo tamaño que el 07, ciclo 8 → ∞ → 8; CTA al plan de crecimiento */
.inc-end{grid-template-columns:minmax(0,1fr) auto}
.inc-end p{margin:0 0 14px}
.inc-end p+p{margin-bottom:26px}
.inc-end-vis{min-height:0;width:clamp(150px,17vw,260px);height:clamp(100px,11vw,170px)}
.inc-eight{font-size:clamp(72px,9vw,140px);font-weight:700;letter-spacing:-.04em;color:rgba(255,255,255,.34);text-shadow:none}
.inc-inf{max-width:none;width:clamp(150px,15vw,240px)}
.inc-inf-base{stroke:rgba(255,255,255,.5);stroke-width:6;stroke-dasharray:none;stroke-dashoffset:0}
.inc-inf-run{stroke-width:6;opacity:1}
.inc-last.is-visible .inc-eight{animation:incEight8 11s ease-in-out infinite}
.inc-last.is-visible .inc-inf{animation:incInf8 11s ease-in-out infinite}
.inc-last.is-visible .inc-inf-base{animation:none}
.inc-last.is-visible .inc-inf-run{animation:incRun 3.2s linear infinite}
@keyframes incEight8{
  0%,14%{transform:rotate(0) scale(1);opacity:1}
  22%{transform:rotate(90deg) scale(.8);opacity:0}
  78%{transform:rotate(90deg) scale(.8);opacity:0}
  86%,100%{transform:rotate(0) scale(1);opacity:1}
}
@keyframes incInf8{
  0%,14%{opacity:0;transform:scale(.85)}
  22%,78%{opacity:1;transform:scale(1)}
  86%,100%{opacity:0;transform:scale(.85)}
}
.inc-cta{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#0B1F33;font-family:var(--font-display);font-weight:700;font-size:16px;padding:14px 22px;border-radius:12px;text-decoration:none;transition:transform .2s,box-shadow .2s}
.inc-cta:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.25);color:#0B1F33}
.inc-cta svg{transition:transform .2s}
.inc-cta:hover svg{transform:translateX(4px)}
@media (max-width:900px){
  .inc-end{grid-template-columns:1fr}
  .inc-end-vis{order:-1;width:170px;height:100px}
  .inc-eight{font-size:72px}
  .inc-inf{width:150px}
}
@media (prefers-reduced-motion:reduce){
  .inc-eight{display:none}.inc-inf{opacity:1;animation:none!important}.inc-inf-run{animation:none!important}
}

/* v20 · el 08/∞ alineado con la columna de números (01…07), mismo grosor y el 0 sale primero */
.inc-end{display:block;position:relative}
.inc-end-tx{max-width:calc(66.6667% - 24px)}
.inc-end-vis{position:absolute;left:calc(66.6667% + 40px);top:50%;transform:translateY(-50%);width:auto;height:auto;min-height:0;font-size:clamp(72px,9vw,140px);display:grid;justify-items:start;align-items:center}
.inc-num{display:inline-flex;font-family:var(--font-display);font-weight:700;font-size:1em;line-height:1;letter-spacing:-.04em;color:rgba(255,255,255,.34)}
.inc-num .inc-eight{font-size:1em;font-weight:700;letter-spacing:inherit;color:inherit;text-shadow:none;animation:none}
.inc-inf{width:1.19em;max-width:none;height:auto;justify-self:start}
.inc-inf-base{stroke:rgba(255,255,255,.34);stroke-width:25.8}
.inc-inf-run{stroke-width:25.8}
.inc-last.is-visible .inc-zero{animation:incZero 12s ease-in-out infinite}
.inc-last.is-visible .inc-num .inc-eight{animation:incEightB 12s ease-in-out infinite}
.inc-last.is-visible .inc-inf{animation:incInfB 12s ease-in-out infinite}
@keyframes incZero{
  0%,10%{opacity:1;transform:none}
  17%,83%{opacity:0;transform:translateX(-.18em)}
  92%,100%{opacity:1;transform:none}
}
@keyframes incEightB{
  0%,14%{transform:none;opacity:1}
  26%{transform:translateX(-.31em) rotate(0);opacity:1}
  34%,66%{transform:translateX(-.31em) rotate(90deg);opacity:0}
  74%{transform:translateX(-.31em) rotate(0);opacity:1}
  86%,100%{transform:none;opacity:1}
}
@keyframes incInfB{
  0%,28%{opacity:0}
  36%,64%{opacity:1}
  72%,100%{opacity:0}
}
@media (max-width:900px){
  .inc-end-tx{max-width:none}
  .inc-end-vis{position:static;transform:none;margin-bottom:18px;font-size:72px}
  .inc-end{display:block}
}
@media (prefers-reduced-motion:reduce){
  .inc-num{display:none}.inc-inf{opacity:1}
}

/* v21 · banner de propuesta: animación "se arma el PDF, se exporta y llega por email" (18 s en bucle) */
.svc-banner-in{min-height:560px;display:flex;flex-direction:column;justify-content:center}
.svc-prop{position:absolute;right:clamp(24px,6.9vw,110px);top:50%;width:500px;height:470px;margin-top:-235px;font-family:var(--font);pointer-events:none}
.prop-paper{position:absolute;left:0;top:0;width:300px;padding:18px 18px 16px;border-radius:14px;background:#fff;color:#0B1F33;box-shadow:0 30px 60px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.4);opacity:0;transform-origin:center}
.prop-head{display:flex;align-items:center;gap:12px;padding-bottom:12px;border-bottom:1px solid #E6E8EB}
.prop-logo svg{width:30px;height:30px;display:block}
.prop-title{font-family:var(--font-display);font-weight:700;font-size:14px;line-height:1.2;display:flex;flex-direction:column}
.prop-title small{font-weight:600;font-size:11px;color:#6B7480;margin-top:2px}
.prop-rows{list-style:none;margin:8px 0 0;padding:0}
.pr{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;column-gap:10px;row-gap:5px;padding:7px 0;opacity:0}
.pr-ck{grid-row:1/3;width:20px;height:20px;border-radius:50%;background:#E6E8EB;color:transparent;display:grid;place-items:center;align-self:center}
.pr-t{font-weight:700;font-size:13px;line-height:1.15}
.pr-ln{display:block;height:5px;border-radius:3px;background:#E6E8EB;width:78%;transform-origin:left;transform:scaleX(0)}
.prop-foot{display:flex;align-items:center;gap:10px;margin-top:6px;padding-top:12px;border-top:1px solid #E6E8EB}
.prop-bar{flex:1;height:6px;border-radius:3px;background:#E6E8EB;overflow:hidden}
.prop-bar i{display:block;height:100%;width:100%;background:#00C853;transform-origin:left;transform:scaleX(0)}
.prop-exp{font-size:11.5px;font-weight:700;color:#6B7480;white-space:nowrap}
.prop-pdf{position:absolute;right:-14px;top:-14px;background:#E5322D;color:#fff;font-weight:800;font-size:13px;letter-spacing:.04em;padding:7px 11px;border-radius:8px;box-shadow:0 8px 18px rgba(229,50,45,.45);opacity:0;transform:scale(1.6) rotate(-14deg)}
.prop-mail{position:absolute;left:190px;top:250px;width:310px;padding:16px 18px 18px;border-radius:16px;background:#fff;color:#0B1F33;box-shadow:0 30px 60px rgba(0,0,0,.5);opacity:0}
.pm-top{display:flex;align-items:center;gap:6px;padding-bottom:12px;border-bottom:1px solid #E6E8EB}
.pm-dot{width:9px;height:9px;border-radius:50%;background:#D5D9DE}
.pm-sub{margin-left:8px;font-family:var(--font-display);font-weight:700;font-size:14px}
.pm-to{display:flex;gap:10px;align-items:baseline;margin:14px 0 12px;font-size:13px}
.pm-to span{color:#6B7480;font-weight:600}.pm-to b{font-weight:700}
.pm-att{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #E6E8EB;border-radius:10px;font-size:13px;font-weight:600;opacity:0;transform:translateY(8px)}
.pm-pdf{background:#E5322D;color:#fff;font-weight:800;font-size:10px;letter-spacing:.04em;padding:5px 6px;border-radius:5px}
.pm-sent{display:flex;align-items:center;gap:8px;margin-top:14px;color:#0B7A2B;font-weight:700;font-size:13px;opacity:0;transform:translateY(8px)}
.pm-sent svg{background:#00C853;color:#fff;border-radius:50%;padding:3px;width:20px;height:20px;box-sizing:border-box}
.svc-banner.is-visible .prop-paper{animation:propPaper 18s ease-in-out infinite}
.svc-banner.is-visible .prop-bar i{animation:propBar 18s ease-in-out infinite}
.svc-banner.is-visible .prop-exp{animation:propExp 18s linear infinite}
.svc-banner.is-visible .prop-pdf{animation:propPdf 18s cubic-bezier(.3,1.4,.5,1) infinite}
.svc-banner.is-visible .prop-mail{animation:propMail 18s ease-in-out infinite}
.svc-banner.is-visible .pm-att{animation:pmAtt 18s ease-out infinite}
.svc-banner.is-visible .pm-sent{animation:pmSent 18s ease-out infinite}
@keyframes propPaper{
  0%{opacity:0;transform:translateY(26px) rotate(-3deg) scale(.96)}
  5%,56%{opacity:1;transform:rotate(-2deg)}
  70%{opacity:1;transform:translate(190px,140px) rotate(3deg) scale(.34)}
  73%,100%{opacity:0;transform:translate(190px,140px) rotate(3deg) scale(.28)}
}
@keyframes propBar{0%,42%{transform:scaleX(0)}54%,100%{transform:scaleX(1)}}
@keyframes propExp{0%,41%{opacity:.35}44%,56%{opacity:1}100%{opacity:1}}
@keyframes propPdf{0%,54%{opacity:0;transform:scale(1.6) rotate(-14deg)}58%,100%{opacity:1;transform:scale(1) rotate(-8deg)}}
@keyframes propMail{
  0%,56%{opacity:0;transform:translateY(24px)}
  64%,93%{opacity:1;transform:none}
  98%,100%{opacity:0;transform:translateY(-8px)}
}
@keyframes pmAtt{0%,68%{opacity:0;transform:translateY(8px)}74%,100%{opacity:1;transform:none}}
@keyframes pmSent{0%,76%{opacity:0;transform:translateY(8px)}82%,100%{opacity:1;transform:none}}
.svc-banner.is-visible .pr0{animation:pr0 18s ease-out infinite}
.svc-banner.is-visible .pr0 .pr-ck{animation:pck0 18s ease-out infinite}
.svc-banner.is-visible .pr0 .pr-ln{animation:pln0 18s ease-out infinite}
@keyframes pr0{0%,6.0%{opacity:0;transform:translateX(-12px)}9.0%,100%{opacity:1;transform:none}}
@keyframes pck0{0%,9.0%{background:#E6E8EB;color:transparent;transform:scale(.8)}12.0%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln0{0%,8.0%{transform:scaleX(0)}13.0%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr1{animation:pr1 18s ease-out infinite}
.svc-banner.is-visible .pr1 .pr-ck{animation:pck1 18s ease-out infinite}
.svc-banner.is-visible .pr1 .pr-ln{animation:pln1 18s ease-out infinite}
@keyframes pr1{0%,11.2%{opacity:0;transform:translateX(-12px)}14.2%,100%{opacity:1;transform:none}}
@keyframes pck1{0%,14.2%{background:#E6E8EB;color:transparent;transform:scale(.8)}17.2%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln1{0%,13.2%{transform:scaleX(0)}18.2%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr2{animation:pr2 18s ease-out infinite}
.svc-banner.is-visible .pr2 .pr-ck{animation:pck2 18s ease-out infinite}
.svc-banner.is-visible .pr2 .pr-ln{animation:pln2 18s ease-out infinite}
@keyframes pr2{0%,16.4%{opacity:0;transform:translateX(-12px)}19.4%,100%{opacity:1;transform:none}}
@keyframes pck2{0%,19.4%{background:#E6E8EB;color:transparent;transform:scale(.8)}22.4%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln2{0%,18.4%{transform:scaleX(0)}23.4%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr3{animation:pr3 18s ease-out infinite}
.svc-banner.is-visible .pr3 .pr-ck{animation:pck3 18s ease-out infinite}
.svc-banner.is-visible .pr3 .pr-ln{animation:pln3 18s ease-out infinite}
@keyframes pr3{0%,21.6%{opacity:0;transform:translateX(-12px)}24.6%,100%{opacity:1;transform:none}}
@keyframes pck3{0%,24.6%{background:#E6E8EB;color:transparent;transform:scale(.8)}27.6%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln3{0%,23.6%{transform:scaleX(0)}28.6%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr4{animation:pr4 18s ease-out infinite}
.svc-banner.is-visible .pr4 .pr-ck{animation:pck4 18s ease-out infinite}
.svc-banner.is-visible .pr4 .pr-ln{animation:pln4 18s ease-out infinite}
@keyframes pr4{0%,26.8%{opacity:0;transform:translateX(-12px)}29.8%,100%{opacity:1;transform:none}}
@keyframes pck4{0%,29.8%{background:#E6E8EB;color:transparent;transform:scale(.8)}32.8%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln4{0%,28.8%{transform:scaleX(0)}33.8%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr5{animation:pr5 18s ease-out infinite}
.svc-banner.is-visible .pr5 .pr-ck{animation:pck5 18s ease-out infinite}
.svc-banner.is-visible .pr5 .pr-ln{animation:pln5 18s ease-out infinite}
@keyframes pr5{0%,32.0%{opacity:0;transform:translateX(-12px)}35.0%,100%{opacity:1;transform:none}}
@keyframes pck5{0%,35.0%{background:#E6E8EB;color:transparent;transform:scale(.8)}38.0%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln5{0%,34.0%{transform:scaleX(0)}39.0%,100%{transform:scaleX(1)}}
.svc-banner.is-visible .pr6{animation:pr6 18s ease-out infinite}
.svc-banner.is-visible .pr6 .pr-ck{animation:pck6 18s ease-out infinite}
.svc-banner.is-visible .pr6 .pr-ln{animation:pln6 18s ease-out infinite}
@keyframes pr6{0%,37.2%{opacity:0;transform:translateX(-12px)}40.2%,100%{opacity:1;transform:none}}
@keyframes pck6{0%,40.2%{background:#E6E8EB;color:transparent;transform:scale(.8)}43.2%,100%{background:#00C853;color:#fff;transform:scale(1)}}
@keyframes pln6{0%,39.2%{transform:scaleX(0)}44.2%,100%{transform:scaleX(1)}}
@media (max-width:1180px) and (min-width:1081px){.svc-prop{transform:scale(.84);transform-origin:right center;right:24px}}
@media (max-width:1080px){
  .svc-banner-in{min-height:0;display:block}
  .svc-prop{position:relative;right:auto;top:auto;margin:40px auto -47px;transform:scale(.9);transform-origin:top center}
}
@media (max-width:560px){.svc-prop{margin:36px auto -160px;transform:scale(.66)}}
@media (prefers-reduced-motion:reduce){
  .prop-paper{display:none}.prop-mail{opacity:1;left:100px}.pm-att,.pm-sent{opacity:1;transform:none}
}
/* v21b · centrar el widget en tablet/celular */
@media (max-width:1080px){.svc-prop{left:50%;margin-left:-250px;margin-right:0}}

/* v22 · CTA en el hero, enlace a "quién está detrás" */
.phero-ctas{display:flex;align-items:center;flex-wrap:wrap;gap:16px 30px;margin-top:34px}
.phero .btn{background:#fff;color:var(--ink)}
.phero .btn:hover{background:#E6F7E6;color:var(--ink)}
.phero .textlink{color:#fff;border-color:rgba(255,255,255,.5)}
.phero-note{margin-top:16px;max-width:52ch;font-size:15px;line-height:1.5;color:rgba(255,255,255,.72)}
.phero-tags{margin-top:30px}
.cases-who{margin-top:24px;font-size:18px;line-height:1.5;color:var(--muted)}
.cases-who .textlink{margin-left:6px}

/* v23 · la página seleccionada del menú no lleva azul */
.mega-products .mega-col a.current,.mega-products .mega-col a.current:hover{color:var(--ink)}

/* v24: chips de logos anchos sin deformar + badge en tarjetas de situaciones */
.lr-chip.lr-chip-wm{width:128px;height:50px;padding:0 14px}
@media (min-width:641px){.lr-c6.lr-chip-wm{left:27%}.lr-c5.lr-chip-wm{left:2%}}
.lr-chip.lr-chip-wm img{width:auto;height:auto;max-width:98px;max-height:24px;object-fit:contain}
@media (max-width:640px){.lr-chip.lr-chip-wm{width:auto;height:auto;padding:10px 16px}.lr-chip.lr-chip-wm img{max-width:96px;max-height:22px}}
.situ-badge{display:block;width:40px;height:40px;margin:0 0 12px;object-fit:contain}
.situ-badge[src*="eu-flag"]{border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08)}

/* v24b: ajuste de burbujas anchas y burbuja ARCA */
@media (min-width:641px){.lr-c5.lr-chip-wm{left:2%}.lr-c6.lr-chip-wm{left:23%}.lr-c9.lr-chip-wm{bottom:0;left:43%}.lr-chip.lr-chip-wm{width:112px}.lr-chip.lr-chip-wm img{max-width:84px}}

.lr-chip img[src*="arca."]{width:36px;height:36px;border-radius:8px}
@media (min-width:641px){.lr-c9{bottom:0;left:43%}}
@media (max-width:640px){.lr-chip img[src*="arca."]{width:22px;height:22px;border-radius:5px}}

.lr-chip img[src*="arca."]{width:52px;height:52px;border-radius:10px}
@media (max-width:640px){.lr-chip img[src*="arca."]{width:26px;height:26px;border-radius:6px}}

/* v25: segundo precio en el ticket */
.vticket .vtier2{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-top:16px;padding-top:14px;border-top:1px dashed rgba(11,13,11,.3)}
.vticket .vtier2 span{font-size:clamp(14px,1.15vw,16px);color:rgba(11,13,11,.75)}
.vticket .vtier2 b{font-size:clamp(24px,2.2vw,32px);letter-spacing:-.02em;color:var(--ink2)}

/* v26 · "Un fin que continúa" en mobile: el 08 / infinito va arriba de la tarjeta, igual que los demás números */
@media (max-width:900px){
  .inc-end{display:block;overflow:visible;margin-top:62px}
  .inc-end::before{border-radius:24px}
  .inc-end-vis{position:absolute;left:0;top:-62px;transform:none;width:auto;height:auto;min-height:0;margin:0;padding:0;font-size:56px;line-height:1;justify-items:start;order:0}
  .inc-num{color:#E3E7EC}
  .inc-inf-base{stroke:#E3E7EC}
  .inc-inf{width:1.19em;filter:none}
}

/* v27 · calculadora del plan de crecimiento */
.calc{max-width:880px;border:1.5px solid #DDE7DE;border-radius:24px;background:#fff;padding:clamp(22px,3vw,36px)}
.calc-in{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.calc-in label{display:flex;flex-direction:column;gap:10px;font-size:15px;font-weight:600;line-height:1.3;color:#334}
.calc-in input{font:inherit;font-size:20px;font-weight:700;padding:14px 16px;border:1.5px solid #CBD8CD;border-radius:14px;background:#F8FBF8;color:#10261A;width:100%}
.calc-in input:focus{outline:3px solid rgba(22,148,74,.25);border-color:#16944A;background:#fff}
.calc-out{margin-top:22px;padding:20px 22px;border-radius:18px;background:#F1FCF4;font-size:19px;line-height:1.5;color:#10261A}
.calc-out p{margin:0}.calc-out p+p{margin-top:8px}
.calc-out strong{color:#0E7A3B}
.calc-note{margin:14px 0 0;font-size:14.5px;line-height:1.5;color:#667}
@media (max-width:760px){.calc-in{grid-template-columns:1fr}}
/* v28 · calculadora "¿Te conviene invertir en publicidad?" (ads-engine.js) */
.ae{--ae-g:#0E7A3B;--ae-gb:#EEFAF1;--ae-y:#9A5B00;--ae-yb:#FFF7E6;--ae-r:#B42318;--ae-rb:#FEF1F0;--ae-k:#1B211D;--ae-line:#E3E8E4;--ae-mut:#5E6A62;color:#10261A}
.ae [hidden]{display:none!important}
.ae-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:22px}
.ae-mode{display:inline-flex;padding:4px;border:1.5px solid var(--ae-line);border-radius:999px;background:#fff}
.ae-mode button{font:inherit;font-size:14.5px;font-weight:700;padding:9px 18px;border:0;border-radius:999px;background:none;color:var(--ae-mut);cursor:pointer;transition:background .2s,color .2s}
.ae-mode button[aria-pressed="true"]{background:#10261A;color:#fff}
.ae-reset,.ae-ghost{font:inherit;font-size:14.5px;font-weight:600;background:none;border:0;border-bottom:1px solid currentColor;padding:0 0 2px;color:#10261A;cursor:pointer}
.ae button:focus-visible,.ae input:focus-visible,.ae select:focus-visible,.ae summary:focus-visible{outline:3px solid rgba(22,148,74,.35);outline-offset:2px}
.ae-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
.ae-form{display:grid;gap:18px}
.ae-card{margin:0;min-width:0;border:1.5px solid var(--ae-line);border-radius:22px;background:#fff;padding:22px 22px 8px}
.ae-card>*{clear:both}
.ae-card legend{float:left;width:100%;padding:0;margin:0 0 16px;font-size:18px;font-weight:800;letter-spacing:-.01em}
.ae-f{margin-bottom:18px}
.ae-lab{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px;font-size:14.5px;font-weight:600;line-height:1.35;color:#2A3A30}
.ae-inp{position:relative;display:flex;align-items:center}
.ae-inp input,.ae select{font:inherit;font-size:17px;font-weight:700;width:100%;min-width:0;padding:12px 14px;border:1.5px solid #CFDAD1;border-radius:14px;background:#F8FBF8;color:#10261A;transition:border-color .2s,background .2s}
.ae select{appearance:none;background:#F8FBF8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2310261A' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 14px center;padding-right:38px}
.ae-inp input:focus,.ae select:focus{border-color:#16944A;background:#fff;outline:none}
.ae-inp.has-pre input{padding-left:52px}.ae-inp.has-suf input{padding-right:64px}
.ae-pre,.ae-suf{position:absolute;font-size:14px;font-weight:600;color:var(--ae-mut);pointer-events:none}
.ae-pre{left:14px}.ae-suf{right:14px}
.ae-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ae-trio .ae-row3:has(> :nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.ae-mini{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:var(--ae-mut)}
.ae-mini .ae-inp input{font-size:16px;padding:11px 10px}
.ae-mini .ae-inp.has-pre input{padding-left:44px}.ae-mini .ae-pre{left:10px;font-size:12.5px}
.ae-mini .ae-inp.has-suf input{padding-right:28px}.ae-mini .ae-suf{right:10px}
.ae-range{display:flex;flex-direction:column;gap:8px}
.ae-range input{width:100%;accent-color:#16944A;height:28px}
.ae-range output{font-size:14.5px;font-weight:700;color:var(--ae-g)}
.ae-switch{display:flex;align-items:center;gap:12px;margin:2px 0 18px;font-size:15px;font-weight:600;cursor:pointer}
.ae-switch input{position:absolute;opacity:0;width:1px;height:1px}
.ae-sw{flex:none;position:relative;width:44px;height:26px;border-radius:99px;background:#CFDAD1;transition:background .2s}
.ae-sw::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .2s}
.ae-switch input:checked+.ae-sw{background:#16944A}
.ae-switch input:checked+.ae-sw::after{transform:translateX(18px)}
.ae-switch input:focus-visible+.ae-sw{outline:3px solid rgba(22,148,74,.35);outline-offset:2px}
.ae-tipw{position:relative;display:inline-flex;flex:none}
.ae-tip{width:20px;height:20px;border-radius:50%;border:1.5px solid #B8C6BC;background:#fff;color:var(--ae-mut);font:700 12px/1 inherit;font-family:inherit;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center}
.ae-pop{position:absolute;z-index:20;left:50%;bottom:calc(100% + 8px);transform:translateX(-50%);width:max-content;max-width:260px;padding:10px 12px;border-radius:12px;background:#10261A;color:#fff;font-size:13px;font-weight:500;line-height:1.45;text-align:left;box-shadow:0 8px 24px rgba(16,38,26,.2);opacity:0;visibility:hidden;transition:opacity .15s}
.ae-tipw.open .ae-pop{opacity:1;visibility:visible}
@media (hover:hover){.ae-tipw:hover .ae-pop,.ae-tip:focus-visible+.ae-pop{opacity:1;visibility:visible}}
.ae-notes p{margin:0;padding:10px 14px;border-radius:12px;background:var(--ae-yb);color:var(--ae-y);font-size:14px}
.ae-notes p+p{margin-top:8px}
.ae-side{position:sticky;top:96px}
.ae-result{border-radius:24px;border:1.5px solid var(--ae-line);background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(16,38,26,.06);transition:border-color .3s}
.ae-ver{padding:24px;transition:background .3s}
.ae-ver-h{display:flex;align-items:flex-start;gap:12px;font-size:22px;line-height:1.3;letter-spacing:-.01em}
.ae-ver-h strong{font-weight:800}
.ae-ver-h .ae-tipw{margin-top:4px}
.ae-dot{flex:none;width:16px;height:16px;margin-top:6px;border-radius:50%;background:#AAB4AD}
.ae-g{background:var(--ae-gb)}.ae-g .ae-dot{background:#16944A}
.ae-y{background:var(--ae-yb)}.ae-y .ae-dot{background:#F59E0B}
.ae-r{background:var(--ae-rb)}.ae-r .ae-dot{background:#EF4444}
.ae-k{background:var(--ae-k);color:#fff;box-shadow:inset 0 0 0 2px #F59E0B}.ae-k .ae-dot{background:#F59E0B}
.ae-k .ae-tip{background:transparent;color:#fff;border-color:rgba(255,255,255,.5)}
.ae-n{background:#F4F6F5}
.ae-v-negro{border-color:#F59E0B}
.ae-be,.ae-ex,.ae-msg{margin:14px 0 0;font-size:16.5px;line-height:1.55}
.ae-be b,.ae-ex b{font-weight:800}
.ae-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}
.ae-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 8px 6px 11px;border-radius:999px;background:#fff;border:1.5px solid var(--ae-line);font-size:13.5px;font-weight:700;color:#10261A}
.ae-cd{width:9px;height:9px;border-radius:50%;background:#AAB4AD}
.ae-c-verde .ae-cd{background:#16944A}.ae-c-amarillo .ae-cd{background:#F59E0B}.ae-c-rojo .ae-cd{background:#EF4444}
.ae-c-pendiente{opacity:.7}.ae-c-pendiente .ae-cd{animation:aePulse 1s infinite alternate}
@keyframes aePulse{to{opacity:.3}}
.ae-chip .ae-tip{width:18px;height:18px;font-size:11px}
.ae-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ae-blk{padding:18px 24px;border-top:1.5px solid var(--ae-line)}
.ae-blk h3{margin:0 0 8px;font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ae-mut)}
.ae-blk p{margin:0;font-size:16px;line-height:1.55}
.ae-blk ul{margin:0;padding-left:18px;font-size:15.5px;line-height:1.55}
.ae-blk li+li{margin-top:6px}
.ae-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}
.ae-m{display:flex;flex-direction:column;gap:6px;padding:18px 20px;border:1.5px solid var(--ae-line);border-radius:18px;background:#fff}
.ae-ml{font-size:13.5px;font-weight:700;color:var(--ae-mut)}
.ae-mv{font-size:26px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.ae-ms{font-size:13.5px;line-height:1.45;color:var(--ae-mut)}
.ae-tabs{margin-top:28px;border:1.5px solid var(--ae-line);border-radius:24px;background:#fff;overflow:hidden}
.ae-tablist{display:flex;gap:4px;overflow-x:auto;padding:8px;border-bottom:1.5px solid var(--ae-line);background:#F8FBF8;scrollbar-width:none}
.ae-tablist button{flex:none;font:inherit;font-size:14.5px;font-weight:700;padding:10px 16px;border:0;border-radius:12px;background:none;color:var(--ae-mut);cursor:pointer}
.ae-tablist button[aria-selected="true"]{background:#fff;color:#10261A;box-shadow:0 1px 4px rgba(16,38,26,.1)}
.ae-panel{padding:22px 24px 26px}
.ae-pl{margin:0 0 14px;font-size:15.5px;line-height:1.55;color:#2A3A30}
.ae-svg{display:block;width:100%;height:auto;overflow:visible}
.ae-ax{font-size:12px;fill:#6B7770;font-family:inherit}
.ae-tl{font-size:13px;font-weight:600;fill:#10261A;font-family:inherit}
.ae-gl{stroke:#EEF1EF}.ae-zero{stroke:#10261A;stroke-dasharray:4 4;stroke-width:1.2}
.ae-line{fill:none;stroke:#16944A;stroke-width:2.5;stroke-linejoin:round}
.ae-area{fill:rgba(22,148,74,.08)}
.ae-dotp{fill:#16944A}.ae-dotn{fill:#EF4444}
.ae-valle{fill:none;stroke:#F59E0B;stroke-width:2.5}
.ae-vlab{font-size:12.5px;font-weight:700;fill:#9A5B00;font-family:inherit}
.ae-barp{fill:#16944A}.ae-barn{fill:#F3B7B1}
.ae-uline{stroke:#9A5B00;stroke-width:1.5;stroke-dasharray:4 3}
.ae-tlo{fill:#F3B7B1}.ae-thi{fill:#8FD3A6}
.ae-big{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}
.ae-big div{padding:16px;border-radius:16px;background:#F8FBF8;display:flex;flex-direction:column;gap:4px}
.ae-big b{font-size:28px;font-weight:800;letter-spacing:-.02em}
.ae-big span{font-size:13.5px;line-height:1.4;color:var(--ae-mut)}
.ae-h3{margin:22px 0 10px;font-size:16px;font-weight:800}
.ae-top1{margin:14px 0 0;font-size:16px}
.ae-det{margin-top:14px}
.ae-det summary{cursor:pointer;font-size:14.5px;font-weight:700}
.ae-tw{overflow-x:auto}
.ae table{width:100%;border-collapse:collapse;font-size:14.5px;font-variant-numeric:tabular-nums}
.ae th,.ae td{padding:9px 10px;border-bottom:1px solid var(--ae-line);text-align:right;white-space:nowrap}
.ae th:first-child,.ae td:first-child{text-align:left}
.ae thead th{font-size:13px;color:var(--ae-mut)}
.ae-cmp caption{text-align:left;font-weight:800;font-size:16px;padding:16px 0 6px}
.ae-cmp tbody th{font-weight:600;white-space:normal}
.ae-esc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ae-ec{font:inherit;text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1.5px solid var(--ae-line);border-radius:16px;background:#fff;cursor:pointer;color:#10261A;transition:border-color .2s,background .2s}
.ae-ec b{font-size:15px;line-height:1.3}
.ae-ec span{font-size:13px;line-height:1.4;color:var(--ae-mut)}
.ae-ec .ae-ecv{font-weight:700;color:#10261A}
.ae-ec:hover{border-color:#9CC9A9}
.ae-ec:disabled .ae-ecv{font-weight:500;color:var(--ae-mut)}
.ae-ec.is-on{border-color:#16944A;background:var(--ae-gb)}
.ae-ec:disabled{cursor:not-allowed;opacity:.6}
.ae-esc-in{max-width:520px}
.ae-rule{margin-top:14px;padding:14px 16px;border-radius:14px;font-size:15.5px;line-height:1.5}
.ae-rule.is-ok{background:var(--ae-gb)}.ae-rule.is-stop{background:var(--ae-rb)}
.ae-skel{height:90px;margin-bottom:12px;border-radius:14px;background:linear-gradient(90deg,#F1F4F2 25%,#E6EBE7 50%,#F1F4F2 75%);background-size:200% 100%;animation:aeSk 1.2s infinite}
@keyframes aeSk{to{background-position:-200% 0}}
.ae-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:26px}
.ae-actions .btn{border:0;cursor:pointer;font:inherit}
.ae-copied{font-size:14.5px;font-weight:700;color:var(--ae-g)}
.ae-steps{margin-top:18px;padding:20px 22px;border:1.5px solid var(--ae-line);border-radius:18px;background:#fff}
.ae-steps ol{margin:0;padding-left:22px;display:grid;gap:12px}
.ae-steps li{font-size:15px;line-height:1.45}
.ae-steps li>b{display:block}
.ae-fx{display:block;color:var(--ae-mut);font-size:13.5px}
.ae-vx{display:block;font-variant-numeric:tabular-nums}
.ae-foot{margin:22px 0 0;font-size:14.5px;line-height:1.55;color:#4A574F}
.ae-method{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:#6B7770}
@media (max-width:1000px){.ae-grid{grid-template-columns:1fr}.ae-side{position:static}.ae-esc{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){
  .ae-card{padding:18px 16px 4px;border-radius:18px}
  .ae-ver{padding:20px 18px}.ae-blk{padding:16px 18px}.ae-ver-h{font-size:19px}
  .ae-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .ae-m{padding:14px}.ae-mv{font-size:21px}
  .ae-big{grid-template-columns:1fr}.ae-esc{grid-template-columns:1fr}
  .ae-panel{padding:18px 14px 20px}
  .ae-row3{gap:8px}
  .ae-pop{max-width:220px}
}
@media (prefers-reduced-motion:reduce){.ae *{transition:none!important;animation:none!important}}

/* v29 · banner de la calculadora en Plan de crecimiento */
.calc-cta{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:40px;align-items:center;padding:clamp(28px,4vw,56px);border-radius:28px;background:#10261A;color:#fff;overflow:hidden;position:relative}
.calc-cta::before{content:"";position:absolute;inset:auto -10% -60% 30%;height:120%;background:radial-gradient(closest-side,rgba(22,148,74,.55),transparent);pointer-events:none}
.calc-cta-tx{position:relative}
.calc-cta .label{color:#9FE3B4}
.calc-cta h2{margin:18px 0 0;color:#fff;font-size:clamp(28px,3.4vw,44px);line-height:1.12;letter-spacing:-.02em}
.calc-cta p{margin:16px 0 26px;max-width:560px;font-size:18px;line-height:1.55;color:rgba(255,255,255,.82)}
.calc-cta .btn{background:#fff;color:#10261A}
.calc-cta-vis{position:relative;display:flex;justify-content:center}
.calc-cta-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:20px;background:#EEFAF1;color:#10261A;box-shadow:0 20px 50px rgba(0,0,0,.35);transform:rotate(-2deg)}
.calc-cta-card b{font-size:20px;font-weight:800}
.calc-cta-dot{width:14px;height:14px;border-radius:50%;background:#16944A}
.calc-cta-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid #D4E9DA;font-size:14.5px}
.calc-cta-row i{font-style:normal;color:#4A574F}.calc-cta-row em{font-style:normal;font-weight:800}
.calc-cta-card svg{width:100%;height:auto;margin-top:4px}
@media (max-width:900px){.calc-cta{grid-template-columns:1fr;gap:28px}.calc-cta-card{max-width:300px}}

/* v30 · banner de la calculadora: foto de fondo y sin tarjeta */
.calc-cta{grid-template-columns:minmax(0,1fr);min-height:420px;align-items:center}
.calc-cta-tx{max-width:600px;z-index:2}
.calc-cta h2{margin-top:0}
.calc-cta-bg{position:absolute;inset:0;z-index:0}
.calc-cta-bg img{width:100%;height:100%;object-fit:cover;object-position:75% center;display:block}
.calc-cta.has-photo::before{inset:0;height:auto;z-index:1;background:linear-gradient(90deg,rgba(9,24,15,.94) 0%,rgba(9,24,15,.82) 42%,rgba(9,24,15,.25) 75%,rgba(9,24,15,.05) 100%)}
@media (max-width:900px){
  .calc-cta{min-height:0}
  .calc-cta.has-photo{padding-top:240px}
  .calc-cta-bg img{object-position:70% 20%}
  .calc-cta.has-photo::before{background:linear-gradient(180deg,rgba(9,24,15,.05) 0%,rgba(9,24,15,.55) 35%,rgba(9,24,15,.95) 62%)}
}

/* v31 · banner de la calculadora en mobile: foto arriba, texto abajo */
@media (max-width:900px){
  .calc-cta.has-photo{padding-top:290px}
  .calc-cta.has-photo .calc-cta-bg{bottom:auto;height:330px}
  .calc-cta.has-photo .calc-cta-bg img{object-position:55% center}
  .calc-cta.has-photo::before{background:linear-gradient(180deg,rgba(9,24,15,0) 0,rgba(9,24,15,0) 170px,rgba(16,38,26,.9) 290px,#10261A 330px)}
}

/* v32 · imágenes de las tarjetas "¿Para quién es?" sin fade */
.situ-media img,.situ-media .ph{-webkit-mask-image:none!important;mask-image:none!important}

/* v33 · Propuesta gratis rediseñada (prefijo pg-) */
.pg-hero,.pg-recibis,.pg-index,.pg-free,.pg-steps,.pg-inside,.pg-faq{--pg-g:#00E000;--pg-gd:#0A7A2A;--pg-ink:#0B0C0B;--pg-paper:#F5F6F2;position:relative}
.pg-hero h1 em,.pg-head h2 em,.pg-free h2 em{font-family:'Charon Smith',Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.01em}
.pg-head{max-width:760px;margin-bottom:56px}
.pg-head h2{margin-top:18px;font-size:clamp(34px,4.6vw,62px);line-height:1.04;letter-spacing:-.035em;max-width:16ch}
.pg-head p{margin-top:20px;font-size:17px;line-height:1.6;color:var(--muted)}
.pg-head-split{max-width:none;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:48px;align-items:end}
.pg-head-split p{margin:0 0 6px}

/* ---------- Hero ---------- */
.pg-hero{padding:168px 0 110px;background:var(--pg-paper);overflow:hidden}
.pg-hero::before{content:"";position:absolute;right:-12%;top:8%;width:62vw;height:62vw;max-width:900px;max-height:900px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,224,0,.28),rgba(0,224,0,.08) 55%,transparent 72%);pointer-events:none}
.pg-hero::after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(11,12,11,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(11,12,11,.05) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 0,transparent 70%);mask-image:radial-gradient(ellipse at 70% 40%,#000 0,transparent 70%);pointer-events:none}
.pg-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center;position:relative;z-index:2}
.pg-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-size:13px;font-weight:700;letter-spacing:.02em}
.pg-kicker i{width:9px;height:9px;border-radius:50%;background:var(--pg-g);box-shadow:0 0 0 4px rgba(0,224,0,.18);animation:pgPulse 2s infinite}
@keyframes pgPulse{50%{box-shadow:0 0 0 8px rgba(0,224,0,0)}}
.pg-hero h1{margin-top:26px;font-size:clamp(44px,6.4vw,92px);line-height:.98;letter-spacing:-.045em;max-width:none}
.pg-hero h1 em{display:inline-block;color:var(--pg-gd);font-size:1.02em;letter-spacing:-.02em;line-height:1.02}
.pg-hero-lead{margin-top:28px;max-width:520px;font-size:19px;line-height:1.55;color:#3C433C}
.pg-hero-ctas{display:flex;flex-wrap:wrap;align-items:center;gap:26px;margin-top:36px}
.pg-btn{background:var(--pg-ink);color:#fff;padding:18px 28px;font-size:16px;border-radius:12px;transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s}
.pg-btn span{display:inline-block;transition:transform .25s var(--ease)}
.pg-btn:hover{background:#000;transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,224,0,.28),0 0 0 3px var(--pg-g)}
.pg-btn:hover span{transform:translateX(4px)}
.pg-hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:12px 28px;margin:44px 0 0;padding:22px 0 0;border-top:1px solid rgba(11,12,11,.12)}
.pg-hero-facts li{display:flex;flex-direction:column;gap:2px}
.pg-hero-facts b{font-size:17px;font-weight:800;letter-spacing:-.01em}
.pg-hero-facts span{font-size:14px;color:var(--muted)}

/* Mockup que se construye */
.pg-stage{--rx:0deg;--ry:0deg;position:relative;height:520px;perspective:1400px}
.pg-laptop{position:absolute;right:0;top:40px;width:100%;max-width:600px;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease);transform-style:preserve-3d}
.pg-screen{background:#111;border-radius:16px 16px 4px 4px;padding:12px 12px 14px;box-shadow:0 40px 80px rgba(11,12,11,.22)}
.pg-base{height:16px;margin:0 -7%;background:linear-gradient(#D8DBD7,#B9BDB8);border-radius:0 0 18px 18px;box-shadow:0 18px 30px rgba(11,12,11,.18)}
.pg-bar{display:flex;align-items:center;gap:5px;height:26px;padding:0 10px;background:#F1F3F0;border-radius:8px 8px 0 0}
.pg-bar i{width:7px;height:7px;border-radius:50%;background:#D1D5D0}
.pg-bar span{margin-left:10px;padding:3px 10px;border-radius:6px;background:#fff;font-size:10.5px;font-weight:600;color:#7A817A}
.pg-site{background:#fff;border-radius:0 0 6px 6px;padding:16px 20px 22px;height:300px;overflow:hidden}
.pg-nav{display:flex;align-items:center;gap:12px}
.pg-nav span{height:7px;width:40px;border-radius:4px;background:#E2E5E1}
.pg-nav .pg-logo{width:62px;height:14px;background:var(--pg-ink);margin-right:auto;border-radius:4px}
.pg-nav .pg-navbtn{width:58px;height:20px;border-radius:6px;background:var(--pg-g)}
.pg-heroblock{display:grid;grid-template-columns:1.1fr .9fr;gap:18px;margin-top:26px}
.pg-copy span{display:block;border-radius:5px;background:var(--pg-ink)}
.pg-l1{height:16px;width:92%}.pg-l2{height:16px;width:74%;margin-top:8px}
.pg-l3{height:7px;width:84%;margin-top:16px;background:#C9CDC8!important}
.pg-cta{height:24px;width:44%;margin-top:18px;border-radius:7px!important;background:var(--pg-g)!important}
.pg-img{height:132px;border-radius:10px;background:linear-gradient(135deg,#123B22,#0A7A2A 55%,#00E000)}
.pg-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}
.pg-cards span{height:64px;border-radius:10px;background:var(--pg-paper);border:1px solid #E5E8E4}
.pg-phone{position:absolute;left:4%;bottom:6px;width:150px;height:300px;padding:9px;border-radius:30px;background:#111;box-shadow:0 30px 60px rgba(11,12,11,.3);transform:rotate(-4deg)}
.pg-pscreen{height:100%;border-radius:22px;background:#fff;padding:22px 12px 12px;display:flex;flex-direction:column;gap:9px;overflow:hidden}
.pg-pscreen span{display:block;border-radius:5px}
.pg-pnav{height:9px;width:42%;background:var(--pg-ink)}
.pg-pimg{height:96px;border-radius:12px!important;background:linear-gradient(135deg,#123B22,#0A7A2A 55%,#00E000)}
.pg-pl1{height:11px;width:92%;background:var(--pg-ink)}.pg-pl2{height:11px;width:66%;background:var(--pg-ink)}
.pg-pcta{height:22px;width:62%;margin-top:6px;border-radius:7px!important;background:var(--pg-g)}
.pg-tag{position:absolute;z-index:3;padding:9px 14px;border-radius:999px;background:#fff;box-shadow:0 10px 30px rgba(11,12,11,.12);font-size:13px;font-weight:700;white-space:nowrap}
.pg-tag1{right:6%;top:0;animation:pgFloat 6s ease-in-out infinite}
.pg-tag2{left:34%;bottom:18px;display:flex;align-items:center;gap:8px;background:var(--pg-ink);color:#fff;animation:pgFloat 7s ease-in-out -2s infinite}
.pg-tag2 i{width:8px;height:8px;border-radius:50%;background:var(--pg-g)}
@keyframes pgFloat{50%{transform:translateY(-8px)}}
/* construcción: cada bloque arranca como contorno y se rellena */
.pg-stage [class*=" b"],.pg-stage [class^="b"]{animation:pgBuild .7s var(--ease) both}
.pg-stage .b1{animation-delay:.35s}.pg-stage .b2{animation-delay:.6s}.pg-stage .b3{animation-delay:.8s}.pg-stage .b4{animation-delay:1s}
.pg-stage .b5{animation-delay:1.2s}.pg-stage .b6{animation-delay:1.4s}.pg-stage .b7{animation-delay:1.55s}.pg-stage .b8{animation-delay:1.7s}
@keyframes pgBuild{0%{opacity:.0;transform:translateY(8px);filter:saturate(0) brightness(1.6)}40%{opacity:1;filter:saturate(0) brightness(1.6)}100%{opacity:1;transform:none;filter:none}}
.pg-laptop{animation:pgIn .9s var(--ease) both}.pg-phone{animation:pgInP 1s var(--ease) .25s both}
@keyframes pgIn{from{opacity:0;transform:translateY(30px)}}
@keyframes pgInP{from{opacity:0;transform:translateY(40px) rotate(-10deg)}}

/* ---------- Qué recibís ---------- */
.pg-recibis{padding:150px 0 130px;background:#fff}
.pg-rx{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:start}
.pg-rx-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pg-rx-list li{border-bottom:1px solid var(--line);transition:background .3s}
.pg-rx-list button{width:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:26px;padding:30px 4px;background:none;border:0;font:inherit;text-align:left;color:var(--pg-ink);cursor:pointer}
.pg-n{font-size:clamp(44px,5vw,72px);font-weight:800;letter-spacing:-.05em;line-height:1;color:#D9DDD8;transition:color .35s var(--ease)}
.pg-rx-t{font-size:clamp(19px,1.7vw,24px);font-weight:700;letter-spacing:-.015em;line-height:1.25}
.pg-plus{position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid #CBD0CA;transition:transform .35s var(--ease),background .3s,border-color .3s}
.pg-plus::before,.pg-plus::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;background:currentColor;transform:translate(-50%,-50%)}
.pg-plus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s var(--ease)}
.pg-rx-list li.is-on .pg-n{color:var(--pg-g);-webkit-text-stroke:0}
.pg-rx-list li.is-on .pg-plus{background:var(--pg-ink);border-color:var(--pg-ink);color:#fff}
.pg-rx-list li.is-on .pg-plus::after{transform:translate(-50%,-50%) rotate(0)}
.pg-rx-list button:hover .pg-n{color:#9FE79F}
.pg-rx-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.pg-rx-body>p{overflow:hidden;margin:0;padding-left:calc(clamp(44px,5vw,72px) + 26px);padding-right:40px;font-size:17px;line-height:1.6;color:#4A514A}
.pg-rx-list li.is-on .pg-rx-body{grid-template-rows:1fr}
.pg-rx-list li.is-on .pg-rx-body>p{padding-bottom:30px}
.pg-rx-view{position:sticky;top:120px;height:440px;border-radius:28px;background:var(--pg-paper);overflow:hidden}
.pg-rx-view::before{content:"";position:absolute;inset:auto -20% -40% -20%;height:70%;background:radial-gradient(closest-side,rgba(0,224,0,.22),transparent);pointer-events:none}
.pg-thumb{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(16px) scale(.97);transition:opacity .45s var(--ease),transform .55s var(--ease);pointer-events:none}
.pg-thumb.is-on{opacity:1;transform:none}
.pg-thumb-note{position:absolute;left:22px;bottom:18px;font-size:12px;font-weight:600;color:#7A817A}
.pg-doc{position:relative;width:250px;height:330px;padding:22px 22px 18px;border-radius:6px;background:#fff;box-shadow:0 24px 50px rgba(11,12,11,.14);display:flex;flex-direction:column;gap:8px;transform:rotate(2deg)}
.pg-doc-back{position:absolute;transform:translate(-26px,14px) rotate(-6deg);opacity:.7}
.pg-doc-k{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-gd)}
.pg-doc-h{height:12px;width:90%;border-radius:4px;background:var(--pg-ink)}.pg-doc-h.s{width:60%}
.pg-doc-shot{position:relative;height:110px;margin:8px 0;border-radius:6px;background:linear-gradient(180deg,#E9ECE8 0 22%,#F6F7F5 22%);border:1px solid #E1E4E0;filter:blur(.4px)}
.pg-doc-shot i{position:absolute;width:20px;height:20px;border-radius:50%;background:#EF4444;color:#fff;font:700 11px/20px inherit;font-family:inherit;font-style:normal;text-align:center;box-shadow:0 0 0 4px rgba(239,68,68,.2)}
.pg-doc-shot .m1{left:18%;top:36%}.pg-doc-shot .m2{right:16%;bottom:16%}
.pg-doc-p{height:6px;width:100%;border-radius:3px;background:#DADDD9;filter:blur(.6px)}.pg-doc-p.s{width:70%}
.pg-doc-pg{margin-top:auto;align-self:flex-end;font-size:10px;color:#9AA09A}
.pg-mini-browser{width:330px;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 24px 50px rgba(11,12,11,.14);transform:translateX(-30px)}
.pg-mini-site{position:relative;height:200px;padding:18px}
.pg-mini-site span{display:block;border-radius:4px}
.pg-mini-site .h{height:8px;width:30%;background:var(--pg-ink)}
.pg-mini-site .t{height:12px;width:52%;margin-top:22px;background:var(--pg-ink)}.pg-mini-site .t.s{width:38%;margin-top:7px}
.pg-mini-site .c{height:20px;width:26%;margin-top:18px;border-radius:6px;background:var(--pg-g)}
.pg-mini-site .img{position:absolute;right:18px;top:40px;width:38%;height:120px;border-radius:8px;background:linear-gradient(135deg,#123B22,#0A7A2A 55%,#00E000)}
.pg-mini-phone{position:absolute;right:16%;bottom:46px;width:104px;height:200px;padding:16px 9px;border-radius:20px;border:6px solid #111;background:#fff;display:flex;flex-direction:column;gap:7px;box-shadow:0 20px 40px rgba(11,12,11,.2)}
.pg-mini-phone span{display:block;border-radius:4px}
.pg-mini-phone .img{height:60px;border-radius:8px;background:linear-gradient(135deg,#123B22,#00E000)}
.pg-mini-phone .t{height:8px;width:90%;background:var(--pg-ink)}.pg-mini-phone .t.s{width:60%}
.pg-mini-phone .c{height:16px;width:64%;border-radius:5px;background:var(--pg-g)}
.pg-plan{width:340px;padding:24px;border-radius:14px;background:#fff;box-shadow:0 24px 50px rgba(11,12,11,.14);display:flex;flex-direction:column;gap:14px}
.pg-plan-row{display:grid;grid-template-columns:60px 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;font-size:13px}
.pg-plan-row b{grid-row:span 2}
.pg-plan-row .bar{position:relative;height:12px;border-radius:6px;background:#EEF1ED}
.pg-plan-row .bar::after{content:"";position:absolute;left:var(--x,0);width:var(--w);top:0;bottom:0;border-radius:6px;background:linear-gradient(90deg,#0A7A2A,#00E000)}
.pg-plan-row em{font-style:normal;font-size:11.5px;color:#7A817A;margin-top:4px}
.pg-plan-total{display:flex;justify-content:space-between;padding-top:14px;border-top:1px dashed #D5D9D4;font-size:13px}
.pg-plan-total b{filter:blur(3px)}

/* ---------- Índice ---------- */
.pg-index{padding:140px 0;background:var(--pg-paper)}
.pg-toc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:start}
.pg-toc-list{list-style:none;margin:0;padding:0;counter-reset:none;columns:1}
.pg-toc-list li{border-top:1px solid rgba(11,12,11,.1)}
.pg-toc-list li:last-child{border-bottom:1px solid rgba(11,12,11,.1)}
.pg-toc-list button{position:relative;width:100%;display:flex;align-items:baseline;gap:22px;padding:17px 12px 17px 0;background:none;border:0;font:inherit;text-align:left;color:var(--pg-ink);cursor:pointer;transition:padding .35s var(--ease),color .25s}
.pg-toc-list button::before{content:"";position:absolute;left:-14px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--pg-g);transform:translateY(-50%) scale(0);transition:transform .3s var(--ease)}
.pg-toc-i{flex:none;width:30px;font-size:13px;font-weight:800;color:#9AA09A;font-variant-numeric:tabular-nums;transition:color .25s}
.pg-toc-tt{flex:1;font-size:clamp(16px,1.35vw,19px);font-weight:600;line-height:1.35;letter-spacing:-.01em}
.pg-badge{flex:none;align-self:center;padding:4px 9px;border-radius:999px;background:var(--pg-ink);color:var(--pg-g);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pg-toc-list button:hover,.pg-toc-list button.is-on{padding-left:14px}
.pg-toc-list button.is-on::before,.pg-toc-list button:hover::before{transform:translateY(-50%) scale(1)}
.pg-toc-list button.is-on .pg-toc-i{color:var(--pg-gd)}
.pg-toc-list button.is-on .pg-toc-tt{font-weight:800}
.pg-toc-m{display:none}
.pg-toc-panel{position:sticky;top:110px}
.pg-toc-paper{position:relative;min-height:440px;padding:40px 40px 34px;border-radius:6px;background:#fff;box-shadow:0 1px 0 #E3E6E2,0 30px 60px rgba(11,12,11,.1);display:flex;flex-direction:column}
.pg-toc-paper::before{content:"";position:absolute;inset:10px -10px -10px 10px;z-index:-1;border-radius:6px;background:#fff;box-shadow:0 20px 40px rgba(11,12,11,.06)}
.pg-toc-paper.flip>*{animation:pgFlip .45s var(--ease) both}
@keyframes pgFlip{from{opacity:0;transform:translateY(8px)}}
.pg-toc-num{font-size:96px;font-weight:800;line-height:.9;letter-spacing:-.06em;color:var(--pg-g)}
.pg-toc-badge{align-self:flex-start;margin-top:18px;padding:6px 12px;border-radius:999px;background:var(--pg-ink);color:var(--pg-g);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.pg-toc-paper h3{margin-top:20px;font-size:26px;line-height:1.2;letter-spacing:-.02em}
.pg-toc-what{margin-top:14px;font-size:17px;line-height:1.6;color:#3C433C}
.pg-toc-why{margin-top:22px;padding:16px 18px;border-left:3px solid var(--pg-g);background:#F3FBF3}
.pg-toc-why b{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--pg-gd)}
.pg-toc-why p{margin:6px 0 0;font-size:16px;line-height:1.5}
.pg-toc-foot{margin-top:auto;padding-top:26px;display:flex;justify-content:space-between;font-size:12px;color:#9AA09A}
.pg-toc-foot i{font-style:normal}

/* ---------- Por qué es gratis ---------- */
.pg-free{padding:150px 0;background:var(--pg-g);color:var(--pg-ink);overflow:hidden}
.pg-free::before{content:"0";position:absolute;right:-4vw;top:50%;transform:translateY(-50%);font-size:min(60vw,780px);font-weight:800;line-height:.8;letter-spacing:-.08em;color:rgba(11,12,11,.06);pointer-events:none}
.pg-free-in{position:relative}
.pg-free .label{color:var(--pg-ink);opacity:.7}
.pg-free h2{margin-top:20px;font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-.045em;max-width:15ch}
.pg-free h2 em{display:block}
.pg-free-cols{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:56px;margin-top:64px;padding-top:36px;border-top:2px solid var(--pg-ink);align-items:start}
.pg-free-big{margin:0;font-size:clamp(22px,2.2vw,30px);font-weight:700;line-height:1.3;letter-spacing:-.02em;max-width:24ch}
.pg-free-small p{margin:0;font-size:16px;line-height:1.6}
.pg-free .law-src{color:var(--pg-ink)}

/* ---------- Cómo funciona ---------- */
.pg-steps{padding:150px 0 140px;background:#fff}
.pg-steps-list{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.pg-steps-list::before{content:"";position:absolute;left:0;right:0;top:34px;height:2px;background:var(--line)}
.pg-steps-list::after{content:"";position:absolute;left:0;top:34px;height:2px;width:100%;background:var(--pg-g);transform:scaleX(0);transform-origin:left;transition:transform 1.6s var(--ease) .2s}
.pg-steps-list.is-in::after{transform:scaleX(1)}
.pg-step{position:relative;z-index:1;padding:0 6px 0 0}
.pg-step:nth-child(2){margin-top:56px}.pg-step:nth-child(3){margin-top:112px}
.pg-step-n{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border-radius:50%;background:var(--pg-ink);color:var(--pg-g);font-size:28px;font-weight:800;box-shadow:0 0 0 8px #fff;transition:transform .35s var(--ease),background .3s,color .3s}
.pg-step:hover .pg-step-n{transform:scale(1.08) rotate(-6deg);background:var(--pg-g);color:var(--pg-ink)}
.pg-step-time{display:inline-block;margin-top:26px;padding:6px 12px;border-radius:999px;background:#EEFBEE;color:var(--pg-gd);font-size:13px;font-weight:800}
.pg-step h3{margin-top:16px;font-size:clamp(22px,2vw,28px);letter-spacing:-.02em;line-height:1.15}
.pg-step p{margin-top:12px;font-size:16.5px;line-height:1.6;color:#4A514A}
.pg-note{margin:96px 0 0 auto;max-width:720px;padding:36px 40px;border-radius:24px;background:var(--pg-ink);color:#fff;position:relative}
.pg-note::before{content:"“";position:absolute;left:30px;top:-34px;font-family:'Charon Smith',Georgia,serif;font-size:140px;line-height:1;color:var(--pg-g)}
.pg-note blockquote{margin:0;font-family:'Charon Smith',Georgia,serif;font-style:italic;font-size:clamp(22px,2.2vw,30px);line-height:1.35}
.pg-note figcaption{margin-top:20px;font-size:14px;color:rgba(255,255,255,.7)}
.pg-note figcaption b{display:block;color:#fff;font-weight:700}

/* ---------- Por dentro ---------- */
.pg-inside{padding:140px 0;background:var(--pg-ink);color:#fff;overflow:hidden}
.pg-inside .label{color:var(--pg-g)}
.pg-inside .pg-head h2{color:#fff}
.pg-inside .pg-head p{color:rgba(255,255,255,.7)}
.pg-frags{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:start}
.pg-frag{position:relative;padding:26px;border-radius:8px;background:#fff;color:var(--pg-ink);box-shadow:0 30px 60px rgba(0,0,0,.35);transition:transform .45s var(--ease)}
.pg-frag1{grid-column:1/6;transform:rotate(-2deg)}
.pg-frag2{grid-column:6/10;margin-top:70px;transform:rotate(1.5deg)}
.pg-frag3{grid-column:9/13;margin-top:-30px;transform:rotate(-1deg);background:var(--pg-g)}
.pg-frag:hover{transform:rotate(0) translateY(-6px)}
.pg-frag-k{display:block;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--pg-gd)}
.pg-frag3 .pg-frag-k{color:var(--pg-ink)}
.pg-frag-shot{position:relative;display:grid;gap:7px;margin:16px 0;padding:16px;border-radius:6px;background:#F3F5F2;border:1px solid #E3E6E2}
.pg-frag-shot .f{height:14px;border-radius:4px;background:#fff;border:1px solid #DADDD9}
.pg-frag-shot i{position:absolute;right:-10px;top:40%;width:26px;height:26px;border-radius:50%;background:#EF4444;color:#fff;font:800 13px/26px inherit;font-family:inherit;font-style:normal;text-align:center;box-shadow:0 0 0 5px rgba(239,68,68,.25)}
.pg-frag p{margin:10px 0 0;font-size:15.5px;line-height:1.55}
.pg-frag h3{margin-top:14px;font-size:22px;line-height:1.2;letter-spacing:-.02em}
.pg-frag-tag{display:inline-block;margin-top:18px;padding:5px 10px;border-radius:999px;background:#F1F3F0;font-size:12px;font-weight:700}
.pg-frag-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid rgba(11,12,11,.18);font-size:14.5px}
.pg-frag-row:first-of-type{margin-top:12px}
.pg-frag-row b{text-align:right}
.pg-ex{margin-top:48px;font-size:13px;color:rgba(255,255,255,.55)}

/* ---------- FAQ ---------- */
.pg-faq{padding:150px 0 130px;background:#fff}
.pg-faq-in{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.pg-faq .pg-head{position:sticky;top:120px;margin:0}
.pg-faq .pg-head h2{font-size:clamp(32px,3.6vw,50px)}
.pg-q{border-bottom:1px solid var(--line)}
.pg-q:first-child{border-top:1px solid var(--line)}
.pg-q summary{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center;padding:28px 0;cursor:pointer;list-style:none}
.pg-q summary::-webkit-details-marker{display:none}
.pg-q-n{font-size:13px;font-weight:800;color:#9AA09A}
.pg-q-t{font-size:clamp(19px,1.8vw,24px);font-weight:700;letter-spacing:-.015em;line-height:1.25;transition:color .2s}
.pg-q summary:hover .pg-q-t{color:var(--pg-gd)}
.pg-q[open] .pg-plus{background:var(--pg-ink);border-color:var(--pg-ink);color:#fff}
.pg-q[open] .pg-plus::after{transform:translate(-50%,-50%) rotate(0)}
.pg-q p{margin:0;padding:0 50px 30px calc(22px + 2ch);font-size:17px;line-height:1.6;color:#3C433C}
.pg-q summary:focus-visible,.pg-rx-list button:focus-visible,.pg-toc-list button:focus-visible{outline:3px solid var(--pg-g);outline-offset:3px;border-radius:6px}

/* ---------- Responsive ---------- */
@media (max-width:960px){
  .pg-hero{padding:130px 0 80px}
  .pg-hero-in,.pg-rx,.pg-toc,.pg-faq-in,.pg-head-split,.pg-free-cols{grid-template-columns:1fr}
  .pg-stage{height:420px;margin-top:20px}
  .pg-laptop{max-width:520px;left:8%;right:auto;top:20px}
  .pg-rx-view{display:none}
  .pg-rx-list button{gap:18px}
  .pg-rx-body>p{padding-left:0;padding-right:0}
  .pg-toc-panel{display:none}
  .pg-toc-list button:hover,.pg-toc-list button.is-on{padding-left:0}
  .pg-toc-list button::before{display:none}
  .pg-toc-list li.is-open .pg-toc-m{display:block;padding:0 0 18px 52px}
  .pg-toc-m p{margin:0;font-size:15.5px;line-height:1.55;color:#3C433C}
  .pg-toc-m p+p{margin-top:8px}
  .pg-toc-list li.is-open .pg-toc-tt{font-weight:800}
  .pg-steps-list{grid-template-columns:1fr;gap:44px}
  .pg-steps-list::before,.pg-steps-list::after{left:34px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .pg-steps-list::after{transform:scaleY(0);transform-origin:top}
  .pg-steps-list.is-in::after{transform:scaleY(1)}
  .pg-step{margin-top:0!important;padding-left:100px}
  .pg-step-n{position:absolute;left:0;top:0}
  .pg-step-time{margin-top:18px}
  .pg-note{margin-top:64px}
  .pg-frags{grid-template-columns:1fr;gap:28px}
  .pg-frag1,.pg-frag2,.pg-frag3{grid-column:auto;margin-top:0}
  .pg-faq .pg-head{position:static}
}
@media (max-width:640px){
  .pg-hero h1{font-size:clamp(40px,11.5vw,56px)}
  .pg-hero-lead{font-size:17px}
  .pg-stage{height:330px}
  .pg-laptop{left:6%;width:92%;top:10px}
  .pg-site{height:200px;padding:10px 12px}
  .pg-heroblock{margin-top:14px}.pg-img{height:84px}.pg-cards span{height:40px}
  .pg-phone{width:104px;height:210px;left:0;bottom:0;border-radius:22px;padding:6px}
  .pg-pscreen{border-radius:17px;padding:14px 8px 8px;gap:6px}.pg-pimg{height:58px}
  .pg-tag1{top:-8px;right:0}.pg-tag2{left:auto;right:0;bottom:4px;font-size:12px}
  .pg-recibis,.pg-index,.pg-free,.pg-steps,.pg-inside,.pg-faq{padding:96px 0}
  .pg-head{margin-bottom:40px}
  .pg-toc-list li.is-open .pg-toc-m{padding-left:52px}
  .pg-step{padding-left:88px}.pg-step-n{width:60px;height:60px;font-size:24px}
  .pg-steps-list::before,.pg-steps-list::after{left:29px}
  .pg-note{padding:30px 24px}
  .pg-q p{padding:0 0 26px}
  .pg-free::before{font-size:120vw;right:-20vw}
}
@media (prefers-reduced-motion:reduce){.pg-stage *,.pg-kicker i,.pg-tag{animation:none!important}.pg-steps-list::after{transition:none}}

/* v34 · ajustes de Propuesta gratis */
html[lang] .pg-head h2{font-size:clamp(34px,4.6vw,62px);line-height:1.04;letter-spacing:-.035em;max-width:16ch}
html[lang] .pg-faq .pg-head h2{font-size:clamp(32px,3.6vw,50px)}
html[lang] .pg-free h2{font-size:clamp(40px,6vw,88px);line-height:.98;letter-spacing:-.045em;max-width:15ch}
html[lang] .pg-hero h1{font-size:clamp(44px,5.6vw,80px)}
.pg-laptop{max-width:540px}
.pg-phone{left:0}
.pg-frag1{grid-column:1/6}
.pg-frag2{grid-column:6/9;margin-top:90px}
.pg-frag3{grid-column:9/13;margin-top:24px}
.pg-thumb-inline{display:none}
@media (max-width:960px){
  .pg-thumb-inline{display:flex;position:relative;inset:auto;opacity:1;transform:none;height:280px;margin:0 0 30px;border-radius:20px;background:var(--pg-paper);overflow:hidden}
  .pg-thumb-inline .pg-doc{transform:rotate(2deg) scale(.78)}
  .pg-thumb-inline .pg-mini-browser{transform:translateX(-20px) scale(.82)}
  .pg-thumb-inline .pg-mini-phone{right:8%;bottom:26px;transform:scale(.85)}
  .pg-thumb-inline .pg-plan{transform:scale(.86)}
  .pg-rx-body>div{overflow:hidden}
}
@media (max-width:640px){html[lang] .pg-hero h1{font-size:clamp(40px,11.5vw,56px)}}
.pg-rx-body>div{overflow:hidden;min-height:0}
.pg-rx-body>div>p{margin:0;padding-left:calc(clamp(44px,5vw,72px) + 26px);padding-right:40px;font-size:17px;line-height:1.6;color:#4A514A}
.pg-rx-list li.is-on .pg-rx-body>div>p{padding-bottom:30px}
@media (max-width:960px){.pg-rx-body>div>p{padding-left:0;padding-right:0}.pg-rx-list li.is-on .pg-rx-body>div>p{padding-bottom:20px}}

/* v35 · Propuesta gratis: Cómo funciona con mockups */
.pg-how{--pg-g:#00E000;padding:140px 0;background:#141614;color:#fff}
.pg-how-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:72px;align-items:center}
.pg-how-view{position:relative;aspect-ratio:1.32;border-radius:18px;background:#E7EAE6;overflow:hidden}
.pg-how-view::before{content:"";position:absolute;inset:auto -10% -45% -10%;height:80%;background:radial-gradient(closest-side,rgba(0,224,0,.18),transparent);pointer-events:none}
.pg-shot{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:6%;opacity:0;transform:translateY(14px) scale(.98);transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none}
.pg-shot.is-on{opacity:1;transform:none}
.pg-shot-note{position:absolute;right:16px;bottom:12px;font-size:11.5px;font-weight:600;color:#7A817A}
.pg-ui{position:relative;width:100%;max-width:440px;padding:24px;border-radius:16px;background:#fff;color:#0B0C0B;box-shadow:0 1px 0 rgba(11,12,11,.04),0 24px 50px rgba(11,12,11,.14);font-size:13px;line-height:1.45}
.pg-ui-top{display:flex;align-items:center;gap:12px;font-size:11.5px;font-weight:700;color:#606660}
.pg-ui-prog{flex:1;height:5px;border-radius:3px;background:#ECEFEB;overflow:hidden}
.pg-ui-prog i{display:block;height:100%;background:var(--pg-g)}
.pg-ui-h{display:block;margin-top:18px;font-size:20px;letter-spacing:-.02em}
.pg-ui-sub{display:block;margin-top:2px;color:#606660}
.pg-ui-opts{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.pg-ui-opts span{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px;border:1.5px solid #E3E6E2}
.pg-ui-opts span.on{border-color:#0B0C0B;background:#F4FFF4;box-shadow:inset 0 0 0 1px #0B0C0B}
.pg-ui-opts b{font-size:12.5px}.pg-ui-opts em{font-style:normal;font-size:11px;color:#7A817A}
.pg-ui-btn{display:inline-flex;gap:6px;margin-top:18px;padding:10px 16px;border-radius:9px;background:#0B0C0B;color:#fff;font-weight:700;font-size:12.5px}
.pg-ui-btn i{font-style:normal}
.pg-ui-cursor{position:absolute;width:22px;left:118px;bottom:14px}
.pg-shot.is-on .pg-ui-cursor{animation:pgCur 1.6s var(--ease) .3s both}
@keyframes pgCur{from{transform:translate(60px,-70px);opacity:0}to{transform:none;opacity:1}}
.pg-ui-mailhead{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid #EEF0ED}
.pg-ui-av svg{width:34px;height:34px;display:block}
.pg-ui-mailhead div{display:flex;flex-direction:column}
.pg-ui-mailhead b{font-size:13px}.pg-ui-mailhead div span{font-size:11.5px;color:#7A817A}
.pg-ui-mailhead em{margin-left:auto;font-style:normal;font-size:11.5px;color:#7A817A}
.pg-ui-subject{display:block;margin-top:16px;font-size:17px;letter-spacing:-.015em}
.pg-ui-chip{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;border-radius:999px;background:#E9FBE9;color:#0A7A2A;font-size:11.5px;font-weight:800}
.pg-ui-chip::before{content:"";width:7px;height:7px;border-radius:50%;background:#00C200}
.pg-ui p{margin:12px 0 0;color:#3C433C}
.pg-ui-files{display:grid;gap:8px;margin-top:14px}
.pg-ui-file{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px;border-radius:10px;border:1px solid #E3E6E2}
.pg-ui-file i{grid-row:span 2;width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-style:normal;font-size:10px;font-weight:800}
.pg-ui-file i.pdf{background:#FDECEA;color:#C62828}
.pg-ui-file i.lnk{background:#0B0C0B}.pg-ui-file i.lnk span{width:22px;height:14px;border-radius:3px;background:linear-gradient(135deg,#0A7A2A,#00E000)}
.pg-ui-file b{font-size:12.5px}.pg-ui-file em{font-style:normal;font-size:11px;color:#7A817A}
.pg-ui-reply{display:flex;gap:8px;margin-top:16px}
.pg-ui-reply span{padding:7px 12px;border-radius:8px;border:1px solid #DADDD9;font-size:11.5px;font-weight:700}
.pg-ui-reply span.on{background:#0B0C0B;border-color:#0B0C0B;color:#fff}
.pg-how .label{color:var(--pg-g)}
.pg-how h2{margin-top:18px;color:#fff;font-size:clamp(34px,4.2vw,58px);line-height:1.04;letter-spacing:-.035em}
.pg-how h2 em{font-family:'Charon Smith',Georgia,serif;font-style:italic;font-weight:500}
.pg-how-lead{min-height:3.2em;margin:26px 0 0;font-size:18px;line-height:1.6;color:rgba(255,255,255,.72)}
.pg-how-list{list-style:none;margin:36px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.12)}
.pg-how-list li{border-bottom:1px solid rgba(255,255,255,.12)}
.pg-how-list button{position:relative;width:100%;display:flex;align-items:center;gap:16px;padding:22px 0;background:none;border:0;font:inherit;text-align:left;color:rgba(255,255,255,.45);cursor:pointer;transition:color .3s}
.pg-how-n{flex:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);font-size:14px;font-weight:800;transition:background .3s,color .3s}
.pg-how-t{flex:1;font-size:18px;font-weight:600}
.pg-how-time{font-size:13px;font-weight:600}
.pg-how-bar{position:absolute;left:0;bottom:-1px;height:2px;width:100%;background:var(--pg-g);transform:scaleX(0);transform-origin:left}
.pg-how-list button:hover{color:rgba(255,255,255,.8)}
.pg-how-list li.is-on button{color:#fff}
.pg-how-list li.is-on .pg-how-n{background:var(--pg-g);color:#0B0C0B}
.pg-how-list li.is-on .pg-how-time{color:var(--pg-g)}
.pg-how-list li.is-on .pg-how-bar{animation:pgBar var(--dur,7s) linear both}
.pg-how-in.is-paused .pg-how-list li.is-on .pg-how-bar{animation-play-state:paused}
@keyframes pgBar{to{transform:scaleX(1)}}
.pg-how-list button:focus-visible{outline:3px solid var(--pg-g);outline-offset:3px;border-radius:6px}
.pg-how-note{margin:34px 0 0;font-family:'Charon Smith',Georgia,serif;font-style:italic;font-size:18px;line-height:1.5;color:rgba(255,255,255,.7)}
.pg-how-note b{display:block;margin-top:8px;font-family:inherit;font-style:normal;font-size:13px;font-weight:700;color:#fff;font-family:'Inter Tight Var','Helvetica Neue',Helvetica,Arial,sans-serif}
@media (max-width:960px){
  .pg-how{padding:96px 0}
  .pg-how-in{grid-template-columns:1fr;gap:40px}
  .pg-how-view{order:2}
  .pg-how-tx{display:contents}
  .pg-how-tx>.label,.pg-how-tx>h2,.pg-how-lead{order:1}
  .pg-how-list{order:3;margin-top:0}
  .pg-how-note{order:4}
  .pg-how-lead{min-height:0}
}
@media (max-width:640px){
  .pg-how-view{aspect-ratio:auto;height:400px}
  .pg-shot{padding:5%}
  .pg-ui{padding:18px;font-size:12px}
  .pg-ui-opts em{display:none}
  .pg-how-time{display:none}
}
@media (prefers-reduced-motion:reduce){.pg-how-list li.is-on .pg-how-bar{animation:none;transform:scaleX(1)}}

html[lang] .pg-how h2{font-size:clamp(34px,4.2vw,58px);line-height:1.04;letter-spacing:-.035em;max-width:14ch}

/* v36 · fuente secundaria: Charon Smith (un solo peso, 400) */
html[lang] em,html[lang] [style*="Charon"],.pg-hero h1 em,.pg-head h2 em,.pg-free h2 em,.pg-how h2 em,.pg-note blockquote,.pg-how-note{font-synthesis:none}
.pg-hero h1 em,.pg-head h2 em,.pg-free h2 em,.pg-how h2 em{font-weight:400}

/* v37 · Inter Tight: tracking estilo Neue Haas Grotesk Text */
html[lang] body{font-kerning:normal;letter-spacing:-.006em;word-spacing:0}
html[lang] :is(h1,h2){letter-spacing:-.03em!important}
html[lang] :is(h3,h4){letter-spacing:-.015em!important}
html[lang] :is(h1,h2,h3,h4) em{letter-spacing:0!important;word-spacing:0}
/* v38 · títulos de las secciones L/R (imagen + texto) siempre en la fuente principal, sin cursiva de acento */
html[lang] .lr-txt h2 em,html[lang] .lr-txt h3 em{font-family:var(--font-display)!important;font-style:normal!important;font-weight:inherit!important;font-size:inherit!important;letter-spacing:inherit!important;color:inherit}

/* v39 · números grandes decorativos en la fuente secundaria (Charon Smith, recta) y nuevo 08 → ∞ con el 8 de la misma fuente */
html[lang] .cloud{font-family:var(--font)}
html[lang] .inc-n,html[lang] .inc-num,html[lang] .inc-num .inc-eight,html[lang] .pg-n,html[lang] .pg-toc-num{font-family:'Charon Smith',Georgia,serif!important;font-style:normal!important;font-weight:400!important;letter-spacing:-.01em!important;font-synthesis:none}
html[lang] .inc-n{font-size:clamp(80px,10vw,156px)}
html[lang] .inc-end-vis{font-size:clamp(80px,10vw,156px)}
html[lang] .inc-inf{display:none!important}
html[lang] .inc-num{display:inline-flex!important;color:rgba(255,255,255,.4)}
html[lang] .inc-num>span{display:inline-block;transform-origin:50% 54%}
html[lang] .inc-last.is-visible .inc-zero{animation:incZero2 10s cubic-bezier(.65,0,.35,1) infinite}
html[lang] .inc-last.is-visible .inc-num .inc-eight{animation:incEight2 10s cubic-bezier(.65,0,.35,1) infinite}
@keyframes incZero2{
  0%,16%{opacity:1;transform:none}
  26%,80%{opacity:0;transform:translateX(-.25em)}
  90%,100%{opacity:1;transform:none}
}
@keyframes incEight2{
  0%,18%{transform:none;color:inherit;text-shadow:none}
  32%,76%{transform:translateX(-.36em) rotate(90deg) scale(1.12);color:#fff;text-shadow:0 0 28px rgba(124,255,155,.55)}
  90%,100%{transform:none;color:inherit;text-shadow:none}
}
@media (max-width:900px){
  html[lang] .inc-n{font-size:64px}
  html[lang] .inc-end-vis{font-size:64px;top:-70px}
  html[lang] .inc-end{margin-top:70px}
  html[lang] .inc-num{color:#C9CFD6}
  html[lang] .inc-last.is-visible .inc-num .inc-eight{animation-name:incEight2m}
  @keyframes incEight2m{0%,18%{transform:none}32%,76%{transform:translateX(-.36em) rotate(90deg) scale(1.12);color:#0B7A2B}90%,100%{transform:none}}
}
@media (prefers-reduced-motion:reduce){
  html[lang] .inc-num{display:inline-flex!important}
  html[lang] .inc-last .inc-zero,html[lang] .inc-last .inc-num .inc-eight{animation:none!important}
}

/* v40: todos los h2 de sección a 56px (doble font: principal + Charon Smith en el em) */
html[lang] h2,html[lang] .proc-title,html[lang] .lr-txt h2,html[lang] .svc-banner h2,
html[lang] .pg-head h2,html[lang] .pg-faq .pg-head h2,html[lang] .pg-how h2,html[lang] .pg-free h2{font-size:56px;line-height:1.06;letter-spacing:-.03em}
html[lang] .svc-banner h2{max-width:20ch}
html[lang] .proc-title{margin-bottom:56px}
html[lang] .lead-card h2{font-size:clamp(22px,2.6vw,30px)}
html[lang] .lead-aside h2{font-size:22px}
html[lang] .lead-done h2{font-size:clamp(24px,3vw,32px)}
@media (max-width:1000px){html[lang] h2,html[lang] .proc-title,html[lang] .lr-txt h2,html[lang] .svc-banner h2,html[lang] .pg-head h2,html[lang] .pg-faq .pg-head h2,html[lang] .pg-how h2,html[lang] .pg-free h2{font-size:44px}}
@media (max-width:640px){html[lang] h2,html[lang] .proc-title,html[lang] .lr-txt h2,html[lang] .svc-banner h2,html[lang] .pg-head h2,html[lang] .pg-faq .pg-head h2,html[lang] .pg-how h2,html[lang] .pg-free h2{font-size:34px}
html[lang] .lead-card h2{font-size:22px}html[lang] .lead-aside h2{font-size:20px}html[lang] .lead-done h2{font-size:24px}}

/* v41: títulos de imagen + texto (CMS headless) vuelven a su tamaño anterior */
html[lang] .lr-txt h2{font-size:32px;line-height:1.15;letter-spacing:-.03em}
@media (max-width:640px){html[lang] .lr-txt h2{font-size:28px}}

/* v42: menú Servicios, hover sin cambio de color y sombreado de "Ver todos" con la misma altura que los demás ítems */
.mega-products .mega-col a:hover,.mega-products .mega-col a.current:hover{color:var(--ink)}
#navServicesItem .mega-all,#navServicesItem .mega-all:hover{color:var(--green)}
#navServicesItem .mega-all{margin-top:0;padding-top:9px;padding-bottom:9px;min-height:70px;display:flex;align-items:center}
@media (max-width:1000px){#navServicesItem .mega-all{min-height:0;display:block}}

/* v43: "Ver todos los servicios" en negro */
#navServicesItem .mega-all,#navServicesItem .mega-all:hover{color:var(--ink)}

/* v44: página Servicios con enfoque de consultoría (prefijo sx-) */
.sx-sec .lr{align-items:center}
@media (min-width:1101px){.sx-rev{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)}}
@media (max-width:1100px){.sx-rev .sx-fig{order:-1}}
.sx-fig{position:relative;margin:0;width:100%;max-width:600px;justify-self:center}
.sx-glow{position:absolute;inset:6%;border-radius:50%;background:radial-gradient(closest-side,rgba(0,224,0,.22),rgba(0,224,0,.06) 60%,transparent);filter:blur(34px);z-index:0}
.sx-svg{position:relative;z-index:1;display:block;width:100%;height:auto;overflow:visible}
.sx-ring{fill:rgba(0,224,0,.07);stroke:rgba(10,122,42,.10)}
.sx-ring2{fill:rgba(255,255,255,.55);stroke:rgba(10,122,42,.08)}
.sx-tangle{fill:none;stroke:#0A7A2A;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1600;stroke-dashoffset:1600}
.sx-gap.is-visible .sx-tangle,html:not(.js) .sx-tangle{animation:sxDraw 2.8s ease forwards}
.sx-arrow{stroke:#0A7A2A;stroke-width:2.2;stroke-linecap:round}
@keyframes sxDraw{to{stroke-dashoffset:0}}
.sx-node{position:absolute;z-index:2;transform:translate(-50%,-50%);border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 12px 32px rgba(11,12,11,.12)}
.sx-main{width:23%;aspect-ratio:1;box-shadow:0 18px 44px rgba(11,12,11,.14)}
.sx-main span{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:clamp(22px,2.4vw,34px);line-height:1;color:#0B0C0B}
.sx-sat{width:16%;aspect-ratio:1;gap:6px;padding:6px}
.sx-sat span{font-size:clamp(9.5px,.85vw,12px);font-weight:700;line-height:1.15;color:var(--ink)}
.sx-ico{display:block;width:clamp(18px,1.8vw,26px);height:clamp(18px,1.8vw,26px);color:#0A7A2A}
.sx-ico svg{width:100%;height:100%;display:block}
.sx-brand .vt-logo{width:clamp(20px,2vw,28px);height:auto;display:block}
.sx-loop .sx-sat2{width:15%}
.sx-loop .sx-sat2 span{font-size:clamp(9px,.8vw,11.5px)}
.sx-orbit{fill:none;stroke:rgba(255,255,255,.0)}
.sx-lobe{background:transparent;box-shadow:none;width:auto;gap:8px;border-radius:0}
.sx-lobe span{font-family:var(--font-accent);font-style:italic;font-weight:400;font-size:clamp(20px,2vw,30px);line-height:1;color:#0B0C0B}
.sx-lobe .sx-ico{color:#0B0C0B}
.sx-hub{width:19%;aspect-ratio:1;gap:6px;box-shadow:0 18px 44px rgba(11,12,11,.18)}
.sx-hub span{font-size:clamp(12px,1.15vw,16px);font-weight:800;letter-spacing:-.01em}
.sx-ul{list-style:none;padding:0;margin:0 0 6px}
.sx-ul li{position:relative;padding-left:22px;font-size:clamp(16px,1.25vw,19px);line-height:1.6;margin-bottom:14px;color:var(--ink)}
.sx-ul li::before{content:"";position:absolute;left:2px;top:.62em;width:8px;height:8px;border-radius:2px;background:#00E000}
.lr-txt .sx-ul li{color:var(--ink)}
/* gráfico de valor */
.sx-value{max-width:560px}
.sx-chart{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;height:clamp(300px,32vw,420px);padding:0 clamp(110px,10vw,140px) 34px 0;border-bottom:0}
.sx-col{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:100%}
.sx-stack{display:flex;flex-direction:column-reverse;height:100%;gap:0}
.sx-b{position:relative;display:flex;align-items:flex-start;justify-content:center;text-align:center;padding:8px 6px;min-height:0}
.sx-b span{font-size:clamp(9px,.78vw,11.5px);font-weight:700;line-height:1.2}
.sx-b.op{background:linear-gradient(180deg,#0B0C0B,#2F3530);border-radius:10px 10px 0 0;color:#fff}
.sx-b.save{border-top:1.5px dashed rgba(10,122,42,.55);color:#0A7A2A;align-items:center}
.sx-b.gain{border-top:1.5px dashed rgba(10,122,42,.55);color:#0A7A2A;align-items:center}
.sx-b.grow{background:linear-gradient(180deg,#00E000,rgba(0,224,0,.35));border-radius:10px 10px 0 0;color:#0B0C0B}
.sx-col .sx-stack .sx-b.op:not(:first-child){border-radius:0}
.sx-cl{position:absolute;bottom:-28px;left:0;right:0;text-align:center;font-size:13px;font-weight:700;color:var(--muted)}
.sx-brace{position:absolute;right:clamp(84px,7.6vw,110px);top:0;height:calc((100% - 34px) * .52);border:1.5px solid #0A7A2A;border-left:0;width:16px;border-radius:0 6px 6px 0}
.sx-brace span{position:absolute;left:28px;top:50%;transform:translateY(-50%);width:clamp(84px,7vw,104px);font-size:12.5px;font-weight:800;line-height:1.25;color:var(--ink)}
.sx-value figcaption{position:relative;z-index:1;margin-top:22px;font-size:12.5px;color:var(--muted)}
/* pasos */
.sx-steps{list-style:none;padding:0;margin:56px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.sx-step{border-top:1px solid var(--line);padding-top:26px}
.sx-n{display:block;font-family:var(--font-accent);font-style:normal;font-weight:400;font-size:clamp(56px,6vw,88px);line-height:.9;color:#0B0C0B;margin-bottom:22px;letter-spacing:-.01em}
.sx-step h3{font-size:22px;letter-spacing:-.015em;margin-bottom:12px}
.sx-step p{font-size:16.5px;line-height:1.6;color:var(--muted)}
.sx-more{margin-top:40px}
/* tarjetas de servicio */
.sx-cl-list{list-style:none;padding:16px 0 0;margin:16px 0 0;border-top:1px solid var(--line)}
.sx-cl-list li{position:relative;padding-left:20px;font-size:14.5px;line-height:1.5;color:var(--ink);margin-bottom:8px}
.sx-cl-list li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;border-radius:2px;background:#00E000}
/* sección oscura */
.sx-dark{background:#0B0C0B;color:#fff;padding:clamp(80px,9vw,140px) 0}
.sx-dark h2{color:#fff}
.sx-areas{list-style:none;padding:0;margin:64px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(40px,5vw,72px) clamp(28px,4vw,64px)}
.sx-aico{display:inline-flex;width:44px;height:44px;border-radius:12px;align-items:center;justify-content:center;background:rgba(0,224,0,.12);color:#00E000;margin-bottom:22px}
.sx-aico svg{width:24px;height:24px}
.sx-area h3{font-size:22px;color:#fff;letter-spacing:-.015em;margin-bottom:10px}
.sx-area p{font-size:16.5px;line-height:1.6;color:rgba(255,255,255,.66)}
@media (max-width:900px){.sx-steps,.sx-areas{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .sx-steps,.sx-areas{grid-template-columns:1fr}
  .sx-sat{width:19%;gap:3px;padding:4px}
  .sx-sat span{font-size:8.5px}
  .sx-ico{width:16px;height:16px}
  .sx-loop .sx-sat2{width:17%}
  .sx-loop .sx-sat2 span{font-size:8px}
  .sx-main{width:25%}
  .sx-main span{font-size:19px}
  .sx-hub{width:21%}
  .sx-hub span{font-size:10.5px}
  .sx-lobe span{font-size:15px}
  .sx-lobe .sx-ico{display:none}
  .sx-chart{padding-right:96px;gap:8px}
  .sx-brace{right:74px}
  .sx-brace span{width:66px;font-size:10.5px;left:22px}
  .sx-b span{font-size:8.5px}
  .sx-cl{font-size:11px}
}
@media (prefers-reduced-motion:reduce){.sx-tangle{stroke-dashoffset:0!important;animation:none!important}}

/* v45: con los h2 a 56px, el encabezado de sección con texto de apoyo va apilado (título arriba, texto abajo) */
html[lang] .services-head{grid-template-columns:1fr;row-gap:20px}
html[lang] .services-head h2{max-width:24ch}
html[lang] .services-head .lead{align-self:start!important;max-width:62ch}

/* v46 (corregido en v48): el banner de Brova Cloud conserva el estilo original de la home, no entra en la escala de 56px */
html[lang] .cloud h2{margin-top:32px;max-width:20ch;font-weight:300;font-size:clamp(26px,2.9vw,38px);line-height:1.1;letter-spacing:-.02em}

/* v47: imágenes de imagen + texto sin ampliar al hacer clic */
.lr-img{cursor:default}
div.lr-img::after{display:none!important}

/* v48: la lista de servicios copiada en /servicios carga su CSS después de brova-ui.css y pisaba overflow:visible; el preview vuelve a sobresalir como en la home */
@media (hover:hover) and (min-width:1101px){
  .svc-list .svc{overflow:visible}
  .svc-list .svc:hover,.svc-list .svc:focus-visible{z-index:5}
  .svc-list .svc::before{transform:none;opacity:0;transition:opacity .4s var(--ease)}
  .svc-list .svc:hover::before{opacity:1}
  .svc-list .svc p{max-width:29ch}
  .svc-list .svc-thumb-img{width:340px;right:56px;z-index:3}
}

/* v49: consistencia de la home con las páginas de servicio (06/11/2026, noche) */
/* hero de la home: fondo claro con video, etiquetas en versión clara */
.hero .hero-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:34px}
.hero .hero-tags span{display:inline-flex;align-items:center;height:32px;padding:0 14px;border:1px solid rgba(11,12,11,.18);border-radius:999px;font-size:13.5px;font-weight:500;color:var(--ink);background:rgba(255,255,255,.6);backdrop-filter:blur(6px)}
html[lang] .hero .lead{font-size:20px;line-height:1.55;max-width:44ch}
/* fases del proceso: número grande en Charon Smith, igual que /servicios */
html[lang] .process .step .num.sx-n{font-family:var(--font-accent);font-style:normal;font-weight:400;font-size:clamp(56px,6vw,88px);line-height:.9;letter-spacing:-.01em;color:#0B0C0B;margin:22px 0 22px;display:block}
html[lang] .process .step h3{font-size:22px;letter-spacing:-.015em;margin-bottom:12px}
/* IA: los encabezados de columna dejan de ser rótulos en mayúsculas */
html[lang] .ai-col-head{font-size:22px;font-weight:700;letter-spacing:-.015em;text-transform:none;color:var(--muted);line-height:1.25}
html[lang] .ai-col-human .ai-col-head{color:var(--ink)}
html[lang] .ai-col-head::after{content:"";display:block;width:28px;height:3px;border-radius:2px;margin-top:14px;background:var(--line)}
html[lang] .ai-col-human .ai-col-head::after{background:#00e000}
/* escala de texto: 18px en párrafos de sección, 16px en tarjetas, pasos y notas */
html[lang] .pos-copy p,html[lang] .ai .pos-copy p{font-size:18px}
html[lang] .process .step p,html[lang] .sx-step p,html[lang] .sx-areas p,html[lang] .cta p{font-size:16px}
@media (max-width:640px){html[lang] .pos-copy p,html[lang] .ai .pos-copy p{font-size:17px}.hero .hero-tags{margin-top:26px}}
html[lang] .hero h1{max-width:none}

/* v50: "Un solo responsable…" con encabezado apilado, como el resto de las secciones: título arriba, texto abajo en dos columnas */
@media (min-width:1001px){
  html[lang] .pos > .pos-grid{grid-template-columns:1fr;gap:40px}
  html[lang] .pos > .pos-grid h2{max-width:22ch}
  html[lang] .pos .pos-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;max-width:none}
  html[lang] .pos .pos-copy p{margin-bottom:0}
  html[lang] .pos .pos-copy p:first-child{grid-row:span 2}
  html[lang] .pos .pos-copy p + p + p{margin-top:20px}
}

/* v51: ningún título de sección ni de hero en 3 líneas en desktop (pedido de Joaco). Más ancho, balance y encabezados apilados */
html[lang] h1,html[lang] h2{text-wrap:balance}
@media (min-width:1001px){
  html[lang] h2,html[lang] .pg-head h2,html[lang] .pg-free h2,html[lang] .pg-how h2,html[lang] .cta h2,html[lang] .services-head h2,html[lang] .pos > .pos-grid h2{max-width:none}
  html[lang] .phero h1{max-width:min(100%,1000px)}
  /* equipo chico: título arriba, texto abajo */
  html[lang] .global-head{grid-template-columns:1fr;gap:24px}
  html[lang] .global-head .lead{align-self:start!important;max-width:62ch}
  /* IA: el título ocupa todo el ancho y abajo van texto e imagen */
  html[lang] .ai-grid{row-gap:40px}
  html[lang] .ai-grid > .reveal:not(.aiw-fig){display:contents}
  html[lang] .ai-grid h2{grid-column:1/-1;grid-row:1}
  html[lang] .ai-grid .ai-copy{grid-column:1;grid-row:2;margin-top:0}
  html[lang] .ai-grid > .aiw-fig,html[lang] .ai-grid > figure{grid-column:2;grid-row:2}
  /* Brova Cloud: el título ocupa todo el ancho de la caja */
  html[lang] .cloud-grid{row-gap:0;align-items:start;grid-template-rows:auto auto auto 1fr}
  html[lang] .cloud-grid > div:first-child{display:contents}
  html[lang] .cloud-logo{grid-column:1/-1;grid-row:1;justify-self:start}
  html[lang] .cloud h2{grid-column:1/-1;grid-row:2;max-width:none;margin-top:28px}
  html[lang] .cloud-grid .lead{grid-column:1;grid-row:3}
  html[lang] .cloud-grid .cloud-cta{grid-column:1;grid-row:4;justify-self:start}
  html[lang] .cloud-list{grid-column:2;grid-row:3 / span 2;margin-top:32px}
}

/* v52: Propuesta gratis y hero del Plan de crecimiento sin títulos de 3 líneas (desktop) */
@media (min-width:1001px){
  html[lang] .phero h1{max-width:min(100%,1120px)}
  html[lang] .pg-hero-in{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}
  html[lang] .pg-hero h1{font-size:clamp(40px,3.5vw,52px);line-height:1.06;letter-spacing:-.035em}
  html[lang] .pg-hero h1 em{white-space:nowrap}
  html[lang] .pg-faq-in{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  /* Cómo funciona: el título ocupa todo el ancho; abajo van el mockup y la lista */
  html[lang] .pg-how-in{row-gap:44px;align-items:center}
  html[lang] .pg-how-tx{display:contents}
  html[lang] .pg-how-tx > h2{grid-column:1/-1;grid-row:1;margin-top:0}
  html[lang] .pg-how-view{grid-column:1;grid-row:2 / span 3}
  html[lang] .pg-how-lead{grid-column:2;grid-row:2;margin-top:0}
  html[lang] .pg-how-list{grid-column:2;grid-row:3;margin-top:0}
  html[lang] .pg-how-note{grid-column:2;grid-row:4}
}
@media (min-width:1001px){
  /* IA: el texto arranca arriba, a la altura de la tarjeta */
  html[lang] .ai-grid{align-items:start}
  html[lang] .ai-grid .ai-copy{padding-top:8px}
  /* hero con título largo: más chico para que entre en 2 líneas sin tapar la foto */
  html[lang] .phero-long h1{font-size:clamp(38px,3.6vw,50px);max-width:min(100%,880px)}
}

/* v53: menú de idioma como el de Servicios. El hover es una píldora con aire a los costados y el separador queda adentro, sin tocarla */
#navLangItem .lang-list a{position:relative;margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;border-bottom:0;border-radius:12px;transition:background .15s,color .2s}
#navLangItem .lang-list a + a::before{content:"";position:absolute;left:14px;right:14px;top:0;border-top:1px solid var(--line);transition:opacity .15s}
#navLangItem .lang-list a:hover{background:#F1F1F1;color:var(--ink)}
#navLangItem .lang-list a.current:hover{color:var(--green)}
#navLangItem .lang-list a:hover::before,#navLangItem .lang-list a:hover + a::before{opacity:0}

/* v54: Cómo trabajamos alineada con la home y las páginas de servicio */
/* componente IA de la home (también se usa en Cómo trabajamos) */
.ai-split{display:grid;grid-template-columns:1fr 1fr}
section.pos .ai-split{margin-top:56px}
.ai-col{border-top:2px solid var(--line);padding-top:22px}
.ai-col:first-child{padding-right:32px}
.ai-col + .ai-col{border-left:1px solid var(--line);padding-left:32px}
.ai-col-human{border-top-color:var(--ink)}
.ai-list{list-style:none;margin-top:14px;padding:0}
.ai-list li{padding:16px 0;border-bottom:1px solid var(--line);font-size:16px;font-weight:500;color:var(--muted)}
.ai-list li:last-child{border-bottom:0}
.ai-col-human .ai-list li{color:var(--ink);font-weight:600}
@media (max-width:900px){.ai-split{grid-template-columns:1fr}.ai-col:first-child{padding-right:0}.ai-col + .ai-col{border-left:0;padding-left:0;margin-top:40px}}
/* los siete pasos: número grande en Charon Smith, como en la home y /servicios */
html[lang] .howto>li{grid-template-columns:120px minmax(0,1.15fr) minmax(0,1fr)}
html[lang] .howto .n{font-family:var(--font-accent);font-style:normal;font-weight:400;font-size:clamp(56px,6vw,88px);line-height:.9;letter-spacing:-.01em;color:#0B0C0B;padding-top:0}
html[lang] .howto p{font-size:16px}
html[lang] .howto ul{font-size:16px}
@media (max-width:1000px){html[lang] .howto>li{grid-template-columns:1fr}}
/* tarjetas de normativa a 16 px; fuentes con el mismo subrayado verde de los demás enlaces */
html[lang] .cap-card p{font-size:16px}
html[lang] .law-src{color:var(--ink);border-bottom:2px solid var(--green);padding-bottom:3px;font-size:14px}

/* v55 Perfil de Joaquín (Cómo trabajamos) */
.who{align-items:start;grid-template-columns:240px minmax(0,1fr)}
.who-photo{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover;border:0;padding:0;border-radius:14px;position:sticky;top:110px}
.who-bio p{font-size:16px;line-height:1.65;margin:0 0 14px;max-width:70ch}
.who-bio .role{margin:6px 0 20px}
@media(max-width:900px){.who{grid-template-columns:1fr}.who-photo{max-width:200px;position:static}}

/* v56 Títulos largos en dos líneas en desktop; el salto se ignora por debajo de 1000 px */
@media (max-width:1000px){br.b2{display:none}}
/* v56b ajustes para que los títulos con corte fijo no pasen a 3 líneas */
@media (min-width:1001px){
  .t-fit{font-size:clamp(34px,3.4vw,52px)}
  .phero-long h1{font-size:clamp(34px,3.1vw,44px)}
}
@media (min-width:1001px){
  html[lang] h2.t-fit{font-size:clamp(34px,3.4vw,52px)!important}
  html[lang] .phero.phero-long h1,html[lang] .phero-long h1{font-size:clamp(34px,3.1vw,44px)!important}
}
@media (min-width:1001px){
  html[lang] .phero.phero-long h1,html[lang] .phero-long h1{font-size:clamp(32px,2.8vw,40px)!important}
}

/* v57 Menú de idioma junto al botón "Propuesta gratis" (desktop) */
@media (min-width:1001px){
  html[lang] header #navLinks{flex:1 1 auto;justify-content:center;position:relative;margin:0 24px;padding-right:84px}
  html[lang] header #navLangItem{position:absolute;right:0;top:50%;transform:translateY(-50%);width:auto}
}

/* v58 Hero de la home en celular: contenido más abajo, más aire arriba para el fondo */
@media (max-width:768px){
  html[lang] .hero{padding-top:clamp(230px,34svh,330px);padding-bottom:72px}
}

/* v59 Hero de servicios en celular: foto a pantalla completa y texto abajo (referencia TOWA) */
@media (max-width:768px){
  html[lang] .phero{min-height:100svh;align-items:flex-end;padding:110px 0 44px}
  html[lang] .phero-img img{width:100%;height:100%;opacity:1;object-position:center;-webkit-mask-image:none;mask-image:none}
  html[lang] .phero::before{background:radial-gradient(130% 70% at 0% 100%,rgba(0,224,0,.38) 0%,rgba(0,140,40,.14) 35%,transparent 65%),linear-gradient(180deg,rgba(5,6,5,.22) 0%,rgba(5,6,5,.38) 30%,rgba(5,6,5,.78) 62%,rgba(5,6,5,.94) 100%)}
  html[lang] .phero-kicker{font-size:16px;margin-bottom:14px}
  html[lang] .phero h1{font-size:clamp(32px,9.2vw,40px);line-height:1.08}
  html[lang] .phero-lead{margin-top:18px;font-size:17px;line-height:1.5}
  html[lang] .phero-ctas{flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px 22px;margin-top:26px}
  html[lang] .phero-ctas .btn{width:auto;padding-left:24px;padding-right:24px}
  html[lang] .phero-tags{margin-top:22px;gap:8px}
  html[lang] .phero-tags span{font-size:13px;padding:5px 13px}
}
@media (max-width:768px){html[lang] .phero h1 em{display:block;margin-top:4px}}

/* v60 Menú móvil abierto: barra sólida (no transparente sobre el hero) y sin scroll de fondo */
@media (max-width:1000px){
  html:has(.nav-links.open),body:has(.nav-links.open){overflow:hidden;overscroll-behavior:none}
  .nav-links{overscroll-behavior:contain}
  body:has(.nav-links.open) header,body:has(.nav-links.open) header:not(.scrolled){background:#fff!important;border-bottom:1px solid var(--line)}
  body:has(.nav-links.open) header::before{background:#fff!important;backdrop-filter:none!important}
  body:has(.nav-links.open) header .logo-svg path:nth-of-type(n+4){fill:var(--ink)!important}
  body:has(.nav-links.open) header .menu-btn span{background:var(--ink)!important}
  body:has(.nav-links.open) header .nav-links a,
  body:has(.nav-links.open) header .nav-links .nav-services-toggle,
  body:has(.nav-links.open) header .nav-mobile-bottom .nav-services-toggle{color:var(--ink)!important}
}
@media (max-width:1000px){
  body:has(.nav-links.open) header .nav-links a.btn,body:has(.nav-links.open) header .nav-links .nav-mobile-cta{color:#fff!important}
}

/* v61 Botones: un solo radio (6 px, el de .btn) en CTA, ghost y cookies */
html[lang] .pg-btn,html[lang] .inc-cta,html[lang] .btn-ghost,html[lang] .brova-cookie-btn{border-radius:6px}

/* v62 Sin etiquetas (pills) en los hero en celular */
@media (max-width:768px){
  html[lang] .hero .hero-tags,html[lang] .phero-tags{display:none}
}

/* v63 Etapas de la home en HTML (reemplaza la imagen porque-d/porque-m) */
.etapas{margin-top:64px;background:#F4F5F3;border-radius:18px;padding:48px 40px 40px}
.etapas-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.etapa-vis{border-radius:14px;overflow:hidden;aspect-ratio:250/270;background:#fff;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 24px 40px -26px rgba(11,12,11,.4)}
.etapa-vis img{display:block;width:100%;height:100%;object-fit:cover}
.etapa-n{display:block;font-family:var(--font-accent);font-weight:400;font-size:clamp(40px,3.6vw,56px);line-height:.9;letter-spacing:-.01em;color:var(--ink);margin:26px 0 12px}
.etapa h3{font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.015em;margin:0}
.etapa p{font-size:16px;line-height:1.5;color:var(--muted);margin:8px 0 0}
.etapas-foot{position:relative;margin-top:36px;display:flex;justify-content:center}
.etapas-foot::before{content:"";position:absolute;left:0;right:0;top:-12px;height:36px;border:2px solid var(--ink);border-top:0;border-radius:0 0 12px 12px}
.etapas-pill{position:relative;margin:12px 0 0;display:inline-flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 22px 8px 8px;font-family:var(--font-display);font-size:16px;font-weight:600;color:var(--ink)}
.etapas-team{display:flex}
.etapas-team img{width:34px;height:34px;border-radius:50%;border:2px solid #fff;object-fit:cover;display:block}
.etapas-team img+img{margin-left:-10px}
@media (max-width:1100px){.etapas{padding:36px 28px 32px}.etapas-list{gap:18px}.etapa h3{font-size:19px}.etapa p{font-size:15px}}
@media (max-width:900px){
  .etapas{margin-top:44px;padding:28px 0 28px;border-radius:14px}
  .etapas-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:16px;padding:0 20px 6px;scroll-padding:0 20px;scrollbar-width:none}
  .etapas-list::-webkit-scrollbar{display:none}
  .etapa{flex:0 0 72%;max-width:300px;scroll-snap-align:start}
  .etapas-foot{margin:22px 20px 0}
  .etapas-foot::before{display:none}
  .etapas-pill{margin:0;font-size:14px;padding:6px 16px 6px 6px;gap:10px}
  .etapas-team img{width:28px;height:28px}
}
@media (max-width:900px){
  .etapas{margin-left:-22px;margin-right:-22px;border-radius:0}
  .etapas-pill{font-size:13.5px;letter-spacing:-.01em;white-space:nowrap}
  .etapas-team img{width:26px;height:26px}
}
@media (max-width:480px){.etapas{margin-left:-18px;margin-right:-18px}}
@media (max-width:480px){.etapas-pill{font-size:13px;gap:8px;padding:5px 14px 5px 5px}.etapas-team img:nth-child(3){display:none}}

/* v64 Banner de cookies en español: sin rótulo en mayúsculas */
html[lang] .brova-cookie-kicker{display:none}

/* v65 Propuesta gratis: hero con foto real (notebook y celular) */
.pg-photo{position:absolute;inset:24px 0 40px 0;margin:0;border-radius:18px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(11,12,11,.35),0 0 0 1px rgba(11,12,11,.06);background:#EDEBE6}
.pg-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:68% 55%}
@media (max-width:1000px){.pg-photo{inset:18px 0 30px 0}}

/* v66 Propuesta gratis: hero oscuro con foto real (estilo de los hero de servicio) y miniaturas fotográficas */
.pg-hero.pg-hero-dark{background:#050605;color:#fff;isolation:isolate}
.pg-hero-dark::after{display:none}
.pg-hero-dark::before{left:-20%;right:auto;top:auto;bottom:-55%;width:90vw;height:90vw;max-width:1200px;max-height:1200px;background:radial-gradient(closest-side,rgba(0,224,0,.38),rgba(0,140,40,.14) 45%,transparent 75%);z-index:1}
.pg-hero-dark .pg-hero-in{position:static}
.pg-hero-dark .pg-hero-tx{position:relative;z-index:3}
.pg-hero-dark .pg-stage{position:static;height:auto;perspective:none}
.pg-hero-dark .pg-photo{position:absolute;inset:0 0 0 auto;width:62%;border-radius:0;box-shadow:none;background:#050605;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 34%);mask-image:linear-gradient(90deg,transparent 0,#000 34%)}
.pg-hero-dark .pg-photo img{object-position:60% 50%}
.pg-hero-dark .pg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,5,.35),transparent 30%,transparent 70%,rgba(5,6,5,.5))}
.pg-hero-dark .pg-tag{z-index:3}
.pg-hero-dark .pg-tag1{top:auto;bottom:40px;right:4%;left:auto;background:rgba(255,255,255,.92);color:var(--ink)}
.pg-hero-dark .pg-tag2{display:none}
.pg-hero-dark .pg-kicker{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff}
.pg-hero-dark h1{color:#fff}
.pg-hero-dark h1 em{color:#fff}
.pg-hero-dark .pg-hero-lead{color:rgba(255,255,255,.84)}
.pg-hero-dark .pg-btn{background:#fff;color:var(--ink)}
.pg-hero-dark .pg-btn:hover{background:var(--green);color:var(--ink)}
.pg-hero-dark .textlink{color:#fff}
.pg-hero-dark .pg-hero-facts{border-top-color:rgba(255,255,255,.16)}
.pg-hero-dark .pg-hero-facts span{color:rgba(255,255,255,.62)}
@media (max-width:1000px){
  .pg-hero.pg-hero-dark{padding:120px 0 48px;min-height:100svh;display:flex;align-items:flex-end}
  .pg-hero-dark .pg-hero-in{width:100%}
  .pg-hero-dark .pg-photo{width:100%;-webkit-mask-image:none;mask-image:none}
  .pg-hero-dark .pg-photo::after{background:linear-gradient(180deg,rgba(5,6,5,.25) 0%,rgba(5,6,5,.45) 30%,rgba(5,6,5,.86) 60%,rgba(5,6,5,.96) 100%)}
  .pg-hero-dark .pg-tag1{display:none}
}
/* miniaturas de "¿Qué recibís?" como fotos */
.pg-rx-view{background:#E9E6DF}
.pg-rx-view::before{display:none}
.pg-thumb{margin:0}
.pg-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg-thumb figcaption{position:absolute;left:16px;bottom:16px;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);font-size:12px;font-weight:600;color:var(--ink)}
.pg-thumb-inline img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* v67 Propuesta gratis: hero cinematográfico, páginas reales de una propuesta en carrusel vertical y la foto del preview al frente */
.pg-hero.pg-hero-dark{min-height:min(92vh,900px);display:flex;align-items:center;padding:150px 0 110px}
.pg-hero-dark .pg-hero-in{width:100%}
.pg-hero-dark .pg-wall{position:absolute;top:-10%;bottom:-10%;right:-6%;width:66%;z-index:0;display:flex;gap:22px;justify-content:center;transform:perspective(1600px) rotateX(14deg) rotateY(-16deg) rotateZ(-8deg);transform-origin:60% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 85%,transparent 100%),linear-gradient(180deg,transparent 0,#000 18%,#000 82%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 85%,transparent 100%);opacity:.55}
.pg-col{flex:0 0 30%;overflow:hidden}
.pg-track{display:flex;flex-direction:column;gap:22px;animation:pgUp 60s linear infinite}
.pg-col2 .pg-track{animation-name:pgDown;animation-duration:72s}
.pg-col3 .pg-track{animation-duration:54s}
.pg-track img{display:block;width:100%;height:auto;border-radius:6px;box-shadow:0 20px 40px rgba(0,0,0,.55)}
@keyframes pgUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
@keyframes pgDown{from{transform:translateY(-50%)}to{transform:translateY(0)}}
.pg-hero-dark::after{display:block;content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(60% 70% at 72% 50%,transparent 0,rgba(5,6,5,.55) 70%,rgba(5,6,5,.92) 100%),linear-gradient(90deg,rgba(5,6,5,.96) 0,rgba(5,6,5,.75) 38%,rgba(5,6,5,.15) 70%,rgba(5,6,5,.4) 100%);background-size:auto}
.pg-hero-dark .pg-photo{position:absolute;z-index:2;inset:auto;top:50%;right:6%;width:min(46%,640px);aspect-ratio:4/3;transform:translateY(-50%);border-radius:16px;overflow:hidden;-webkit-mask-image:none;mask-image:none;box-shadow:0 60px 120px -30px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.08),0 0 140px -20px rgba(0,224,0,.35)}
.pg-hero-dark .pg-photo::after{background:linear-gradient(180deg,transparent 60%,rgba(5,6,5,.35))}
.pg-hero-dark .pg-photo img{object-position:50% 50%}
@media (max-width:1000px){
  .pg-hero.pg-hero-dark{min-height:auto;display:block;padding:104px 0 56px}
  .pg-hero-dark .pg-wall{top:0;bottom:auto;height:440px;right:-20%;width:140%;opacity:.4}
  .pg-hero-dark::after{background:linear-gradient(180deg,rgba(5,6,5,.3) 0,rgba(5,6,5,.6) 300px,rgba(5,6,5,.97) 470px)}
  .pg-hero-dark .pg-stage{position:relative;height:300px;margin:0 0 36px}
  .pg-hero-dark .pg-photo{position:absolute;top:0;right:auto;left:0;width:100%;height:100%;aspect-ratio:auto;transform:none}
  .pg-hero-dark .pg-hero-in{display:flex;flex-direction:column-reverse}
  .pg-hero-dark .pg-hero-tx{position:relative;z-index:3}
}
@media (prefers-reduced-motion:reduce){.pg-track{animation:none}}
.pg-hero-dark .pg-photo{width:min(40%,560px);right:4%}
@media (max-width:1000px){.pg-hero-dark .pg-hero-in{align-items:stretch}.pg-hero-dark .pg-stage{width:100%}.pg-hero-dark .pg-photo{width:100%;right:auto}}

/* v68 Propuesta gratis: "Cómo funciona" con capturas reales y cita grande de Joaquín */
.pg-how-view{background:#1A1C1A}
.pg-how-view::before{display:none}
.pg-shot img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.pg-shot.pg-shot-photo{padding:0}
.pg-shot.pg-shot-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover}
.pg-how-note.pg-quote{margin:44px 0 0;position:relative;padding-top:40px;color:#fff}
.pg-quote::before{content:"“";position:absolute;left:-4px;top:-26px;font-family:'Charon Smith',Georgia,serif;font-size:120px;line-height:1;color:var(--pg-g)}
.pg-quote blockquote{margin:0;font-family:'Charon Smith',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(26px,2.4vw,36px);line-height:1.25;letter-spacing:-.005em;color:#fff}
.pg-quote figcaption{display:flex;align-items:center;gap:14px;margin-top:24px}
.pg-quote figcaption img{width:48px;height:48px;border-radius:50%;object-fit:cover;flex:none}
.pg-quote figcaption span{font-family:'Inter Tight Var','Inter',sans-serif;font-size:14px;line-height:1.35;color:rgba(255,255,255,.65)}
.pg-quote figcaption b{display:block;margin:0;font-size:15px;font-weight:700;color:#fff;font-family:inherit;font-style:normal}
/* v69 Hero de Propuesta gratis sin foto: solo el carrusel de páginas de fondo */
.pg-hero-dark .pg-wall{opacity:.7;width:70%;right:-4%}
@media (max-width:1000px){
  .pg-hero.pg-hero-dark{min-height:86svh;display:flex;align-items:flex-end;padding:120px 0 56px}
  .pg-hero-dark .pg-stage{position:static;height:0;margin:0}
  .pg-hero-dark .pg-wall{top:0;bottom:0;height:auto;right:-30%;width:150%;opacity:.5}
  .pg-hero-dark::after{background:linear-gradient(180deg,rgba(5,6,5,.35) 0,rgba(5,6,5,.55) 35%,rgba(5,6,5,.95) 70%)}
}
@media (max-width:1000px){.pg-hero-dark::after{background:linear-gradient(180deg,rgba(5,6,5,.35) 0,rgba(5,6,5,.72) 30%,rgba(5,6,5,.95) 62%)}}

/* v70 formulario de propuesta: títulos h3, nombre del paso, resumen editable, sugerencia de email */
.lead-card h3{font-size:clamp(22px,2.6vw,30px);letter-spacing:-.02em;line-height:1.15;outline:none}
.lead-aside h3{font-size:22px;letter-spacing:-.01em}
.lead-done h3{font-size:clamp(24px,3vw,32px);letter-spacing:-.02em;line-height:1.2}
.lead-count-name{font-weight:500;color:var(--muted)}
.opt-tag[hidden]{display:none}
.lead-summary{display:block;border:0;border-radius:0;overflow:visible;margin:0 0 24px}
.sum-group{border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0 0 12px}
.sum-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 16px;background:#FAFAF8;border-bottom:1px solid var(--line)}
.sum-head h4{margin:0;font-size:14px;font-weight:700;letter-spacing:0}
.sum-edit{font:inherit;font-size:13.5px;font-weight:700;color:var(--ink);background:none;border:0;padding:6px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.sum-edit:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:2px}
.sum-group dl{display:grid;grid-template-columns:140px 1fr;margin:0}
.lead-summary .sum-group dt,.lead-summary .sum-group dd{margin:0;padding:10px 16px;border-top:1px solid var(--line);font-size:14.5px;background:none}
.lead-summary .sum-group dt:first-of-type,.lead-summary .sum-group dt:first-of-type+dd{border-top:0}
.lead-summary .sum-group dt{color:var(--muted);font-weight:600}
.lead-summary .sum-group dd{font-weight:600;overflow-wrap:anywhere}
.field-suggest{margin-top:7px;font-size:13.5px;color:var(--muted)}
.field-suggest button{font:inherit;font-weight:700;color:var(--ink);background:none;border:0;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lead-done-links{display:flex;flex-wrap:wrap;gap:12px 24px}
@media (max-width:768px){
  html[lang] .lead-card h3{font-size:22px}
  html[lang] .lead-aside h3{font-size:20px}
  html[lang] .lead-done h3{font-size:24px}
}
@media (max-width:600px){
  .sum-group dl{grid-template-columns:1fr}
  .lead-summary .sum-group dt{padding-bottom:0}
  .lead-summary .sum-group dd{border-top:0;padding-top:2px}
  .lead-summary .sum-group dt:first-of-type+dd{border-top:0}
}

/* v71 ayudas de campo como botón (i) con globo */
.lform .field>label,.lform .fgroup>legend{position:relative}
.lform .tip{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 0 0 6px;padding:0;vertical-align:-3px;border-radius:50%;border:1.5px solid #9AA09A;background:#fff;color:var(--muted);font:700 11px/1 var(--font);cursor:help;transition:border-color .15s,color .15s}
.lform .tip::before{content:"i"}
.lform .tip::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 8px);width:max-content;max-width:min(300px,100%);padding:10px 13px;border-radius:8px;background:var(--ink);color:#fff;font:500 13px/1.45 var(--font);text-align:left;white-space:normal;box-shadow:0 12px 30px -12px rgba(11,12,11,.45);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .15s,transform .15s,visibility .15s;z-index:30;pointer-events:none}
.lform .tip:hover,.lform .tip:focus{border-color:var(--ink);color:var(--ink);outline:none}
.lform .tip:hover::after,.lform .tip:focus::after{opacity:1;visibility:visible;transform:none}
@media (prefers-reduced-motion:reduce){.lform .tip::after{transition:none}}

/* v72 CTA debajo del índice */
.pg-index-cta{margin-top:48px}
@media (max-width:768px){.pg-index-cta{margin-top:32px}.pg-index-cta .pg-btn{width:100%;justify-content:center;text-align:center}}

/* v73 pie del mockup del índice sin texto */
.pg-toc-foot{justify-content:flex-end}

/* v74 (i) alineado con el texto + casilla "Todavía no tengo sitio web" */
.lform .tip{vertical-align:middle;margin-top:-3px}
.lform .field>label.check-nosite{margin-top:12px;font-size:14px;color:var(--muted)}
.lform .field>label.check-nosite[hidden]{display:none}
.lform input[type=text]:disabled{background:#F4F5F3;color:#9AA09A;border-color:#E1E4E0;cursor:not-allowed}

/* v75 selects del formulario: flecha propia con aire a la derecha */
.lform select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%230B0C0B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 16px center/12px 8px;text-overflow:ellipsis}
.lform select:invalid,.lform select option[value=""]{color:#7A807A}
.lform select option{color:var(--ink)}
.lform select::-ms-expand{display:none}

/* v76 todo lo que sigue a un legend flotante arranca debajo (el texto de ayuda oculto ya no corta el flujo) */
.lform .fgroup>legend:not(.sr-only)~*{clear:both}

/* v77 botones del formulario centrados en celular */
@media (max-width:768px){.lead-nav .btn:not([hidden]),.lead-nav .btn-ghost:not([hidden]){display:flex;justify-content:center;align-items:center}}

/* v78 banner "Mirá cómo quedaría tu sitio": fondo con la pared de páginas de la propuesta (misma animación que el hero de Propuesta gratis) */
.svc-banner-wall{background:#050605}
.svc-banner-wall .sb-wall{position:absolute;top:-14%;bottom:-14%;right:-4%;width:64%;z-index:0;display:flex;gap:22px;justify-content:center;transform:perspective(1600px) rotateX(14deg) rotateY(-16deg) rotateZ(-8deg);transform-origin:60% 50%;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 85%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 30%,#000 85%,transparent 100%);opacity:.7;pointer-events:none}
.svc-banner-wall::after{background:radial-gradient(60% 70% at 72% 50%,transparent 0,rgba(5,6,5,.5) 70%,rgba(5,6,5,.9) 100%),linear-gradient(90deg,rgba(5,6,5,.97) 0,rgba(5,6,5,.82) 36%,rgba(5,6,5,.2) 68%,rgba(5,6,5,.45) 100%)}
.svc-banner-wall .svc-banner-in{min-height:520px}
@media (max-width:900px){
  .svc-banner-wall .sb-wall{top:0;bottom:0;right:-30%;width:150%;opacity:.45}
  .svc-banner-wall::after{background:linear-gradient(180deg,rgba(5,6,5,.55) 0,rgba(5,6,5,.88) 45%,rgba(5,6,5,.95) 100%)}
  .svc-banner-wall .svc-banner-in{min-height:0}
}

/* v79 botones: un solo estilo en todo el sitio.
   Oscuro: hover azul y sube 1px. Blanco sobre fondo oscuro: hover verde claro y sube 1px. Mismo tamaño que .btn. */
.pg-btn,.inc-cta,.vbtn{padding:16px 30px;font-size:15px;font-weight:700;border-radius:6px;box-shadow:none;transition:background .2s,color .2s,transform .2s,border-color .2s}
.pg-btn span,.pg-btn:hover span{transform:none}
.pg-btn:hover{background:var(--blue);color:#fff;transform:translateY(-1px);box-shadow:none}
.pg-hero-dark .pg-btn:hover,.inc-cta:hover,.vbtn:hover{background:#E6F7E6;color:var(--ink);transform:translateY(-1px);box-shadow:none}
.btn-ghost{padding:15px 30px;border-radius:6px;transition:border-color .2s,transform .2s}
.btn-ghost:hover{border-color:var(--ink);transform:translateY(-1px)}
@media (prefers-reduced-motion:reduce){.pg-btn:hover,.inc-cta:hover,.vbtn:hover,.btn-ghost:hover{transform:none}}

/* v80 Brova Cloud en la home: sellos RGPD/UE con la marca de brova.cloud (lila, violeta, mono) */
.cloud-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.cloud-badge{display:inline-flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:#fff;border:1px solid #E6DAFF;border-radius:2px;font-size:13px;color:#4d4d4d;line-height:1.3}
.cloud-badge-k{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.08em;color:#8A05FF;border:1px solid #8A05FF;border-radius:2px;padding:3px 7px}
.cloud-badge-gdpr{padding:5px 12px 5px 5px}
.cloud-badge-gdpr img{width:40px;height:40px;display:block;flex:none}
/* botón y sellos juntos, en la columna del texto */
@media (min-width:1001px){html[lang] .cloud-grid .cloud-actions{grid-column:1;grid-row:4;align-self:start}}
.cloud-badges{flex-direction:column;align-items:flex-start}
/* v81 sello RGPD solo, sin leyenda */
.cloud-badges img{width:72px;height:72px;display:block}

/* v82 sección de contacto: agendar llamada o escribir un mensaje (antes de la última sección de cada página) */
.ct{position:relative;padding:96px 0 104px;background:#fff}
.ct-band{position:absolute;left:0;right:0;top:0;height:420px;background:radial-gradient(70% 120% at 0% 0%,rgba(0,224,0,.28) 0,rgba(0,224,0,0) 55%),linear-gradient(100deg,#0B1A0E 0%,#050605 55%)}
.ct-in{position:relative}
.ct-title{color:#fff;text-align:center;font-size:clamp(32px,4.4vw,58px);letter-spacing:-.02em;line-height:1.08;max-width:18ch;margin:0 auto}
.ct-tabs{display:flex;justify-content:center;gap:4px;width:max-content;max-width:100%;margin:36px auto 44px;padding:5px;background:rgba(255,255,255,.12);border-radius:8px}
.ct-tabs [role=tab]{display:inline-flex;align-items:center;gap:9px;font:inherit;font-size:15px;font-weight:700;color:#fff;background:transparent;border:0;border-radius:6px;padding:13px 22px;cursor:pointer;transition:background .2s,color .2s}
.ct-tabs [role=tab]:hover{background:rgba(255,255,255,.1)}
.ct-tabs [role=tab][aria-selected=true]{background:#fff;color:var(--ink)}
.ct-tabs [role=tab]:focus-visible{outline:2px solid var(--green);outline-offset:2px}
.ct-card{background:#fff;border-radius:14px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 40px 80px -40px rgba(11,12,11,.45);max-width:1080px;margin:0 auto;overflow:hidden}
.ct-card[hidden]{display:none}
.ct-cal{min-height:600px;display:flex}
.ct-cal iframe{display:block;width:100%;height:640px;border:0}
.ct-cal-gate{margin:auto;max-width:520px;padding:64px 28px;text-align:center;color:var(--ink)}
.ct-cal-gate svg{color:#9AA09A;margin:0 auto 18px;display:block}
.ct-cal-gate h3{font-size:clamp(22px,2.4vw,28px);letter-spacing:-.02em;line-height:1.2}
.ct-cal-gate p{margin-top:12px;color:var(--muted);line-height:1.6}
.ct-cal-gate .btn{margin-top:26px}
.ct-cal-gate .ct-note{font-size:13px;margin-top:18px}
.ct-msg{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:0}
.ct-form{padding:clamp(28px,4vw,56px)}
.ct-form-t{font-size:clamp(24px,2.6vw,32px);letter-spacing:-.02em;margin-bottom:22px}
.ct-lform textarea{min-height:140px}
.ct-send{width:100%;justify-content:space-between;margin-top:8px}
.ct-done h3{font-size:clamp(24px,2.6vw,30px);letter-spacing:-.02em;line-height:1.2}
.ct-side{position:relative;margin:16px;border-radius:10px;overflow:hidden;min-height:420px;background:#0B0C0B}
.ct-side img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.ct-side::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,6,5,0) 45%,rgba(5,6,5,.55) 100%)}
.ct-side-cards{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ct-chip{display:flex;align-items:center;gap:12px;background:#fff;color:var(--ink);border-radius:6px;padding:14px 16px;text-decoration:none;transition:transform .2s,background .2s}
.ct-chip:hover{transform:translateY(-1px);background:#E6F7E6}
.ct-chip span{display:flex;flex-direction:column;font-size:14px;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.ct-chip b{font-size:15px}
@media (max-width:900px){
  .ct{padding:72px 0 80px}.ct-band{height:340px}
  .ct-msg{grid-template-columns:1fr}
  .ct-side{min-height:360px;margin:0 16px 16px}
  .ct-cal iframe{height:760px}
}
@media (max-width:560px){
  .ct-tabs{width:100%}.ct-tabs [role=tab]{flex:1;justify-content:center;padding:12px 10px;font-size:14px}
  .ct-side-cards{grid-template-columns:1fr}
}

/* v83 calendario: estado de carga (esqueleto + aviso) y aparición suave */
.ct-cal{position:relative}
.ct-cal-frame{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;transition:opacity .4s}
.ct-cal.is-loaded{min-height:640px}
.ct-cal.is-loaded .ct-cal-frame{position:relative;height:640px;opacity:1}
.ct-cal-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:40px 28px;background:#fff;transition:opacity .4s}
.ct-cal.is-loaded .ct-cal-loading{opacity:0;pointer-events:none}
.ct-sk{display:grid;grid-template-columns:1fr 1.6fr;gap:36px;width:min(760px,100%)}
.ct-sk i{display:block;border-radius:6px;background:linear-gradient(90deg,#EEF0ED 0,#F7F8F6 40%,#EEF0ED 80%);background-size:200% 100%;animation:ctSh 1.3s linear infinite}
.ct-sk-l{display:flex;flex-direction:column;gap:12px}.ct-sk-l i{height:14px}.ct-sk-l i:first-child{height:22px;width:70%}.ct-sk-l i:last-child{width:50%}
.ct-sk-h{height:20px;width:45%;margin-bottom:16px}
.ct-sk-g{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}.ct-sk-g i{aspect-ratio:1;border-radius:50%}
@keyframes ctSh{from{background-position:200% 0}to{background-position:0 0}}
.ct-loading-t{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--ink)}
.ct-spin{width:16px;height:16px;border-radius:50%;border:2px solid #D5D8D4;border-top-color:var(--ink);animation:ctSp .8s linear infinite;flex:none}
@keyframes ctSp{to{transform:rotate(360deg)}}
.ct-slow{font-size:14px;color:var(--muted)}.ct-slow a{color:var(--ink);text-decoration:underline}
.ct-side img{object-position:50% 45%}
@media (max-width:900px){.ct-sk{grid-template-columns:1fr}.ct-sk-l{display:none}.ct-cal.is-loaded,.ct-cal.is-loaded .ct-cal-frame{min-height:760px;height:760px}}
@media (prefers-reduced-motion:reduce){.ct-sk i,.ct-spin{animation:none}}
.ct-cal-loading[hidden],.ct-cal-gate[hidden]{display:none}

/* v84 sello GDPR en lugar del ícono de "Datos en la Unión Europea" */
.cloud-list .cloud-gdpr{width:48px;height:48px;display:block}

/* v85 globos de ayuda de la calculadora: siempre dentro de la pantalla */
.ae-pop{max-width:min(280px,calc(100vw - 24px))}
.ae-pop.ae-pop-down{bottom:auto;top:calc(100% + 8px)}
.ct-chip svg{flex:none}
.ct-chip[href*="wa.me"] svg{color:#25D366}

/* v86 página /es/contact */
.ct-page{padding-top:150px;min-height:100vh}
.ct-page .ct-band{height:560px}
.ct-page .ct-lead{color:rgba(255,255,255,.78);text-align:center;font-size:18px;line-height:1.55;max-width:46ch;margin:18px auto 0}
.ct-page .ct-title{max-width:20ch}
@media (max-width:900px){.ct-page{padding-top:120px}.ct-page .ct-band{height:480px}.ct-page .ct-lead{font-size:16px}}
.ct-page{padding-top:64px;margin-top:88px;min-height:calc(100vh - 88px)}
.ct-page .ct-band{height:480px}
@media (max-width:900px){.ct-page{padding-top:44px;margin-top:72px}.ct-page .ct-band{height:420px}}

/* v87 logo GDPR Compliant horizontal */
.cloud-list .cloud-gdpr{width:auto;height:44px;max-width:100%}

/* v88 aclaración de moneda en los precios */
.vast{font-size:.45em;vertical-align:super;margin-left:2px;font-weight:600}
.vusd{margin-top:14px;font-size:13px;color:var(--muted)}
.cloud-list .cloud-eu{transform:scale(1.18);transform-origin:left center}

/* v89 caso de éxito (cs-*) */

/* v89 páginas de caso de éxito (cs-) */
.cs-tbc{background:#FFF1A8;color:inherit;padding:0 .2em;border-radius:3px;outline:1px dashed #C9A400}
.cs-hero{padding:150px 0 0;background:#fff}
.cs-crumb{font-size:14px;color:var(--muted);margin-bottom:28px}.cs-crumb a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.cs-hero h1{font-size:clamp(40px,5.6vw,80px);letter-spacing:-.03em;line-height:1.02;max-width:16ch;margin-top:14px}
.cs-lead{font-size:clamp(18px,1.6vw,21px);line-height:1.55;color:#33382F;max-width:60ch;margin-top:26px}
.cs-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line)}
.cs-facts div{padding:18px 20px 0 0}
.cs-facts dt{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.cs-facts dd{margin:6px 0 0;font-size:15px;line-height:1.45;font-weight:600}
.cs-visit{margin-top:26px}
.cs-hero-fig{margin:56px 0 0}.cs-hero-fig img{display:block;width:100%;height:auto;max-height:82vh;object-fit:cover}
.cs-sec{padding:104px 0;border-top:1px solid var(--line)}
.cs-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,2fr);gap:56px}
.cs-side h2,.cs-head h2{font-size:clamp(28px,3vw,42px);letter-spacing:-.02em;line-height:1.1;margin-top:10px}
.cs-num{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;color:var(--muted);letter-spacing:.08em}
.cs-body p{font-size:18px;line-height:1.65;color:#33382F;max-width:66ch}.cs-body p+p{margin-top:16px}
.cs-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;max-width:66ch}
.cs-list li{position:relative;padding-left:26px;font-size:17px;line-height:1.6;color:#33382F}
.cs-list li::before{content:"";position:absolute;left:0;top:.62em;width:10px;height:2px;background:var(--ink)}
.cs-list b{color:var(--ink)}
.cs-question{margin-top:36px;padding:28px 30px;background:#0B0C0B;color:#fff;border-radius:12px;max-width:66ch}
.cs-question span{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--green);font-weight:700}
.cs-question p{color:#fff;font-size:clamp(20px,2vw,26px);line-height:1.35;letter-spacing:-.01em;margin-top:10px}
.cs-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}
.cs-cards div{border:1px solid var(--line);border-radius:12px;padding:24px}
.cs-cards h3{font-size:18px;letter-spacing:-.01em;line-height:1.25}.cs-cards p{font-size:15px;margin-top:10px;line-height:1.6}
.cs-head{max-width:760px;margin-bottom:48px}.cs-head p{margin-top:12px;color:var(--muted);font-size:17px}
.cs-compare{position:relative;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(11,12,11,.1),0 40px 80px -40px rgba(11,12,11,.4);aspect-ratio:1440/716;background:#111}
.cs-compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.cs-compare-before{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--x,50%)) 0 0)}
.cs-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cs-handle{position:absolute;top:0;bottom:0;left:var(--x,50%);width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}
.cs-handle::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.cs-range:focus-visible~.cs-handle::after{outline:3px solid var(--green);outline-offset:2px}
.cs-tag{position:absolute;top:16px;padding:6px 10px;border-radius:4px;background:rgba(11,12,11,.75);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;pointer-events:none}
.cs-tag-b{left:16px}.cs-tag-a{right:16px}
.cs-feat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:64px;align-items:center;padding:48px 0;border-top:1px solid var(--line)}
.cs-feat:first-of-type{border-top:0}
.cs-feat-rev .cs-feat-tx{order:2}
.cs-feat h3{font-size:clamp(24px,2.4vw,32px);letter-spacing:-.02em;line-height:1.15}
.cs-feat p{font-size:17px;line-height:1.65;color:#33382F;margin-top:14px}
.cs-feat figure{margin:0}.cs-feat figure img{display:block;width:100%;height:auto;border-radius:10px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 30px 60px -36px rgba(11,12,11,.45)}
.cs-stack{position:relative;padding-bottom:12%}
.cs-stack .cs-stack-2{position:absolute;right:-4%;bottom:0;width:72%!important}
.cs-ticker{background:#0B0C0B;border-radius:10px;padding:26px;overflow:hidden}
.cs-ticker div{display:flex;gap:28px;white-space:nowrap;color:#fff;font-weight:700;font-size:15px;animation:csTk 22s linear infinite}
.cs-ticker span::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:10px;vertical-align:middle}
.cs-ticker p{color:rgba(255,255,255,.55)!important;font-size:12px!important;margin-top:18px!important}
@keyframes csTk{from{transform:translateX(0)}to{transform:translateX(-40%)}}
.cs-grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:40px}
.cs-grid4 div{background:#F7F8F6;border-radius:12px;padding:26px}
.cs-grid4 h3{font-size:18px}.cs-grid4 p{font-size:15px;line-height:1.6;color:#33382F;margin-top:10px}
.cs-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--ink)}
.cs-stats div{padding:26px 24px 0 0}
.cs-stats b{display:block;font-size:clamp(44px,5vw,72px);letter-spacing:-.03em;line-height:1}
.cs-stats span{display:block;margin-top:10px;font-size:15px;line-height:1.5;color:var(--muted);max-width:24ch}
.cs-note{margin-top:40px;font-size:16px;line-height:1.6;color:var(--muted);max-width:70ch}
.cs-quote{background:#F4F5F3}
.cs-testimonial{margin:0 auto;max-width:900px;text-align:center}
.cs-testimonial blockquote{font-size:clamp(24px,2.8vw,36px);line-height:1.3;letter-spacing:-.02em}
.cs-testimonial figcaption{display:inline-flex;align-items:center;gap:16px;margin-top:28px;text-align:left}
.cs-testimonial figcaption img{height:34px;width:auto}
.cs-testimonial figcaption span{display:flex;flex-direction:column;font-size:15px;color:var(--muted)}.cs-testimonial b{color:var(--ink)}
.cs-learn-list{margin:0;padding:0;list-style:none;counter-reset:l;display:grid;gap:22px;max-width:66ch}
.cs-learn-list li{counter-increment:l;position:relative;padding-left:48px;font-size:17px;line-height:1.6;color:#33382F}
.cs-learn-list li::before{content:counter(l,decimal-leading-zero);position:absolute;left:0;top:0;font-family:"JetBrains Mono",ui-monospace,monospace;font-size:14px;color:var(--muted)}
.cs-learn-list b{display:block;color:var(--ink);font-size:19px;margin-bottom:4px}
@media (max-width:1000px){
  .cs-hero{padding-top:120px}.cs-facts{grid-template-columns:1fr 1fr}
  .cs-grid,.cs-feat{grid-template-columns:1fr;gap:28px}.cs-feat-rev .cs-feat-tx{order:0}
  .cs-cards,.cs-grid4{grid-template-columns:1fr}.cs-stats{grid-template-columns:1fr 1fr;row-gap:28px}
  .cs-sec{padding:72px 0}
}
@media (prefers-reduced-motion:reduce){.cs-ticker div{animation:none}}
.cs-stats{grid-template-columns:repeat(3,1fr);row-gap:36px}
.cs-mobs{display:flex;gap:20px;justify-content:center;align-items:flex-start}
.cs-feat .cs-mobs img{width:min(260px,44%);height:auto;border-radius:22px;border:6px solid #111;box-shadow:0 18px 40px rgba(0,0,0,.14)}
.cs-feat .cs-mobs img+img{margin-top:48px}
@media (max-width:900px){.cs-stats{grid-template-columns:1fr 1fr}.cs-feat .cs-mobs img+img{margin-top:28px}}
.cs-tag{top:auto;bottom:16px}
/* v90 caso: video, pregunta, seguridad, emails, testimonios */
.cs-hero-fig video{display:block;width:100%;height:auto;max-height:86vh;object-fit:cover;background:#e9e6df}
.cs-q{position:relative;overflow:hidden;color:#fff;padding:120px 0 112px;background:radial-gradient(60% 90% at 0% 0%,rgba(0,224,0,.26) 0,rgba(0,224,0,0) 60%),radial-gradient(50% 80% at 100% 100%,rgba(0,224,0,.10) 0,rgba(0,224,0,0) 60%),linear-gradient(100deg,#0B1A0E 0%,#050605 60%)}
.cs-q-k{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#00E000;margin:0}
.cs-q-k::before{content:"";display:inline-block;width:28px;height:1px;background:#00E000;vertical-align:middle;margin-right:12px}
.cs-q-t{color:#fff;font-size:clamp(34px,4.6vw,66px);line-height:1.06;letter-spacing:-.03em;max-width:20ch;margin:22px 0 0;font-weight:700}
.cs-q-t em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em;color:#CFF7CF}
.cs-q-poles{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:stretch;margin-top:64px;max-width:1040px}
.cs-q-poles>div:not(.cs-q-vs){padding:28px 28px 30px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.03)}
.cs-q-n{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12px;color:rgba(255,255,255,.5)}
.cs-q-poles h3{color:#fff;font-size:22px;margin:10px 0 8px;letter-spacing:-.01em}
.cs-q-poles p{color:rgba(255,255,255,.72);font-size:15.5px;line-height:1.55;margin:0}
.cs-q-vs{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-width:120px}
.cs-q-vs i{flex:1;width:1px;background:linear-gradient(#0000,rgba(0,224,0,.7),#0000)}
.cs-q-vs b{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:20px;color:#CFF7CF;white-space:nowrap}
.cs-ba-vid{position:relative;margin:0;border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 40px 80px -40px rgba(11,12,11,.5);background:#1f1f1f}
.cs-ba-vid video{display:block;width:100%;height:auto}
.cs-ba-vid .cs-tag{transition:opacity .25s}
.cs-checks{list-style:none;padding:0;margin:18px 0 0}
.cs-checks li{position:relative;padding:12px 0 12px 30px;border-top:1px solid var(--line);font-size:15.5px;line-height:1.55}
.cs-checks li::before{content:"";position:absolute;left:2px;top:17px;width:14px;height:8px;border-left:2px solid #00B800;border-bottom:2px solid #00B800;transform:rotate(-45deg)}
.cs-feat figure.cs-sec-card{background:#0B0C0B;color:#fff;border-radius:14px;padding:30px}
.cs-cf{display:flex;gap:16px;align-items:center;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.12)}
.cs-cf b{display:block;font-size:18px}.cs-cf span{display:block;font-size:13.5px;color:rgba(255,255,255,.6);margin-top:2px}
.cs-sec-card ul{list-style:none;padding:0;margin:8px 0 0}
.cs-sec-card li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px}
.cs-sec-card li:last-child{border-bottom:0}
.cs-sec-card li span{font-weight:600}.cs-sec-card li i{font-style:normal;color:rgba(255,255,255,.55);text-align:right;font-size:13.5px}
.cs-sec-card li span::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#00E000;margin-right:10px;vertical-align:middle}
.cs-feat figure.cs-mails{position:relative;padding:0 0 18% 0}
.cs-feat figure.cs-mails img{border-radius:12px}
.cs-feat figure.cs-mails .cs-mail-1{width:62%}
.cs-feat figure.cs-mails .cs-mail-2{position:absolute;right:0;bottom:24px;width:66%}
.cs-mails figcaption{position:absolute;left:0;bottom:0;font-size:12.5px;color:var(--muted)}
.cs-grid2{grid-template-columns:repeat(2,1fr)}
.cs-quotes{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cs-quotes .cs-testimonial{margin:0;padding:36px;border-radius:16px;background:#fff;border:1px solid var(--line);text-align:left;display:flex;flex-direction:column}
.cs-quotes .cs-testimonial-us{background:#0B0C0B;color:#fff;border-color:#0B0C0B}
.cs-q-who{font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:0 0 18px}
.cs-testimonial-us .cs-q-who{color:#00E000}
.cs-quotes blockquote{margin:0 0 28px;font-size:clamp(19px,1.7vw,23px);line-height:1.45;letter-spacing:-.01em;flex:1}
.cs-testimonial-us blockquote{color:#fff}
.cs-quotes figcaption{display:flex;gap:14px;align-items:center;justify-content:flex-start}
.cs-quotes figcaption span{display:flex;flex-direction:column;font-size:14px;text-align:left}
.cs-testimonial-us figcaption span{color:rgba(255,255,255,.65)}.cs-testimonial-us figcaption b{color:#fff}
.cs-avatar{width:44px;height:44px;border-radius:50%;object-fit:cover}
@media (max-width:900px){
  .cs-q{padding:84px 0 80px}.cs-q-poles{grid-template-columns:1fr;gap:14px;margin-top:40px}
  .cs-q-vs{flex-direction:row;min-width:0}.cs-q-vs i{height:1px;width:auto;background:linear-gradient(90deg,#0000,rgba(0,224,0,.7),#0000)}
  .cs-grid2,.cs-quotes{grid-template-columns:1fr}.cs-quotes .cs-testimonial{padding:26px}
  .cs-sec-card li{flex-direction:column;gap:2px}.cs-sec-card li i{text-align:left;padding-left:17px}
}

.cs-feat figure.cs-lh{background:#0B0C0B;border-radius:14px;padding:34px 30px 30px}
.cs-lh-g{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:26px}
.cs-lh-g div{position:relative;text-align:center}
.cs-lh-g svg{width:100%;max-width:104px;display:block;margin:0 auto;transform:rotate(-90deg)}
.cs-lh-g circle{fill:rgba(12,206,107,.10);stroke:rgba(12,206,107,.18);stroke-width:8}
.cs-lh-g circle.on{fill:none;stroke:#0CCE6B;stroke-dasharray:327;stroke-dashoffset:327;stroke-linecap:round;animation:csLh 1.4s .2s cubic-bezier(.2,.7,.2,1) forwards}
.cs-lh-g b{position:absolute;left:0;right:0;top:0;height:0;padding-top:calc(min(100%,104px)/2 - 14px);font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace;font-size:24px;color:#0CCE6B}
.cs-lh-g span{display:block;margin-top:10px;color:rgba(255,255,255,.75);font-size:13px;line-height:1.3}
.cs-feat figure.cs-lh img{opacity:.9}
@keyframes csLh{to{stroke-dashoffset:0}}
@media (prefers-reduced-motion:reduce){.cs-lh-g circle.on{animation:none;stroke-dashoffset:0}}

.cs-lh-g{grid-template-columns:repeat(4,minmax(0,1fr))}
.cs-lh-g .r{position:relative;display:block;width:100%;max-width:104px;margin:0 auto;font-style:normal}
.cs-lh-g .r svg{max-width:none}
.cs-lh-g .r b{top:50%;height:auto;padding:0;transform:translateY(-50%);font-size:clamp(15px,2.2vw,24px)}
@media (max-width:600px){.cs-feat figure.cs-lh{padding:24px 16px 18px}.cs-lh-g{gap:8px}.cs-lh-g span{font-size:11px}}
/* v91 caso: hero con pared de pantallas, pregunta, seguridad, velocidad, testimonios */
.cs-hero-top{position:relative}
.cs-hero-in{position:relative;z-index:1}
.cs-hero-in .cs-lead,.cs-hero-in h1{max-width:min(16ch,52%)}
.cs-hero-in .cs-lead{max-width:min(54ch,48%)}
.cs-wall{position:absolute;top:-40px;bottom:-30px;right:0;width:50%;overflow:hidden;pointer-events:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 100%),linear-gradient(180deg,transparent 0,#000 14%,#000 80%,transparent 100%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0,#000 22%),linear-gradient(180deg,transparent 0,#000 14%,#000 80%,transparent 100%);mask-composite:intersect}
.cs-wall .pg-wall{position:absolute;top:-30%;bottom:-30%;left:6%;right:-28%;display:flex;gap:20px;transform:rotate(-12deg);transform-origin:50% 50%}
.cs-wall .pg-col{flex:0 0 32%}
.cs-wall .pg-track{gap:20px}
.cs-wall .pg-track img{border-radius:8px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 18px 36px -18px rgba(11,12,11,.35)}
.cs-facts{position:relative;z-index:1;background:#fff}
.cs-hero-fig img{display:block;width:100%;height:auto;max-height:none}
.cs-q{padding:110px 0}
.cs-q .cs-q-t{max-width:24ch;margin:0;font-size:clamp(30px,4.2vw,60px)}
.cs-solo{padding:56px 0 48px;border-top:1px solid var(--line);max-width:760px}
.cs-solo h3{font-size:clamp(22px,2vw,28px);letter-spacing:-.01em;margin:0 0 14px}
.cs-solo p{font-size:16.5px;line-height:1.65;margin:0}
.cs-logos{display:flex;align-items:center;gap:40px;margin-top:28px;padding-top:24px;border-top:1px solid var(--line);flex-wrap:wrap}
.cs-logo-cf{display:inline-flex;align-items:center;gap:8px}.cs-logo-cf b{font-size:21px;letter-spacing:-.01em;color:#404041}
.cs-logos img{height:22px;width:auto}
.cs-speed{display:inline-flex;align-items:center;gap:8px;padding:6px 12px 6px 8px;border-radius:999px;background:#E6F7E6;color:#007A2F;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
.cs-lh-h{display:flex;align-items:center;gap:10px;color:#fff;font-weight:700;font-size:16px;margin:0 0 24px}
.cs-lh-h span{margin-left:auto;font-weight:400;font-size:13px;color:rgba(255,255,255,.5);font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.cs-quote{background:#F5F4F0}
.cs-quotes{display:grid;grid-template-columns:repeat(12,1fr);row-gap:56px}
.cs-qt{margin:0;position:relative}
.cs-qt-client{grid-column:1/9}
.cs-qt-us{grid-column:5/13}
.cs-qt::before{content:"“";position:absolute;left:-6px;top:-62px;font-family:'Instrument Serif',Georgia,serif;font-size:150px;line-height:1;color:#00C000;opacity:.9}
.cs-qt blockquote{margin:0;padding-top:30px;font-size:clamp(22px,2.3vw,32px);line-height:1.32;letter-spacing:-.015em;font-weight:500;color:var(--ink)}
.cs-qt-us blockquote{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(26px,2.7vw,38px);line-height:1.25;letter-spacing:-.005em}
.cs-qt figcaption{display:flex;align-items:center;gap:14px;margin-top:24px}
.cs-qt figcaption span{display:flex;flex-direction:column;font-size:14.5px;color:var(--muted)}
.cs-qt figcaption b{color:var(--ink)}
.cs-qt-us figcaption{justify-content:flex-start}
.cs-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}
@media (max-width:900px){
  .cs-hero-in h1,.cs-hero-in .cs-lead{max-width:none}
  .cs-wall{display:none}
  .cs-q{padding:76px 0}
  .cs-qt-client,.cs-qt-us{grid-column:1/-1}
  .cs-qt-us{padding-left:8%}
  .cs-logos{gap:28px}
}
.cs-wall{bottom:150px}.cs-lh-h svg path{fill:#F44B21}
.cs-q .cs-q-t{max-width:32ch}
.cs-sub{font-size:clamp(19px,1.6vw,22px);letter-spacing:-.01em;margin:40px 0 12px}

/* 08/11/2026: aclaración de moneda dentro del ticket, debajo de la hora de trabajo */
.vticket .vusd{margin:10px 0 0;font-size:12.5px;line-height:1.4;color:rgba(11,13,11,.62)}

/* 08/11/2026: caso Rodos Backpackers, lista del stack */
.cs-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0;padding:0}
.cs-chips li{padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:14px;font-weight:600;letter-spacing:-.005em}
.cs-solo p+p{margin-top:14px}
.cs-stack .cs-stack-sm{width:46%!important;right:-2%}
.cs-stack .cs-stack-menu{width:28%!important;right:2%;bottom:-4%;border-radius:12px}
/* 08/11/2026: bandera del país del cliente en los casos */
.cs-flag{display:inline-block;width:21px;height:14px;vertical-align:-2px;margin-right:8px;border-radius:2px;box-shadow:0 0 0 1px rgba(11,12,11,.14)}
/* 08/11/2026: logos de tecnologías en los casos */
.cs-techlogos{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:28px 0 0;padding:0}
.cs-techlogos li{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:600;letter-spacing:-.01em}
.cs-techlogos svg{flex:none}
@media (max-width:640px){.cs-techlogos{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* 08/11/2026: video con capa y botón de reproducir (solo con JS; sin JS quedan los controles nativos) */
.cs-play .cs-play-btn{display:none}
.cs-play.is-ready .cs-play-btn{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;width:100%;border:0;padding:0;cursor:pointer;background:linear-gradient(180deg,rgba(11,12,11,.15),rgba(11,12,11,.55));color:#fff;font:inherit;transition:background .25s}
.cs-play.is-ready .cs-play-btn:hover{background:linear-gradient(180deg,rgba(11,12,11,.25),rgba(11,12,11,.65))}
.cs-play-ico{display:flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:#00E000;color:#0B0C0B;box-shadow:0 0 0 10px rgba(0,224,0,.22),0 20px 40px rgba(0,0,0,.35);transition:transform .25s}
.cs-play-ico svg{margin-left:4px}
.cs-play-btn:hover .cs-play-ico{transform:scale(1.07)}
.cs-play-btn:focus-visible{outline:3px solid #00E000;outline-offset:-3px}
.cs-play-tx{font-size:17px;font-weight:600;letter-spacing:-.01em;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.cs-play-tx small{font-size:14px;font-weight:500;opacity:.8;margin-left:6px}
.cs-play.is-playing .cs-play-btn{display:none}
@media (max-width:640px){.cs-play-ico{width:64px;height:64px}.cs-play-ico svg{width:24px;height:24px}}
@media (prefers-reduced-motion:reduce){.cs-play-ico,.cs-play.is-ready .cs-play-btn{transition:none}}
/* 08/11/2026: logos de tecnologías apilados en círculos (reemplaza la grilla .cs-techlogos) */
.cs-techstack{display:flex;align-items:center;flex-wrap:wrap;gap:14px 20px;margin:28px 0 0}
.cs-techstack ul{list-style:none;display:flex;margin:0;padding:0 0 0 12px}
.cs-techstack li{position:relative;display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin-left:-12px;border-radius:50%;background:#fff;border:3px solid #fff;box-shadow:0 0 0 1px var(--line),0 6px 14px rgba(11,12,11,.08)}
.cs-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:640px){.cs-techstack li{width:46px;height:46px;margin-left:-10px}.cs-techstack li svg{width:22px;height:22px}}
/* 08/11/2026: imagen a todo el ancho en la sección 04 de un caso (TMC Agro) */
.cs-ba-img{margin:0}
.cs-ba-img img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 40px 80px -40px rgba(11,12,11,.5)}
/* 08/11/2026: los casos muestran tres datos en el hero (cliente, rubro, qué hicimos) */
@media (min-width:901px){.cs-facts{grid-template-columns:1fr 1fr 2fr}}
@media (max-width:900px){.cs-facts div:last-child{grid-column:1/-1}}
/* 08/11/2026: emails de un caso en tres columnas (TMC Agro) */
.cs-mailrow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin:4px 0 56px}
.cs-mailrow img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 30px 60px -36px rgba(11,12,11,.45)}
.cs-mails-tx{border-bottom:0;padding-bottom:28px}
.cs-illus{font-size:13.5px!important;color:var(--muted);margin-top:14px!important}
@media (max-width:900px){.cs-mailrow{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto}}
/* 08/11/2026: el nombre de Joaquín en los testimonios lleva a su sección */
.cs-qt figcaption a.cs-author{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.cs-qt figcaption a.cs-author:hover{color:#0A7A2A}
/* 08/11/2026: logos de IA apilados arriba del título de la sección IA de la home */
.cs-techstack.ai-stack{margin:0}
.ai-grid .ai-head{grid-column:1/-1;grid-row:1}
/* 08/11/2026: caso Lujo Gourmet, video vertical y lista de fechas */
.cs-ba-vid.cs-vid-v{max-width:360px;width:100%;margin-inline:auto}
.cs-lujo-ev{margin:0 0 72px}
.cs-dates{align-self:center}
.cs-dates .cs-checks{margin:0;font-size:17px}
.cs-lujo-pay{margin:0;display:flex;justify-content:center}.cs-lujo-pay img{width:min(460px,100%);height:auto;border-radius:12px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 30px 60px -30px rgba(11,12,11,.45)}
.cs-lujo-photos{display:grid;grid-template-columns:3fr 5fr;gap:20px;margin:0 0 56px;align-items:start}
.cs-lujo-photos figure,.cs-lujo-stories figure{margin:0}
.cs-lujo-photos img,.cs-lujo-stories img,.cs-lujo-flyer img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 0 0 1px rgba(11,12,11,.08),0 30px 60px -30px rgba(11,12,11,.4)}
.cs-lujo-photos figcaption,.cs-lujo-stories figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--muted,#5f605b)}
.cs-lujo-flyer{margin:0}
.cs-lujo-stories{display:grid;grid-template-columns:repeat(2,minmax(0,340px));justify-content:center;gap:32px;margin:8px 0 24px;align-items:start}
@media (max-width:640px){.cs-lujo-photos{grid-template-columns:1fr}.cs-lujo-stories{gap:14px}}
.cs-cobrand{display:flex;align-items:center;gap:18px;margin:0 0 20px}.cs-cobrand img{height:56px;width:auto;display:block}.cs-cobrand span{font-size:20px;color:var(--muted,#8a8b85);font-weight:300}
/* 08/11/2026: archivo de casos (es/casos/) */
.ca-eyebrow{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}
.ca .cs-hero{padding-bottom:40px}
.ca-facts{grid-template-columns:auto 1fr!important;max-width:min(560px,48%)}
.ca-list{padding-top:56px}
.ca-intro{font-size:clamp(26px,3vw,40px);letter-spacing:-.02em;line-height:1.1;margin:0 0 24px}
.ca-filters{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 40px;padding:0}
.ca-filters button{font:inherit;font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer}
.ca-filters button:hover{border-color:var(--ink)}
.ca-filters button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}
.ca-filters button:focus-visible{outline:3px solid #00E000;outline-offset:2px}
.ca-grid{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:56px 40px;margin:0;padding:0}
.ca-card[hidden]{display:none}
.ca-card a{display:block;color:inherit;text-decoration:none}
.ca-fig{margin:0;border-radius:14px;overflow:hidden;background:#f2f2ef;box-shadow:0 0 0 1px rgba(11,12,11,.06)}
.ca-fig img{display:block;width:100%;height:auto;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ca-card a:hover .ca-fig img{transform:scale(1.03)}
.ca-tx{padding:22px 4px 0}
.ca-client{display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font-size:14px;margin:0 0 10px;color:var(--muted)}
.ca-client .cs-flag{margin-right:0}
.ca-client b{color:var(--ink);font-weight:700}
.ca-client span::before{content:"·";margin-right:10px}
.ca-tx h2{font-size:clamp(22px,2.1vw,28px);line-height:1.15;letter-spacing:-.02em;margin:0 0 10px}
.ca-did{font-size:15px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.ca-go{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;border-bottom:2px solid #00E000;padding-bottom:2px}
.ca-go svg{transition:transform .25s}
.ca-card a:hover .ca-go svg{transform:translateX(4px)}
.ca-card a:focus-visible{outline:3px solid #00E000;outline-offset:6px;border-radius:14px}
.ca-empty{margin-top:24px;color:var(--muted)}
@media (max-width:900px){.ca-grid{grid-template-columns:1fr;gap:44px}.ca-facts{max-width:none}}
@media (prefers-reduced-motion:reduce){.ca-fig img,.ca-go svg{transition:none}}
/* 08/11/2026: sección de 2 proyectos en home y servicios */
.ca-tx h3{font-size:clamp(22px,2.1vw,28px);line-height:1.15;letter-spacing:-.02em;margin:0 0 10px}
.ca-sec .ca-grid{margin-top:8px}
.ca-all{display:inline-flex;margin-top:48px}
/* 08/11/2026: blog (archivo, categorías y artículo) */
.bl{--bl-ink:var(--ink,#0B0C0B);--bl-mut:var(--muted,#606660);--bl-line:var(--line,#E7E9E7);--bl-acc:#00E000;--bl-soft:#F4F5F2}
.bl-ahead{padding-top:clamp(40px,6vw,88px);padding-bottom:clamp(28px,3vw,44px)}
.bl-ahead-g{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(24px,5vw,96px);align-items:end}
.bl-eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-mut);margin:0 0 16px}
.bl-eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--bl-acc);box-shadow:0 0 0 4px rgba(0,224,0,.18)}
.bl-ahead h1{font-size:clamp(40px,5.4vw,80px);line-height:1.02;letter-spacing:-.035em;margin:0;max-width:14ch}
.bl-lead{font-size:clamp(16px,1.25vw,19px);line-height:1.6;color:var(--bl-mut);margin:0 0 24px;max-width:46ch}
.bl-search{position:relative;display:flex;align-items:center;max-width:460px}
.bl-search svg{position:absolute;left:18px;color:var(--bl-mut);pointer-events:none}
.bl-search input{width:100%;font:inherit;font-size:16px;padding:15px 18px 15px 50px;border:1px solid var(--bl-line);border-radius:999px;background:#fff;color:var(--bl-ink);transition:border-color .2s,box-shadow .2s}
.bl-search input:focus{outline:none;border-color:var(--bl-ink);box-shadow:0 0 0 4px rgba(0,224,0,.18)}
.bl-list{padding-bottom:clamp(56px,7vw,110px)}
.bl-feat{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(24px,3.5vw,56px);align-items:center;color:inherit;text-decoration:none;padding:clamp(14px,1.4vw,22px);border-radius:24px;background:var(--bl-soft);margin-bottom:clamp(40px,4vw,64px)}
.bl-feat figure{margin:0;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:#e9eae6}
.bl-feat figure img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.bl-feat:hover figure img{transform:scale(1.03)}
.bl-feat-tx{padding:clamp(4px,1vw,16px) clamp(4px,1.5vw,24px) clamp(8px,1vw,16px) 0}
.bl-feat h2{font-size:clamp(28px,2.9vw,46px);line-height:1.06;letter-spacing:-.03em;margin:14px 0 14px}
.bl-feat p{font-size:16.5px;line-height:1.6;color:var(--bl-mut);margin:0 0 22px}
.bl-feat .bl-go{margin-top:24px}
.bl-new{font-size:13px;font-weight:600;color:var(--bl-mut);margin-left:10px}
.bl-pill{display:inline-flex;align-items:center;font-size:12.5px;font-weight:700;letter-spacing:.01em;padding:6px 12px;border-radius:999px;background:#fff;border:1px solid var(--bl-line);color:var(--bl-ink)}
.bl-chips{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px}
.bl-chip{font-size:14px;font-weight:600;padding:9px 16px;border-radius:999px;border:1px solid var(--bl-line);background:#fff;color:var(--bl-ink);text-decoration:none;transition:border-color .2s}
.bl-chip:hover{border-color:var(--bl-ink)}
.bl-chip[aria-current="page"]{background:var(--bl-ink);border-color:var(--bl-ink);color:#fff}
.bl-chip:focus-visible,.bl-card a:focus-visible,.bl-feat:focus-visible,.bl-sh:focus-visible{outline:3px solid var(--bl-acc);outline-offset:3px}
.bl-searching .bl-feat,.bl-searching .bl-chips{display:none}
.bl-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(36px,3.4vw,56px) clamp(20px,2.4vw,40px);margin:0;padding:0}
.bl-card[hidden]{display:none!important}
.bl-card a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none;border-radius:16px}
.bl-card-fig{margin:0 0 18px;border-radius:16px;overflow:hidden;aspect-ratio:16/10;background:#eef0ec;box-shadow:0 0 0 1px rgba(11,12,11,.05)}
.bl-card-fig img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.bl-card a:hover .bl-card-fig img{transform:scale(1.04)}
.bl-card .bl-pill{align-self:flex-start}
.bl-card h3{font-size:clamp(21px,1.75vw,26px);line-height:1.14;letter-spacing:-.02em;margin:14px 0 10px}
.bl-card p{font-size:15px;line-height:1.6;color:var(--bl-mut);margin:0 0 18px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bl-card .bl-by{margin-top:auto}
.bl-by{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--bl-mut)}
.bl-av{width:40px;height:40px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px #fff,0 0 0 3px var(--bl-line)}
.bl-by-tx{display:flex;flex-direction:column;line-height:1.35}
.bl-by-tx b{color:var(--bl-ink);font-weight:700;font-size:13.5px}
.bl-empty{margin:28px 0 0;color:var(--bl-mut)}
.bl-go{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:15px;color:var(--bl-ink);text-decoration:none;border-bottom:2px solid var(--bl-acc);padding-bottom:2px}
.bl-go svg{transition:transform .25s}
a:hover>.bl-go svg,a.bl-go:hover svg,a:hover .bl-go svg{transform:translateX(4px)}
/* CTA */
.bl-ctas{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:clamp(64px,8vw,120px)}
.bl-cta{border-radius:24px;padding:clamp(28px,3.4vw,56px);display:flex;flex-direction:column;align-items:flex-start;min-height:300px}
.bl-cta h2{font-size:clamp(28px,2.8vw,44px);line-height:1.06;letter-spacing:-.03em;margin:0 0 14px}
.bl-cta p{font-size:16px;line-height:1.6;margin:0 0 28px;max-width:40ch}
.bl-cta .btn,.bl-btn-l{margin-top:auto}
.bl-cta-l{background:var(--bl-soft)}
.bl-cta-l p{color:var(--bl-mut)}
.bl-cta-d{background:#0B0C0B;color:#fff;position:relative;overflow:hidden}
.bl-cta-d::after{content:"";position:absolute;right:-120px;bottom:-160px;width:420px;height:420px;border-radius:50%;background:radial-gradient(circle,rgba(0,224,0,.38),rgba(0,224,0,0) 65%);pointer-events:none}
.bl-cta-d p{color:rgba(255,255,255,.72)}
.bl-btn-l{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:#0B0C0B;background:#fff;border-radius:999px;padding:14px 22px;text-decoration:none;position:relative;z-index:1}
.bl-btn-l:hover svg{transform:translateX(4px)}.bl-btn-l svg{transition:transform .25s}
/* artículo */
.bl-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:200;pointer-events:none}
.bl-progress span{display:block;height:100%;background:var(--bl-acc,#00E000);transform:scaleX(0);transform-origin:0 50%}
.bl-shead{padding-top:clamp(40px,6vw,88px);text-align:center;display:flex;flex-direction:column;align-items:center}
.bl-shead .cs-crumb{margin-bottom:22px}
.bl-shead h1{font-size:clamp(38px,5vw,74px);line-height:1.03;letter-spacing:-.035em;margin:0 0 22px;max-width:18ch}
.bl-dek{font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--bl-mut);margin:0 0 32px;max-width:58ch}
.bl-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 36px;padding:18px 0;border-top:1px solid var(--bl-line);border-bottom:1px solid var(--bl-line);width:min(100%,760px)}
.bl-author{display:flex;align-items:center;gap:12px;text-align:left;color:inherit;text-decoration:none}
.bl-author b{display:block;font-size:14.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bl-line)}
.bl-author:hover b{text-decoration-color:var(--bl-ink)}
.bl-author span span{display:block;font-size:13px;color:var(--bl-mut)}
.bl-meta-i{display:flex;flex-direction:column;text-align:left;font-size:14.5px;font-weight:600}
.bl-meta-i>span{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-mut);margin-bottom:2px}
.bl-cover{margin:clamp(36px,4vw,56px) auto 0;max-width:1400px}
.bl-cover img{display:block;width:100%;height:auto;border-radius:24px;aspect-ratio:16/9;object-fit:cover;background:#eef0ec}
.bl-layout{display:grid;grid-template-columns:minmax(200px,260px) minmax(0,740px);justify-content:center;gap:clamp(32px,6vw,110px);padding-top:clamp(48px,5vw,80px);padding-bottom:clamp(56px,6vw,96px)}
.bl-aside{position:relative}
.bl-stick{position:sticky;top:110px}
.bl-toc p,.bl-share p{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-mut);margin:0 0 14px}
.bl-toc ol{list-style:none;margin:0;padding:0;border-left:1px solid var(--bl-line)}
.bl-toc a{display:block;padding:7px 0 7px 16px;margin-left:-1px;border-left:2px solid transparent;font-size:14px;line-height:1.4;color:var(--bl-mut);text-decoration:none;transition:color .2s,border-color .2s}
.bl-toc a:hover{color:var(--bl-ink)}
.bl-toc a.on{color:var(--bl-ink);font-weight:600;border-left-color:var(--bl-acc)}
.bl-aside .bl-share{margin-top:32px}
.bl-share>div{display:flex;flex-wrap:wrap;gap:8px}
.bl-sh{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:40px;height:40px;padding:0 11px;border-radius:999px;border:1px solid var(--bl-line);background:#fff;color:var(--bl-ink);font:inherit;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;transition:border-color .2s,background .2s}
.bl-sh:hover{border-color:var(--bl-ink)}
.bl-sh.ok{background:var(--bl-acc);border-color:var(--bl-acc)}
.bl-aside .bl-sh-tx{display:none}
.bl-body{font-size:clamp(17px,1.2vw,18.5px);line-height:1.75;color:#2a2c2a;min-width:0}
.bl-body>p,.bl-body>ul,.bl-body>ol{margin:0 0 1.15em}
.bl-body h2{font-size:clamp(26px,2.3vw,34px);line-height:1.15;letter-spacing:-.025em;color:var(--bl-ink);margin:2em 0 .6em;scroll-margin-top:110px}
.bl-body>h2:first-child{margin-top:0}
.bl-body b,.bl-body strong{color:var(--bl-ink)}
.bl-body ul{padding:0;list-style:none}
.bl-body ul li{position:relative;padding-left:28px;margin:0 0 .6em}
.bl-body ul li::before{content:"";position:absolute;left:4px;top:.72em;width:8px;height:8px;border-radius:2px;background:var(--bl-acc);transform:rotate(45deg)}
.bl-fig{margin:2.2em 0}
.bl-fig img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 0 0 1px rgba(11,12,11,.07),0 30px 60px -36px rgba(11,12,11,.35)}
.bl-fig figcaption{margin-top:12px;font-size:14px;line-height:1.5;color:var(--bl-mut);padding-left:14px;border-left:2px solid var(--bl-acc)}
.bl-fig-wide{margin-left:clamp(-120px,-8vw,0px);margin-right:clamp(-120px,-8vw,0px)}
.bl-fig-tall img{max-width:340px;margin:0 auto}
.bl-fig-tall figcaption{max-width:340px;margin-left:auto;margin-right:auto}
.bl-note{margin:2em 0;padding:24px 26px 24px 28px;border-radius:16px;background:var(--bl-soft);border-left:4px solid var(--bl-acc);font-size:16.5px;line-height:1.65}
.bl-note b{display:block;margin-bottom:6px;font-size:17px}
.bl-cases{display:grid;grid-template-columns:1fr;gap:16px;margin:2.4em 0}
.bl-cases .bl-case{margin:0}
.bl-case{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:24px;align-items:center;margin:2.4em 0;padding:14px;border-radius:20px;border:1px solid var(--bl-line);background:#fff;color:inherit;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.bl-case:hover{border-color:var(--bl-ink);box-shadow:0 24px 48px -32px rgba(11,12,11,.4)}
.bl-case-img{display:block;border-radius:12px;overflow:hidden;aspect-ratio:16/10;background:#eef0ec}
.bl-case-img img{width:100%;height:100%;object-fit:cover;display:block}
.bl-case-tx{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding-right:8px}
.bl-case-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bl-mut)}
.bl-case-c{display:flex;align-items:center;font-size:14px;font-weight:700;color:var(--bl-ink)}
.bl-case-t{font-size:20px;line-height:1.2;letter-spacing:-.02em;font-weight:700;color:var(--bl-ink);margin-bottom:8px}
.bl-case-t em{font-family:var(--font-accent,'Instrument Serif',Georgia,serif);font-style:italic;font-weight:400;font-size:1.06em}
.bl-end{margin-top:3em;padding-top:2em;border-top:1px solid var(--bl-line);display:flex;flex-direction:column;gap:24px}
.bl-authorbox{display:flex;gap:18px;align-items:center;padding:22px;border-radius:18px;background:var(--bl-soft);color:inherit;text-decoration:none}
.bl-authorbox img{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:none}
.bl-authorbox>span{display:flex;flex-direction:column;gap:3px;font-size:15px;line-height:1.5}
.bl-authorbox b{font-size:17px}
.bl-authorbox span span:last-child{color:var(--bl-mut)}
.bl-end .bl-share{display:none}
.bl-related{border-top:1px solid var(--bl-line);padding-top:clamp(48px,5vw,80px);padding-bottom:clamp(56px,6vw,96px)}
.bl-related-h{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:36px;flex-wrap:wrap}
.bl-related-h h2{font-size:clamp(32px,3.4vw,52px);letter-spacing:-.03em;line-height:1.05;margin:0}
@media (max-width:1100px){.bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bl-fig-wide{margin-left:0;margin-right:0}}
@media (max-width:900px){
  .bl-ahead-g,.bl-feat{grid-template-columns:1fr}.bl-ahead h1{max-width:none}
  .bl-feat-tx{padding:4px 6px 10px}
  .bl-layout{grid-template-columns:1fr;gap:0}
  .bl-aside{display:none}
  .bl-end .bl-share{display:block}
  .bl-ctas{grid-template-columns:1fr}
  .bl-case{grid-template-columns:1fr}
  .bl-meta{justify-content:flex-start;gap:14px 28px}
  .bl-shead{text-align:left;align-items:flex-start}
}
@media (max-width:640px){.bl-grid{grid-template-columns:1fr}.bl-cover img{border-radius:16px;aspect-ratio:4/3}.bl-cta{min-height:0}}
@media (prefers-reduced-motion:reduce){.bl-card-fig img,.bl-feat figure img,.bl-go svg,.bl-btn-l svg{transition:none}}
/* 08/11/2026 (2): blog más editorial, menos decorado */
.bl-note{background:none;border:0;border-radius:0;border-top:1px solid var(--bl-ink);border-bottom:1px solid var(--bl-line);padding:20px 0 22px;margin:2.2em 0;font-size:17px;line-height:1.7}
.bl-note b{display:inline;margin:0 .3em 0 0;font-size:inherit}
.bl-body ul li{padding-left:22px}
.bl-body ul li::before{left:2px;top:.78em;width:6px;height:6px;border-radius:50%;background:var(--bl-ink);transform:none}
.bl-fig-wide{margin-left:0;margin-right:0}
.bl-fig img{border-radius:10px;box-shadow:0 0 0 1px rgba(11,12,11,.08)}
.bl-fig figcaption{border:0;padding-left:0;font-size:13.5px}
.bl-layout{grid-template-columns:minmax(180px,230px) minmax(0,720px);gap:clamp(40px,7vw,120px)}
.bl-toc ol{border-left:0;counter-reset:none}
.bl-toc a{display:grid;grid-template-columns:28px 1fr;padding:8px 0;margin-left:0;border-left:0;border-top:1px solid var(--bl-line);font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.bl-toc li:last-child a{border-bottom:1px solid var(--bl-line)}
.bl-toc a span{font-variant-numeric:tabular-nums;color:var(--bl-mut);font-size:12.5px;padding-top:1px}
.bl-toc a.on{border-left:0;font-weight:600;color:var(--bl-ink)}
.bl-toc a.on span{color:var(--bl-ink)}
.bl-share>div{gap:6px}
.bl-sh{height:36px;min-width:36px;border-radius:8px}
.bl-authorbox{background:none;border-radius:0;padding:0;gap:14px}
.bl-authorbox img{width:48px;height:48px}
.bl-authorbox>span{gap:1px;font-size:14px}
.bl-authorbox b{font-size:15.5px}
.bl-end{gap:20px}
.bl-case{border-radius:12px;padding:12px;box-shadow:none}
.bl-case:hover{box-shadow:none}
.bl-case-img{border-radius:8px}
/* 08/11/2026 (3): botones y cajas del blog con las mismas esquinas que el resto del sitio */
.bl-btn-l{border-radius:6px;padding:16px 30px;transition:transform .2s}
.bl-btn-l:hover{transform:translateY(-1px)}
.bl-cta,.bl-feat{border-radius:12px}
.bl-feat figure,.bl-card-fig,.bl-cover img{border-radius:8px}
.bl-chip,.bl-pill,.bl-search input,.bl-sh{border-radius:6px}
/* 08/11/2026: tarjetas de proyectos alineadas (todas las imágenes 16:10) */
.ca-fig{aspect-ratio:16/10}
.ca-fig img{width:100%;height:100%;object-fit:cover}
.ca-client{min-height:1.5em}
/* 08/11/2026: sección de artículos en home, servicios y proyectos */
.bl-sec .bl-grid{margin-top:8px}
.bl-all{display:inline-flex;margin-top:48px}
/* 08/11/2026: tablas y fuentes del artículo */
.bl-body table{width:100%;border-collapse:collapse;margin:1.6em 0 2em;font-size:15.5px;line-height:1.5}
.bl-body th{text-align:left;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bl-mut);padding:0 16px 10px 0;border-bottom:1px solid var(--bl-ink)}
.bl-body td{padding:12px 16px 12px 0;border-bottom:1px solid var(--bl-line);vertical-align:top}
.bl-body td:first-child{font-weight:600;color:var(--bl-ink);white-space:nowrap}
.bl-body ul.bl-src li{font-size:15px}
.bl-body ul.bl-src a{color:var(--bl-ink);text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--bl-line)}
.bl-body ul.bl-src a:hover{text-decoration-color:var(--bl-ink)}
.bl-body mark.cs-tbc{font-size:inherit}
/* 08/11/2026: fórmula destacada en artículos */
.bl-formula{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:2.4em 0;padding:28px 0;border-top:1px solid var(--bl-ink);border-bottom:1px solid var(--bl-line)}
.bl-formula-f{font-size:clamp(30px,4vw,52px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--bl-ink)}
.bl-formula-f b{color:#00B800}
.bl-formula-s{font-family:var(--font-accent,'Instrument Serif',Georgia,serif);font-style:italic;font-size:clamp(30px,3.6vw,48px);line-height:1.05;color:var(--bl-ink)}

/* 09/11/2026: los estilos del sitio nuevo valen para español e inglés (antes html[lang="es"]) */
/* 09/11/2026: enlace para saltar al contenido (WCAG 2.4.1) */
.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;padding:12px 18px;border-radius:10px;background:#0B0C0B;color:#fff;font-weight:600;text-decoration:none;transition:top .15s}
.skip-link:focus,.skip-link:focus-visible{top:16px;outline:3px solid #00E000;outline-offset:2px}
main:focus{outline:none}

/* v41 · 08 → ∞ (09/11/2026): el 0 se va, el 8 gira y se funde en un infinito dibujado (lemniscata),
   una partícula lo recorre y después vuelve el 08. Reemplaza la animación de v39 (el 8 girado no se leía como ∞). */
html[lang] .inc-inf{display:block!important;position:relative;top:.04em;width:1em;margin-left:.165em;height:auto;overflow:visible;filter:none;opacity:0;transform-origin:50% 50%}
html[lang] .inc-lem{fill:none;stroke:#fff;stroke-width:8;stroke-linecap:round;stroke-linejoin:round}
html[lang] .inc-lem-trail{fill:none;stroke:#7CFF9B;stroke-width:8;stroke-linecap:round}
html[lang] .inc-lem-dot{fill:#fff;filter:drop-shadow(0 0 4px #7CFF9B) drop-shadow(0 0 10px rgba(124,255,155,.9))}
html[lang] .inc-last.is-visible .inc-zero{animation:incZ3 12s cubic-bezier(.65,0,.35,1) infinite}
html[lang] .inc-last.is-visible .inc-num .inc-eight{animation:incE3 12s cubic-bezier(.65,0,.35,1) infinite}
html[lang] .inc-last.is-visible .inc-inf{animation:incI3 12s cubic-bezier(.65,0,.35,1) infinite}
@keyframes incZ3{0%,12%{opacity:1;transform:none}22%,82%{opacity:0;transform:translateX(-.25em)}92%,100%{opacity:1;transform:none}}
@keyframes incE3{
  0%,14%{opacity:1;transform:none}
  26%{opacity:1;transform:translateX(-.36em) rotate(90deg) scale(.82,1.14)}
  32%,72%{opacity:0;transform:translateX(-.36em) rotate(90deg) scale(.68,1.25)}
  78%{opacity:1;transform:translateX(-.36em) rotate(90deg) scale(.82,1.14)}
  90%,100%{opacity:1;transform:none}
}
@keyframes incI3{0%,24%{opacity:0;transform:scale(.8)}32%,72%{opacity:1;transform:none}80%,100%{opacity:0;transform:scale(.8)}}
@media (max-width:900px){
  html[lang] .inc-lem{stroke:#C9CFD6}
  html[lang] .inc-lem-trail{stroke:#16A34A}
  html[lang] .inc-lem-dot{fill:#0B7A2B;filter:drop-shadow(0 0 4px rgba(22,163,74,.6))}
}
@media (prefers-reduced-motion:reduce){
  html[lang] .inc-num{display:none!important}
  html[lang] .inc-inf,html[lang] .inc-last.is-visible .inc-inf{opacity:1;transform:none;animation:none!important}
  html[lang] .inc-lem-trail,html[lang] .inc-lem-dot{display:none}
}

/* v42 (09/11/2026): accesibilidad. Contraste AA en pie, propuesta y casos; títulos del pie como h2 con el mismo aspecto que antes */
html[lang] footer .legal,html[lang] footer .legal span,html[lang] footer .foot-lang a:not(.current):not(:hover){color:#7F857F}
html[lang] .cs-lh p.cs-lh-h{color:#fff}
html[lang] .pg-n{color:#8C928C}
html[lang] .pg-rx-list li.is-on .pg-n{color:#00A63E}
html[lang] .pg-toc-i,html[lang] .pg-q-n{color:#666D66}
html[lang] .pg-toc-list button.is-on .pg-toc-i{color:var(--pg-gd)}
html[lang] footer .foot-grid h2.foot-h{font-family:"Inter Tight Var","Helvetica Neue",Helvetica,Arial,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:19.8px;letter-spacing:-.18px;text-transform:uppercase;color:#fff;margin:0 0 18px;padding:0;max-width:none;text-wrap:wrap}
@media (max-width:560px){html[lang] footer .foot-grid h2.foot-h{margin-bottom:14px}}
[data-kb-scroll]:focus-visible{outline:2px solid #00A63E;outline-offset:2px}
/* v42: ningún texto por debajo de 12px */
html[lang] .cs-lh-g span,html[lang] .fx-head .fx-rate-label,html[lang] .pg-badge,html[lang] .lr-chip span{font-size:12px}
html[lang] .vt-main .vamount small{font-size:12px}
@media (max-width:760px){html[lang] .pay-panel td,html[lang] main table td{font-size:12px}}
/* v42: la calculadora se arma con JS; se reserva su alto para que la sección siguiente no salte (CLS) */
@media (scripting:enabled){html[lang] #calculadora .ae[data-engine]{min-height:3000px}}
@media (scripting:enabled) and (min-width:700px){html[lang] #calculadora .ae[data-engine]{min-height:2800px}}
@media (scripting:enabled) and (min-width:1000px){html[lang] #calculadora .ae[data-engine]{min-height:2100px}}
