/* Click Experience v5.2.0 — Home service visuals + modal Asistente Click. */
.cxs-hero--visual-v520 .cxs-hero-grid{
  grid-template-columns:minmax(0,.94fr) minmax(480px,1.06fr)!important;
  gap:clamp(42px,5vw,88px)!important;
}
.cxs-hero--visual-v520 .cxs-stage{position:relative;z-index:4}
.cxs-hero--visual-v520 .cxs-hero-cta--assistant{
  appearance:none;
  cursor:pointer;
  background:linear-gradient(135deg,#27adff 0%,#0b7df1 58%,#0062d8 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 42px rgba(0,126,241,.26)!important;
}
.cxs-hero--visual-v520 .cxs-hero-cta--assistant:hover{box-shadow:0 24px 48px rgba(0,126,241,.34)!important}

/* Visual service carousel */
.cxs-hero-visual-stage{
  position:relative;
  min-width:0;
  min-height:650px;
  display:grid;
  align-items:center;
  isolation:isolate;
  perspective:1200px;
}
.cxs-hero-visual-stage::before{
  content:"";
  position:absolute;
  inset:9% 0 7% 6%;
  z-index:-3;
  border:1px solid rgba(105,204,255,.18);
  border-radius:44px 110px 52px 96px;
  background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(39,173,255,.035));
  box-shadow:0 38px 110px rgba(0,5,43,.25),inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter:blur(7px);
}
.cxs-hero-visual-stage__halo{
  position:absolute;
  z-index:-2;
  width:72%;
  aspect-ratio:1;
  right:1%;
  top:13%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(39,173,255,.20),rgba(39,173,255,.06) 42%,transparent 70%);
  filter:blur(12px);
  pointer-events:none;
}
.cxs-hero-visual-stage__frame{
  position:relative;
  width:100%;
  height:650px;
  overflow:hidden;
  display:grid;
  place-items:center;
  mask-image:linear-gradient(to right,transparent 0,#000 4%,#000 96%,transparent 100%);
}
.cxs-hero-visual{
  position:absolute;
  inset:0;
  margin:0;
  display:grid;
  place-items:center;
  opacity:0;
  transform:translate3d(28%,0,0) scale(.975);
  filter:blur(7px);
  will-change:transform,opacity,filter;
  pointer-events:none;
}
.cxs-hero-visual[hidden]{display:none!important}
.cxs-hero-visual img{
  display:block;
  width:min(100%,650px);
  height:min(100%,650px);
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 32px 38px rgba(0,4,33,.34));
  user-select:none;
}
.cxs-hero-visual.is-entering{
  opacity:0;
  transform:translate3d(28%,0,0) scale(.975);
  filter:blur(7px);
}
.cxs-hero-visual.is-active{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
  transition:transform .82s cubic-bezier(.16,1,.3,1),opacity .56s ease-out,filter .58s ease-out;
}
.cxs-hero-visual.is-leaving{
  opacity:0!important;
  transform:translate3d(23%,0,0) scale(.985)!important;
  filter:blur(5px)!important;
  transition:transform .26s cubic-bezier(.55,0,1,.45),opacity .22s ease-in,filter .22s ease-in!important;
}
.cxs-hero-visual-stage__caption{
  position:absolute;
  z-index:3;
  right:5%;
  bottom:7%;
  width:min(68%,390px);
  display:grid;
  grid-template-columns:auto 1fr;
  gap:6px 12px;
  align-items:center;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:17px;
  background:linear-gradient(135deg,rgba(0,18,78,.72),rgba(0,54,136,.48));
  backdrop-filter:blur(16px) saturate(140%);
  box-shadow:0 18px 44px rgba(0,8,45,.22);
}
.cxs-hero-visual-stage__caption span{font-size:7px;font-weight:800;letter-spacing:.17em;color:#6ad0ff}
.cxs-hero-visual-stage__caption i{display:block;height:1px;background:linear-gradient(90deg,#27adff,transparent)}
.cxs-hero-visual-stage__caption strong{grid-column:1/-1;color:rgba(255,255,255,.80);font-size:9px;line-height:1.5;font-weight:500}

/* More deliberate editorial motion for rotating copy. */
.cxs-hero--visual-v520 .cxs-scene{animation:none!important;transition:opacity .24s ease,transform .24s ease,filter .24s ease}
.cxs-hero--visual-v520 .cxs-scene.is-copy-leaving{
  opacity:0!important;
  transform:translate3d(0,-12px,0)!important;
  filter:blur(5px)!important;
}
.cxs-hero--visual-v520 .cxs-kinetic-line__text{transform:translate3d(0,118%,0);filter:blur(9px)}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-scene-category .cxs-kinetic-line__text{animation:cxsHero520Soft .44s cubic-bezier(.16,1,.3,1) .08s forwards}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-hero-title>span .cxs-kinetic-line__text{animation:cxsHero520Mask .68s cubic-bezier(.16,1,.3,1) .14s forwards}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-hero-title>strong .cxs-kinetic-line__text{animation:cxsHero520Mask .72s cubic-bezier(.16,1,.3,1) .24s forwards}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-hero-subtitle .cxs-focus-chunk{animation:cxsHero520Soft .52s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.40s + (var(--cxs-focus-index,0) * 55ms))}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-hero-ctas>.cxs-hero-cta{animation:cxsHero520Cta .48s cubic-bezier(.16,1,.3,1) forwards;animation-delay:calc(.58s + (var(--cxs-cta-index,0) * 70ms))}
.cxs-hero--visual-v520 .cxs-scene.is-copy-animating .cxs-scene-action>p .cxs-kinetic-line__text{animation:cxsHero520Soft .48s cubic-bezier(.16,1,.3,1) .72s forwards}
@keyframes cxsHero520Mask{0%{opacity:0;transform:translate3d(0,118%,0);filter:blur(9px)}40%{opacity:1;filter:blur(1px)}100%{opacity:1;transform:none;filter:none}}
@keyframes cxsHero520Soft{0%{opacity:0;transform:translate3d(0,14px,0);filter:blur(5px)}100%{opacity:1;transform:none;filter:none}}
@keyframes cxsHero520Cta{0%{opacity:0;transform:translate3d(0,16px,0) scale(.975)}100%{opacity:1;transform:none}}

/* Modal Asistente Click. The conversation remains mounted so its session is preserved. */
html.cxs-assistant-is-open{overflow:hidden}
.cxs-assistant-modal{
  width:min(760px,calc(100vw - 36px));
  height:min(760px,calc(100svh - 44px));
  max-width:none;
  max-height:none;
  margin:auto;
  padding:0;
  overflow:visible;
  border:0;
  border-radius:30px;
  background:transparent;
  color:#071d54;
  box-shadow:none;
}
.cxs-assistant-modal::backdrop{background:rgba(0,10,49,.72);backdrop-filter:blur(10px) saturate(120%)}
.cxs-assistant-modal__shell{position:relative;width:100%;height:100%;padding:11px;border-radius:30px;background:linear-gradient(145deg,rgba(64,180,255,.34),rgba(0,21,92,.30));border:1px solid rgba(128,216,255,.36);box-shadow:0 34px 110px rgba(0,5,39,.52),0 0 70px rgba(39,173,255,.15)}
.cxs-assistant-modal__close{
  position:absolute;
  z-index:30;
  top:22px;
  right:22px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid rgba(0,21,92,.08);
  border-radius:14px;
  background:rgba(244,248,253,.94);
  color:#0a2d78;
  font-family:Arial,sans-serif;
  font-size:29px;
  font-weight:300;
  line-height:1;
  cursor:pointer;
  box-shadow:0 8px 24px rgba(0,21,92,.12);
  transition:transform .2s cubic-bezier(.16,1,.3,1),background .2s ease;
}
.cxs-assistant-modal__close:hover{transform:scale(1.06);background:#fff}
.cxs-assistant-wrap--modal{width:100%;height:100%;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.cxs-assistant-modal .cxs-conversation{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto auto auto;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.74);
  border-radius:22px;
  background:linear-gradient(180deg,#edf5ff 0%,#eaf2fb 42%,#e5eef8 100%);
  color:#071d54;
  box-shadow:0 24px 70px rgba(0,21,92,.22);
}
.cxs-assistant-modal .cxs-conversation::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 85% 0%,rgba(39,173,255,.15),transparent 35%),linear-gradient(135deg,rgba(255,255,255,.5),transparent 28%)}
.cxs-assistant-modal .cxs-conversation__header{padding-right:70px}
.cxs-assistant-modal[open]{animation:cxsAssistantModalIn .28s cubic-bezier(.16,1,.3,1) both}
@keyframes cxsAssistantModalIn{from{opacity:0;transform:translate3d(0,14px,0) scale(.985)}to{opacity:1;transform:none}}

@media(max-width:1200px){
  .cxs-hero--visual-v520 .cxs-hero-grid{grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)!important;gap:34px!important}
  .cxs-hero-visual-stage,.cxs-hero-visual-stage__frame{min-height:560px;height:560px}
  .cxs-hero-visual img{width:min(100%,560px);height:min(100%,560px)}
}
@media(max-width:960px){
  .cxs-hero--visual-v520 .cxs-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
  .cxs-hero-visual-stage{min-height:470px;order:2}
  .cxs-hero-visual-stage__frame{height:470px}
  .cxs-hero-visual img{width:min(92vw,520px);height:455px}
  .cxs-hero-visual-stage::before{inset:3% 2% 4% 2%}
  .cxs-hero-visual-stage__caption{right:4%;bottom:2%}
}
@media(max-width:600px){
  .cxs-hero--visual-v520 .cxs-hero-grid{gap:4px!important}
  .cxs-hero-visual-stage{min-height:360px;margin-top:-18px}
  .cxs-hero-visual-stage__frame{height:360px;mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent)}
  .cxs-hero-visual img{width:min(96vw,390px);height:350px;transform:scale(1.16);transform-origin:center center}
  .cxs-hero-visual-stage::before{inset:4% 0 5%;border-radius:28px 62px 32px 58px}
  .cxs-hero-visual-stage__caption{display:none}
  .cxs-assistant-modal{inset:0;width:100vw;height:100svh;max-width:none;max-height:none;margin:0;border-radius:0}
  .cxs-assistant-modal__shell{padding:0;border:0;border-radius:0;background:#eaf2fb;box-shadow:none}
  .cxs-assistant-modal .cxs-conversation{border:0;border-radius:0;box-shadow:none}
  .cxs-assistant-modal__close{position:fixed;top:max(10px,env(safe-area-inset-top));right:10px;width:40px;height:40px;border-radius:12px}
  .cxs-assistant-modal .cxs-conversation__header{padding-top:max(14px,env(safe-area-inset-top));padding-right:58px}
  .cxs-assistant-modal .cxs-conversation__footer{padding-bottom:max(8px,env(safe-area-inset-bottom))!important}
}
@media(max-width:400px){
  .cxs-hero-visual-stage{min-height:320px}
  .cxs-hero-visual-stage__frame{height:320px}
  .cxs-hero-visual img{height:312px}
}
@media(prefers-reduced-motion:reduce){
  .cxs-hero-visual,.cxs-hero-visual.is-active,.cxs-hero-visual.is-entering,.cxs-hero-visual.is-leaving{transition:none!important;animation:none!important;transform:none!important;filter:none!important}
  .cxs-hero-visual.is-active{opacity:1!important}.cxs-hero-visual.is-leaving{opacity:0!important}
  .cxs-hero--visual-v520 .cxs-scene.is-copy-leaving{transition:none!important;filter:none!important}
  .cxs-assistant-modal[open],.cxs-assistant-modal__close{animation:none!important;transition:none!important}
}
