/* ═══════════════════════════════════════════════════════════════════
   REDISEÑO · concepto "señalética porteña"
   BlackBuckets nació en la calle Valdenegro: el sistema visual sale del
   cartel de calle. Placas en azul cartel con letra blanca, botones con
   forma de cartel de dirección, una sola familia tipográfica (Archivo)
   que cambia de ancho según el rol.
   Colores: los de la marca (azul #1A3875, verde #059669, naranja #EA580C).
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --rd-cartel:#0E1F4D;      /* el azul de la marca, en placa */
  --rd-azul:#1A3875;        /* azul de marca */
  --rd-azul-2:#2A4585;
  --rd-papel:#F5F6FA;       /* fondo de lectura */
  --rd-blanco:#FFFFFF;
  --rd-tinta:#0B1436;       /* texto */
  --rd-gris:#4A5276;        /* texto secundario */
  --rd-linea:#DADEEB;
  --rd-verde:#059669;       /* el "ahora" */
  --rd-naranja:#EA580C;     /* el "antes" */
  --rd-font:'Archivo', 'Helvetica Neue', Arial, sans-serif;

  /* la tipografía de toda la página pasa a Archivo */
  --font-head: var(--rd-font);
  --font-body: var(--rd-font);
  --font-serif: var(--rd-font);
  --font-mono: var(--rd-font);
}
body{ font-family: var(--rd-font); color: var(--rd-tinta); background: var(--rd-papel); }

/* ── Botón con forma de cartel de dirección ─────────────────────── */
.rd-flecha{
  --h:52px;
  display:inline-flex; align-items:center; gap:10px;
  height:var(--h); padding:0 calc(var(--h)*.62) 0 22px;
  background:var(--rd-cartel); color:#fff !important;
  font-family:var(--rd-font); font-weight:700; font-size:16px; letter-spacing:.005em; text-decoration:none;
  clip-path:polygon(0 0, calc(100% - var(--h)*.42) 0, 100% 50%, calc(100% - var(--h)*.42) 100%, 0 100%);
  border-radius:6px 0 0 6px;
  transition:background .2s, transform .2s;
}
.rd-flecha:hover{ background:var(--rd-azul); transform:translateX(3px); }
.rd-flecha:focus-visible{ outline:3px solid var(--rd-verde); outline-offset:3px; }
.rd-flecha.chica{ --h:40px; font-size:14px; padding-left:16px; }
.rd-link{ font-family:var(--rd-font); font-weight:600; color:var(--rd-tinta); text-decoration:none; border-bottom:2px solid var(--rd-linea); padding-bottom:2px; transition:border-color .2s; }
.rd-link:hover{ border-color:var(--rd-tinta); }

/* ── Nav ─────────────────────────────────────────────────────────── */
nav{ background:rgba(245,246,250,.88) !important; border-bottom:1px solid var(--rd-linea) !important; }
.nav-logo-text{ font-family:var(--rd-font); font-weight:800; letter-spacing:-.01em; font-stretch:105%; }
.nav-links a:not(.btn-nav):not(.lang-toggle){ font-family:var(--rd-font); font-weight:500; color:var(--rd-tinta); }
.nav-links .btn-nav{ display:none !important; }
.nav-links .rd-flecha{ margin-left:6px; }

/* ── HERO: el cartel de la calle ─────────────────────────────────── */
.rd-hero{ position:relative; background:var(--rd-papel); overflow:hidden; }
.rd-hero-in{
  max-width:1200px; margin:0 auto; min-height:calc(100vh - 64px);
  padding:112px max(24px, env(safe-area-inset-left,0px)) 72px max(24px, env(safe-area-inset-right,0px));
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:64px; align-items:center;
}
.rd-hero-txt{ min-width:0; }
.rd-hero h1{
  font-family:var(--rd-font); font-weight:800; font-stretch:112%;
  font-size:clamp(2.6rem, 5.4vw, 4.6rem); line-height:.98; letter-spacing:-.025em;
  color:var(--rd-tinta); margin:0 0 24px; text-wrap:balance;
}
.rd-hero-sub{ font-size:clamp(1.05rem,1.4vw,1.2rem); line-height:1.6; color:var(--rd-gris); max-width:34em; margin:0 0 36px; }
.rd-hero-ctas{ display:flex; align-items:center; gap:28px; flex-wrap:wrap; }

.rd-cartel-zona{ min-width:0; display:grid; justify-items:center; gap:22px; }
.rd-poste{ position:relative; width:100%; display:grid; justify-items:center; }
.rd-cartel{
  position:relative; width:min(100%, 600px); aspect-ratio:500/211;
  background:var(--rd-cartel); border-radius:12px; color:#F1F3FA;
  container-type:size; perspective:600px;
  box-shadow:0 1px 0 rgba(255,255,255,.08) inset, 0 2px 0 rgba(0,0,0,.25), 0 24px 40px -18px rgba(14,31,77,.55), 0 50px 90px -40px rgba(14,31,77,.45);
  font-family:'Archivo', Arial, sans-serif; font-weight:600; font-stretch:100%;
  will-change:transform;
}
.rd-cartel::before, .rd-cartel::after{ /* los dos tornillos */
  content:""; position:absolute; top:50%; width:5px; height:5px; margin-top:-2.5px; border-radius:50%;
  background:rgba(255,255,255,.32); pointer-events:none;
}
.rd-cartel::before{ left:2.6%; }
.rd-cartel::after{ right:2.6%; }
.rd-cl{ position:absolute; left:6%; white-space:nowrap; line-height:1; }
.rd-cl1{ top:9%;  font-size:20cqh; font-weight:700; }
.rd-cl2{ top:49%; font-size:18cqh; font-weight:700; }
.rd-cl3{ top:77%; font-size:10cqh; font-weight:600; opacity:.9; }
.rd-slot{ position:relative; display:inline-block; height:1.1em; vertical-align:top; }
.rd-slot span{ position:absolute; left:0; top:0; width:100%; text-align:center; backface-visibility:hidden; transform-origin:50% 60%; }
.rd-cflecha{ position:absolute; right:7%; top:28%; width:17%; height:36%; color:#F1F3FA; }
.rd-cap{ position:relative; min-height:3em; width:min(100%,600px); text-align:center; color:var(--rd-gris); font-size:15px; line-height:1.5; }
.rd-cap p{ position:absolute; inset:0; margin:0; opacity:0; }
.rd-cap p:last-child{ opacity:1; }
.rd-on .rd-cap p{ opacity:0; }
.rd-on .rd-cap p:first-child{ opacity:1; }
.rd-cap b{ color:var(--rd-tinta); font-weight:700; }

@media (max-width: 900px){
  .rd-hero-in{ grid-template-columns:minmax(0,1fr); gap:36px; padding-top:100px; min-height:0; }
  .rd-cartel-zona{ order:-1; }
  .rd-hero-ctas{ gap:20px; }
}

/* ── QUÉ ES: tres carteles de dirección ─────────────────────────── */
.rd-quees{ background:var(--rd-papel); padding:120px 0 128px; border-top:1px solid var(--rd-linea); }
.rd-wrap{ max-width:1200px; margin:0 auto; padding-left:max(24px, env(safe-area-inset-left,0px)); padding-right:max(24px, env(safe-area-inset-right,0px)); }
.rd-h2{ font-family:var(--rd-font); font-weight:800; font-stretch:112%; font-size:clamp(2rem,4vw,3.3rem); line-height:1.02; letter-spacing:-.02em; color:var(--rd-tinta); margin:0 0 18px; max-width:18em; text-wrap:balance; }
.rd-lead{ font-size:1.15rem; line-height:1.6; color:var(--rd-gris); max-width:36em; margin:0; }
.rd-carteles{ margin-top:64px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; }
.rd-dir{ display:grid; gap:18px; align-content:start; min-width:0; }
.rd-placa{
  --h:64px; height:var(--h); display:flex; align-items:center; gap:12px;
  background:var(--rd-cartel); color:#F1F3FA; font-weight:700; font-size:1.2rem; letter-spacing:.005em;
  padding:0 calc(var(--h)*.6) 0 22px; width:fit-content; max-width:100%;
  clip-path:polygon(0 0, calc(100% - var(--h)*.4) 0, 100% 50%, calc(100% - var(--h)*.4) 100%, 0 100%);
  border-radius:8px 0 0 8px;
}
.rd-placa.izq{ /* "para quién no es" apunta para el otro lado */
  padding:0 22px 0 calc(var(--h)*.6);
  clip-path:polygon(calc(var(--h)*.4) 0, 100% 0, 100% 100%, calc(var(--h)*.4) 100%, 0 50%);
  border-radius:0 8px 8px 0; background:var(--rd-linea); color:var(--rd-cartel);
}
.rd-dir p{ margin:0; font-size:1.08rem; line-height:1.6; color:var(--rd-tinta); max-width:24em; }
@media (max-width: 900px){ .rd-carteles{ grid-template-columns:minmax(0,1fr); gap:40px; margin-top:48px; } }

/* lo que quedó viejo y no va más: la cuadrícula de fondo (hecha con degradés) */
#nosotros::before, .modules-section::before, .factory-section::before{ display:none !important; }
.marquee{ display:none !important; }

@media (prefers-reduced-motion: reduce){ .rd-flecha, .rd-flecha:hover{ transition:none; transform:none; } }

/* ── Títulos de las secciones que quedan del diseño anterior ────── */
.section-label{ display:none !important; }
.section-title{ font-family:var(--rd-font) !important; font-weight:800 !important; font-stretch:112%; letter-spacing:-.02em !important; line-height:1.02 !important; color:var(--rd-tinta) !important; }
.italic-serif, .accent-violet{ font-style:normal !important; color:inherit !important; font-family:inherit !important; }
.section-sub{ font-family:var(--rd-font) !important; color:var(--rd-gris) !important; }
.grad-line{ display:none !important; }

/* ── QUÉ CONSTRUIMOS: el poste de carteles ─────────────────────── */
.rd-func{ background:var(--rd-blanco); padding:128px 0 136px; border-top:1px solid var(--rd-linea); }
.rd-poste-grid{ margin-top:72px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:72px; align-items:center; }
.rd-pole{ position:relative; display:grid; gap:14px; justify-items:center; padding:12px 0 40px; perspective:900px; }
.rd-palo{ position:absolute; left:50%; top:-12px; bottom:0; width:14px; margin-left:-7px; background:#8A90A8; border-radius:7px 7px 2px 2px; }
.rd-palo::after{ content:""; position:absolute; left:-18px; right:-18px; bottom:-6px; height:12px; background:#8A90A8; border-radius:4px; }
.rd-sign{
  --h:58px; position:relative; z-index:1; height:var(--h); border:0; cursor:pointer;
  font-family:var(--rd-font); font-weight:700; font-size:1.08rem; color:#F1F3FA; background:var(--rd-cartel);
  width:min(300px, 46%); justify-self:start; margin-left:calc(50% + 7px);
  padding:0 calc(var(--h)*.55) 0 18px; text-align:left;
  clip-path:polygon(0 0, calc(100% - var(--h)*.4) 0, 100% 50%, calc(100% - var(--h)*.4) 100%, 0 100%);
  border-radius:4px 0 0 4px; transform-origin:0 50%; transition:background .2s, color .2s;
}
.rd-sign.izq{ justify-self:end; margin-left:0; margin-right:calc(50% + 7px); padding:0 18px 0 calc(var(--h)*.55); text-align:right;
  clip-path:polygon(calc(var(--h)*.4) 0, 100% 0, 100% 100%, calc(var(--h)*.4) 100%, 0 50%); border-radius:0 4px 4px 0; transform-origin:100% 50%; }
.rd-sign:hover{ background:var(--rd-azul-2); }
.rd-sign[aria-selected="true"]{ background:var(--rd-verde); }
.rd-sign:focus-visible{ outline:3px solid var(--rd-verde); outline-offset:4px; }
.rd-fpanel{ min-width:0; }
.rd-fp h3{ font-family:var(--rd-font); font-weight:800; font-stretch:108%; font-size:clamp(1.6rem,2.6vw,2.2rem); line-height:1.08; letter-spacing:-.015em; color:var(--rd-tinta); margin:0 0 6px; }
.rd-fp .rd-fsub{ font-weight:600; color:var(--rd-verde); margin:0 0 18px; font-size:1.05rem; }
.rd-fp p{ font-size:1.12rem; line-height:1.65; color:var(--rd-gris); max-width:30em; margin:0; }
.rd-fp + .rd-fp{ margin-top:40px; }
.rd-js .rd-fp{ display:none; }
.rd-js .rd-fp.sel{ display:block; }
.rd-js .rd-fp + .rd-fp{ margin-top:0; }
@media (max-width: 900px){
  .rd-poste-grid{ grid-template-columns:minmax(0,1fr); gap:40px; margin-top:48px; }
  .rd-sign{ width:min(260px, 72%); font-size:1rem; --h:52px; }
}

/* ── CASOS: el logo como sticker y el cartel de antes y hoy ─────── */
.rd-casos{ background:var(--rd-papel); padding:128px 0 136px; border-top:1px solid var(--rd-linea); }
.rd-casos-grid{ margin-top:72px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px; }
.rd-caso{ min-width:0; display:grid; gap:16px; align-content:start; }
.rd-caso-logo{ height:200px; border-radius:16px; background:var(--placa,#fff); display:grid; place-items:center; transform:rotate(-1.5deg); box-shadow:0 0 0 6px #fff, 0 18px 30px -16px rgba(11,20,54,.35); margin:6px 6px 14px; }
.rd-caso:nth-child(2) .rd-caso-logo{ transform:rotate(1.2deg); }
.rd-caso:nth-child(3) .rd-caso-logo{ transform:rotate(-.6deg); box-shadow:0 0 0 6px #fff, 0 0 0 7px var(--rd-linea), 0 18px 30px -16px rgba(11,20,54,.35); }
.rd-caso-logo img{ max-width:62%; max-height:68%; object-fit:contain; }
.rd-caso h3{ font-family:var(--rd-font); font-weight:800; font-stretch:106%; font-size:1.4rem; line-height:1.15; margin:0; color:var(--rd-tinta); }
.rd-rubro{ margin:-10px 0 0; color:var(--rd-gris); font-size:.98rem; }
.rd-ah{ display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.rd-mini{ --h:34px; height:var(--h); display:inline-flex; align-items:center; font-weight:700; font-size:.92rem; color:#fff; }
.rd-mini.antes{ background:var(--rd-naranja); padding:0 12px 0 calc(var(--h)*.55); clip-path:polygon(calc(var(--h)*.4) 0,100% 0,100% 100%,calc(var(--h)*.4) 100%,0 50%); border-radius:0 4px 4px 0; text-decoration:line-through; text-decoration-thickness:2px; }
.rd-mini.hoy{ background:var(--rd-verde); padding:0 calc(var(--h)*.55) 0 12px; clip-path:polygon(0 0,calc(100% - var(--h)*.4) 0,100% 50%,calc(100% - var(--h)*.4) 100%,0 100%); border-radius:4px 0 0 4px; }
.rd-caso blockquote{ margin:4px 0 0; font-size:1.12rem; line-height:1.55; color:var(--rd-tinta); }
.rd-autor{ margin:0; color:var(--rd-gris); font-size:.98rem; }
.rd-autor b{ color:var(--rd-tinta); }
.rd-mods{ margin:0; font-size:.92rem; color:var(--rd-gris); line-height:1.5; }
.rd-mods b{ color:var(--rd-tinta); }
.pendiente{ background:#FFF2CC; color:#7A5600; padding:0 4px; border-radius:3px; }
@media (max-width: 900px){ .rd-casos-grid{ grid-template-columns:minmax(0,1fr); gap:64px; margin-top:48px; } }

/* ── PROCESO: una línea de subte ─────────────────────────────────── */
.rd-proc{ background:var(--rd-blanco); padding:128px 0 140px; border-top:1px solid var(--rd-linea); overflow:hidden; }
.rd-linea{ position:relative; margin-top:80px; }
.rd-badge{ position:absolute; left:0; top:0; width:56px; height:56px; border-radius:50%; background:var(--rd-cartel); color:#fff; display:grid; place-items:center; font-weight:800; font-size:.95rem; z-index:2; }
.rd-via{ position:absolute; left:28px; right:calc(-1 * max(24px, env(safe-area-inset-right,0px)) - 40px); top:22px; height:12px; background:var(--rd-linea); border-radius:6px; }
.rd-via i{ position:absolute; inset:0; background:var(--rd-azul); border-radius:6px; transform-origin:0 50%; }
.rd-est{ list-style:none; margin:0; padding:0 0 0 96px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; position:relative; z-index:1; }
.rd-est li{ display:grid; gap:10px; align-content:start; min-width:0; }
.rd-est .pto{ width:40px; height:40px; margin-top:8px; border-radius:50%; background:#fff; border:7px solid var(--rd-azul); }
.rd-est h3{ font-family:var(--rd-font); font-weight:800; font-stretch:108%; font-size:1.35rem; margin:10px 0 0; color:var(--rd-tinta); }
.rd-est p{ margin:0; color:var(--rd-gris); line-height:1.55; max-width:20em; }
.rd-sigue{ margin:40px 0 0 96px; color:var(--rd-gris); font-weight:600; }
.rd-js .rd-est .pto{ border-color:var(--rd-linea); transition:border-color .3s, transform .3s; }
.rd-js .rd-est li.lit .pto{ border-color:var(--rd-azul); transform:scale(1.08); }
@media (max-width: 900px){
  .rd-via{ left:22px; right:auto; width:12px; top:28px; bottom:-60px; height:auto; }
  .rd-via i{ transform-origin:50% 0; }
  .rd-badge{ width:56px; height:56px; }
  .rd-est{ grid-template-columns:minmax(0,1fr); padding:72px 0 0 0; gap:36px; }
  .rd-est li{ grid-template-columns:56px minmax(0,1fr); column-gap:16px; }
  .rd-est .pto{ grid-row:span 2; justify-self:center; margin-top:0; }
  .rd-est h3{ margin:4px 0 0; }
  .rd-sigue{ margin-left:72px; }
}

/* ── CONTACTO ─────────────────────────────────────────────────────── */
.lead-section{ background:var(--rd-papel) !important; border-top:1px solid var(--rd-linea); }
.lead-section::before, .lead-section::after{ display:none !important; }
.lead-field label{ font-family:var(--rd-font) !important; text-transform:none !important; letter-spacing:0 !important; font-weight:600 !important; font-size:15px !important; color:var(--rd-tinta) !important; }
.lead-field input, .lead-field select, .lead-field textarea{ font-family:var(--rd-font) !important; font-size:16px !important; height:54px; border:2px solid var(--rd-linea) !important; border-radius:8px !important; background:#fff !important; box-shadow:none !important; }
.lead-field input:focus{ border-color:var(--rd-azul) !important; outline:none; }
.lead-submit{ font-family:var(--rd-font) !important; font-weight:700 !important; font-size:17px !important; height:58px; background:var(--rd-cartel) !important; border-radius:6px 0 0 6px !important; box-shadow:none !important;
  clip-path:polygon(0 0, calc(100% - 26px) 0, 100% 50%, calc(100% - 26px) 100%, 0 100%); }
.lead-submit:hover{ background:var(--rd-azul) !important; }
.mail-cta{ background:#fff !important; border:2px solid var(--rd-linea) !important; box-shadow:none !important; border-radius:12px !important; }
.mail-cta-eyebrow{ font-family:var(--rd-font) !important; text-transform:none !important; letter-spacing:0 !important; font-weight:700 !important; font-size:1.1rem !important; color:var(--rd-tinta) !important; }
.mail-cta-btn{ background:var(--rd-cartel) !important; box-shadow:none !important; border-radius:6px !important; font-family:var(--rd-font) !important; }

/* ── FOOTER: el último cartel ─────────────────────────────────────── */
footer{ background:var(--rd-cartel) !important; color:#F1F3FA; border-top:0 !important; }
footer .footer-logo img{ filter:brightness(0) invert(1); }
footer .footer-social a svg{ fill:#F1F3FA !important; }
.rd-foot-top{ padding:96px 0 64px; display:grid; gap:22px; justify-items:start; }
.rd-foot-top h2{ font-family:var(--rd-font); font-weight:800; font-stretch:112%; font-size:clamp(2.2rem,5vw,4rem); line-height:1; letter-spacing:-.02em; margin:0; color:#fff; max-width:14em; }
.rd-foot-top .rd-flecha{ background:#fff; color:var(--rd-cartel) !important; --h:60px; font-size:18px; }
.rd-foot-top .rd-flecha:hover{ background:var(--rd-verde); color:#fff !important; }
.rd-foot-top p{ margin:0; color:rgba(241,243,250,.75); }
.rd-foot-top a.rd-mail{ color:#fff; font-weight:600; }

/* ajustes: reglas viejas que se metían */
.rd-caso-logo img{ position:static !important; width:auto !important; height:auto !important; max-width:62% !important; max-height:150px !important; transform:none !important; }
#como-funciona.rd-proc{ background:var(--rd-blanco) !important; }
#como-funciona.rd-proc::before, #como-funciona.rd-proc::after, #casos.rd-casos::before, #casos.rd-casos::after, #funciones.rd-func::before, #funciones.rd-func::after{ display:none !important; }
.section-title .accent-violet, .section-title .italic-serif{ font-weight:inherit !important; }

/* celu: el poste va a la izquierda y todos los carteles apuntan a la derecha */
.rd-func{ overflow:hidden; }
@media (max-width: 900px){
  .rd-palo{ left:24px; margin-left:0; }
  .rd-pole{ justify-items:start; }
  .rd-sign, .rd-sign.izq{ justify-self:start; margin:0 0 0 38px; width:min(320px, calc(100% - 44px)); text-align:left;
    padding:0 calc(var(--h)*.55) 0 16px; clip-path:polygon(0 0, calc(100% - var(--h)*.4) 0, 100% 50%, calc(100% - var(--h)*.4) 100%, 0 100%);
    border-radius:4px 0 0 4px; transform-origin:0 50%; }
}

/* ═══════════════════════════════════════════════════════════════════
   v3 · referencia Extrapoladas: header flotante, portada con el balde del
   logo de BBs en 3D, hilera de logos que pasa sola, cartel de la calle.
   Una sola familia de color: los azules de la marca. Sin degradados.
   ═══════════════════════════════════════════════════════════════════ */

/* ── Header flotante ─────────────────────────────────────────────── */
nav{ top:14px !important; left:16px !important; right:16px !important; max-width:1240px; margin:0 auto;
  background:#fff !important; border:1px solid var(--rd-linea) !important; border-radius:14px;
  box-shadow:0 14px 34px -20px rgba(11,20,54,.4) !important; backdrop-filter:none !important; -webkit-backdrop-filter:none !important; }
.nav-inner{ height:62px !important; padding:0 16px 0 24px !important; }
.nav-links{ gap:26px !important; }
.nav-links a:not(.btn-nav):not(.lang-toggle):not(.rd-flecha){ font-size:11.5px !important; font-weight:600 !important; letter-spacing:.14em;
  text-transform:uppercase; color:var(--rd-gris) !important; padding:6px 0 !important; border-bottom:2px solid transparent !important; transition:color .2s, border-color .2s; }
.nav-links a:not(.btn-nav):not(.lang-toggle):not(.rd-flecha):hover{ color:var(--rd-tinta) !important; }
.nav-links a.active:not(.rd-flecha){ color:var(--rd-azul) !important; border-bottom-color:var(--rd-azul) !important; }
.mobile-menu{ top:86px !important; }
#scrollProgress{ background:var(--rd-azul) !important; box-shadow:none !important; height:2px !important; }

/* ── Botones: rectángulo sólido con flecha, como la referencia ───── */
.rd-flecha{ --h:50px; clip-path:none; border-radius:6px; padding:0 26px; gap:12px; text-transform:uppercase; letter-spacing:.12em;
  font-size:12.5px; font-weight:700; box-shadow:0 12px 26px -14px rgba(14,31,77,.7); }
.rd-flecha::after{ content:"→"; font-size:15px; letter-spacing:0; transition:transform .2s; }
.rd-flecha:hover{ transform:none; }
.rd-flecha:hover::after{ transform:translateX(4px); }
.rd-flecha.chica{ --h:40px; padding:0 18px; font-size:11.5px; box-shadow:none; }
.rd-link{ text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:700; color:var(--rd-gris); border-bottom:1px solid currentColor; padding-bottom:4px; }
.rd-link::after{ content:" →"; }
.rd-link:hover{ color:var(--rd-tinta); border-color:currentColor; }

/* ── Detalles de la referencia: etiqueta, rayita, cursiva ────────── */
.rd-chip{ display:inline-block; margin:0 0 18px; padding:6px 12px; border-radius:4px; background:#E4E9F4; color:var(--rd-azul);
  font-size:11px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.rd-h2::after{ content:""; display:block; width:56px; height:2px; background:var(--rd-azul); margin-top:24px; }
.rd-hero h1 em, .rd-h2 em{ font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-weight:400; font-stretch:normal; color:#224182; letter-spacing:-.01em; }
.rd-eyebrow{ display:flex; align-items:center; gap:14px; margin:0 0 22px; font-size:11.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--rd-gris); }
.rd-eyebrow::before{ content:""; width:36px; height:1px; background:currentColor; flex:none; }

/* ── Portada ─────────────────────────────────────────────────────── */
.rd-hero{ position:relative; overflow:hidden; background:var(--rd-papel); }
.rd-hero .rd-blob.b3{ position:absolute; left:-14vw; bottom:-26vw; width:46vw; aspect-ratio:1; border-radius:50%; background:#ECEFF7; z-index:0; }
.rd-hero-in{ position:relative; z-index:1; min-height:min(100vh, 900px); padding-top:130px; padding-bottom:80px;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:40px; }
.rd-hero h1{ font-weight:800; font-stretch:100%; font-size:clamp(2.6rem,4.8vw,4.3rem); line-height:1.04; letter-spacing:-.03em; margin:0 0 26px; }
.rd-hero-sub{ max-width:30em; margin:0 0 32px; }
.rd-pills{ list-style:none; margin:0 0 36px; padding:0; display:flex; flex-wrap:wrap; gap:12px; }
.rd-pills li{ background:#fff; border:1px solid var(--rd-linea); border-left:3px solid var(--rd-azul); border-radius:6px; padding:12px 18px;
  font-size:.95rem; font-weight:500; color:var(--rd-tinta); box-shadow:0 8px 18px -14px rgba(11,20,54,.45); }
.rd-pills li b{ color:#224182; font-weight:700; }
.rd-hero-ctas{ gap:30px; }

.rd-iso-zona{ position:relative; min-width:0; height:min(620px, 74vh); display:grid; place-items:center; }
.rd-iso-zona .rd-blob{ position:absolute; display:block; }
.rd-iso-zona .b1{ width:84%; aspect-ratio:1; right:0; top:6%; background:#E4E9F4; border-radius:58% 42% 52% 48% / 46% 56% 44% 54%; }
.rd-iso-zona .b2{ width:24%; aspect-ratio:1; left:6%; top:0; background:#D3DBEC; border-radius:50%; }
.rd-iso{ position:relative; z-index:1; width:min(76%, 410px); aspect-ratio:900/1003; }
.rd-iso .pz{ position:absolute; inset:0; will-change:transform; }
.rd-iso .pz img{ display:block; width:100%; height:100%; }
.rd-iso-sombra{ position:absolute; left:24%; right:24%; bottom:-2%; height:6%; border-radius:50%; background:rgba(14,31,77,.3); filter:blur(14px); }

@media (max-width: 900px){
  .rd-hero-in{ grid-template-columns:minmax(0,1fr); padding-top:116px; min-height:0; gap:8px; padding-bottom:56px; }
  .rd-iso-zona{ height:400px; }
  .rd-iso{ width:min(64%, 280px); }
  .rd-hero .rd-blob.b3{ width:90vw; left:-40vw; bottom:-30vw; }
}

/* ── Clientes: la hilera que pasa sola ───────────────────────────── */
.rd-logos{ background:#fff; border-top:1px solid var(--rd-linea); border-bottom:1px solid var(--rd-linea); padding:34px 0 40px; overflow:hidden; }
.rd-logos-tit{ text-align:center; margin:0 0 26px; padding:0 24px; font-size:11.5px; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--rd-gris); }
.rd-marquee{ overflow:hidden; }
.rd-mq-track{ display:flex; width:max-content; animation:rdMq 36s linear infinite; }
.rd-marquee:hover .rd-mq-track{ animation-play-state:paused; }
.rd-mq-set{ display:flex; align-items:center; gap:100px; padding:0 100px 0 0; margin:0; list-style:none; }
.rd-mq-set li{ flex:none; }
.rd-mq-set img{ display:block; width:auto; }
.rd-mq-set .lg-terminal{ height:40px; }
.rd-mq-set .lg-cissi{ height:78px; }
.rd-mq-set .lg-viandas{ height:76px; }
@keyframes rdMq{ to{ transform:translateX(-50%); } }
@media (max-width: 900px){ .rd-mq-set{ gap:64px; padding-right:64px; } .rd-mq-set .lg-terminal{ height:32px; } .rd-mq-set .lg-cissi{ height:62px; } .rd-mq-set .lg-viandas{ height:60px; } }
@media (prefers-reduced-motion: reduce){ .rd-mq-track{ animation:none; } }

/* ── La calle: el cartel vuelve, mediano ─────────────────────────── */
.rd-calle{ background:var(--rd-papel); padding:120px 0 128px; }
.rd-calle-in{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:72px; align-items:center; }
.rd-calle-cartel{ display:grid; justify-items:center; }
.rd-calle-cartel::after{ content:""; display:block; width:14px; height:110px; background:#A7B0C6; border-radius:0 0 4px 4px; }
.rd-calle .rd-cartel{ width:min(100%, 460px); }
.rd-calle .rd-lead{ max-width:30em; }
@media (max-width: 900px){ .rd-calle{ padding:88px 0; } .rd-calle-in{ grid-template-columns:minmax(0,1fr); gap:40px; } .rd-calle-cartel::after{ height:64px; } }

/* ── Títulos que suben palabra por palabra ───────────────────────── */
.rd-w{ display:inline-block; overflow:hidden; vertical-align:top; padding:0 .06em .1em 0; margin:0 -.06em -.1em 0; }
.rd-w > span{ display:inline-block; will-change:transform; }
/* ajustes v3 */
.rd-pills{ gap:10px; }
.rd-pills li{ padding:11px 14px; font-size:.9rem; }
@media (max-width: 900px){ .rd-iso-zona .b2{ left:auto; right:6%; top:2%; width:20%; } .rd-iso-zona{ margin-top:16px; } }
/* Qué es: tarjetas como las de la referencia (borde arriba de color, sin flechas) */
.rd-dir{ background:#fff; border:1px solid var(--rd-linea); border-top:3px solid var(--rd-azul); border-radius:8px; padding:28px 26px 30px; gap:12px; box-shadow:0 14px 30px -24px rgba(11,20,54,.5); }
.rd-placa, .rd-placa.izq{ clip-path:none !important; background:none !important; color:var(--rd-azul) !important; height:auto !important; padding:0 !important; border-radius:0 !important;
  font-size:11.5px !important; font-weight:700 !important; letter-spacing:.18em; text-transform:uppercase; justify-self:start; }
.rd-dir:last-child{ border-top-color:#A7B0C6; }
.rd-dir:last-child .rd-placa{ color:var(--rd-gris) !important; }
.lead-submit{ clip-path:none !important; border-radius:6px !important; text-transform:uppercase; letter-spacing:.12em; font-size:13px !important; }

/* ═══════════════════════════════════════════════════════════════════
   v4 · menos plano sin degradés: capas de sombra, vidrio, grano sutil
   y objetos 3D con el material del balde. Sin verde.
   ═══════════════════════════════════════════════════════════════════ */
:root{
  --rd-verde:#2A4585;   /* el verde de antes pasa a azul: no va más verde en la página */
  --rd-noche:#0B1A42;
  --rd-tinte:#E4E9F4;
  --rd-acento:#224182;
  --rd-grano:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  --rd-sombra:inset 0 1px 0 #fff, 0 1px 2px rgba(11,20,54,.05), 0 24px 48px -30px rgba(11,20,54,.45);
}
.rd-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ── Header: hamburguesa antes de que los links se amontonen ─────── */
@media (max-width: 1180px){
  .nav-links{ display:none !important; }
  .hamburger{ display:flex !important; }
}

/* ── Portada: los tres pilares pegados a cada pieza del balde ────── */
.rd-tag{ position:absolute; z-index:2; display:inline-flex; align-items:center; gap:10px; white-space:nowrap;
  padding:9px 16px 9px 9px; border-radius:12px; font-size:14px; font-weight:500; color:var(--rd-tinta);
  background:rgba(255,255,255,.6); -webkit-backdrop-filter:blur(14px) saturate(150%); backdrop-filter:blur(14px) saturate(150%);
  border:1px solid rgba(255,255,255,.95); box-shadow:inset 0 1px 0 #fff, 0 2px 4px rgba(11,20,54,.06), 0 20px 36px -16px rgba(11,20,54,.5); }
.rd-tag b{ font-weight:700; color:var(--rd-acento); }
.rd-tag i{ font-style:normal; flex:none; width:28px; height:28px; border-radius:8px; display:grid; place-items:center;
  font-size:11px; font-weight:700; letter-spacing:.04em; color:#fff; background:var(--rd-cartel); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.rd-tag::before{ content:""; position:absolute; top:50%; width:40px; height:1.5px; background:rgba(26,56,117,.4); }
.rd-tag::after{ content:""; position:absolute; top:50%; width:7px; height:7px; margin-top:-3px; border-radius:50%; background:var(--rd-azul); box-shadow:0 0 0 3px rgba(255,255,255,.8); }
.t-rim{ left:84%; top:4%; }   .t-rim::before{ right:100%; } .t-rim::after{ right:calc(100% + 40px); }
.t-mid{ right:88%; top:45%; }  .t-mid::before{ left:100%; }  .t-mid::after{ left:calc(100% + 40px); }
.t-bot{ left:80%; top:72%; }  .t-bot::before{ right:100%; } .t-bot::after{ right:calc(100% + 40px); }
@media (max-width: 1280px){ .rd-tag{ font-size:13px; } .t-rim{ left:70%; top:-6%; } .t-bot{ left:66%; } .t-mid{ right:74%; } }
@media (max-width: 900px){
  .rd-tag{ font-size:12px; padding:7px 11px 7px 7px; gap:8px; white-space:normal; width:max-content; max-width:150px; line-height:1.25; }
  .rd-tag i{ width:22px; height:22px; font-size:10px; border-radius:6px; }
  .rd-tag::before, .rd-tag::after{ display:none; }
  .t-rim{ left:62%; top:-8%; } .t-mid{ right:72%; top:42%; } .t-bot{ left:64%; top:70%; }
}

/* ── La calle: remate ────────────────────────────────────────────── */
.rd-calle .rd-lead b{ color:var(--rd-tinta); }
.rd-calle-remate{ margin:22px 0 0; font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-size:clamp(1.45rem,2.3vw,1.9rem); line-height:1.25; color:var(--rd-tinta); }
.rd-calle-remate em{ color:var(--rd-acento); }

/* ── Qué es: lista editorial, sin tarjetas ───────────────────────── */
.rd-manif{ list-style:none; margin:56px 0 0; padding:0; border-top:1px solid var(--rd-linea); }
.rd-manif li{ display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:32px; align-items:baseline; padding:30px 0; border-bottom:1px solid var(--rd-linea); }
.rd-mk{ font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-size:clamp(1.2rem,1.9vw,1.55rem); color:var(--rd-acento); }
.rd-manif p{ margin:0; font-size:clamp(1.2rem,2.1vw,1.7rem); line-height:1.35; font-weight:600; letter-spacing:-.01em; color:var(--rd-tinta); max-width:26em; }
.rd-manif li.no .rd-mk, .rd-manif li.no p{ color:#8A93AE; }
@media (max-width: 900px){ .rd-manif{ margin-top:32px; } .rd-manif li{ grid-template-columns:minmax(0,1fr); gap:6px; padding:22px 0; } }

/* ── Qué hacemos: grilla con relieve y objetos 3D ────────────────── */
.rd-func{ background:var(--rd-blanco); }
.rd-bento{ margin-top:60px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.rd-srv{ position:relative; overflow:hidden; display:grid; grid-template-areas:"ico" "tx"; align-content:start; padding:26px 30px 32px; min-width:0;
  border-radius:22px; background:#fff; border:1px solid #E3E7F1; box-shadow:var(--rd-sombra);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s; }
.rd-srv:hover{ transform:translateY(-6px); box-shadow:inset 0 1px 0 #fff, 0 1px 2px rgba(11,20,54,.05), 0 38px 60px -30px rgba(11,20,54,.55); }
.rd-srv-ico{ grid-area:ico; width:128px; height:128px; margin:0 0 14px -12px; filter:drop-shadow(0 16px 14px rgba(11,20,54,.22)); transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.rd-srv:hover .rd-srv-ico{ transform:translateY(-8px) rotate(-6deg) scale(1.06); }
.rd-srv-tx{ grid-area:tx; min-width:0; }
.rd-srv h3{ font-family:var(--rd-font); font-weight:800; font-size:1.4rem; line-height:1.15; letter-spacing:-.01em; margin:0; color:var(--rd-tinta); }
.rd-srv .rd-fsub{ margin:6px 0 10px; font-weight:600; color:var(--rd-acento); }
.rd-srv p{ margin:0; color:var(--rd-gris); line-height:1.6; max-width:34em; }
.rd-srv .rd-link{ display:inline-block; margin-top:18px; }
.s-ops{ grid-column:span 2; grid-template-areas:"tx ico"; grid-template-columns:minmax(0,1fr) auto; align-items:center; column-gap:24px;
  background:var(--rd-cartel) var(--rd-grano); border-color:var(--rd-cartel); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 30px 60px -30px rgba(11,20,54,.7); }
.s-ops .rd-srv-ico{ width:230px; height:230px; margin:0; filter:drop-shadow(0 22px 22px rgba(0,0,0,.4)); }
.s-ops h3{ color:#fff; font-size:clamp(1.6rem,2.4vw,2.1rem); }
.s-ops .rd-fsub{ color:#AFC0E6; }
.s-ops p{ color:rgba(241,243,250,.78); }
.s-integ{ background:var(--rd-tinte); border-color:#D6DEEE; box-shadow:inset 0 1px 0 rgba(255,255,255,.7), 0 24px 48px -30px rgba(11,20,54,.4); }
.s-buoy{ grid-column:span 3; grid-template-areas:"ico tx"; grid-template-columns:auto minmax(0,1fr); align-items:center; column-gap:28px; background:#EEF1F8; }
.s-buoy .rd-srv-ico{ margin:0; width:150px; height:150px; }
@media (max-width: 1000px){
  .rd-bento{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
  .s-ops, .s-buoy{ grid-column:span 2; }
}
@media (max-width: 640px){
  .rd-bento{ grid-template-columns:minmax(0,1fr); gap:16px; margin-top:36px; }
  .s-ops, .s-buoy{ grid-column:auto; grid-template-areas:"ico" "tx"; grid-template-columns:minmax(0,1fr); }
  .s-ops .rd-srv-ico{ width:150px; height:150px; margin:-6px 0 10px -10px; }
  .s-buoy .rd-srv-ico{ width:120px; height:120px; margin:0 0 10px -10px; }
  .rd-srv{ padding:22px 22px 26px; } .rd-srv-ico{ width:104px; height:104px; }
}

/* ── Integraciones: el balde en el centro y las herramientas en órbita ── */
@property --spin{ syntax:'<angle>'; inherits:true; initial-value:0deg; }
.rd-integ{ position:relative; background:var(--rd-noche) var(--rd-grano); color:#F1F3FA; padding:128px 0 136px; overflow:hidden; }
.rd-integ .rd-chip{ background:rgba(255,255,255,.1); color:#C9D4F0; }
.rd-integ .rd-h2{ color:#fff; }
.rd-integ .rd-h2::after{ background:#7D8EB1; }
.rd-integ .rd-h2 em{ color:#AFC0E6; }
.rd-integ .rd-lead{ color:rgba(241,243,250,.75); }
.rd-integ-in{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:center; }
.rd-integ-lista{ margin:40px 0 0; border-top:1px solid rgba(255,255,255,.12); }
.rd-integ-lista div{ display:grid; grid-template-columns:minmax(0,180px) minmax(0,1fr); gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.12); }
.rd-integ-lista dt{ font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:#8FA2CF; align-self:center; }
.rd-integ-lista dd{ margin:0; color:#fff; font-weight:600; }
.rd-orbita{ position:relative; width:min(100%, 560px); aspect-ratio:1; justify-self:center; container-type:size; }
.rd-orbita::before{ content:""; position:absolute; inset:33%; border-radius:50%; background:#132B66;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.08), 0 0 0 7cqw rgba(255,255,255,.035), 0 0 0 16cqw rgba(255,255,255,.025); }
.rd-orb-centro{ position:absolute; left:50%; top:50%; width:24%; transform:translate(-50%,-53%); filter:drop-shadow(0 18px 24px rgba(0,0,0,.5)); }
.rd-ring{ position:absolute; left:50%; top:50%; border-radius:50%; border:1px solid rgba(175,192,230,.2); animation:rdSpin 90s linear infinite; }
.rd-ring.r1{ width:54cqw; height:54cqw; margin:-27cqw 0 0 -27cqw; --R:27cqw; animation-duration:60s; animation-direction:reverse; }
.rd-ring.r2{ width:86cqw; height:86cqw; margin:-43cqw 0 0 -43cqw; --R:43cqw; }
@keyframes rdSpin{ to{ --spin:360deg; } }
.rd-sat{ position:absolute; left:50%; top:50%; width:0; height:0;
  transform:rotate(calc(var(--a) + var(--spin))) translateY(calc(var(--R) * -1)) rotate(calc((var(--a) + var(--spin)) * -1)); }
.rd-sat i{ position:absolute; left:0; top:0; width:clamp(50px,13cqw,74px); aspect-ratio:1; margin:calc(clamp(50px,13cqw,74px) / -2) 0 0 calc(clamp(50px,13cqw,74px) / -2);
  border-radius:50%; display:grid; place-items:center; background:#fff;
  box-shadow:inset 0 -4px 0 rgba(11,20,54,.08), inset 0 1px 0 #fff, 0 0 0 5px rgba(255,255,255,.08), 0 16px 28px -10px rgba(0,0,0,.6); }
.rd-sat i img{ width:46%; height:46%; display:block; }
.rd-sat small{ position:absolute; left:0; top:calc(clamp(50px,13cqw,74px) / 2 + 8px); transform:translateX(-50%); font-size:12px; font-weight:600; color:rgba(241,243,250,.72); white-space:nowrap; }
@media (prefers-reduced-motion: reduce){ .rd-ring{ animation:none; } }
@media (max-width: 900px){
  .rd-integ-in{ grid-template-columns:minmax(0,1fr); gap:40px; }
  .rd-orbita{ width:min(100%, 420px); }
  .rd-integ-lista div{ grid-template-columns:minmax(0,1fr); gap:4px; }
}

/* ── Casos: manda lo que dice el cliente ─────────────────────────── */
.rd-tests{ margin-top:64px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:start; }
.rd-test{ position:relative; display:grid; gap:20px; padding:32px 30px 30px; border-radius:22px; background:#fff; border:1px solid #E3E7F1; box-shadow:var(--rd-sombra); min-width:0; }
.rd-test:nth-child(2){ margin-top:56px; background:var(--rd-cartel) var(--rd-grano); border-color:var(--rd-cartel); box-shadow:inset 0 1px 0 rgba(255,255,255,.12), 0 30px 60px -30px rgba(11,20,54,.7); }
.rd-test:nth-child(3){ margin-top:20px; }
.rd-test-antes{ margin:0; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:#8A93AE; }
.rd-test blockquote{ position:relative; margin:0; padding-top:30px; font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-size:clamp(1.15rem,1.5vw,1.3rem); line-height:1.5; color:var(--rd-tinta); }
.rd-test blockquote::before{ content:"“"; position:absolute; left:-4px; top:-22px; font-size:5.2rem; line-height:1; font-style:normal; color:#C9D3EA; }
.rd-firma{ display:flex; align-items:center; gap:14px; padding-top:18px; border-top:1px solid #E3E7F1; }
.rd-firma-logo{ flex:none; width:54px; height:54px; border-radius:14px; overflow:hidden; background:#fff; border:1px solid #E3E7F1; display:grid; place-items:center; box-shadow:0 8px 16px -10px rgba(11,20,54,.5); }
.rd-firma-logo img{ max-width:76%; max-height:80%; display:block; }
.rd-firma-logo.cover img{ max-width:none; max-height:none; width:100%; height:100%; object-fit:cover; }
.rd-firma p{ margin:0; color:var(--rd-gris); font-size:.95rem; line-height:1.45; }
.rd-firma p b{ color:var(--rd-tinta); }
.rd-firma p span:not(.pendiente){ font-size:.86rem; }
.rd-test-usa{ margin:0; font-size:.9rem; line-height:1.6; color:var(--rd-gris); }
.rd-test-usa span{ display:block; margin-bottom:4px; font-size:11px; letter-spacing:.16em; text-transform:uppercase; font-weight:700; color:var(--rd-acento); }
.rd-test:nth-child(2) blockquote{ color:#fff; }
.rd-test:nth-child(2) blockquote::before{ color:rgba(255,255,255,.18); }
.rd-test:nth-child(2) .rd-test-antes{ color:#8FA2CF; }
.rd-test:nth-child(2) .rd-firma{ border-color:rgba(255,255,255,.12); }
.rd-test:nth-child(2) .rd-firma p, .rd-test:nth-child(2) .rd-test-usa{ color:rgba(241,243,250,.72); }
.rd-test:nth-child(2) .rd-firma p b{ color:#fff; }
.rd-test:nth-child(2) .rd-test-usa span{ color:#AFC0E6; }
@media (max-width: 900px){ .rd-tests{ grid-template-columns:minmax(0,1fr); gap:18px; margin-top:36px; } .rd-test:nth-child(n){ margin-top:0; } }

/* ── Proceso: el balde como insignia, línea con relieve ──────────── */
.rd-badge{ width:66px !important; height:66px !important; left:-5px; top:-5px; background:#fff !important; box-shadow:0 0 0 1px #E3E7F1, 0 16px 28px -12px rgba(11,20,54,.5); }
.rd-badge img{ width:66%; display:block; }
.rd-via{ height:14px; background:#E6EAF3; box-shadow:inset 0 2px 3px rgba(11,20,54,.14); }
.rd-via i{ box-shadow:inset 0 1px 0 rgba(255,255,255,.25); }
.rd-est .pto{ box-shadow:0 10px 18px -8px rgba(11,20,54,.5); }
.rd-foot-top .rd-flecha:hover{ background:#E4E9F4; color:var(--rd-cartel) !important; }
footer{ background:var(--rd-cartel) var(--rd-grano) !important; }
.reel-words{ background-image:var(--rd-grano) !important; }

/* ── Celular: menos aire muerto ──────────────────────────────────── */
@media (max-width: 900px){
  .rd-quees, .rd-func, .rd-casos, .rd-proc, .rd-integ{ padding:72px 0 80px !important; }
  .rd-calle{ padding:64px 0 72px !important; }
  .rd-iso-zona{ height:360px; }
  .rd-hero-in{ padding-bottom:36px; }
  .rd-logos{ padding:26px 0 30px; }
  .rd-h2::after{ margin-top:18px; }
}
/* etiquetas: las tres del lado derecho, para no pisar el titular */
.rd-iso{ width:min(66%, 370px); }
.t-rim{ left:64%; right:auto; top:5%; }
.t-mid{ left:74%; right:auto; top:46%; }
.t-bot{ left:62%; right:auto; top:75%; }
.t-rim::before, .t-mid::before, .t-bot::before{ right:100%; left:auto; }
.t-rim::after, .t-mid::after, .t-bot::after{ right:calc(100% + 40px); left:auto; }
@media (max-width: 1280px){ .rd-tag{ font-size:12.5px; padding:8px 12px 8px 8px; } .rd-tag::before{ width:26px; } .t-rim::after, .t-mid::after, .t-bot::after{ right:calc(100% + 26px); } .t-rim{ left:58%; } .t-mid{ left:66%; } .t-bot{ left:56%; } }
@media (max-width: 900px){ .rd-iso{ width:min(60%, 250px); } .t-rim{ left:56%; top:-6%; } .t-mid{ left:68%; top:44%; } .t-bot{ left:58%; top:74%; } }
@media (max-width: 900px){ .rd-tag{ max-width:132px; } .t-mid{ left:auto; right:76%; } }
@media (max-width: 1280px) and (min-width: 901px){ .rd-tag{ white-space:normal; width:max-content; max-width:180px; line-height:1.3; } }

/* ═══════════════════════════════════════════════════════════════════
   v5 · botones nuevos, casos destacados, sin rayitas largas
   ═══════════════════════════════════════════════════════════════════ */
/* fuera las rayitas largas (parecían guiones) */
.rd-h2::after, .rd-eyebrow::before{ display:none !important; }
.rd-h2{ margin-bottom:22px; }

/* ── Botón principal: píldora con círculo y flecha que gira ──────── */
.rd-flecha{ --h:58px; height:var(--h); border-radius:999px; padding:0 7px 0 28px; gap:18px;
  text-transform:none; letter-spacing:-.005em; font-size:16px; font-weight:700;
  background:var(--rd-cartel); color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -2px 0 rgba(0,0,0,.28), 0 1px 2px rgba(11,20,54,.2), 0 18px 34px -14px rgba(14,31,77,.7);
  transition:transform .3s cubic-bezier(.2,.8,.2,1), box-shadow .3s, background .3s; will-change:transform; }
.rd-flecha::after{ content:"→"; flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
  background:#fff; color:var(--rd-cartel); font-size:18px; font-weight:700; letter-spacing:0;
  box-shadow:0 4px 10px -4px rgba(0,0,0,.35); transition:transform .45s cubic-bezier(.2,.8,.2,1); }
.rd-flecha:hover{ background:#16306E; box-shadow:inset 0 1px 0 rgba(255,255,255,.18), inset 0 -2px 0 rgba(0,0,0,.28), 0 2px 4px rgba(11,20,54,.2), 0 26px 44px -16px rgba(14,31,77,.75); }
.rd-flecha:hover::after{ transform:rotate(-45deg) scale(1.08); }
.rd-flecha:active{ transform:scale(.98); }
.rd-flecha.chica{ --h:46px; padding:0 5px 0 20px; gap:12px; font-size:14px; }
.rd-flecha.chica::after{ width:36px; height:36px; font-size:15px; }
.rd-foot-top .rd-flecha{ --h:62px; background:#fff; color:var(--rd-cartel) !important; font-size:17px; }
.rd-foot-top .rd-flecha::after{ background:var(--rd-cartel); color:#fff; }
.rd-foot-top .rd-flecha:hover{ background:#E4E9F4; }
.lead-submit{ border-radius:999px !important; }

/* ── Botón secundario: texto con círculo ─────────────────────────── */
.rd-link{ display:inline-flex; align-items:center; gap:12px; border:0 !important; padding:0; text-transform:none; letter-spacing:0;
  font-size:16px; font-weight:700; color:var(--rd-tinta); }
.rd-link::after{ content:"→"; flex:none; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-size:17px;
  background:#fff; color:var(--rd-tinta); border:1px solid var(--rd-linea);
  box-shadow:inset 0 1px 0 #fff, 0 10px 18px -12px rgba(11,20,54,.5); transition:transform .35s cubic-bezier(.2,.8,.2,1), background .3s, color .3s, border-color .3s; }
.rd-link.baja::after{ content:"↓"; }
.rd-link:hover{ color:var(--rd-tinta); }
.rd-link:hover::after{ background:var(--rd-cartel); color:#fff; border-color:var(--rd-cartel); transform:translateX(4px); }
.rd-link.baja:hover::after{ transform:translateY(4px); }
.rd-srv .rd-link{ font-size:15px; }
.rd-srv .rd-link::after{ width:38px; height:38px; }

/* ── Clientes: más logos, con sombra para que se vean elevados ───── */
.rd-mq-set img{ filter:drop-shadow(0 8px 8px rgba(11,20,54,.16)) drop-shadow(0 2px 2px rgba(11,20,54,.12)); }
.rd-mq-set .lg-jfp{ height:74px; }
.rd-mq-set .lg-noriega{ height:56px; }
@media (max-width: 900px){ .rd-mq-set .lg-jfp{ height:58px; } .rd-mq-set .lg-noriega{ height:44px; } }

/* ── La calle: el nombre en azul ─────────────────────────────────── */
.rd-nombre{ color:var(--rd-acento); font-weight:800; }

/* ── Casos: una voz a la vez, grande ─────────────────────────────── */
.rd-voces{ margin-top:56px; display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,2fr); gap:56px; align-items:center; }
.rd-voces-logos{ display:grid; gap:10px; }
.rd-voz-logo{ position:relative; display:flex; align-items:center; justify-content:center; height:120px; padding:14px 20px 22px; border:0; border-radius:20px;
  background:transparent; cursor:pointer; transition:background .35s, box-shadow .35s, transform .45s cubic-bezier(.2,.8,.2,1); }
.rd-voz-logo img{ max-height:76px; max-width:70%; width:auto; display:block; opacity:.42; transform:scale(.9);
  filter:drop-shadow(0 10px 10px rgba(11,20,54,.2)) drop-shadow(0 2px 2px rgba(11,20,54,.14)); transition:opacity .4s, transform .5s cubic-bezier(.2,.8,.2,1); }
.rd-voz-logo:hover img{ opacity:.75; }
.rd-voz-logo[aria-selected="true"]{ background:#fff; box-shadow:var(--rd-sombra); transform:translateX(8px); }
.rd-voz-logo[aria-selected="true"] img{ opacity:1; transform:scale(1.04) translateY(-3px); }
.rd-voz-logo:focus-visible{ outline:3px solid var(--rd-azul); outline-offset:3px; }
.rd-voz-logo .barra{ position:absolute; left:22px; right:22px; bottom:12px; height:3px; border-radius:2px; background:#E6EAF3; overflow:hidden; opacity:0; transition:opacity .3s; }
.rd-voz-logo[aria-selected="true"] .barra{ opacity:1; }
.rd-voz-logo .barra i{ display:block; height:100%; background:var(--rd-azul); transform-origin:0 50%; transform:scaleX(0); }
.rd-voces-escena{ position:relative; min-width:0; }
.rd-voz{ margin:0; }
.rd-js .rd-voz{ display:none; }
.rd-js .rd-voz.sel{ display:block; }
.rd-voz + .rd-voz{ margin-top:48px; }
.rd-js .rd-voz + .rd-voz{ margin-top:0; }
.rd-voz blockquote{ position:relative; margin:0 0 30px; padding-top:44px; font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-weight:400;
  font-size:clamp(1.55rem,2.9vw,2.45rem); line-height:1.3; letter-spacing:-.01em; color:var(--rd-tinta); text-wrap:pretty; }
.rd-voz blockquote::before{ content:"“"; position:absolute; left:-6px; top:-30px; font-size:7rem; line-height:1; font-style:normal; color:var(--rd-acento); opacity:.22; }
.rd-voz figcaption{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 22px; font-size:1rem; color:var(--rd-gris); }
.rd-voz-quien b{ color:var(--rd-tinta); }
.rd-voz-emp{ display:inline-flex; align-items:center; gap:10px; padding-left:22px; border-left:1px solid var(--rd-linea); color:var(--rd-tinta); font-weight:600; }
.rd-voz-emp em{ font-style:normal; font-weight:600; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; color:var(--rd-acento); background:var(--rd-tinte); padding:5px 9px; border-radius:6px; }
@media (max-width: 900px){
  .rd-voces{ grid-template-columns:minmax(0,1fr); gap:28px; margin-top:32px; }
  .rd-voces-logos{ grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
  .rd-voz-logo{ height:92px; padding:10px 10px 18px; }
  .rd-voz-logo img{ max-height:54px; max-width:80%; }
  .rd-voz-logo[aria-selected="true"]{ transform:translateY(-4px); }
  .rd-voz-emp{ padding-left:0; border-left:0; }
}

/* ── Integraciones: el balde entra en su círculo y los datos viajan ── */
.rd-orbita{ width:min(100%, 600px); }
.rd-orbita::before{ inset:27%; }
.rd-orb-centro{ width:21%; transform:translate(-50%,-52%); z-index:2; }
.rd-ring{ z-index:1; }
.rd-spoke{ position:absolute; left:50%; bottom:50%; width:1.5px; margin-left:-.75px; height:var(--R); transform-origin:50% 100%;
  transform:rotate(calc(var(--a) + var(--spin))); background:rgba(175,192,230,.16); pointer-events:none; }
.rd-spoke::after{ content:""; position:absolute; left:50%; top:0; width:6px; height:6px; margin-left:-3px; border-radius:50%;
  background:#C9D4F0; box-shadow:0 0 0 3px rgba(175,192,230,.18); opacity:0; animation:rdFlow 3.2s linear infinite; animation-delay:var(--d,0s); }
@keyframes rdFlow{ 0%{ top:12%; opacity:0; } 12%{ opacity:1; } 70%{ opacity:1; } 82%{ top:62%; opacity:0; } 100%{ top:62%; opacity:0; } }
.rd-ring.r1 .rd-sat i{ width:clamp(46px,11cqw,64px); margin:calc(clamp(46px,11cqw,64px) / -2) 0 0 calc(clamp(46px,11cqw,64px) / -2); }
.rd-ring.r1 .rd-sat small{ top:calc(clamp(46px,11cqw,64px) / 2 + 6px); }
@media (prefers-reduced-motion: reduce){ .rd-spoke::after{ animation:none; opacity:0; } }

/* ── Proceso: el logo plano en la insignia ───────────────────────── */
.rd-badge img{ width:56% !important; }
.rd-voz-logo img{ opacity:.6; }
.rd-voz-emp{ flex-wrap:wrap; }
.rd-voz-emp em{ white-space:nowrap; }

/* ═══ v6 ═══════════════════════════════════════════════════════════ */
.rd-nw{ white-space:nowrap; }

/* Qué es: la intro queda fija y las frases se encienden al scrollear */
.rd-quees-grid{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:72px; align-items:start; }
.rd-quees-intro{ position:sticky; top:130px; }
.rd-quees .rd-manif{ margin:0; border-top:0; }
.rd-quees .rd-manif li{ grid-template-columns:minmax(0,1fr); gap:12px; padding:46px 0; border-bottom:1px solid var(--rd-linea); }
.rd-quees .rd-manif li:first-child{ padding-top:6px; }
.rd-quees .rd-manif li:last-child{ border-bottom:0; }
.rd-quees .rd-manif p{ font-size:clamp(1.5rem,2.6vw,2.35rem); line-height:1.18; letter-spacing:-.02em; font-weight:700; max-width:none; }
.rd-quees .rd-mk{ font-size:1.25rem; }
@media (max-width: 900px){
  .rd-quees-grid{ grid-template-columns:minmax(0,1fr); gap:24px; }
  .rd-quees-intro{ position:static; }
  .rd-quees .rd-manif li{ padding:26px 0; }
}

/* Proceso en celu: la línea baja por las cuatro etapas y después dobla a la derecha */
.rd-giro{ display:none; }
@media (max-width: 900px){
  .rd-via{ height:auto !important; top:28px; bottom:0 !important; }
  .rd-sigue{ margin:30px 0 0 72px !important; padding-bottom:44px; }
  .rd-giro{ display:block; position:absolute; left:22px; bottom:0; right:calc(-1 * max(24px, env(safe-area-inset-right,0px))); height:12px;
    background:#E6EAF3; border-radius:6px 0 0 6px; box-shadow:inset 0 2px 3px rgba(11,20,54,.14); overflow:hidden; }
  .rd-giro i{ position:absolute; inset:0; background:var(--rd-azul); transform-origin:0 50%; }
  .rd-proc{ overflow:hidden; }
}

/* Footer en celu: que el botón de WhatsApp no tape las redes */
@media (max-width: 900px){ footer .footer-inner{ padding-right:76px; } }

/* logos oficiales en la órbita */
.rd-sat i img[src$=".png"]{ width:50%; height:50%; object-fit:contain; }
/* en compu la línea sigue hasta el borde de la pantalla */
@media (min-width: 901px){ .rd-via{ right:calc((100% - 100vw) / 2) !important; border-radius:6px 0 0 6px; } .rd-via i{ border-radius:6px 0 0 6px; } }

/* ═══ v7 ═══════════════════════════════════════════════════════════ */
/* ── ¿Qué es BlackBuckets? ───────────────────────────────────────── */
.rd-quees{ padding:128px 0 132px; }
.rd-qe-top{ max-width:940px; }
.rd-qe-h{ font-size:clamp(2.8rem,6.4vw,5.4rem) !important; line-height:.98 !important; max-width:none !important; margin-bottom:28px !important; }
.rd-qe-resp{ margin:0; max-width:32em; font-size:clamp(1.3rem,2.2vw,1.85rem); line-height:1.38; font-weight:500; letter-spacing:-.01em; color:var(--rd-tinta); }
.rd-pilares{ list-style:none; margin:84px 0 0; padding:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; }
.rd-pilares li{ min-width:0; }
.rd-pil-obj{ position:relative; height:230px; margin-bottom:26px; }
.rd-pil-obj::before{ content:""; position:absolute; left:16%; right:16%; bottom:6px; height:38px; border-radius:50%;
  background:#E4E9F4; box-shadow:inset 0 -5px 0 rgba(11,20,54,.06), 0 1px 0 #fff; }
.rd-pil-obj img{ position:absolute; left:50%; top:50%; width:min(100%,300px); display:block; will-change:transform;
  filter:drop-shadow(0 18px 18px rgba(11,20,54,.25)); }
.p-rim .rd-pil-obj img{ transform:translate(-50%,-21.7%); }
.p-mid .rd-pil-obj img{ transform:translate(-47.8%,-53.1%); }
.p-bot .rd-pil-obj img{ transform:translate(-46.2%,-79.9%); }
.rd-pil-n{ display:inline-grid; place-items:center; width:36px; height:36px; border-radius:10px; margin-bottom:16px; background:var(--rd-cartel); color:#fff;
  font-size:12px; font-weight:700; letter-spacing:.04em; box-shadow:inset 0 1px 0 rgba(255,255,255,.2), 0 8px 16px -8px rgba(11,20,54,.6); }
.rd-pilares h3{ margin:0 0 10px; font-family:var(--rd-font); font-weight:800; font-size:clamp(1.4rem,2vw,1.7rem); line-height:1.15; letter-spacing:-.015em; color:var(--rd-tinta); }
.rd-pilares h3 em{ font-family:'IBM Plex Serif', Georgia, serif; font-style:italic; font-weight:400; color:var(--rd-acento); }
.rd-pilares p{ margin:0; color:var(--rd-gris); line-height:1.6; font-size:1.05rem; max-width:24em; }
.rd-para{ margin-top:96px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; padding-top:40px; border-top:1px solid var(--rd-linea); }
.rd-para > div{ display:grid; gap:10px; align-content:start; }
.rd-para p{ margin:0; font-size:clamp(1.3rem,2.2vw,1.9rem); line-height:1.25; font-weight:700; letter-spacing:-.015em; color:var(--rd-tinta); }
.rd-para .no .rd-mk, .rd-para .no p{ color:#8A93AE; }
@media (max-width: 900px){
  .rd-quees{ padding:72px 0 80px !important; }
  .rd-pilares{ grid-template-columns:minmax(0,1fr); gap:44px; margin-top:44px; }
  .rd-pil-obj{ height:190px; margin-bottom:14px; }
  .rd-pil-obj img{ width:min(78%,260px); }
  .rd-para{ grid-template-columns:minmax(0,1fr); gap:28px; margin-top:56px; padding-top:28px; }
}

/* ── Casos: sin barrita; indicación de que los logos se tocan ────── */
.rd-voz-logo .barra{ display:none !important; }
.rd-voces-hint{ margin:0; display:flex; align-items:center; gap:8px; font-size:13px; font-weight:600; color:var(--rd-gris); }
.rd-voces-hint::before{ content:""; width:8px; height:8px; border-radius:50%; background:var(--rd-azul); box-shadow:0 0 0 0 rgba(26,56,117,.45); animation:rdLatido 1.8s ease-out infinite; }
@keyframes rdLatido{ 0%{ box-shadow:0 0 0 0 rgba(26,56,117,.45); } 100%{ box-shadow:0 0 0 10px rgba(26,56,117,0); } }
.rd-voces{ grid-template-areas:"logos escena" "hint escena"; grid-template-rows:auto auto; }
.rd-voces-logos{ grid-area:logos; } .rd-voces-hint{ grid-area:hint; align-self:start; padding-left:22px; } .rd-voces-escena{ grid-area:escena; }
.rd-voz-logo:not([aria-selected="true"]):hover{ background:rgba(255,255,255,.6); }
@media (max-width: 900px){ .rd-voces{ grid-template-areas:"logos" "hint" "escena"; } .rd-voces-hint{ padding-left:0; justify-content:center; } }
@media (prefers-reduced-motion: reduce){ .rd-voces-hint::before{ animation:none; } }

/* ── Proceso en celu: la línea baja, dobla en curva y sigue a la derecha ── */
.rd-curva{ display:none; }
@media (max-width: 900px){
  .rd-giro{ display:none !important; }
  .rd-js .rd-via{ display:none; }
  .rd-js .rd-curva{ display:block; position:absolute; left:0; top:0; width:100%; height:100%; overflow:visible; pointer-events:none; z-index:0; }
  .rd-curva path{ fill:none; stroke-width:12; stroke-linecap:round; stroke-linejoin:round; }
  .rd-curva .pista{ stroke:#E6EAF3; }
  .rd-curva .trazo{ stroke:var(--rd-azul); stroke-dasharray:1 1; stroke-dashoffset:1; }
  .rd-est{ position:relative; z-index:1; }
  .rd-badge{ z-index:2; }
}
