/* Efectos de la portada llevados al resto de la web (ver js/efectos.js) */

/* Un solo lienzo continuo: sin franjas de color; las secciones alternas llevan auroras suaves como en la portada */
section.blk.alt{background:radial-gradient(ellipse 45% 40% at 10% 6%,rgba(0,230,118,.08),transparent 70%),radial-gradient(ellipse 40% 38% at 92% 94%,rgba(37,214,239,.06),transparent 70%)!important}
section.blk.alt::after{content:'';position:absolute;left:0;right:0;top:0;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(120,160,220,.22) 30%,rgba(0,230,118,.3) 50%,rgba(120,160,220,.22) 70%,transparent)}
section.blk.alt{position:relative}

/* Títulos de sección que se escriben solos */
.tw-caret{color:var(--green);font-weight:400;margin-left:1px;animation:twBlink 1s steps(1,end) infinite}
@keyframes twBlink{0%,49%{opacity:1}50%,100%{opacity:0}}

/* Foco de luz que sigue al cursor en las tarjetas */
.card{position:relative;overflow:hidden}
.card::after{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(0,230,118,.16),transparent 62%);opacity:0;transition:opacity .4s;pointer-events:none;z-index:0}
.card:hover::after{opacity:1}
.card>*{position:relative;z-index:1}
.card:hover{transform:translateY(-6px);border-color:var(--line-green);box-shadow:var(--shadow)}

/* Metodología de la portada: núcleo de IA que gira con el scroll y marca el paso activo (js/efectos.js) */
.nuc-sec{position:relative;padding:0!important;overflow:visible}
.nuc-sec::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(rgba(120,160,220,.34) 1px,transparent 1.6px);background-size:24px 24px;-webkit-mask:radial-gradient(ellipse 60% 70% at 50% 50%,#000,transparent 80%);mask:radial-gradient(ellipse 60% 70% at 50% 50%,#000,transparent 80%)}
.nuc-sec .wrap{position:relative;z-index:1}
.nuc-stick{display:flex;align-items:center;min-height:100vh;padding:clamp(60px,8vw,100px) 0}
.nuc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:center;width:100%}
.nuc-visual{position:relative;aspect-ratio:1;max-width:560px;width:100%;margin:0 auto}
.nuc-glow{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(circle,rgba(0,230,118,.22),rgba(37,214,239,.08) 55%,transparent 72%);filter:blur(30px)}
.nuc-visual video{position:relative;width:100%;height:100%;object-fit:cover;-webkit-mask-image:radial-gradient(circle at 50% 48%,#000 58%,transparent 74%);mask-image:radial-gradient(circle at 50% 48%,#000 58%,transparent 74%)}
.nuc-count{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);font-family:Consolas,'Courier New',monospace;font-size:13px;letter-spacing:.12em;color:var(--mute)}
.nuc-count b{color:var(--green);font-weight:700}
.nuc-text h2{font-size:clamp(30px,4.2vw,48px);font-weight:800;margin:14px 0 12px}
.nuc-sub{color:var(--soft);font-size:16.5px;margin-bottom:26px}
.nuc-list{position:relative;padding-left:26px}
.nuc-bar{position:absolute;left:0;top:6px;bottom:6px;width:2px;border-radius:2px;background:rgba(120,160,220,.15);overflow:hidden}
.nuc-bar i{display:block;width:100%;height:100%;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .15s linear}
.nuc-list ol{list-style:none;display:grid;gap:8px}
.nuc-step{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:14px 16px;border-radius:16px;border:1px solid transparent;opacity:.38;transition:opacity .4s,background .4s,border-color .4s}
.nuc-step .n{font-family:'Space Grotesk','Segoe UI',sans-serif;font-size:22px;font-weight:800;color:var(--mute);transition:color .4s}
.nuc-step h3{font-size:19px;font-weight:700;margin-bottom:4px}
.nuc-step p{font-size:14.5px;color:var(--soft)}
.nuc-step.on{opacity:1;background:rgba(0,230,118,.06);border-color:var(--line-green)}
.nuc-step.on .n{background:var(--grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
@media (min-width:900px){
  .nuc-sec.nuc-scroll{height:200vh}
  .nuc-sec.nuc-scroll .nuc-stick{position:sticky;top:0;height:100vh;min-height:0}
}
@media (max-width:899px){
  .nuc-grid{grid-template-columns:minmax(0,1fr)}
  .nuc-visual{max-width:360px}
  .nuc-step{opacity:1}
  .nuc-bar{display:none}
  .nuc-list{padding-left:0}
}

@media (prefers-reduced-motion:reduce){.tw-caret{animation:none}.card:hover{transform:none}}

/* Iconos 3D de cristal en las tarjetas: van dentro de una cápsula del mismo azul que el fondo del vídeo,
   así el vídeo se funde sin bordes y la cápsula forma parte del diseño (giran sincronizados, js/efectos.js) */
.ic3d{position:relative;display:block;width:76px;height:76px;margin-bottom:20px;border-radius:22px;overflow:hidden;pointer-events:none;
  background:radial-gradient(circle at 50% 40%,#04173a 0%,#00071c 72%);
  border:1px solid rgba(37,214,239,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 22px rgba(0,230,118,.10),0 14px 30px -14px rgba(37,214,239,.45);
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s,border-color .35s}
.ic3d::after{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(160deg,rgba(255,255,255,.10),transparent 38%)}
.ic3d video{position:absolute;inset:-16%;width:132%;height:132%;max-width:none;object-fit:cover;-webkit-mask-image:radial-gradient(ellipse 62% 62% at 50% 46%,#000 55%,transparent 100%);mask-image:radial-gradient(ellipse 62% 62% at 50% 46%,#000 55%,transparent 100%)}
.sv-cell:hover .ic3d{transform:translateY(-3px);border-color:rgba(0,230,118,.45);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 26px rgba(0,230,118,.16),0 18px 36px -14px rgba(0,230,118,.55)}

/* La tarjeta que lleva el mapa le da más sitio que a una ilustración normal */
.sv-cell .sv-art:has(.int-map){width:52%;right:26px}
.sv-cell:has(.int-map) p{max-width:38%}
@media (max-width:860px){.sv-cell .sv-art:has(.int-map){width:auto}.sv-cell:has(.int-map) p{max-width:none}}
/* Mini mapa de integraciones (Agentes IA): el agente en el centro y tus sistemas alrededor, con datos que viajan */
.int-map{position:relative;width:100%;aspect-ratio:400/240;--crm:#25d6ef;--data:#ffc857;--app:#8fb4ff}
.int-map .im-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.im-line{fill:none;stroke:rgba(120,160,220,.22);stroke-width:1.2;vector-effect:non-scaling-stroke;stroke-dasharray:3 4;animation:imFlow 1.6s linear infinite}
@keyframes imFlow{to{stroke-dashoffset:-14}}
.im-pk{fill:var(--c);filter:drop-shadow(0 0 4px var(--c))}
.im-pk.im-crm,.im-node.im-crm{--c:var(--crm)}.im-pk.im-data,.im-node.im-data{--c:var(--data)}.im-pk.im-app,.im-node.im-app{--c:var(--app)}
.im-node{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;width:31%;max-width:124px;padding:6px 8px 6px 7px;border-radius:999px;font-size:12.5px;font-weight:600;color:var(--ink);background:rgba(7,13,25,.85);border:1px solid color-mix(in srgb,var(--c) 30%,transparent);box-shadow:0 6px 18px -10px #000;animation:imGlow 3s ease-in-out infinite;animation-delay:var(--d)}
.im-node i{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;background:color-mix(in srgb,var(--c) 16%,transparent);color:var(--c)}
.im-node svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes imGlow{0%,70%,100%{border-color:color-mix(in srgb,var(--c) 30%,transparent);box-shadow:0 6px 18px -10px #000}15%{border-color:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent),0 0 18px -2px color-mix(in srgb,var(--c) 55%,transparent)}}
.im-core{position:absolute;transform:translate(-50%,-50%);display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-size:13.5px;font-weight:800;color:#04140b;background:var(--grad);box-shadow:0 0 0 6px rgba(0,230,118,.08),0 10px 28px -8px rgba(0,230,118,.7);z-index:1}
.im-core i{position:relative;display:grid;place-items:center;width:22px;height:22px;border-radius:7px;background:rgba(4,20,11,.16);color:#04140b}
.im-core svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.im-core i::after{content:'';position:absolute;inset:-3px;border-radius:9px;border:2px solid rgba(4,20,11,.45);animation:imPing 2s ease-out infinite}
@keyframes imPing{from{transform:scale(.6);opacity:1}to{transform:scale(1.8);opacity:0}}
.sv-cell:hover .im-line{stroke:rgba(0,230,118,.35)}
@media (max-width:520px){.int-map{aspect-ratio:400/300}.im-node{font-size:11px;padding:5px 6px}.im-node i{width:17px;height:17px}}
@media (prefers-reduced-motion:reduce){.im-line,.im-node,.im-core i::after{animation:none}.im-pk{display:none}}

/* Páginas de solución: el cielo estrellado de la cabecera queda fijo detrás de toda la página (js/efectos.js);
   la metodología conserva su fondo liso para que el núcleo de IA destaque */
.page-sky{position:fixed;inset:0;z-index:-1;pointer-events:none}
.page-sky video{width:100%;height:100%;object-fit:cover;max-width:none}
.page-sky::after{content:'';position:absolute;inset:0;background:rgba(5,10,20,.42)}
.nuc-sec{background:linear-gradient(180deg,transparent,var(--bg) 160px,var(--bg) calc(100% - 160px),transparent)}
/* Con el cielo fijo, toda la página es un mismo fondo: fuera el vídeo propio de la cabecera, las franjas y sus líneas de luz */
.has-sky .hf>.hf-video{display:none}
.has-sky .art-hero{background:none!important;border-bottom:0!important}
.has-sky .hf>.hf-shade{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent);mask-image:linear-gradient(180deg,#000 60%,transparent)}
.has-sky .sv-hero,.has-sky .sv-band,.has-sky section.blk.alt{background:none!important;border:0!important;box-shadow:none!important}
.has-sky .sv-band::before,.has-sky .sv-band::after,.has-sky section.blk.alt::after,.has-sky .sv-hero::after,.has-sky .sv-hero::before,.has-sky .hf::before,.has-sky .hf::after{display:none!important}

/* Casos de uso como demo de chat: a la izquierda las preguntas, a la derecha el agente responde (js/efectos.js) */
.uc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px;align-items:start}
.uc-list{display:flex;flex-direction:column;gap:6px}
.uc-q{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px 16px;border-radius:14px;border:1px solid transparent;background:none;color:var(--soft);font:inherit;cursor:pointer;position:relative;overflow:hidden;transition:background .25s,border-color .25s,color .25s}
.uc-q:hover{background:rgba(255,255,255,.03);color:var(--ink)}
.uc-q[aria-selected="true"]{background:rgba(0,230,118,.07);border-color:var(--line-green);color:var(--ink)}
.uc-q[aria-selected="true"]::after{content:'';position:absolute;left:0;bottom:0;height:2px;width:var(--p,0%);background:var(--grad)}
.uc-tag{display:inline-flex;align-items:center;gap:6px;font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan)}
.uc-ask{font-size:15px;font-weight:600;line-height:1.4}
.uc-chat{position:sticky;top:96px;border-radius:22px;border:1px solid var(--line);background:rgba(10,18,34,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 30px 70px -30px #000,0 0 0 1px rgba(0,230,118,.05);overflow:hidden}
.uc-bar{display:flex;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid var(--line);font-family:ui-monospace,Consolas,monospace;font-size:12px;color:var(--mute)}
.uc-dots{display:flex;gap:6px}.uc-dots i{width:9px;height:9px;border-radius:50%;background:rgba(120,160,220,.25)}
.uc-live{display:inline-flex;align-items:center;gap:7px}.uc-live::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green)}
.uc-demo{margin-left:auto;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase}
.uc-body{position:relative;min-height:380px;padding:22px}
.uc-ans{display:flex;flex-direction:column;gap:14px}
.uc-ans+.uc-ans{margin-top:30px}
.uc-js .uc-ans{display:none;margin-top:0}
.uc-js .uc-ans.is-active{display:flex}
.uc-user{align-self:flex-end;max-width:85%;padding:12px 16px;border-radius:16px 16px 4px 16px;background:rgba(0,230,118,.12);border:1px solid var(--line-green);font-size:15px;color:var(--ink)}
.uc-steps{list-style:none;display:flex;flex-direction:column;gap:6px;padding:0;margin:0}
.uc-steps li{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--soft)}
.uc-steps svg,.uc-rows .ok svg{width:14px;height:14px;fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.uc-res{align-self:flex-start;width:min(100%,400px);padding:16px 18px;border-radius:16px 16px 16px 4px;border:1px solid var(--line);background:rgba(255,255,255,.035);display:flex;flex-direction:column;gap:12px}
.uc-res-h{font-family:'Space Grotesk',sans-serif;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--mute)}
.uc-big{font-family:'Space Grotesk',sans-serif;font-size:30px;font-weight:800;color:var(--ink);line-height:1.1}
.uc-big em{display:block;font-style:normal;font-family:'Inter',sans-serif;font-size:13px;font-weight:600;color:var(--green-b);margin-top:4px}
.uc-bars{display:flex;align-items:flex-end;gap:14px;height:70px;margin-bottom:14px}
.uc-bars span{position:relative;width:46px;height:var(--h);border-radius:8px 8px 3px 3px;background:rgba(120,160,220,.22)}
.uc-bars span.hi{background:var(--grad);box-shadow:0 8px 20px -8px rgba(0,230,118,.6)}
.uc-bars i{position:absolute;left:0;right:0;bottom:-18px;text-align:center;font-style:normal;font-size:11px;color:var(--mute)}
.uc-rows{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}
.uc-rows li{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px;color:var(--soft);padding-bottom:8px;border-bottom:1px solid var(--line)}
.uc-rows li:last-child{border-bottom:0;padding-bottom:0}
.uc-rows b{color:var(--ink);font-weight:600}
.uc-rows span{font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px}
.uc-rows .bad{color:#ff8a8a;background:rgba(255,90,90,.12)}.uc-rows .warn{color:#ffc857;background:rgba(255,200,87,.12)}.uc-rows .ok{color:var(--green-b);background:rgba(0,230,118,.12);display:inline-flex}
.uc-kpis{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.uc-kpis li{padding:10px;border-radius:12px;background:rgba(7,13,25,.6);border:1px solid var(--line);font-size:12px;color:var(--mute);text-align:center}
.uc-kpis b{display:block;font-family:'Space Grotesk',sans-serif;font-size:19px;color:var(--ink)}
.uc-slots,.uc-tags{display:flex;flex-wrap:wrap;gap:8px}
.uc-slots span{padding:8px 14px;border-radius:10px;border:1px solid var(--line-green);background:rgba(0,230,118,.07);font-weight:700;color:var(--ink);font-size:14px}
.uc-tags span{padding:5px 11px;border-radius:99px;font-size:12.5px;font-weight:600}
.uc-tags .pos{color:var(--green-b);background:rgba(0,230,118,.1)}.uc-tags .neg{color:#ff8a8a;background:rgba(255,90,90,.1)}
.uc-txt{font-size:14.5px;color:var(--soft);line-height:1.55;margin:0}.uc-txt b{color:var(--ink)}
.uc-src{font-size:12px;color:var(--mute)}
.uc-act{align-self:flex-start;padding:9px 14px;border-radius:10px;background:var(--grad);color:#04140b;font-size:13px;font-weight:700}
.uc-desc{font-size:13.5px;color:var(--mute);margin:0}
.uc-input{display:flex;align-items:center;justify-content:space-between;margin:0 18px 18px;padding:11px 12px 11px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(7,13,25,.6);font-size:14px;color:var(--mute)}
.uc-input b{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad);color:#04140b}
.uc-js .uc-ans.is-active>*{animation:ucIn .45s cubic-bezier(.2,.7,.2,1) both}
.uc-js .uc-ans.is-active .uc-steps li{animation:ucIn .35s ease both;animation-delay:calc(.35s + var(--k)*.35s)}
.uc-js .uc-ans.is-active .uc-res{animation-delay:1.5s}
.uc-js .uc-ans.is-active .uc-desc{animation-delay:1.8s}
@keyframes ucIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){
  .uc{grid-template-columns:minmax(0,1fr)}
  .uc-list{flex-direction:row;overflow-x:auto;gap:8px;padding-bottom:6px;scrollbar-width:none}
  .uc-list::-webkit-scrollbar{display:none}
  .uc-q{flex:0 0 auto;max-width:240px;border-color:var(--line)}
  .uc-q .uc-ask{font-size:13.5px}
  .uc-chat{position:relative;top:0}
}
@media (prefers-reduced-motion:reduce){.uc-js .uc-ans.is-active>*,.uc-js .uc-ans.is-active .uc-steps li{animation:none}}

/* Preguntas frecuentes: acordeón editorial. A la izquierda, título fijo, medidor de dudas resueltas y el robot para
   preguntar lo que falte; a la derecha, preguntas numeradas que se abren de una en una (js/efectos.js) */
.fq{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(32px,5vw,72px);align-items:start}
.fq-side{position:sticky;top:96px}
.fq-side .eyebrow{margin-bottom:12px}
.fq-side h2{font-size:clamp(30px,4vw,46px);font-weight:800;line-height:1.05}
.fq-side>p{color:var(--soft);font-size:16px;margin-top:14px;max-width:380px}
.fq-help{position:relative;display:grid;grid-template-columns:96px minmax(0,1fr);align-items:center;gap:14px;margin-top:28px;padding:16px 18px 16px 8px;border-radius:20px;border:1px solid var(--line-green);background:radial-gradient(circle at 48px 50%,rgba(8,41,41,.95) 0,rgba(8,41,41,.6) 34px,transparent 70px),linear-gradient(140deg,rgba(0,230,118,.10),rgba(37,214,239,.04));overflow:hidden}
.fq-help video{width:96px;height:96px;object-fit:cover;max-width:none;-webkit-mask-image:radial-gradient(ellipse 36% 46% at 50% 52%,#000 60%,transparent);mask-image:radial-gradient(ellipse 36% 46% at 50% 52%,#000 60%,transparent)}
.fq-help b{display:block;font-family:'Space Grotesk',sans-serif;font-size:16px;color:var(--ink)}
.fq-help small{display:block;color:var(--soft);font-size:13.5px;margin:3px 0 12px}
.fq-help .row{display:flex;flex-wrap:wrap;gap:8px}
.fq-help a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border-radius:10px;font-size:13px;font-weight:700}
.fq-help a.go{background:var(--grad);color:#04140b}
.fq-help a.wa{border:1px solid var(--line);color:var(--ink);background:rgba(255,255,255,.03)}
.fq-help a.wa:hover{border-color:var(--line-green)}
.fq-list{border-top:1px solid var(--line)}
.fq-item{position:relative;border-bottom:1px solid var(--line);transition:background .4s}
.fq-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--grad);transform:scaleY(0);transform-origin:top;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.fq-item::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),rgba(0,230,118,.07),transparent 65%);opacity:0;transition:opacity .3s}
.fq-item:hover::after{opacity:1}
.fq-item.on{background:linear-gradient(90deg,rgba(0,230,118,.06),transparent 70%)}
.fq-item.on::before{transform:none}
.fq-btn{position:relative;z-index:1;width:100%;display:grid;grid-template-columns:62px minmax(0,1fr) 38px;align-items:center;gap:14px;padding:24px 8px 24px 18px;background:none;border:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer}
.fq-n{font-family:'Space Grotesk',sans-serif;font-size:34px;font-weight:800;line-height:1;color:transparent;background:var(--grad);-webkit-background-clip:text;background-clip:text;opacity:.55}  /* mismo verde en todas, abiertas o no */
.fq-t{font-family:'Space Grotesk',sans-serif;font-size:clamp(17px,1.9vw,21px);font-weight:700;line-height:1.3}
.fq-pl{position:relative;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);transition:background .35s,border-color .35s,transform .35s}
.fq-pl::before,.fq-pl::after{content:'';position:absolute;left:50%;top:50%;width:13px;height:2px;margin:-1px 0 0 -6.5px;background:var(--soft);border-radius:2px;transition:transform .35s,background .35s}
.fq-pl::after{transform:rotate(90deg)}
.fq-btn:hover .fq-pl{border-color:var(--line-green)}
.fq-item.on .fq-pl{background:var(--grad);border-color:transparent;transform:rotate(180deg)}
.fq-item.on .fq-pl::before,.fq-item.on .fq-pl::after{background:#04140b}
.fq-item.on .fq-pl::after{transform:rotate(0)}
.fq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.2,.7,.2,1)}
.fq-item.on .fq-a{grid-template-rows:1fr}
.fq-a>div{overflow:hidden}
.fq-a p{position:relative;z-index:1;padding:0 58px 26px 94px;color:var(--soft);font-size:15.5px;line-height:1.7;opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s}
.fq-item.on .fq-a p{opacity:1;transform:none;transition-delay:.12s}
@media (max-width:900px){
  .fq{grid-template-columns:minmax(0,1fr);gap:30px}
  .fq-side{position:static}
  .fq-btn{grid-template-columns:44px minmax(0,1fr) 34px;padding:20px 4px 20px 12px;gap:10px}
  .fq-n{font-size:26px}
  .fq-a p{padding:0 10px 22px 66px}
}
@media (prefers-reduced-motion:reduce){.fq-a,.fq-a p,.fq-item::before,.fq-pl,}

/* Casos de éxito: vídeo en la tarjeta de cada proyecto (se carga y reproduce al verse, js/efectos.js) */
.case-visual video{width:100%;height:100%;max-width:none;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.case-row:hover .case-visual video{transform:scale(1.04)}

/* Bloques de newsletter dentro de las páginas: tarjeta con el mismo cuadro de email que la newsletter del pie */
.gd-sub{max-width:820px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:center;padding:28px;border-radius:22px;border:1px solid var(--line-green);background:linear-gradient(140deg,rgba(0,230,118,.1),rgba(14,26,46,.9) 55%)}
.gd-sub h2{font-size:clamp(22px,3vw,28px);font-weight:800;margin-bottom:8px}
.gd-sub p{color:var(--soft);font-size:15px}
.gd-sub .news-form{max-width:none;margin:0;display:block}
.gd-sub .news-form .ft-form input[type=email]{flex:1;min-width:0;background:none;border:0;border-radius:0;padding:9px 10px;font-size:14px;box-shadow:none}
.gd-sub .news-consent{max-width:none;margin:12px 2px 0}
.gd-sub .news-consent{display:block;text-align:left;line-height:1.5}
.gd-sub .news-consent input{display:inline-block;vertical-align:-5px;margin:0 8px 0 0;min-width:0;width:19px;height:19px;padding:0}
.gd-sub .field-err{margin-top:8px}
@media(max-width:760px){.gd-sub{grid-template-columns:minmax(0,1fr);gap:20px}}
/* Artículos del blog: portada ilustrada y recuadros destacados */
.art-cover{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:20px;border:1px solid var(--line);margin:0 0 30px;box-shadow:0 30px 60px -30px #000}
.art-box{margin:18px 0 24px;padding:16px 20px;border-radius:14px;border:1px solid var(--line-green);background:rgba(0,230,118,.06);font-size:15.5px;color:var(--soft);line-height:1.6}
.art-box b{color:var(--green-b)}

/* Pie compacto en móvil (19-10-2026): va aquí porque efectos.css se carga en todas las páginas */
@media (max-width:600px){#siteFooter .ft-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 18px;padding:30px 0 24px}#siteFooter .ft-brand,#siteFooter .ft-card,#siteFooter .ft-col:has(.ft-links.two){grid-column:1/-1}#siteFooter .ft-brand p{margin:12px 0 14px}#siteFooter .ft-col h4{margin-bottom:12px}#siteFooter .ft-links{gap:10px}#siteFooter .ft-links a{white-space:normal}#siteFooter .ft-card{padding:20px}}
