/* ============================================================
   page-home.css — home (/), con el Intiza design system.

   Mismas reglas del sistema que /cobranzas/ y /proveedores/:

   · Fondo por defecto blanco + superficies celeste; el azul oscuro
     queda para el hero, las franjas de acento y el footer.
   · Sombras siempre tintadas en azul rgba(5,38,208,…), nunca negras.
   · Tipografía Archivo, títulos en peso 500 (medium) y sentence case.
   · Contenedores 12–24px de radio, hairline var(--border-soft).

   La home es la única página donde conviven los dos acentos de
   producto: Cobranzas (#067AFB) y Proveedores (#02AEB9). Fuera de las
   dos tarjetas de solución y del tablero del hero, todo va en el azul
   de marca, para que la página siga leyéndose como una sola cosa.

   Todo está scopeado en .ds-page; las secciones compartidas (casos,
   CTA) y el footer se re-tematizan desde acá con :has(), sin tocar
   site.css.
   ============================================================ */

/* ---------- shell de página ---------- */
body:has(.ds-page) { background: var(--bg); color: var(--fg-1); }

.ds-page {
  /* el sistema retiró el violeta: gradiente profundo corregido */
  --gradient-deep: linear-gradient(135deg, #03198C 0%, #0526D0 100%);
  --acc-cob: var(--intiza-azul-claro);
  --acc-prov: var(--intiza-verde);
  /* Los PNG de assets/*-mono/ son BLANCOS: están hechos para el fondo
     oscuro y sobre blanco no se ven. Acá se re-tiñen por CSS. */
  --tint-oscuro: brightness(0);
}
.ds-page .section { position: relative; padding: 96px 0; background: var(--bg); overflow: hidden; }
.ds-page .wrap { max-width: 1240px; margin: 0 auto; padding: 0 36px; }
/* la barra es fija y de ancho completo (site.css): acá hay que soltarla del
   ancho y del padding que .ds-page .wrap le impone al resto de la página */
.ds-page .wrap.topbar { max-width: none; padding: 0; }

.ds-page .head { text-align: center; max-width: 760px; margin: 0 auto 56px; }
.ds-page h2 { font-size: 40px; font-weight: var(--fw-medium); line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight); color: var(--fg-1); margin: 0; text-wrap: balance; }
.ds-page h2 em { font-style: normal; color: var(--intiza-azul-oscuro); }
@media (max-width: 760px) {
  .ds-page .section { padding: 64px 0; }
  .ds-page h2 { font-size: 30px; }
  .ds-page .wrap { padding: 0 24px; }
}

/* ============================================================
   HERO
   ============================================================ */
/* sin overflow ni capa propia: el menú fijo vive adentro de este contenedor y,
   con cualquiera de los dos, al scrollear quedaba recortado o tapado por las
   secciones siguientes */
.dsx-hero .stage { position: relative; width: 100%;
  background: linear-gradient(135deg, #0526D0 0%, #1735C5 52%, #067AFB 100%); }
.dsx-hero .inner { position: relative; z-index: 2; max-width: 1240px; margin: 0 auto; padding: 0 36px; }

.dsx-hero .hero { display: grid; grid-template-columns: minmax(0,1.24fr) minmax(0,.76fr);
  gap: 48px; align-items: center; padding: 148px 0 104px; }
.dsx-hero .hero-copy { max-width: 620px; }
.dsx-hero h1.title { font-size: 52px; font-weight: var(--fw-medium); line-height: var(--lh-tight);
  letter-spacing: -.025em; color: #fff; margin: 0; text-wrap: balance;
  transition: opacity .7s var(--ease-out) .16s, transform .7s var(--ease-out) .16s; }
.dsx-hero h1.title em { font-style: normal; color: #fff; }
.dsx-hero p.sub { font-size: var(--fs-body-lg); line-height: var(--lh-relaxed); color: rgba(255,255,255,.88);
  margin: 22px 0 0; max-width: 540px;
  transition: opacity .7s var(--ease-out) .24s, transform .7s var(--ease-out) .24s; }
.dsx-hero .cta-row { margin-top: 36px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap;
  transition: opacity .7s var(--ease-out) .32s, transform .7s var(--ease-out) .32s; }
html.preload .dsx-hero h1.title,
html.preload .dsx-hero p.sub, html.preload .dsx-hero .cta-row { transform: translateY(16px); }

.dsx-hero .cta-primary { display: inline-flex; align-items: center; gap: 9px;
  font-size: 15.5px; font-weight: var(--fw-medium); color: var(--intiza-azul-oscuro);
  background: #fff; border: 0; border-radius: var(--radius-md); padding: 15px 26px;
  text-decoration: none; font-family: inherit;
  box-shadow: 0 10px 28px rgba(3,20,120,.28);
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base); }
.dsx-hero .cta-primary:hover { background: var(--intiza-celeste); }
.dsx-hero .cta-primary:active { transform: scale(.98); box-shadow: 0 6px 16px rgba(3,20,120,.24); }
.dsx-hero .cta-primary .arr { display: inline-flex; transition: transform var(--dur-base) var(--ease-out); }
.dsx-hero .cta-primary:hover .arr { transform: translateX(4px); }

.dsx-hero .hero-visual { position: relative; justify-self: center; width: 100%; max-width: 380px;
  transition: opacity .8s var(--ease-out) .34s, transform .8s var(--ease-out) .34s; }
html.preload .dsx-hero .hero-visual { transform: translateY(22px); }

/* ---------- el ciclo de los cuatro nodos ----------
   Mismo visual que la home actual. Lo que cambia es de qué lado está el
   contraste: antes el fondo era azul marino y el anillo, más claro, se
   recortaba contra él. Acá el fondo ya es azul brillante, así que el anillo
   va en el azul profundo de marca con el verde de Proveedores, y un halo
   suave detrás hace el trabajo que antes hacía el fondo oscuro — sin él, los
   rótulos blancos de los nodos se pierden sobre el anillo. */
.dsx-hero .cyc { position: relative; z-index: 2; width: 100%; aspect-ratio: 1; margin: 0 auto; }
.dsx-hero .cyc::before { content: ""; position: absolute; inset: -14%; z-index: 0; pointer-events: none;
  border-radius: 50%; background: radial-gradient(closest-side, rgba(3,20,120,.52), rgba(3,20,120,0) 76%); }
.dsx-hero .cyc .spin { position: absolute; inset: 4%; border-radius: 50%;
  background: conic-gradient(from -48deg, #0526D0, #02AEB9 26%, #7FE9EF 50%, #0A63DE 76%, #0526D0);
  -webkit-mask: radial-gradient(closest-side, transparent 66%, #000 67%);
  mask: radial-gradient(closest-side, transparent 66%, #000 67%);
  filter: drop-shadow(0 0 26px rgba(2,174,185,.28)); animation: cycspin 18s linear infinite; }
@keyframes cycspin { to { transform: rotate(360deg); } }
.dsx-hero .cyc .ring { position: absolute; inset: 12%; border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.30); animation: cycspin 30s linear infinite reverse; }
.dsx-hero .cyc .core { position: absolute; inset: 33%; border-radius: 50%;
  background: radial-gradient(circle at 50% 38%, rgba(255,255,255,.22), rgba(255,255,255,.04) 70%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), inset 0 0 50px rgba(255,255,255,.12); }
.dsx-hero .cyc .core::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 12px;
  border-radius: 50%; transform: translate(-50%,-50%); background: #fff;
  box-shadow: 0 0 22px 6px rgba(255,255,255,.55); }
.dsx-hero .flowdot { position: absolute; inset: 4%; animation: cycspin 7s linear infinite; pointer-events: none; }
.dsx-hero .flowdot i { position: absolute; top: -3px; left: 50%; width: 8px; height: 8px; margin-left: -4px;
  border-radius: 50%; background: #fff; box-shadow: 0 0 14px 3px rgba(255,255,255,.8); }

/* los nodos: glass claro, el mismo recurso que el resto de las piezas del hero */
.dsx-hero .node { position: absolute; z-index: 3; width: 132px; transform: translate(-50%,-50%);
  display: flex; flex-direction: column; align-items: center; text-align: center; gap: 9px; }
.dsx-hero .node .ic { width: 58px; height: 58px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.16); border: 1px solid rgba(255,255,255,.34);
  -webkit-backdrop-filter: blur(16px) saturate(140%); backdrop-filter: blur(16px) saturate(140%);
  box-shadow: 0 16px 34px rgba(3,20,120,.28), var(--shadow-inset); }
.dsx-hero .node .ic svg { width: 25px; height: 25px; }
.dsx-hero .node.cob .ic { color: #fff; }
.dsx-hero .node.prov .ic { color: #7FF0E4; }
/* el anillo gira, así que cada rótulo pasa por todos sus colores: la sombra
   suave es lo que garantiza que se lean en cualquier posición */
.dsx-hero .node .t { font-size: 13px; font-weight: var(--fw-medium); color: #fff; line-height: 1.2;
  text-shadow: 0 1px 10px rgba(3,20,120,.65), 0 0 2px rgba(3,20,120,.45); }
.dsx-hero .node .t small { display: block; font-size: 9px; font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; margin-top: 3px; }
.dsx-hero .node.cob .t small { color: #CFE0FF; }
.dsx-hero .node.prov .t small { color: #7FF0E4; }
.dsx-hero .node.tr { left: 75%; top: 25%; } .dsx-hero .node.br { left: 75%; top: 75%; }
.dsx-hero .node.bl { left: 25%; top: 75%; } .dsx-hero .node.tl { left: 25%; top: 25%; }

@media (prefers-reduced-motion: reduce) {
  .dsx-hero h1.title, .dsx-hero p.sub, .dsx-hero .cta-row, .dsx-hero .hero-visual { transition: none !important; }
  .dsx-hero .cyc .spin, .dsx-hero .cyc .ring, .dsx-hero .flowdot { animation: none !important; }
  html.preload .dsx-hero h1.title, html.preload .dsx-hero p.sub,
  html.preload .dsx-hero .cta-row, html.preload .dsx-hero .hero-visual { transform: none !important; }
}
@media (max-width: 980px) {
  .dsx-hero .hero { grid-template-columns: 1fr; gap: 40px; }
  .dsx-hero .hero-visual { display: none; }
}
@media (max-width: 760px) {
  .dsx-hero .inner { padding: 0 24px; }
  .dsx-hero h1.title { font-size: 36px; }
  .dsx-hero .hero { padding: 120px 0 72px; }
}

/* ============================================================
   SOLUCIONES — las dos tarjetas de producto, en claro.
   Es la única sección donde los dos acentos conviven.
   ============================================================ */
.dsx-sol .section { background: var(--bg-soft); padding: 96px 0 48px; position: relative; overflow: hidden; }
.dsx-sol .wrap { position: relative; z-index: 2; max-width: 1180px; margin: 0 auto; padding: 0 36px; }
.dsx-sol .head { text-align: center; max-width: 760px; margin: 0 auto 48px; }
.dsx-sol .eyebrow { display: inline-flex; align-items: center; font-size: var(--fs-eyebrow);
  font-weight: var(--fw-medium); letter-spacing: var(--tracking-eyebrow); text-transform: uppercase;
  color: var(--intiza-azul-oscuro); background: var(--celeste-60); border: 1px solid var(--border-soft);
  padding: 7px 14px; border-radius: var(--radius-pill); margin: 0 0 20px; }
.dsx-sol h2 { font-size: 40px; font-weight: var(--fw-medium); line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight); color: var(--fg-1); margin: 0; text-wrap: balance; }
.dsx-sol h2 em { font-style: normal; color: var(--intiza-azul-oscuro); }

.dsx-sol .split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.dsx-sol .pcard { position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: var(--surface-card); border: 1px solid var(--border); border-radius: var(--radius-xl);
  padding: 40px 38px 36px;
  box-shadow: 0 20px 34px -16px rgba(5,38,208,.30), 0 3px 10px -4px rgba(5,38,208,.10);
  transition: transform .7s var(--ease-out), box-shadow var(--dur-slow) var(--ease-out); }
/* franja de acento: el mismo recurso que las tarjetas de las páginas de producto */
.dsx-sol .pcard::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; z-index: 3; }
.dsx-sol .pcard.cob::before { background: linear-gradient(90deg, var(--intiza-azul-oscuro), var(--acc-cob)); }
.dsx-sol .pcard.prov::before { background: linear-gradient(90deg, var(--intiza-azul-oscuro), var(--acc-prov)); }
.dsx-sol .pcard:hover { transform: translateY(-4px);
  box-shadow: 0 28px 44px -16px rgba(5,38,208,.36), 0 4px 12px -4px rgba(5,38,208,.14); }
.dsx-sol .section:not(.in) .pcard { transform: translateY(26px); }
.dsx-sol .section:not(.in) .pcard:nth-child(2) { transition-delay: .1s; }

.dsx-sol .phead { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; }
.dsx-sol .ictile { width: 52px; height: 52px; border-radius: var(--radius-lg); display: flex;
  align-items: center; justify-content: center; border: 1px solid var(--border-soft); flex: 0 0 auto; }
.dsx-sol .ictile svg { width: 26px; height: 26px; }
.dsx-sol .pcard.cob .ictile { background: var(--celeste-60); color: var(--acc-cob); }
.dsx-sol .pcard.prov .ictile { background: rgba(2,174,185,.10); color: var(--acc-prov); }
.dsx-sol .pkicker { font-size: var(--fs-eyebrow); font-weight: var(--fw-medium);
  letter-spacing: var(--tracking-eyebrow); text-transform: uppercase; margin: 0; }
.dsx-sol .pcard.cob .pkicker { color: var(--acc-cob); }
.dsx-sol .pcard.prov .pkicker { color: #00939D; }

.dsx-sol .pcard h3 { font-size: 25px; font-weight: var(--fw-medium); line-height: var(--lh-snug);
  letter-spacing: -.01em; color: var(--fg-1); margin: 0; }
.dsx-sol .pdesc { font-size: 15.5px; line-height: var(--lh-relaxed); color: var(--fg-2); margin: 12px 0 0; }

.dsx-sol .plink { margin-top: auto; padding-top: 28px; }
.dsx-sol .plink a { display: inline-flex; align-items: center; gap: 9px; font-size: 15px;
  font-weight: var(--fw-medium); text-decoration: none; padding: 14px 26px; border-radius: var(--radius-md);
  color: #fff; transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-base) var(--ease-out), background var(--dur-base); }
.dsx-sol .plink svg { width: 16px; height: 16px; transition: transform var(--dur-base) var(--ease-out); }
.dsx-sol .plink a:hover svg { transform: translateX(4px); }
.dsx-sol .plink a:active { transform: scale(.98); }
.dsx-sol .pcard.cob .plink a { background: var(--intiza-azul-oscuro); box-shadow: 0 8px 22px rgba(5,38,208,.28); }
.dsx-sol .pcard.cob .plink a:hover { background: #0420B8; box-shadow: 0 12px 28px rgba(5,38,208,.34); }
.dsx-sol .pcard.prov .plink a { background: var(--acc-prov); box-shadow: 0 8px 22px rgba(2,174,185,.30); }
.dsx-sol .pcard.prov .plink a:hover { background: #029BA5; box-shadow: 0 12px 28px rgba(2,174,185,.36); }

@media (prefers-reduced-motion: reduce) {
  .dsx-sol .pcard { transition: none !important; }
  .dsx-sol .section:not(.in) .pcard { transform: none !important; }
}
@media (max-width: 920px) { .dsx-sol .split { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; } }
@media (max-width: 760px) {
  .dsx-sol .section { padding: 64px 0 32px; }
  .dsx-sol .wrap { padding: 0 24px; }
  .dsx-sol h2 { font-size: 30px; }
  .dsx-sol .pcard { padding: 32px 26px 30px; }
}

/* ============================================================
   SOCIO TECNOLÓGICO — mismo bloque que las páginas de producto,
   acá en el azul de marca (la home no es de un producto).
   ============================================================ */
.dsx-socio .section { position: relative; overflow: hidden; padding: 48px 0;
  background: var(--bg-soft); color: var(--fg-1); }
.dsx-socio .wrap { position: relative; z-index: 2; max-width: 1180px; margin: 0 auto; padding: 0 36px; }
.dsx-socio .head { text-align: center; margin: 0 auto 56px; }
.dsx-socio h2 { font-size: 40px; font-weight: var(--fw-medium); line-height: var(--lh-snug);
  letter-spacing: var(--tracking-tight); color: var(--fg-1); margin: 0; white-space: nowrap; }
.dsx-socio h2 em { font-style: normal; color: var(--intiza-azul-oscuro); }
.dsx-socio .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 52px; }
/* sin contenedor: el número calado es el elemento gráfico de la sección */
.dsx-socio .card { position: relative; transition: transform .7s var(--ease-out); }
.dsx-socio .section:not(.in) .card { transform: translateY(26px); }
.dsx-socio .section:not(.in) .card:nth-child(2) { transition-delay: .1s; }
.dsx-socio .section:not(.in) .card:nth-child(3) { transition-delay: .2s; }
.dsx-socio .chead { display: block; margin-bottom: 14px; }
/* números calados; el relleno sólido es el fallback sin text-stroke */
.dsx-socio .num { display: block; font-size: 62px; font-weight: var(--fw-bold); line-height: 1;
  letter-spacing: -.03em; color: color-mix(in srgb, var(--accent) 45%, transparent); }
@supports (-webkit-text-stroke: 1px red) {
  .dsx-socio .num { color: transparent; -webkit-text-stroke: 1px color-mix(in srgb, var(--accent) 75%, transparent); }
}
.dsx-socio .card h3 { font-size: 21px; font-weight: var(--fw-medium); line-height: var(--lh-snug);
  color: var(--fg-1); margin: 0; letter-spacing: -.01em; }
.dsx-socio .card p { font-size: 14.5px; line-height: var(--lh-relaxed); color: var(--fg-2); margin: 14px 0 0; }
@media (prefers-reduced-motion: reduce) { .dsx-socio .card { transition: none !important; } .dsx-socio .section:not(.in) .card { transform: none !important; } }
@media (max-width: 880px) { .dsx-socio .cards { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; } }
@media (max-width: 980px) { .dsx-socio h2 { white-space: normal; text-wrap: balance; } }
@media (max-width: 760px) { .dsx-socio .section { padding: 32px 0; } .dsx-socio .wrap { padding: 0 24px; } .dsx-socio h2 { font-size: 30px; } }

/* ============================================================
   CASOS DE ÉXITO — sección compartida (site.css, .sx-casos)
   re-tematizada en claro sin tocar el archivo original.
   ============================================================ */
.ds-page .sx-casos .section { background: var(--bg-soft); padding: 48px 0 96px; }
.ds-page .sx-casos .shell { background: var(--surface-card); border: 1px solid var(--border);
  box-shadow: 0 20px 34px -16px rgba(5,38,208,.30), 0 3px 10px -4px rgba(5,38,208,.10); }
/* franja de acento en el borde superior, el mismo recurso que las tarjetas de solución */
.ds-page .sx-casos .shell::before { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0;
  width: auto; height: 4px; transform: none; opacity: 1; z-index: 3;
  background: linear-gradient(90deg, var(--intiza-azul-oscuro), var(--acc-cob)); }
.ds-page .sx-casos h2 { color: var(--fg-1); font-weight: var(--fw-medium); }
.ds-page .sx-casos h2 em { color: var(--intiza-azul-oscuro); }
.ds-page .sx-casos .tlogo img { filter: var(--tint-oscuro); opacity: .65; }

.ds-page .sx-casos .nav { background: var(--surface-card); border: 1px solid var(--border);
  color: var(--intiza-azul-oscuro); box-shadow: var(--shadow-3); }
.ds-page .sx-casos .nav:hover { background: var(--celeste-40); border-color: var(--border-strong); }
.ds-page .sx-casos .case { background: var(--surface-card); border: 1px solid var(--border-soft);
  box-shadow: var(--shadow-2); }
.ds-page .sx-casos .case:hover { border-color: var(--border); box-shadow: var(--shadow-3); }
.ds-page .sx-casos .ctag { background: var(--intiza-azul-oscuro); color: #fff; }
.ds-page .sx-casos .cbody h3 { color: var(--fg-1); font-weight: var(--fw-medium); }
.ds-page .sx-casos .cbody p { color: var(--fg-2); }
.ds-page .sx-casos .clink { color: var(--intiza-azul-oscuro); font-weight: var(--fw-medium); }
.ds-page .sx-casos .cover::after { background: linear-gradient(180deg, rgba(10,18,51,0) 55%, rgba(10,18,51,.28)); }
.ds-page .sx-casos .allcases { margin-top: 8px; }
.ds-page .sx-casos .btn { background: var(--intiza-azul-oscuro); color: #fff; font-weight: var(--fw-medium);
  box-shadow: 0 8px 22px rgba(5,38,208,.28); }
.ds-page .sx-casos .btn:hover { background: #0420B8; transform: none; box-shadow: 0 12px 28px rgba(5,38,208,.34); }
.ds-page .sx-casos .btn:active { transform: scale(.98); }
@media (max-width: 760px) { .ds-page .sx-casos .section { padding: 32px 0 64px; } }

/* ============================================================
   CTA "Conversemos" — franja azul de cierre, antes del footer
   ============================================================ */
.ds-page .cta-contacto { position: relative; overflow: hidden; background: var(--gradient-deep); color: #fff; }
.ds-page .cta-contacto::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: url(/assets/ds/cell-grid.svg); background-size: 132px; opacity: .34;
  filter: brightness(0) invert(1);
  -webkit-mask-image: linear-gradient(115deg, transparent 48%, #000 100%);
  mask-image: linear-gradient(115deg, transparent 48%, #000 100%); }
.ds-page .cta-contacto .wrap { position: relative; z-index: 1; }
.ds-page .cta-kicker { color: var(--intiza-celeste); font-weight: var(--fw-medium); letter-spacing: var(--tracking-eyebrow); }
.ds-page .cta-shell h2 { color: #fff; font-weight: var(--fw-medium); }
.ds-page .cta-sub { color: rgba(255,255,255,.82); }
.ds-page .cta-bullets li { color: rgba(255,255,255,.88); }
.ds-page .cta-bullets svg { color: #8FB4FF; }

/* El form de HubSpot se renderiza dentro de un <iframe>, así que su interior
   no se puede estilar desde el sitio: sobre un fondo azul queda ilegible, así
   que va en un contenedor blanco. */
.ds-page .cta-form { background: var(--surface-card); border-radius: var(--radius-xl);
  padding: 30px 32px; box-shadow: var(--shadow-4); }
.ds-page .cta-form .cta-form-ph { color: var(--fg-3); }
@media (max-width: 920px) { .ds-page .cta-form { padding: 24px 20px; } }

/* ============================================================
   FOOTER — se mantiene oscuro (el sistema lo prevé así), pero
   en el azul de marca y sin los acentos teal que no son del kit.
   ============================================================ */
body:has(.ds-page) .sitefooter { background: var(--fg-1); border-top: 0; margin-top: 0; }
body:has(.ds-page) .sitefooter::before { background: linear-gradient(90deg, transparent, var(--acc-cob), transparent); opacity: .55; }
body:has(.ds-page) .ft-col h4 { color: var(--intiza-celeste); font-weight: var(--fw-medium); }
body:has(.ds-page) .ft-cta { background: #fff; color: var(--intiza-azul-oscuro); font-weight: var(--fw-medium);
  box-shadow: 0 10px 26px rgba(5,38,208,.28); }
body:has(.ds-page) .ft-cta:hover { background: var(--intiza-celeste); transform: none; box-shadow: 0 14px 32px rgba(5,38,208,.34); }
body:has(.ds-page) .ft-socials a:hover { background: rgba(6,122,251,.22); }
